Tengo un problema con las colisiones y no consigo dar con el fallo. Pongo el codigo:
//script colliders
var colisionador1 : GameObject;
var colisionador2 : GameObject;
var player : GameObject;
var control : GameObject;
var puzle : GameObject;
var trigger : GameObject;
var desb : GameObject;
var animObj1 : GameObject;
var colw1 : boolean = false;
var colw2 : boolean = false;
var luz1 : GameObject;
var luz2 : GameObject;
function OnTriggerStay (Col : Collider){
if (Col.gameObject == colisionador1)
{
luz1.SetActive(true);
colw1 = true;
}
if (Col.gameObject == colisionador2)
{
colw2 = true;
luz2.SetActive(true);
}
}
function OnTriggerExit (Col : Collider){
if (Col.gameObject == colisionador1)
{
luz1.SetActive(false);
colw1 = false;
}
if (Col.gameObject == colisionador2)
{
colw2 = false;
luz2.SetActive(false);
}
}
function Update (){
if (colw1 == true){
if (colw2 == true){
desb.SetActive(true);
trigger.SetActive(false);
player.SetActive(true);
control.SetActive(true);
puzle.SetActive(false);
animObj1.GetComponent.<Animation>().Play("animcilinsube");
}
}
}
Ni la variable colw1 se activa ni la cowl2, le he puesto 2 luces a modo chivato para que me indique cuando entra y sale de la colision, una para cada variable, y no hacen nada. No se si es por haber metido 2 colisiones (colisionador1 y colisionador2) con la misma variable Col. Dejo una imagen orientativa:
//script girar
var puzle : GameObject;
var control : GameObject;
var obj1 : GameObject;
var obj2 : GameObject;
var obj3 : GameObject;
var girax : int = 0;
var giray : int = 0;
var giraz : int = 0;
var rueda : int = 1;
function Start()
{
Cursor.lockState = CursorLockMode.Locked;
Cursor.Visible(false);
}
function Update()
{
if (rueda < 1){
rueda = 3;
}
if (rueda > 3){
rueda = 1;
}
if(Input.GetButtonDown("L1")){
rueda -= 1;
}
if(Input.GetButtonDown("R1")){
rueda += 1;
}
if(Input.GetButtonDown("accion")){
if (rueda == 1) {
obj1.transform.Rotate(girax, giray, giraz);
}
if (rueda == 2) {
obj2.transform.Rotate(girax, giray, giraz);
}
if (rueda == 3) {
obj3.transform.Rotate(girax, giray, giraz);
}
}
if(Input.GetButtonDown("Jump")){
if (rueda == 1) {
obj1.transform.Rotate(-girax, -giray, -giraz);
}
if (rueda == 2) {
obj2.transform.Rotate(-girax, -giray, -giraz);
}
if (rueda == 3) {
obj3.transform.Rotate(-girax, -giray, -giraz);
}
}
if(Input.GetButtonDown("mapa")){
control.SetActive(true);
player.SetActive(true);
puzle.SetActive(false);
}
}
Solucionado: Se me olvidaron los riggidbody, pido perdon por el retraso