XSIforum.com Foro de la Comunidad Hispana de Autodesk Softimage (ex-XSI) 30 Julio 2010, 12:19:02 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
73707 Mensajes en 6703 Temas por 1673 Usuarios
Último usuario: kusabi
Versión móvil: wap wap2 imode
 
   Inicio   Ayuda Ingresar Registrarse  

Google
 
Páginas: [1] 2  Todos   Ir Abajo
  Imprimir  
Autor Tema: Crear Bones a partir de una Linear Curve  (Leído 374 veces)
r-l-a-v
XSI 1
*
Mensajes: 55


« : 06 Julio 2009, 23:06:13 »

Alguien conoce algún método script y/o plugins que permita
crear huesos a partir de una curva "linear", en donde se toma
como referencia los segmentos de la curva y su largo para crear los huesos.
No es el caso de "Create Chain from Curve", ya que éste crea una cierta
cantidad de huesos y los adapta a la forma de la curva.

Gracias.
En línea
César Sáez
XSI 5
*****
Mensajes: 2307



WWW
« Respuesta #1 : 07 Julio 2009, 11:21:03 »

Se puede hacer, no parece difícil. Smiley

No tengo tiempo para hacertelo pero si lo quieres intentar es básicamente un loop por los puntos de la curva creando huesos a partir de la posición de los puntos. Necesitas saber como hacer un bucle en el lenguaje que uses (for), como acceder a los vértices de la curva (curve.ActivePrimitive.Geometry.Points) y como crear huesos (parent.Add2DChain()) Afro

Salu2
En línea

César Sáez
XSI 5
*****
Mensajes: 2307



WWW
« Respuesta #2 : 07 Julio 2009, 13:22:26 »

Ok, mientras llega mi bocata te escribí una función que debería hacerlo, no está muy testeada aún pero pareciera funcionar Smiley

Espero que te sirva Afro

Código: (Python)
xsi = Application

def ChainFromCurve(in_curve):
    points = in_curve.ActivePrimitive.Geometry.Points
    root = xsi.ActiveSceneRoot.Add2DChain(points[0].Position, points[1].Position)
    root.Name = "%s_root" % (in_curve.Name)
    root.Effector.Name = "%s_eff" % (in_curve.Name)
    for i in range( 2, len(points) ):
        root.AddBone(points[i].Position)
    for i in range(len(root.Bones)):
        if i<10: zero = "00"
        elif i<100: zero = "0"
        else: zero = ""
        root.Bones[i].Name = "%s_%s%i_bone" % (in_curve.Name, zero, i)
    return root

ChainFromCurve(xsi.Selection[0])
En línea

M-TUNE
XSI 2
**
Mensajes: 669



« Respuesta #3 : 07 Julio 2009, 15:16:53 »

 Huh

// ERROR : Expected ';' - [line 3]
En línea
César Sáez
XSI 5
*****
Mensajes: 2307



WWW
« Respuesta #4 : 07 Julio 2009, 15:27:08 »

Python!

Siempre estamos con la misma... python es vuestro amigo! Tongue Cheesy
En línea

M-TUNE
XSI 2
**
Mensajes: 669



« Respuesta #5 : 07 Julio 2009, 15:27:46 »

jajajaja XDDDDDDDDD sorry
En línea
M-TUNE
XSI 2
**
Mensajes: 669



« Respuesta #6 : 07 Julio 2009, 16:15:15 »

yeah.!! does work.! Wink
En línea
r-l-a-v
XSI 1
*
Mensajes: 55


« Respuesta #7 : 07 Julio 2009, 17:55:26 »

Disculpen mi ignorancia pero debo instalar Python y luego pegar el código y ejecutarlo en el editor de script?

Tengo en este momento el xsi 7.5 (32bit), me bajé varias versiones de python y sus extensiones y no logro que me reconozca el código. Debo bajar alguna versión específica?

  Embarrassed Embarrassed Embarrassed
En línea
M-TUNE
XSI 2
**
Mensajes: 669



« Respuesta #8 : 07 Julio 2009, 18:28:14 »

http://softimage.com/downloads/PythonInstall64.rar

ahi lo descargas



PATH environment variable
En línea
r-l-a-v
XSI 1
*
Mensajes: 55


« Respuesta #9 : 07 Julio 2009, 18:47:22 »

 Wink Wink Wink Gracias M-Tune, resolviste mi problema.

César eres un crack, tu script funcionó muy bien, eres el mejor!!!  Afro Afro Afro
Gracias compañeros.
En línea
Páginas: [1] 2  Todos   Ir Arriba
  Imprimir  
 
Ir a:  

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC

Valid XHTML 1.0 Transitional [Valid RSS] ¡CSS Válido!