0% encontró este documento útil (0 votos)
70 vistas12 páginas

Objetos Predefinidos en Unity

Este documento describe cómo crear un laberinto simple dentro de Unity 3D usando objetos básicos como cubos y aplicándoles texturas. Explica cómo posicionar y duplicar los objetos para crear las paredes, pisos, puente y puertas del laberinto, y también cómo agregar agua simulada importando un paquete de agua de Unity. El objetivo es que los lectores aprendan a construir un entorno básico dentro de Unity usando solo objetos incorporados.

Cargado por

Andrea Asís
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
70 vistas12 páginas

Objetos Predefinidos en Unity

Este documento describe cómo crear un laberinto simple dentro de Unity 3D usando objetos básicos como cubos y aplicándoles texturas. Explica cómo posicionar y duplicar los objetos para crear las paredes, pisos, puente y puertas del laberinto, y también cómo agregar agua simulada importando un paquete de agua de Unity. El objetivo es que los lectores aprendan a construir un entorno básico dentro de Unity usando solo objetos incorporados.

Cargado por

Andrea Asís
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

Creando un Laberinto con

Objetos Incorporados
Este capítulo lo ilustrará cómo crear un ambiente interior simple usando primitivas y bienes estándar de
Unity 3D. Después de completar este capítulo, debe ser capaz de:
· Transformar formas básicas para crear un ambiente interior
· Entender cómo modificar las configuraciones para una escena
· Agregar y configurar los puntos de luz en una escena
· Entender y usar colisionadores para nuestro juego
· Agregar objetos de agua incorporados

Creando un Laberinto basado en objetos


incorporados
Basado en las habilidades que hemos cubierto en el capítulo previo, crearemos un laberinto para
nuestro juego. El diseño de nuestro laberinto se describe en el siguiente diagrama. El nivel constará de
dos ambientes conectados por un puente. Las diferentes secciones incluyen lo siguiente:
· Una plataforma desde donde el jugador iniciará el juego
· Agua que rodea la plataforma
· Un laberinto donde el jugador puede encontrar municiones y eliminar a sus enemigos
Creando un Laberinto con Objetos Incorporados

· Una puerta de salida que el jugador necesitará encontrar las llaves

Este diseño simple se puede lograr moviendo, ajustando y duplicando formas básicas. Antes de
empezar a crear el laberinto, vamos a crear una nueva escena y la carpeta para este capítulo como
sigue:
1. Abra nuestro proyecto anterior (laberinto), creado en el capítulo anterior, si no lo está todavía.
2. En la ventana Project, crear una nueva escena (File | New Scene) y guárdelo como chapter2
(File | Save Scene as). En la ventana Project, haga clic una sola vez en el folder Assets.
3. Seleccione: Create | Folder desde la ventana Project. Renombre esta carpeta chapter2.

[ 32 ]
Capítulo 2

A continuación, vamos a descargar todas las texturas necesarias para el laberinto. Necesitaremos cuatro
texturas para las paredes, piso, techos, y puertas. Según las secciones anteriores, vamos a descargar estas
texturas de la página web www.cgtextures.com, importarlos en nuestro proyecto y cambiar el nombre
de ellos para simplificar su uso. Mientras que algunas texturas se especifican en la siguiente sección,
podemos elegir otras texturas de nuestra elección.
1. Abrir el URL http://cgtextures.com.
2. Si todavía no estas logueado, hacerlo con sus datos previos, seleccionando
Members | Login.
3. Una vez que se ha logueado, buscaremos nuestras texturas.
4. Agregar la palabra clave MetalFloorsOthers0006 al campo de la búsqueda Search localizado en
el lado izquierdo de la ventana, y hacer clic en Search.
5. Al hacerlo deberá retornar un resultado. Hacer clic en la imagen y descargar la primera textura
(esto es, tiles) en la siguiente ventana (Image 1; 640x640) para descargarlo.
6. Una vez descargado el archive a su computador,
(MetalFloorsOther0006_1_S.jpg), renombrarlo a texture_floor.jpg.
7. Repetir pasos 4-6 ussando las siguientes palabras clave, configuraciones y nombres de texturas:
 Segunda textura (paredes): Usar la palabra clave concretebare0280,
escoger image1 (ConcreteBare0280_39_S), y renombrar la textura texture_walls
Tercera textura (techo): Usar la palabra clave ConcreteBare0314, escoge
 image1 y renombra la textura texture_ceiling
Cuarta textura (puerta): Usar la palabra clave DoorsMetalBig0183, y
 Renombrar la textura texture_door

A continuación, necesitamos importar estas imagines dentro de Unity3D, a fin de poder aplicarlas
a los objetos:
1. Cambiar a Unity3D.
2. Seleccionar la carpeta chapter2 que hemos creado anteriormente (localizada en el folder
Assets).
3. Seleccionar: Assets | Import New Asset.
4. Vaya a la carpeta donde descargamos las texturas.
5. Seleccione la textura rotulada texture_floor y haga clic en Import.
6. Repetir pasos 3-5 para las texturas texture_walls, texture_door, y
texture_ceiling.

[ 33 ]
Creando un Laberinto con Objetos Incorporados

Los pasos previos se pueden haber logrado descargando las texturas


a la computadora, y luego renombrando y arrastrando y soltando estas
texturas en la carpeta chapter2 dentro de Unity3D.

Podemos crear el piso para nuestro laberinto como se muestra en los pasos siguientes:
1. Crear un cubo nuevo y renombrarlo floor.
2. Cambiar su posición a (x=0, y=-1, z=0) y su escala a (x=49, y=1, z=49).
3. Aplicar la textura texture_floor a este objeto (arrastrar y soltar la textura
en el objeto).
4. Cambiar la propiedad del tile de la textura a (x=20, y =20) en la ventana
Inspector.
A continuación, podemos crear los bloques que serán incluidos en la sección 3 desde la captura de
pantalla previa:
1. Crear un nuevo cubo y renombrarlo block.
2. Cambiar la posición de este cubo a (x=-14, y=1, z=16) y su escala a (x=10,
y=4, z=10).
3. Aplicar la textura texture_walls a este objeto.
4. Cambiar la propiedad del tile a (x=10, y=1).
5. Duplicar este objeto siete veces (Ctrl + D) a las siguientes ubicaciones:
1. (x=0, y=1, z=16)
2. (x=14, y=1, z=16)
3. (x=-14, y=1, z=0)
4. (x=14, y=1, z=0)
5. (x=-14, y=1, z=-16)
6. (x=0, y=1, z=-16)
7. (x=14, y=1, z=-16)

6. Ahora debemos tener ocho bloques, dispuestos en un cuadrado.


Crear las rocas que se usarán como un puente para acceder al área rotulada como 1 en la captura de
pantalla previa:
1. Crear un cubo nuevo y nombrarlo bridge.
2. Aplicar la textura texture_floor a este objeto.
3. Cambiar la propiedad tiling de esta textura a (x=10, y=10).

[ 34 ]
Capítulo 2

4. Cambiar la posición de este cubo a (x=-13, y=-1, z=50) y su escala a


(x=2, y=1, z=2).
5. Duplicar este cubo 10 veces a las siguientes ubicaciones:
1. (x=-10, y=-1, z=50)
2. (x=-7, y=-1, z=50)
3. (x=7, y=-1, z=50)
4. (x=10, y=-1, z=50)
5. (x=13, y=-1, z=50)
6. (x=0, y=-1, z=42)
7. (x=0, y=-1, z=38)
8. (x=0, y=-1, z=34)
9. (x=0, y=-1, z=30)
10. (x=0, y=-1, z=26)

6. Duplicar el último objeto etiquetado bridge y renombrarlo platform.


7. Modificar la posición de este objeto (platform) a (x=0, y=-1, z=49) y la escala a (x=9, y=1, z=9).

Crear paredes horizontales como se muestra en los pasos siguientes:

1. Crear un nuevo cubo y renombrarlo h_wall_water_long.


2. Cambiar su posición a (x=0, y=0, z=57), su rotación a (x=0, y=90, z=0), y su
Escala a (x=2, y=6, z=50).
3. Aplicar la textura texture_walls a este objeto.
4. Duplicar este objeto y renombrar la copia h_wall_water_short_left.
5. Cambiar la posición de éste nuevo objeto a (x=-13, y=0, z=24), su escala a
(x=2, y =6, z=24), y mantener los atributos de rotación en (x=0, y=90, z=0).
6. Duplicar este objeto, y renombrar la copia h_wall_water_short_right.
7. Cambiar la posición de éste nuevo objeto a (x=13, y=0, z=24) y su escala a
(x=2, y =6, z=24).
8. Duplicar este objeto y renombrar el duplicado h_wall_short_right.
9. Cambiar la posición de este nuevo objeto a (x=13, y=1, z=-24) y su escala a
(x=2, y =4, z=24).
10. Duplicar este objeto y renombrar el duplicado h_wall_short_left.
11. Cambiar la posición de este nuevo objeto a (x=-13, y=1, z=-24) y su escala a
(x=2, y =4, z=24).

[ 35 ]
Creando un Laberinto con Objetos Incorporados

Crear paredes verticales tal como se muestra en los pasos siguientes:

1. Crear un nuevo cubo y renombrarlo v_wall_left.


2. Aplicar la textura texture_walls a este objeto.
3. Cambiar la posición de este objeto a (x=-24, y=1, z=0) y su escala a
(x=2, y=4, z=50).
4. Duplicar este objeto y renombrar el duplicado v_wall_right.
5. Cambiar la posición de este objeto (v_wall-right) a (x=24, y=1, z=0) y su escala a (x=2, y=4,
z=50).
6. Duplicar este objeto y renombrar el duplicado v_wall_water_right.
7. Cambiar la posición de este objeto v_wall_water_right a (x=24, y=0, z=40)
Y su escala a (x=2, y=6, z=32).
8. Duplicar este objeto y renombrar el duplicado v_wall_water_left.
9. Cambiar la posición de este objeto v_wall_water_left a (x=-24, y=0, z=40)
Y su escala a (x=2, y=6, z=32).
Crear puertas como se muestra en los siguientes pasos:

1. Crear un nuevo cubo y renombrarlo exit_door.


2. Aplicar la textura texture_door a este objeto y verificar la propiedad tiling de la textura (x=1,
y=1).
3. Cambiar la posición de este objeto a (x=0, y=1, z=-24) y su escala a (x=2,
y=4, z=2).
4. Duplicar esta puerta y renombrar este duplicado door1.
5. Cambiar la posición de este objeto (door1) a (x=-2.2, y =1, z=24) y su escala
a (x=2, y=4 y z=1.2). Esta puerta se abrirá y cerrará automáticamente.
Agreguemos agua al área de agua tal como se muestra en los siguientes pasos:

1. Seleccionar Assets | Import package | Water (Basic).


2. Aparecerá una nueva ventana etiquetada Importing package.
3. Hacer clic en el botón Import.
4. Esto importará todos los bienes necesarios para similar agua.
5. En la ventana Project, seleccionar Assets | Standard Assets | Water (Basic).
6. Debe incluir dos prefabricadas, Daylight Simple Water y Nighttime
Simple Water.

[ 36 ]
Capítulo 2

7. Arrastre y suelte los prefabricados Daylight Simple Water a la vista de la escena y


renómbrelos como water.
8. Cambiar su posición a (x=0, y=-2, z=42) y su propiedad escala a (x=26, y=1, z=35).

Agregar luces como se muestra en los pasos siguientes:

1. Comenzaremos agregando luces a las cuatro esquinas del laberinto.


2. Agregar un punto de luz seleccionando GameObject | Create Other | Point Light.
3. Renombrar esta luz light_corner.
4. Cambiar su posición a (x=21, y=2, z=-21) y su rango a 30.
5. Duplicar este objeto tres veces para obtener tres luces adicionales en las
posiciones (x=-21, y=2, z=21), (x=21, y=2, z=21), y (x=-21, y=2, z=-21).
6. Duplicar uno de los objetos etiquetado light_corner y renombrarlo
light_middle.
7. Cambiar la posición de este objeto (light_middle) a (x=0, y=2, z=0) y su rango a 50.
8. Verificar la escena en la vista Scene y agregue otras luces que desee.

Ahora que se han agregado todos los objetos necesarios al laberinto, necesitamos incluir un techo.

1. Crear un nuevo cubo y renombrarlo ceiling.


2. Aplicar la textura texture_ceiling a este objeto (seleccionando
Assets | chapter2).
3. Cambiar la propiedad tiling de la textura a (x=20, y =20).
4. Cambiar la posición del techo a (x=0, y=3.5, z=16) y la escala a
(x=50, y=1, z=83).
5. Agregar un controlador de primera persona a la escena (arrastrar y soltar el prefabricado First
Person Controller desde la carpeta Assets | Standard Assets | Character
Controllers) y cambie su posición a (x=3, y=0.6, z=3).

[ 37 ]
Creando un Laberinto con Objetos Incorporados

6. Ejecutar la escena (Ctrl + P) y navegar dentro del laberinto.

Navegar al área de agua y trate de alcanzar la plataforma, saltando sucesivamente en los


bloques.

Afinando el nivel
Hemos creado un nivel muy interesante, utilizando formas incorporadas; Sin embargo,
podríamos modificar algunos detalles. Por ejemplo, se puede observar que, aunque el
laberinto está sellado, todavía podemos ver algo de luz en las partes donde no hay puntos
de luz. Esto se debe esencialmente a la luz de ambiente, que puede ser modificado en
Unity3D. Podemos cambiar las propiedades de la luz ambiental como sigue:

1. Seleccionar: Edit | Render Settings.


2. Se debe mostrar una ventana llamada Render Settings en la ventana Inspector,
Con varios atributos disponibles, incluyendo Ambient Light.

[ 38 ]
Capítulo 2

3. Clic en el rectángulo a la derecha de la etiqueta Ambient Light.


4. Debe aparecer una ventana nueva etiquetada Color.
5. Bajo la opción etiquetada Sliders, podemos ver valores para cada componente
Del color de la luz de ambiente expresada, usando el código RGB. El campo
rotulado R provee la cantidad de rojo incluido en el color, el campo rotulado
G provee la cantidad de verde incluida en el color, el campo rotulado B
provee la cantidad de azul incluido en el color, y el campo A es para el canal
alpha (transparencia). Para nuestro juego, fijaremos la luz del ambiente a un
gris obscuro, que significa que los valores de los componentes R, G, y B
pueden fijarse todos a 60.
6. Cierre la ventana Color.
7. También podríamos habilitar la niebla marcando la casilla a la derecha de la
etiqueta Fog, y establecimiento su densidad a.05.
8. Ejecutar la escena (Ctrl + P).
También puede notar que algunas luces parpadean y que la iluminación cambia
constantemente, sobre todo en el suelo. Esto es porque en un momento dado, el piso
puede ser iluminado por varios puntos de luz. Podemos solucionar este problema
cambiando la configuración de la calidad de nuestra escena: selecionar Edit |
Project | Settings | Quality, y en la sección Rendering, aumentar el Pixel Light
Count (por ejemplo, a 5).

Los ajustes de la configuración, pueden incrementar el impacto visual


de su juego, por lo que es una buena práctica ajustar estos parámetros
hasta que estemos contentos con el aspecto de nuestro juego. Los ajustes de
configuración deben ser definidos para cada escena y también están
disponibles a través del scripting, por lo que podemos ajustar
dinámicamente éstos. Por ejemplo, podríamos simular un aumento de la
densidad de niebla con el paso del tiempo, o la luz ambiente con tiempo
extra de intensidad variable.

Entendiendo los colisionadores


Hasta ahora, hemos conseguido crear un nivel en el que el controlador en primera
persona puede navegar y chocar con las dos paredes y el suelo. Sin embargo, esto no
sería posible sin colisionadores. Cuando añadimos los diferentes componentes del
laberinto (por ejemplo, pared o suelo), un colisionador se agrega de forma
predeterminada a estos objetos. Esto hace que sea posible detectar la colisión entre los
objetos. En nuestro caso, el controlador en primera persona incluye un colisionador
predeterminado. Como resultado, este tipo de controlador choca con las paredes. Hay
varios tipos de colisionadores en Unity3D, incluyendo caja, esfera, capsula, rueda, o
de terreno. Algunos basados en figuras básicas tales como cajas (por ejemplo,
colisionadores caja), esferas (por ejemplo, colisionador esfera), o cápsula.

[ 39 ]
Creando un Laberinto con Objetos Incorporados

Usualmente es una buena práctica usar colisionadores con una forma similar al
del objeto en el cual se le aplica. Por ejemplo, podemos usar una caja colisionador
para una puerta, o una esfera colisionador para una pelota.
Usando estas formas básicas para colisiones también tiene algunas ventajas
de performance ya que requieren menos recursos computacionales que
colisionadores más personalizados y precisos como los colisionadores de malla.
Tenga en cuenta que cuando el objeto adjunto a este colisionador se cambia de
tamaño, el colisionador se cambia también de tamaño.

Veamos el objeto piso y su colisionador siguiendo estos pasos:

1. En la vista Scene, clic en un objeto etiquetado floor.


2. En la ventana Inspector, podemos ver una lista de componentes para este objeto.
Los componentes pueden agregarse o por defecto (cuando se crean) o después de creados
(usando el menú Component).
3. Podemos ver que uno de estos componentes es un Box Collider como se ilustra en la
siguiente captura de pantalla:

Vamos a probar el efecto de los colisionadores en las paredes haciendo lo siguiente:


1. Seleccione una de las paredes en la jerarquía.
2. Identifique su caja colisionador en la ventana Inspector.
3. Desactive la caja colisionador (seleccionando la caja a la derecha de la etiqueta Box
Collider en la ventana Inspector).
4. Pruebe la escena.
5. Debemos ser capaces de caminar a través de este muro.
6. Pare la escena y reactive la caja colisionador de este objeto.

[ 40 ]
Chapter 2

Podemos seleccionar varios objetos y cambiar sus propiedades simultáneamente


en Unity3D, a condición que la propiedad que queremos modificar esté
disponible en todos los objetos. Por ejemplo, si queremos desactivar los colisio-
nadores de dos paredes diferentes, podemos seleccionar ambas paredes (presionar
Ctrl y clic en los objetos en la vista Hierarchy) y desactivar el componente Box
Colliders una vez; este cambio se aplicará a ambas paredes.

Podemos ahora remover el colisionador y agregar otro colisionador al objeto:


1. Seleccione una de las paredes en la jerarquía, identifique su caja colisionador en la
ventana Inspector y remueva el colisionador: clic derecho en la etiqueta Box
Collider y seleccione Remove Component del menu contextual; al hacerlo debe
remover el colisionador.
2. Prueba la escena; seremos capaces de caminar a través de la pared.
3. Parar la escena.
4. Agregue un Nuevo colisionador a este objeto:
1. Seleccione la pared en la jerarquía.
2. Seleccione: Component | Physics | Box Collider.
3. Esto debe agregar una nueva caja colisionador al objeto.

5. Pruebe la escena.
6. Ahora tenemos que ser capaces de chocar con la pared otra vez.

Podemos hacer lo mismo con el piso tal como se muestra en los siguientes pasos:

1. Seleccione el objeto etiquetado floor en la vista Hierarchy.


2. Desactive su caja colisionador en la vista Inspector.
3. Pruebe la escena.
4. Nuestro personaje debe literalmente caer indefinidamente (porque no se ha detectado
una colisión con el piso).
Los Colisionadores pueden ayudar a hacer nuestra escena realista. Cuando se activan (esto
es, durante una colisión), se llaman a funciones incorporadas de modo que podamos a su
vez realizar acciones específicas cuando se produce esta colisión (por ejemplo, destruir un
objeto o reproducir un sonido). Vamos a cubrir este aspecto en los próximos capítulos.

[ 41 ]
Creando un Laberinto con Objetos Incorporados

Resumen
En este capítulo, hemos aprendido a crear un ambiente interior con formas básicas y los
activos estándar. Hemos aplicado diferentes transformaciones, incluyendo en movimiento,
escala y rotación. También hemos aprendido sobre los colisionadores y su importancia para
nuestro juego. Por último, hemos utilizado un objeto de agua incorporado o prefabricada
para simular el agua en nuestro juego. En el siguiente capítulo, vamos a aprender cómo
utilizar JavaScript e interactuar con los objetos dentro de la escena Unity3D.

[ 42

También podría gustarte