XSIforum.com
Foros 3D => Autodesk Softimage => Rigging y Scripting => Mensaje iniciado por: lozo en 05 Abril 2004, 18:19:27
-
Hola.... otra vez extrañando a Softimage....
El tema es:
Como hago para darle una simple dinamica a una Cadena de skeleton?
Como para hacer una cadena afectada por la gravedad.
Tengo que hacer una manguera que se despliega y queda colgando...
-
No estoy muy seguro de como funcionará esto con XSI (ni si funcionará). Yo hice una vez algo parecido en maya. Lo que debes hacer es crear unos cuantos cubos (que no se vean en el render claro) Y estos cubos serán los que tengan aplicadas las dinámicas. Debes constreñir los effectors de tus huesos a estos cubos. Aunque yo no utilizaría huesos. Yo en XSI haria una curva (la manguera) y crearía clusters with center constreñidos a su vez a los cubitos. Correría la simulación y haria un bake de la animación. Despues crearía la geometría de la manguera y le haría un envelope a la curva en que corrió la simulación. Ya te digo que no se si funcionará. En Maya te aseguro que sí, aunque ( esto te sonará muy típico) yo intentaría animar a mano este tipo de cosas. Las dinámicas son muy arbitrarias, y en XSI me parece (por lo poco que he probado) que no están a la altura.
Tambien puedes probar con softbodyes ( si tienes paciencia ) pero imagino que con huesos no funcionará.
-
Bueno.... muy interesante.... pero que es lo que hace que los cubos queden de alguna manera contrañidos a los effectors?
Osea, lo dificil para mi es lograr ese efecto de cadena, donde cada hueso (u objeto, es igual) esté afectado por la gravedad pero a su vez no pueda despegarse de su padre en la cadena y así crear el tipico efecto latigo.
Yo estuve intentando con una cadena con el effector constrained a una esfera con dinamicas.... pero la esfera no le da ni bola (valga la redundancia) al effector, asi que apenas empiesa la simulacion se la para el sentido de la gravedad en linea recta!
Saludos...
-
che, lo que dice JaviDrop esta bien.
solo fijate que las geometrias no sean hijas de los huesos.
Por otro lado, si lo tuyo no es para algo seriado,
yo lo resolveria al toque animando con rotaciones aditivas.
digo.
-
Bueno, si lo que quiees es lograr un efecto látigo, yo que tú pasaría de dinámicas y animaría a manita. Es muy fácil conseguir este efecto por medio de constraints. Mira el ejemplo. Solo has de crear objetos implícitos que serviran como deformadores para tu envelop. Tambien puedes usar una curva y hacer clusters con centro en los vértices y aplicar este método.
Captura 1: Crea unos cubos y un nulo. De abajo arriba haz que todos tengan un constrain de posición con el vecino de arriba, hasta llegar al nulo que servirá para animar la cadena.
Captura 2: Haz una multiselección de los cubos y abre el explorador. Vete a kinematics y donde tienes la carpetita de los clusters encontrarás los constraints que creaste. Clika el icono.
Captura 3: Se abrirán las propiedades de tus constraints de posición. Activa la casilla "afected by orientation" y abajo coloca la opción de couplin en "SOFT".
Ya está. Anima el nulo y verás el efecto látigo que buscas.
Espero que te sirva de ayuda. ;)
-
Gracias Fiera! (como mola)
-
muy bueno javi
-
siempre se aprende algo nuevo, en este caso:
Como haces la multiseleccion para q aparesca en el explorador??
esa no la tengo.
-
JaviDrop..... la verdad... GRACIAS!!!!
No se si me va a servir para lo que tengo que hacer (una mascarilla de avion que cae!) poruqe ya mostré algo bastante cercano hecho com soft body..... pero, aprendí dos cosas GENIALES gracias a tu post..
1. Como tener propriedades Multiples (GENIAL!!!)
2. Lo de los constraints SOFT....
Gracias!
-
La multiselección se hace con la tecla SHIFT pulsada y arrastrando sobre los objetos, después clickas en SELECTION y ya está. Las propiedades de tu selección múltiple.
Creo que era lo que preguntabas.
-
alguien ha pensado en la opcioon de create chain from curve , no le veo mas complicacion que eso
si animas despues la curva
-
El tema de darle dinamica a un esqueleto es que los esqueletos no se estiran, entonces en una simulacion uno puede estar seguro de que el objeto deformado por el esqueleto tampoco se estira (cosa que inevitablemente ocurre con soft body).
He buscado mucho y he encontrado varios metodos algunos muy interesantes en cuanto aresultados.... pero nunca muy claros. Lo que me quedó bastante claro es que todos terminan optando por usar simulacion de cloth para despues enganchar esqueletos.
El script que sigue es lo mas interesante que encontré!...
Nos estamos viendo.....
Lozo
' getting the control object that will drive the IK '
NewScene
CreatePrim "Cylinder", "MeshSurface"
SetValue "cylinder.polymsh.geom.subdivu", 3
SetValue "cylinder.polymsh.geom.subdivv", 3
SetValue "cylinder.polymsh.geom.subdivbase", 1
Scale , 1.000, 5.419, 1.000, siRelative, siLocal, siObj, siXYZ
Scale , 0.419, 1.000, 0.419, siRelative, siLocal, siObj, siXYZ
Translate , 0.000, 10.978, 0.000, siRelative, siView, siCtr, siXYZ
' creating the bones '
Create2DSkeleton 0.000, 10.864, -0.140, 0.000, 3.487, -0.140, 0.000, 90.000, 0.000, 4
AppendBone "eff", 0.000, -3.742, 0.008
AppendBone "eff", 0.000, -10.971, 0.008
SelectObj "cylinder", , True
ApplyCns "Position", "cylinder", "root"
ActivateVertexSelTool
AddToSelection "cylinder.pnt[4,8,12]", , True
CreateCluster
RemoveFromSelection "cylinder.polymsh.cls.Point"
SelectGeometryComponents "cylinder.pnt[3,7,11]"
CreateCluster
RemoveFromSelection "cylinder.polymsh.cls.Point1"
SelectGeometryComponents "cylinder.pnt[0,2,6,10]"
CreateCluster
' Constraining IK to Object '
ApplyCns "ObjectToCluster", "bone1", "cylinder.polymsh.cls.Point"
ApplyCns "ObjectToCluster", "bone2", "cylinder.polymsh.cls.Point1"
ApplyCns "ObjectToCluster", "eff", "cylinder.polymsh.cls.Point2"
' Applying Cloth to Object '
AddToSelection "cylinder.pnt[0,2-4,6-8,10-12]", , True
ApplyCloth "cylinder.pnt[0,2-4,6-8,10-12]"
SetValue "cylinder.Cloth.Mass", 50
SetValue "cylinder.Cloth.Friction", 0.007
SetValue "cylinder.Cloth.Shear", 1.000
SetValue "cylinder.Cloth.Bend", 0.000
SetValue "cylinder.Cloth.Stretch", 1000.000
CreateForce "Gravity"
SetValue "gravity.gravity.ampl", 100.000
' Animating the IK '
SelectObj "root", "BRANCH", True
SaveKey "root.kine.local.posx,root.kine.local.posy,root.kine.local.posz", 1.000
Translate , 0.000, 0.000, -13.762, siRelative, siView, siObj, siXYZ
SaveKey "root.kine.local.posx,root.kine.local.posy,root.kine.local.posz", 10.000
Translate , 0.000, 10.043, 0.000, siRelative, siView, siObj, siXYZ
SaveKey "root.kine.local.posx,root.kine.local.posy,root.kine.local.posz", 13.000
Translate , -0.000, 0.000, 19.105, siRelative, siView, siObj, siXYZ
SaveKey "root.kine.local.posx,root.kine.local.posy,root.kine.local.posz", 16.000
-
y eso k se supone k hace? y como se aplica? :P
-
copia el codigo, abre el script editor (asegurate de que en las preferencias el lenguaje sea VBasic) y ejecutalo.... (clica en Run).
Dale play a la escena y.... ::) ya te caeras de culo!
-
Buenas señores.... Bueno, despues de muuuucho tiempo lejos quería compartir con ustedes un pequeño (pero espero útil) script que hice siguiendo los pasos de un tutorial de Martin Belleau ( http://pages.videotron.com/njapowa/ (http://pages.videotron.com/njapowa/) ).
Lo he puesto en el XSI base y les paso el link ya que todavia no tengo un website armado y el que uso es de tripod que jode para todo! Osea que va a ser mas facil que lo bajen del foro!
http://www.xsibase.com/scripts/simulate.php?detail=925
esto es el resultado
(http://img47.exs.cx/img47/7451/ChDyn.gif)
Bueno gente.... espero que les sea útil
Hasta la vista... Lozo
-
impresionante tio, me encanta ;)
-
mu bien señor, aportando recursos a la gente. O0