Infinite floor with object as terrain.
Hello unity community! I have a terrain made in blender.I want to Instantiate it to create an infinity world. But i cant just instantiate it on Start(). So i thought when the player collides on the terrain, run a function to Instantiate 3 more on player position.x + Collision terrain length.x . It Works perfectly. But it instantiates 3 in a row and only on x+ . There are huge problems. I just want to instantiate the terrains that i need to make an infinity world effect. Any help, ideas will be appreciated... Thanks alot.
My code is as bad as my english :P
#pragma strict
var terrain : GameObject;
function Update () {
}
function OnCollisionEnter(col : Collision){
if(col.gameObject.name == "Player"){
for(var i2 = 0;i2 < 1;i2++){
Instantiate(terrain,new Vector3(this.transform.position.x + 271,0,0),Quaternion.Euler(-90,0,0));
Instantiate(terrain,new Vector3(this.transform.position.x + 271,0,this.transform.position.z + 271),Quaternion.Euler(-90,0,0));
Instantiate(terrain,new Vector3(this.transform.position.x + 271,0,this.transform.position.z - 271),Quaternion.Euler(-90,0,0));
}
}
}
Answer by toddisarockstar · Jan 04, 2016 at 09:35 PM
is this game a side scroller? is he moving in one general direction? Anyways, seems you would be making multiple copies of your terrain where they already exist. maybe check with Raycast to see if something is allready there before your spawn. i would also destroy the script on the terrain after it runs to prevent it from running again when the player comes back to it.
Your answer
Follow this Question
Related Questions
OnCollisonEnter2D Not Firing after checking collider 1 Answer
Changing the UI Text 0 Answers
Instantiate Script Not Working 1 Answer