Bueno, voy a inagurar mi blog. Lo quiero dedicar a todas estas cosas que me gustan a mi, scripting, programación, simulación, rigging...
Como parece que mi ordenador no pensaba disfrutar del 2008 y ha ido al paraiso de silicio donde van todos los ordenadores, empezaré con cosas que solo necesiten texto.
Así que habriremos boca con qué posibilidades tenemos de scripting en XSI, para que sirve y quién debería aprender scripting.
¿Qué es el scripting?Bien, en XSI podemos por ejemplo crear un cubo y moverlo. Para ello necesitaríamos, darle a Get/Primitive/Polygon/Cube y moverlo usando la translación. Esa es la manera directa, hay otra manera, el scripting.
Consiste en decirle al ordenador (mediante un lenguaje de script) que tiene que hacer y el script se encarga de hacerlo por nosotros.
Ventajas
1-Automatización.- Podemos guardar ese script para poder reutilizarlo muchas veces pulsando solo un botón. Está claro que para mover un cubo no haríamos un script,pero.. y si queremos automatizar un proceso bastante largo, por ejemplo.. el rigging de una pierna.
2-Repetición- Procesos que involucran a muchos objetos.- Mover un cubo no es problema, pero y si tenemos que mover 1000 cubos en diferentes cantidades, un script de 3 o 4 lineas nos lo puede hacer por nosotros.
3-Precisión- Muchas veces podemos hacer las cosas a ojo, pero a veces necesitamos precisión. Programando podemos hacer ciertas cosas como nosotros queremos.
4-Reutilización- Simplifica tareas repetitivas
5-Personalización- Te permite incorporar herramientas que XSI no posee.
y algunas otras más...
Posibilidades de scripting en XSIXSI ahora mismo soporta 4 lenguajes: Visual Basic script, Java Script, Python y Perl.
Son lenguajes diferentes, es como hablar inglés, español o chino, cada uno tiene sus características.
Antes de hablar sus características, vamos a explicar algo importante:
-XSI por defecto solo trae VBasic y Jscript.
-Para usar Python o Perl tenemos que instalarlos en nuestro PC.
Otra cosa, estos 4 lenguajes no son propios de XSI, sino externos lo cual es una ventaja:
-Te permite usar tus conocimientos de script para otras cosas (no solo XSI)
-Te permite buscar scripter que conozcan ese lenguaje (y no solo de 3D)
Maya siempre ha defendido MEL (un lenguaje propio de script) pero al final, ha incorporado Python..
VBasicEs un languaje clásico dentro del scripting.
Ventajas Es (por así decirlo) el lenguaje nativo de XSI.
Inconvenientes Algo antiguo
Sintaxis algo incómoda para mi gusto (la sintaxis es algo así como la gramática de un idioma)
JScriptLenguaje bastante cómodo, ya instalado en XSI
VentajasSe hacen scripts de forma rápida
Syntaxis bastante cómoda
InconvenientesCiertas carencias del lenguaje, al incorpora ciertas estructuras de programación
No permite librerías (hablaremos de eso cuando tratemos Python)
PythonLenguaje nuevo, potente y versatil.
VentajasLenguaje moderno (posee ciestras estructuras de programación muy utiles)
Sintaxis cómoda (solo en algunos aspectos)
Gran cantidad de librerías disponible (una librería es un grupo de scripts ya creado por alguien o por ti mismo, que puedes usar dentro de tu script)
Lenguaje usado en otros programas (Houdini, Maya,...)
InconvenientesNo viene instalado con XSI (dificulta el poder pasar un script a otra persona, aunque instalarlo es facil)
Sintaxis algo restrictiva (es cómoda en algunos aspectos, pero en otros te obliga a hacer las cosas solo como Python quiere)
Uso de librerías (esta ventaja también es un inconveniente porque tienes que pasar junto con tu script dichas librerías)
PerlNi idea, no lo he usado nunca. Así que prefiero no hablar de lo que desconozco.
¿Qué uso yo?
Para empezar, scripts cortos los hago en JScript (así que es el que recomiendo para empezar), pero al final siempre hago muchas cosas en Python (sobre todo para tener mis propias librerías de scripts y reutilizarlos)
¿Quién debería saber scripting?En mi opinión, todo el mundo que se dedique profesionalmente a esto, debería de tener unos ligeros conocimientos sobre scripting. (Igual que son buenos de modelado, animación,...)
Eso puede hacerte la vida (la 3D) mucho más facil y no necesitas mucho tiempo para aprender dos o tres cosas básicas pero que solucionan muchas tareas que hacerlas a mano son un mundo.
Límites del scriptingBueno, el scripting tiene sus límites:
- Rápidez (ciertas tareas en scripting son muy lentas)
- Ocultar el código (cualquiera puede ver tú codigo y a veces no quieres que eso suceda)
Para solucionar esto, existe la programación pura y dura (C++). Eso es otro cantar, quizás en próximas canciones... ;-)
Bueno, espero que lo hayais encontrado util, si quereis preguntar cualquier cosa. Estoy a vuestra disposición.