SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
1
www.3dboxweb.com
By: Deodato Pechir.
UNITY 3D MANUAL
2
www.3dboxweb.com
INDICE DINAMICO – IMPLEMENTACÓN.
MENU:
1. STRUMPY SHADER EDITOR.
2. PHYSICS CLOTH.
3.1 ROAD & PATH TOOL.
3.2 RIVER TOOL.
3.3 TERRAIN TOOL KIT.
4. GAMEPAD CONTROLLER.
5. SAVE SCENE.
6. RAGDOLLS.
Nota: Si quieres regresar al Índice haz click sobre el Cubo en la parte superior derecha de cada página.
3
www.3dboxweb.com
1. STRUMPY SHADER EDITOR
4
www.3dboxweb.com
Stumpy Shader Editor:
Este editor permite generar shader complejos estilo UDK, sin tener que programar una línea de código se pueden generar shaders
avanzados para next-gen, animados o efectos especiales.
MASTER: Contenedor de todos los canales para la generación de shaders.
Albedo: Canal para asignar Color / Diffuse.
Normal: Canal pa ra crear el relieve de detalle del Normal Map.
Emission: Canal para hacer iluminar el shader.
Specular: Canal para controlar el tamaño de la absorción de luz.
Gloss: Canal para controlar el poder del specular.
Alpha: Canal para controlar la transparencia del shader.
Clip: Canal para asignar transparencia cutout.
Node: Comentarios que se pueden dejar en los nodos y atributos/valores,
Inputs: Permite agregar, mover (arriba/abajo) inputs, que se podrán controlar desde el inspector modificar sus valores.
Settings: Permite cambiar las características generales del material: Pixel shader, backface culling, fog, lightmaps, sombras, etc.
Nodes: Estos son los nodos que podemos usar como método grafico para programar los shaaders, estos se dividen en varias categorías:
 Constant: Permite agregar nodos  Convertir valores float Constan, float3 a constant, one, zero, etc.
 Operation: Permite agregar funciones matemáticas para valores como  add, multiplay, divide, min, max substrac, invertir, etc.
 Functions: Permite agregar funciones entre nodos para agregar  Mask, Normalize, Parallax, fresnel, Lerp, unpackNormal, etc.
 Properties: Permite agregar nodos  color, float, range, texturas2d, TexturasCubo, float
 Inputs: Permite agregar nodos  Screen Depth, Position, SinTime, Time
5
www.3dboxweb.com
Color: Nodo para cargar un Color desde el Inspector.
Text2D: Nodo con atributos de RGBA + UVS para conectar a un Sampler2D.
Sampler2d: Nodo para conectar una textura (sampler) y control de sus UVs.
SamplerCube: Nodo para cargar una textura desde el Inspector.
TextCube: Nodo para conectar una textura (Sampler) de cubo y control de Normal (vista).
Range: Nodo para crear un Slider en el inspector con un mínimo y máximo de valor.
Float: Nodo para crear un Campo de Texto en el inspector para poner valores.
Multiply: Nodo que permite multiplicar dos valores (nodos).
Add: Nodo que permite sumar (valores) o sobreponer (tex2d).
Lerp: Nodo que permite mezclar 2 Nodos A / B un Alpha.
Invert: Nodo para invertir el valor o textura.
UnpackNormal: Nodo que permite a un Tex2D se convierta en normalmap y tenga calidad como NormalMap (después de add/multiply)
Tex2dNormal: Nodo que permite automáticamente a un Sampler2D convertirse en NormalMap y mantener su calidad.
Substract: Nodo que permite hacer una resta entre dos valores o entre imágenes (Alpha en Clip).
Fresnel: Nodo que permite crear efecto de Fresnel con componente de View, para efecto 0 a 1 (Color 1 a Color 2).
ViewDirection: Nodo que se usa internamente para el nodo de Fresnel (View), para crear también efectos de reflejo en TexCube.
Splat: Separa canales o puede combinar todos los canales RGB.
6
www.3dboxweb.com
DIFFUSE:
SPECULAR & GLOSS:
7
www.3dboxweb.com
NORMAL:
EMISSION:
8
www.3dboxweb.com
CUTOUT:
DISTORTION  Settings>Queqe Settings>Render Type: Transparent | NormalizedScreePosition: ScreenPos [0,1]:
9
www.3dboxweb.com
MATERIALES ANIMADOS: Visualizar: Versión PRO  PREVIEW / Probar: Se debe de exportar como shader y ponerlo en un material.
MOVER: UV Pan permite mover las uvs en las opciones de x,y,z.
APAGAR/PRENDER: Sine permitira osilar entre los valores del LERP (RGB) y usamos Splat par conectar el Sine en canal Alpha.
10
www.3dboxweb.com
2. PHYSICS - CLOTHS
11
www.3dboxweb.com
Cloth:
Permite crear dinámicas con telas, para simular banderas, telas, redes y cuerpos suaves (Softbodies), se pueden crear de dos maneras:
1. GameObject> Create Other> Cloth: creara un plano que podemos usar como Cloth.
2. GameObject> Create Empty, Component>Physics>Interactive Cloth & Cloth Render. De esta manera podemos
seleccionar cualquier mesh que es dentro del Project y usarlo como Cloth.
Permite anclar al cloth a cualquier objeto dentro de la escena para que quede colgado.
Tip: Al objeto a anclar debe de estar lo suficientemente cerca para poder anclarlo.
 Bending: Permite simular mayor espesor en la tela.
 Streching: Permite que la tela se arrugue mas al doblarse.
 Damping: Permite que la tela brinque de acuerdo a las fuerzas aplicadas.
 Thickness: Permite trasladar la posición de la que se encuentra anclada el Cloth.
 Gravity: Aplicar fuerza constante de gravedad.
 Self Collision: Permitir en que entre el mismo cloth pueda colisionar.
 External: es una aceleración de una fuerza constante directa al Cloth.
 Random: es una aceleración de una fuerza aleatoria al Cloth.
 Mesh: asignar un mesh como interactive cloth (Empty Objects).
 Frction: cantidad de friccion del cloth, esto evita demasiado rebote o movimiento.
 Density: la densidad del objeto para hacerlo más pesado.
 Pressure: hace que los Mesh-Cloth (softbodies) se inflen o desinflen al colisionar.
 Collision Response: Fuerza con la que hará rebotar a los objetos que le colisionen.
 A. Tear Factor: Cuan lejos tiene que estar pegado el rigidbody para romperse.
 A. Response: Cuanta fuerza debe de aplicarse al los rigidbodies pegados.
 Tear Factor: Permite hacer que el cloth se pueda romper
12
www.3dboxweb.com
3. ADVANCED TERRAIN TOOLS.
13
www.3dboxweb.com
Road & Path Tool:
Permite crear caminos sobre un terreno aplanando donde este la ruta, así como poder pintar la ruta sobre la cual se trazo sobre el
terreno.
Pasos:
1. Click en: "New Path" para crear un nuevo “path Game Object”, en el panel de jerarquías, y lo seleccionamos.
2. Click en: "Add Path Node". Damos click sobre la ventana del editor para tener activa la ventana y presionamos la
tecla P y damos click sobre el terreno.
3. Continuamente se puede agregar un nuevo nodo al presionar “P” y click sobre el terreno hasta terminar el camino.
4. Click en: "Finalize Path" para terminar el camino y se deforme el terreno de acuerdo al camino creado.
5. Click en: "Smooth Path" para suvizar el terreno donde se encuentra el camino, esto es hata terminar el camino.
6. Click en: "Smooth Path Slope" para suavizar el terreno sobre los daldos, esto es hasta terminar.
7. Al terminar borramos el “Script”, y solo se deja el mesh creado.
14
www.3dboxweb.com
River Tool:
Permite crear caminos para generar ríos sobre un terreno, haciendo huecos hacia abajo del terreno, para después aplicar mesh de agua.
Pasos:
1. Click en: "New River" para crear un nuevo “river Game Object “- 'River' – y lo seleccionas.
2. Click en: "Add River Node". Y vamos a la ventana del “Editor” y presionamos la tecla “R” y damos click sobre el
terreno para iniciar el agregar nodos.
3. Continuamente se pueden agregar mas nodos con solo estar presionando la misma tecla y dar click cobre el terreno.
4. Click en: "Finalize River" para finalizar el rio y se deforme el terreno.
5. Click en: "Smooth River" para suavizar el terreno a los lados de la creación del rio.
6. Si la orilla del rio esta sobre saliente damos click en "Close River" para corregirlo, esto es solo hasta finalizar el rio.
7. Al finalizar eliminamos el script del rio.
15
www.3dboxweb.com
Terrain Tool kit:
Permite crear más variaciones sobre terrenos de manera más profesional y sencillo en pocos minutos de trabajo.
CREATE:
FRACTAL:
PERLIN: TEXTURE: EROSION :
16
www.3dboxweb.com
4. Xbox GamePad Controller.
17
www.3dboxweb.com
STICK  Der
D-PAD
STICK  IZQ
TRIGGERS
18
www.3dboxweb.com
GamePad Controller:
Se puede usar GamePad de Xbox para poder controlar las acciones de nuestro juego re mapeando los botones del control y sustituirlos
por el uso del teclado y mouse, generando juegos con orientación a consolas o PC NextGen. Edit>Project Settings>Inputs.
BOTONES: (La sensibilidad deberá estar a 1000).
A = joystick 1 button 0
B = joystick 1 button 1
X = joystick 1 button 2
Y = joystick 1 button 3
[LB] = joystick 1 button 4
[RB] = joystick 1 button 5
Back = joystick 1 button 6
Start = joystick 1 button 7
Stick Izq  Botón = joystick 1 button 8
Stick Der  Botón = joystick 1 button 9
Nota: Estos son los valores de “Type y Aixs” para esta categoría.
AXIS (Sensibilidad deberá de estar en 1 y digital 1000).
Stick Izq  X Axis (Horizontal) = X Axis
Stick Izq  Y Axis (Vertical) = Y Axis
Stick Der  4th
Axis (Vertical) = 4th axis (Joystick)
Stick Der  5th
Axis (Horizontal) = 5th axis (Joystick)
Triggers = 3rd Axis (joystick & Scrollwheel).
D-Pad (Horizontal) = 6th Axis (Joystick)
D-Pad (Vertical) = 7th Axis (Joystick)
Nota: Los triggers (3rd Axis), aunque son análogos, Unity los detecta en
forma Digital (-1 a 0 a 1).
19
www.3dboxweb.com
5. SAVE & LOAD SCENE VALUES.
20
www.3dboxweb.com
Save Game (PlayerPrefs):
Para poder crear la opción de guardar una escena de un juego sobre la partida en la que estamos jugando, necesitamos usar una función
llamada PlayerPrefs, la cual nos permite guardar solamente variables del juego, en donde estas serán variables con información
de lo que queremos guardar como: posición del personaje, vida, sangre, ítems, checkpoint u opciones activadas del juego.
1. General: Se quiere que el personaje cuando pase por el ultimo Checkpoint activado y se use la opción de Salvar escena, este lo
haga a partir del último Checkpoint activado, así al reiniciar el juego el personaje inicie en la posición del Checkpoint Salvado.
2. Cargamos el paquete “Save_Scene_Start”, en data en Prefabs esta “Character_Prefab”, este lo insertamos en la escena.
3. En Data>Checkpoint_Prefab crearemos y asignaremos un script llamado “AI_CheckPoint”, así todos los prefab de este
tendrán el script dentro de la escena y no se tendrá que asignar de uno por uno el Script.
AI_CheckPoint
//Variable para saber que Checkpoint ha sido activado
var vCheckPoint : String;
//Variable para cargar el objeto a donde mandaremos la info del CP activado.
var Script_Salvar : AI_Save_Load;
function OnTriggerEnter () {
// Mandar al gameObject Esfera el CP activado a su variable para guardar
Script_Salvar.Salvar_CP = vCheckPoint;
print ("Checkpoint >"+vCheckPoint+"< Activado");
}
4. Ahora lo que haremos es que cada CheckPoint en su script (escena) le
asignaremos una letra de identificación: vCheckPoint  “A a D”.
21
www.3dboxweb.com
5. Creamos “2 Inptus”  “Salvar” (Click Izq) y “Cargar” (Click Der).
6. Creamos un script llamado “AI_Save_Load” y lo asignamos a la esfera de arriba que servirá para mandarle información de
cuando se active cada Checkpoint.
AI_Save_Load
//Variable que indica que Checkpoint se guardara
var Salvar_CP : String = "A";
//Variable para insertar al personaje para después moverlo a otro CP.
var Character : GameObject;
function Update () {
//SAVE - Click Izquierdo, creamos Info para ahí almacenar la info
if (Input.GetButtonDown ("Salvar")) {
PlayerPrefs.SetString("info", Salvar_CP);
print ("CheckPoint: "+Salvar_CP+" Salvado");
}
//LOAD - Click Derecho, ReCargamos la escena
if (Input.GetButtonDown ("Cargar")) {
Application.LoadLevel ("Escena");
}
}
7. La Variable de Salvar_CP, le asignamos “A”, ya cuando inicie la
escena por primera vez será a partir de este CheckPoint.
8. En la variable “Character” cargamos al personaje de la escena,
para después mover esta variable a cada CP activado.
9. Ahora que esta creado el Script “AI_Save_Load”, haremos que
cada CheckPoint (A, B, C, D) en su variable de “Script_Salvar”
carguen al script de la Esfera: “AI_Save_Load”.
//Extra: Permite NO destruir el objeto al iniciar la escena (funcion de Awake)
DontDestroyOnLoad (); / DontDestroyOnLoad (transform.gameObject);
22
www.3dboxweb.com
10. Al iniciar la escena ejecutamos una función que ira por la variable almacenada en Windows, y dependiendo el CP se moverá al personaje al CP.
function Start (){
CharacterMove (); Ó CharacterInstance ();
}
OPCION A: CHARACTERMOVE  MOVER AL PERSONAJE QUE YA ESTA CREADO EN LA ESCENA
function CharacterMove (){
var Save_Load : String = PlayerPrefs.GetString("info");
print ("Check Point Cargado: " + Save_Load);
if (Save_Load == "A"){
Character.transform.position = Vector3 (0,0,0);
}
else if (Save_Load == "B"){
Character.transform.position = Vector3 (0,0,11);
}
else if (Save_Load == "C"){
Character.transform.position = Vector3 (0,0,24);
}
else if (Save_Load == "D"){
Character.transform.position = Vector3 (0,0,38);
}
}
OPCION B: CHARACTERINSTANCE  CREAR PERSONAJE DINAMICAMENTE Y MOVERLO
function CharacterInstance (){
var Save_Load : String = PlayerPrefs.GetString("info");
print ("Check Point Cargado: " + Save_Load);
if (Save_Load == "A"){
Instantiate (Character, Vector3 (0,0,0), transform.rotation);
}
else if (Save_Load == "B"){
Instantiate (Character, Vector3 (0,0,11), transform.rotation);
}
else if (Save_Load == "C"){
Instantiate (Character, Vector3 (0,0,24), transform.rotation);
}
else if (Save_Load == "D"){
Instantiate (Character, Vector3 (0,0,38), transform.rotation);
}
}
23
www.3dboxweb.com
24
www.3dboxweb.com
6. RAGDOLL – ANIMATION TO RAGDOLL
25
www.3dboxweb.com
Ragdoll – Animation to Ragdoll:
Para hacer que un personaje cuando muera se sustituya por un ragdoll, y este tenga la misma posición de rotación de cada uno de los
joints se hace lo siguiente:
1. Cargamos el paquete Ragdoll, dentro del paquete tenemos un mesh, un ragdoll y una animación de “Run”.
2. Creamos un script “AI_Ragdoll” y lo asignamos al personaje:
AI_Ragdoll
//Variable para cargar el RagDoll
var vRagdoll : Transform;
function Start (){
//Reproducción de animación
animation.Play ("run");
// Esperar
yield WaitForSeconds (1.5);
//Destruir Mesh animado
Destroy(gameObject);
// Instancia para cambiar por ragdoll
var InstanceRagdoll : Transform = Instantiate(vRagdoll, transform.position, transform.rotation);
// Ejecutar la función y mandarle la posición del ragdoll de cada Joint.
ActivarRagdoll (transform, InstanceRagdoll);
}
// Funcion que contiene la posición del personaje animado y la de ragdoll creado.
function ActivarRagdoll (Character : Transform, RagdolLoad : Transform) {
RagdolLoad.position = Character.position;
RagdolLoad.rotation = Character.rotation;
// Igualar los valores de "transform" que tienen el mismo nombre.
for (var child : Transform in RagdolLoad) {
var JointTransforms = Character.Find(child.name);
ActivarRagdoll (JointTransforms, child);
}
}

Mais conteúdo relacionado

Mais procurados

Codemotion 2014 - Introducción a Unity
Codemotion 2014 - Introducción a UnityCodemotion 2014 - Introducción a Unity
Codemotion 2014 - Introducción a UnityMiguelitoCupra
 
Diseño y Desarrollo de Videojuegos
Diseño y Desarrollo de VideojuegosDiseño y Desarrollo de Videojuegos
Diseño y Desarrollo de VideojuegosMinerva.Net
 
Introducción a Unity 5 - Conceptos básicos de los videojuegos
Introducción a Unity 5 - Conceptos básicos de los videojuegosIntroducción a Unity 5 - Conceptos básicos de los videojuegos
Introducción a Unity 5 - Conceptos básicos de los videojuegosJuan Gabriel Gomila Salas
 
Presentación desarrollo de videojuegos
Presentación desarrollo de videojuegosPresentación desarrollo de videojuegos
Presentación desarrollo de videojuegosKayreKampa
 
Creando juegos con game maker 8
Creando juegos con game maker 8Creando juegos con game maker 8
Creando juegos con game maker 8Henrydarklite
 
10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuego10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuegoNicole2411
 
Presentacion diapositiva camilo completa diseño de videojuegos
Presentacion diapositiva camilo completa diseño de videojuegosPresentacion diapositiva camilo completa diseño de videojuegos
Presentacion diapositiva camilo completa diseño de videojuegosEmersoncamilo123
 
Diseño de juegos
Diseño de juegosDiseño de juegos
Diseño de juegosjuan-medina
 
Tutorial game maker
Tutorial game makerTutorial game maker
Tutorial game makerJoserichi
 
Desarrollo videojuegos conceptosbasicos2d
Desarrollo videojuegos conceptosbasicos2dDesarrollo videojuegos conceptosbasicos2d
Desarrollo videojuegos conceptosbasicos2dIgnacio Reyes
 
Posibilidades del entretenimiento y los videojuegos mediante la Realidad Virt...
Posibilidades del entretenimiento y los videojuegos mediante la Realidad Virt...Posibilidades del entretenimiento y los videojuegos mediante la Realidad Virt...
Posibilidades del entretenimiento y los videojuegos mediante la Realidad Virt...Josue Rodrigo Contreras Granados
 
Creacion de un videojuego (Jhoustin-Alexander
Creacion de un videojuego (Jhoustin-AlexanderCreacion de un videojuego (Jhoustin-Alexander
Creacion de un videojuego (Jhoustin-AlexanderJhoustin12
 

Mais procurados (20)

Codemotion 2014 - Introducción a Unity
Codemotion 2014 - Introducción a UnityCodemotion 2014 - Introducción a Unity
Codemotion 2014 - Introducción a Unity
 
Diseño y Desarrollo de Videojuegos
Diseño y Desarrollo de VideojuegosDiseño y Desarrollo de Videojuegos
Diseño y Desarrollo de Videojuegos
 
Tutorial unity3d 1_español
Tutorial unity3d 1_españolTutorial unity3d 1_español
Tutorial unity3d 1_español
 
Introducción a Unity 5 - Conceptos básicos de los videojuegos
Introducción a Unity 5 - Conceptos básicos de los videojuegosIntroducción a Unity 5 - Conceptos básicos de los videojuegos
Introducción a Unity 5 - Conceptos básicos de los videojuegos
 
Blender unityexpo
Blender unityexpoBlender unityexpo
Blender unityexpo
 
Presentación desarrollo de videojuegos
Presentación desarrollo de videojuegosPresentación desarrollo de videojuegos
Presentación desarrollo de videojuegos
 
desarrollo de videojuegos
desarrollo de videojuegosdesarrollo de videojuegos
desarrollo de videojuegos
 
Creación de videojuegos cristian urbano
Creación de videojuegos cristian urbano Creación de videojuegos cristian urbano
Creación de videojuegos cristian urbano
 
Desarrollo de videojuegos
Desarrollo de videojuegosDesarrollo de videojuegos
Desarrollo de videojuegos
 
Creando juegos con game maker 8
Creando juegos con game maker 8Creando juegos con game maker 8
Creando juegos con game maker 8
 
10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuego10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuego
 
Presentacion diapositiva camilo completa diseño de videojuegos
Presentacion diapositiva camilo completa diseño de videojuegosPresentacion diapositiva camilo completa diseño de videojuegos
Presentacion diapositiva camilo completa diseño de videojuegos
 
Diseño de juegos
Diseño de juegosDiseño de juegos
Diseño de juegos
 
Tutorial game maker
Tutorial game makerTutorial game maker
Tutorial game maker
 
Diseño de videojuegos
Diseño de videojuegosDiseño de videojuegos
Diseño de videojuegos
 
Desarrollo videojuegos conceptosbasicos2d
Desarrollo videojuegos conceptosbasicos2dDesarrollo videojuegos conceptosbasicos2d
Desarrollo videojuegos conceptosbasicos2d
 
Posibilidades del entretenimiento y los videojuegos mediante la Realidad Virt...
Posibilidades del entretenimiento y los videojuegos mediante la Realidad Virt...Posibilidades del entretenimiento y los videojuegos mediante la Realidad Virt...
Posibilidades del entretenimiento y los videojuegos mediante la Realidad Virt...
 
Creacion de un videojuego (Jhoustin-Alexander
Creacion de un videojuego (Jhoustin-AlexanderCreacion de un videojuego (Jhoustin-Alexander
Creacion de un videojuego (Jhoustin-Alexander
 
Experiencias educativas con VR (Campus Party 2017)
Experiencias educativas con VR (Campus Party 2017) Experiencias educativas con VR (Campus Party 2017)
Experiencias educativas con VR (Campus Party 2017)
 
Diseño de videojuegos
Diseño de videojuegosDiseño de videojuegos
Diseño de videojuegos
 

Destaque

Historia videojuegos
Historia videojuegosHistoria videojuegos
Historia videojuegosville97
 
Tipos de lenguajes de programaciòn
Tipos de lenguajes de programaciònTipos de lenguajes de programaciòn
Tipos de lenguajes de programaciònmarilynbarros
 
Historia de los lenguajes de programacion
Historia de los lenguajes de programacionHistoria de los lenguajes de programacion
Historia de los lenguajes de programacionJANIIER
 
La historia-de-los-videojuegos
La historia-de-los-videojuegosLa historia-de-los-videojuegos
La historia-de-los-videojuegosdaniel millan
 
Historia de los videojuegos
Historia de los videojuegosHistoria de los videojuegos
Historia de los videojuegosRuth Romero
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónKarol
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSJonathan Hidalgo Nolasco
 
Lenguaje De Programación
Lenguaje De ProgramaciónLenguaje De Programación
Lenguaje De Programacióndenisse176
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De ProgramacionROSA859
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaMichael de la Cruz
 
2013 02-13 powerpointse-fke71
2013 02-13 powerpointse-fke712013 02-13 powerpointse-fke71
2013 02-13 powerpointse-fke71IASDChocope
 
Aje emprende
Aje emprendeAje emprende
Aje emprendeBertaBG
 
Eldaylanoche 121101194556-phpapp02
Eldaylanoche 121101194556-phpapp02Eldaylanoche 121101194556-phpapp02
Eldaylanoche 121101194556-phpapp02Elena Zapata Valero
 
Ignacio Herrera y Mario Tejero
Ignacio Herrera y Mario TejeroIgnacio Herrera y Mario Tejero
Ignacio Herrera y Mario Tejeronanys26
 
metodología para crear una presentación
metodología para crear una presentaciónmetodología para crear una presentación
metodología para crear una presentacióndvendramin
 

Destaque (20)

Historia videojuegos
Historia videojuegosHistoria videojuegos
Historia videojuegos
 
Unity el futuro de los videojuegos
Unity el futuro de los videojuegosUnity el futuro de los videojuegos
Unity el futuro de los videojuegos
 
Tipos de lenguajes de programaciòn
Tipos de lenguajes de programaciònTipos de lenguajes de programaciòn
Tipos de lenguajes de programaciòn
 
Historia de los lenguajes de programacion
Historia de los lenguajes de programacionHistoria de los lenguajes de programacion
Historia de los lenguajes de programacion
 
La historia-de-los-videojuegos
La historia-de-los-videojuegosLa historia-de-los-videojuegos
La historia-de-los-videojuegos
 
Historia de los videojuegos
Historia de los videojuegosHistoria de los videojuegos
Historia de los videojuegos
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
 
Lenguaje De Programación
Lenguaje De ProgramaciónLenguaje De Programación
Lenguaje De Programación
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación Estructurada
 
2013 02-13 powerpointse-fke71
2013 02-13 powerpointse-fke712013 02-13 powerpointse-fke71
2013 02-13 powerpointse-fke71
 
1 inf.transparencia inst.
1 inf.transparencia inst.1 inf.transparencia inst.
1 inf.transparencia inst.
 
Aje emprende
Aje emprendeAje emprende
Aje emprende
 
Eldaylanoche 121101194556-phpapp02
Eldaylanoche 121101194556-phpapp02Eldaylanoche 121101194556-phpapp02
Eldaylanoche 121101194556-phpapp02
 
Encuadre de la asignatura
Encuadre de la asignaturaEncuadre de la asignatura
Encuadre de la asignatura
 
Ignacio Herrera y Mario Tejero
Ignacio Herrera y Mario TejeroIgnacio Herrera y Mario Tejero
Ignacio Herrera y Mario Tejero
 
metodología para crear una presentación
metodología para crear una presentaciónmetodología para crear una presentación
metodología para crear una presentación
 
Casa en Venta. Fusagasuga (Código: 89-M648351)
Casa en Venta. Fusagasuga (Código: 89-M648351)Casa en Venta. Fusagasuga (Código: 89-M648351)
Casa en Venta. Fusagasuga (Código: 89-M648351)
 
Presentac..
Presentac..Presentac..
Presentac..
 

Semelhante a Unity next gen_&_scripting

Semelhante a Unity next gen_&_scripting (20)

abajo practicoTrabajo de investigación autocad
abajo practicoTrabajo de investigación autocadabajo practicoTrabajo de investigación autocad
abajo practicoTrabajo de investigación autocad
 
Manual práctico de edición de Renders (1).pdf
Manual práctico de edición de Renders (1).pdfManual práctico de edición de Renders (1).pdf
Manual práctico de edición de Renders (1).pdf
 
parte 4 manual 2022.pdf
parte 4 manual 2022.pdfparte 4 manual 2022.pdf
parte 4 manual 2022.pdf
 
Efectos basicos
Efectos basicosEfectos basicos
Efectos basicos
 
3dsmax6 9 curso1
3dsmax6 9 curso13dsmax6 9 curso1
3dsmax6 9 curso1
 
Autocadsemana1 1
Autocadsemana1 1Autocadsemana1 1
Autocadsemana1 1
 
Manual 3 d studio max
Manual 3 d studio maxManual 3 d studio max
Manual 3 d studio max
 
Ogre Game Engine
Ogre Game EngineOgre Game Engine
Ogre Game Engine
 
Curso de autocad
Curso de autocadCurso de autocad
Curso de autocad
 
manual vector works v11
manual vector works v11manual vector works v11
manual vector works v11
 
Xna game studio presentación 03
Xna game studio   presentación 03Xna game studio   presentación 03
Xna game studio presentación 03
 
AUTODESK 3DS MAX.pptx
AUTODESK 3DS MAX.pptxAUTODESK 3DS MAX.pptx
AUTODESK 3DS MAX.pptx
 
Efectos basico autocad
Efectos basico autocadEfectos basico autocad
Efectos basico autocad
 
Capacitación del curso de mantenimiento
Capacitación del curso de mantenimientoCapacitación del curso de mantenimiento
Capacitación del curso de mantenimiento
 
Autocad semana 1
Autocad semana 1Autocad semana 1
Autocad semana 1
 
Autocad semana 1
Autocad semana 1Autocad semana 1
Autocad semana 1
 
tarea de scratch
tarea de scratch tarea de scratch
tarea de scratch
 
Guia 3 8 Scratch
Guia 3 8 ScratchGuia 3 8 Scratch
Guia 3 8 Scratch
 
Guia 3 6 scratch_4_periodo
Guia 3 6 scratch_4_periodoGuia 3 6 scratch_4_periodo
Guia 3 6 scratch_4_periodo
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 

Unity next gen_&_scripting

  • 2. 2 www.3dboxweb.com INDICE DINAMICO – IMPLEMENTACÓN. MENU: 1. STRUMPY SHADER EDITOR. 2. PHYSICS CLOTH. 3.1 ROAD & PATH TOOL. 3.2 RIVER TOOL. 3.3 TERRAIN TOOL KIT. 4. GAMEPAD CONTROLLER. 5. SAVE SCENE. 6. RAGDOLLS. Nota: Si quieres regresar al Índice haz click sobre el Cubo en la parte superior derecha de cada página.
  • 4. 4 www.3dboxweb.com Stumpy Shader Editor: Este editor permite generar shader complejos estilo UDK, sin tener que programar una línea de código se pueden generar shaders avanzados para next-gen, animados o efectos especiales. MASTER: Contenedor de todos los canales para la generación de shaders. Albedo: Canal para asignar Color / Diffuse. Normal: Canal pa ra crear el relieve de detalle del Normal Map. Emission: Canal para hacer iluminar el shader. Specular: Canal para controlar el tamaño de la absorción de luz. Gloss: Canal para controlar el poder del specular. Alpha: Canal para controlar la transparencia del shader. Clip: Canal para asignar transparencia cutout. Node: Comentarios que se pueden dejar en los nodos y atributos/valores, Inputs: Permite agregar, mover (arriba/abajo) inputs, que se podrán controlar desde el inspector modificar sus valores. Settings: Permite cambiar las características generales del material: Pixel shader, backface culling, fog, lightmaps, sombras, etc. Nodes: Estos son los nodos que podemos usar como método grafico para programar los shaaders, estos se dividen en varias categorías:  Constant: Permite agregar nodos  Convertir valores float Constan, float3 a constant, one, zero, etc.  Operation: Permite agregar funciones matemáticas para valores como  add, multiplay, divide, min, max substrac, invertir, etc.  Functions: Permite agregar funciones entre nodos para agregar  Mask, Normalize, Parallax, fresnel, Lerp, unpackNormal, etc.  Properties: Permite agregar nodos  color, float, range, texturas2d, TexturasCubo, float  Inputs: Permite agregar nodos  Screen Depth, Position, SinTime, Time
  • 5. 5 www.3dboxweb.com Color: Nodo para cargar un Color desde el Inspector. Text2D: Nodo con atributos de RGBA + UVS para conectar a un Sampler2D. Sampler2d: Nodo para conectar una textura (sampler) y control de sus UVs. SamplerCube: Nodo para cargar una textura desde el Inspector. TextCube: Nodo para conectar una textura (Sampler) de cubo y control de Normal (vista). Range: Nodo para crear un Slider en el inspector con un mínimo y máximo de valor. Float: Nodo para crear un Campo de Texto en el inspector para poner valores. Multiply: Nodo que permite multiplicar dos valores (nodos). Add: Nodo que permite sumar (valores) o sobreponer (tex2d). Lerp: Nodo que permite mezclar 2 Nodos A / B un Alpha. Invert: Nodo para invertir el valor o textura. UnpackNormal: Nodo que permite a un Tex2D se convierta en normalmap y tenga calidad como NormalMap (después de add/multiply) Tex2dNormal: Nodo que permite automáticamente a un Sampler2D convertirse en NormalMap y mantener su calidad. Substract: Nodo que permite hacer una resta entre dos valores o entre imágenes (Alpha en Clip). Fresnel: Nodo que permite crear efecto de Fresnel con componente de View, para efecto 0 a 1 (Color 1 a Color 2). ViewDirection: Nodo que se usa internamente para el nodo de Fresnel (View), para crear también efectos de reflejo en TexCube. Splat: Separa canales o puede combinar todos los canales RGB.
  • 8. 8 www.3dboxweb.com CUTOUT: DISTORTION  Settings>Queqe Settings>Render Type: Transparent | NormalizedScreePosition: ScreenPos [0,1]:
  • 9. 9 www.3dboxweb.com MATERIALES ANIMADOS: Visualizar: Versión PRO  PREVIEW / Probar: Se debe de exportar como shader y ponerlo en un material. MOVER: UV Pan permite mover las uvs en las opciones de x,y,z. APAGAR/PRENDER: Sine permitira osilar entre los valores del LERP (RGB) y usamos Splat par conectar el Sine en canal Alpha.
  • 11. 11 www.3dboxweb.com Cloth: Permite crear dinámicas con telas, para simular banderas, telas, redes y cuerpos suaves (Softbodies), se pueden crear de dos maneras: 1. GameObject> Create Other> Cloth: creara un plano que podemos usar como Cloth. 2. GameObject> Create Empty, Component>Physics>Interactive Cloth & Cloth Render. De esta manera podemos seleccionar cualquier mesh que es dentro del Project y usarlo como Cloth. Permite anclar al cloth a cualquier objeto dentro de la escena para que quede colgado. Tip: Al objeto a anclar debe de estar lo suficientemente cerca para poder anclarlo.  Bending: Permite simular mayor espesor en la tela.  Streching: Permite que la tela se arrugue mas al doblarse.  Damping: Permite que la tela brinque de acuerdo a las fuerzas aplicadas.  Thickness: Permite trasladar la posición de la que se encuentra anclada el Cloth.  Gravity: Aplicar fuerza constante de gravedad.  Self Collision: Permitir en que entre el mismo cloth pueda colisionar.  External: es una aceleración de una fuerza constante directa al Cloth.  Random: es una aceleración de una fuerza aleatoria al Cloth.  Mesh: asignar un mesh como interactive cloth (Empty Objects).  Frction: cantidad de friccion del cloth, esto evita demasiado rebote o movimiento.  Density: la densidad del objeto para hacerlo más pesado.  Pressure: hace que los Mesh-Cloth (softbodies) se inflen o desinflen al colisionar.  Collision Response: Fuerza con la que hará rebotar a los objetos que le colisionen.  A. Tear Factor: Cuan lejos tiene que estar pegado el rigidbody para romperse.  A. Response: Cuanta fuerza debe de aplicarse al los rigidbodies pegados.  Tear Factor: Permite hacer que el cloth se pueda romper
  • 13. 13 www.3dboxweb.com Road & Path Tool: Permite crear caminos sobre un terreno aplanando donde este la ruta, así como poder pintar la ruta sobre la cual se trazo sobre el terreno. Pasos: 1. Click en: "New Path" para crear un nuevo “path Game Object”, en el panel de jerarquías, y lo seleccionamos. 2. Click en: "Add Path Node". Damos click sobre la ventana del editor para tener activa la ventana y presionamos la tecla P y damos click sobre el terreno. 3. Continuamente se puede agregar un nuevo nodo al presionar “P” y click sobre el terreno hasta terminar el camino. 4. Click en: "Finalize Path" para terminar el camino y se deforme el terreno de acuerdo al camino creado. 5. Click en: "Smooth Path" para suvizar el terreno donde se encuentra el camino, esto es hata terminar el camino. 6. Click en: "Smooth Path Slope" para suavizar el terreno sobre los daldos, esto es hasta terminar. 7. Al terminar borramos el “Script”, y solo se deja el mesh creado.
  • 14. 14 www.3dboxweb.com River Tool: Permite crear caminos para generar ríos sobre un terreno, haciendo huecos hacia abajo del terreno, para después aplicar mesh de agua. Pasos: 1. Click en: "New River" para crear un nuevo “river Game Object “- 'River' – y lo seleccionas. 2. Click en: "Add River Node". Y vamos a la ventana del “Editor” y presionamos la tecla “R” y damos click sobre el terreno para iniciar el agregar nodos. 3. Continuamente se pueden agregar mas nodos con solo estar presionando la misma tecla y dar click cobre el terreno. 4. Click en: "Finalize River" para finalizar el rio y se deforme el terreno. 5. Click en: "Smooth River" para suavizar el terreno a los lados de la creación del rio. 6. Si la orilla del rio esta sobre saliente damos click en "Close River" para corregirlo, esto es solo hasta finalizar el rio. 7. Al finalizar eliminamos el script del rio.
  • 15. 15 www.3dboxweb.com Terrain Tool kit: Permite crear más variaciones sobre terrenos de manera más profesional y sencillo en pocos minutos de trabajo. CREATE: FRACTAL: PERLIN: TEXTURE: EROSION :
  • 18. 18 www.3dboxweb.com GamePad Controller: Se puede usar GamePad de Xbox para poder controlar las acciones de nuestro juego re mapeando los botones del control y sustituirlos por el uso del teclado y mouse, generando juegos con orientación a consolas o PC NextGen. Edit>Project Settings>Inputs. BOTONES: (La sensibilidad deberá estar a 1000). A = joystick 1 button 0 B = joystick 1 button 1 X = joystick 1 button 2 Y = joystick 1 button 3 [LB] = joystick 1 button 4 [RB] = joystick 1 button 5 Back = joystick 1 button 6 Start = joystick 1 button 7 Stick Izq  Botón = joystick 1 button 8 Stick Der  Botón = joystick 1 button 9 Nota: Estos son los valores de “Type y Aixs” para esta categoría. AXIS (Sensibilidad deberá de estar en 1 y digital 1000). Stick Izq  X Axis (Horizontal) = X Axis Stick Izq  Y Axis (Vertical) = Y Axis Stick Der  4th Axis (Vertical) = 4th axis (Joystick) Stick Der  5th Axis (Horizontal) = 5th axis (Joystick) Triggers = 3rd Axis (joystick & Scrollwheel). D-Pad (Horizontal) = 6th Axis (Joystick) D-Pad (Vertical) = 7th Axis (Joystick) Nota: Los triggers (3rd Axis), aunque son análogos, Unity los detecta en forma Digital (-1 a 0 a 1).
  • 19. 19 www.3dboxweb.com 5. SAVE & LOAD SCENE VALUES.
  • 20. 20 www.3dboxweb.com Save Game (PlayerPrefs): Para poder crear la opción de guardar una escena de un juego sobre la partida en la que estamos jugando, necesitamos usar una función llamada PlayerPrefs, la cual nos permite guardar solamente variables del juego, en donde estas serán variables con información de lo que queremos guardar como: posición del personaje, vida, sangre, ítems, checkpoint u opciones activadas del juego. 1. General: Se quiere que el personaje cuando pase por el ultimo Checkpoint activado y se use la opción de Salvar escena, este lo haga a partir del último Checkpoint activado, así al reiniciar el juego el personaje inicie en la posición del Checkpoint Salvado. 2. Cargamos el paquete “Save_Scene_Start”, en data en Prefabs esta “Character_Prefab”, este lo insertamos en la escena. 3. En Data>Checkpoint_Prefab crearemos y asignaremos un script llamado “AI_CheckPoint”, así todos los prefab de este tendrán el script dentro de la escena y no se tendrá que asignar de uno por uno el Script. AI_CheckPoint //Variable para saber que Checkpoint ha sido activado var vCheckPoint : String; //Variable para cargar el objeto a donde mandaremos la info del CP activado. var Script_Salvar : AI_Save_Load; function OnTriggerEnter () { // Mandar al gameObject Esfera el CP activado a su variable para guardar Script_Salvar.Salvar_CP = vCheckPoint; print ("Checkpoint >"+vCheckPoint+"< Activado"); } 4. Ahora lo que haremos es que cada CheckPoint en su script (escena) le asignaremos una letra de identificación: vCheckPoint  “A a D”.
  • 21. 21 www.3dboxweb.com 5. Creamos “2 Inptus”  “Salvar” (Click Izq) y “Cargar” (Click Der). 6. Creamos un script llamado “AI_Save_Load” y lo asignamos a la esfera de arriba que servirá para mandarle información de cuando se active cada Checkpoint. AI_Save_Load //Variable que indica que Checkpoint se guardara var Salvar_CP : String = "A"; //Variable para insertar al personaje para después moverlo a otro CP. var Character : GameObject; function Update () { //SAVE - Click Izquierdo, creamos Info para ahí almacenar la info if (Input.GetButtonDown ("Salvar")) { PlayerPrefs.SetString("info", Salvar_CP); print ("CheckPoint: "+Salvar_CP+" Salvado"); } //LOAD - Click Derecho, ReCargamos la escena if (Input.GetButtonDown ("Cargar")) { Application.LoadLevel ("Escena"); } } 7. La Variable de Salvar_CP, le asignamos “A”, ya cuando inicie la escena por primera vez será a partir de este CheckPoint. 8. En la variable “Character” cargamos al personaje de la escena, para después mover esta variable a cada CP activado. 9. Ahora que esta creado el Script “AI_Save_Load”, haremos que cada CheckPoint (A, B, C, D) en su variable de “Script_Salvar” carguen al script de la Esfera: “AI_Save_Load”. //Extra: Permite NO destruir el objeto al iniciar la escena (funcion de Awake) DontDestroyOnLoad (); / DontDestroyOnLoad (transform.gameObject);
  • 22. 22 www.3dboxweb.com 10. Al iniciar la escena ejecutamos una función que ira por la variable almacenada en Windows, y dependiendo el CP se moverá al personaje al CP. function Start (){ CharacterMove (); Ó CharacterInstance (); } OPCION A: CHARACTERMOVE  MOVER AL PERSONAJE QUE YA ESTA CREADO EN LA ESCENA function CharacterMove (){ var Save_Load : String = PlayerPrefs.GetString("info"); print ("Check Point Cargado: " + Save_Load); if (Save_Load == "A"){ Character.transform.position = Vector3 (0,0,0); } else if (Save_Load == "B"){ Character.transform.position = Vector3 (0,0,11); } else if (Save_Load == "C"){ Character.transform.position = Vector3 (0,0,24); } else if (Save_Load == "D"){ Character.transform.position = Vector3 (0,0,38); } } OPCION B: CHARACTERINSTANCE  CREAR PERSONAJE DINAMICAMENTE Y MOVERLO function CharacterInstance (){ var Save_Load : String = PlayerPrefs.GetString("info"); print ("Check Point Cargado: " + Save_Load); if (Save_Load == "A"){ Instantiate (Character, Vector3 (0,0,0), transform.rotation); } else if (Save_Load == "B"){ Instantiate (Character, Vector3 (0,0,11), transform.rotation); } else if (Save_Load == "C"){ Instantiate (Character, Vector3 (0,0,24), transform.rotation); } else if (Save_Load == "D"){ Instantiate (Character, Vector3 (0,0,38), transform.rotation); } }
  • 24. 24 www.3dboxweb.com 6. RAGDOLL – ANIMATION TO RAGDOLL
  • 25. 25 www.3dboxweb.com Ragdoll – Animation to Ragdoll: Para hacer que un personaje cuando muera se sustituya por un ragdoll, y este tenga la misma posición de rotación de cada uno de los joints se hace lo siguiente: 1. Cargamos el paquete Ragdoll, dentro del paquete tenemos un mesh, un ragdoll y una animación de “Run”. 2. Creamos un script “AI_Ragdoll” y lo asignamos al personaje: AI_Ragdoll //Variable para cargar el RagDoll var vRagdoll : Transform; function Start (){ //Reproducción de animación animation.Play ("run"); // Esperar yield WaitForSeconds (1.5); //Destruir Mesh animado Destroy(gameObject); // Instancia para cambiar por ragdoll var InstanceRagdoll : Transform = Instantiate(vRagdoll, transform.position, transform.rotation); // Ejecutar la función y mandarle la posición del ragdoll de cada Joint. ActivarRagdoll (transform, InstanceRagdoll); } // Funcion que contiene la posición del personaje animado y la de ragdoll creado. function ActivarRagdoll (Character : Transform, RagdolLoad : Transform) { RagdolLoad.position = Character.position; RagdolLoad.rotation = Character.rotation; // Igualar los valores de "transform" que tienen el mismo nombre. for (var child : Transform in RagdolLoad) { var JointTransforms = Character.Find(child.name); ActivarRagdoll (JointTransforms, child); } }