@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);
        }
    }
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
GavriKos
@GavriKos Куратор тега Unity
1. Перед спавном проверять коллизии. Если есть коллизия - выбирать другое место
2. Спавнить по умному - например, по сетке. Или вычислять точку спавна на основе уже имеющихся машин.

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

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

Войти через центр авторизации
Похожие вопросы
25 окт. 2024, в 22:20
3000 руб./за проект
25 окт. 2024, в 21:46
7500 руб./за проект
25 окт. 2024, в 21:45
2000 руб./в час