animation + manuelles drehen von bones

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

rctuner

Betreff: animation + manuelles drehen von bones

BeitragMo, Jan 11, 2010 22:53
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Jan 11, 2010 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ein bisschen code wär gut Wink

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 Wink

rctuner

BeitragMo, Jan 11, 2010 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Jan 11, 2010 23:23
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Confused
Twitter
Download Jewel Snake!
Windows|Android

Silver_Knee

BeitragMo, Jan 11, 2010 23:38
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 12, 2010 12:44
Antworten mit Zitat
Benutzer-Profile anzeigen
@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

BeitragDi, Jan 12, 2010 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 12, 2010 12:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach man kann wirklich die Bones im Code verschieben, sodass sich die Polygone des Modells mitbewegen? Wäre ja cool Smile Bist du auch wirklich sicher, dass das geht Vanjolo? Schonmal probiert?
 

vanjolo

BeitragDi, Jan 12, 2010 12:56
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 12, 2010 13:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Confused
Aber Vanjolo Milkshape ist nicht das Allheilmittel. Andere Modeller können ebenso .b3d + Bones, nicht nur Milkshape.
 

vanjolo

BeitragDi, Jan 12, 2010 13:04
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Confused
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 Very Happy

NightPhoenix

BeitragDi, Jan 12, 2010 13:08
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink Ist das gleiche. Hab auch mal paar Monate mit Milkshape gearbeitet. Smile
  • Zuletzt bearbeitet von NightPhoenix am Di, Jan 12, 2010 13:17, insgesamt einmal bearbeitet
 

vanjolo

BeitragDi, Jan 12, 2010 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kann dir jetzt nichts zeigen weil ich auf der Arbeit bin Wink (solls geben)
***************************
in Entwicklung:
Tank Battles - Panzeraction
Pacific Battles - Rundenstrategie
abgeschlossenes Projekt: Harrier Assault

NightPhoenix

BeitragDi, Jan 12, 2010 13:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Na dann poste es später Smile
Das wäre mal wirklich interessant wie man das macht, weil ich so etwas schon öfters mal gebraucht hätte.

Mr.Keks

BeitragDi, Jan 12, 2010 13:42
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 12, 2010 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 12, 2010 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke ich probier's mal aus! Aber nicht mit Milkshape Razz
 

vanjolo

BeitragDi, Jan 12, 2010 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jan 13, 2010 0:22
Antworten mit Zitat
Benutzer-Profile anzeigen
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)

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group