Bueno, llevaba tiempo pensando en publicar este tutorial, pero entre pitos y flautas nunca me pusé. Ahora con el XSI 5.0 probando las novedades pues me he puesto mano a la obra
Este tutorial trata de como crear Eventos:
Objetivos del TutorialPues sobre todo que se le pierda un poco de miedo a la programación que es una herramienta muy poderosa.
Aprender a usar un poco el PlugIn Manager de XSI 5.0 que es una novedad muy muy jugosa.
¿Qué es un evento?Un evento es una acción (cargar una escena, cambiar la selección, iniciar XSI...) y XSI nos permite añadir un script a algunos eventos, de forma que se ejecute automáticamente cuando esto sucede.
¿Para qué sirve?Para muchas cosas, aquí lo voy a utilizar para que nuestra escena se inicialicen siempre con la luz ambiental a 0. Pero los usos son múltiples.
¿Conocimientos?Para seguir este tutorial no hace falta saber script (si se sabe muchísimo mejor claro está), solo con saber copiar y pegar vale
Manos a la obraPaso 1 - Lo primero es cargar el PlugIn Manager, para ello vamos al menú File\PlugIn Manager..
Paso 2 - En la pestaña Tree, pulsamos con el botón derecho sobre la carpeta PlugIn del workgroup o del User donde queremos instalarlo. En el menú que nos sale pulsamos New\Event
Paso 3 - En la ventana que nos sale seleccionamos como script language JScript Language. Si queremos cambiamos el Name y el FileName (los nombres del script y del fichero)
Paso 4 - En la pestaña Event Definition activamos las casillas siOnEndNewScene y siOnStartup
(Así crearemos dos eventos, ya veremos el porqué)
Paso 5 - Pulsamos el botón Generate Code. Nos saldrá nuestro fichero JScript. No nos asustemos, solo vamos a modificar unas pocas lineas.
La primera parte del script se encarga de instalar los eventos automáticamente, esta zona no la tocaremos para nada.
Buscamos la linea de texto
function siOnEndNewSceneEvent_OnEvent( ctxt )
y un poquito más abajo pondrá:
// TODO: Put your code here.
Bien aquí es donde escribiremos nuestro script, todo lo que escribamos aquí se ejecutará automáticamente cuando creemos una nueva escena. Nosotros pondremos estas tres lineas, que lo que hacen es poner las componentes r,g,b de la luz ambiental a 0.
SetValue("Scene_Root.AmbientLighting.ambience.red", 0, null);
SetValue("Scene_Root.AmbientLighting.ambience.green", 0, null);
SetValue("Scene_Root.AmbientLighting.ambience.blue", 0, null);
Paso 6 - Un poquito más abajo aparece
function siOnStartupEvent_OnEvent( ctxt )
Buscamos la linea
// TODO: Put your code here.
que hay más abajo y la sustituimos por:
NewScene(null,null);
Esta linea tiene una explicación, XSI cuando arranca no considera que ha creado una escena nueva, por lo que no pondría la luz ambiental a 0, así que lo que hacemos es decirle a XSI que cuando arranque cree una escena nueva, y entonces al crear la escena nueva automáticamente sí se pone la luz ambiental a 0.
Paso 7 - Cerramos el fichero de script (si nos pregunta guardamos los cambios). A partir de ahora cuando iniciemos XSI o creemos una nueva escena tendremos la luz ambiental a 0.
Epílogo Obviamente, en vez de la luz ambiental podeis hacer que se ejecute cualquer cosa, si no teneis idea de script simplemente con copiar las lineas que se generan en el script editor podeis ver los comandos que sirven para algunas cosillas
Espero que no haya quedado muy enrevesado y que os sirva para algo, si quereis preguntar lo que sea a vuestra entera disposición.
P.D: Si las imágenes son muy chicas decidmelo y pongo las originales que son de mayor resolución (no quería que pesara mucho el mensaje)
P.D.2: Olé por Softimage por las novedades que ha añadido para la programación, muy acertadas.
P.D.3: Si el moderador cree que es mejor subir la imágenes al servidor en vez de a ImageShack por mí perfecto.