- Home /
Spawn object near the moving camera
Hi, i need to spawn an object every second as child of my camera, and the object must spwan on this relatives coordinates: x = 0, y = 5, z = 0 then it can be free from scripts so the camera can move over it.
This is the (partial) code. It works, but the script force to stay the cube at y = 5 instead of makes the cube free from scripts.
I tried to make an image to explain this, but i don't know if this is a good image :S
Sorry for my bad english but this is my main language
using UnityEngine;
using System.Collections;
public class Game : MonoBehaviour {
public float speed = 5;
public GameObject cubo;
bool cubbbo = false;
public Vector3 posizionea;
public Vector3 posizioneb;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
transform.Translate(speed * 0f, Time.deltaTime*20, 0f);
StartCoroutine(Spawncubo());
}
IEnumerator Spawncubo()
{
if (cubbbo == false)
{
cubbbo = true;
while (true)
{
yield return new WaitForSeconds(1);
GameObject clone = Instantiate(cubo) as GameObject;
clone.transform.parent = this.transform;
clone.transform.localPosition = Vector3.Lerp(posizionea, posizioneb, Time.deltaTime * 50);
}
}
}
}
Answer by robertbu · Jun 15, 2014 at 04:52 AM
Let's assume you want to spawn at a certain position below and in front of the camera. Also I'm going to assume that the drawing is on the XY plane. So say you wanted the object to be spawned five units in front and four units below (5, -4) the camera. You can generate the world position to spawn by:
var worldPos = Camera.main.transform.TransformPoint(new Vector3(5, -4, 0));
Your answer
Follow this Question
Related Questions
GetComponentInChildren(Renderer).active wont work? 2 Answers
I would like to make objects spawn and aim for a object that i have to dodge 1 Answer
Children Overproducing 1 Answer
Instantiating prefab at child (spawnlocations are arrays) 2 Answers
Setting children position to Vector3.zero doesn't make them go to center of parent? 1 Answer