XSIforum.com

Foros 3D => Aprendiendo-Tutoriales => Autodesk Softimage => T.Simulación y Scripting => Mensaje iniciado por: agedito en 27 Octubre 2005, 14:18:38

Título: Tutorial de creación de Eventos en JScript
Publicado por: agedito en 27 Octubre 2005, 14:18:38
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 Tutorial
Pues 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.  ;D


¿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 obra

Paso 1 - Lo primero es cargar el PlugIn Manager, para ello vamos al menú File\PlugIn Manager..

(http://www.xsiforum.com/ftp/tutos/agedito/1menu3ki.jpg)

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

(http://www.xsiforum.com/ftp/tutos/agedito/2pluginmanager0zi.jpg)

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)

(http://www.xsiforum.com/ftp/tutos/agedito/3nombre5vq.jpg)

Paso 4 - En la pestaña Event Definition activamos las casillas siOnEndNewScene y siOnStartup
(Así crearemos dos eventos, ya veremos el porqué)

(http://www.xsiforum.com/ftp/tutos/agedito/4eventos5sn.jpg)

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
Código: [Seleccionar]
function siOnEndNewSceneEvent_OnEvent( ctxt ) y un poquito más abajo pondrá: 

Código: [Seleccionar]
// 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.

Código: [Seleccionar]
SetValue("Scene_Root.AmbientLighting.ambience.red", 0, null);
SetValue("Scene_Root.AmbientLighting.ambience.green", 0, null);
SetValue("Scene_Root.AmbientLighting.ambience.blue", 0, null);


(http://www.xsiforum.com/ftp/tutos/agedito/5codigonewscene6nk.jpg)

Paso 6 - Un poquito más abajo aparece
Código: [Seleccionar]
function siOnStartupEvent_OnEvent( ctxt )Buscamos la linea 
Código: [Seleccionar]
// TODO: Put your code here. que hay más abajo y la sustituimos por:

Código: [Seleccionar]
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.

(http://www.xsiforum.com/ftp/tutos/agedito/6codigostartup0fw.jpg)

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.

(http://www.xsiforum.com/ftp/tutos/agedito/7luzambiente7dq.jpg)
Epílogo  :D

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.  O0

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.
Título: Re: Tutorial de creación de Eventos en JScript
Publicado por: eduardito en 27 Octubre 2005, 16:43:28
muy bien , me gusta, algo de programacion. O0
Título: Re: Tutorial de creación de Eventos en JScript
Publicado por: ecentinela en 27 Octubre 2005, 17:44:08
Gracias por el tuto!
Las imagenes son correctas, lo que pasa es que para verlas en grande hay que ir abriendo cada una y eso es una lata :P
Título: Re: Tutorial de creación de Eventos en JScript
Publicado por: Sumatra en 27 Octubre 2005, 17:55:58
Bravo por el tuto y por la temática. Un 10
Título: Re: Tutorial de creación de Eventos en JScript
Publicado por: Tomás en 27 Octubre 2005, 18:07:52
Muchas gracias, para no perderlas las subo al servidor y lo modifico.

Saludos
Título: Re: Tutorial de creación de Eventos en JScript
Publicado por: Rashek en 27 Octubre 2005, 19:13:46
Muy buen tuto! una rama que desconocia de xsi :P Esto habre muchas posibilidades de personalizacion y configuracion ...

Gracias ;)
Título: Re: Tutorial de creación de Eventos en JScript
Publicado por: Epar en 27 Octubre 2005, 19:14:49
Muchas gracias.
..y muy útil el ejemplo!

O0