Спавн монет рандомно на платформе
Пишу платформер на 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);
}
}
Думаю разберешься, здесь ничего сложного.