Error parsing expression

Mensajes de los cursos de junio y octubre del año 2010.

Moderadores: David, Tutores

DavidAlvarez
Junior
Junior
Mensajes: 25
Registrado: Mié Oct 06, 2010 10:33 am

Error parsing expression

Mensajepor DavidAlvarez » Sab Nov 13, 2010 4:20 am

Este tema me tiene un bastante rallado :@ en un expression controller point 3 al colora la siguiente expression if( ((dist - (b1+b2)) > 0),([ 1, 0, 0 ]),([1,1,1])) obtengo el error que indico en el titulo de este tema. Lo cierto es que si en vez de este uso un float script ( y uso el lenguaje de script) todo funciona bien, pero por hacer caso a Iker me gustaria probar a hacerlo mediante expression que en teoria es mas ligerito y ademas saber que leches pasa para que no leguste la expression que tengo escrita.
Cualquier ayuda a este respecto es mas que bien recibida. Gracias!!

ikerJ
Miembro Vip
Miembro Vip
Mensajes: 212
Registrado: Mar Jun 15, 2010 9:21 pm

Re: Error parsing expression

Mensajepor ikerJ » Sab Nov 13, 2010 4:45 am

No te lo creerás, pero llevo 15 minutos probando y no hay manera de hacer que entre la expresión, ni ésa ni una creada desde cero. El sonidillo de error me está poniendo de los nervios... :devil:

jquinchia
Junior
Junior
Mensajes: 47
Registrado: Lun Oct 04, 2010 5:15 am
Alumno: NO
Ubicación: Medellín (Colombia)

Re: Error parsing expression

Mensajepor jquinchia » Sab Nov 13, 2010 8:31 am

David, pues por el momento mi ayuda es mas desde el punto de vista moral.....Ese sonido del error lo inventó el diablo :devil:

DavidAlvarez
Junior
Junior
Mensajes: 25
Registrado: Mié Oct 06, 2010 10:33 am

Re: Error parsing expression

Mensajepor DavidAlvarez » Sab Nov 13, 2010 1:29 pm

Gracias por el apoyo moral :) Es raro raro desde luego...

ikerJ
Miembro Vip
Miembro Vip
Mensajes: 212
Registrado: Mar Jun 15, 2010 9:21 pm

Re: Error parsing expression

Mensajepor ikerJ » Dom Nov 14, 2010 12:59 am

Sigo probando, y no hay manera de que funcione... y eso que lo estamos haciendo bien. ¿Conseguiste ponerlo en marcha, David? Aquí una prueba de que las expresiones funcionan:

http://www.render.ru/books/show_book.php?book_id=448

Lo curioso es que sin en lugar de usar un 'Expression Controller' dentro de un parámetro Point3 (Color, Posición, etc. -un vector) lo usamos en un Float (PosiciónX, etc. -sólo un valor escalar), esa sintaxis funciona perfectamente :tmi:

DavidAlvarez
Junior
Junior
Mensajes: 25
Registrado: Mié Oct 06, 2010 10:33 am

Re: Error parsing expression

Mensajepor DavidAlvarez » Dom Nov 14, 2010 5:27 pm

La verdad es que no, no he conseguido hacer funcionar la float expression si es de tipo point 3. Misterios del max. Efectivamente como bien comentas, si son float expression normales la sintaxis funciona sin mas. :?:

AlesDorado
Iniciado
Iniciado
Mensajes: 23
Registrado: Lun Oct 04, 2010 1:24 pm

Re: Error parsing expression

Mensajepor AlesDorado » Dom Nov 14, 2010 9:25 pm

Yo me he pegado una tarde con el problemita... al final he conseguido dar con la solución, bueno, no se si es la solución, pero funciona jeje.
El problema es que se trata de un Point3 y la ecuación que introduce David (y yo también al principio), aunque el resultado es un Point3, no esta dando realmente o correctamente todos los valores del mismo. La solución a la que he llegado ha sido dejar el point3 inicial, he ir rellenando campo a campo con la ecuación, pero en vez de dar un valor vectorial como resultado, le paso simplemente un escalar.
La cosa quedaría así:
[ if( dist - (b1+b2) > 0, 1, 1), if( dist - (b1+b2) > 0, 0, 1), if( dist - (b1+b2) > 0, 0, 1)]

en el primer campo en este caso bastaría con poner un 1:
[ 1, if( dist - (b1+b2) > 0, 0, 1), if( dist - (b1+b2) > 0, 0, 1)]

A mi ha sido de la única forma en la que me ha funcionado.
Otra pregunta relacionada con el cambio de color: ¿No se puede poner un controlador expresion o algo similar al wirecolor? Para los objetos del rig me gustaría más utilizar el wirecolor que tener que usar un material.

ikerJ
Miembro Vip
Miembro Vip
Mensajes: 212
Registrado: Mar Jun 15, 2010 9:21 pm

Re: Error parsing expression

Mensajepor ikerJ » Dom Nov 14, 2010 10:39 pm

Otra pregunta relacionada con el cambio de color: ¿No se puede poner un controlador expresion o algo similar al wirecolor? Para los objetos del rig me gustaría más utilizar el wirecolor que tener que usar un material.
Hasta donde yo sé, 'wirecolor' no es un parámetro animable. Y si un parámetro no es animable, no puede tener controlador ;(

matancillas
Iniciado
Iniciado
Mensajes: 10
Registrado: Mié Oct 06, 2010 10:18 pm

Re: Error parsing expression

Mensajepor matancillas » Lun Nov 15, 2010 2:22 am

http://www.mathiesonfacer.com/blog/using-stretchtm/

Yo creo es esto lo que menciona Ales del wirecolor
Salu2

ikerJ
Miembro Vip
Miembro Vip
Mensajes: 212
Registrado: Mar Jun 15, 2010 9:21 pm

Re: Error parsing expression

Mensajepor ikerJ » Lun Nov 15, 2010 2:50 am

¡Muy buen enlace, Eleazar! Lo cual me ha hecho recordar una cosa: si bien no podemos usar una expresión o un controlador en 'wirecolor', sí podemos usar cualquier otro controlador de cualquier objeto para llamar a esa propiedad y modificarla, siempre que esa expresión/script devuelva como resultado algo correcto.

Por ejemplo, para cambiar el 'wirecolor' de un hueso podríamos usar un 'script controller' en el parámetro 'Segments' de una tetera, haciendo algo como esto:

Código: Seleccionar todo

--condición de color if (distance $Node01 $Node02 > 50) then $Bone01.wirecolor = red else $Bone01.wirecolor = red --valor de los segmentos de la tetera 4
Aunque esto tiene una pequeñísima limitación, y es que para que funcione tenemos que manipular el objeto que posee la expresión (de ese modo la escena se refresca automáticamente y el objeto cambia de color) o moviendo la barra del 'timeline'.

DavidAlvarez
Junior
Junior
Mensajes: 25
Registrado: Mié Oct 06, 2010 10:33 am

Re: Error parsing expression

Mensajepor DavidAlvarez » Lun Nov 15, 2010 11:17 am

Que bueno el enlace Eleazar!!

jquinchia
Junior
Junior
Mensajes: 47
Registrado: Lun Oct 04, 2010 5:15 am
Alumno: NO
Ubicación: Medellín (Colombia)

Re: Error parsing expression

Mensajepor jquinchia » Lun Nov 15, 2010 4:26 pm

Me uno a la felicitación. ¡Excelente Eleazar!

ikerJ
Miembro Vip
Miembro Vip
Mensajes: 212
Registrado: Mar Jun 15, 2010 9:21 pm

Re: Error parsing expression

Mensajepor ikerJ » Lun Nov 15, 2010 5:35 pm

Tengo la solución al problema de la expresión. En cuanto llegue a casa os cuento ;-)

ikerJ
Miembro Vip
Miembro Vip
Mensajes: 212
Registrado: Mar Jun 15, 2010 9:21 pm

Re: Error parsing expression

Mensajepor ikerJ » Lun Nov 15, 2010 11:25 pm

Pues resulta que en la lista de funciones disponibles en una expresión, tenemos 'vif' abajo del todo, que es un 'if' que se usa única y exclusivamente con vectores. De ese modo:

if (dist > 20, [0,0,0], [1,1,1])

... no funciona, mientras que:

vif (dist > 20, [0,0,0], [1,1,1])

... sí lo hace.

Nunca te acostarás sin saber una cosa más 8)

DavidAlvarez
Junior
Junior
Mensajes: 25
Registrado: Mié Oct 06, 2010 10:33 am

Re: Error parsing expression

Mensajepor DavidAlvarez » Mar Nov 16, 2010 10:21 am

resuelto el misterio pues. Gracias Iker.


Volver a “Convocatorias 2010”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados