2016-06-29 6 views
0

Ich entwickle eine Software mit C# (monodevelop) und unity3d. Ich importiere ein 3D-Modell als Collada Dae-Datei. Skripte, die ich geschrieben habe, müssen Geometrieobjekte in der Dae-Datei berücksichtigen. Ich schreibe einige Codes, aber ich bin neu im Codieren von Sachen und ich kann nicht herausfinden, wie ich mit C# auf geometrische Objekte in Dae-Dateien zugreifen kann. Jede Hilfe wäre sehr hilfreichZugriff auf das 3D-Modell mit C# Skript in Unity3d

Antwort

0

Da Sie gesagt haben, Sie sind neu mit Codierung, werde ich von den Grundlagen der Einheit beginnen.

Wenn Sie Ihre Dae-Datei von der Projekt-Registerkarte in die Szene ziehen und dort ablegen, haben Sie ein GameObject innerhalb der Hierarchie mit dem gleichen Namen der Dae-Datei. Dieses GameObject kann wie Windows Explorer mit all Ihren inneren Objekten erweitert werden (sie sind ebenfalls alle GameObjects).

Um von C# auf ein beliebiges eindeutiges GameObject Ihrer Hierarchie zuzugreifen, tun Sie dies: GameObject.Find ("gewünschter-Spielobjekt-Name");

Sie auch den Pfad Ihres Gameobject angeben können, wenn sein Name nicht eindeutig ist: GameObject.Find ("GameObject1/GameObject2/etc");

Die meiste Zeit, wenn Sie etwas mit einem GameObject machen wollen, müssen Sie mit Komponenten umgehen. Es ist ein sehr einfaches Unity-Konzept. GameObject kann Komponenten zugeordnet haben. Die Inspektor-Registerkarte zeigt alle Komponenten an, die vom ausgewählten GameObject verwendet werden.

Nehmen wir an, Sie möchten eine Tür von Ihrem Haus-Dae-Modell unsichtbar machen. Sie können so etwas verwenden: GameObject.Find ("HouseModel/Door"). GetComponent <Renderer>() .enabled = false;

Nun, wenn Sie etwas mehr hardcore wollen wie Eckpunkten Daten zu erhalten, verwenden Sie die MeshFilter Komponente: Vector3 [] Eckpunkte = GameObject.Find ("HouseModel/Door") GetComponent <MeshFilter>() .mesh.. Eckpunkte; Es wird ein Array aller Eckpunkte von dieser Tür zurückgegeben.

Ich hoffe, es gibt Ihnen eine Richtung.

+1

hi @glauber, obwohl dies eine bewundernswerte Antwort ist, ist es am besten, ** einfach nicht beantworten ** Fragen, die einfach nur nach den einfachsten Tutorials suchen. Es produziert eine unglaubliche Unordnung auf dieser Seite. Ich hinterlasse dem OP immer eine höfliche Note, "grundlegende Tutorials sind hier ...". (Unity bietet ausgezeichnete Tutorials, sowohl geschrieben als auch Video) und dann klicken Sie bitte, um die Frage zu schließen. – Fattie

+0

es half so viel danke für die antwort – user51044

Verwandte Themen