I’m making an endless drifting game with road that generates in front of the player and despawns behind him. The tiles generate fine but they spawn to the right of him. I don’t know why. Here is my script for reference. Thanks.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TileManager : MonoBehaviour
{
public GameObject[] tilePrefabs;
private Transform playerTransform;
private float spawnZ = -35.0f;
private float tileLength = 2.8f;
private int amnTilesOnScreen = 10;
private float safeZone = 9.0f;
private List<GameObject> activeTiles;
// Start is called before the first frame update
void Start()
{
activeTiles = new List<GameObject>();
playerTransform = GameObject.FindGameObjectWithTag("Player").transform;
for (int i = 0; i < amnTilesOnScreen; i++)
{
SpawnTile();
}
}
// Update is called once per frame
void Update()
{
if (playerTransform.position.z - safeZone > (spawnZ - amnTilesOnScreen * tileLength))
{
SpawnTile();
DeleteTile();
}
}
private void SpawnTile(int prefabIndex = -1)
{
GameObject go;
go = Instantiate (tilePrefabs[0]) as GameObject;
go.transform.SetParent (transform);
go.transform.position = Vector3.forward * spawnZ;
spawnZ += tileLength;
activeTiles.Add(go);
}
private void DeleteTile()
{
Destroy(activeTiles[0]);
activeTiles.RemoveAt(0);
}
}