Saltar la navegación

La configuración del javascript

Si nos dirigimos a la carpeta HTML de 3DNP y ejecutamos el archivo 3DNP.html el resultado no será el esperado. Es cierto que si hacemos clic y arrastramos es posible que llegue a hacerse visible nuestro modelo interactivo. Pero nosotros queremos que quede correcto.

¿Qué ha ocurrido? Pues sencillamente que 3DNP viene configurado para trabajar correctamente si se dejan los valores por efecto con Niveles: 7. El cambio de 7 a 1 hace que el código no funcione bien. ¿Qué código?: el javascript que permite la interactividad; es decir el archivo llamado 3DNP config.js que está dentro de la carpeta HTML.

Sería fantástico que al hacer clic en Update CameraBoss al trabajar en 3DNP se autoeditara el código javascript, pero no es así. Tenemos que hacerlo a mano. No es nada complicado.

Accedemos al código javascript de ese archivo y para ello basta abrirlo con un editor de textos cualquiera, como puede ser:

  • Gedit en Linux.
  • Bloc de Notas en Windows.
  • Textedit en MacOS.

El código por defecto

Además de un buen número de líneas con comentarios, este es el código del javascript que contiene ese archivo:

total = 144;
levels = 4;
startlevel = 4;

filemode = 'NameNumber';
filename = 'frame';
suffix = '.jpg';
barLength = 164;

viewmode = 'object';
friction = 0.5;
rotomatic = 80;
rotoresume = 3;

keycodes = [119,100,115,97]

Esto es lo que hay que alterar:

  • Total. De 144 a 36. El valor 144 viene determinado porque hay un plano que hace de suelo y que recoge la sombra. De los siete niveles por defecto sólo nos hubieran interesado los cuatro superiores (36x4=144); los tres niveles inferiores serían ignorados aunque se hubieran hecho los renders. Nosotros hemos descendido los Niveles a 1 así que está claro que este parámetro tiene que ser 36.
  • Levels. De 4 a 1. Recordemos que nosotros habíamos cambiado 7 por 1.
  • Starlevels. De 4 a 1. La orden era que la virtualización comenzara en el nivel 4 (el central) con una vista frontal del objeto. Con el cambio de Niveles a 1 no tiene sentido decirle al programa que comience en el nivel 4. Se produce una incoherencia, por lo que hay que cambiarlo a 1 para que todo tenga lógica.
  • Rotomatic. De 80 a 0. Es la velocidad y el sentido de la rotación automática. El script da la orden de comenzar una rotación automática en el caso de que el navegante permanezca pasivo. Los valores positivos y negativos determinan el sentido. Pero a nosotros nos interesa en valor 0 porque hace que el efecto se desactive.
  • Rotoresume. De 3 a 0. Es el tiempo en segundos que el script espera para poner en marcha el anterior parámetro Rotomatic. Nos vuelve a interesar el valor 0 para anularlo, aunque es cierto que con Rotomatic a 0 es intrascendente manipular Rotoresume.

El código definitivo

total = 36;
levels = 1;
startlevel = 1;

filemode = 'NameNumber';
filename = 'frame';
suffix = '.jpg';
barLength = 164;

viewmode = 'object';
friction = 0.5;
rotomatic = 0;
rotoresume = 0;

keycodes = [119,100,115,97]