Subido por Victor reyes

Curso de Unity

Anuncio
Curso de Unity
Creación de RPG y Programación con C#
Basado en el curso: https://www.udemy.com/course/unity2019/
Dictado por el Profesor: Juan Gabriel Gomila Salas
Creado por:
Victor Reyes
ALIAS:Cabomaster
Indice
1
Creando el Proyecto
Abrimos Unity Hub
ADD:Sirve para agregar un proyecto ya existente.
NEW:Sirve para crear un nuevo proyecto.
2
2D: Sirve
para crear proyectos en 2D
3D: Sirve
para crear proyectos en 3D
High Definition RP: Es
un proyecto en 3D optimizado para dispositivos con maxima capacidad
grafica
Universal Render RP: Ni idea.
Proyect Name:Nombre del proyecto.
Location:Donde se guardaran el proyecto y sus carpetas.
Notas
Al momento de crear el
nombre para el proyecto
usar la técnica de
CamelCase.
CamelCase consiste en
poner todas las palabras
juntas y a su ves cada
primera letra de una
palabra en mayúsculas por
ejemplo;
MyFirstProyect
3
INTERFAZ DE UNITY
La ventana del Proyecto:
Notas
1-Al crear una
carpeta en Assets
siempre poner barra
baja ( _ ) , para que
las carpetas más
usadas aparezcan
primero.
2-Cualquier cosa que
pueda formar parte de
el juego debe estar
en la carpeta assets.
3-Crear siempre las
carpetas en la
carpeta de assets
jamás desde windows,
lo mismo si hay que
eliminar una carpeta
o archivo.
The Project Window (ventana del proyecto) muestra sus assets de librería que están disponibles para
ser usados. Cuando usted importe sus assets a su proyecto, estos aparecen aquí.
4
La Scene View (vista de escena)
La Scene View le permite a usted una navegación visual y editar su escena.
La scene view puede mostrar una perspectiva 2D o 3D dependiendo en el tipo de proyecto en el que esté trabajando
La ventana de Jerarquía
Notas
Cuando estas en modo Game
no se puede editar, por
la tanto para saber si se
esta en ese modo se
recomienda ponerle un
color al modo play, para
hacerlo se debe ir a:
Edit/preferences/Colors/
y cambiar el color de la
opción Playmode tint.
La ventana de jerarquía: es una representación de texto jerárquico de cada objeto en la escena. Cada elemento en la escena
tiene una entrada en la jerarquía, por lo que las dos ventanas están inherentemente vinculadas. La jerarquía revela la estructura
de cómo los objetos están agrupados el uno al otro.
5
La ventana del Inspector
La ventana del inspector le permite a usted visualizar y editar todas las propiedades del objeto actualmente seleccionado. Ya
que diferentes objetos tienen diferentes propiedades, el layout (diseño) y contenido de la ventana del inspector va a variar.
La barra de herramientas
La barra de herramientas proporciona un acceso a las características más esenciales para trabajar. En la izquierda contiene las
herramientas básicas para manipular la scene view y los objetos dentro de esta. En el centro están los controles de
reproducción, pausa, y pasos. Los botones a la derecha le dan acceso a sus servicios de Unity Cloud y su cuenta de Unity,
seguido por un menú de visibilidad de capas, y finalmente el menú del layout del editor (que proporciona algunos diseños
alternativos para la ventana del editor, y le permite a usted guardar sus propios layouts personalizados).
La barra de herramienta no es una ventana, y solamente es parte de la interfaz de Unity que usted no puede re-ajusta.
Sirve para mover o rotar, con el clic
izquierdo mueve y con el derecho rota.
Con clic izquierdo y la tecla Alt pulsada
rotas sobre un punto especifico, con el clic
derecho te acercas y alejas del punto.
También se puede hacer con clic derecho
presionado y las teclas W, S acercar y alejar
y A, D Izquierda Derecha
Sirve para mover objetos.
La flecha roja sirve para mover sobre el eje de las Xs
positivo y negativo
La de color verde es el eje de las Ys Arriba, Abajo.
La de color azul en el eje de las Zs Frente, Atrás.
Play: Sirve para probar el juego.
Pause:Pausa el modo juego.
Adelantar: Sirve para adelantar
frame por frame.
Sirve para colaborar con otras
personas.
En caso de que seas mas de 2 se debe
conseguir unity de pago.
Con CTRL presionado se mueve por unidad.
6
Sirve para rotar sobre los ejes.
Con CTRL presionado se rota en
grados de 15 en 15 grados
Sirve para guardar
proyectos en nube de Unity.
Detalles de cuenta de Unity
Sirve para estirar en los ejes.
Y con el del medio estira todos
los ejes al mismo tiempo
Sirve para hacer interfaces
graficas de usuarios, o en
juegos 2D para los Sprits
Layers
Aquí se puede modificar las
ventanas que conforman la interfaz
de Unity
Sirve para hacer rotación, mover al
mismo tiempo
¿??
Sirven para intercambiar entre si
las selecciones que se hacen en el
centro de los objetos o en el punto
de pivote.
Center: Es el centro sin más.
Pivote: Es el punto respecto del
cual los objetos se posicionan o se
rotan.
Nota
Cuando estemos
trabajando con un Objeto
y lo perdamos de vista
podemos apretar F para
hacer foco en él, o en
su defecto doble clic en
el objeto en Jerarquía
7
COMO CREAR Y NOMBRAR UN SCRIPT
Para crear un script se debe hacer click derecho dentro de la carpeta de script, luego en Create/C#
Script.
Nota 1
¡IMPORTANTE ¡
Al momento de crear el
script.
Se recomienda cambiarle
el nombre en seguida de
crearlo. Porque el nombre
de el fichero y el nombre
que aparecerá dentro de
visual estudio como la
clase o (Class) han de
ser los mismos, si los
nombres son distintos
puede causar errores.
Nota 2
Los scripts también han de
ser creados con la técnica
CamelCase.
La unidad más básica que hay en programación es una variable, todo empieza con
variables, cada variable tendrá información, “tipo de datos (que tipo de datos estamos
guardando)” y el valor
Puede guardar una palabra (strings)
Un numero decimal entero (int), Números con coma (float) para los floats se debe poner
f al final del número ejemplo: ( public float number = 2.4f;)
También pueden guardar boolones (bool) que es para (true o false)
8
INTRODUCCION EN LA PROGAMACION
Variables en Programación
Ejercicio de C# Script
Crear un script en la carpeta de scripts, abrirlo y poner el siguiente código:
(El código que hay que poner este marcado en amarillo, el resto ya viene con el script)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class
{
MyFirstScript : MonoBehaviour
public int carDoors = 4;
Nota 1
1-Para guardar en Visual Studio
en Windows se presiona Ctrl+S.
2-Documentacion de C# Oficial
de Visual Basic:
https://docs.microsoft.com/eses/dotnet/csharp/programmin
g-guide/
Este nombre tiene que ser igual al del
fichero.
// Start is called before the first frame update
void Start()
{
Debug.Log(3 + 5);
Debug.Log(carDoor - 1);
Nota 2
1-La diferencia entre una
variable y una constante es que
la variable puede cambiar y las
constantes no.
2-En matemáticas las variables
se pueden representar de la
siguiente forma: 2+9= 11
X=9
Y=2
Entonces se podría decir que
X+Y=11
}
En programación X podría ser
carDoors como un ejemplo.
// Update is called once per frame
void Update()
{
}
}
Ahora que tenemos el script programado guardamos y nos vamos a Unity.
9
Como aplicar un Script a un GameObject
Hacemos clic en Main Camera y en
Inspector saldrá:
Arrastramos el script y lo
colocamos en Main Camera en el
Inspector
Así se vería el Script Colocado:
Aquí aparece lo que hicimos en C#
Nota 1
Nota 2
Un script por sí mismo es
inútil.
Un script sirve para que
alguien del video juego
haga algo, ese alguien es
un GameObject (un objeto
del videojuego) cualquier
cosa que este dentro de la
ventana Jerarquía es un
GameObject, como por
ejemplo la Main Camera.
Los scripts son los únicos
assets que por si mismos no
pueden ser un GameOject,por
lo tanto necesitan estar
asociados a un GameObject.
Ahora vamos activar la consola y ver que es lo que hace el script.
10
Activando la consola en unity.
Para activar la consola se puede hacer como en la imagen o con Ctrl+Shift+C.
En la pestaña Windows también tenemos otras ventanas que podrían servir en un foto como por
ejemplo Audio , Rendering ,Animation etc.
Consola
Luego de tener activada la consola presionamos Play y en consola debería mostrar algo así:
Notas
El Debug.Log sirve
para mostrar cosas
por la consola .
El 8 sería el Debug.Log(3 + 5);
El 1 sería el Debug.Log(carDoors- 3);
11
Que es lo que hace el Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class
{
MyFirstScript : MonoBehaviour
public int carDoors = 4;
// Start is called before the first frame update
void Start()(El Start es un método, que como dice el comentario en
verde
arriba, El Start es llamado justo en el primer frame, por lo
tanto los códigos que están entre las llaves
línea tras línea en orden
{}
se ejecutan
)
{
Debug.Log(3 + 5); (La primera línea ejecutada)
Debug.Log(carDoor - 1); (Segunda línea ejecutada)
}
// Update is called once per frame
void Update()
{
}
}
12
PROTOTIPADO DE VIDEOJUEGOS CON PRIMITIVAS
Creando GameObjects en Jerarquía
Ahora vamos a crear un cubo
Para crear un cubo hacemos clic derecho dentro de la ventana Jerarquías, 3D Object/Cube.
Notas
Create Empty es un
objeto vacío.
Se puede utilizar
como un Manager,Un
Manager es un
encargado de gobernar
otras acciones de
otros objetos, por
ejemplo contar los
puntos, determinar un
GamerOver, pasar un
nivel, etc.
13
METODOS EN PROGRAMACION
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyFirstScript : MonoBehaviour
{
public int x = 2;
public int y = 3;
Métodos
// Start is called before the first frame update
void Start()
{
AddTwoNumbers();
Notas
}
// Update is called once per frame
void Update()
{
1-Un método tiene el valor
de retorno, el nombre,
serie de datos.
Ejemplo:void start ()
Valor de retorno: void
El nombre:Start
}
void AddTwoNumbers()
{
Y la serie de datos va
entre los ()
2-Los métodos terminan en
{}
Debug.Log(x + y);
}
}
14
Clases en programación
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
Esta es una clase en programación y se le básicamente como:
class
MyFirstScript
( La clase ) ( MyFirstScript )
public class MyFirstScript : MonoBehaviour
{
public int x = 2;
public int y = 3;
// Start is called before the first frame update
void Start()
{
AddTwoNumbers();
}
// Update is called once per frame
void Update()
{
:
( que hereda)
MonoBehaviour
( del
comportamiento único)
Notas
1-En general puede haber
muchos comportamientos.
Ejemplo un personaje que
se agacha, salta, se
mueve; cada una de esas
cosas podría ser un
comportamiento en general.
2-Cada clase guarda toda
la información, variables
y métodos, a un único
comportamiento.
3-Los nombres de las
clases siempre tienen que
ser en CamelCase
}
void AddTwoNumbers()
{
Debug.Log(x + y);
}
}
Ahora veremos un ejemplo de la clase que gobernaría a un Cartero
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
Cartero{
//Variables
Calle =”Calle siempre viva, 876”;
//Metodos
void EntregarCorreo()
void RecogerCorreo()
}
15
Comentarios en Programación
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyFirstScript : MonoBehaviour
{
public int x = 2;
public int y = 3;
// Start is called before the first frame update
void Start()
{
AddTwoNumbers();
}
// Update is called once per frame
void Update()
{
}
/*
* Esto es un comentario
* de múltiples líneas
* para explicar cosas
*/
///<summary>
/// Add Two Numbers.
///</summary>
void AddTwoNumbers()
COMENTARIOS
Notas
1-Los comentarios son
útiles para recordar que
hace cada código de método
o línea.
2-Los comentarios en C#
siempre se comienzan con
// si es un comentario de
una sola línea.
3-Cuando es un comentario
de múltiples líneas se usa
/* para empezarlo y */
para cerrarlo
4-Con /// antes de un
método visual basic lo
comenta automáticamente
5-Un buen uso de la
variables ,métodos es
clave para que los
comentarios sean auto
explicativos
{
Debug.Log(x + y);
}
}
16
17
Acerca de la Optimización y Método Update
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class
{
MyFirstScript : MonoBehaviour
public int carDoors = 4;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
(El update como dice ene l comentario es llamada una vez por frame)
Cualquier cosa que vaya aquí se ejecutara una vez por frame
Por tanto aquí no pueden ir códigos muy complicados que tarden
mucho en ejecutarse.
}
}
18
FUNDAMENTOS BASICOS DE C#
PARA SCRIPTING
Conceptos básicos para escribir en C#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyFirstScript : MonoBehaviour
{
public int x = 2;
public int y = 3;
public string name = "Jon Snow";
// Start is called before the first frame update
void Start()
{
AddTwoNumbers();
}
// Update is called once per frame
void Update()
{
}
void AddTwoNumbers()
{
Debug.Log(x + y);
}
}
19
Acerca del Metodo Debug
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Descargar