- Home /
Instantiate prefabs just before it comes into view
Im making a platform type game and I was trying to figure out how to Instantiate a prefab as the the player(object) about every 5 units in the y direction.
Ive got the actual Instantiate working
//////////////////////////////////////////// var prefab : Transform; var playerCam : Transform; var player : Transform;
function Update () {
var playerCamY = playerCam.position.y;
var abovePlayer = playerCamY+7;
var belowPlayer = playerCamY-7;
var randPlaceX = Random.Range(-2,2);
var randPlaceY = Random.Range(abovePlayer,abovePlayer+5);
Instantiate (prefab, Vector3(randPlaceX,randPlaceY,-0.1738763),Quaternion.identity);
}
////////////////////////////////////////////////
But I just need a way of telling WHEN to Instantiate. Is there something like InvokeRepeating but for my own variable rather than seconds.
I Ultimately want to get the prefabs to Instantiate before it enters the frame then destroy it soon after it leaves the frame.
Any help would be greatly appreciated, Ive been scratching my head for ages on this one....
Answer by syclamoth · Jan 09, 2012 at 12:36 PM
Well, if you know where the camera is and where it is pointing and where it is going, you could key it off camera position!
So, for example-
var instantiationGap : float = 3;
var nextInstantiation : float 0;
function Update()
{
var currentPos = cameraTransform.position.y;
if(currentPos >= nextInstantiation)
{
// Spawn something!
nextInstantiation += instantiationGap;
}
}
This way, it will spawn an object when the camera reaches certain milestones.
WOO! thanks man that worked. I cant believe i didnt come up with that. so simple. cheers. Now i just need to do the opposite and destroy it when it leaves the cam.
Answer by nickazg · Jan 10, 2012 at 03:53 AM
ahh, i also just realized how slow Instantiate's are and causes a lag every Instantiate. So instead im either going to have it all Instantiate before gameplay or have only like 10 clones and reposition them just before they come into view
Your answer
Follow this Question
Related Questions
Check if child exists and instantiate as child 1 Answer
Instantiate prefabs before it comes into view 0 Answers
Can't remove instantiated prefab 0 Answers
how to destroy camera instatiated from prefab? 0 Answers
Combining Meshes? 1 Answer