TEMA 9 - CREACIÓN DE OBJETOS PERSONALIZADOS 

 

En este tema vamos a tratar como se crean los objetos para el BVE . Con ello lograremos crear rutas mucho más personalizadas y que se ajusten a adecuadamente a nuestra ruta  , y sobretodo lograr que sean mucho más realistas . 

En este tema vamos a llevar a cabo una explicación suficiente para lograr crear cualquier tipo de objeto .

 

 

HERRAMIENTAS QUE UTILIZAREMOS

Lo primero que tenemos que saber es que vamos a seguir utilizando el WORDPAD para crear y editar los objetos (existe sin embargo un programa que crea objetos visualmente , pero es muy poco intuitivo y se tarda mucho en crearlos lo digo por experiencia ) , segundo ,  es que el tipo de formato que vamos a utilizar para los objetos es el B3D . Tercero , utilizaremos el VISOR DE ESTRUCTURAS , para ver como nos va quedando nuestro objeto , lo podreis encontrar en la sección de utilidades (su funcionamiento es la de arrastrar el fichero del objeto a la ventana de este programa , de esta forma lograremos visualizarlo) .  Tambien se hace necesario el utilizar algún tipo de programa para retocar las texturas , como el PAINTSHOP que lo podreis encontrar para descargarlo si lo buscais en el google o recurriis a alguna de estas páginas donde hay gran cantidad de material gratis para bajar como HTTP://www.programas-gratis.net  , tambien podeis utilizar el PHOTOSHOP o cualquier otro programa . Y por último tened a mano un hoja de papel , a ser posible cuadriculada .

PRIMER PASO 

Una vez ya lo tenemos todo preparado , abrimos el WORDPAD y creamos un objeto con el nombre por ejemplo PRUEBA.B3D (lo teneis que guardar en formato texto añadiéndole la extensión B3D). este objeto lo guardaremos dentro del directorio Object de BVE , 

SEGUNDO PASO 

La ceación de los objetos se lleva a cabo utilizando una perspectiva en tres dimensiones 3D , utilizando el eje X,Y,Z , como muestra el dibujo . 

 

Para que tengamos una visión mucho más clara de como se ve esta  perspectiva en 3D dentro de BVE , observemos el siguiente dibujo

Como observamos las vía principal de nuestra ruta pasa por el eje Z . Esto nos dará un visión mucho más clara a la hora de  orientar nuestros objetos,darles forma,crearlos... Cada pequeño cuadrado nos va a representar una longitud de 1 metro

La creación de objetos se basa en vértices  . Por ejemplo : un cuadrado tiene cuatro vértices , por lo tanto tendremos que definir cuatro vértices . Seguidamente veremos como se hace . 

 

TERCER PASO 

Ahora  dentro del  fichero PRUEBA.B3D copiaremos lo siguiente y lo pegaremos . Cabe decir que esta estructura es la que nos servirá de base o de guía para crear los diferentes objetos , por lo que os aconsejo tenerla siempre a mano .

PRUEBA.B3D
[Meshbuilder] 
Vertex 
Vertex 
Vertex 
Vertex 
Face 0,1,2,3
Face 3,2,1,0

[Texture]
Load 
Coordinates 0,0,0
Coordinates 1,1,0
Coordinates 2,1,-1
Coordinates 3,0,-1
transparent 0, 0, 255

CUARTO PASO

Igual que haciamos en nuestras rutas podemos utilizar ";" para esccribir comentarios , estos son de gran ayuda a la hora de crear un objeto . 
En el primer bloque de "[Meshbuilder] será donde determinemos la colocación de nuestros véritices . Cada vértice "Vertex"  está compuesto por tres números separados por comas , cada número corresponde a un eje determinado , sieguiendo el orden X,Y,Z , los cuales determinarán la posición de cada vértice . Esta estructura de ejemplo utiliza 4 vértices "Vertex" , ya que normalmente trabajaremos con cuadrados (tienen 4 vértices)  pero podemos crear tantos como deseemos ( es aconsejable trabajar con cuadrados o rectángulos o cualquier otra figura de cuantro vértices).

 
Donde pone Face , lo olvidamos y lo dejamos como está . Aunque para que sepais que es , sabed que se utiliza para determinar los lados visibles del objeto . Nosotros en el ejemplo hemos establecido que sean visibles los dos lados .

 
Ahora en el apartedo "[texture]" , será donde digamos que textura será la que apliquemos a los vértices que hemos definido , será en "load" donde tendremos que poner el nombre del fichero en formato BMP que se va a carga en nuestro objeto . El resto de variables como "coordinates" las dejamos tal cual , no es imprescindible alterarlo para lo que vamos a explicar . Y por último la variable "transparent" indica el color que estableceremos como transparente en la textura , por defecto estableceremos el azul puro . Todas aquellas partes que esten pintadas en la textura BMP de este color se verán transparente en el BVE , esto nos servirá de gran ayuda . 

NOTA : Con respecto a la textura que vayamos a utilizar es muy importante saber que sólo se puede utilizar imagenes en formato BMP y sobretodo que la imagen tenga una tamaño de 128x128 pixels (u otro tamaño pero que sea múltiplo de 32 como 32x64 ,256x128 ...es aconsejable utilizar el tamaño 128x128) , de lo contrario tendremos problemas a la hora de visualizar el objeto .  Si por ejemplo utilizamos la textura de una casa y tiene otro tamaño en pixels , debereis de modificar su tamaño a 128x128 pixels , este tamaño despues se ajustará a cualquier forma por lo que no saldrá deformado aqunque hayamos encogido o agrandado su tamaño , es MUY IMPORTANTE RECORDAR ESTO SI NO QUEREIS TENER PROBLEMAS . 
También es muy importante saber que los objetos no pueden medir más de 25m 

 

QUINTO PASO 

Una vez ya sabemos que es cada cosa y ya tenemos copiado lo que se mencionó anteriormente ,vamos a comenzar con un sencillo ejemplo , como la creación del objeto de una señal de limitación de velocidad .

La textura que vamos a utilizar va a ser esta (hacer click botón derecho para guadar la imagen) , por la que tendremos que guardarla dentro del directorio Object donde habíamos creado nuestro objeto prueba.b3d en formato BMP  . Sin embargo esta textura tiene un tamñao de 50x105 pixels , y por lo que dijimos anteriormente , hemos de cambiar su tamaño a 128x128 para que no se nos deforme . Para ello utilizaremos el PAINTSHOP o cualquier otro programa que nos permita transformar el tamaño de la imagen .

El resultado será el siguiente tras la trasnformación del tamaño de la imagen a 128x128 pixels

Si quereis podeis copiar esta imagen final y así ahorraros el tener que cambiar su tamaño .

SEXTO PASO

Para esta señal nos bastará con crear un rectángulo en vertical con un único lado y aplicarle la textura  . Para ello vamos a definir la situación de los vértices en nuestro eje de coordenadas . Le daremos una altura de 1m a la señal y 0.3m de ancho . Primero veamos como quedaría representados los vértices  dentro del eje y despues procedamos a anotar los datos  en nuestro fichero de prueba . 

En nuestro fichero prueba.b3d tendremos que poner lo siguiente . 

PRUEBA.B3D
[Meshbuilder] ;señal de trafico
Vertex 0,0,0
Vertex 0.3,0,0
Vertex 0.3,1,0
Vertex 0,1,0
Face 0,1,2,3
Face 3,2,1,0

[Texture]
Load limite50.bmp
Coordinates 0,0,0
Coordinates 1,1,0
Coordinates 2,1,-1
Coordinates 3,0,-1
transparent 0, 0, 255

Grabamos el fichero una vez hecho los cambios y procedemos a ver como nos ha quedado el objeto , primero con el programa STRUCTURE VIEW y despues lo insertaremos en nuestra ruta . 

Con el primer programa  veremos de este modo el objeto . 

Altooo!!! vemos que nuestro objeto tiene visible todo el contorno en blanco , por lo que si añadieramos este objeto a nuestra ruta , veríamos un rectángulo blanco y dentro la señal , no sería muy realista , por lo que procederemos a rellenar el contorno de la señal del color azul puro numero 0,0,255 , que como recordareis era el color que tenemos establecido como TRANSPARENTE. Para ello volvemos denuevo al PAINTSHOP o a cualquier otro programa que nos permita realizar esta operación , y realizamos el relleno en azul . Seguramente al querer rellenar el contorno de azul el programa de retoque fotografico os diga que no teneis es color disponible por lo que tendreis que incrementar la profundidad de color de la imagen .
Tras hacer esta pequeña modificación nos quedará la imagen así:

Ahora veremos denuevo el objeto tras el cambio 

Nos ha quedado un objeto con un contorno totalmente pulido , y fijaros que únicamente hemos utilizado un cuadrado de cuatro vértices , imaginaros que complicado sería si tuvieramos que contornear toda la señal a traves de numerosos vértices . Esta técnica nos ayudará muchísimo en la creación de fabulosos objetos . 

Veamos ahora como nos quedará la señal en nuestra ruta 

TUTORIAL.CSV
Route.Comment Esto es un trayecto de prueba para la linea de alta velocidad con un recorrido de 3km y dos estaciones
Route.Timetable Madrid - Zaragoza
Route.Gauge 1435
Train.Folder caf-s112
Train.Run(0) 2
With Structure
.Rail(0) S1\ballasts.csv
.Ground(0) S1\grass.csv
Texture.background(0) S1\fondos\fondo2.bmp
.Pole(0; 0) S1\Pole1.csv
.Pole(1; 0) S1\Pole2.csv
.Pole(2; 0) S1\Pole3.csv
.Pole(3; 0) S1\Pole4.csv
.WallL(0) s1\WallL.csv
.WallR(0) s1\WallR.csv

.freeobj(0) prueba.b3d

With Track

0,,,,
.Accuracy 2,,,,,,,
.Adhesion 150,
.Height 0.5,
.Ground 0,
.back 0,,
.Sta MADRID; 8.3025; 8.3040; ; -1; 0; ; ; 10; 180; ,
,60,.Stop -1

,,.RailStart 1; -4; ; 0,,.Pole 0; 1;1 ; 25; 0,

100,.freeobj 0;0;1;0;0,

,3000,.Sta ZARAGOZA; 8.33; T; ; -1; 0; ; ; 10; 180; ,
,3060,.Stop 1,

 

Mirad como nos ha quedado nuestra flamante señal de limitación , ¿facil no? . 


Bien puesto que ya somos unos expertos haciendo señales ahora vamos a hacer un edificio , hay que ser tambien un arquitecto en este oficio de crear rutas . 

PRIMERO PASO

Crearemos el objeto del edificio que editaremos . Le vamos a dar el nombre por ejemplo de edificio.b3d 

SEGUNDO PASO 

Copiar la estructura inicial de base a nuestro fichero . Puesto que nuestro edificio va a tener dos caras o dos lados , la frontal y un lateral  (no es necesario crear todas las caras del edificio puesto que en el BVE únicamete veremos dos ) es necesario copiar dos veces la estructura base (por cada nuevo lado que creemos hay que crear una estructura base ) . 

EDIFICIO.B3D
[Meshbuilder] ;FRONTAL EDIFICIO
Vertex 
Vertex 
Vertex 
Vertex 
Face 0,1,2,3
Face 3,2,1,0

[Texture]
Load 
Coordinates 0,0,0
Coordinates 1,1,0
Coordinates 2,1,-1
Coordinates 3,0,-1
transparent 0, 0, 255

[Meshbuilder] LATERAL IZQUIERDO EDIFICIO
Vertex 
Vertex 
Vertex 
Vertex 
Face 0,1,2,3
Face 3,2,1,0

[Texture]
Load 
Coordinates 0,0,0
Coordinates 1,1,0
Coordinates 2,1,-1
Coordinates 3,0,-1
transparent 0, 0, 255

TERCER PASO 

El edificio va a tener una altura de 8m de alto por 5m de ancho la parte forntal y la lateral . 
Visualmente representado en nuestro eje en 3D , tendrá la siguiente forma . 

Primer lado del edificio reprensentado en colo azul con sus coordenadas de los vértices . 

Representamos el lateral izquierdo del edificio en naranja junto con las coordenadas de los vértices. 
Ahora seleccionamos la textura , que la hemos elegido igual para las dos caras , teniendo en cuenta que el lado izquierdo lo hemos rotado 90º a la derecha , si no hicieramos esta rotación la colocación de dicha textura en dicho lado aparecería rotada y procedemos a copiarlos dentro de OBJECT (con la práctica sabreis manejaros fácilmente con las rotaciones) .Les hemos dado el nombre de edificio.BMP y ladoedificio.BMP

  

 

y finalmente añadimos los datos al fichero 

EDIFICIO.B3D
[Meshbuilder] ;FRONTAL EDIFICIO
Vertex 0,0,0
Vertex 8,0,0
Vertex 8,8,0
Vertex 0,8,0
Face 0,1,2,3
Face 3,2,1,0

[Texture]
Load edificio.bmp
Coordinates 0,0,0
Coordinates 1,1,0
Coordinates 2,1,-1
Coordinates 3,0,-1
transparent 0, 0, 255

[Meshbuilder] LATERAL IZQUIERDO EDIFICIO
Vertex 0,0,0
Vertex 0,8,0
Vertex 0,8,8
Vertex 0,0,8
Face 0,1,2,3
Face 3,2,1,0

[Texture]
Load  ladoedificio.bmp
Coordinates 0,0,0
Coordinates 1,1,0
Coordinates 2,1,-1
Coordinates 3,0,-1
transparent 0, 0, 255

Si quisieramos cambiar la textura de algun lado lo podemos hacer cambiando la textura del lado correspondiente . El edificio se verá de la manera siguiente . 

Ya solo nos falta colocarlo en nuestra ruta y ver como nos ha quedado .

TUTORIAL.CSV
Route.Comment Esto es un trayecto de prueba para la linea de alta velocidad con un recorrido de 3km y dos estaciones
Route.Timetable Madrid - Zaragoza
Route.Gauge 1435
Train.Folder caf-s112
Train.Run(0) 2
With Structure
.Rail(0) S1\ballasts.csv
.Ground(0) S1\grass.csv
Texture.background(0) S1\fondos\fondo2.bmp
.Pole(0; 0) S1\Pole1.csv
.Pole(1; 0) S1\Pole2.csv
.Pole(2; 0) S1\Pole3.csv
.Pole(3; 0) S1\Pole4.csv
.WallL(0) s1\WallL.csv
.WallR(0) s1\WallR.csv

.freeobj(0) edificio.b3d

With Track

0,,,,
.Accuracy 2,,,,,,,
.Adhesion 150,
.Height 0.5,
.Ground 0,
.back 0,,
.Sta MADRID; 8.3025; 8.3040; ; -1; 0; ; ; 10; 180; ,
,60,.Stop -1

,,.RailStart 1; -4; ; 0,,.Pole 0; 1;1 ; 25; 0,

100,.freeobj 0;0;3;0;0,

,3000,.Sta ZARAGOZA; 8.33; T; ; -1; 0; ; ; 10; 180; ,
,3060,.Stop 1,

 

 

Bien pues todo listo para que os pongais manos a la obra en la construcción de nuevos objetos . En este tema nos hemos basado en objetos bastante simples , pero esto os ayudará muchísimo en la creación de cualquier otro objeto complicado pues siempre sigue los mismos principios .

 

Hosted by www.Geocities.ws

1