Author Topic: 3D Objektdrehung  (Read 4079 times)

Offline WPShadow

  • Administrator
  • Prof. Inline
  • *******
  • Posts: 1667
    • View Profile
    • http://lostrevenant.blogspot.com
3D Objektdrehung
« on: 2005-Oct-02 »
Hi!

Ich habe einige Tests gemacht und es hat nicht gerade so funktioniert, wie ich es wollte!

Also hier mein Problem:

Nehmen wir an, wir haben einen Würfel, das wir drehen! Zu diesem Würfel lade ich noch eine Pyramide. Jetzt möchte ich, daß der Würfel rotiert und die Pyramide an der einen Seite  des Würfels steht bzw. bleibt und so mitrotiert, also ob nun beide ein einziges Objekt wären.

Lasse ich den Würfel rotieren, ergibt sich leider das Problem, daß die Pyramide immer irgendetwas macht, z.B. überschneidet sie sich mit den Rändern des Würfels oder geht fast ganz im Würfel unter!

Mein Problem ist, daß ich mindestens 6 verschiedene Objekte an einen Quader bringen möchte. Und dabei sollten die Objekte als Ganzes rotieren können...

Habt ihr vielleicht eine Lösung oder zumindest eine Idee für mich???

GLG

Willi
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10839
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
3D Objektdrehung
« Reply #1 on: 2005-Oct-02 »
Modellier die Objekte als eine Einheit mit anim8or, oder AC3D... Lad' das Model mit X_LOADOBJ und rotier es als Ganzes.

Offline WPShadow

  • Administrator
  • Prof. Inline
  • *******
  • Posts: 1667
    • View Profile
    • http://lostrevenant.blogspot.com
3D Objektdrehung
« Reply #2 on: 2005-Oct-02 »
Das ist ja das Problem dabei!

Nehmen wir an, ich mache verschiedene Vorderflügel für ein Raumschiff! Sagen wir mal 200 Stück verschiedene, die nicht nur von der Textur anders sind, sondern auch von der Form!

Und dann vielleicht ebenso viele als Hinterflügel und dazu nochmal so viele als Waffen!

200 * 200 * 200

Das wären wohl oder übel sehr, sehr, sehr viele verschiedene Varianten von ein und dem selben Raumschiff!

Ich möchte einfach eine große optische Vielfalt einbauen, wobei man bei dem Raumschiff rein optisch gesehen 8 verschiedene Optische Veränderungen vornehmen können sollte.

Die Objekte möchte ich in *.ini Dateien angeben, in denen auch das ausgewählte 3D Objekt, wie z.B. ein Flügel ist und der, je nachdem, wie sich der Spieler entscheidet, geladen wird und so auch optisch dargestellt wird.

Mir wird wohl oder übel nicht viel mehr übrig bleiben, als selber zu errechnen, wie sich die verschiedenen Objekte zu einem Hauptobjekt verhalten und positionieren und das ganze per Formel errechnen müssen, oder?

GLG

Willi
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10839
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
3D Objektdrehung
« Reply #3 on: 2005-Oct-03 »
Ah! Kapiert! Das ist ein Problem. Aber ich könnte sowas wie PUSHMATRIX / POPMATRIX machen. Dann kannst Du's relativ zum Hauptobjekt verschieben/verdrehen, und dann die Objekte als eines verwenden. Gute Idee. Das mach ich - bis zum nächsten update. ;)

Offline WPShadow

  • Administrator
  • Prof. Inline
  • *******
  • Posts: 1667
    • View Profile
    • http://lostrevenant.blogspot.com
3D Objektdrehung
« Reply #4 on: 2005-Oct-03 »
Danke! Das wird sicher super!!! :-)
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10839
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
3D Objektdrehung
« Reply #5 on: 2005-Nov-03 »
Sooo!
Update ist da:
Code: (glbasic) [Select]
  X_MOVEMENT x,y,z // Raumschiff
   X_ROTATION phi, 0,1,0
   X_ROTATION psi, 1,0,0
   X_PUSHMATRIX
      X_MOVEMENT -1, 0, 5 // realtiv zum Raumschiff
      X_ROTATION 45, 0,1,0 // -- " --
      X_DRAWOBJ fluegel, 0
   POPMATRIX // wieder im Raumschiff-space
   X_DRAWOBJ raumschiff, 0