UNITY CREACION DE UN PROYECTO EN UNITY 1- GUARDAR LA ESCENA EN UNA CARPETA _scenes Lo llamamos minigame CreaR el MainboarB Este va a ser el punto de coordenadas 0 de mi mundo, y es a partir de acá, que van a ser calculadas las coordenadas DE TODOS LOS OBJETOS Apretamos F para ver totalmente la escena del objeto Sacamos los grids: DESTILDAR SHOW GRIDS Ponemos una esfera Reseteamos las coordenadas para asegurarnos que la esfera está en el origen: transfor reset La escena debe estar en el origen (resetear si necesario) Apretar F Como Cambiar de escala Poner la esfera justo encima del plano Para darle textura al plano debemos usar algún Material Creamos una carpeta Materiales en Assets Seleccionamos la carpeta creada luego cliqueamos en Create Material Llamamos al material fondo Le cambiamos el color Agarramos el material y lo soltamos en el plano para que tome textura Cambiemos la dirección de la luz: Rotation 60 en el eje Y PART II: Moviendo al jugador El movimiento se lo vamos a dar a través de un programa Definición de programa: Un programa es una secuencia de instrucciones, escritas para realizar una tarea específica Para crear un programa se usa un lenguaje de programación: Un lenguaje de programación es un lenguaje formal diseñado para expresar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Ejemplos de lenguaje de programación: Java, TurboPascal, Visual Basic, Phyton, C, C++, C#, JavaScript, Perl En nuestro caso vamos a usar C# es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad: El estado está compuesto de datos o informaciones; serán uno o varios atributos a los que se habrán asignado unos valores concretos (datos). El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él. La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, es su identificador Ejemplo: En Unity vamos a usar Scripts hechos con C# En informática un Script, también llamado archivo de órdenes o archivo de procesamiento por lotes es un programa pequeño, simple, que se usa para realizar generalmente tareas muy específicas. Por lo general se almacena en un archivo de texto plano. Movamos el Objeto. Para poder mover un objeto lo tenemos que definir como un cuerpo rígido: Rigidbody A este cuerpo le vamos a poder aplicar fuerzas para su desplazamiento Renombrar la esfera Jugador Crear la carpeta scripts Crear el script PlayerController: Seleccionar Jugador. luego Add Component NewScript: llamarlo PlayerController Una vez creado, mover el script a la carpeta Scripts v Abrimos el Script en el editor de scripts Borramos el código del ejemplo Vamos a chequear cada input del jugador para luego aplicar esa entrada al objeto Para eso podemos usar Update y FixedUpdate En Update va el código del programa, en FixedUpdate va todo lo relacionado con la fisica Uso de la Interface Input Esta clase lee los ejes, modificados por el teclado, una pantalla táctil o a través de un acelerómetro la clase input nos permite capturar el cambio de los ejes Una clase es una construcción que permite crear tipos personalizados propios mediante la agrupación de variables de otros tipos, métodos y eventos. Una clase es como un plano. Define los datos y el comportamiento de un tipo. Si la clase no se declara como estática, el código de cliente puede utilizarla mediante la creación de objetos o instancias que se asignan a una variable. Escribir Input Seleccionar Input Apretar la tecla ctrl + ‘ Accedemos a la información sobre la clase Input Escribamos el código para leer los inputs horizontales y verticales del teclado que interactúan con el cuerpoRígido para moverlo en la escena Tipo Intervalo aproximado Precisión float -3.4 × 1038to +3.4 × 1038 7 dígitos La palabra clave float denota un tipo simple que almacena valores de punto flotante de 32 bits Definimos dos variables de tipo float moveHorizontal y moveVertical Queremos ahora agregar fuerzas al cuerpoRigido Seleccionar Rigidody Apretar la tecla ctrl + ‘ Accedemos a la información sobre la clase Rigidbody Queremos agregar Fuerzas a nuestro cuerpoRigido Usamos la función AddForce En esta función necesitamos vector3 y Forcemode Vector 3 guarda 3 decimales en un contenedor Vector3(x,y,z) que permite mover el objeto en 3 dimensions ForceMode permite definir que tipo de fuerza le aplicamos a nuestro cuerpoRigido (fuerza, aceleración, impulso, cambio de velocidad) Creamos una variable que nos permita almacenar estos valores Nuestra variable va a ser Publica se va a llamar rb y va a ser de tipo Rigidbody public Rigidbody rb; En la función Start vamos a setear esta variable (esta función es llamada en el primer frame donde el script está activo, generalmente en el primer frame del juego) void Start ( ) { rb = GetComponent<Rigidbody>( ); } Esto va a encontrar y tomar el valor (si existe) del componente Rigidbody y se lo va a asignar a la variable Agregamos el código a nuestro Script rb Ahora que tenemos definida la variable rb vamos a ver cómo le asignamos los valores de la fuerza que queremos generar Lo que sigue es asignar las variables moveHorizontal y moveVertical a Vector3 Para eso creamos una nueva variable de tipo Vector3 llamada movement, Los valores de x, y, z determinaran la dirección de la fuerza X es la variable de movimiento horizantal Y es 0 0.0f no nos queremos mover hacia arriba Z es la variable de movimiento vertical Tenemos que reemplazar vector3 en rb.addForce(Vector3) por nuestro nuevo Vectro3 llamado movement I. Variables y Tipos de Datos Las variables son los sustantivos de los lenguajes de programación. En una primera aproximación se puede decir que son almacenes de información. Esta información puede variar a lo largo del tiempo, por lo que se justifica el nombre de variable para estos almacenes. Cada una de las variables tiene un nombre o identificador que la diferencia del resto y sirve para invocar a su contenido, (invariable en el tiempo), y sirve para almacenar un tipo de dato concreto. i. Tipos Primitivos Algunas de las palabras reservadas son nombres de tipos de datos Java: Tipo Descripción boolean Valor lógico true o false char Carácter Unicode 1.1.5, 16 bits. byte Entero en complemento a dos con signo, 8 bits. short Entero en complemento a dos con signo, 16 bits. int Entero en complemento a dos con signo, 32 bits. long Entero en complemento a dos con signo, 64 bits. float Número en punto flotante IEEE 754-1985, 32 bits. double Número en punto flotante IEEE 754-1985, 64 bits. ii. DECLARACIÓN DE UNA VARIABLE Una variable representa un espacio en memoria para almacenar un valor de un determinado tipo. El valor de una variable puede cambiar durante la ejecución de un programa. para utilizar una variable en un programa, primero hay que declararla. La declaración de una variable consiste en enunciar el nombre de la misma y asociarle un tipo de dato: tipo_de_dato identificador En el ejemplo siguiente se declaran e inician cuatro variables: una de tipo char, otra int, otra float y otra double: char c ='\n'; //el tipo char puede valer caracteres o cadenas de caracteres //señalados entre apóstrofes('') o valores numéricos main () { int i = 0; float f = 0.0F; double d = 0.0; //bloque de sentencias //necesitamos un valor para cada eje para aplicar una fuerza