- Home /
Check a space before Instantiating into it
Hi, I am trying to build and endless terrain by Instantiating new border Terrains from an array when the collision is entered on the middle Terrain. Then with the same script being on all terrains the process will repeat. The problem is I cant fathom a logic that prevents Instantiating terrains on top of other existing terrains. While there are many answers relating to this topic already, their answer of using colliders is invalid for me as the GameObject would be instantiated inside of the collider thus not triggering.
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject)
{
Debug.Log("Collided");
DailLand();
}
}
public void DailLand()
{
Instantiate(terrains, posN.transform.position, Quaternion.identity);
Instantiate(terrains, posE.transform.position, Quaternion.identity);
Instantiate(terrains, posS.transform.position, Quaternion.identity);
Instantiate(terrains, posW.transform.position, Quaternion.identity);
Instantiate(terrains, posNE.transform.position, Quaternion.identity);
Instantiate(terrains, posNW.transform.position, Quaternion.identity);
Instantiate(terrains, posSE.transform.position, Quaternion.identity);
Instantiate(terrains, posSW.transform.position, Quaternion.identity);
}
private void OnCollisionExit(Collision collision)
{
Debug.Log("Jumped?");
}
Thanks in advance for any suggestions.
Your answer
Follow this Question
Related Questions
Collision check on Placement 1 Answer
Distribute terrain in zones 3 Answers
I don't think I get collision box, can someone help? 0 Answers
OnCollisionEnter not being called, between a Rigidbody and a Box Collider 1 Answer
Instantiated object not keeping transform of the instantiator after instantiator is destroyed 2 Answers