Спавн монет рандомно на платформе

Пишу платформер на Unity 3D и не получается реализовать спавн монет случайным образом на платформе

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

public class CoinsEmmitter : MonoBehaviour
{
    public GameObject coins;
    float posX;
    float posY;
    float posZ;
    
    private void Start()
    {
        posZ = transform.position.z;
        posY = transform.position.y;
        posX = Random.Range(-transform.localScale.x / 2, transform.localScale.x / 2);
        Instantiate(coins, new Vector3(posX, posY, posZ), Quaternion.identity);
    }

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

Автор решения: Vlad Klyuenkov

Вот. Вешаешь на платформу:

[SerializeField] private GameObject _coin;
[SerializeField] [Range(0, 5)] private int _minCoins = 1;
[SerializeField] [Range(1, 25)] private int _maxCoins = 5;
[SerializeField] private float _spawnHeight = 2f;

void Start()
{
    var size = GetComponent<MeshFilter>().sharedMesh.bounds.size.x * transform.localScale.x;
    var coins = Random.Range(_minCoins, _maxCoins + 1);
    var step = size / coins;

    for (int i = 1; i < coins; i++)
    {
        Instantiate(_coin, transform.position + new Vector3(step * i - size / 2f,  _spawnHeight), Quaternion.identity);
    }
}

Думаю разберешься, здесь ничего сложного.

→ Ссылка