Einzelne Teile eines 3ds-Modells abfragen, geht das?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Feuerengel

Betreff: Einzelne Teile eines 3ds-Modells abfragen, geht das?

BeitragSo, Feb 24, 2008 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Servus,

ich würde gerne die einzelnen Bestandteile meines 3D-Modelles abfragen am Beispiel eines Autos. Bevor ich eine Tür bewegen kann muss ich ja erst einmal die Tür des Autos als Teil des Modells deklarieren. Wie mache ich das? Geht das überhaupt wenn das Modell zb aus Auto.3ds besteht? Habe im Modell eine Hierarchie angelegt, ich weiß allerdings nicht wie ich diese über Blitz3D nun ansprechen kann.


Vielen Dank für Eure Hilfe


Gruß Feuerengel

ZaP

BeitragSo, Feb 24, 2008 11:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Soweit ich weiß geht das nur mit .b3d Modellen, und dann über FindChild()
Starfare: Worklog, Website (download)

skey-z

BeitragSo, Feb 24, 2008 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
das geht bei fast allen Modellformaten, die B3D verarbeiten kann, bin mir nur bei Md2 unsicher.

wenn du zb so eine Hierarchie hast

-auto
-raeder
-1...
-tuer1
-tuer2
-etc

kannst du über findchild jedes einelne teil finden und als einzelnes Objekt behandeln, ob drehen, bewegen usw. es bleibt dabei trotzdem ein Child des Parent Surface.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Feuerengel

BeitragSo, Feb 24, 2008 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Auto=LoadMesh("meshes/Auto.3ds")

FindChild(Auto,Door)


<< Wäre der Code so dann richtig?

aMul

Sieger des Minimalist Compo 01/13

BeitragSo, Feb 24, 2008 12:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, wenn dann so:
Code: [AUSKLAPPEN]
Auto = LoadAnimMesh("meshes/Auto.3ds")

Door = FindChild(Auto, "Door")

Ohne LoadAnimMesh gibt es nämlich keine Hierarchie, und der zweite Parameter von FindChild() muss ein String sein.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

BladeRunner

Moderator

BeitragSo, Feb 24, 2008 12:25
Antworten mit Zitat
Benutzer-Profile anzeigen
siehe dazu das beispiel von ql:findchild
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Feuerengel

BeitragSo, Feb 24, 2008 12:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay, mit welchem Befehl spricht man den erstellten Child dann an?

The_Nici

BeitragSo, Feb 24, 2008 12:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Im BlitzBase Beispiel ists relativ toll erklärt. Du kannst dann das mit FindChild gefundene Child wie ein Entity handhaben.
 

Feuerengel

BeitragSo, Feb 24, 2008 12:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Du sagst es, es ist "relativ toll" erklärt. Ich verstehe da gar nichts.

Also bisher hab ich dem Modell mit der Zeichenkette "Door" gesagt dass es eine Tür besitzt. Jetzt brauch ich noch einen Schnipsel Code aus dem ich diesen String wieder ein "Objekt" mache mit dem ich dann weiterarbeiten kann, oder?

ZaP

BeitragSo, Feb 24, 2008 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Entity = FindChild(Auto, "Door") Rolling Eyes
Starfare: Worklog, Website (download)

BladeRunner

Moderator

BeitragSo, Feb 24, 2008 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
findchild gibt dir das handle der tür zurück, und damit kannst du alle entitybefehle drauf anwenden.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group