El documento describe cómo crear interacciones entre un jugador y objetos en Unity. Se utilizan dos scripts, uno para el jugador que detecta objetos cercanos y otro para los objetos. El script del jugador envía un mensaje al objeto para reducir su vida si está lo suficientemente cerca. Cuando la vida de un objeto llega a cero, este se destruye y agrega un elemento al inventario del jugador. Se explican los pasos para configurar los elementos y scripts necesarios para esta interacción.
Diapositivas de introduccion al curso de Metodos Numericos de la UPSE (Universidad Estatal de la Peninsula de Santa Elena) - 2016.
Basadas en Nieves Hurtado, A. (2012). Métodos numéricos aplicados a la ingeniería. Grupo Editorial Patria.
Diapositivas de introduccion al curso de Metodos Numericos de la UPSE (Universidad Estatal de la Peninsula de Santa Elena) - 2016.
Basadas en Nieves Hurtado, A. (2012). Métodos numéricos aplicados a la ingeniería. Grupo Editorial Patria.
Creación de juegos mediante la plataforma XNA de Microsoft Visual Studio
Links para descargar material:
Parte 01: https://www.dropbox.com/s/2b3f27izg3wfqws/01.XNA.zip
Parte 02: https://www.dropbox.com/s/ep3634jsjullkbs/02.XNA.zip
Parte 03: https://www.dropbox.com/s/9e3q068t6mlkted/03.XNA.zip
Parte 04: https://www.dropbox.com/s/u4navlzlhtecjm0/04.XNA.zip
Parte 05: https://www.dropbox.com/s/oqjll5c73kbvu1j/05.XNA.zip
Se denomina motor de corriente alterna a aquellos motores eléctricos que funcionan con alimentación eléctrica en corriente alterna. Un motor es una máquina motriz, esto es, un aparato que convierte una forma determinada de energía en energía mecánica de rotación o par.
1º Caso Practico Lubricacion Rodamiento Motor 10CVCarlosAroeira1
Caso pratico análise analise de vibrações em rolamento de HVAC para resolver problema de lubrificação apresentado durante a 1ª reuniao do Vibration Institute em Lisboa em 24 de maio de 2024
Aletas de Transferencia de Calor o Superficies Extendidas.pdfJuanAlbertoLugoMadri
Se hablara de las aletas de transferencia de calor y superficies extendidas ya que son muy importantes debido a que son estructuras diseñadas para aumentar el calor entre un fluido, un sólido y en qué sitio son utilizados estos materiales en la vida cotidiana
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
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.
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.
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.