Tente 3D Wiki
Advertisement

Plantilla:I-es

Introducción[]

El objetivo de este artículo es incluir en el juego libre SuperTuxKart, modelos en 3D de figuras creadas con Tente(R) 3D, para crear estos modelos usamos el formato abierto ldraw, mediante programas como MLCAD correctamente configurado (ver enlaces de interés).


Enlaces de interés[]

¿Qué vamos a necesitar?[]

  • Blender.
  • Plugin para que Blender reconozca modelos LDraw.
  • Plugin para exportar el modelo a supertuxkart.
  • Modelos LDraw de Tente® 3D ya hechos.
  • Fichas virtuales de Tente® 3D, y en su caso etiquetas.
  • SuperTuxKart.

Instalando lo necesario[]

Windows[]

  • Nos descargamos MLCAD y lo instalamos en la carpeta C:\TENTE\MLCAD
  • Nos descargamos el último paquete de Tente3D y lo descomprimimos en la carpeta C:\TENTE
  • Nos descargamos el fichero de etiquetas de tente3D y lo descomprimimos en la carpeta C:\TENTE\PARTS
  • Los modelos de Tente 3D, ya sean descargados o hechos por nosotros, deben estar en C:\TENTE\MODELS si queremos que aparezcan en el árbol de MLCad.
  • Nos descargamos e instalamos la última versión de Blender para la parte específica de la versión 0.8, pero para importar el modelo ldraw con los scripts necesitanemos la versión 2.45 de Blender y python 2.5.4.
  • Nos descargamos los plugins para que Blender reconozca ficheros LDraw y con ellos hacemos lo siguiente:
    • Los descomprimos en la carpeta C:\Documents and Settings\[tu_nombre_de usuario]\Datos de programa\Blender Foundation\Blender\scripts (Datos de programa es una carpeta oculta, para verla hay que indicar que queremos ver archivos y carpetas ocultas).
    • Si no hemos instalado LDraw en la carpeta C:/TENTE hay que buscar en todos los ficheros con un editor de textos el trozo "C:/TENTE" y cambiarlo por nuestra carpeta.
  • Nos descargamos e instalamos la última versión de SuperTuxKart.
  • La tarjeta gráfica debe tener activo el 3D.
    • Es conveniente tener instalados los últimos drivers de la tarjeta gráfica.

Ubuntu[]

  • Nos instalamos wine para poder usar MLCad, para ello podemos usar synaptic o el comando:
apt-get install wine
  • Nos descargamos MLCad y lo instalamos en la carpeta /opt/tente/mlcad
  • Nos descargamos el último paquete de tente3D y lo descomprimimos en la carpeta /opt/tente
  • Nos aseguramos que todos los subdirectorios que cuelgan de /opt/tente estén en minúsculas (si hubiera dos con el mismo nombre, uno en mayúsculas y otro en minúsculas los fusionamos en el puesto en minúsculas).
  • Nos descargamos el fichero de etiquetas de Tente® 3D y lo descomprimimos en la carpeta /opt/tente/parts
  • Los modelos de Tente® 3D, ya sean descargados o hechos por nosotros, deben estar en /opt/tente/models
  • Nos descargamos e instalamos la última versión de Blender con synaptic o usando el comando:
apt-get install blender
  • Nos descargamos los plugins para que Blender reconozca ficheros LDraw y con ellos hacemos lo siguiente:
    • Los descomprimimos en la carpeta $HOME\.blender\scripts
    • Salvo el fichero datexport.py, en los otros tres cambiamos el trozo "C:/TENTE" por "/opt/tente".
  • Nos descargamos e instalamos la última versión de SuperTuxKart con synaptic o usando el comando:
apt-get install supertuxkart
  • La tarjeta gráfica debe tener activo el 3D.
    • Es conveniente tener instalados los últimos drivers de la tarjeta gráfica.
    • Es posible que necesite los drivers propietarios, para activarlos seleccionamos Sistema --> Administración --> Controladores de Hardware y habilitamos el controlador.


MLCad 4.1 en GNU/Linux con configuración en castellano[]

Esta versión de MLCad tiene un fallo que no le permite interpretar correctamente el punto decimal porque en España usamos coma en lugar de punto, lo que hace que el modelo no se pueda ver bien. La solución es descargarse script y ejecutarlo en lugar del comando 'MLCad'

Instrucciones[]

(De momento es un boceto incompleto del contenido)


Preparando el modelo en MLCad[]

  • El "centro" del modelo es el origen de coordenadas de MLCad. Fijarse en el punto de donde salen todas las líneas discontinuas para centrar el modelo. Es mejor centrarlo bien en MLCad. Hay que centrar el modelo en el plano X-Y. Las ruedas deben estar un poco por encima del plano X-Y.

Para alinearlo correctamente tenemos que:

  • abrir el modelo con MLCad
  • Seleccionar todas las fichas mediante Editar / Seleccionar / Todos.
  • Jugar con los iconos flechitas de rotación de la barra de elementos Barra de elementos - iconos de rotación hasta que el modelo aparezca así:
Modelo MLCad correctamente alineado
  • Podemos ver que el morro del coche apunta hacia el eje +Y
  • También debemos prestar atención a la colocación de las ruedas en el eje Z, verá que es +8, un número positivo ya que las ruedas deben estar encima del plano, para conseguirlo elegimos opción Editar / Movimiento / Z -> (con todas las fichas seleccionadas).
  • Hay que subir 12 unidades más todo el modelo mediante Editar / Movimiento / Introducir por teclado... y poniendo 12 en la casilla Z.

Trabajando con Blender[]

Nota: esta parte la tenemos que hacer con Blender 2.45 + python 2.5.4:

Antes de empezar[]

Cuando abras Blender lo primero que debes hacer es borrar todo lo que crea el programa por defecto, para ello:

  • Selecciona todo pulsando A o AA desde el modo objeto.
  • Pulsa Supr.


Importando el fichero[]

  • Importar el fichero LDraw que contiene el modelo de Tente.
File -> Import -> LDraw...

Orientar correctamente el modelo[]

Si no se ha reorientado antes el modelo en MLCad, se puede hacer ahora en Blender.

A (selecciona todas las piezas)
R X -90 (si el coche no apunta hacia el eje Y, rotar luego en el eje Z)
Control+A 1 (para fijar la rotación)
Keypad7 (para ver el modelo desde arriba)
G X -40 (para moverlo 40 unidades en el eje X. El valor depende de cada modelo)
G Y 50 (ídem para el eje Y)
Keypad1 o Keypad3 (para ver el suelo de canto)
G Z 64 (ídem eje Z)

Cambiar el tamaño a menos de 1 unidad de ancho[]

  • Asegúrese que todo sigue seleccionado.
  • Pulse Mayúsc C (para dejar cursor en el centro si ya no estaba ahí)
  • Cambiar Rotation/Scaling Pivot Rotationscaling a "3D Cursor" 3dcursor
  • Pulse S y escriba con el teclado el valor 0.009 o 0.01. También puede asignarse el valor moviendo el ratón. Este factor es para un ancho de 4 tetones/80 unidades; para 8 tetones sería la mitad (0.005).

Eliminación de subpiezas innecesarias[]

Los bajos de las placas y las jácenas (crucetas y pilares) son subpiezas que no van a verse y añaden polígonos innecesarios. También los tetones tapados por otras piezas.

  • A (deselecciona todos los objetos)
  • Seleccionar una cruceta de las placas inferiores con el botón derecho del ratón.
  • Mayúsc L 2 (Espacio -> Select -> Linked -> OBData) (Selecciona todas las crucetas)
  • Deseleccionar a mano con el botón derecho las que no se quieran eliminar.
  • Supr (borra todas las crucetas seleccionadas)
  • Repetir la operación con otras piezas similares.

Una técnica que nos puede ayudar en esta labor, sobre todo en la eliminación de tetones, es la siguiente:

  • Seleccionamos una pieza de dicho tipo.
  • Seleccionamos todas las que son de este tipo con Mayúsculas + L
  • Seleccionamos las que no queremos eliminar con Mayúsculas + Botón Derecho.
  • Invertimos la selección.
  • Pulsamos suprimir cuando estemos seguros de tener elegidas solo las piezas a eliminar.

Todoslostetones

Eliminación de contornos[]

Otras subpiezas que pueden eliminarse son los contornos de LDraw. Son aristas sin polígonos que no aportan nada al resultado final.

  • Cambiar una de las ventanas al tipo Outliner.
  • Buscar un elemento que contega "edge" en el nombre y seleccionarlo con el botón izquierdo.
  • Mayúsc L 2 (en la ventana 3D, para seleccionar todos los objetos de ese tipo)
  • Supr (también en la ventana 3D)
  • Revisar en Outliner que no queden más piezas con la palabra edge.

Editar piezas para eliminar polígonos no visibles[]

  • Seleccionamos la pieza en modo Object
  • Pasamos al modo edición pulsando TAB
  • Mediante View / Local View vemos la pieza en solitario.

Fichasola

  • Ahora podemos elegir una cara y mediante la opciones:
    • Select / Similar to Selection
    • Area, Perimeter, etc.

Elijecaras

  • Seleccionamos todas las caras que no nos interesan.
  • Antes de darle al botón suprimir es conveniente examinar la ficha para ver si no hemos seleccionado algo que no queríamos borrar, la giramos con el botón central del ratón.
  • Pulsamos el botón Suprimir y elegimos Faces.

Deletefaces

Reducción del número de polígonos[]

Entre todas las piezas debería haber entre 1000 y 1800 polígonos. Vamos a usar dos técnicas:

Convertir los polígonos de triángulos a cuadriláteros[]

Esté metodo reduce en la mayoría de los casos los polígonos a la mitad y afecta muy poco al resultado.

  • Seleccionamos la pieza.
  • Vamos al modo de edición.
  • Elegimos Mesh -> Faces -> Convert triangles in quards (o pulsamos las teclas Alt+J)

Usar el script de reducción de polígonos[]

Este procedmiento es mucho más agresivo y si nos pasamos estropearemos demasiado el modelo.

  • Seleccionamos una pieza con el botón derecho en el modo Object.
  • Pulsamos F9 -> Modifiers -> Add modifier -> Decimate (Face Count indica el número de polígonos)
  • Botón X para cancelar el modifier.
  • Pulsamos TAB (para pasar al modo Edit)
  • Elegimos Mesh -> Scripts -> Poly Reducer (Si el factor es muy pequeño la pieza se estropeará)


Solucionar error Non-manifold[]

A veces tras la reducción Decimate da el error Non-Manifold. Se trata de vértices en aristas que comparten más de 2 polígonos.

Control+TAB+1 (para pasar a Vertex mode)
Deseleccionar todos los vértices
ESPACIO -> Select -> Non-Manifold (muestra los vértices problemáticos)
Control++ (selecciona los vértices vecinos)
Control+- (deselecciona vecinos, pero no queda igual que antes)
Control+TAB+2 (pasa a Edge mode. Habrán quedado seleccionadas unas aristas nuevas que hay que eliminar. Antes hay que deseleccionar las otras aristas)
Supr -> Edges

Eliminación de vértices duplicados[]

Este paso es innecesario ya que el nuevo plugin de importación elimina automáticamente los vértices duplicados.

En las piezas que no han sufrido la reducción de polígonos (jácenas, baldosas, etc) los vértices están duplicados (siempre pasa esto al importar los modelos).

Seleccionamos una de las piezas con el botón derecho.
TAB (para pasar a Edit mode si estábamos en Object Mode)
A (si no hay ningún vértice seleccionado) o AA (si ya había alguno)
W 6 (elimina los vértices duplicados)


Unir las piezas de la rueda[]

El neumático y la llanta deben ser una única pieza que llamaremos rueda.

Pasamos a Object Mode.
Seleccionar un neumático y su llanta con el botón derecho.
Control+J (une ambos en un único objeto)
La unión se habrá realizado automáticamente en el resto de ruedas.


Texturas[]

Para STK 0.6 no hace falta aplicar ninguna textura especial porque las piezas usan un color sólido. Sin embargo, las etiquetas podrían quedar mejor usando una imagen suya como textura UV, en lugar de su formato LDraw (resultando así menos polígonos).

Últimos retoques[]

  • Eliminar el objeto nulo que une a todas las piezas
En Object Mode, seleccionar todo.
ALT+P 2
Cambiar a ventana Outliner, buscar un elemento que se llame como el fichero LDraw, seleccionarlo con el botón izquierdo y borrarlo (Supr en la ventana 3D).
  • Aplicar escalas y rotaciones. Esto es necesario para evitar sustos al convertir al formato que usa SuperTuxKart. Primero hay que independizar las piezas del mismo tipo.
En Object Mode, seleccionar todo.
U 2 (para que cada baldosa/jácena/etc. sea independiente)
Control+A 1 (aplica escalas y rotaciones, pero algunas caras ahora serán negras)
  • Corregir jácenas y baldosas. Tras el paso anterior se han quedado con las caras ennegrecidas en el modo Solid (Z ó ZZ si estamos en modo Wireframe). Esto en SuperTuxKart dará lugar a caras transparentes. Lo siguiente debe aplicar a cada pieza por separado (las pegas de independizar las piezas).
Seleccionar la pieza y pasar a Edit Mode (TAB)
Seleccionar todo (A ó AA)
Control+N (esto corrige las caras laterales)
Sólo aplicar si la parte superior se va a ver desde abajo:
Control+TAB 3 (modo selección de caras)
A (deselecciona todo)
Seleccionar con el botón derecho esa cara
Control+F 1 (deja de verse negra desde abajo)


Ruedas[]

Las ruedas necesitan un tratamiento adicional para que giren correctamente en SuperTuxKart.

  • Cada rueda debe llevar un nombre
F9 (Editing)
Seleccionar cada rueda y cambiar el texto de la casilla F de la solapa Link and Materials por los nombres:
WheelRear.R (rueda trasera derecha)
WheelRear.L (trasera izquierda)
WheelFront.R (delantera derecha)
WheelFront.L (delantera izquierda)


  • En Blender cada objeto tiene un centro (circulo rosa) que en el caso de las ruedas no estará en el centro de las mismas:
Seleccionamos una rueda en Object mode
En Buttons Window (la ventana inferior) vamos al panel Editing (F9)
En la solapa Mesh pulsamos el botón Center New
Repetimos el proceso con las otras ruedas

Exportar el modelo a SuperTuxKart 0.6[]

Script exportación a STK 0.6[]

La conversión necesita un script

  • Descargue el script STK_kart_move0.py de la web de SuperTuxKart y moverlo a la carpeta de scripts de Blender. Este paso no hace falta repetirlo para futuras conversiones.

Exportar desde Blender[]

  • Antes de exportar debemos guardar el modelo en el formato blender, ya que el script hace algunos destrozos en las ruedas al final.
  • Seleccionamos todos los objetos (A ó AA) en Object Mode.
  • Cambiar una de las ventanas a Script Window.
    • Menú Script -> Export -> Kart Export (.kart+.ac)... (si no aparece, menú Script -> Update Menus y volver a intentar).
    • Seleccionar la carpeta en la que se guardarán los ficheros. Mejor usar una temporal en lugar de la que usará SuperTuxKart. Una vez dentro de la carpeta, pulsar botón "export kart".
    • Si no es la primera conversión porque hemos hecho algún cambio, nos preguntará si reescribe los ficheros viejos (overwrite).
    • Pulsar el botón Cancel cuando acabe la conversión o bien pasar a otro tipo de ventana.

Detalles del formato SuperTuxKart[]

Nombre del vehículo[]

Si el fichero LDraw original se llamaba "furgonetaaeropuerto", el kart también se llamará así en el juego SuperTuxKart y se habrán creado varios ficheros con ese nombre. Si no nos gusta ese nombre y queremos que aparezca con otro en el juego:

Abrir el fichero furgonetaaeropuerto.kart con un editor de textos.
Buscar la línea que empieza por "(name " y cambiar lo que aparece entre comillas.
Ese texto es el nombre que deberá llevar la carpeta dentro de SuperTuxKart.
Icono del vehículo[]

En el fichero furgonetaaeropuerto.kart aparece una línea que empieza por "(icon-file " y que hace referencia a un fichero (furgonetaaeropuertoicon.rgb) que no existe. Este formato lo maneja sin problemas Gimp:

En Gimp, crear una nueva imagen de 128x128 píxeles o bien aprovechar uno de los iconos de los karts que vienen de serie. Son los ficheros que terminan en "icon.rgb".
En Windows: C:\Archivos de programa\SuperTuxKart\data\karts
En Ubuntu/Debian: /usr/share/games/supertuxkart/data/karts
Guardar con el nombre furgonetaaeropuertoicon.rgb y seleccionar "Compresión RLE" cuando se nos pregunte por el tipo de compresión.
Sombra del vehículo[]

En Blender:

Pasar a vista superior (Keypad7).
Además debe ser ortográfica. En la ventana 3D, comprobar en el menú View que Orthographic está marcado en lugar de Perspective.
Mover el punto de vista hasta que quede visible un área de 2x2 alrededor del vehículo.
Usar la ruleta del ratón para acercarse/alejarse.
Control+FlechasKeypad para desplazar el punto de vista.
Cambiar Draw type a Shaded (el vehículo quedará negro).
Usar Object Mode sin ningún objeto seleccionado para que todo el vehículo quede negro, sin otras marcas de ayuda.
Capturar la pantalla de Blender y llevarla a Gimp.
En Windows: pulsar ImprPant y pegar en Gimp.

En Gimp:

Usar la herramienta de recorte para eliminar todo lo que no sea el área de 2x2.
Menú Imagen -> Escalar la imagen. El tamaño final debe ser 256x256 píxeles.
Parámetros de escala en Gimp
Seleccionar con cualquiera de las herramientas de selección la región negra.
Copiar (Control+C), pegar (Control+V) y fijar capa (Menú Capa -> Capa nueva...).
Ir a la pestaña Capas, seleccionar la capa inferior y borrarla (botón Papelera).
Seleccionar la capa de la sombra (no hay otra). Menú Capa -> Capa a tamaño de imagen.
Menú Seleccionar -> Nada (elimina la selección).
Menú Filtros -> Desenfoque [Blur] -> Desenfoque gaussiano.
El radio de desenfoque debe esta entre 20 y 25.
Para que la sombra sea semitransparente:
En la pestaña Capas, pulsar el botón de crear una nueva capa. Tipo de relleno: Transparencia.
Pulsar el botón de bajar capa (la nueva capa queda en el fondo).
Seleccionar la capa de la sombra y cambiar la Opacidad a 50.
Menú Imagen -> Combinar las capas visibles. Seleccionar la opción Recortada según la imagen.
Menú Archivo -> Guardar como. Usar el nombre furgonetaaeropuertoshadow.rgb . Cuando pregunte por el tipo de compresión, seleccionar "Compresión RLE".
Transparencias[]

Como la sombra del vehículo tiene píxeles transparentes y posiblemente también su icono, hay que crear un fichero de texto con el nombre "materials.dat" y el siguiente contenido:

# TextureName Clamp Trans Alpha Light SphMp Frict Ign Zip Rst Col
"furgonetaaeropuertoshadow.rgb" Y Y Y 0.0 N N 1.0 Y N N N
"furgonetaaeropuertoicon.rgb" Y Y Y 0.0 N N 1.0 Y N N N
# EOF #
Copia a SuperTuxKart[]

En la carpeta de karts de SuperTuxKart creamos una nueva con el nombre de nuestro vehículo. En este ejemplo es "furgonetaaeropuerto". La carpeta de los karts es:

En Windows: C:\Archivos de programa\SuperTuxKart\data\karts
En Ubuntu/Debian: /usr/share/games/supertuxkart/data/karts

Copiamos a esa nueva carpeta los ficheros exportados por Blender junto a los del icono, la sombra y las transparencias.

Cuando entremos en SuperTuxKart encontraremos nuestro modelo de Tente listo para correr.


Exportar el modelo a SuperTuxKart 0.8[]

(incompleto)

Esta parte es mejor hacerla con alguna de las últimas versiones de Blender, por ejemplo, la 2.62.

Scripts necesarios[]

Hay que copiar los archivos que hay en http://sourceforge.net/p/supertuxkart/code/HEAD/tree/media/trunk/blender_25/ a la carpeta:

  • En Ubuntu/Debian: ~/.blender/2.62/scripts/addons
  • En Windows: metemos en un zip esos ficheros y carpetas. En Blender vamos a la opción File / User preferences..., pulsamos en la pestaña Addons y después en el botón Install from file... Seleccionamos el zip.

Abrimos blender y nos vamos a la opción File / User preferences..., pulsamos en la pestaña Addons y activamos los siguientes scripts:

  • Import-Export: SuperTuxKart Kart Exporter
  • Import-Export: SuperTuxKart Material Exporter
  • Import-Export: SuperTuxKart Track Exporter
  • Object: SuperTuxKart panel.
  • (verificar) Import-Export: B3D (BLITZ3D) Model Exporter

Importante: no descargar pulsando con el botón derecho sobre los archivos, hay que pulsar sobre ellos y sobre la opción para descargar el archivo.

Definir la escena

  • Vamos al panel properties.
  • Pulsamos sobre el botón Scene.
  • En SuperTuxKart Scene indicamos que es un SuperTuxKart kart.
  • Le ponemos un nombre y definimos como se va a llamar el icono, el icono de minimizado y la sombra


Recoloreado del modelo[]

Si el modelo tiene las piezas unidas hay que separarlas, para ello:

  • Seleccionamos todo el modelo en modo objeto.
  • Pulsamos Alt+P
  • Seleccionamos Clear and Keep Transformation

Vamos seleccionando cada pieza con el botón derecho:

  • Pulsando la tecla '/' vemos solo esa pieza y es más fácil trabajar.
  • Cambiamos al modo 'Vertex Paint'
  • Si no está visible el panel de herramientas pulsamos la tecla 't'.
  • Seleccionamos el color con la rueda de colores o con el rectángulo que tiene debajo (es más preciso).
  • Nos situamos sobre la pieza y pulsamos las teclas 'mayúsculas' + 'k'

Repetimos la operación con cada una de las piezas, podemos probar a unir las que sean del mismo color para simplificar el trabajo.

En las ruedas hay que separar las llantas del neumático si tienen distinto color:

  • Seleccionamos la rueda.
  • Vamos al modo edición.
  • Pulsamos 'p'
  • Seleccionamos 'by material'.
  • Repetimos la operación con cada rueda.

Pintarlos por separado cada parte con su color y luego volverlos a unir:

  • Seleccionamos la llanta y el neumático, pulsamo en el primero con 'botón derecho' y en el segundo con 'mayúsculas' + 'botón derecho'.
  • Pulsamos la tecla 'Espacio'
  • Tecleamos 'Join' y seleccionamos 'join'
  • Repetimos la operación con cada rueda.

Preparación para la exportación[]

Definimos los elementos necesarios pulsando en el panel de propiedades y en Object

Blender2stk08wheels


Nos aparecerá el panel de las propiedades de Supertuxkart donde seleccionariamos los siguientes elementos:

  • Ruedas: seleccionamos cada una de la ruedas con el botón derecho y cambiamos type por Wheel.
  • Gases nitro: seleccionamos los dos elementos que sean tubos de escape y cambiamos type por Nitro.

[]

Advertisement