1 registered members (AndrewAMD),
1,187
guests, and 3
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Bones -auf biegen und brechen-
#384376
10/02/11 15:46
10/02/11 15:46
|
Joined: Feb 2010
Posts: 482 in deinem Kopf
Otter
OP
Senior Member
|
OP
Senior Member
Joined: Feb 2010
Posts: 482
in deinem Kopf
|
Heiho Leute! Wiedermal plagt mich ein problem beim versuch etwas neues auszuprobieren. Ich weis nicht wie ich es anstellen soll das sich ein bone fest auf einen vector fixiert und sich immer zu ihm dreht. Im manuel steht das bones mit "ent_bonerotate" immer auf die momentane position hinzuaddiert werden. Das ist doof .... Das würde bedeuten das ich die animation komplett stoppen muss. "Damals" hab ich Kopf und Körper der figur separiert und konnte dadurch leicht hinglotzen wo ich wollte. Ich glaube aber, dass es mit bones eleganter und mit weniger aufwand funktionieren könnte. ... oder täusche ich mich da? mfgOTTER
Be my UBB-Buddy, without any reason!
|
|
|
Re: Bones -auf biegen und brechen-
[Re: Otter]
#384379
10/02/11 16:34
10/02/11 16:34
|
Joined: Jul 2001
Posts: 6,904
HeelX
Senior Expert
|
Senior Expert
Joined: Jul 2001
Posts: 6,904
|
Ja, das geht. Aber ich erkläre erstmal, wieso es nicht so geht wie du willst.
Und zwar ist jeder Bone mit einem Winkel von 0,0,0 initialisiert, unabhängig (!) wie er positioniert und gedreht ist im Modell. Dann, wenn du ihn z.B. mit ent_bonerotate um 5° nach rechts drehst, dann ist das eine relative Angabe. Eine relative Angabe, die sich auf dessen initiale Stellung bezieht und nicht mit dem relativen Koordinatensystem der Entity zutun hat.
Ich hab das mal vor ein paar Jahren für einen Kunden umgesetzt, und zwar einerseits, dass der Kopf sich zur Kamera dreht und wenn der Kopf sich auf natürliche Weise nicht weiter drehen kann, dann die Augen, dementsprechend.
Und zwar hab ich das so gemacht, dass ich die Vorgabe gemacht habe, dass der Bone des Kopfes entlang der Z-Achse- und die Augenbones entlang der X-Achse des Modells verlaufen muss. Auf diese Weise kannst du dir dann über die relative Drehung der Entity und dem Winkel zum Ziel ausrechnen - unter der oben getroffenen Annahme - wie du den Kopfbone und die Augenbones zu drehen hast -- da du ja über diese Vorgaben weißt, wie er relativ in der Entity gedreht ist! Die Augenbones gar nicht (da identisch mit der Richtung der Entity, X-Achse nämlich) und der Kopfbone z.B. um 90° nach oben um die relative Y-Achse herum.
Wie gesagt: alles was du weißt ist dass in der initialen Stellung der Bone die Stellung 0,0,0 hat - und das wars, ent_bonerotate sorgt eben nur für eine relative Rotation im lokalen Koordinatensystem des Bones - und nicht der Entity - und schon gar nicht global.
Last edited by HeelX; 10/02/11 16:38.
|
|
|
Re: Bones -auf biegen und brechen-
[Re: Otter]
#384380
10/02/11 16:35
10/02/11 16:35
|
Joined: Dec 2008
Posts: 1,218 Germany
Rackscha
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,218
Germany
|
Ich habe es immer so gemacht: Ale bones die ich verändern möchte -> rotation auf 0 setzen Danach dann meinen winkel einstellen . Hab vor laaaanger zeit mal an nem legoegoshooter gebastelt. Hierbei bewegten sich arme, kopf und rücken so dass die figur "realistisch" richtung ziel guckte.
MY Website with news of my projects: (for example my current Muliplayer Bomberman, GenesisPrecompiler for LiteC and TileMaster, an easy to use Tile editor) Sparetime-Development
|
|
|
Re: Bones -auf biegen und brechen-
[Re: Superku]
#384385
10/02/11 16:57
10/02/11 16:57
|
Joined: Jul 2001
Posts: 6,904
HeelX
Senior Expert
|
Senior Expert
Joined: Jul 2001
Posts: 6,904
|
Das bringt dir nur dann was, wenn der bone auch in Richtung der relativen X-Achse des Modells guckt. Wenn der irgendwie anders gedreht ist, dann musst du die lokale Transformation des Bones noch berücksichtigen.
Oft ist es ja so, dass man zwischen den Schultern einen Bone setzt und dann irgendwo im Kopfzentrum; diesen nimmt man dann auch zur Drehung des Kopfes. Problem ist aber, dass die initiale Richtung des Bones 0,0,0 ist, obwohl der ja leicht schräg versetzt zur Z-Achse von der Schulterebene zum Kopfmittelpunkt geht. Das heißt - seine initiale relative Drehung zur Entity ist dann theoretisch z.B. 0,-100,0 (schräg nach hinten), "intern" steht da aber 0,0,0 - diese Informationen gehen aber verloren, weil MED das nicht mitspeichert.
Zusätzliche Komplexität ergibt sich, wenn man den Winkel zum Ziel "korrekt" berechnet, man also nicht die Koordinaten der Entity nimmt, sondern die des Kopfes - denn weil der Ursprung ja meist tiefer liegt, würde dass dann dazu führen, dass der Kopf etwas "über" das Ziel guckt. Guckt der Kopf einer Entity zum Kopf einer anderen muss dies dann zusätzlich berücksichtigt werden, man rechnet den globalen Drehwinkel dann über die globalen Positionen der Kopfbones aus.
Last edited by HeelX; 10/02/11 16:58.
|
|
|
Re: Bones -auf biegen und brechen-
[Re: HeelX]
#384409
10/02/11 19:39
10/02/11 19:39
|
Joined: Dec 2008
Posts: 1,218 Germany
Rackscha
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,218
Germany
|
@HeeIX: ich setze nie nen bone im Kopfzentrum. Ich setze die Bones an die stelle wo es sich bewegen soll. Deswegen sitzt mein KopfBone auch irgendwo im Hals. Der Knochen für den Fuß? Hockt irgendwo da wo ungefähr das FußGelenk ist
Last edited by Rackscha; 10/02/11 19:40.
MY Website with news of my projects: (for example my current Muliplayer Bomberman, GenesisPrecompiler for LiteC and TileMaster, an easy to use Tile editor) Sparetime-Development
|
|
|
Re: Bones -auf biegen und brechen-
[Re: Rackscha]
#384417
10/02/11 20:39
10/02/11 20:39
|
Joined: Jul 2001
Posts: 6,904
HeelX
Senior Expert
|
Senior Expert
Joined: Jul 2001
Posts: 6,904
|
Ja... natürlich Vielleicht kam das missverständlich rüber, mit bone meine ich immer das ganze Ding... also nicht nur den Knubbel sondern eben den ganzen "Knochen" zum nächsten Knubbel. Ich setze zum letzten bone, der noch was steuert, noch einen child-Bone am Ende des sich bewegenden Objekts - also beim Kopf dann in der Mitte (oder meist sogar oben an der Schädeldecke) und bei den Füßen an der Fußspitze. Du nimmst dann nämlich diesen "Ende"-Bone für die Bestimmung der Kopfposition und natürlich nicht den Bone, der im Hals liegt. Wobei du den aber drehen musst. So, ich hoffe, das ist jetzt klargestellt
|
|
|
Re: Bones -auf biegen und brechen-
[Re: HeelX]
#384458
10/03/11 10:37
10/03/11 10:37
|
Joined: Feb 2010
Posts: 482 in deinem Kopf
Otter
OP
Senior Member
|
OP
Senior Member
Joined: Feb 2010
Posts: 482
in deinem Kopf
|
Also für mich liest sich das so, als ob ihr mir insgeheim davon abraten würdet bones für den kopf zu benutzen Ich verstehe warum dieses präzisionsproblem entsteht und ich weis jetzt das ich den bone-winkel berechnen und korrigieren müsste. Aber mal ehrlich ... ist meine "alte" version mit den seperaten modellen nicht doch besser? Oh! Und damit wir bei dem bones thema bleiben:wieviele bones sollte ein ca. 2000 polygon model besitzen damit es bei 20 dieser individuen nicht anfängt an den fps zu nagen?
Be my UBB-Buddy, without any reason!
|
|
|
Re: Bones -auf biegen und brechen-
[Re: Otter]
#384463
10/03/11 12:22
10/03/11 12:22
|
Joined: Dec 2008
Posts: 1,218 Germany
Rackscha
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,218
Germany
|
@Otter: nein, also zumindets Ich rate dir nicht von den Bones ab^^. Du musst soviele bones nehmen, wie du gelenke hast. Mehr bones machen wenig sinn und weniger bones sowieso
MY Website with news of my projects: (for example my current Muliplayer Bomberman, GenesisPrecompiler for LiteC and TileMaster, an easy to use Tile editor) Sparetime-Development
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|