Skocz do zawartości

Featured Replies

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
  • Wyświetleń 1k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Napisano
  • Autor

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

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności