Hola disculpa le puse tal cual códigos, animaciones pero no deja de abrir y cerrar la puerta y ni siquiera había tomado la llave, no sé si es porque no coloque bien las animaciones o como editar el animation controller porque esta como Entry- Closed Door- Open Door y exit, no sé si puedas ayudarme, muchas gracias igual
Hey, el problema esta en que las animaciones se repiten todo el rato porque esta en estado de loop, para quitarselo selecciona el archibo de animacion de la puerta y asegurate de que tenga la casilla de loop desactivada. Con eso creo que servira
Estaría bien que crees un vídeo de cómo hacer gráficos pre-renderizados al estilo de Fnaf 1, Fnaf plus, sabes, que puedas girar la cámara como camara panorámica pero que ya estén pre-renderizados :)
No se si le dará tiempo a responderme porque la verdad tengo el plazo ajustado para presentar el juego en un curso que estoy realizando, pero ¿Como puedo hacer que si pulso dos objetos con script diferente se active una puerta? Si, supongo que con el AND, pero mi problema es que quiero que tengan un bool que al pasar a true se active la puerta. Ejemplo menos lioso "Si leo este libro e interactuo con una cama, se abre la puerta" Eso es lo que estoy buscando
Vale entiendo tu punto, mira, hay varias formas de hacerlo y probablemente la que te voy a contar no sea la mas idónea, pero te servirá. Consiste en tener una variable de tipo INT. La cual guardará un valor en números enteros. Luego para detectar que cuando hayas interactuado con dos objetos se abra la puerta, puedes hacer que cada vez que interactúas con estos sumen un punto a tu variable de tipo INT. Ejemplo: Para abrir la puerta necesitas tocar el botón rojo y el botón azul. Cuando tocas uno de estos botones, estos suman un punto a tu variable. Cuando el jugador haya interactuado con los dos botones, el valor de la variable INT pasará a ser 2. Lo que indicara que el jugador ya ha tocado los 2 botones. Entonces haces un IF que cuando detecte que la puntuación de tu variable INT está a 2, active la animación de abrir la puerta. Cosas a tener en cuenta: Asegurate de que el jugador no pueda tocar el mismo boton 2 veces, porque si no... con tan solo spamear el mismo boton a saco sera suficiente para abrir la puerta. Lo mejor que puedes hacer es que cuando el juador interactue por primera vez con un boton, este ya no lo pueda tocar más hasta que haya tocado el otro boton. Espero que te sirva de ayuda, mucho animo con tu proyecto ;D
@@kickcreator_dev Mola mucho la resolución, pero me gustaría saber como hacer eso técnicamente, como hacer que el If reconozca el int de otro script, eso es lo que me genera el problema
@@NekonomeSA Vale ahí tocaría convertir esa variable int en una variable global. Lo que pasa que eso es complicarse más la vida ya que como mucho esa variable solo la vas a usar una vez. Lo mejor que puedes hacer es que en un mismo script, tengas controlado todo. Los 2 botones, la puerta y al variable. Ya que así te ahorras tener que saltar de un script al otro. Si le explicas a gpt estos procedimientos que te he contado, seguro que te puede ayudar a construir un script con más detalles tecnicos
@@kickcreator_dev El profesor no me deja usarlo para el proyecto 😅😅 dice que después usemos el chat GTP, pero para este proyecto quiere que busquemos por internet y que busquemos ayuda de personas.
@@JuanCarlos-hs5sr He dejado los codigos de la puerta y la llave en la descripción por si los necesitas más adelante, de todas formas para conseguir lo que quieres simplemente tienes que dejar activo el collider de la puerta cuando quieras que detecte al jugador, independientemente de si antes ha interactuado con la llave o no. Gracias por disfrutar del video ^^
que gustazo de video. CALIDAD Y GRAN CONTENIDO^^ Y lo del final que es??? spoiler de futuro video oculto jejejeje.
Ahora se algunas cosas para mi juego
bro muy buen tutorial pero, sabes si de alguna manera puedo hacer eso mismo pero recogiendo no 1 sino 5 o mas llaves?
Claro, solo tendrias que tener una variable que cuando llegue a cinco, te active la puerta. Haciendo que cada llave le sume un punto a la variable
Hola disculpa le puse tal cual códigos, animaciones pero no deja de abrir y cerrar la puerta y ni siquiera había tomado la llave, no sé si es porque no coloque bien las animaciones o como editar el animation controller porque esta como Entry- Closed Door- Open Door y exit, no sé si puedas ayudarme, muchas gracias igual
Hey, el problema esta en que las animaciones se repiten todo el rato porque esta en estado de loop, para quitarselo selecciona el archibo de animacion de la puerta y asegurate de que tenga la casilla de loop desactivada. Con eso creo que servira
kpooo
que wenardo este video
hola ayudenmen porfavor no me sirve y me sale invalid layer index '-1' ;(
Oh, es es un caso extraño. Que version de unity usas?
¿podrías hacer algún tutorial de como hacer respawn al morir? solo es una sugerencia y gracias por todo.
Hmm quizás más adelante, gracias por la idea ;D
Porfavor hace un tutorial en un futuro sirve bastante@@kickcreator_dev
muchas gracias
Estaría bien que crees un vídeo de cómo hacer gráficos pre-renderizados al estilo de Fnaf 1, Fnaf plus, sabes, que puedas girar la cámara como camara panorámica pero que ya estén pre-renderizados :)
Sabes, esa idea me gusta, y mucho... muchas gracias tu feedback bro ^^
Porque sin antes interactuar con la llave no puedes pasar. La puerta tiene un collider? (Aparte al del detector)
Si, uno solido que no va a dejar que nada lo atraviese, de ahi lo de que la puerta solo se habra cuando tocas la llave
No me deja poner animaciones en el script de la puerta, me aparece un signo de prohibido. Sabes por que sera??
@@franciscoderege4603 porque quizas esa puerta ya tiene animaciones hechas o algun otro elemento que no tedeja ser editado
No se si le dará tiempo a responderme porque la verdad tengo el plazo ajustado para presentar el juego en un curso que estoy realizando, pero ¿Como puedo hacer que si pulso dos objetos con script diferente se active una puerta? Si, supongo que con el AND, pero mi problema es que quiero que tengan un bool que al pasar a true se active la puerta.
Ejemplo menos lioso "Si leo este libro e interactuo con una cama, se abre la puerta"
Eso es lo que estoy buscando
Vale entiendo tu punto, mira, hay varias formas de hacerlo y probablemente la que te voy a contar no sea la mas idónea, pero te servirá.
Consiste en tener una variable de tipo INT. La cual guardará un valor en números enteros. Luego para detectar que cuando hayas interactuado con dos objetos se abra la puerta, puedes hacer que cada vez que interactúas con estos sumen un punto a tu variable de tipo INT. Ejemplo:
Para abrir la puerta necesitas tocar el botón rojo y el botón azul. Cuando tocas uno de estos botones, estos suman un punto a tu variable.
Cuando el jugador haya interactuado con los dos botones, el valor de la variable INT pasará a ser 2. Lo que indicara que el jugador ya ha tocado los 2 botones.
Entonces haces un IF que cuando detecte que la puntuación de tu variable INT está a 2, active la animación de abrir la puerta.
Cosas a tener en cuenta:
Asegurate de que el jugador no pueda tocar el mismo boton 2 veces, porque si no... con tan solo spamear el mismo boton a saco sera suficiente para abrir la puerta. Lo mejor que puedes hacer es que cuando el juador interactue por primera vez con un boton, este ya no lo pueda tocar más hasta que haya tocado el otro boton.
Espero que te sirva de ayuda, mucho animo con tu proyecto ;D
@@kickcreator_dev Mola mucho la resolución, pero me gustaría saber como hacer eso técnicamente, como hacer que el If reconozca el int de otro script, eso es lo que me genera el problema
@@NekonomeSA Vale ahí tocaría convertir esa variable int en una variable global. Lo que pasa que eso es complicarse más la vida ya que como mucho esa variable solo la vas a usar una vez. Lo mejor que puedes hacer es que en un mismo script, tengas controlado todo. Los 2 botones, la puerta y al variable. Ya que así te ahorras tener que saltar de un script al otro. Si le explicas a gpt estos procedimientos que te he contado, seguro que te puede ayudar a construir un script con más detalles tecnicos
@@kickcreator_dev El profesor no me deja usarlo para el proyecto 😅😅 dice que después usemos el chat GTP, pero para este proyecto quiere que busquemos por internet y que busquemos ayuda de personas.
Bro, sé que estoy pendejo pero podrías decirme cómo hacer que la puerta se abra al detectar al jugador sin llave.
como una puerta con sensor
puedes usar el OntriggerEnter y pones que al detectar a un GameObjet con una etiqueta se reproduzca la animación de abrirse la puerta
@@Xastias primero gracias, más o menos tengo una idea, veré como lo hago, no sé programar todo lo he hecho atento a RUclips, XD
@@JuanCarlos-hs5sr He dejado los codigos de la puerta y la llave en la descripción por si los necesitas más adelante, de todas formas para conseguir lo que quieres simplemente tienes que dejar activo el collider de la puerta cuando quieras que detecte al jugador, independientemente de si antes ha interactuado con la llave o no. Gracias por disfrutar del video ^^
@@kickcreator_dev Disfrutar, tu haces más que mis profesores de la universidad que o no dan nada, o solo te ponen asignaciones sin explicarte nada
Gracias, no me sirvio porque tengo mi puerta con un script propio pero pude entender la lógica y me fue mas facil crear mi propia solucion:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DoorZY : MonoBehaviour
{
public float speed;
public float angle;
public Vector3 direction;
public bool puedeAbrir;
public bool abrir;
private GameObject miObjeto;
void Start()
{
angle = transform.eulerAngles.y;
}
void Update()
{
if(Mathf.Round(transform.eulerAngles.y) != angle)
{
transform.Rotate(direction * speed);
}
miObjeto = GameObject.Find("Key1");
if (Input.GetButtonDown("E") && puedeAbrir == true && abrir == false && miObjeto == null)
{
angle = 270f;
direction = Vector3.up;
abrir = true;
}else if (Input.GetButtonDown("E") && puedeAbrir == true && abrir == true && miObjeto == null)
{
angle = 120f;
direction = Vector3.down;
abrir = false;
}
}
void OnTriggerStay(Collider other)
{
if (other.gameObject.tag == "Player")
{
puedeAbrir = true;
}
}
void OnTriggerExit(Collider other)
{
if (other.gameObject.tag == "Player")
{
puedeAbrir = false;
}
}
}
Heyyy que bien, me alegro mucho haberte podido ayudar!! Gracias por compartir tus metodos tambien, asi todos aprendemos más hehe