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
_________________________
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))