Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

1

24.10.2011, 17:40

Modelle mit Bones - Wie sind die zu verstehen?

Hi all

Ich hab nach einer möglichkeit gesucht Modelle zu bewegen z.B. um als Figur mit dem Schwert zu schlagen.
Da bin ich auf Bones innerhalb von modellen gestoßen.
Hab mir das jetzt mal angegucken.

Sind Bones also Punkte innerhalb eines Modelles, die man transformieren kann und das von innerhalb des Codes,
also im Quelltext?
Wie genau spricht man die an?
z.B.:
BoneUnterArm.vPosition = tbVector3 (1,5,4);
oder wie?

In welchem 3D-Format werden die gespeichert?
Könnte man theoretisch ein Modell mit Blender erstellen, natürlich mit Bones,
dieses dann als 3DS exportieren, mit dem triBase-Konverter konvertieren und
dann so in den Code einfügen?

Das waren jetzt viele Fragen zum Thema, wäre nett wenn mir da einer bissl helfen könnte.
Könnte mir vll jemand auch mal nen Code zeigen, der Bones beinhaltet?

Danke!
ProAmateur
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

2

24.10.2011, 20:04

Bones/Joints sind in einer Hierachie angeordnet.

Bewegt sich dein Oberarm, bewegen sich Unterarm und Hand mit.
Bewegt sich nur dein Unterarm, bewegt sich die Hand mit, aber nicht der Oberarm.

Ausser dem root-joint sollten sich die Joints eigentlich nicht transformieren
sondern, wie bei echten Gelenken nur rotieren.
(Bei einem Menschen, bei einer herausschiessenden Zunge eines Chamaeleons wird dagegen transformiert
kommt halt drauf an, aber es wurde ein Mensch als Beispiel genannt).

Leider kann ich nur auf die Fragen eingehen die keine Programmierkenntnisse erfordern.
Vielleicht hilft das hier:
http://www.3dkingdoms.com/weekly/weekly.php?a=4

Ansonst kommt bestimmt noch einer vorbei der sich damit auskennt.

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

3

24.10.2011, 21:38

dot hat das sehr schön hier erklärt (etwas weiter runter scrollen, ähnliche Frage).
Der Thread ist nicht mal auf Seite zwei gelandet. ;)

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

4

25.10.2011, 06:16

Ok also Hab ich das Jetzt soweit richtig verstanden, dass man
die position nicht als vektor sondern als matrix angibt?
Und man muss die veranderung der vertice selbst berechnen
oder Mann das auch eine Funktion űbernehmen?
Kann man nicht einfach in code sagen dass die rotation bei
Bone737 55 grad beträgt und der rechnet das dann in der render Funktion?
Könnte mir jemand COO mal ein Beispiel dazu zeigen?

Ich weiß es sind Viele Fragen auf einmal...danke
ProAmateur
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

25.10.2011, 06:42

Und man muss die veranderung der vertice selbst berechnen
oder Mann das auch eine Funktion űbernehmen?

Wenn du eine Funktion hast, die das für dich übernimmt, dann kann die das natürlich übernehmen.

Kann man nicht einfach in code sagen dass die rotation bei
Bone737 55 grad beträgt und der rechnet das dann in der render Funktion?

Ja, wenn du code hast, dem du das sagen kannst, dann kannst du ihm das natürlich sagen.

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

6

25.10.2011, 07:48

Ich meinte ob es da schon Funktionen von direktX dazu gibt, die das macht.
Eine die ich nicht selbst schreiben müsste...
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

25.10.2011, 07:52

Es gibt natürlich fertige Bibliotheken. D3DX9 bietet z.B. entsprechende Funktionen für .x an.

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

8

25.10.2011, 13:25

Könntet ihr vll mal erzählen wie ihr die benutzt...
Welches Format benutzt ihr?
Spezielle engine?
Selbstgemachte modelle?
Funktioniert das auch mit der tribase? Warscheinlich nich...

@dot hast du schon mit bones programmiert?
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

25.10.2011, 13:28

Welches Format benutzt ihr?

Hängt davon ab.

Funktioniert das auch mit der tribase? Warscheinlich nich...

Wieso sollte es nicht funktionieren? Die Tribase hat afaik nichts dergleichen eingebaut, aber niemand hindert dich dran, es selbst einzubauen ;)

@dot hast du schon mit bones programmiert?

Ja klar.

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

10

25.10.2011, 15:07

Ah ok
Mit welchem Format hast du das denn gemacht?
Auch .x?
Hast du das Modell selbst gemacht und mit welchem programm?
.könntest du mal son code Stück zeigen, dass ich mir dad mal bildlich
vorstellen kann? Bitte!!
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

Werbeanzeige

Ähnliche Themen