Hola a todos,hoy vengo con otro tutorial sobre unity en el que les voy a enseñar a abrir y cerrar puertas,bueno empecemos.
Haciendo una puerta.
Bueno obviamente para hacer una puerta se necesitan por lo menos 2 paredes a los lados (pueden hacer las paredes creando cubos y moldeándolos como mostré en tutoriales anteriores)
Luego ponen otro cubo entre medio de las paredes para simular una puerta
Bueno ahora a esta supuesta puerta hay que cambiarle el nombre Para hacer eso nos fijamos en la izquierda que aparece una lista con todos los materiales y objetos que hay en la escena,buscamos el cubo que estamos usando como puerta y le damos click derecho y después rename y le cambiamos el nombre a "Door" (no se confundan con la imagen es que yo le puse "puerta" pero esta mal pónganle "Door"
Bueno ahora creamos dos cubos mas y les cambiamos los nombres a uno le ponemos "activador" y al otro "Bisagra"
Ahora agarran el cubo llamado "bisagra" y lo colocan de manera que el 90% del cubo este traspasando la pared y el 10% este traspasando la puerta. (no se confundan,en la imagen agarre el cubo incorrecto,perdón hoy hice todo al revés)
Acá les muestro como tiene que quedar de costado
Bueno ya colocado el cubo lo siguiente sera desactivarle la opción "mesh renderer" y avivarle la opción "is trigger" (en la imagen muestro donde están las opciones)
Bueno ahora tomamos el cubo llamado "Activador" y lo colocamos de manera que traspase la puerta lado a lado (no se olviden que presionando la tecla "R" podrán moldearlo para que ocupe menos espacio si quieren)
Acá muestro como queda de costado
Ahora creen un empty (un empty es un objeto vació es como si no existiera pero se puede usar como carpeta)
Para crearlo vamos a "GameObject" y después a "create empty"
A ese empty que crearon le cambian el nombre a "Puerta",ahora agarran el cubo llamado "activador" y lo arrastran arriba de el empty llamado "puerta" luego agarren el cubo llamado "Door" y arrástrenlo arriba del cubo llamado "bisagra" y a este conjunto de Door y bisagra lo arrastramos arriba del empty llamado puerta Les tiene que quedar door adentro de bisagra-door,bisagra y activador adentro de puerta-De esta manera.
Ahora se van a la pestaña "asset" y hacen click derecho donde no haya nada luego se van a "create y por ultimo a "javascript" y de nombre le ponen "door script"
Ahora le dan doble click a "door script" para abrir el editor y borran todo lo que se encuentra ahí y en su lugar copien y peguen esto:
var AngleY : float = 90.0;
private var targetValue : float = 0.0;
private var currentValue : float = 0.0;
private var easing : float = 0.05;
var Target : GameObject;
function Update(){
currentValue = currentValue + (targetValue - currentValue) * easing;
Target.transform.rotation = Quaternion.identity; // set rotation to zero
Target.transform.Rotate(0, currentValue, 0); // apply full Rotation
}
function OnTriggerEnter (other : Collider) {
targetValue = AngleY;
currentValue = 0;
}
function OnTriggerExit (other : Collider) {
currentValue = AngleY;
targetValue = 0.0;
}
Una vez echo el paso anterior hagan click en compilar.
Ahora cierren el editor y vuelvan a unity,luego arrastren el "door script" arriba del cubo que llamamos "activador"
Y listo ya esta nuestra puerta echa ahora cuando se acerquen se abrirá y cuando se alejen se cerrara.
Bueno eso fue todo espero que les haya gustado y me hayan entendido lo mas claro posible,no olviden valorar el esfuerzo puntuando y CHAU
Haciendo una puerta.
Bueno obviamente para hacer una puerta se necesitan por lo menos 2 paredes a los lados (pueden hacer las paredes creando cubos y moldeándolos como mostré en tutoriales anteriores)
Luego ponen otro cubo entre medio de las paredes para simular una puerta
Bueno ahora a esta supuesta puerta hay que cambiarle el nombre Para hacer eso nos fijamos en la izquierda que aparece una lista con todos los materiales y objetos que hay en la escena,buscamos el cubo que estamos usando como puerta y le damos click derecho y después rename y le cambiamos el nombre a "Door" (no se confundan con la imagen es que yo le puse "puerta" pero esta mal pónganle "Door"
Bueno ahora creamos dos cubos mas y les cambiamos los nombres a uno le ponemos "activador" y al otro "Bisagra"
Ahora agarran el cubo llamado "bisagra" y lo colocan de manera que el 90% del cubo este traspasando la pared y el 10% este traspasando la puerta. (no se confundan,en la imagen agarre el cubo incorrecto,perdón hoy hice todo al revés)
Acá les muestro como tiene que quedar de costado
Bueno ya colocado el cubo lo siguiente sera desactivarle la opción "mesh renderer" y avivarle la opción "is trigger" (en la imagen muestro donde están las opciones)
Bueno ahora tomamos el cubo llamado "Activador" y lo colocamos de manera que traspase la puerta lado a lado (no se olviden que presionando la tecla "R" podrán moldearlo para que ocupe menos espacio si quieren)
Acá muestro como queda de costado
Ahora creen un empty (un empty es un objeto vació es como si no existiera pero se puede usar como carpeta)
Para crearlo vamos a "GameObject" y después a "create empty"
A ese empty que crearon le cambian el nombre a "Puerta",ahora agarran el cubo llamado "activador" y lo arrastran arriba de el empty llamado "puerta" luego agarren el cubo llamado "Door" y arrástrenlo arriba del cubo llamado "bisagra" y a este conjunto de Door y bisagra lo arrastramos arriba del empty llamado puerta Les tiene que quedar door adentro de bisagra-door,bisagra y activador adentro de puerta-De esta manera.
Ahora se van a la pestaña "asset" y hacen click derecho donde no haya nada luego se van a "create y por ultimo a "javascript" y de nombre le ponen "door script"
Ahora le dan doble click a "door script" para abrir el editor y borran todo lo que se encuentra ahí y en su lugar copien y peguen esto:
var AngleY : float = 90.0;
private var targetValue : float = 0.0;
private var currentValue : float = 0.0;
private var easing : float = 0.05;
var Target : GameObject;
function Update(){
currentValue = currentValue + (targetValue - currentValue) * easing;
Target.transform.rotation = Quaternion.identity; // set rotation to zero
Target.transform.Rotate(0, currentValue, 0); // apply full Rotation
}
function OnTriggerEnter (other : Collider) {
targetValue = AngleY;
currentValue = 0;
}
function OnTriggerExit (other : Collider) {
currentValue = AngleY;
targetValue = 0.0;
}
Una vez echo el paso anterior hagan click en compilar.
Ahora cierren el editor y vuelvan a unity,luego arrastren el "door script" arriba del cubo que llamamos "activador"
Y listo ya esta nuestra puerta echa ahora cuando se acerquen se abrirá y cuando se alejen se cerrara.
Bueno eso fue todo espero que les haya gustado y me hayan entendido lo mas claro posible,no olviden valorar el esfuerzo puntuando y CHAU