[RESOLVIDO] Instanciar randômicamente prefab acima do terreno. Unity.
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Instanciar randômicamente prefab acima do terreno. Unity.
Boa noite.
Tenho um script em um componente no unity para instanciar um checkpoint de forma randômica que e chamado por um gamecontroller.
Minha duvida e como fazer para que ele seja instanciado em contato com um terreno irregular (no caso de meu terreno ele e um deserto com varias dunas de diferentes valores em "y").
Em meu script ele deixa o x e z random. A solução que encontre para ele n ir para baixo do terreno foi deixar o meu checkPointController com o "y" acima da duna mais alta. Mas queria que ele ja fosse instanciado em contato com o terreno.
Tenho um script em um componente no unity para instanciar um checkpoint de forma randômica que e chamado por um gamecontroller.
Minha duvida e como fazer para que ele seja instanciado em contato com um terreno irregular (no caso de meu terreno ele e um deserto com varias dunas de diferentes valores em "y").
Em meu script ele deixa o x e z random. A solução que encontre para ele n ir para baixo do terreno foi deixar o meu checkPointController com o "y" acima da duna mais alta. Mas queria que ele ja fosse instanciado em contato com o terreno.
- Código:
using UnityEngine;
public class CheckPointController : MonoBehaviour {
public Transform CheckPointPrefab;
public float radiusSpawn;
public Transform SpawnCheckPoint()
{
Transform tempCheckPoint = Instantiate(CheckPointPrefab) as Transform;
SpawnInNewPosition(tempCheckPoint);
return tempCheckPoint;
}
public void SpawnInNewPosition(Transform checkPoint)
{
Vector3 newPosition = transform.position;
newPosition.x += Random.Range(-radiusSpawn, radiusSpawn);
newPosition.z += Random.Range(-radiusSpawn, radiusSpawn);
checkPoint.transform.position = newPosition;
}
}
Emerson Rebouças- Iniciante
- PONTOS : 2222
REPUTAÇÃO : 6
Respeito as regras :
Re: [RESOLVIDO] Instanciar randômicamente prefab acima do terreno. Unity.
Geralmente em RPGMMO os spawn são fixos, tem os gameobjets com a tag spawn ...
igorobm- MembroAvançado
- PONTOS : 2833
REPUTAÇÃO : 39
Idade : 27
Áreas de atuação : Discord -> 163979429742116864
Respeito as regras :
Re: [RESOLVIDO] Instanciar randômicamente prefab acima do terreno. Unity.
Não havia pensado nisso. Ainda assim queria evitar ter vários game objects de spawn na cena.igorobm escreveu:Geralmente em RPGMMO os spawn são fixos, tem os gameobjets com a tag spawn ...
Se houver outra solução seria melhor.
Pra quem quiser entender melhor do que se trata o game esta na playstore. "Run Roll Roll Run". Sou bem iniciante. E meu segundo projeto finalizado e primeiro publicado. Publiquei mais com o intuito experimental para entender monetização, analytics e etc.
Emerson Rebouças- Iniciante
- PONTOS : 2222
REPUTAÇÃO : 6
Respeito as regras :
Re: [RESOLVIDO] Instanciar randômicamente prefab acima do terreno. Unity.
Talvez isto, sirva, só tem que converter pra C#, mas as funções são as mesmas.
https://www.schultzgames.com/t52-tutorial-spawn-terrain-aleatorio
Pode perceber que no código, existe uma função que pega o height do terrain na posição que o objeto está:
https://docs.unity3d.com/ScriptReference/Terrain.SampleHeight.html
Basta utilizar isto no objeto instanciado.
https://www.schultzgames.com/t52-tutorial-spawn-terrain-aleatorio
Pode perceber que no código, existe uma função que pega o height do terrain na posição que o objeto está:
https://docs.unity3d.com/ScriptReference/Terrain.SampleHeight.html
Basta utilizar isto no objeto instanciado.
Re: [RESOLVIDO] Instanciar randômicamente prefab acima do terreno. Unity.
Perfeito. Não conhecia esta função. Muito obrigado Marcos me ajudou muito.MarcosSchultz escreveu:Talvez isto, sirva, só tem que converter pra C#, mas as funções são as mesmas.
https://www.schultzgames.com/t52-tutorial-spawn-terrain-aleatorio
Pode perceber que no código, existe uma função que pega o height do terrain na posição que o objeto está:
https://docs.unity3d.com/ScriptReference/Terrain.SampleHeight.html
Basta utilizar isto no objeto instanciado.
Grato.
Emerson Rebouças- Iniciante
- PONTOS : 2222
REPUTAÇÃO : 6
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Prefab da unity altera a layer automaticamente (Como paro isso?)
» [RESOLVIDO] Rotacionar Prefab dentro da Scene
» [RESOLVIDO] Prefab com altura diferente na Scene
» Como controlar posição PREFAB (clones) [ RESOLVIDO ]
» [RESOLVIDO] Como exportar o modelo sem o seguinte prefab:
» [RESOLVIDO] Rotacionar Prefab dentro da Scene
» [RESOLVIDO] Prefab com altura diferente na Scene
» Como controlar posição PREFAB (clones) [ RESOLVIDO ]
» [RESOLVIDO] Como exportar o modelo sem o seguinte prefab:
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos