Страница 1 из 1

Создание объектов

СообщениеДобавлено: 18 авг 2019, 14:37
s4Unknown
Всем привет, я новичок(Вам это не важно:)))

Сразу к вопросу:

Как создать объекты через двойной цикл, чтобы они не накладывались друг на друга. (Нужно сделать типа сетки)
У меня получается так:
[img]
https://ibb.co/n0trdcV
https://ibb.co/0V9H8dD
https://ibb.co/94tyz97
[/img]

Синтаксис:
Используется csharp
using UnityEngine;

public class GenerateMap : MonoBehaviour
{
    public GameObject Prefab;
    [SerializeField]
    private int Size = 5;
    private void Start()
    {
        Generate();
    }

    private void Generate()
    {
        for(int x = 0; x < Size; x++)
        {
            for(int z = 0; z < Size; z++)
            {
                GameObject obj = Instantiate(Prefab, transform) as GameObject;
                Vector3 pos = new Vector3(x, 0, z);
                obj.transform.position = pos;
            }
        }
    }
}
 

Re: Создание объектов

СообщениеДобавлено: 18 авг 2019, 17:09
AngryCat
Вот код:
Синтаксис:
Используется csharp
using UnityEngine;

public class GenerateMap : MonoBehaviour
{
    public GameObject Prefab;
    [SerializeField]
    private int Size = 5;
    public float deltaX = 5; //Это размер твоего объекта по Иксу
    public float deltaZ = 5; //Это размер по Зеду

    private void Start()
    {
        Generate();
    }

    private void Generate()
    {
        for(int x = 0; x < Size; x++)
        {
            for(int z = 0; z < Size; z++)
            {
                GameObject obj = Instantiate(Prefab, transform) as GameObject;
                Vector3 pos = new Vector3(x * deltaX, 0, z * deltaZ);
                obj.transform.position = pos;
            }
        }
    }
}

Вообще, есть и более цивильные способы, например, использование сетки!