Vous êtes sur la page 1sur 16

Diccionario de TAGS de XML para el sistema SiMMaPS 3D

Antes que nada si ya han manejado XML antes pues esto lo van a encontrar muy familiar, ya que esoty utilizando el XML para disear un medio de hacer scripting en el ambientes3d, si requieren algun tipo de funcionalidad platiquenmela para ver si es improtante implementarla o se puede solucionar de otras maneras, ya que mas o menos cierta gama de interaccin es alcanzable con este primer juego de tags que ya he ido creando ^_^, dicho esto empecemos!.. :)

El XML define las unidades lgicas de segmentacin del paso, denominados de ahora en adelante como sub pasos,

De esta manera para definir un subpaso se hara de la siguiente manera:

para agregar subpasos nuevos, solo que hay q agregar las llaves correspondientes al nuevo subpaso, ejemplo:

Dentro de Cada Subpaso se encuentran definido su contenido que e sloq ue el sistema debe de hacer con el, es decir se definen las animaciones, los elementos de validacion apra activar las aniamciones, si se estan utilizando texturas de flash, si se requeire un reacomodo dinamico de la camara antes de iniciar una animacion, etc.. todo eso mediante el uso de TAGS especificos para lo que se quiere hacer, al momento los TAGS soportados son :

Indice de TAGS
1. Definicion de animaciones: ................................................................. 2 animacion de rotacion y traslacion: ....................................................... 2 animacion de vrtices: ........................................................................ 3 Elementos de Validacin:..................................................................... 3

2. Definicion de 2do Viewport: ................................................................ 3 mostrar 2do Viewport: ........................................................................ 3 3. ocultar/ desocultar meshes: ............................................................... 4 ocultar meshes: ................................................................................. 4 desocultar meshes: ............................................................................ 4 ocultar meshes al Click: ...................................................................... 4 desocultar meshes al Click:.................................................................. 4 ocultar meshes con tiempo: ................................................................. 5 desocultar meshes con tiempo: ............................................................ 5 4. bloqueo de teclado y raton:................................................................. 5 bloquear teclado y ratn: .................................................................... 5 5. Reacomodo de la camara: ................................................................... 6 Reacomodar Camara Manualmente: ...................................................... 6 Reacomodar Camara Automticamente: ................................................ 6 6. Definicion de Tooltips: ........................................................................ 7 tooltip:.............................................................................................. 7 7. UI de flash para equipos e interfaces en planos: ................................. 8 uiFLashEquipo:................................................................................... 8 uiFLashEquipo2 .................................................................................. 9 8. Inclusin de audio: ............................................................................. 9 audio ambiental: ................................................................................ 9 playAudioAmbientalOnClic: ................................................................. 10 pauseAudioAmbientalOnClic:............................................................... 11 playAudioAmbientalByTime:................................................................ 11 pauseAudioAmbientalByTime: ............................................................. 12 sonido paso: ..................................................................................... 12 narracion paso: ................................................................................. 12 narracion IA: .................................................................................... 13 deshabilitar todos los audios del paso: .................................................13 9. ligar pasos entre si: .......................................................................... 13 siguiente paso: ................................................................................. 13

Definicion de animaciones: Al definir animaciones de rotacion y traslacion o de vertices , tambien se deben de definir lso elementos a los q hay que darles clic para ejecutar dichas animaciones

animacion de rotacion y traslacion:

TAG <animationName name="nombre de la animacion" />

Parmetro "nombre de la animacion"

Desc Parametro(s) es el nombre con el que se exporto la animacion desde max

animacion de vrtices:

TAG

Parmetro

Desc Parametro(s) son los nombres con los meshes, que tienen animacion de vrtices en el subpso en el cuals e estan definiendo, si es mas de uno se separan con comas y los nombres son los nombres que tienen en 3dsMAx

<vertexEntity entities="cable_m2h_gancho01, Electricista" />

"cable_m2h_gancho01, Electricista"

Elementos de Validacin:

TAG

Parmetro

Desc Parametro(s) nombres de los meshes a los que hay que darle clic para que las animaciones definidas por los tags anteriores se ejecuten, si es mas de un valor se separan con comas.

<ValidationEntities entities="cable_m2h_gancho01, Box28" />

"cable_m2h_gancho01, Box28"

Definicion de 2do Viewport: Se puede definir un 2do viewport en el sistema, el cual se mostrara en la esquina superior derecha, el nico requisito para usar este TAG, es la de crear una segunda camara en 3dsMax con el nombre "Camera02", este es el nombre que de por si MAx le da pro defecto, pero hayq ue cuidar de no cambiarlo. El sistema automticamente extraer la aniamciond ela segunda camara para que se vea en el 2do Viewport. cuando todas las animaciones e interacciones del subpaso en cuestion hayan acabado, el sistema quitara el 2doViewport, si se desea que el viewport permanesca unos segundo mas se puede especificar mediante el valor de "retardo", el cual esta en milisegundos, 1 seg= 1000 milisegundos.

mostrar 2do Viewport:

TAG

Parmetro

Desc Parametro(s) hay un valor apra activarlo y desactivarlo, porque se puede dejar definido el TAG pero sin que muestr el 2do viewport, simplemente poniendo a 0 el valor de "VALUE", en caso del valor de "retardo", sirve para indicar cuanto tiempo despues de

<segundoViewport value="1" retardo="2000" />

value=1 Activar value=0 Desactiva retardo=0->5000

que acabe el subpaso se va dejar mostrado el 2do Viewport, en un rango de 0 a 5000 milisegundos es lo recomendado porque pues sera mucho tiempo el dejarlo mostrado.

ocultar/ desocultar meshes: Estos TAGS definen que mesh o meshes se quieren ocultar y/o desocultar al cargar el subpaso, es decir antes de cualquier animacion :)

ocultar meshes:

TAG <ocultaEntidades entities="Estructura Principal" />

Parmetro entities="meshes,.."

Desc Parametro(s) entities es = a "nombre de los meshes que se quieren ocultar separados por comas "

desocultar meshes:

TAG <desOcultaEntidades entities="Electricista" />

Parmetro entities="meshes,.."

Desc Parametro(s) entities es = a "nombre de los meshes que se quieren desocultar separados por comas "

ocultar meshes al Click:

TAG <ocultaEntidadesOnclick entities="Electricista" />

Parmetro entities="meshes,.."

Desc Parametro(s) entities es = a "nombre de los meshes que se quieren desocultar separados por comas "

desocultar meshes al Click:

TAG <desOcultaEntidadesOnclick entities="Electricista" />

Parmetro entities="meshes,.."

Desc Parametro(s) entities es = a "nombre de los meshes que se quieren

desocultar separados por comas "

ocultar meshes con tiempo:

TAG

Parmetro

Desc Parametro(s) entities es = a "nombre de los meshes que se quieren desocultar separados por comas " tiempo= a "tiempo dentro de la duracion total de la animacion en el que se va a ocultar el o los objetos"

<ocultarEntidadesByTime entities="Box01" tiempo="2.44" />

entities="meshes,.." tiempo= 2.44

desocultar meshes con tiempo:

TAG

Parmetro

Desc Parametro(s) entities es = a "nombre de los meshes que se quieren desocultar separados por comas " tiempo= a "tiempo dentro de la duracion total de la animacion en el que se va a desocultar el o los objetos"

<desocultarEntidadesByTime entities="Box01" tiempo="3"/>

entities="meshes,.." tiempo= 3

bloqueo de teclado y raton: Los siguientes TAGS, sirven apra a hce run bloqueo paricl o total del teclado y ratn, dependiendo del tag q se seleccione, el usuario solo podra dar clic sobre los objetos de la escena para a ctivar animaciones:

bloquear teclado y ratn:

TAG

Parmetro activar="0" bloqueo desactivado activar="1" bloqueo activado tipo="0" bloquear teclado tipo="1" bloquear raton

Desc Parametro(s) para activar el bloqueo de teclado y raton basta con definir el TAG y establecer el valor de "activar" a 1, si se quiere desactivar el bloqueo, en otro subpaso se establece a 0 o simplemente no se define el TAG

<bloquearTecladoRaton activar="0" tipo="0" />

tipo="2" bloqeuar teclado y ratn tipo="3" No bloquear nada

Reacomodo de la camara: Genera una animacion interpolando la posicion y orientacion actual de la camara con la del inicio de la animacion de la camara del subpaso, la informacion de rotacion y orientacion puede ser sacada del OSM o calculada en valores de quaterniones.

Reacomodar Camara Manualmente:

TAG
<ReacomodarCamara automatico="0"> <puntoFinal> <posX coord="-891.782" /> <posY coord="80" /> <posZ coord="-1349.01" /> </puntoFinal> <orientacionFinal> <rotW coord="0.759889" /> <rotX coord="-0.187201" /> <rotY coord="-0.604443" /> <rotZ coord="-0.148907" /> </orientacionFinal> </ReacomodarCamara>

Parmetro posicion <posX coord="-891.782" /> <posY coord="80" /> <posZ coord="-1349.01" />

Desc Parametro(s)

valores d en donde empieza la animacion del subpaso actual, los valores se rotacion obtienen del OSM generado al exportar la escena desde <rotW coord="0.759889" /> MAx. <rotX coord="-0.187201" /> <rotY coord="-0.604443" /> <rotZ coord="-0.148907" />

Reacomodar Camara Automticamente:

TAG

Parmetro

Desc Parametro(s)

<ReacomodarCamara automatico="1" />

Se puede usar el tag reacomodo automatico por el simplemente quitando los sistema valores de reacomodo y dejando el valor de automatico="1" automatico=1, pero si quieren quitarlo todo este tag reacomodo de la camara s epuede usar la segunda definido por lso puntos de manera tambien: rotacion y posicion automatico="0" <ReacomodarCamara automatico="1" />

Definicion de Tooltips: Se pueden agregar tooltips en forma de indicadores de donde el usuario debe de dar clic en la escena, el tooltip es definido de la siguiente manera:

tooltip:

TAG

Parmetro entities="ent1,ent2,entn.." Son los modelos a los que les van a atachar los indicadores, se peuden poner varios modelos de una vez separados por coma tooltips="cable,enchufe" Son las etiquetas para los modelos declarados en el parametro de "entities", y se deben de poner en el mismo orden en el que se colocaron en dicha etiqueta

Desc Parametro(s)

<tooltipsSubPaso entities="CaimLine1361,Megger_Base" tooltips="cable correcto,megger" tooltipX="0" tooltipY="2" tooltipZ="0" textoY="15" tipoIndicador="1" sizeIndicador="12" sizeTexto="3"/>

tooltipX="0" Indica el offset en X del tooltip tooltipY="2" Indica el offset en Y del tooltip tooltipZ="0" Indica el offset en Z del tooltip textoY="15" Indica el offset en Y del texto con respecto a la posicion del tooltip tipoIndicador="1" sirve para utilizar diferentes tipos de flechas, por ejemplo, para un flecha que apunte a la derecha, Izq, etc.. por el momento no esta terminada esa parte sizeIndicador="12" Es el tamao de la flechita sizeTexto="3"

Se peude usar un Tag para poner varios tooltips o si se quiere controlar algun parmetro de diferentes tooltips de forma individual, entonces se pueden incluir varios tags con los diferentes meshes y los diferentes parmetros del tooltip dentro del mismo subPaso. Los TAGS deben de ser puesto solo dentro de los subPasos

Es el tamao del texto del tooltip

UI de flash para equipos e interfaces en planos: se utiliza este tag cuanod se quiere insertar uan textura de flash en un superficie 3d, hasta el momento solo le he dado soporte a superficies planas, en el caso de uiFLashEquipo, ya que este tipod e textura de flash requiere inyectar coordenadas normalizadas y locales para hacer funcionar los clics sobre de ella. por otro lado tambien tenemos soporte basicamente en cualqueir superficie de texturas, con el tag de uiFLashEquipo2, con esta textura de flash por el momento solo soporto una por paso, y esta peude ser usada en cualquier superficie 3d, su interactividad depende de dar clic a elementos 3d y que tengan animacion en ese momento pro ejemplo switches, o perillas... y el numero de prametros es menor.

uiFLashEquipo:

TAG

Parmetro

Desc Parametro(s)

<uiFlashEquipo plano="plano" planoX="0" planoY="0" planoZ="10.22" planoW="40" planoH="30" SWF="controls.swf" swfW="350" swfH="400" orientacion="1" >

Nombre del plano al que s ele quiere asignar el material de flash Los parmetros se plano="plano" entienden por si mismos,de preferencia posicion X, Y, Z del hay que hacer el archivo plano (coordenadas de proporrcional al tamao 3dsMax) del plano para que no haya problema de que planoX="0" planoY="0" se deforma mucho, por planoZ="10.22" otro lado y hasta el momento solo he Ancho (W) y Alto del podido calcular la Plano (h) traslacion de las coordenadas, para la planoW="40" inyeccion de eventos a planoH="30" la pelicula de flash con peliculas en orientacin Nombre del archivo de Horizontal y Vertical, por flash lo que no funcionar o no lo har de manera SWF="controls.swf" correcto con planos con ciertos angulos, por lo Ancho(W) y Alto (H) de que se recomienda la pelicula de flash poner atencin a este tipod e restriccin swfW="350" cuando se use este TAG swfH="400"

Tipo de Orientacion orientacion="1" 0= Horizontal 1= Vertical


uiFLashEquipo2

Este tag solo se debe usar por el momento solo 1 por paso, y su hubicacion peude ser en cualquier lugar menos dentor de un subpaso, ya que solo se va a usar 1 sola vez. la validacion y otras cosas Nombre del archivo de son responsabilidad del flash <uiFlashEquipo2 plano="Plane05" creador de la pelicula de SWF="controls.swf" SWF="m2hdPanel_20Octubre2009.swf" flash ya que es swfW="1389.7" swfH="811.5" independiente al Ancho(W) y Alto (H) de subPasos="subPaso1,subPaso3" /> sistema solo debe de la pelicula de flash incluir un metodo llamado swfW="1389.7" comandoControl() swfH="811.5" dentro de la pelicula para mantener compatibilidad con el sistema ya que el sistema siempre esta mandandole en que subPaso se encuentra.

Inclusin de audio: Estos TAGS permiten incluir audio para efectos de sonido y audio ambiental dentro del sistema, haciendo que cada subpaso tenga su audio independiente y el audio ambiente funcione durante todo el paso, el formato debe de ser mp3

audio ambiental:

TAG

Parmetro

Desc Parametro(s)

audio : sonido en formato MP3 Stereo

Este tag creo que se entiende solo,vamos a usar MP3 vol: volumen en donde el porque estan comprimidos. El 100% = 1, por lo que los tag se debe de colocar antes valores van en un rango de 0 a del TAG de : 1 <subPasos><subPasos /> <audioAmbiental audio="media/Audio/ 50661.mp3" nombre="naturaleza" vol="0.3" startPaused="1"/> startPaused: 0 quiere decir que no quieres que se Es importante sabr que si se empiece pausado y 1 quiere piensn agregar mas de una decir que el audio en cuanto se canal de audio ambientales, carge se empiece a reproducir. entonces hay que darles un nombre, aunque no los nombre: es el nombre con el queramos controlar despues, que el audio se identifica ene l ya que el sistema, le da el sistema, con la finalidad de nombre de "defaultName" a poderlo reproducir o pausar todos loq ue no tengna un con los TAGS de con. Si no se nombre y esto ocaiona que se incluye la propiedad nombre, sobre escriba el anterior por el entonces el sistema le otorga nuevo audio... el nombre por default: "defaultName"

playAudioAmbientalOnClic:

TAG

Parmetro

Desc Parametro(s)

<playAudioAmbientalOnClic audioAmbiental="naturaleza" />

audioAmbiental : es el o los nombres del o los audios que se quieren controlar, si son varios se usa una coma como separador. Los nombres son los nombres que les dimos a los audios cuando se definieron los audios ambientales

Reproduce el o los audios ambientales previamente especificados por un nombre al Dar clic en un objeto vlido

pauseAudioAmbientalOnClic:

TAG

Parmetro

Desc Parametro(s)

<playAudioAmbientalOnClic audioAmbiental="naturaleza" />

audioAmbiental : es el o los nombres del o los audios que se quieren controlar, si son varios se usa una coma como separador. Los nombres son los nombres que les dimos a los audios cuando se definieron los audios ambientales

Pausa el o los audios ambientales previamente especificados por un nombre al Dar clic en un objeto vlido

playAudioAmbientalByTime:

TAG

Parmetro

Desc Parametro(s)

audioAmbiental : es el o los nombres del o los audios que se quieren controlar, si son varios se usa una coma como separador. Los nombres son los nombres que les dimos a <pauseAudioAmbientalByTime los audios cuando se audioAmbiental="naturaleza" definieron los audios tiempo="0.1" /> ambientales Tiempo: Es el tiempo en que se quiere que se detenga la animacion, el tiempo debe de estar dentro de la longitud de la animacion

Reproduce el o los audios ambientales previamente especificados por un nombre al reproducirse una animacion

pauseAudioAmbientalByTime:

TAG

Parmetro

Desc Parametro(s)

audioAmbiental : es el o los nombres del o los audios que se quieren controlar, si son varios se usa una coma como separador. Los nombres son los nombres que les dimos a <pauseAudioAmbientalByTime los audios cuando se audioAmbiental="naturaleza" definieron los audios tiempo="0.1" /> ambientales Tiempo: Es el tiempo en que se quiere que se detenga la animacion, el tiempo debe de estar dentro de la longitud de la animacion

pausa el o los audios ambientales previamente especificados por un nombre al reproducirse una animacion

sonido paso:

TAG

Parmetro audio : sonido en formato MP3 Stereo

Desc Parametro(s)

<sonidoPaso audio="media/ Audio/14/ vol: volumen en donde el Solicitud_Lic_M14_P6_S1.mp3" 100% = 1, por lo que los vol="0.7"/> valores van en un rango de 0 a1

Este TAG debe ir dentro del TAG del Subpaso..

narracion paso:

TAG

Parmetro

Desc Parametro(s)

<narracionSubPaso audio="media/Audio/ 50661.mp3" vol="0.3" />

audio : sonido en formato MP3 Stereo vol: volumen en donde el 100% = 1, por lo que los valores van en un rango de 0 a 1 Este TAG debe ir dentro del TAG del Subpaso..

narracion IA:

TAG

Parmetro audio : sonido en formato MP3 Stereo vol: volumen en donde el 100% = 1, por lo que los valores van en un rango de 0 a 1

Desc Parametro(s)

<audioIA audio="media/ Audio/50661.mp3" vol="0.3" />

Este TAG debe ir dentro del TAG del Subpaso..

deshabilitar todos los audios del paso:

TAG

Parmetro

Desc Parametro(s)

<disableAllAudios>

Hace que se deshabilite el parseo de los audios declarados en el XML

ligar pasos entre si: Descripcion.....................

siguiente paso:

TAG

Parmetro

Desc Parametro(s)

<siguientePaso> <resourcesPath path="Maniobras/ 100/resources.cfg" /> <xmlPath path="Maniobras/100/ animations.xml" /> <osmPath path="con2CamarasAnimadas.osm" /> </siguientePaso>

Este TAG se debe de incluir despues del TAG de <subPasos />

A continuacion se presenta una XML de ejemplo, los XML deben de guardarse con el nombre animations.xml: <?xml version="1.0"?> <numeroPaso paso="21"> <subPasos> <nombreDelSubPaso subPaso="subPaso1"> <animationName name="SubPaso1" /> <ValidationEntities entities="cable_m2h_gancho01,Box28" /> <vertexEntity entities="cable_m2h_gancho01,Electricista" /> <ocultaEntidades entities="Estructura Principal" /> <segundoViewport value="1" retardo="2000" /> <bloquearTecladoRaton value="0" /> <ReacomodarCamara automatico="1" /> </nombreDelSubPaso> <nombreDelSubPaso subPaso="subPaso2"> <animationName name="SubPaso2" /> <ocultaEntidades entities="cable_m2h_gancho01,Box28" /> <desOcultaEntidades entities="Electricista" /> <ValidationEntities entities="cable_rojo_azul01" /> <bloquearTecladoRaton value="1" /> <vertexEntity entities="cable_rojo_azul01" /> <ReacomodarCamara automatico="0"> <puntoFinal> <posX coord="-983.581" /> <posY coord="80" /> <posZ coord="-1317.84" /> </puntoFinal> <orientacionFinal> <rotW coord="0.822437" /> <rotX coord="-0.125476" /> <rotY coord="-0.548498" /> <rotZ coord="-0.0836821" />

</orientacionFinal> </ReacomodarCamara> </nombreDelSubPaso> <nombreDelSubPaso subPaso="subPaso3"> <animationName name="SubPaso3" /> <ValidationEntities entities="m2h_boton_largo01" /> </nombreDelSubPaso> <nombreDelSubPaso subPaso="subPaso4"> <animationName name="SubPaso4" /> <ValidationEntities entities="cable_boton_seguridad01,Object18_segu01" /> <vertexEntity entities="cable_boton_seguridad01,Electricista" /> </nombreDelSubPaso><nombreDelSubPaso subPaso="subPaso5"> <animationName name="SubPaso5" /> <ValidationEntities entities="cable3_m2h_interrup,Helix07_cable_comando" /> <vertexEntity entities="Helix07_cable_comando,Electricista1" /> </nombreDelSubPaso> <nombreDelSubPaso subPaso="subPaso6"> <animationName name="SubPaso6" /> <ValidationEntities entities="cable3_m2h_interrup01,Object08_boton" /> <vertexEntity entities="Electricista,Electricista1" /> <segundoViewport value="1" retardo="2000" /> </nombreDelSubPaso> </subPasos>

<tooltipsSubPaso entities="CaimLine1361" tooltips="cable correcto" tooltipX="0" tooltipY="2" tooltipZ="0" textoY="5" tipoIndicador="1" sizeIndicador="4" sizeTexto="1"/>

-------------------------------------------------------------------------------------<ocultarEntidadesByTime entities="Box01" tiempo="2.44" precision="0.10" /> <desocultarEntidadesByTime entities="Box01" tiempo="3" precision="0.10" /> -------------------------------------------------------------------------------------<audioAmbiental audio="media/Audio/50661.wav" vol="0.3" /> <--afuera de los subpasos <sonidoPaso audio="media/Audio/sColocar2.mp3" /> <----dentro del subpaso