ошибка в скрипте C#

есть такой скрипт на сишарпе:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ToiletSpawner : MonoBehaviour
{
    public GameObject Platform;
    public List<GameObject> blocks = new List<GameObject>();
    public GameObject spawner;
    void Start()
    {
        Vector3 spawnPos = spawner.transform.position; GameObject firstblock = Instantiate(Platform, new Vector3(-8, spawnPos.y - 0.04f, 0),Quaternion.identity); //new Quaternion(0, 0, 1, transform.rotation.w))
        blocks.Add(firstblock);
    }

    public void spawn()
    {

        GameObject block = Instantiate(Platform, new Vector3(-8f, blocks[blocks.Count - 1].transform.position.y + 0.2f, 0),
            Quaternion.identity); 
        blocks.Add(block);
    }
}

и он по идее должен создавать платформы на порядок выше предыдущего, но если его запустить то блоки начинаю с 5 будут наезжать друг на друга и сталкиваться ломая всю игру. Сама функция вызывается в другом скрипте:

if (hit.collider.GetComponent<PlatformMove>())
       {
            Destroy(hit.collider.gameObject.GetComponent<PlatformMove>());
            hit.collider.gameObject.GetComponent<Rigidbody>().isKinematic = false;
            hit.collider.gameObject.GetComponent<Rigidbody>().mass = 100;
            spawner.spawn();
      }

как мне исправить эту проблему?


Ответы (0 шт):