Primeros pasos en Unity 3D.

Bueno, ahora os enseñare como poner un suelo y una caja, que cuando le des al espacio salte.

Antes de comenzar, tengo que decir, que voy a usar scripts, para ello tenemos que saber que se pueden usar de 2 lenguajes, tanto C# como Javascript, yo utilizo C# porque me es mas cómodo.

También tengo que decir, que cuando instalas Unity 3D te pregunta si quieres instalar el mono developer, para poder programar, yo en mi caso utilizo Visual Studio, ya que te complementa lo que escribes y si no tienes mucha idea te puede ayudar mucho, porque te dice los métodos y los atributos de los objetos y demás cosas.

Vale, abrimos Unity 3D y creamos un proyecto en blanco, ahora vamos a añadir un panel, que en este caso nos ara de suelo, para añadirlo tenemos que ir al menú «GameObject» -> «Create Other» -> «Plane» y nos insertara un plano, recordar que si tenéis la vista «Game» es posible que no os salga, porque a lo mejor esta detrás de la cámara o al lado, por eso lo mejor es usar la vista Scene.

Al seleccionar el plano, tendremos en el «Inspector» todas las variables que tiene el objeto, vamos a cambiarle las coordenadas de posicion X, Y y Z por las siguientes.

X: -0.25     Y: -1.4       Z: 0.6

Ahora añadimos un cubo, y seguimos la misma ruta de antes, pero escojemos un «Cube» y lo ponemos en las coordenadas  de posición.

X:0.5037987      Y:0.84     Z:-0.3450699

Como vemos, se nos quedara la caja encima del plano, si lo reproducís, veréis que esta muy oscuro y que la caja esta inmóvil, lo primero sera darle luz, para ello vamos a añadir un objeto de tipo luz.

Como dijimos anterior mente  ir al menú «GameObject» -> «Create Other» -> «Point light» ahora lo pondremos en las coordenadas de posicion X: 0.3747078   Y:6.464158    Z:-0.8763828 y en las de rotacion X:90 recordemos que hay posición, rotación y escala, ahora seleccionamos el punto de luz y en el Inspector en el apartado que pone Light, vamos a Type y seleccionamos Spot, y en «Intensity» 5.5 y en Spot Angle 65.

Le damos al Play y vemos como si fuera una luz que alumbra desde arriba, la caja por los lados no tiene luz, así que se vera oscura.

Pero diréis… ¿La caja no se cae?, ¿Y porque cuando le doy al espacio no salta?.

Vale, ahora llegamos a esa parte, tenemos que seleccionar la caja y darle «gravedad» despues de seleccionarla, le damos al meno «Component» -> «Physcis» -> «Rigidbody» y… ¡Ya esta! En el menú Inspector cuando seleccionemos la caja vemos que se ha añadido las propiedades Rididbody, podemos cambiar si queremos la masa, si usa gravedad, etc…

La caja tiene física, ahora le damos al play y efectivamente, ahora cae, pero tenemos que decirle que cuando le damos al espacio «salte» para eso tenemos que crear un script, ahora le damos al menu «Assets» -> «Create» -> «C# Script» y nos pedira el nombre, yo le pondre «impulso» y ahora tendremos que editarlo antes de eso, tenemos que «Sincronizarlo con un proyecto» en mi caso Visual Studio, para eso vamos a «Assets» ->  «Sync mono developer», cuando termine de sincronizar abrimos el fichero impulso y veremos lo siguiente:

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}
}

Bueno, el «Start» se usa cuando se inicia el objeto y el update por cada actualizacion del frame, ahora crearemos la función Impulso y la añadimos, y en el «Update» le diremos que cuando se pulse espacio, que llame a la función impulso.

Asi quedaria el Update

// Update is called once per frame
void Update () {
if (Input.GetButton(«Jump»))
{
Impulso();
}
}

Y asi seria la funcion Impulso

void Impulso()
{

void Impulso()
{
gameObject.rigidbody.AddForce(Vector3.up, ForceMode.Impulse);
}

Explicación: La función impulso, llama al gameObject enlazado al script y le dice a la gravedad, que le añada una fuerza hacia arriba y que sea un impulso.

Vale, ahora tenemos el script, pero no esta enlazado a ningún objeto, asi que, pinchamos en el script y lo arrastramos hasta el cubo que esta en el «Hierarchy» y lo soltamos, ejecutamos y… ¡Funciona! :).

A la hora de guardar os dirá que guardéis una escena, pues la guardáis en el assets y ya esta.

Aquí os dejo el proyecto de ejemplo, para que podáis mirarlo y toquetearlo 😛

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *