Hola. Hace un rato he leído este hilo en el que se pedía una solución para posicionar unos árboles sobre un terreno de forma automática. Y entonces me he acordado de unas funciones que hice hace un tiempo para experimentar con Maxscript. Las funciones las tenía por ahí dispersas en mí carpeta de pruebas de Maxscript (ahora mismo tengo cerca de 80 scripts experimentales).
Así que he pensado que sería interesante juntar esas funciones en una utilidad que hace eso. Teniendo los árboles (o cualquier objeto) sobre un terreno (o conjunto de objetos que forman el terreno), posiciona dichos árboles a la altura correcta.
De esta forma continuo sacando scripts que puedan ayudar a la gente a aprender Maxscript (a falta de la serie de tutoriales escritos). Así también veis la de tiempo que os puede ahorrar el uso de Maxscript en ciertas tareas.
En fin, el código está bien comentado (creo). Este es más largo que la utilidad que saqué recientemente. En este caso consta de unas 200 líneas de código. Junto con el script he puesto un video demostrativo y la escena (formato de 3ds Max 8.0) que utilizo en el video.
Tened en cuenta que el método se basa en el trazado de rayos y en la detección de colisiones de los mismos con el entorno, así que, dependiendo de la complejidad de la escena (número de árboles y objetos que forman el terreno y número de polígonos), su ejecución puede llegar a durar bastante.
Espero que os sea de utilidad. Saludos.
-- IMÁGENES ADJUNTAS --
![]()