Pista irregular
3 participantes
Página 1 de 1
Pista irregular
Boa tarde, estou tendo problemas na criacao do meu infinite runner, minha pista está ficando irregular "Dando alguns dentes".
Segue meu codigo para criacao das pistas.
" />
using UnityEngine;
using System.Collections;
public class cenario : MonoBehaviour
{
public GameObject[] easyPlataformas;
public GameObject[] mediunPlataformas;
public GameObject plataformaAtual;
public GameObject Nivel1;
private int qtdFilhos = 0;
private Vector3 posicaoFim;
private Quaternion rotacaoFim;
private float Tempodepista;
private int indicePlataformaAtual;
private int indicePlataforma;
// Use this for initialization
void Start ()
{
Tempodepista = 0;
plataformaAtual = (GameObject)Instantiate (plataformaAtual,transform.position+transform.up*-2+transform.position+transform.right*10+transform.position+transform.forward*1.5f,Quaternion.identity);
}
// Update is called once per frame
void Update ()
{
Tempodepista += Time.deltaTime;
if (Vector3.Distance (plataformaAtual.transform.position,transform.position)<100)
{
qtdFilhos = plataformaAtual.transform.GetChildCount();
for(int i=0; i < qtdFilhos; i++)
{
if (plataformaAtual.transform.GetChild(i).name == "Final")
{
posicaoFim = plataformaAtual.transform.GetChild(i).position;
//rotacao
rotacaoFim = plataformaAtual.transform.GetChild(i).rotation;
break;
}
}
if(Tempodepista < 20)
{
while (indicePlataformaAtual == indicePlataforma)
{
indicePlataforma = Random.Range (0, easyPlataformas.Length);
}
indicePlataformaAtual = indicePlataforma;
plataformaAtual = (GameObject)Instantiate (easyPlataformas[indicePlataforma], posicaoFim, rotacaoFim);
}
else if(Tempodepista >= 20)
{
while (indicePlataformaAtual == indicePlataforma)
{
indicePlataforma = Random.Range (0, mediunPlataformas.Length);
}
indicePlataformaAtual = indicePlataforma;
plataformaAtual = (GameObject)Instantiate (mediunPlataformas[indicePlataforma], posicaoFim, Quaternion.identity);
Nivel1.SetActive (true);
}
}
}
}
Segue meu codigo para criacao das pistas.
" />
using UnityEngine;
using System.Collections;
public class cenario : MonoBehaviour
{
public GameObject[] easyPlataformas;
public GameObject[] mediunPlataformas;
public GameObject plataformaAtual;
public GameObject Nivel1;
private int qtdFilhos = 0;
private Vector3 posicaoFim;
private Quaternion rotacaoFim;
private float Tempodepista;
private int indicePlataformaAtual;
private int indicePlataforma;
// Use this for initialization
void Start ()
{
Tempodepista = 0;
plataformaAtual = (GameObject)Instantiate (plataformaAtual,transform.position+transform.up*-2+transform.position+transform.right*10+transform.position+transform.forward*1.5f,Quaternion.identity);
}
// Update is called once per frame
void Update ()
{
Tempodepista += Time.deltaTime;
if (Vector3.Distance (plataformaAtual.transform.position,transform.position)<100)
{
qtdFilhos = plataformaAtual.transform.GetChildCount();
for(int i=0; i < qtdFilhos; i++)
{
if (plataformaAtual.transform.GetChild(i).name == "Final")
{
posicaoFim = plataformaAtual.transform.GetChild(i).position;
//rotacao
rotacaoFim = plataformaAtual.transform.GetChild(i).rotation;
break;
}
}
if(Tempodepista < 20)
{
while (indicePlataformaAtual == indicePlataforma)
{
indicePlataforma = Random.Range (0, easyPlataformas.Length);
}
indicePlataformaAtual = indicePlataforma;
plataformaAtual = (GameObject)Instantiate (easyPlataformas[indicePlataforma], posicaoFim, rotacaoFim);
}
else if(Tempodepista >= 20)
{
while (indicePlataformaAtual == indicePlataforma)
{
indicePlataforma = Random.Range (0, mediunPlataformas.Length);
}
indicePlataformaAtual = indicePlataforma;
plataformaAtual = (GameObject)Instantiate (mediunPlataformas[indicePlataforma], posicaoFim, Quaternion.identity);
Nivel1.SetActive (true);
}
}
}
}
Última edição por jeffersonveloso em Seg Jun 06, 2016 2:47 pm, editado 1 vez(es)
jeffersonveloso- Iniciante
- PONTOS : 3122
REPUTAÇÃO : 0
Respeito as regras :
Re: Pista irregular
Boa tarde. Explique melhor o erro, mande fotos, se aparecer algo no console, é prioridade mandar fotos, assim entenderemos mais fácil;
Re: Pista irregular
Amigo, preciso criar uma ladeira infinita, eu criei a rotacao no eixo Z e isso fez com que o cenario criasse para baixo como eu queria mas com isso ele comecou a nao se encaixar igual encaixava um cenario com o outro quando o cenario estava reto.NotoriousDev escreveu:Boa tarde. Explique melhor o erro, mande fotos, se aparecer algo no console, é prioridade mandar fotos, assim entenderemos mais fácil;
Segue em anexo a foto.
Se quiser posto o trabalho na nuvem e disponibilizo o link para vcs verificarem.
" />
jeffersonveloso- Iniciante
- PONTOS : 3122
REPUTAÇÃO : 0
Respeito as regras :
Re: Pista irregular
Na pre- vizualicao está aparecendo, tem algum email que posso mandar as fotos já que não está carregando?Ou entao algum outro modo?NotoriousDev escreveu:a foto nao estás aparecendojeffersonveloso escreveu:" />
jeffersonveloso- Iniciante
- PONTOS : 3122
REPUTAÇÃO : 0
Respeito as regras :
Re: Pista irregular
jeffersonveloso escreveu:Na pre- vizualicao está aparecendo, tem algum email que posso mandar as fotos já que não está carregando?Ou entao algum outro modo?NotoriousDev escreveu:a foto nao estás aparecendojeffersonveloso escreveu:" />
talvez você usou alguns caracteres indevidos na hora de postar, e para script use o code. tipo uma folinha com <>
Re: Pista irregular
Te mandei as fotos por email.
jeffersonveloso- Iniciante
- PONTOS : 3122
REPUTAÇÃO : 0
Respeito as regras :
Re: Pista irregular
elas estão a instanciar caidas assim, e quando mais instancia, mais caidas ficam?
Re: Pista irregular
Exatamente, elas nao estao se encaixando ai esta ficando vão entre uma pista e outra.NotoriousDev escreveu:elas estão a instanciar caidas assim, e quando mais instancia, mais caidas ficam?
jeffersonveloso- Iniciante
- PONTOS : 3122
REPUTAÇÃO : 0
Respeito as regras :
Re: Pista irregular
vou te da ruma dica, nao sei se vai funcionar, cria um empty object e coloca dentro dele a pista que voce quer instanciar, dai voce zera a posição da pista, e ajeita ela de acordo com a pista inicial, assim o game object ficará no lugar certo de instanciar as pistas, ai agora acho que é só colocar para instanciar dentro do game objectjeffersonveloso escreveu:Exatamente, elas nao estao se encaixando ai esta ficando vão entre uma pista e outra.NotoriousDev escreveu:elas estão a instanciar caidas assim, e quando mais instancia, mais caidas ficam?
e tambem já tentou dar um freeze na rotação? tente freezar o da rotação primeiro.
Re: Pista irregular
assim instanciando dentro do gameobject vazio, ela vais instanciar sempre no mesmo lugar
Re: Pista irregular
Ja fiz isso, as pistas são gameObject e a rotacao já está travada, eu estou achando estranho é que a fenda some quando se cria um clone 2 da pista ai quando cria o primeiro dnv ele fica com o vão. Como vc pode na foto ai no email, tem 2 cenarios sem vao ai depois cria um degrau entre outro bloco de cenario não sei pq está acontecendo isso.NotoriousDev escreveu:assim instanciando dentro do gameobject vazio, ela vais instanciar sempre no mesmo lugar
jeffersonveloso- Iniciante
- PONTOS : 3122
REPUTAÇÃO : 0
Respeito as regras :
Re: Pista irregular
jeffersonveloso escreveu:Ja fiz isso, as pistas são gameObject e a rotacao já está travada, eu estou achando estranho é que a fenda some quando se cria um clone 2 da pista ai quando cria o primeiro dnv ele fica com o vão. Como vc pode na foto ai no email, tem 2 cenarios sem vao ai depois cria um degrau entre outro bloco de cenario não sei pq está acontecendo isso.NotoriousDev escreveu:assim instanciando dentro do gameobject vazio, ela vais instanciar sempre no mesmo lugar
esse problema provavelmente é na forma de instanciar, algumca coisa está errado com a posição que esta usando para instanciar, agora tenta colocar o empty na ponta da ultima pista e instanciar para frente
Re: Pista irregular
Cara, este sistema está bastante errado... ele é feito instanciando sempre... isto deixa o jogo extremamente pesado, principalmente se for para Android.
Diga, o tamanho de cada pista que é instanciada é totalmente igual??? Digo, todos os prefabs tem o mesmo tamanho?
Diga, o tamanho de cada pista que é instanciada é totalmente igual??? Digo, todos os prefabs tem o mesmo tamanho?
Re: Pista irregular
Sim, todos os modelos tem o mesmo tamanho, o jogo é um infinite runner ai as pistas estão sendo instanciadas até o player bater!
jeffersonveloso- Iniciante
- PONTOS : 3122
REPUTAÇÃO : 0
Respeito as regras :
Re: Pista irregular
O correto seria fazer algo neste estilo:
Você instancia tudo, desativa, e depois gerencia...
Você instancia tudo, desativa, e depois gerencia...
Tópicos semelhantes
» Como apagar Proceduram material da pista, quando for recarregar a cena?
» [RESOLVIDO] Como fazer para meu Player andar por um terreno irregular?
» [RESOLVIDO] Como fazer para meu Player andar por um terreno irregular?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos