Skocz do zawartości

Rekomendowane odpowiedzi

Napisano

Hej

Mam pytanie. Posiada ktos linka/info jak zrobic stretchy arm system w 3ds? Wiem jak zrobic ik/fk blending system, tylko chcialbym do tego doddac stretchy arm z kontrola lokcia (ktory tez moze byc rozciagany)

z gory dzieki:)

  • Odpowiedzi 1
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Napisano

ok, jakby kogos interesowalo to znalazlem cos takiego:)

http://forums.cgsociety.org/showthread.php?t=590979

 

.............

Create 3 bones (b01,b02,b03) with an ik limb, and one point.

 

Unfreeze length of the bones.

 

Use the point as swivel angle.

 

Add float list controller on the x position of the 2 last bones, with :

- a float script calculating distance from point to b01 for b02

- a float script calculating distance from b02 to point for b03

- a float bezier as second slot for b02 and b03

 

Add float script to the float list weight controller (to avoid animation).

 

Now we need some change handlers :

-----------------------------------------

 

clearlistener()

gc()

 

deleteAllChangeHandlers id:#ElbowIk_Sel

 

when select #($'Point01',$'IK Chain01') changes id:#ElbowIk_Sel handleAt:#redrawViews obj do

(

if selection[1] == $'Point01' then

(

Farm = $'Bone02'.controller.FK_Sub_Control.position.contr oller.x_position.controller

Wrist = $'Bone03'.controller.FK_Sub_Control.position.contr oller.x_position.controller

 

Farm[2].value = Farm[1].value

Wrist[2].value = Wrist[1].value

Farm.weight[1].controller.script = "1.0"

Farm.weight[2].controller.script = "0.0"

Wrist.weight[1].controller.script = "1.0"

Wrist.weight[2].controller.script = "0.0"

print "Point Select"

)

if selection[1] == $'IK Chain04' then

(

Farm = $'Bone02'.controller.FK_Sub_Control.position.contr oller.x_position.controller

Wrist = $'Bone03'.controller.FK_Sub_Control.position.contr oller.x_position.controller

 

Farm[2].value = Farm[1].value

Wrist[2].value = Wrist[1].value

 

Farm.weight[1].controller.script = "0.0"

Farm.weight[2].controller.script = "1.0"

Wrist.weight[1].controller.script = "0.0"

Wrist.weight[2].controller.script = "1.0"

print "ik Chain Select"

)

)

 

deleteAllChangeHandlers id:#Ik01

 

when transform $'IK Chain01' changes id:#Ik01 handleAt:#redrawViews do

(

$'Point01'.pos = $'Bone02'.pos

)

 

deleteAllChangeHandlers id:#Elbow01

 

when transform $'Point01' changes id:#Elbow01 handleAt:#redrawViews do

(

Farm = $'Bone02'.controller.FK_Sub_Control.position.contr oller.x_position.controller

Wrist = $'Bone03'.controller.FK_Sub_Control.position.contr oller.x_position.controller

 

Farm[2].value = Farm[1].value

Wrist[2].value = Wrist[1].value

)

 

Feel free to try and comment.

If needed i can post an example file.

...............

 

 

tylko mam problem

robie 3 kosci, ustawiam IK, nie freezuje kosci, dodaje w float list controller w 2 ostatnich kosciach (b02,b03) pod x position float script i bezier float, tylko co pozniej? jak dodac ten scrypt ktory napisal?? moze ma ktos jakies rozwiazanie?

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności