SlideShare una empresa de Scribd logo
Interacción con objetos
Tutorial para versión 4 (Unity4)
Taller de videojuegos – Universidad de La Frontera
Comunicación entre objetos
En el siguiente ejemplo se demostrara como crear una
interacción entre el jugador y objetos próximos.
En esta ocasión utilizaremos dos elementos: un First
Person Controller y un objeto cualquiera, ya sea una
esfera, cubo, capsula, etc.
La idea consiste en generar una comunicación entre
estos dos elementos, por lo que es necesario utilizar
dos Scripts.
Interacción con objeto
var golpe : int = 1;
var distancia : float;
var distanciaMax : float = 2.5;
function Start () {
}
function Update () {
if(Input.GetButtonDown("Fire1")){
var hit : RaycastHit;
if (Physics.Raycast(transform.position,
transform.TransformDirection(Vector3.forward), hit)){
distancia = hit.distance;
if(distancia < distanciaMax){
hit.transform.SendMessage("golpiar", golpe,
SendMessageOptions.DontRequireReceiver);
}
}
}
}
Cada vez que el jugador presione el botón Fire1 se
realizara una medición de distancia a lo largo del
eje x (vector3) entre el jugador y el primer objeto
presente a lo largo del eje.
Envia mensaje
dependiendo un rango de
distancia entre el jugador y
el objeto.
Script del jugador
Acción del objeto
El segundo script se ubicara en el objeto. Como
parámetro principal cada objeto debe tener un
indicador de vida que será equivalente al daño
necesario que se le debe infringir antes de destruirlo.
Como en este el objeto debe desaparecer al momento
de activarlo, se le ha asignado un valor mínimo de vida.
Acción del objeto
var vida : int = 1;
var nombreObjeto : String = null;
var jugador : GameObject = null;
var alerta : GameObject = null;
function Update () {
if(vida <= 0){
destruir();
}
}
function golpiar(golpe : int){
vida -= golpe;
}
function destruir(){
Destroy(gameObject);
alerta.GetComponent(GUIText).text = "Has obtenido "+nombreObjeto;
alerta.animation.Play("GUI-textoAlert");
}
La función golpear es la función que se activara
cuando se indique el objeto y se encargara de
restar vida al objeto.
el objeto se destruirá cuando valor de vida
sea menor o igual a 0.
Script del Objeto
Configuración de los elementos
Para el ejemplo son necesarios 3 elementos.
Utilizaremos un First Person Controller y un objeto
cylinder que simularan el jugador y la linterna
respectivamente. Se deben asignar los scripts del
ejemplo anterior a estos dos elementos y con los
siguientes parámetros:
Configuración de los elementos
Jugador
El script debe estar situado coomo
un componente de la cámara.
Configuración de los elementos
Linterna
El tercer elemento será crear un
SpotLight como hijo de la cámara en
el Jugador. Para simular ser una
linterna se debe añadir la siguiente
configuración
Creación de Inventario
var linterna = false;
var objetoLinterna : GameObject = null;
private var estadoLinterna = false;
function Start () {
objetoLinterna.light.enabled = estadoLinterna;
}
function Update () {
if(Input.GetButtonDown("Fire2")){
if(estadoLinterna == false){
encenderLinterna(true);
}else{
encenderLinterna(false);
}
}
}
La variable objetoLinterna debe
referenciar al spotlight que se creó para
el jugador.
Instrucciones para encender y
apagar la linterna.
function encenderLinterna(resp){
if(linterna == true && objetoLinterna != null){
objetoLinterna.light.enabled = resp;
estadoLinterna = resp;
}
}
function setLinterna(resp){
linterna = resp;
}
Creación de Inventario
Instrucciones para encender y
apagar la linterna.
A este script se le pueden agregar más elementos
solo agregando más variables como linterna y su
respectiva función setLinterna.
Agregar objeto al inventario
var vida : int = 1;
var nombreObjeto : String = null;
var jugador : GameObject = null;
var alerta : GameObject = null;
function Update () {
if(vida <= 0){
destruir();
}
}
function golpiar(golpe : int){
vida -= golpe;
}
function destruir(){
Destroy(gameObject);
alerta.GetComponent(GUIText).text = "Has obtenido "+nombreObjeto;
alerta.animation.Play("GUI-textoAlert");
jugador.SendMessage("setLinterna”,
true,SendMessageOptions.DontRequireReceiver);
}
En la función destruir se ha agregado una última
línea de código que envía al jugador el mensaje de
que ejecute la función setLinterna con el
parámetro true.
Script del Objeto
Interacción con objetos
Tutorial para versión 4 (Unity4)
Taller de videojuegos – Universidad de La Frontera

Más contenido relacionado

La actualidad más candente

Metodos numéricos, códigos en Matlab
Metodos numéricos, códigos en MatlabMetodos numéricos, códigos en Matlab
Metodos numéricos, códigos en Matlab
Bryan José Sarango
 
RAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALESRAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALES
Victor Bernal Sandoval
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltosJansel M
 
Trabajo fourier
Trabajo fourierTrabajo fourier
Trabajo fourier
sadamssh
 
Solución de ecuaciones no lineales
Solución de ecuaciones no linealesSolución de ecuaciones no lineales
Solución de ecuaciones no lineales
SistemadeEstudiosMed
 
Estructuras repetitivas anidadas exposiciones
Estructuras repetitivas anidadas exposicionesEstructuras repetitivas anidadas exposiciones
Estructuras repetitivas anidadas exposicionesAhurinContreras
 
Estructura general de un programa (Funciones Internas)
Estructura general de un programa (Funciones Internas) Estructura general de un programa (Funciones Internas)
Estructura general de un programa (Funciones Internas)
Oswaldo Carlosama
 
Tema 6
Tema 6Tema 6
Notacion de suma con sigma
Notacion de suma con sigmaNotacion de suma con sigma
Notacion de suma con sigma
nchacinp
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
Angel Jhoan
 
19 clasificacion-grupos
19 clasificacion-grupos19 clasificacion-grupos
19 clasificacion-grupos
Matemática Uncomplicated
 
maximos y minimos
maximos y minimosmaximos y minimos
maximos y minimosAngelica
 
Metodo de biseccion en matlab
Metodo de biseccion  en matlabMetodo de biseccion  en matlab
Metodo de biseccion en matlab
Raul Cabanillas Corso
 
Act 1 revision_de_presaberes
Act 1 revision_de_presaberesAct 1 revision_de_presaberes
Act 1 revision_de_presaberes
Patricia Juares
 
Metodo trapezoidal para exponer
Metodo trapezoidal para exponer Metodo trapezoidal para exponer
Metodo trapezoidal para exponer
wilder_18_37
 

La actualidad más candente (20)

Metodos numéricos, códigos en Matlab
Metodos numéricos, códigos en MatlabMetodos numéricos, códigos en Matlab
Metodos numéricos, códigos en Matlab
 
RAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALESRAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALES
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
 
Trabajo fourier
Trabajo fourierTrabajo fourier
Trabajo fourier
 
1.3 errores
1.3 errores1.3 errores
1.3 errores
 
Solución de ecuaciones no lineales
Solución de ecuaciones no linealesSolución de ecuaciones no lineales
Solución de ecuaciones no lineales
 
Estructuras repetitivas anidadas exposiciones
Estructuras repetitivas anidadas exposicionesEstructuras repetitivas anidadas exposiciones
Estructuras repetitivas anidadas exposiciones
 
Estructura general de un programa (Funciones Internas)
Estructura general de un programa (Funciones Internas) Estructura general de un programa (Funciones Internas)
Estructura general de un programa (Funciones Internas)
 
Tema 6
Tema 6Tema 6
Tema 6
 
Notacion de suma con sigma
Notacion de suma con sigmaNotacion de suma con sigma
Notacion de suma con sigma
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
19 clasificacion-grupos
19 clasificacion-grupos19 clasificacion-grupos
19 clasificacion-grupos
 
EVALUACION DE ALGORTIMOS
EVALUACION DE ALGORTIMOSEVALUACION DE ALGORTIMOS
EVALUACION DE ALGORTIMOS
 
Tecnicas de calculo integral
Tecnicas de calculo integralTecnicas de calculo integral
Tecnicas de calculo integral
 
Entregable 2
Entregable 2Entregable 2
Entregable 2
 
maximos y minimos
maximos y minimosmaximos y minimos
maximos y minimos
 
Metodo de biseccion en matlab
Metodo de biseccion  en matlabMetodo de biseccion  en matlab
Metodo de biseccion en matlab
 
Newton raphson
Newton raphsonNewton raphson
Newton raphson
 
Act 1 revision_de_presaberes
Act 1 revision_de_presaberesAct 1 revision_de_presaberes
Act 1 revision_de_presaberes
 
Metodo trapezoidal para exponer
Metodo trapezoidal para exponer Metodo trapezoidal para exponer
Metodo trapezoidal para exponer
 

Similar a Tutorial unity interaccion con objetos

Codigo Explicado Rompe Bloques.docx
Codigo Explicado Rompe Bloques.docxCodigo Explicado Rompe Bloques.docx
Codigo Explicado Rompe Bloques.docx
EdwinAntonioSegoviaD
 
Manejo De Eventos En Cs3
Manejo De Eventos En Cs3Manejo De Eventos En Cs3
Manejo De Eventos En Cs3
duvandres
 
Event Programing & Driven Mediator Pattern
Event Programing & Driven Mediator PatternEvent Programing & Driven Mediator Pattern
Event Programing & Driven Mediator Pattern
ripoblet
 
Gruia juego
Gruia juegoGruia juego
Gruia juego
alex carreño
 
Evento del Mouse
Evento del MouseEvento del Mouse
Evento del Mouseinternet
 
Evento Del Mouse
Evento Del MouseEvento Del Mouse
Evento Del Mouse
internet
 
Que es action scrip 3
Que es  action scrip 3Que es  action scrip 3
Que es action scrip 3Harolsmr1103
 
Que es action scrip 3
Que es  action scrip 3Que es  action scrip 3
Que es action scrip 3Harolsmr1103
 
Que es action scrip 3
Que es  action scrip 3Que es  action scrip 3
Que es action scrip 3Harolsmr1103
 
Game Maker Primera parte
Game Maker Primera parteGame Maker Primera parte
Game Maker Primera parte
www.areatecnologia.com
 
Xna game studio presentación 02
Xna game studio   presentación 02Xna game studio   presentación 02
Xna game studio presentación 02
Juan Cardona
 
Natalia gonzález villamil (1)
Natalia gonzález villamil (1)Natalia gonzález villamil (1)
Natalia gonzález villamil (1)nata2381075
 

Similar a Tutorial unity interaccion con objetos (20)

Presentacion1410
Presentacion1410Presentacion1410
Presentacion1410
 
Presentacion1410
Presentacion1410Presentacion1410
Presentacion1410
 
Tutorial unity3d 1_español
Tutorial unity3d 1_españolTutorial unity3d 1_español
Tutorial unity3d 1_español
 
Codigo Explicado Rompe Bloques.docx
Codigo Explicado Rompe Bloques.docxCodigo Explicado Rompe Bloques.docx
Codigo Explicado Rompe Bloques.docx
 
Manejo De Eventos En Cs3
Manejo De Eventos En Cs3Manejo De Eventos En Cs3
Manejo De Eventos En Cs3
 
Event Programing & Driven Mediator Pattern
Event Programing & Driven Mediator PatternEvent Programing & Driven Mediator Pattern
Event Programing & Driven Mediator Pattern
 
Presentacion420
Presentacion420Presentacion420
Presentacion420
 
Presentacion420
Presentacion420Presentacion420
Presentacion420
 
Mingo santiago
Mingo santiagoMingo santiago
Mingo santiago
 
Gruia juego
Gruia juegoGruia juego
Gruia juego
 
Evento del Mouse
Evento del MouseEvento del Mouse
Evento del Mouse
 
Evento Del Mouse
Evento Del MouseEvento Del Mouse
Evento Del Mouse
 
Que es action scrip 3
Que es  action scrip 3Que es  action scrip 3
Que es action scrip 3
 
Que es action scrip 3
Que es  action scrip 3Que es  action scrip 3
Que es action scrip 3
 
Que es action scrip 3
Que es  action scrip 3Que es  action scrip 3
Que es action scrip 3
 
Game Maker Primera parte
Game Maker Primera parteGame Maker Primera parte
Game Maker Primera parte
 
Xna game studio presentación 02
Xna game studio   presentación 02Xna game studio   presentación 02
Xna game studio presentación 02
 
Natalia gonzález villamil (1)
Natalia gonzález villamil (1)Natalia gonzález villamil (1)
Natalia gonzález villamil (1)
 
99
9999
99
 
Gamemakeruno
GamemakerunoGamemakeruno
Gamemakeruno
 

Último

SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
JhonatanOQuionesChoq
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
HaroldKewinCanaza1
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
DeyvisPalomino2
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
ivan848686
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
CarlosAroeira1
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
ssuserebb7f71
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
mirellamilagrosvf
 
Voladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.pptVoladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.ppt
AldithoPomatay2
 
Material magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulasMaterial magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulas
michiotes33
 
Curso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorysCurso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorys
LuisPerezIgnacio1
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
Daniel Jose Sierra Garcia
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
ycalful01
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
JuanAlbertoLugoMadri
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
CarlitosWay20
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdfLas Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
NicolasGramajo1
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
edujunes132
 

Último (20)

SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
 
Voladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.pptVoladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.ppt
 
Material magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulasMaterial magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulas
 
Curso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorysCurso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorys
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdfLas Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
 

Tutorial unity interaccion con objetos

  • 1. Interacción con objetos Tutorial para versión 4 (Unity4) Taller de videojuegos – Universidad de La Frontera
  • 2. Comunicación entre objetos En el siguiente ejemplo se demostrara como crear una interacción entre el jugador y objetos próximos. En esta ocasión utilizaremos dos elementos: un First Person Controller y un objeto cualquiera, ya sea una esfera, cubo, capsula, etc. La idea consiste en generar una comunicación entre estos dos elementos, por lo que es necesario utilizar dos Scripts.
  • 3. Interacción con objeto var golpe : int = 1; var distancia : float; var distanciaMax : float = 2.5; function Start () { } function Update () { if(Input.GetButtonDown("Fire1")){ var hit : RaycastHit; if (Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), hit)){ distancia = hit.distance; if(distancia < distanciaMax){ hit.transform.SendMessage("golpiar", golpe, SendMessageOptions.DontRequireReceiver); } } } } Cada vez que el jugador presione el botón Fire1 se realizara una medición de distancia a lo largo del eje x (vector3) entre el jugador y el primer objeto presente a lo largo del eje. Envia mensaje dependiendo un rango de distancia entre el jugador y el objeto. Script del jugador
  • 4. Acción del objeto El segundo script se ubicara en el objeto. Como parámetro principal cada objeto debe tener un indicador de vida que será equivalente al daño necesario que se le debe infringir antes de destruirlo. Como en este el objeto debe desaparecer al momento de activarlo, se le ha asignado un valor mínimo de vida.
  • 5. Acción del objeto var vida : int = 1; var nombreObjeto : String = null; var jugador : GameObject = null; var alerta : GameObject = null; function Update () { if(vida <= 0){ destruir(); } } function golpiar(golpe : int){ vida -= golpe; } function destruir(){ Destroy(gameObject); alerta.GetComponent(GUIText).text = "Has obtenido "+nombreObjeto; alerta.animation.Play("GUI-textoAlert"); } La función golpear es la función que se activara cuando se indique el objeto y se encargara de restar vida al objeto. el objeto se destruirá cuando valor de vida sea menor o igual a 0. Script del Objeto
  • 6. Configuración de los elementos Para el ejemplo son necesarios 3 elementos. Utilizaremos un First Person Controller y un objeto cylinder que simularan el jugador y la linterna respectivamente. Se deben asignar los scripts del ejemplo anterior a estos dos elementos y con los siguientes parámetros:
  • 7. Configuración de los elementos Jugador El script debe estar situado coomo un componente de la cámara.
  • 8. Configuración de los elementos Linterna El tercer elemento será crear un SpotLight como hijo de la cámara en el Jugador. Para simular ser una linterna se debe añadir la siguiente configuración
  • 9. Creación de Inventario var linterna = false; var objetoLinterna : GameObject = null; private var estadoLinterna = false; function Start () { objetoLinterna.light.enabled = estadoLinterna; } function Update () { if(Input.GetButtonDown("Fire2")){ if(estadoLinterna == false){ encenderLinterna(true); }else{ encenderLinterna(false); } } } La variable objetoLinterna debe referenciar al spotlight que se creó para el jugador. Instrucciones para encender y apagar la linterna.
  • 10. function encenderLinterna(resp){ if(linterna == true && objetoLinterna != null){ objetoLinterna.light.enabled = resp; estadoLinterna = resp; } } function setLinterna(resp){ linterna = resp; } Creación de Inventario Instrucciones para encender y apagar la linterna. A este script se le pueden agregar más elementos solo agregando más variables como linterna y su respectiva función setLinterna.
  • 11. Agregar objeto al inventario var vida : int = 1; var nombreObjeto : String = null; var jugador : GameObject = null; var alerta : GameObject = null; function Update () { if(vida <= 0){ destruir(); } } function golpiar(golpe : int){ vida -= golpe; } function destruir(){ Destroy(gameObject); alerta.GetComponent(GUIText).text = "Has obtenido "+nombreObjeto; alerta.animation.Play("GUI-textoAlert"); jugador.SendMessage("setLinterna”, true,SendMessageOptions.DontRequireReceiver); } En la función destruir se ha agregado una última línea de código que envía al jugador el mensaje de que ejecute la función setLinterna con el parámetro true. Script del Objeto
  • 12. Interacción con objetos Tutorial para versión 4 (Unity4) Taller de videojuegos – Universidad de La Frontera

Notas del editor

  1. El primer script debe ser ubicado en la cámara del First Person Controller. Cada vez que el jugador presione el botón Fire1, este sencillamente realizara una medición de distancia a lo largo del eje x (vector3) entre el jugador y el primer objeto presente a lo largo del eje. Almacenara este dato en la variable distancia. En este caso además se ha añadido que dependiendo un rango de distancia entre el jugador y el objeto se envié un mensaje al objeto. Este mensaje es un básicamente una llamada de función, en este caso a la función golpear, golpe es el parámetro para esta función y supone el daño que se proporcionara al objeto.
  2. La función golpear es la función que se activara cuando se indique el objeto y se encargara de restar vida al objeto. Como lo indica la función Update, el objeto se destruirá cuando valor de vida sea menor o igual a 0. Adicionalmente se agregaron dos parámetros extras (nombreObjeto y alerta) con el propósito de mostrar gráficamente un GUItext con la acción realizada al destruir el objeto. El texto se muestra al iniciar la animación GUI-textoAlert.
  3. La idea consiste en que al apuntar al objeto en cuestión este nos devuelva un mensaje que modifique el estado del inventario. Para lograr esto es necesario modificar el script en el objeto del juego que se ha denominado linterna.