Un objeto 3D se crea desde la opción GameObject. Vamos a ver como configurar nuestros modelos que usaremos como personajes dentro de Unity
Dentro de la pestaña UnityAssets Store es una opción que nos permite descargar modelos que hay hechos por otros usuarios de todo tipo de objetos
Vamos a crear un objeto en nuestra escena > GameObject> 3D Objects > Capsule y a continuación veremos las propiedades de colisión y renderizado.
Llevamos esta capsula a nuestro espacio donde tenemos la mazmorra que hemos visto en el tema anterior.
La renombraremos como player ya que este objeto lo vamos a utilizar como el jugador de nuestro juego. Al igual que debemos renombrar cada objeto de nuestra escena para que de esta manera tengamos un espacio ordenado y sepamos que es cada elemento. Algo similar a como se ve a continuación:
Vamos ahora a ver los parametros de nuestro player o capsula y para que son cada uno de estos elementos.
Dentro de la pestaña de inspector tenemos varios elementos que conforman nuestro objeto.
Lo primero de todo vamos a ver el Mesh Filter
Es una maya o la estructura de nuestro objeto(Los huesos)
Renderizador de maya es la piel que recubre nuestro objeto y que hace posible que nosotros podamos ver.
Esta piel puede ser cambiado según el material que nosotros pongamos al objeto.
Es la malla 3D que define la forma en cuanto a colisiones.
Puede que coincida con su forma al visualizarse con el Mesh Filter o puede que no.
Es decir, el mesh filter, la geometría de visualización del objeto con su box collider.
La geometría encargada de las colisiones de nuestro objeto
Pulsamos en el botуn Edit Collider para modificar nuestra malla de colisiуn. Se nos mostrara una malla verde con una serie de tiradores.
Modificamos el tamaсo de esta malla haciendola mas grande.
Para ello presionaremos con el ratón estos dos tiradores o ayudas y ensancharemos esta geometría.
La malla que vemos en verde sería la que compone el Collider y esos puntitos son de los que podemos estirar para modificar el Collider manualmente.
Al darle a esta malla un tamaño mayor que nuestro player hará que cuando choque con el suelo o con cualquier objeto la malla será la que colisionará y creara un espacio entre el objeto y nuestro suelo.
A continuación vamos a cambiar el collider de la capsula y la convertimos en un box collider. Clicamos al botón derecho del ratón encima de la opción capsule collider y la eliminamos.
Clicamos al botón add component> Physics>Box Collider
Este tipo de asignación de collider se utiliza mucho para mejorar el rendimiento de nuestro juego ya que si nosotros importamos una figura en tres dimensiones con sus piernas, brazos, etc, la geometría de este objeto sería muy compleja y a la hora de ejecutar el programa relentizaría el juego. Así que para simplificar se utiliza esta reasignación de malla. Y así sea más fácil detectar colisiones.
Podemos habilitar y deshabilitar todas estas propiedades clicando en el cuadro que aparece al lado de los titulos de cada parametro
El siguiente paso vamos a darle a nuestra capsula o personaje autonomia para que podamos moverlo con las flechas de nuestro ordenador.
Al seleccionar nuestro objeto tenemos nuestras flechas de coordenadas:
La Roja es a la derecha
La Azul es adelante
Y la Verde es hacía arriba
Estos ejes de coordenadas o flechas son los tiradores que nos permiten mover los objetos por el mapa en este caso ahora mismo si movemos nuestro objeto seleccionando cualquiera de estas flechas estaremos moviendolo con las coordenadas que hay en la escena.
Pero lo que queremos es que nuestro objeto se mueva con respecto a el no al mundo o escena así que vamos a cambiar el botón de Global a Local, de esta manera cambiamos a coordenadas del propio objeto en vez de las coordenadas del espacio.
Ahora vamos a programar un script para poder mover nuestro personaje por el escenario.
Este es el código que vamos a trabajar para poder mover la capsula con las flechas
Imput.GetAxis es el método para definir el eje de coordenadas donde definimos los tres ejes, x,y,z
Dentro de los parentesis estamos definiendo el movimiento de nuestro personaje en este caso definimos que en el eje x y el eje z Horizontal y Vertical que van a ser multiplicado por la variable public float velocidad cada vez que nos movamos en esos ejes en tiempo real.
El simbolo del asterisco en programación es la operación matemática de multiplicar. Al darle el nombre de publica esta variable podremos modificarla desde el propio inspector mientras está funcionando el videojuego
Le damos a play y desde la pestaсa de movimiento script podemos modificar en tiempo real los parametros de la velocidad lo que hara que nuestro player se mueva mas rapido o menos segun los valores que nosotros le pongamos desde el parametro de Movimiento en la opciуn Velocidad
Por ultimo añadimos la propiedad rigidbody a nuestro player para que funcione con respecto a una gravedad y las fisicas del entorno.
Congelamos los ejes de rotación para que al intentar subir por una cuesta o una elevación no se vea afectado el control de nuestros ejes ya que si no podemos volver loco al programa y hacer más caotico el manejo de nuestro personaje
Guardamos el proyecto como Player en nuestra carpeta