2 registered members (AndrewAMD, ozgur),
1,421
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Zucken einer Ragdoll beim Sperren eines Winkels
[Re: xxxxxxx]
#367533
04/14/11 13:44
04/14/11 13:44
|
Joined: Oct 2004
Posts: 900 Lgh
rojart
User
|
User
Joined: Oct 2004
Posts: 900
Lgh
|
Warum willst du alle Gelenke sperren lassen, daher kommt doch das Zucken, oder? Ich würde es auf deiner stelle individuell einschränken mit NX_D6JOINT_MOTION_LIMITED und dann für bestimmte Gelenke (nicht alle) mit pXcon_setparams2 der pan vector auf 0 setzen.
Last edited by rojart; 04/14/11 13:46.
|
|
|
Re: Zucken einer Ragdoll beim Sperren eines Winkels
[Re: rojart]
#367548
04/14/11 15:01
04/14/11 15:01
|
Joined: Jan 2011
Posts: 797 Da wo du nicht bist! Muhahaha!
xxxxxxx
OP
User
|
OP
User
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
|
@Pappenheimer Ja das dachte ich auch schon, allerdings bringt es nichts die Objekte weiter auseinander zu setzen... Das mit den Boxen werde ich machen. Allerdings wird es schwierig sie dem physX-Kolisions-System anzupassen... @rojart Warum willst du alle Gelenke sperren lassen, daher kommt doch das Zucken, oder? Damit die Einzelteile meiner Ragdoll sich nicht wie behindert im Kreis drehen!
Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben!
|
|
|
Re: Zucken einer Ragdoll beim Sperren eines Winkels
[Re: xxxxxxx]
#367574
04/14/11 21:08
04/14/11 21:08
|
Joined: Oct 2004
Posts: 900 Lgh
rojart
User
|
User
Joined: Oct 2004
Posts: 900
Lgh
|
Damit die Einzelteile meiner Ragdoll sich nicht wie behindert im Kreis drehen! Das ist mir schon klar das sich nicht drehen sollte, aber früher oder später wirst du es verstellen müssen, weil einige Körper teile nicht gesperrt sein sollten, und um zu sehen wie sich es verhält, entsperre es Einzel nach: Motion[3] = NX_D6JOINT_MOTION_FREE; Motion[4] = NX_D6JOINT_MOTION_LOCKED; Motion[5] = NX_D6JOINT_MOTION_LOCKED; (Roll Winkel theoretisch) Motion[3] = NX_D6JOINT_MOTION_LOCKED; Motion[4] = NX_D6JOINT_MOTION_FREE; Motion[5] = NX_D6JOINT_MOTION_LOCKED; (Tilt Winkel theoretisch) Motion[3] = NX_D6JOINT_MOTION_LOCKED; Motion[4] = NX_D6JOINT_MOTION_LOCKED; Motion[5] = NX_D6JOINT_MOTION_FREE; (Pan Winkel theoretisch)
|
|
|
Re: Zucken einer Ragdoll beim Sperren eines Winkels
[Re: xxxxxxx]
#367682
04/16/11 16:16
04/16/11 16:16
|
Joined: Oct 2004
Posts: 900 Lgh
rojart
User
|
User
Joined: Oct 2004
Posts: 900
Lgh
|
Entweder willst du es nicht verstehen oder hast du es falsch verstanden, ein Ragdoll funktioniert ohne Zucken nur dann wenn es eingeschränkt und nicht wenn ein bestimmtes Winkel deaktiviert wird. Warum willst du es nicht einfach mit (NX_D6JOINT_MOTION_LIMITED) Einschränkung versuchen? Stell dir eine simple frage, was passiert wenn ich an meinem eigenen Körper den Pan, Tilt oder Roll Winkel komplett deaktiviert hätte, kannst du dann noch richtig funktionieren?
In dem letzten Beispiel musstest du dann gesehen haben das z.B. Bein1L sich theoretisch als Pan Winkel gedreht hat, aber OberarmL wiederum hatte theoretisch Roll Winkel, so wenn du jetzt ein Winkel sperrst, dann sind es genau im schlimmsten Fall sogar zwei, daher für Ragdolls ist die höchste Priorität NX_D6JOINT_MOTION_FREE oder NX_D6JOINT_MOTION_LIMITED zu benutzen. Momentan bin ich ziemlich beschäftigt, aber nächste Woche versuche ich dir eine Ragdoll Demo mit Einschränkung, wie es richtig funktionieren sollte zu zeigen, wenn du bis dahin nicht selber auf die reihe hinbekommst.
|
|
|
Re: Zucken einer Ragdoll beim Sperren eines Winkels
[Re: rojart]
#367691
04/16/11 18:36
04/16/11 18:36
|
Joined: Jan 2011
Posts: 797 Da wo du nicht bist! Muhahaha!
xxxxxxx
OP
User
|
OP
User
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
|
Achso, Sorry bin manchmal schwer von Begriff. Natürlich werde ich NX_D6JOINT_MOTION_LIMITED benutzen das war erstmal nur, weil ich keine Lust hatte für jedes Gelenk die richtigen Winkel herauszufinden. Ich werd mich spätestens Morgen dran setzen. PS: Vielen Dank, dass du mir eine Demo schreiben(o. wenn ichs falsch verstanden hab "zeigen") willst. xxxxxxx
Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben!
|
|
|
Re: Zucken einer Ragdoll beim Sperren eines Winkels
[Re: xxxxxxx]
#367702
04/16/11 21:46
04/16/11 21:46
|
Joined: Jan 2011
Posts: 797 Da wo du nicht bist! Muhahaha!
xxxxxxx
OP
User
|
OP
User
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
|
Da hab ich jetzt doch die Frage was hieran falsch sein soll:
VECTOR* swingLimit = vector(30,70,0);
VECTOR* twistLimit = vector(-90,45,0);
VECTOR* linearLimit = vector(10,0,0);
pXcon_add(PH_6DJOINT,Body1,Body2,0);
vec_for_bone(to.x,Skelett,"Body");
pXcon_setparams1(Body1, to.x,NULL,NULL);
pXcon_setparams2(Body1,swindLimit,twistLimit,linearLimit);
pXcon_set6djoint(Body1,Motion,NULL);
hier mein Motion
Motion[0] = NX_D6JOINT_MOTION_LOCKED;
Motion[1] = NX_D6JOINT_MOTION_LOCKED;
Motion[2] = NX_D6JOINT_MOTION_LOCKED;
Motion[3] = NX_D6JOINT_MOTION_LIMITED;
Motion[4] = NX_D6JOINT_MOTION_LIMITED;
Motion[5] = NX_D6JOINT_MOTION_LIMITED;
ERGEBNIS: es passiert NICHTS, also es ist wie ein steinklotzt. PS: das ist code aus dem manual, jedenfalls was freiheits grade anbetrift. Wäre nett wenn mir jemand erklären könnte wie ich die Winkel begrezen kann und irgendwie erscheint mir es so das man nur 2 Winkel begrenzen kann... xxxxxxx
Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben!
|
|
|
Re: Zucken einer Ragdoll beim Sperren eines Winkels
[Re: xxxxxxx]
#367727
04/17/11 07:23
04/17/11 07:23
|
Joined: Oct 2004
Posts: 900 Lgh
rojart
User
|
User
Joined: Oct 2004
Posts: 900
Lgh
|
Also auf denn ersten blick, du benutzt die Vectors als Globale struct Pointer, ersetze durch:
VECTOR* swingLimit = {x=30;y=70;z=0;}
VECTOR* twistLimit = {x=-90;y=45;z=0;}
VECTOR* linearLimit = {x=10;y=0;z=0;}
Sonst, wenn die Vectors in einer funktion benutzt werden, dann wie der code unten. Außerdem ein kleiner tipp fehler rot markiert: pXcon_setparams2(Body1,swindLimit,twistLimit,linearLimit);
VECTOR swingLimit; vec_set(swingLimit, vector(30,70,0));
VECTOR twistLimit; vec_set(twistLimit, vector(-90,45,0));
VECTOR linearLimit; vec_set(linearLimit, vector(10,0,0));
pXcon_add(PH_6DJOINT,Body1,Body2,0);
vec_for_bone(to.x,Skelett,"Body");
pXcon_setparams1(Body1, to.x,NULL,NULL);
pXcon_setparams2(Body1,swingLimit,twistLimit,linearLimit);
pXcon_set6djoint(Body1,Motion,NULL);
Last edited by rojart; 04/17/11 09:34.
|
|
|
|