@Smart_hub

Как сделать так, что бы объект не спавнился в объекте?

671aaf9596b71661281679.jpeg

Всем привет, застрял на одном моменте, а именно когда создал спавн машин - они иногда спавняться в друг друге, что прям очень бросается в глаза. Я вставил фотографию как это выглядит. Как сделать так, что бы они нормально спавнялись? Код перед вами
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CarSpawn : MonoBehaviour
{
	
	public GameObject Car;
    

    void Start()
    {
        StartCoroutine(Spawner());
    }

    IEnumerator Spawner()
    {
        while (true)
        {
			float rand = Random.Range(87f, 130f);			            
			yield return new WaitForSeconds(2.8f);	
            GameObject newCar = Instantiate(Car, new Vector3(-5.5f, 0.5f, rand), Quaternion.identity);
			
			Destroy(newCar, 20);
        }
    }
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos Куратор тега Unity
1. Перед спавном проверять коллизии. Если есть коллизия - выбирать другое место
2. Спавнить по умному - например, по сетке. Или вычислять точку спавна на основе уже имеющихся машин.

У вас же тупой простой рандом - в нем нет никаких логик проверок - поэтому увы
Ответ написан
@Unkestory
Задать координаты, нормальные мапперы рандомно не ставят машины, даже если и есть коллизия, у тебя она может появится по среди трассы, слишком много проблем, проще задать каждому транспорту координаты.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы