Ich habe ein 3D-Spiel, das zufällig generiert wird, wenn Sie auf Play drücken. Die Sache ist, dass Objekte nicht mit einer Kollision erzeugt werden und Charaktere sich durch Wände bewegen. Was ist der notwendige Code für ein Objekt, das mit einer Kollision in C# generiert werden soll?Unity 3D Kollision von Objekten
Antwort
Ok, wenn ich deine Frage richtig gelesen habe, erzeugst du automatisch Zufallsnetze für dein Spiel, aber sie haben noch keine Collider auf ihnen. Um einen Collider für ein Objekt in C# siehe folgendes Beispiel zu erzeugen:
using UnityEngine;
using System.Collections;
public class AddComponentExample : MonoBehaviour
{
void Start()
{
SphereCollider sc = gameObject.AddComponent<SphereCollider> as SphereCollider;
}
}
Sie benötigen einen Collider-Komponente auf die Gameobject hinzufügen Sie generieren. Die von Ihnen gewählte hängt von dem von Ihnen erstellten Netz ab. Wenn Sie also Cube-Netze generieren, wählen Sie einen Box-Collider.
Wenn Sie eigene Meshes anstelle von komplexeren Primitiven erstellen, können Sie einen "MeshCollider" anwenden. Aber seien Sie gewarnt, wenn Sie zur Laufzeit ein eigenes Mesh erstellen, können Sie ungewöhnliche Artefakte erhalten.
Hoffnung, die
Es ist besser, die generische Syntax zu verwenden, wenn der Typ falsch geschrieben wird, erhalten Sie einen Fehler beim Kompilieren, während die Zeichenfolge-Syntax nicht. 'SphereCollider sc = gameObject.AddComponent
Sie sind absolut richtig Sir, in der Tat ist das String-Format jetzt in Unity 5 veraltet und ich werde meine Antwort anpassen :) –
Vielen Dank. Ich weiß, dass die Frage dumm war und ich habe vergessen, etwas Code zu posten, weil ich neu in all dem bin. Sie haben alle ein wenig geholfen. Ich werde Sie auf dem Laufenden halten, wenn ich Ihren Code anwende, wenn es funktioniert –
- 1. Unity 3D OnMouseDrag Kollision
- 2. Kollision in 3D implementieren
- 3. Unity, Powerup Kollision Problem
- 4. Unity + Firebase - Unity.compat Kollision
- 5. Unity-Kollision wird nicht erkannt
- 6. Unity 3D: Transition of Animation
- 7. Überprüfung Kollision von einem externen Skript in Unity
- 8. Unity 3D niedrige fps
- 9. Rotation in Unity 3D
- 10. Unity 3d - Explosionsbereich Schaden
- 11. Umgang mit Autocad-Objekten in Unity
- 12. Photoshop 3D-Export für Unity
- 13. UWP app - unity 3d container
- 14. Animation Problem auf Unity 3D
- 15. Unity 3d Event Triggereinstellung gameobject.active auf false
- 16. Mehrzeiliger Eingabetext in Unity 3D
- 17. Unity 3D 360 Drehen SpaceShip
- 18. Unity 3d IL2CPP nicht archivieren
- 19. Samsung Gear controlls - Unity 3D
- 20. Unity Collision Detection - Hinzufügen von GUI Score bei Kollision?
- 21. Hinzufügen von JSON-Objekten zu einer LIST Unity 3d und C#
- 22. Unity 3D VR (5.6), Erkennen von Objekten mit GVR Pointer Physic Raycaster?
- 23. Wie Kollision zwischen Objekten zu ignorieren
- 24. Rekursive Funktion zum Zusammenführen von 3D-Objekten
- 25. Triangulation von 3D-Objekten in Matlab
- 26. Drehen und Bearbeiten von MATLAB 3D-Objekten
- 27. Schatten von 3D-Objekten in Javafx
- 28. Unity - große Anzahl von 2D-Collider-Objekten mit Verzögerung
- 29. Unity 3D-Build-Nummer zu groß
- 30. Versteckter Unterschied zwischen Unity 3D-Qualitätseinstellungen?
Mögliche Duplikat [Unity Kollision nicht erkannt] hilft (http://stackoverflow.com/questions/36353310/unity-collision-not-being-detected) – thodic
1. UnityScript ist eine andere Sprache als C# 2. Was bedeutet * "Objekte generieren keine Kolonie" * bedeuten? Sind ihnen Collider und/oder Starrkörper zugeordnet? – UnholySheep
Sie benötigen eine Kolliderkomponente auf den Objekten, damit Kollisionen funktionieren. Eines der Objekte benötigt auch einen Starrkörper. Zeigen Sie Ihren Code und mehr Kontext, wenn Sie mehr Hilfe benötigen. – Maakep