wavefront

10
Wavefront .obj file OBJ (o. OBJ) es un formato de archivo de definición de la geometría desarrollada primero por Wavefront Technologies para su paquete de animación avanzada Visualizer. El formato de archivo es abierto y ha sido adoptado por otros proveedores de aplicaciones gráficas 3D. En su mayor parte se trata de un formato aceptado universalmente. El formato de archivo OBJ es un sencillo formato de datos que representa la geometría 3D solo - es decir, la posición de cada vértice, la posición de cada textura UV coordenadas de vértices, normales, y las caras que hacen que cada polígono se define como una lista de vértices, y vértices textura. Los vértices se almacenan en un orden hacia la izquierda de forma predeterminada, por lo que la declaración explícita de las normales innecesarios. Geometría formato OBJ extensión de archivo. Obj Medios de Internet escriba el texto / sin formato Desarrollado por Tecnologías de frente de onda Tipo de formato de modelo de formato 3D Formato de archivo Las líneas que comienzan con una almohadilla (#) son comentarios. # Esto es un comentario Un archivo OBJ contiene varios tipos de definiciones: # Lista de vértices, con (x, y, z, [w]) las coordenadas, w es opcional y por defecto a 1,0. v 0,123 0,234 0,345 1,0 v ... ...

Upload: aldld

Post on 30-Jul-2015

79 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Wavefront

Wavefront .obj fileOBJ (o. OBJ) es un formato de archivo de definición de la geometría desarrollada primero por Wavefront Technologies para su paquete de animación avanzada Visualizer. El formato de archivo es abierto y ha sido adoptado por otros proveedores de aplicaciones gráficas 3D. En su mayor parte se trata de un formato aceptado universalmente.

El formato de archivo OBJ es un sencillo formato de datos que representa la geometría 3D solo - es decir, la posición de cada vértice, la posición de cada textura UV coordenadas de vértices, normales, y las caras que hacen que cada polígono se define como una lista de vértices, y vértices textura. Los vértices se almacenan en un orden hacia la izquierda de forma predeterminada, por lo que la declaración explícita de las normales innecesarios.

Geometría formato OBJ extensión de archivo. ObjMedios de Internet escriba el texto / sin formatoDesarrollado por Tecnologías de frente de ondaTipo de formato de modelo de formato 3D

Formato de archivo

Las líneas que comienzan con una almohadilla (#) son comentarios.

# Esto es un comentario

Un archivo OBJ contiene varios tipos de definiciones:

# Lista de vértices, con (x, y, z, [w]) las coordenadas, w es opcional y por defecto a 1,0. v 0,123 0,234 0,345 1,0 v ... ...

# Coordenadas de textura, en ([u, v], [w]) las coordenadas, v y w son opcionales y por defecto a 0. vt 0,500 -1,352 [0,234] vt ... ...

# Normales en (x, y, z) forman las normales, puede que no sea la unidad. vn 0.707 0.000 0.707 vn ... ...

Page 2: Wavefront

# Parámetros espacio vértices en ([u, v], [w]) forma; declaración geometría forma gratuita (ver más abajo) 0.310000 3.210000 2.100000 vp vp ... ...

# Definiciones de figuras (ver más abajo) f 1 2 3 f 3/1 4/2 5/3 f 6/4/1 3/5/3 7/6/5 f ... ...

Posiciones de los vértices (vértices parámetros espaciales)

Definir los puntos en el espacio de parámetros de curva o superficie. "U" sólo se requiere para los puntos de la curva, "u" y "v" para los puntos de la superficie y los puntos de control de la no-racionales curvas de corte, y la "u", "v" y "w" (peso) para los puntos de control de racional las curvas de corte.Cara definiciones

Las caras se definen mediante las listas de los índices de vértice, textura y normales. Polígonos tales como cuadriláteros se puede definir mediante el uso de más de tres vértices / textura / índices normales.

OBJ también apoyar objetos sin forma curvada superficie, tales como superficies NURBS.Vértice

Un índice de vértice válido empieza con 1 y coincide con los elementos correspondientes del vértice de una lista previamente definida vértice. Cada cara puede contener tres o más vértices.

f v1 v2 v3 v4 ...

Vertex / textura de coordenadas

Opcionalmente, textura índices de coordenadas pueden ser utilizados para especificar las coordenadas de textura cuando se define una cara. Para agregar una textura coordinar índice a un índice de vértice en la definición de un rostro, se debe poner una barra inmediatamente después de que el índice de vértice y luego poner el índice de coordenadas de textura. No se permiten espacios antes o después de la barra. Un índice de coordenadas de textura válido empieza a partir de 1 y coincide con el elemento correspondiente de la lista previamente definida de coordenadas de textura. Cada cara puede contener más de tres elementos.

f v1/vt1 v2/vt2 v3/vt3 ...

Page 3: Wavefront

Vertex / textura de coordenadas / normal

Opcionalmente, los índices normales se puede utilizar para especificar los vectores normales de vértices cuando define una cara. Para agregar un índice normal a un índice de vértice en la definición de un rostro, se debe poner una barra segundos después de que el índice de coordenadas de textura y luego poner el índice normal. Un índice normal válido empieza a partir de 1 y coincide con el elemento correspondiente de la lista previamente definida de las normales. Cada cara puede contener más de tres elementos.

f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 ...

Vertex / normal

Como las coordenadas de textura son opcionales, se puede definir la geometría sin ellos, pero hay que poner dos barras después de que el índice de vértice antes de poner el índice normal.

f v1 / / VN1 v2 / / VN2 v3 / / VN3 ...

Otros formatos de geometría

Obj apoyo de orden superior superficies utilizando diferentes tipos de interpolación, como Taylor y B-splines, aunque el apoyo a las funciones de los lectores tercera parte del archivo está lejos de ser universal. Obj tampoco apoyan las jerarquías de malla o cualquier tipo de animación o deformación, como pelar o vértice de malla morphing.Hacer referencia a los materiales

Materiales que describen los aspectos visuales de los polígonos se almacenan en archivos mtl externos.. Más de un archivo externo de material MTL puede hacer referencia desde el archivo OBJ. El archivo. Mtl puede contener una o más definiciones de materiales nombrados.

mtllib [externo. nombre del archivo mtl] ...

Esta etiqueta especifica el nombre del material para el elemento que lo sigue. El nombre del material coincide con una definición material nombrado en un archivo externo. Mtl.

usemtl [nombre del material] ...

Objetos con nombre y los grupos de polígonos se especifican a través de las siguientes etiquetas.

o [nombre del objeto] ...

Page 4: Wavefront

g [nombre del grupo] ...

Sombreado suave a través de los polígonos se habilita al suavizar los grupos.

s 1 ... # Sombreado suave se puede desactivar también. s off ...

Los índices relativos y absolutos

OBJ, debido a su estructura de lista, son capaces de vértices de referencia, normales, etc, ya sea por su posición absoluta lista (indexada 1), o mediante el uso de índices relativamente negativos y contando hacia atrás. Sin embargo, no todo el software compatible con este último enfoque, y por el contrario algunos software inherentemente escribe sólo la última forma (debido a la conveniencia de elementos adjuntas sin necesidad de volver a calcular las compensaciones de vértice, etc), dando lugar a incompatibilidades ocasionales.Material de la biblioteca de plantillasFormato MTL material de archivo Nombre de extensión. MtlDesarrollado por Tecnologías de frente de ondaTipo de formato de textura formato 3DSinopsis

En gráficos de computadora 3D, uno de los formatos geométricos más comunes de intercambio de archivos es el OBJ. El formato de archivo. MTL es un formato de archivo complementario que describe sombreado superficie (material) propiedades de los objetos dentro de uno o más archivos. OBJ. A. Referencias obj uno o más. Archivos MTL (llamadas "bibliotecas de materiales"), y desde allí, hace referencia a uno o más descripciones de los materiales por su nombre.Introducción

La plantilla de formato de material de biblioteca (MTL) es un estándar definido por Wavefront Technologies para archivos ASCII que definen las propiedades que reflejan la luz de una superficie a efectos de representación de equipo y, de acuerdo con el modelo de reflexión de Phong. La norma tiene un amplio apoyo entre los diferentes paquetes de software, por lo que es un formato útil para el intercambio de materiales.

MTL archivos son comúnmente acompañada de referencia y de los archivos OBJ que definen la geometría en la que los materiales del archivo MTL se asignan.

El formato MTL, aunque sigue siendo ampliamente utilizado, es obsoleta y no respaldamos plenamente las tecnologías posteriores tales como mapas especulares y mapas de paralaje. Sin embargo, debido a la naturaleza abierta e intuitiva del formato, estos se pueden añadir

Page 5: Wavefront

fácilmente con un generador de archivos MTL personalizado.

El formato MTL define un número de formatos. [1] [2]Materiales básicos

Un solo archivo. Mtl puede definir múltiples materiales. Los materiales se definen uno tras otro en el archivo, cada uno comenzando con el comando newmtl:

# Define un material llamado 'color' newmtl color

El ambiente de color del material se declara utilizando Ka. Las definiciones de color RGB están en donde el valor de cada canal se encuentra entre 0 y 1.

Ka 1,000 1,000 1,000 # blanco

Del mismo modo, el color difuso se declara utilizando Kd.

Kd 1,000 1,000 1,000 # blanco

El color especular se declara con Ks, y se ponderará con el coeficiente Ns especular.

Ks 0,000 0,000 0,000 # negro (apagado) Ns 10.000 # oscila entre 0 y 1000

Los materiales pueden ser transparentes. Esto se conoce como siendo disuelto. A diferencia de transparencia real, el resultado no depende del espesor del objeto.

d 0,9 # algunas implementaciones de utilizar 'd' Tr 0,9 # otros utilizan "Tr"

Múltiples modelos de iluminación están disponibles, por material. Éstos se enumeran como sigue:

0. Color encendido y apagado Ambient1. Color en el ambiente y2. Resalte el3. Reflexión y Ray rastro en4. Transparencia: Glass on, Reflejo: Ray rastro en5. Reflexión: sobre Fresnel y Ray rastro en6. Transparencia: Refracción en, Reflejo: off Fresnel y traza sobre Ray7. Transparencia: Refracción en, Reflejo: Fresnel y el trazado de rayos en8. Reflexión y Ray rastrear off9. Transparencia: Glass on, Reflejo: Ray rastrear off10. Proyecta sombras sobre superficies invisibles

Page 6: Wavefront

illum 2

Mapas de textura

Materiales texturizados utilizar las mismas propiedades que el anterior, y, además, definir mapas de texturas. A continuación se muestra un ejemplo de un archivo de material común. Vea el archivo completo de frente de onda de referencia formato para obtener más detalles.

newmtl textura Ka 1,000 1,000 1,000 Kd 1,000 1,000 1,000 Ks 0,000 0,000 0,000 d 1,0 illum 2 map_Ka lenna.tga # el mapa de textura ambiente map_Kd lenna.tga # el mapa de textura difusa (la mayoría de las veces, lo hará # Ser el mismo que el mapa de textura ambiente) map_Ks lenna.tga mapa de color specular textura # map_Ns lenna_spec.tga componente resaltado especular # map_d lenna_alpha.tga # el mapa de textura alfa map_bump # lenna_bump.tga algunas implementaciones usar 'map_bump' en lugar de 'golpe' por debajo de

bump bump lenna_bump.tga # map (que por defecto utiliza el canal de luminancia de la imagen) # disp lenna_disp.tga mapa de desplazamiento calcomanía etiqueta # lenna_stencil.tga textura stencil (por defecto es 'mate' canal de la imagen)

Declaraciones de mapa de textura también puede tener parámetros opcionales (ver especificación completa).

map_Ka-o 1 1 1 # ambient.tga origen textura (1,1,1) refl tipo esfera clouds.tga reflection # esférico mapa

Opciones de textura

Blendu-on | off mezcla # set textura horizontal (por omisión activado) Blendv-on | off mezcla # set textura vertical (por omisión activado) -Boost float_value # impulsar mip-map nitidez Mm base_value gain_value # modificar los valores de mapa de textura (por defecto 0 1) # Base_value = brillo, contraste gain_value = -Ou [v [w]] # Origen offset (por defecto 0 0 0)

Page 7: Wavefront

-Su [v [w]] # Scale (por defecto 1 1 1) -Tu [v [w]] # Turbulence (por defecto 0 0 0) -Texres resolución resolución de la textura # para crear -Clamp on | off # sólo hacen texels fijado en el rango 0-1 (desactivado por defecto) # Cuando se desbloquea, las texturas se repiten a través de una superficie, # Al sujetado, texels sólo que están incluidas en el 0-1 Rango # son prestados. -Bm mult_value # multiplicador golpe (para mapas de relieve solamente)

Imfchan-r | g | b | m | l | z # especifica el canal del archivo se utiliza para # Crea un escalar o textura bump. R: rojo, G: verde, # B: azul, m: mate, l: luminancia, z: z-profundidad .. # (El valor predeterminado para bump es 'l' y para calcomanía es 'm') bump-imfchan r # bumpmap.tga dice que use el canal rojo de bumpmap.tga como el mapa de relieve

Para los mapas de reflexión ..

De tipo esfera # especifica una esfera de un mapa "refl" reflexión Tipo cube_top | cube_bottom | # cuando se utiliza un mapa de cubo, la textura de archivo para cada cube_front | cube_back | # lado del cubo se especifican por separado cube_left | cube_right

Vendor Specific Alteraciones

Debido a la facilidad de analizar los archivos y no oficiales de la propagación del formato de archivo, los archivos pueden contener alteraciones específicas del vendedor.

Según la especificación, las opciones se supone que preceder el nombre del archivo de textura. Sin embargo, al menos un proveedor genera archivos con opciones al final.

bump texbump.tga-bm 0,2 # golpear multiplicador de 0,2