top of page

Contenido

Haga clic en un artículo del índice para ir a el.

Introducción

Introducción

Un objeto B3D permite crear un objeto sencillo usando instrucciones textuales. El objeto puede ser usado en rutas o trenes. El objeto descrito en el archivo puede contener cualquier número de polígonos individuales. El formato de archivo permite agrupar múltiples polígonos en secciones de [MeshBuilder] donde el color o la información de una textura que se ordene es aplicada a todos los polígonos creados en cada sección.  Esto es posible para la creación de muchos polígonos en una misma sección de [MeshBuilder] que compartan atributos en común. Un polígono es llamado una cara en este formato de archivo, básicamente debe contener tres esquinas.

El archivo es un formato de texto simple sin necesidad de una codificación especial por lo que esto es arbitrario, sin embargo, la codificación UTF-8  con un byte de orden marcado es la opción preferida. El análisis o sintaxis de interpretación de los números es libre no obstante usted puede hacer producir una salida estricta. El nombre del archivo también es arbitrario, puede ponerle cualquier nombre, pero siempre debe de tener la extensión .b3d. El archivo es interpretado por línea desde la parte superior hasta el final.

Sintaxis

Sintáxis

Cada línea en el archivo es separada por el nombre del comando y sus argumentos. La sintaxis para todos los comandos es la misma:

NombreDelComando

Argumento1,Argumento2,

Argumento3, ...,

Argumento n

El NombreDelComando es insensible a las mayúsculas y minúsculas  por lo que no importa la manera en la que se escriba sea con mayúsculas o minúsculas o inclusive combinadas. Si hay argumentos el NombreDelComando y el  Argumento1 debe de estar separado por lo menos de un espacio (U+0020).

Los Argumentos deben de ir separados por una coma (U+002C).

Los espacios blancos alrededor de los argumentos y al inicio o el final de cada línea son ignorados. Líneas en blanco o líneas solas consisten en espacios en blanco los cuales son ignorados.

Los Argumentos pueden ser omitidos si se deja texto en blanco, hay un valor por defecto que usualmente puede ser aplicado si se es posible, esto se especifícará más adelante con los comandos presentados. Todos los valores por defecto son especificados en la sección "Comandos disponibles" de este artículo.

 

Nota: Sin embargo el Argumento no puede ser omitido si otros Argumentos son proporcionados.

Usted puede usar comentarios donde sea al final de una linea. Un comentario debe de ser iniciado con un punto y coma ";". Los comentarios puede estar puestos donde sea de todas las líneas después de que sean procesados.

Comandos disponibles

Comandos disponibles
[MeshBuilder]

[MeshBuilder]

Este comando marca el inicio de una nueva sección de caras. Le pueden preceder cualesquiera comandos que se requieran usar. Pueden haber cuantas quiera secciones de [MeshBuilder] en este tipo de archivo. Los siguientes comandos escritos después de este están relacionado con la última [MeshBuilder] sección abierta.

Vertex vX, vY, vZ, nX, nY, nZ

Vertex

vX: Es la coordenada-X para el vértice, medida en metros. Valores negativos se hacen hacia la izquierda, valores positivos se hacen hacia la derecha. El valor por defecto es 0.


vY: Es la coordenada-Y para el vértice, medida en metros. Valores negativos se hacen hacia abajo, valores positivos se hacen hacia arriba. El valor por defecto es 0.


vZ: Es la coordenada-Z para el vértice, medida en metros. Valores negativos se hacen hacia atrás valores positivos se hacen hacia adelante. El valor por defecto es 0.


nX: Es la coordenada-X para el normal de este vértice. El valor por defecto es 0. Se puede dejar sin escribir
nY: Es la coordenada-Y para el normal de este vértice. El valor por defecto es 0. Se puede dejar sin escribir
nZ: Es la coordenada-Z para el normal de este vértice. El valor por defecto es 0. Se puede dejar sin escribir

El comando crea un nuevo vértice que puede ser usado para crear caras por medio de los comandos Face o Face2 para llamarlas. Pueden haber un sin número de vértices en una sección [MeshBuilder]. Sin embargo, el orden de los vértices es importante para otros comandos. El primer vértice toma el índice 0, y los siguientes vértices toman índices subsecuentes 1 2 3 y así sucesivamente.

La dirección del 'Normal' es perpendicular a la cara en un punto determinado.  Si todos los normales de los vértices de una cara son iguales la cara se verá plana. Si se usa apropiadamente puede obtenerse una ilusión de una cara curva, especificando diferentes normales por vértice, pero usando el mismo normal en todos los vértices que comparten la misma coordenada espacial a través de múltiples caras. Si se deja a cero, el normal se calcula automáticamente para verse plano.

Face V1, V1, V3, ..., Vmax

Face

: Es el índice del vértice a incluir en la cara a crear. Se pueden usar cualquier cantidad de  valores, los valores permitidos van desde 0 y los siguientes valores usarán la fórmula n-1, donde n es el número de comandos Vertex usados.

El comando crea una cara  cuando se ha dado una larga lista (de tamaño arbitrario) de los índices de vértices. El índice corresponde a el orden en que los vértices son creados por el comando Vertex, debido al mismo efecto que tiene este, el comando Face debe escribirse inmediatamente después de haberse dado la lista de los comandos de Vertex correspondientes al polígono que se desea crear.

El primer comando Vertex que es usado le da al primer vértice el índice 0 y los siguientes comandos Vertex les serán asignados índices 1,2,3 y así sucesivamente.

El orden en que los índices de los vértices son colocados es muy importante. Es necesario colocarlos conforme a su posición en la dirección que toman las manecillas del reloj para que pueda verse la cara del frente. La cara opuesta no será visible. Sin embargo, si necesita que pueda verse en ambas caras el comando Face2 lo hará posible.

Sólo polígonos convexos pueden ser soportados.

Face2

Face2 V1, V1, V3, ..., Vmax

: Es el índice del vértice a incluir en la cara a crear. Se pueden usar cualquier cantidad de  valores, los valores permitidos van desde 0 y los siguientes valores usarán la fórmula n-1, donde n es el número de comandos Vertex usados.

El comando crea una cara  cuando se ha dado una larga lista (de tamaño arbitrario) de los índices de vértices. El índice corresponde a el orden en que los vértices son creados por el comando Vertex, debido al mismo efecto que tiene este, el comando Face debe escribirse inmediatamente después de haberse dado la lista de los comandos de Vertex correspondientes al polígono que se desea crear.

El primer comando Vertex que es usado le da al primer vértice el índice 0 y los siguientes comandos Vertex les serán asignados índices 1,2,3 y así sucesivamente.

El orden en que los índices de los vértices son colocados es muy importante. Es necesario colocarlos conforme a su posición en la dirección que toman las manecillas del reloj para que pueda verse la cara del frente. La cara opuesta también será visible, sin embargo, es posible que a veces esta cara sea iluminada al igual que la frontal,

Sólo polígonos convexos pueden ser soportados.

Cube

Cube MitadDeAncho, MitadDeAltura, MitadDeProfundidad

Cube HalfWidth, HalfHeight, HalfDepth

MitadDeAncho: Un número entero o decimal que representa la mitad de la anchura que tendrá el cubo, medida en metros.

MitadDeAltura: Un número entero o decimal que representa la mitad de la altura que tendrá el cubo, medida en metros.

MitadDeProfundidad: Un número entero o decimal que representa la mitad de la profundidad que tendrá el cubo,  medida en metros.

Este comando crea un cubo con las dimensiones especificadas mediante MitadDeAncho, MitadDeAltura y MitadDeProfundidad. El cubo es centrado en el origen (0,0,0). El cubo siempre tiene 8 vértices y 6 caras.

El comando Cube es equivalente a una serie de Vértices y comandos Face ya predefinidos, esto lo debe de tener en cuenta si desea usar otros comandos en la misma sección de [MeshBuilder. Para conocer los detalles acerca de cómo está compuesto este comando vaya aquí.

Cylinder n, RadioSuperior, RadioInferior, Altura

 

 
Cylinder n, UpperRadius, LowerRadius, Height

Cylinder

n: Un número entero que representa el número de vértices usado para la base del frustrum. (Esto es igual al número de caras que se crearán al frustrum)

RadioSuperior: Un número entero o decimal que representa el radio de la parte superior del frustrum, medida en metros. Si se pone negativo no se creará la tapa superior del frustrum.

RadioInferior: Un número entero o decimal que representa el radio de la parte inferior, medida en metros. Si se pone negativo no se creará la tapa inferior del frustrum.

 

Altura: Un número entero o decimal que representa la altura que tendrá el prisma, medida en metros. Si se pone negativo el frustrum se invértirá y se verá la parte interna.

Este comando crea un  frustum. Cuando RadioInferior y Radio Superior son iguales, el objeto que se genera se reduce a un prisma, esto puede ser usado para la creación aproximada de un cilindro. Cuando uno de los dos: RadioInferior o Radio Superior son cero, el objeto que se genera se reduce a una pirámide. El frustum es centrado en el origen (0,0,0).

centered on the origin (0,0,0).

El comando Cylinder es equivalente a una serie de Vértices y comandos de Face ya predefinidos, esto lo debe de tener en cuenta si desea usar otros comandos en la misma sección de [MeshBuilder]. Para conocer los detalles acerca de cómo está compuesto este comando vaya aquí.

bottom of page