1 Archivos adjunto(s)
[maxscript] make instance of
Hola. Aquí estoy con un nuevo script. Se trata de una utilidad que humilde una lista de nodos en instancias de otro. Como siempre, va con un video explicativo. El código también esta comentado.
El script es muy sencillo. La funcionalidad principal del script se reduce al uso de la función instancereplace. Lo demás es código para manejar la lista de nodos y poco más.
En cualquier caso, comprendo que a pesar de comentar el código, no está lo suficientemente desmenuzado como para que el que no sepa nada de scripting/programación lo entienda. Espero poder sacar algún día los tutoriales que tenía pensado. Saludos.
-- IMÁGENES ADJUNTAS --
https://foro3d.com/attachment.php?attachmentid=36264
[maxscript] make instance of
Gracias Halfvector. No paras. Un saludo.
[maxscript] make instance of
Tio, genial, y esta comentado de miedo, un pregunta, podría mirarlo y eso, pero estoy de un perro que no veas, lo de GC() del final, el colector de basura, es una función que te has currado tu o ya viene con Maxscript. Mil gracias.
[maxscript] make instance of
Cita:
Lo de GC() del final, el colector de basura, es una función que te has currado tu o ya viene con Maxscript.
Sí, es una función propia de Maxscript.
En realidad, max llama al colector de basura automáticamente cuando la memoria disponible escasea. El hecho de llamarlo explícitamente es para forzar a max a liberar la memoria reservada que ya no se utiliza. Además, cuánta más memoria se tenga que liberar de golpe, más se tardará en hacerlo por lo que con esto también evitamos tirones en la ejecución de la aplicación. Y además veremos que si teníamos dos copias del mismo objeto, al instanciar, enseguida vemos que la memoria consumida se reduce drásticamente.
Por ejemplo, si tengo una tetera de 60 subdivisiones (230.400 polys), ocupa en memoria 27mb. Si hago una copia, ambas teteras ocupan 54 Mb. Si ahora ejecuto la utilidad ésta y hago que una de ellas sea instancia de la otra, el total de memoria consumida por ambas es de 33mb. Si no llamase al colector de basura, esta diferencia de memoria no se vería reflejada al instante.
Pero bueno, como he dicho, no sería estrictamente necesario llamar al colector de basura. Max ya se encargaría de llamarlo si viera que falta memoria. Saludos.
[maxscript] make instance of
Eres un fenómeno, Halfvector.
[maxscript] make instance of
Muchas gracias Halfvector, voy a probarlo.
[maxscript] make instance of
Interesante como practica. Sobre todo, para la gente que está tratando de meterse en esto del Maxscript, revisar el código ajeno es lo mejor para aprender.
Pero la funcionalidad ya existe sin necesidad de ningún script, al menos en la versión 8.
[maxscript] make instance of
Muchas gracias tío, muy útil.
[maxscript] make instance of
Cita:
Pero la funcionalidad ya existe sin necesidad de ningún script, al menos en la versión 8.
La verdad es que, antes de crear el script busqué un poco, pero no encontré esa opción. ¿dónde se encuentra? Saludos.
[maxscript] make instance of
En el tracaviu, seleccione el track object de un objeto y lo copias (como si fuera un controlador, pero lo que realmente copias es el stak de geometría), luego seleccione uno o más tracks object de otros nodos y pegas, y ya está.
[maxscript] make instance of
No sé qué problema ha habido con la base de datos, y mi mensaje anterior no aparecía como el último, sino el de Halfvector. Por eso escribo esto, a ver si así se actualiza.
[maxscript] make instance of
Cita:
En el tracaviu, seleccione el track object de un objeto y lo copias (como si fuera un controlador, pero lo que realmente copias es el stak de geometría), luego seleccione uno o más tracks object de otros nodos y pegas.
Y ya está.
Ah claro. No había caído en el Track View. Entonces me imagino que también se podría en max7. Gracias.
[maxscript] make instance of
Cita:
Ah claro. No había caído en el Track View. Entonces me imagino que también se podría en max7. Gracias.
Pues no. Creo que lo metieron en el ocho, con la idea principalmente de poder sustituir la geometría de los bípedo.
Pero no me hagas mucho caso.
[maxscript] make instance of
Ya lo eh bajado y probado, está muy bien y para mí es realmente útil, siempre quise que el max haga algo parecido, muchas gracias Halfvector.
[maxscript] make instance of
Cita:
Ya lo eh bajado y probado, está muy bien y para mí es realmente útil, siempre quise que el max haga algo parecido, muchas gracias Halfvector.
De nada. Me alegro que sea de utilidad. Saludos.