animation + manuelles drehen von bones
Übersicht BlitzBasic Blitz3D
rctunerBetreff: animation + manuelles drehen von bones |
Mo, Jan 11, 2010 22:53 Antworten mit Zitat |
|
---|---|---|
Hallo,
Es geht um einen Ego-Shooter bei dem die Spieler normale Animationen haben, Laufen Springen usw... Nun möchte ich den Bone "Brust/Oberkörper" zusätzlich noch manuell drehen, damit ich im Multiplayer sehen kann ob der andere Spieler hoch oder runter guckt. Leider zeigt RotateEntity dann keine wirkung mehr bei dem Bone wenn das Modell animiert wird. Irgendwie muss das doch zu lösen sein. Jemand eine Idee? MfG |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
jokerman29 |
Mo, Jan 11, 2010 22:57 Antworten mit Zitat |
|
---|---|---|
ein bisschen code wär gut
mit welchen tasten willst du ihn überhaupt drehen? |
||
WhY sO sErIoUs? LeT´s PuT a SmIlE oN tHaT fAcE!
Rechtschreibfehler sind special-effekts meiner Tastatur |
rctuner |
Mo, Jan 11, 2010 23:00 Antworten mit Zitat |
|
---|---|---|
naja da gibts nicht viel code. Das Modell wird animiert per Animate. Zusätzlich möchte ich dann ein vorher gefundenes Child mit FindChild per RotateEntity rotieren lassen während das Modell ständig animiert ist.
Mit keiner Taste. Die Winkel ob ein Spieler hoch oder runter guckt kommen durch die UDP Pakete. Diese Daten stammen wiederrum einfach von seiner Maus (Maus bewegen und Kamera drehen lassen) |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
Tankbuster |
Mo, Jan 11, 2010 23:23 Antworten mit Zitat |
|
---|---|---|
Ich denke dann musst du das Modell wohl teilen. Je nachdem was du brauchst, reicht es vielleicht den Oberkörper und die Beine zu trennen, und beim Laufen nur die Beine zu bewegen.
Allerdings kann es ja sein, dass die Arme/Kopf/ect auchnoch animiert werden. Die müsstest du dann auch trennen, und das wär wohl ziemlich viel aufwand. Anstatt 1 Mesh müsstest du dann immer mehrere verwalten. Nja eventuell gibt es auchnoch eine andere einfachere Lösung. Du könntest das Modell erst im Code erzeugen, und garnicht mit Animate arbeiten. Das wär aber vermutlich nochmehr Arbeit |
||
Twitter
Download Jewel Snake! Windows|Android |
Silver_Knee |
Mo, Jan 11, 2010 23:38 Antworten mit Zitat |
|
---|---|---|
Animate spielt Positionen und Drehungen ab die vorher Gespeichert wurden.
Eine Chanse sehe ich darin einen Pivot als Parent Zwischenrein zu schalten EntityParent GetParent |
||
NightPhoenix |
Di, Jan 12, 2010 12:44 Antworten mit Zitat |
|
---|---|---|
@rctuner:
Ich kann dir mit sehr großer Sicherheit sagen, dass Spiele die so etwas können (Kopf getrennt vom Rest des Körpers bewegen) geteilte Menschenmodelle haben. Der Kopf sitzt meistens nur einfach so "drauf". Schau dir dazu am besten mal die entsprechenden Spiele die soetwas können über Wireframe an, manchmal kann man das in den Cheats aktivieren, da siehst du das dann. Die Kleidung retuschiert dann fehlende Verbindungen. Das einzelne Kopf-mesh kannst du dann mit EntityParent an ein Bone am Restkörper hängen (FindChild des Bone-Namens) So kann man übrigens auch super genial Gegenstände wie Waffen in der Hand mitschwingen lassen. .b3d ist also dafür ein absolut geniales Format. MfG. |
||
vanjolo |
Di, Jan 12, 2010 12:48 Antworten mit Zitat |
|
---|---|---|
Mach es Dir nicht schwer. Erstelle Dein Modell in Milkshape und benenne die Joints eindeutig. Exportiere das Modell ins B3D Format. Mit FindChild kannst du jeden Joint im Modell genau ansprechen, drehen, verschieben und was auch immer. Du kannst das Modell auch so bequem über den Code animieren.
@Nightphönix Du must nicht zwingend das Modell aufteilen. Jeder gewöhnt sich eine andere Arbeitsweise an. Es gibt unterschiedliche Möglichkeiten zum Ziel zu kommen. Bei einem Human Model macht Aufteilen meiner Meinung nach keinen Sinn. Bei einem Panzer würde es Sinn machen wenn man z.b. den Turm vom Chasis wegfliegen lassen möchte. |
||
***************************
in Entwicklung: Tank Battles - Panzeraction Pacific Battles - Rundenstrategie abgeschlossenes Projekt: Harrier Assault |
- Zuletzt bearbeitet von vanjolo am Di, Jan 12, 2010 12:54, insgesamt einmal bearbeitet
NightPhoenix |
Di, Jan 12, 2010 12:53 Antworten mit Zitat |
|
---|---|---|
Ach man kann wirklich die Bones im Code verschieben, sodass sich die Polygone des Modells mitbewegen? Wäre ja cool Bist du auch wirklich sicher, dass das geht Vanjolo? Schonmal probiert? | ||
vanjolo |
Di, Jan 12, 2010 12:56 Antworten mit Zitat |
|
---|---|---|
Natürlich habe ich das schon gemacht. Ich arbeite mit Milkshape seit der ersten Version. | ||
***************************
in Entwicklung: Tank Battles - Panzeraction Pacific Battles - Rundenstrategie abgeschlossenes Projekt: Harrier Assault |
NightPhoenix |
Di, Jan 12, 2010 13:00 Antworten mit Zitat |
|
---|---|---|
Zeig mal bitte ein Beispiel. Ich hab das mal vor 2 Jahren mit einem .b3d Modell in Blitz3D versucht und da hat sich nichts bewegt.
Aber Vanjolo Milkshape ist nicht das Allheilmittel. Andere Modeller können ebenso .b3d + Bones, nicht nur Milkshape. |
||
vanjolo |
Di, Jan 12, 2010 13:04 Antworten mit Zitat |
|
---|---|---|
NightPhoenix hat Folgendes geschrieben: Zeig mal bitte ein Beispiel. Ich hab das mal vor 2 Jahren mit einem .b3d Modell in Blitz3D versucht und da hat sich nichts bewegt.
Aber Vanjolo Milkshape ist nicht das Allheilmittel. Andere Modeller können ebenso .b3d + Bones, nicht nur Milkshape. Milkshape und B3D passen aber gut zusammen. Mit 3DS, aus C4D oder Max gehts nicht. Bei Milkshape spricht man auch nicht von Bones sondern von Joints. Wenn ich mit B3D arbeite dann ist für mich Milkshape die erste Wahl und kein anderes Programm. Wenn es mit 3dsMax, Rhino oder C4D nicht geht ist mir das eigentlich egal |
||
NightPhoenix |
Di, Jan 12, 2010 13:08 Antworten mit Zitat |
|
---|---|---|
Na das wäre doch aber komisch. 3dsMax, Blender, Cinema4D und ein paar in Blitz programmierte Animationsprogramme exportieren ebenso .b3d mit Bones etc.
Es sollte mit jedem Programm gehen. Mich würde nur der Code in Blitz3D interessieren den du angewendet hast um die Bones zu bewegen. NightPhoenix hat Folgendes geschrieben: Ach man kann wirklich die Bones im Code verschieben, sodass sich die Polygone des Modells mitbewegen?
Vanjolo hat Folgendes geschrieben: Natürlich habe ich das schon gemacht.
Bones = Joints Ist das gleiche. Hab auch mal paar Monate mit Milkshape gearbeitet. |
||
- Zuletzt bearbeitet von NightPhoenix am Di, Jan 12, 2010 13:17, insgesamt einmal bearbeitet
vanjolo |
Di, Jan 12, 2010 13:12 Antworten mit Zitat |
|
---|---|---|
Ich kann dir jetzt nichts zeigen weil ich auf der Arbeit bin (solls geben) | ||
***************************
in Entwicklung: Tank Battles - Panzeraction Pacific Battles - Rundenstrategie abgeschlossenes Projekt: Harrier Assault |
NightPhoenix |
Di, Jan 12, 2010 13:15 Antworten mit Zitat |
|
---|---|---|
Na dann poste es später
Das wäre mal wirklich interessant wie man das macht, weil ich so etwas schon öfters mal gebraucht hätte. |
||
Mr.Keks |
Di, Jan 12, 2010 13:42 Antworten mit Zitat |
|
---|---|---|
kann ich aber bestätigen. du kannst die bones auch im code manipulieren, wies dir passt. falls du das mesh gleichzeitig mit animate animieren willst, musst du aber aufpassen, dass für die bones, die du im code steuern möchtest, nach möglichkeit keine animkeys gesetzt wurden. du musst das mesh also schon entsprechend erstellen. alternativ, das habe ich aber noch nie ausprobiert, sollte es auch funktionieren, dass du die animkeys des betreffenden bones mit SetAnimKey und parametern 0,0,0 deaktivierst.
die bones ingame zu manipulieren ist nichts ungewöhnliches. z.b. liefern die waffen in egoshootern häufig ihre animation mit, die dann auf den träger übertragen wird, oder man hat eben köpfe/augen in vielen spielen, die dinge fixieren können etc. |
||
MrKeks.net |
vanjolo |
Di, Jan 12, 2010 14:36 Antworten mit Zitat |
|
---|---|---|
Mach mal eine Box in Milkshape. Setze ein joint mit Namen punkt und verknüpfe damit 2 Eck Vertics.
Dann exportiere es als *.b3d und lade es damit: box = LoadAnimMesh("box.b3d") PositionEntity box, 0, 0, MeshDepth(box) * 2 ScaleEntity box,0.5,0.5,0.5 punkt = FindChild (box,"punkt") MoveEntity punkt,0,10,0 Ist jetzt aus dem Kopf (ich habe von Programmierung wirklich keine Ahnung) |
||
NightPhoenix |
Di, Jan 12, 2010 15:38 Antworten mit Zitat |
|
---|---|---|
Danke ich probier's mal aus! Aber nicht mit Milkshape | ||
vanjolo |
Di, Jan 12, 2010 15:53 Antworten mit Zitat |
|
---|---|---|
Wahrscheinlich gehts mit C4d, Max etc.. genauso. Bei Operation Flashpoint war das damals ein ähnliches Script. Man muste halt Dreh- und Funktionspunkte im Modell setzen. | ||
BIG BUG |
Mi, Jan 13, 2010 0:22 Antworten mit Zitat |
|
---|---|---|
Damit eigene Änderungen nicht durch die Blitzanimation überschrieben werden müssen diese nach UpdateWorld und vor RenderWorld erfolgen. | ||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
Übersicht BlitzBasic Blitz3D
Powered by phpBB © 2001 - 2006, phpBB Group