XSIforum.com
Foros 3D => Autodesk Softimage => Rigging y Scripting => Mensaje iniciado por: Cesar Saez en 01 Mayo 2008, 22:33:08
-
Hola, quisiera saber si hay forma de saber las coordenadas en U y V de un point específico, es decir, mediante script accedo a un point de una malla poligonal y quisiera consultar sus coordenadas en U y en V para luego utilizar esa información en el resto del script.
Alguien sabe como hacerlo?
Gracias O0
-
Hola Cesar, aqui no tengo XSI. El lunes cuando llegue a Salamnca lo miro y te cuento, yo lo he hecho varias veces pero así de memoria no me acuerdo.
-
Copio y pego un extracto de la conversación por messenger con agedito donde me da la pauta para conseguirlo, así queda para alguien más que tenga la misma duda :)
Muchas gracias Agedito O0
_________________________
Agedito dice:
¿qué andas tramando?
César dice:
lo que quiero es saber el color RGB del pixel correspondiente a la UV de un point para que en funcion de una máscara animada usada como textura pueda activar o desactivar algo
César dice:
el color RGB del pixel lo puedo saber con un comando que hay específicamente para eso
César dice:
pero necesito la coordenada en U y en V
César dice:
y ahi estoy complicado, vi algo de TrianglePoints en la ayuda del SDK
César dice:
estoy tratando de entenderlo
Agedito dice:
vale, tienes dos opciones
Agedito dice:
lo del triangle point no la conocía
Agedito dice:
por lo visto en las triangle points peudes acceder a las UVs
Agedito dice:
lo que tendrías que hacer es dado el índice de un punto, buscar en que triangle está ese vértice y ahi sacar las uvs
Agedito dice:
la otra manera , voy a mirarla a hora que es como lo hacía yo
Agedito dice:
ya lo tengo
Agedito dice:
vamos por parte
Agedito dice:
tenemos 3 cosas:
Agedito dice:
por una parte, un puento puede tener varias texturas
Agedito dice:
así que necesitamo el custer o la proyeccion a la que nos referimos
Agedito dice:
luego por otro lado, hablamos de puntos.. pero un punto no tiene una solo unba UV, lo que tiene uvs son los samples
Agedito dice:
pues los puntos titnen una propiedad Samples
Agedito dice:
pues coje uno de los samples
Agedito dice:
y toma el índice de ese sample
Agedito dice:
SelectObj("sphere.polymsh.cls.clUVs.tp");
coord=selection( 0);
uvs=coords.Elements.Array.toArray();
indice=sample.Index;
u=uvs[3*indice];
v=uvs[3*indice+1];
Agedito dice:
en este código, he seleccionado (a mano) la proyección de la textura
Agedito dice:
accedes a los elementos y lo conviertes en array
Agedito dice:
ese array tiene en linea todas las coordenas U,V,W de cada punto
Agedito dice:
así que la U es 3*indice del sample
Agedito dice:
la V. 3*index+1
Agedito dice:
y la W 3*index +2
Agedito dice:
(en vez de la proyección, puedes partir del cluster y acceder a él a traves de coords=clustes.LocalPorpertiers( 0))
-
Bueno, esta noche hemos estado colaborando Cesar y yo, y hemos hecho esto:
agedito color (http://www.sendmefile.com/00626728)
agedito gris (http://www.sendmefile.com/00626729)
Cesar (http://www.sendmefile.com/00626730)
Es usar una textura sobre objetos para hacer cosas, yo creía que se podía hacer sin scripting, pero parece que no (si estamos equivocado, por favor ayuda)
Yo lo he usado para activar unos rigid bodies y Cesar para escalar objetos, pero es lo mismo. Ha sido una noche provechosa, el lunes podré hacer una versión final que en este pc apenas puedo trabajar.
A ver que os parece.
-
El pueblo, unido, jamás será vencido! :P
Ha sido muy provechoso, he aprendido muchísimas cosas nuevas con la charla y el desarrollo en paralelo, fué un verdadero workshop de scripting O0
-
Bravo por los dos. A este paso acabareis enseñando a Softimage Co. cómo hacer las cosas ;)
-
La verdad es que ha sido muy productivo y divertido, creo que es una herramienta muy util para hacer cantidad de efectos de toda índole de manera artística. Y lo mejor, es muy facil de aplicar y usar.
-
Tal vez os sea interesante este tuto:
http://student.vfs.com/~geraldf/TUTORIALS.html
Explica como hacer un set de pinchos que se levantan basado en una imagen animada. (Sin scripting.)
-
Interesante tutorial, no lo conocía.
El problema es que al basarse en deformaciones de la base contenedora de pins el sistema es mucho más limitado, de hecho creo que no serviría para nada más que mover cosas (y eso lo puedes hacer hasta con un mapa de desplazamiento animado), ninguno de los ejemplos que hicimos ese día Agedito o yo podría realizarse siguiendo esta técnica, el potencial de de poder manejar cualquier "evento" en nuestra escena 3D es muy superior a basarse sólo en deformaciones.
De todas formas gracias por el link, fué una lectura interesante O0
-
Tampoco conocía ese enlace, bastante interesante. Coincido con Cesar en que esa técnica está más limitada. Ya tengo el plugin compilado para 64 bits, esta semana lo compilo para 32 bits y lo testeamos.