[RESOLVIDO][AJUDA] Sistema de spawn de Árvores
2 participantes
Página 1 de 1
[RESOLVIDO][AJUDA] Sistema de spawn de Árvores
Seguinte, meu cenário é cheio de árvores e isso faz o Unity deixar meu pc lento, então ao invés disso pensei em marcar locais para spawnar árvores ao iniciar jogo. Tentei usar um script que o Marcos postou em outro post porém ele spawna sempre, e eu quero por exemplo, quando eu cortar uma árvore ai demora 10 segundos para ela spawnar novamente e se já tiver uma árvore ali eu não quero que spawne outra por cima e eu não sei fazer essa adaptação.
Tutorial usado como suporte
Se alguém puder me ajudar agradeço muito. :D
Tutorial usado como suporte
Se alguém puder me ajudar agradeço muito. :D
Última edição por DavydMaker em Seg maio 23, 2016 3:30 pm, editado 1 vez(es)
DavydMaker- Membro
- PONTOS : 3158
REPUTAÇÃO : 1
Idade : 24
Respeito as regras :
Re: [RESOLVIDO][AJUDA] Sistema de spawn de Árvores
os lugares onde as arvores são instanciado tem lugares pré-definidos digo são vários transfom ?
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [RESOLVIDO][AJUDA] Sistema de spawn de Árvores
Sim. Mas se tiver um jeito mais fácil de fazer isso também aceito sugestões.
Obrigado por responder :D.
Obrigado por responder :D.
DavydMaker- Membro
- PONTOS : 3158
REPUTAÇÃO : 1
Idade : 24
Respeito as regras :
Re: [RESOLVIDO][AJUDA] Sistema de spawn de Árvores
bom o que vc pode fazer e instanciar as arvore e torna ló filho ao transform
depois vc perguntar se existe algum objeto filho
se existe vc não instância e passa pra próximo da lista ate achar um que não tenha objeto filho
em positionToSpawn passe todas a posições de spawn
em tree passe a arvore
em tempToSpawn passe o tempo de spawn
@EDIT1 : Tirei um Erro
depois vc perguntar se existe algum objeto filho
se existe vc não instância e passa pra próximo da lista ate achar um que não tenha objeto filho
em positionToSpawn passe todas a posições de spawn
em tree passe a arvore
em tempToSpawn passe o tempo de spawn
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class TreeSpawnController : MonoBehaviour
{
public List<Transform> positionToSpawn;
public GameObject tree;
public float tempToSpawn;
void Update()
{
CheckParent ();
}
private IEnumerator Instace(Transform localPosition)
{
GameObject newTree = Instantiate (tree) as GameObject;
newTree.transform.parent = localPosition;
newTree.transform.position = localPosition.position;
newTree.SetActive (false);
yield return new WaitForSeconds(tempToSpawn);
newTree.SetActive (true);
}
private void CheckParent()
{
foreach (Transform position in positionToSpawn)
{
if (position.childCount <= 0)
{
StartCoroutine (Instace (position));
}
}
}
}
@EDIT1 : Tirei um Erro
Última edição por weslleyFx em Seg maio 23, 2016 4:43 pm, editado 2 vez(es) (Motivo da edição : TIrando Um Erro)
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [RESOLVIDO][AJUDA] Sistema de spawn de Árvores
Opa vlw vou testar, cheguei da escola quase agora. Já já dou edit na resposta para dizer como ficou e tirar alguma dúvida se for preciso.
DavydMaker- Membro
- PONTOS : 3158
REPUTAÇÃO : 1
Idade : 24
Respeito as regras :
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [RESOLVIDO][AJUDA] Sistema de spawn de Árvores
Funcionou mano, perfeitamente *-* vlw, eheh.
E na linha 22 coloca um ponto e vírgula no final, porque ta faltando, no caso de alguém vier a usar esse script para não ter problemas(mesmo sendo um problema simples como esse).
E na linha 22 coloca um ponto e vírgula no final, porque ta faltando, no caso de alguém vier a usar esse script para não ter problemas(mesmo sendo um problema simples como esse).
DavydMaker- Membro
- PONTOS : 3158
REPUTAÇÃO : 1
Idade : 24
Respeito as regras :
Re: [RESOLVIDO][AJUDA] Sistema de spawn de Árvores
Adicionei nem tinha visto malz ai
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [RESOLVIDO][AJUDA] Sistema de spawn de Árvores
Mano, só mais uma coisa, eu queria que as árvores já começassem instanciadas no jogo, porque quando coloco tempo ele passa o tempo para poder criar as árvores.
Tentei fazer aqui mas não consegui, se puder ajudar agradeço e explica também vlw ^-^.
Tentei fazer aqui mas não consegui, se puder ajudar agradeço e explica também vlw ^-^.
DavydMaker- Membro
- PONTOS : 3158
REPUTAÇÃO : 1
Idade : 24
Respeito as regras :
Re: [RESOLVIDO][AJUDA] Sistema de spawn de Árvores
bom existe outras formas de se fazer isso
mas basta pedir outro parâmetro na método Instace e CheckParent
do tipo float que será o tempo assim poderemos reutilizar o método CheckParent
na Awake
mas basta pedir outro parâmetro na método Instace e CheckParent
do tipo float que será o tempo assim poderemos reutilizar o método CheckParent
na Awake
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class TreeSpawnController : MonoBehaviour
{
public List<Transform> positionToSpawn;
public GameObject tree;
public float tempToSpawn;
void Awake ()
{
CheckParent(0);
}
void Update()
{
CheckParent (tempToSpawn);
}
private IEnumerator Instace(Transform localPosition, float temp)
{
GameObject newTree = Instantiate (tree) as GameObject;
newTree.transform.parent = localPosition;
newTree.transform.position = localPosition.position;
newTree.SetActive (false);
yield return new WaitForSeconds(temp);
newTree.SetActive (true);
}
private void CheckParent(float temp)
{
foreach (Transform position in positionToSpawn)
{
if (position.childCount <= 0)
{
StartCoroutine (Instace (position,temp));
}
}
}
}
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [RESOLVIDO][AJUDA] Sistema de spawn de Árvores
Vlw :D. Tentei fazer de um jeito bem bosta, mas também to começando agora em programação Unity.
DavydMaker- Membro
- PONTOS : 3158
REPUTAÇÃO : 1
Idade : 24
Respeito as regras :
Tópicos semelhantes
» Sistema de probabilidade de Spawn para Waves
» (Resolvido) Ajuda Sistema De Mudar De Cor Quando Um Objeto Encostar Em Outro
» [Ajuda]Arvores no terrain
» Sistema de spawn de monstros multiplayer
» Como fazer um sistema de Spawn aleatório?
» (Resolvido) Ajuda Sistema De Mudar De Cor Quando Um Objeto Encostar Em Outro
» [Ajuda]Arvores no terrain
» Sistema de spawn de monstros multiplayer
» Como fazer um sistema de Spawn aleatório?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos