Erro ao tentar acessar o filho de um objeto.
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Erro ao tentar acessar o filho de um objeto.
Olá, vamos direto ao assunto.
Estou programando um script para fazer um porta abrir e fechar, conforme se pressiona uma tecla, tipo se você abrisse uma porta bem devagarinho.
O script usa o Raycast que detecta a maçaneta,ele deveria achar o filho que é um transform que vai fazer a porta rotacionar.
Mas ele apresenta esse erro :
UnityException: Transform child out of bounds
Usei o GetChild para chamar o transform do filho, no inicio funcionou, mas depois apresentou esse erro.
Confiram o Script.
Estou programando um script para fazer um porta abrir e fechar, conforme se pressiona uma tecla, tipo se você abrisse uma porta bem devagarinho.
O script usa o Raycast que detecta a maçaneta,ele deveria achar o filho que é um transform que vai fazer a porta rotacionar.
Mas ele apresenta esse erro :
UnityException: Transform child out of bounds
Usei o GetChild para chamar o transform do filho, no inicio funcionou, mas depois apresentou esse erro.
Confiram o Script.
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityStandardAssets.Characters.FirstPerson;
public class Porta : MonoBehaviour {
public GameObject Player;
public Image iInteragir;
public bool podeAbrir;
public KeyCode teclaAcao;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
RaycastHit hit;
//
if (Physics.Raycast (transform.position, transform.forward, out hit, 3f)) {
if (hit.transform.tag == "Porta") {
iInteragir.transform.localScale = new Vector3 (2.1f, 2);
podeAbrir = true;
Debug.DrawLine (transform.position, hit.transform.position);
if (podeAbrir == true && Input.GetKey (teclaAcao)) {
Player.transform.GetComponent<FirstPersonController> ().enabled = false;
if (Input.GetKey (KeyCode.W)) {
hit.transform.GetChild (0).transform.Rotate (0, 0.5f, 0);
}
}
}
}
if (Input.GetKeyUp (teclaAcao)) {
Player.transform.GetComponent<FirstPersonController> ().enabled = true;
podeAbrir = false;
}
}
}
Edu San- Iniciante
- PONTOS : 2982
REPUTAÇÃO : 1
Idade : 22
Áreas de atuação : Modelagem;
Programação ( java, c#);
Desing ( Photoshop );
Level Desing;
Respeito as regras :
Re: Erro ao tentar acessar o filho de um objeto.
Clique 2x em cima do erro e nos diga qual linha o script aponta, para que possamos saber aonde está exatamente o erro.
Re: Erro ao tentar acessar o filho de um objeto.
Não sei se vai fazer alguma diferença mas voce pode tentar usar Find e passar o nome do objeto filho, pra tentar pegar ele:
E na hora que for testar verifique se o objeto filho esta realmente filiado, ou se por algum motivo ele saiu...
- Código:
hit.transform.Find ("NomeDoFilho").Rotate (0, 0.5f, 0);
E na hora que for testar verifique se o objeto filho esta realmente filiado, ou se por algum motivo ele saiu...
Re: Erro ao tentar acessar o filho de um objeto.
Então, eu descobri que na mesma direção da maçaneta, existia um collider que eu não faço a menor ideia de onde veio ( provavelmente do modelo da maçaneta, devo ter adicionado um collider sem querer ), o que estava acontecendo é que na verdade ele estava acessando esse collider, apesar de ele não possuir a tag, então apenas coloquei a layer IgnoreRaycast, e agora está funcionando perfeitamente.
Até tinha esquecido que postei esse tópico kkkk, de qualquer forma obrigado por responderem.
Até tinha esquecido que postei esse tópico kkkk, de qualquer forma obrigado por responderem.
Edu San- Iniciante
- PONTOS : 2982
REPUTAÇÃO : 1
Idade : 22
Áreas de atuação : Modelagem;
Programação ( java, c#);
Desing ( Photoshop );
Level Desing;
Respeito as regras :
Tópicos semelhantes
» Unity - Erro ao Acessar Classe de Objeto
» É possivel detectar colisão de um objeto filho pelo objeto pai?
» Setar objeto filho de outro objeto via scrit
» [RESOLVIDO] Erro ao tentar alterar cor de botão.
» Gostaria de saber como acessar um filho de um prefab não instanciado
» É possivel detectar colisão de um objeto filho pelo objeto pai?
» Setar objeto filho de outro objeto via scrit
» [RESOLVIDO] Erro ao tentar alterar cor de botão.
» Gostaria de saber como acessar um filho de um prefab não instanciado
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos