偏移预制瓷砖以生成等轴测图

时间:2019-03-23 17:52:28

标签: c# unity3d

我正在尝试使用2d精灵作为预制件来生成等轴测图,以创建基础层网格。在以后的迭代中,图块的位置将允许用户在角色(如棋类游戏)上越过角色

但是我并不真正理解使行正确偏移以实现无缝等距图的结果的数学原理

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

public class IsometricMap : MonoBehaviour
{
    public int mapSize = 10;
    public GameObject tilePrefab;

    public int TileID = 1;

    void Start()
    {
        GenerateMap();
    }

    void GenerateMap()
    {
        for (int x = 0; x < mapSize; x++)
        {
            for (int y = 0; y < mapSize; y++)
            {
                if ((x < mapSize / 2 || x < mapSize / 2 || y < -x + mapSize * 3 / 2) && ((y < mapSize / 2 || y < x + mapSize / 2) && (x < mapSize / 2 || x < y + mapSize / 2)) && (y > mapSize / 2 || y > -x + mapSize / 2))
                {
                    tilePrefab.transform.name = "Tile: " + TileID++ + " [" + x + "," + y + "]";
                    Instantiate(tilePrefab, new Vector3(x, y, 0f), Quaternion.identity, this.transform);
                }
            }
        }
    }
}

enter image description here

图块本身为64x64,您可以看到只有一半的图块被艺术品占用。谁能建议我做错了什么?

此外,我知道我也许应该问这是一个单独的问题,但是我知道最终该地图形状将形成菱形,但是有没有办法我可以从正方形制作地图呢?

谢谢大家。

0 个答案:

没有答案