Anfy 3d Light - Copyright (C) por F. Ciucci & A. Fasce 1998-2000 INTRODUCCION. Este applet anima escenas 3D en tiempo real con sombras, mapas de texturas, transparencias, movimientos borrosos y efectos de niebla. Anfy 3D es una serie de applets los cuales trabajan junto con el plugin de 3D Studio Max para visualizar escenas 3D Max's. Nosotros proveemos Anfy 3D versión completa en nuestro sitio: http://www.anfyteam.com/panfy3d.html Usted necesita la versión completa para importar sus objetos originales. Para los principiantes en 3D, hemos entregado listos unos objetos (esfera, cono, hoja ondeante, laberinto) en esta versión. Así, usted puede manipular estos objetos sin necesidad de modelar en 3D. NOTA: Si usted está interesado en una visualización profesional 3D, compruebe la versión completa de Anfy 3D. Incluso si usted no es un especialista en 3D,nosotros podemos producir escenas 3D por usted. Esto puede incluir logos de la compañía en 3D, banners, etc. ************************************************************************** ARCHIVOS NECESARIOS Además de las imágenes texturizadas que usted especifique, necesita subirlos siguientes archivos .class: Para el rendimiento del motor Anfy 3D: anfy3d.class anfy3ds0.class anfy3ds1.class Lware.class anfy.class Para objetos: Box01.class Cone01.class Sphere01.class Sphere02.class Opcionalmente, usted quizás quiera subir anfy3d.jar para un cargado rápido en los navegadores recientes. NOTA: Usted siempre debe subir los archivos .class, incluso si escoge utilizar el archivo .jar De otra manera, los visitantes que utilicen navegadores antiguos no podrán ver el applet. ************************************************************************** EJEMPLO Inserte las etiquetas en su documento Html como se muestra para agregar el applet a su página (Comentarios después del punto y coma ";"son explicaciones del código y aceptan valores. No son parte del lenguaje applet): ; Código de registro (para usuarios registrados) ; Enlace URL opcional cuando el applet es "clickeado" ; Página enlazada abierta en un nuevo marco? ; Nombre del nuevo marco para el enlace ; Mensaje en la barra de estado ; Calculo interno del ancho ; Calculo interno del alto ; Textura 0 (Imagen GIF 128x128) ; Textura 1 (Imagen GIF 128x128) ; Textura 2 (Imagen GIF 128x128) ; Phong light (Imagen GIF 128x128) ; Gphong light (Imagen GIF 128x128) ; Modo interactivo ("YES", "NO") ; Script (0 .. 1) 0 = OFF ; Sombra (0 .. 2) 0 = OFF ; Espejo (0 .. 1) 0 = OFFa ; Bolas de luz (0 .. 6) ; Objeto principal (0 .. 2) ; Rendimiento principal (0 .. 14) ; textura principal (0 .. 2) ; X rotacion (0.0 .. 2.0) ; Y rotación (0.0 .. 2.0) ; Z rotacion (0.0 .. 2.0) ; Altura de la lámina ; Ancho de la lámina ; Ancho de las subdivisiones de la lámina ; Alto de las subdivisiones de la lámina ; Agregar animación a la lámina (0 .. 3.14) ; Amplitud de la onda de la lámina ; Período de altura de la lámina ; Período de anchura de la lámina ; Función de anda de la lámina (0 .. 2) ; Animación de luz en script 1 ("YES", "NO") ; Objetos secundarios (0 .. 3) ; Rendimiento objetos secundarios (0 .. 14) ; Textura objetos secundarios (0 .. 2) ; Tipo de fondo (0 .. 2) ; Rendimiento del fondo (0 .. 14) ; Textura del fondo (0 .. 2) ; Componente rojo del fondo ; Componente verde del fondo ; Componente azul del fondo ; Niebla (0 .. 1) ; Distancia de la salida de la niebla (0 .. 1000) ; Distancia de parada de la niebla (0 .. 1000) ; Movimiento borroso (0 .. 1) ; Imagen opcional sobre el applet ; Posición X de la imagen que cubre el applet ; Posición Y de la imagen que cubre el applet ; Asignación de memoria de retraso ; Prioridad de tareas (1..10) ; Min. milisegundos/marco para la sincronización Sorry, your browser doesn't support Java. ; Mensaje en navegadores sin Compatibilidad Java ; Etiqueta del fin del applet **************************************************************** DESCRIPCIÓN DE PARAMETROS. Las siguientes instrucciones describen el significado de los parámetros disponibles para este applet: [Especificación del applet y su tamaño] Aquí, usted puede especificar el nombre del applet y su alto y ancho en pixels. Ya que, este applet distingue el tamaño de la imagen internamente calculado (ICIS) y el actual tamaño resultante de la imagen (OIS), usted quizás quiera poner el tamaño interno de la imagen más chico que el tamaño resultante. ; Calculo interno del ancho ; Calculo interno del alto En este ejemplo, ICIS = OIS. Si usted escoge poner ICIS < OIS, el resultado es una imagen expandida. Esto reduce el calculo requerido [Parámetros de créditos] Intentar cambiar los parámetros de créditos desactivará el applet. [Parámetros de registro] ; Código de registro Para activar el parámetro de registro, lea las notas de registro de shareware En el parámetro "regcode", ponga el código de registro que usted nos compro. Si el código es correcto y el applet se esta ejecutando desde un dominio registrado ,el parámetro "link" estará habilitado y el applet estará enlazado a la URL asociado cuando se haga un click sobre el. ; Enlace URL opcional ; Página enlazada abierta en un nuevo marco? Si usted pone "regnewframe" en "YES", usted puede especificar un marco específico para el reglink: "_blank" : Para cargar el enlace en una nueva ventana en blanco y sin nombre en su navegador. "_self" : Para cargar el enlace en la misma ventana que ocupa el applet. "_parent" : Para cargar el enlace en el FRAMESET padre. "_top" : Para cargar el enlace en el cuerpo superior de la ventana. ; Nombre del nuevo marco para el enlace También puedes poner un nombre propio para el marco, tal como "mimarco1". ; Mensaje barra de estado Aquí, usted pone el mensaje de la barra de estado, el cual es visualizado al final de la ventana del navegador, cuando el mouse esta encima del applet. [Texturas] ; Calculo interno del ancho ; Calculo interno del alto ; Textura 0 (Imagen GIF 128x128) ; Textura 1 (Imagen GIF 128x128) ; Textura 2 (Imagen GIF 128x128) ; Phong light (Imagen GIF 128x128) ; Gphong light (Imagen GIF 128x128) Cada una de las texturas "texture0", "texture1", "texture2", "phongmap", "gaussmap" deben dirijirse a una imagen GIF de 64x64 o 128x128. Ningún otro tamaño o formato de imagen es aceptado. "texture0", "texture1", "texture2" son mapas de texturas de uso general Si usted necesita solo una textura,use "texture0" y anule los parámetros "texture1" y "texture2", asi estas texturas no serán cargadas. Si usted necesita 2 texturas, use "texture0" y "texture1". Si usted necesita 3 texturas, use "texture0", "texture1" y "texture2". "phongmap" es una textura especial para obtener en tiempo real el rendimiento phong. Si usted no lo usa, anule este parámetro y la textura no será cargada NOTA: si usted habilita lightballs, la textura phongmap es requerida, incluso si phong no esta seleccionada "gaussmap" es una textura especial usada para obtener el rendimiento Gaussian phong. Si usted no lo usa, simplemente anule este parámetro [Modo interactivo] ; Modo interactivo ("YES", "NO") Si usted pone el parámetro "interactive" en "YES", la rotación de los objetos puede ser controlada con el puntero del mouse [Selección de un Script] El parámetro más importante es "script": con un valor de "0" usted escoge el script 0, con un valor de "1" usted escoge el script 1. Cada scripts tiene sus propios parámetros: ------------------------------ - SCRIPT 0: OBJETOS ROTATORIOS - ------------------------------ Usted puede escoger el objeto principal con el parámetro "main_type" como sigue: main_type : 0 esfera (requiere sphere01.class) 1 lámina 2 cono (requiere cone01.class) Como objetos de fondo, tenemos: main_render: técnica de rendimiento (0 .. 14) main_texture: textura del objeto principal (0 = texture0, 1 = texture1 etc.) 0 Plain texture 1 Gouraud shading 2 Phong shading ** NOTA: "phongmap" debe ser cargado 3 Gaussian phong shading ** NOTA: "gaussmap" debe ser cargado 4 Transparent (light) 5 Transparent (medium) 6 Liquid texture 7 Liquid gouraud shading 8 Liquid phong shading ** NOTA: "phongmap" debe ser cargado 9 Liquid transparent 10 Reflects mirror view ** NOTA: textura es ignorada, un espejo debe existir 11 Particles ** NOTA: textura es ignorada 12 Darker plain texture 13 Metal shading ** NOTA: "phongmap" debe ser cargada 14 Environment mapping Si usted a seleccionado el objeto lámina, aqui están los parámetros de la lámina: sheet_x : Altura sheet_y : Ancho sheet_numx: Ancho de las subdivisiones de la lámina sheet_numy: Altura de las subdivisiones de la lámina sheet_add: Valor para agregar animación (0 .. 3.14) sheet_h: Amplitud de la onda de la lámina sheet_period1: Período de altura de la lámina, en radianes (3.14 = 1 periodo) sheet_period2: Período de ancho de la lámina, en radianes (3.14 = 1 periodo) sheet_function: Funcion usada para calcular la ondulación (0 .. 2) Usted puede cambiar la velocidad de rotación de los objetos con estos parámetros: rot_x : incremento de rotación en el eje X rot_y : " " " " " y rot_z : " " " " " z Usted puede optativamente habilitar objetos pequeños secundarios con el parámetro "child_type": child_type : 0 Apagado 1 Toroids 2 esferas estiradas (requiere sphere01.class) 3 Conos (requiere cone01.class) Como objetos principales, tenemos: child_render: técnica de rendimiento (0 .. 14) child_texture: textura para los objetos secundarios (0 = texture0, 1 = texture1 etc.) Puede opcionalmente habilitar una sombra proyectada, pero entonces, el rendimiento será forzado a usar mapas de texturas planas. El parámetro es "shadow": shadow : 0 Sin proyección de sombra 1 Ajuste de proyeccion de sombras ** Nota: el rendimiento es forzado al modo "0": textura plana 2 Erudición de sombras proyectadas ** Nota: el rendimiento es forzado al modo "0": textura plana Puede habilitar un espejo en el lado izquierdo, que refleje la escena, usando el parámetro "mirror": mirror : 0 sin espejo 1 espejo (requiere box01.class) Nota: Si sombra y espejo son habilitadas juntas, el espejo no funcionara como espejo mirror, pero se desplega como una caja. Otra opción es "lightballs". Si usted pone "0", cualquier lightball será mostrada. Pero, poniendo un valor de "1" a "6", aparecerán flying lightballs. Si lightballs está habilitada, se requiere el "phongmap", incluso si no se está usando. ----------------------- - SCRIPT 1: LABERINTO - ----------------------- En el laberinto, el objeto principal es el piso, y el objeto secundario es una muralla, y usted no puede modificarlos (main_type y child_type están deshabilitados). En cambio, usted puede escoger las texturas y técnicas de rendimiento: main_render: técnica de rendimiento (0 .. 14) main_texture: textura para el objeto principal (0 = texture0, 1 = texture1 etc.) child_render: técnica de rendimiento (0 .. 14) child_texture: textura para el objeto secundario (0 = texture0, 1 = texture1 etc.) Nota:No todas las técnicas de rendimiento trabajan bien con este script. Para un efecto de luz metálico, ponga el efecto "animlight" en "YES", y la luz se moverá continuamente [Fondo] ; Tipo de fondo (0 .. 2) ; Rendimiento del fondo(0 .. 14) ; Textura de fondo (0 .. 2) ; Componente rojo del fondo ; Componente verde del fondo ; Componente azul del fondo Con respecto al fondo, usted puede desactivarlo (color negro) poniendo un valor de "0" en el parámetro "back_type". Esto es útil solamente si usted quiere habilitar el efecto de movimiento borroso o si usted necesita un fondo negro. Por otra parte, poniendolo en "1" y habilitando el fondo, incluyendo la escena en la gran esfera, este será el fondo. Si usted quiere tener un color de fondo personalizado, ponga "back_type" en el valor "2", y luego ponga el color deseado con los parámetros "back_r", "back_g", "back_b", especificando los componentes rojo, verde y azul (0 .. 255). Si usted puso "back_type" en "1", usted debe escoger la técnica de rendimiento usada en el objeto de fondo, y la textura relativa a usar. Para escoger la técnica de rendimiento, ponga en el parámetro "back_render" el número del tipo de rendimiento. Aquí hay una lista de técnicas de rendimientos disponibles: 0 Plain texture 1 Gouraud shading 2 Phong shading ** NOTA: "phongmap" debe ser subido 3 Gaussian phong shading ** NOTA: "gaussmap" debe ser subido 4 Transparent (light) 5 Transparent (medium) 6 Liquid texture 7 Liquid gouraud shading 8 Liquid phong shading ** NOTA: "phongmap" debe ser subido 9 Liquid transparent 10 Reflects mirror view ** NOTA: textura es ignorada, espejo debe existir 11 Particles ** NOTA: textura es ignorada 12 Darker plain texture 13 Metal shading ** NOTA: "phongmap" debe ser subido 14 Environment mapping Gouraud, Phong y Gaussian Phong son 3 maneras de calcular el sombreado en los objetos. Los modos liquidos son como los modos normales, excepto por el hecho de que la textura esta ondeando como un líquido. El modo 10 es usable solo con el script=0, y mirror=1, de hecho, muestra en el objeto lo que es "visto y reflejado" por el espejo. Todas las técnicas de rendimiento requieren texturas, excepto modo 10 y 11. Para especificar la textura, use el parámetro "back_texture", escogiendo un numero desde 0 a 2. Esto números corresponden a texturas cargadas con los parámetros "texture0", "texture1" y "texture2". [Efecto niebla] ; Niebla (0 .. 1) ; Distancia de la salida de la niebla (0 .. 1000) ; Distancia de la parada de la niebla (0 .. 1000) Solamente los objetos que utilicen Gouraud shading pueden ser nebulosados. Para habilitarla, ponga el parámetro "fog" en "1". El valor "0" deshabilita la niebla. La intensidad de la niebla puede cambiarse usando los parámetros "fog_near" y "fog_far". El punto anterior decide cuando comienza el efecto niebla, mientras los últimos controles disminuyen las niebla. Valores para ambos representan longitud desde la cámara al punto de inicio de la niebla o al punto final de esta. NOTA: fog_near < fog_far. [Efecto movimiento borroso] ; Movimiento borroso (0 .. 1) Usted puede opcionalmente habilitar el efecto de movimiento borroso; solamente ponga el parámetro "blur_motion" en "1". Use "0" para deshabilitarlo. NOTA: Habrá movimiento borroso (blur_motion) SOLAMENTE si el fondo es deshabilitado, en otras palabras, si el parámetro "back_type" es puesto en un valor "0". [Imagen sobrepuesta] ; Imagen opcional sobre el applet ; Desplazamiento de la imagen en el eje X ; Desplazamiento de la imagen en el eje Y Con el parámetro "overimg" puede especificar el nombre de una imagen que será mostrada sobre el applet.La mejor opción son imágenes GIF transparentes. NOTA: GIF animados son soportados, pero serán animados solamente en los últimos navegadores (Netscape 4 y Explorer 4 o superior). Con "overimgX" y "overimgY" usted puede posicionar la imagen sobre el area del applet.