SlideShare uma empresa Scribd logo
1 de 12
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

Mais conteúdo relacionado

Semelhante a Tutorial unity interaccion con objetos

Semelhante a Tutorial unity interaccion con objetos (20)

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
 
2. tutorial unity3d-disparo
2.  tutorial unity3d-disparo2.  tutorial unity3d-disparo
2. tutorial unity3d-disparo
 
2. tutorial unity3d-disparo
2.  tutorial unity3d-disparo2.  tutorial unity3d-disparo
2. tutorial unity3d-disparo
 
2trabajo
2trabajo2trabajo
2trabajo
 
Codemotion 2014 - Introducción a Unity
Codemotion 2014 - Introducción a UnityCodemotion 2014 - Introducción a Unity
Codemotion 2014 - Introducción a Unity
 
Programación Android | 02. Operaciones básicas con Android
Programación Android | 02. Operaciones básicas con AndroidProgramación Android | 02. Operaciones básicas con Android
Programación Android | 02. Operaciones básicas con Android
 
Presentacion03
Presentacion03Presentacion03
Presentacion03
 
Clase03
Clase03Clase03
Clase03
 

Último

Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónmaz12629
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxmiguelmateos18
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internamengual57
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxwilliam801689
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosRamiroCruzSalazar
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUManuelSosa83
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOeldermishti
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 

Último (20)

Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptx
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptx
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 

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 do 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.