Registriert: Mo Jan 24, 2005 15:55 Beiträge: 28 Wohnort: Biberach an der Riß
Hallo!
Ich verwende den 3ds Loader von Noeska. Also, ich lade meine Welt über eine einzelne 3ds DAtei. Nun würde ich gerne von einem einzelnen der so geladenen Objekte Position und Winkel verändern. Wie mache ich das?
Kenn mich mit 3ds-dateine nicht so aus, aber denke dass diese statisch sind. Also musst du für jedes Objekt ne 3ds anlegen und diese dann verschieben bevor sie gezeichnet werden.
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Hi,
man kannst nur die ganze 3ds-Datei rotieren, verschieben, scalieren.
Wie Shadow schon gesagt hat musst du es vor dem Rendervorgang translaten/rotaten.
...
gltranslatef(X,Y,Z);
glrotatef(winkel,X,Y,Z);
my3ds.Render;
...
Wenn du aber einzelne Teile deiner Welt rotieren willst, dann musst du entweder deine Welt aus mehreren 3ds-Dateien zusammenbauen, je nachdem, welche Teile du rotieren willst,
oder, die kompliziertere Tour: die veränderst deine 3ds-Datei zur Laufzeit.
NICHT EMPFEHLENSWERT !! (zu viel arbeit, zu viel Cpu aufwand...).
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Meine beiden Vorredner haben leider unrecht. Via dem array TAll3DSMesh.Mesh kann man auf alle Sub-Meshes der 3DS-Datei zugreifen, also auch einzeln rendern.
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.