1 Archivos adjunto(s)
[maxscript] lay down trees
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 --
https://foro3d.com/attachment.php?attachmentid=36079
[maxscript] lay down trees
Muchas gracias. :aplause.
[maxscript] lay down trees
Que crack. Gracias half Vector.
[maxscript] lay down trees
Muy útil sí señor, he leído un poco por encima el código y esta todo muy bien explicado, sigue así.
[maxscript] lay down trees
[maxscript] lay down trees
Gracias half, estas cosas se agradecen, voy a echarle un ojo y a intentar entenderlo. Por cierto, no s algún libro de metodología de programación que se pueda orientar al Maxscript, si cuela cuela. Saludos.
[maxscript] lay down trees
Gracias.
Cita:
Por cierto, no s algún libro de metodología de programación que se pueda orientar al Maxscript, si cuela cuela.
En teoría cualquier libro sobre metodología valdría, pero la verdad es que no sabría aconsejarte uno, entre otras cosas porque nunca he leído uno (aunque a veces pienso que no me vendría mal). Saludos.
[maxscript] lay down trees
[maxscript] lay down trees
Gracias, muy buen material este.
[maxscript] lay down trees
Que grande eres tío, ¿para cuando unas half-Vector tolsí con UI de max y esas cosas.
[maxscript] lay down trees
Cita:
¿Para cuando unas half-Vector tolsí con UI de max y esas cosas.
Lo he pensado y tal vez empiece a juntar todo lo que tengo en un pack de herramientas.
Aparte de los scripts también he creado varias extensiones para Maxscript en C++. Por ejemplo, parece que Maxscript no tiene las típicas funciones min, max y Clamp, así que, he creado funciones para eso.
También tengo las extensiones que permiten acceder al nodo de un udeflector (que con Maxscript no se puede) o, por ejemplo, una extensión para eliminar el visibility track (un usuario de CGtalk preguntaba por eso el otro día), que con Maxscript tampoco parece poderse. Saludos.
[maxscript] lay down trees
Vaya gracias Halfvector: la verdad que no pude descargarlo sin antes dar las gracias por este material tan bueno y tú aporte en el foro con la programación.
[maxscript] lay down trees
Funcionaría para posicionar coches? Es decir, que las 4 ruedas se colocaran bien sobre una vía inclinada, por ejemplo. Saludos y gracias.
[maxscript] lay down trees
10000 de gracias. Saludos.
[maxscript] lay down trees
[maxscript] lay down trees
Cita:
Funcionaría para posicionar coches? Es decir, que las 4 ruedas se colocaran bien sobre una vía inclinada, por ejemplo.
En principio no, ya que el objeto que se proyecta sobre el terreno, lo hace verticalemente. Es decir, no se modifica su orientación. Pero se podría modificar para que sí lo hiciera. Luego si tengo un rato lo modifico y le pongo esa opción. Aunque si el terreno es muy irregular, se notara que las ruedas no quedan justo sobre el terreno. Saludos.
[maxscript] lay down trees
Sería la pi leche Halfvector. Pedazo script que quedaría. Un saludo.
[maxscript] lay down trees
Ya sé que este mensaje tiene tiempo, pero acabo de situar sobre un terreno exactamente 5693 árboles de una tacada y quería dar las gracias a Halfvector por sus contribuciones, si es que todavía asoma por aquí.
Muchas gracias.
[maxscript] lay down trees
No me acordaba de este script, yo hace no mucho hice uno muy parecido para XSI y me hubiera venido muy bien estudiar la lógica tras este antes. Ahora lo bajo y me lo estudio. Gracias Halfvector.
[maxscript] lay down trees
Cita:
Ya sé que este mensaje tiene tiempo, pero acabo de situar sobre un terreno exactamente 5693 árboles de una tacada y quería dar las gracias a Halfvector por sus contribuciones, si es que todavía asoma por aquí.
Muchas gracias.
Sí que me asomo de cuando en cuando.
Me alegro que te haya facilitado el trabajo. Saludos.