XSIforum.com

Conversión de datos

0 Usuarios y 1 Visitante están viendo este tema.

Conversión de datos
« en: 10 Febrero 2009, 19:53:42 »
Tengo un nodo con datos de salida "Scalar per Point" y me interesa enchufarlo a otro nodo que sólo acepta "Scalar per Object" ¿Cómo puedo hacer la conversión? ¿Alguien puede darme una idea?  :idiot2:

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Conversión de datos
« Respuesta #1 en: 10 Febrero 2009, 20:37:33 »
Puedes dar alguna pista mas? Que quieres hacer? Mas o menos como es tu icetree? O tal vez un tree de ejemplo para que pueda probar convertirte la informacion?

Tu problema es de contextos. Tu contexto sera "per Point" si tienes un Get Point Position en esa rama del tree.


Re: Conversión de datos
« Respuesta #2 en: 10 Febrero 2009, 20:50:27 »
Bueno al final a base de trastear lo he resuelto de otra manera, pero te expongo un problema similar al que tenía y que aparece con bastante frecuencia:

La escena se compone de:

Objeto A, cuyo tamaño está animado para crecer a lo largo del tiempo, es emisor de PointCloud A

Objetivo:

La posición de los puntos de Objeto A (ObjectA.PointPos) tiene que ser "conductora" de -por ejemplo- la velocidad de las partículas.
Es decir, que a medida que los puntos que componen al objeto varían su posición, debe repercutir en la velocidad de las partículas que son emitidas.

El Problema:

Objeto A es independiente a PointCloud A, por lo que la dificultad está en usar los datos del primero (la posición de los puntos) para ser condicionante en el ICETree del segundo (speed)

Al conectar nodos, me dice que acepta datos (puntos con puntos, objeto con objeto, etc), pero no acepta que esos datos provengan de un objeto diferente al que van destinados. No sé si me explico.

La pregunta es por tanto, ¿cómo puedo colar en el ICETree de las partículas la información de la posición de los puntos del Objeto A?

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Conversión de datos
« Respuesta #3 en: 10 Febrero 2009, 21:25:48 »
Lo siento, pero tienes que ser un poco mas especifico que eso.


Si bien entiendo el efecto que buscas, quieres emitir de un mesh deformado (un personaje con envelope, por ejemplo) y que se emitan particulas de sus puntos segun la velocidad a la que estos viajen? Suena interesante.

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Conversión de datos
« Respuesta #4 en: 10 Febrero 2009, 21:26:31 »
Es que hay muchas formas de solventar los problemas de contexto. :/

Re: Conversión de datos
« Respuesta #5 en: 10 Febrero 2009, 22:30:27 »
Sí, a ver si me explico mejor. Te pongo este ejemplo:

Un átomo con sus electrones girando alrededor de él.

La idea es que si el núcleo atómico aumenta de tamaño, la velocidad de los electrones que van girando, se incremente.

-Huelga decir que el núcleo atómico (llamémosle AtomicSphere) tiene la animación cacheada; es decir, no tiene controladores, shapes, envelopes ni nada. Tan sólo un clip en el mixer con el correspondiente PointCache-

Bien. Los electrones no son geometría; son partículas simuladas con ICE

La pregunta es: ¿de qué manera controlo la velocidad de los electrones para que aumente en función de que AtomicSphere crece?

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Conversión de datos
« Respuesta #6 en: 11 Febrero 2009, 05:11:18 »
Facil! ;)

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Conversión de datos
« Respuesta #7 en: 11 Febrero 2009, 05:14:46 »
Oops! En mi ejemplo cuando mas grande mas lento, pero en fin, seria cuestion de invertir lo que he hecho. XD

Me imagino que sabras trastear lo suficiente para arreglarlo.


Re: Conversión de datos
« Respuesta #8 en: 11 Febrero 2009, 08:13:10 »
Ok, muy bueno!

Aún no he acabado de aprender el concepto de Array y todos los nodos que derivan de él. Creo que era esa la pieza que me faltaba para el puzzle.

Gracias tío.

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Conversión de datos
« Respuesta #9 en: 11 Febrero 2009, 15:13:52 »
Los arrays son mas o menos iguales que en los de cualquier lenguaje de scripting/programacion, si sabes lo que son.

Imaginatelos como listas de valores, que a veces pueden tener un indice junto a cada valor.

Re: Conversión de datos
« Respuesta #10 en: 12 Febrero 2009, 08:13:45 »
Ok, mercy por la explicación. Voy a seguir refrescandome ;)

eduardito

  • *****
  • 3064
  • hola holita
Re: Conversión de datos
« Respuesta #11 en: 12 Febrero 2009, 14:50:15 »
array ={[1],[2],[3],[4],.......}
esto es un array.

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Conversión de datos
« Respuesta #12 en: 12 Febrero 2009, 15:12:30 »
tambien existen:

array = ([0] = "dato", [1] = "otro dato", [3] = "un dato mas", ...)


Re: Conversión de datos
« Respuesta #13 en: 12 Febrero 2009, 19:20:03 »
array ={[1],[2],[3],[4],.......}
esto es un array.
tambien existen:

array = ([0] = "dato", [1] = "otro dato", [3] = "un dato mas", ...)



jeje, esto es surrealista! existen mil formas de definir un array/lista/tupla/diccionarios/etc dependiendo del lenguaje :)

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Conversión de datos
« Respuesta #14 en: 12 Febrero 2009, 19:45:24 »
no pretendia explicar sintaxis -- de eso depende del lenguaje y hay muchas formas -- sino mencionar que en lenguajes de scripting en general existen arrays de un valor, arrays con indice y valor, arrays con valor y valor, ademas de la posibilidad de tener arrays dentro de arrays.


Re: Conversión de datos
« Respuesta #15 en: 13 Febrero 2009, 19:49:54 »
Volviendo al tema, en la captura que pusiste, ví que cogías la esfera y su Out Name lo conectabas al In Name del Get Bounding Box, pero cuando lo hago yo me da error.
Si especifico que sólo quiero los puntos de la esfera (pointposition) me sigue pasando lo mismo "ERROR: the declared attribute reference could not be resolved"

Sospecho que tiene que ver con que he modificado el Compound de Get Bounding Box para añadir el puerto de entrada In Name, pero era necesario.

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Conversión de datos
« Respuesta #16 en: 13 Febrero 2009, 20:00:32 »
Puedes mostrarme una captura de pantalla de tu Get Bounding Box modificado?

Tal vez lo expusistes mal o te olvidastes algun detallito. Aqui me funciona perfecto.

Re: Conversión de datos
« Respuesta #17 en: 14 Febrero 2009, 11:19:41 »
Bueno... el problema se produce de manera tan simple que hasta me da palo poner un screenshot XDD

- Importo a ICE el nodo de la esfera desde el Explorer
- Importo un Get Bounding Box
- Como no puedo conectar el uno con el otro por que GetBoundingBox no tiene Inname, me meto en su compound
- Dentro del compound hay varios nodos siendo uno de ellos otro compound, así que también me meto en él
- Hago un conector de Inname y subo de nivel (X)
- Vuelvo al nivel de compound anterior y hago otro conector Inname para el Inname que ya tenía
- Salgo d ese compound y me encuentro ya en el nivel normal, donde está el ICETree y todo eso. Ahora he hecho que GetBoundingBox* tenga un conector Inname, pero aparece un asterisco* en el nombre del nodo. Interpreto que es por que lo he modificado.
- Al tratar conectar Outname de GetSphere con Inname de GetBoundingBox* es cuando me sale el error.

Tomás

  • O_O
  • *****
  • 4621
  • Mi no entender
Re: Conversión de datos
« Respuesta #18 en: 14 Febrero 2009, 11:32:57 »
alt + f4

Re: Conversión de datos
« Respuesta #19 en: 14 Febrero 2009, 13:45:47 »
XDDDDD

Reconozco que es un poco lioso.
A ver, lo pongo más ilustrativo

La imagen Get1 es tal como está ICE nada más importar ambos nodos. Obsérvese que GetBoundingBox no tiene conectrores de entrada

Con Get2, vemos que ya he modificado es compound (y más concretamente el subcompound) para que haya un Inname. GetBoundingBox ahora se llama GetBoundingBox*

En Get3 vemos que sale un error cuando conecto ambos nodos, cosa que no ocurre en la captura que hizo Alanf

¿Me he explicado al fín? XDD

Dios

  • ***
  • 1622
  • Why, Mr. Anderson?
Re: Conversión de datos
« Respuesta #20 en: 14 Febrero 2009, 18:53:11 »

¿Me he explicado al fín? XDD

Yo con lo de subo de nivel me he perdido... XDDD

alanf

  • *****
  • 6026
  • Pipeline Developer @ Felix & Paul Studios
Re: Conversión de datos
« Respuesta #21 en: 15 Febrero 2009, 08:02:46 »
Te has explicado, pero no entiendo como es que me funciona a mi y no a ti. ???

Aqui tienes mi escena.

Re: Conversión de datos
« Respuesta #22 en: 15 Febrero 2009, 13:59:59 »
Ok. Me la bajo y le echo un ojo.
Remerciments