XSIforum.com

Script para distribuir objetos a lo largo de uns superficie

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

agedito

  • ***
  • 1524
  • ¡¡Yo lo que quiero es milonguear!!
Script para distribuir objetos a lo largo de uns superficie
« en: 26 Noviembre 2005, 14:55:23 »
Vale, siguiendo la sugerencia de Rashek  (http://www.xsiforum.com/forum/index.php/topic,2419.0.html) estoy creando un script para distribuir un objeto a lo largo de la superficie de otro objeto.

Me puse en contacto con el desarrollador del script que mencionaba Rashek para ver si lo había terminada y me dijo que no, que lo tenía parado y que no le importaba que me pusiese con él.

Ya está más o menos hecho pero me gustaría que Rashek me definiese exactamente que es lo que quiere para que el script más o menos se ajuste a lo que él quería. Lo hago público para que lo demás también hagais sugerencias.

Por ahora, el script (aun tengo que subirlo a la web) distribuye los objetos sobre una superficie y permite hacerlo usando un mapa de pesos para la densidad y otro para el escalado. Me quedan solo unos pequeños flecos de implementación pero funciona, solo me gustaria que Rashek (y quien lo desee) propusiesen como quiere que funcione el script para no tener que reescribir mucho :)

Una vez que suba el script y lo probeis lo haré compilado (en C++)  para que sea mucho más rápido.

Re: Script para distribuir objetos a lo largo de uns superficie
« Respuesta #1 en: 26 Noviembre 2005, 15:15:13 »
Pues lo veo genial, pero ¿seguro que esa herramienta no existe ya?
Si tengo una planta y la quiero distribuir por un suelo, hago un randomize poniendo el valor de la distribuciñon sobre el eje que me interesa. Por ejemplo:
X = r*15
Z = r*10

agedito

  • ***
  • 1524
  • ¡¡Yo lo que quiero es milonguear!!
Re: Script para distribuir objetos a lo largo de uns superficie
« Respuesta #2 en: 26 Noviembre 2005, 15:53:53 »
Estuve mirando, y existen pero no que el escalado sea controlado por un weightmap. Es sencillo hacerlo sin script pero como Rashek me lo pidio pues me puse con ello. Lo que quiero implementar y eso sí que no lo he visto hecho es que la distribución no sea solo uniforme, sino meter otras distribuciones, eso está bien ara colocar personas en un sitio. (yo en este caso estoy a las ordenes de Rashek :-p)

Rashek

  • ***
  • 3056
  • www.goldpiece.net
Re: Script para distribuir objetos a lo largo de uns superficie
« Respuesta #3 en: 26 Noviembre 2005, 16:03:58 »
No sumatra, no esta, imagina que lo que tienes es un monte, en vez de un plano, como lo haces?

Agedito, la principal funcion para mi seria que se pudiesen distribuir plumas por toda una geometria, y definir mediante un mapa de pesos, donde aparencen las instancias y donde no, y con otro el escalado de cada una, luego estaria bien que tuviese algunos controladores u opciones para controlar la orientacion respecto a las normales del objeto y que cuando el objeto se subdivida, se ajuste a la malla. Aller trabajando me di cuenta de otra gran carencia que me agilizaria muuuuuucho el trabajo y no creo que sea muy complicada, te explico.

Yo tengo una fachada, y tengo una ventana con sus cristales que es un model, la he instanciado muchas veces y he ido colocando cada una de estas instancias en el hueco de las ventanas, ok. El caso, es que ahora tengo una persiana (tambien como model para poder instanciar) y lo que quiero, es, poder decirle, crear una instancia de la persiana en la posicion de cada una de las instancias de la ventana y luego, con unas cuantas opciones, controlar el offset para moverla un poco hacia delante y demas... no creo que sea muy dificil pero es algo que agilizaria enormemente el trabajo y pude ir implementado como otra opcion del disperser ;)

eduardito

  • *****
  • 3064
  • hola holita
Re: Script para distribuir objetos a lo largo de uns superficie
« Respuesta #4 en: 26 Noviembre 2005, 16:18:41 »
esta bien la idea, ademas daria la opcion de un randomize ( aleatorio) sin weightmap.

otra cosa, darle la opcion de que los objetos se coloquen en direccion a las normales del objeto donde van a ir, o bien en la direccion que tu eliges en refrencia al propio objeto(x,y,z).

agedito

  • ***
  • 1524
  • ¡¡Yo lo que quiero es milonguear!!
Re: Script para distribuir objetos a lo largo de uns superficie
« Respuesta #5 en: 26 Noviembre 2005, 16:21:41 »
Respecto al script de dispersar, para lo que quieres creo que el para el lunes subiré una versión (los fines de semana no programo :p)
De todas formas, te aviso el script es una versión preliminar para que vaya bien del todo mejor es hacerlo compilado, pero me es más rápido hacer el script, probarlo y una vez que funcione pasarlo a C++.

Lo de las ventanas es un problema parecido pero distinto, también hice un mini script para MAX que se podía usar para esas cosas.  De todas formas, merece la pena crearte un objeto ventana con custom parameter sets para definir su apertura de los cristales, persianas, etc... lo vi en un tutorial de 3dquakers, lo mejoré un poco y la verdad es que es muy reutilizable.  La semana que viene subiré esos dos scripts y alguna sorpresilla más ;)

Cuando iba a publicar mi respuesta, eduardito publicó la suya. Esos casos los tengo ya contemplados ;)

eduardito

  • *****
  • 3064
  • hola holita
Re: Script para distribuir objetos a lo largo de uns superficie
« Respuesta #6 en: 26 Noviembre 2005, 16:44:48 »
una cosa, si pretendes que esos scripts sean publicos, libres y modificables, añade alguna linea definiendolos como GPL, no sea que alguien se los adjudique como propios.

Rashek

  • ***
  • 3056
  • www.goldpiece.net
Re: Script para distribuir objetos a lo largo de uns superficie
« Respuesta #7 en: 26 Noviembre 2005, 17:06:51 »
La idea es poder colocar cosas en sitios con mucha rapidez, ya sean hojas en una rama, plumas en un pollo, ventanas o persianas en una fachada o piedras varias en un tereno irregular ;) agilizaria un monton :P

agedito

  • ***
  • 1524
  • ¡¡Yo lo que quiero es milonguear!!
Re: Script para distribuir objetos a lo largo de uns superficie
« Respuesta #8 en: 27 Noviembre 2005, 00:09:33 »
Pues no es mala idea Eduardito, aunque la verdad es que estos scripts son más o menos sencillos y no me importa que me los quiten. Pero sí que a partir de ahora lo pondré. (Revisaré el código de los antiguos para añadirlo)

Muchas gracias por la sugerencia, me parece muy acertada.
« Última modificación: 27 Noviembre 2005, 00:16:30 por agedito »

agedito

  • ***
  • 1524
  • ¡¡Yo lo que quiero es milonguear!!
Re: Script para distribuir objetos a lo largo de uns superficie
« Respuesta #9 en: 30 Noviembre 2005, 09:50:08 »
Bueno, el script va en marcha. Solo me queda la interfaz y el que se ajuste a una superficie subdividida.
Esta semana estoy liado y no estoy apenas programando, pero a ver si puedo encontrar un hueco para terminar una versión que podais probar.

Os pongo una imagen de lo que hace, le he asignado como escalado del objeto el mismo mapa de pesos que uso en un deformador Push. También puede ajustarse a caras y aristas

A ver si lo termino para ponerme a compilarlo.