Unity 6.3
0 онлайн 95 гостей 3 в системе
Вход
2D разработка игр Шаг 44 из 198

Настройка того, как Unity создает плитки из текстуры

Чтобы настроить, как Unity создает плитки из текстуры, создайте скрипт, наследующий от TileTemplate.

Примечание: TileTemplate работают только при автоматическом создании палитры плиток с помощью набора плиток, а не при создании собственной палитры плиток. Дополнительные сведения см. в Создание набора плиток.

Выполните следующие действия:

  1. В окне Project создайте папку с названием Редактор.

  2. Чтобы создать новый скрипт C#, щелкните правой кнопкой мыши папку Редактор и выберите Создать > MonoBehaviour скрипт.

  3. Откройте скрипт и замените код классом, который наследуется от UnityEngine.Tilemaps.TileTemplate. Например:

    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.Tilemaps;
    
    public class MyTileTemplate : TileTemplate
    {
    }
    
  4. Реализуйте метод CreateTileAssets. Этот метод предоставляет вам исходную текстуру и ее спрайты, так что вы можете написать код, который создает и размещает плитки в палитре плиток.

    Например, следующий код создает один ряд плиток в палитре плиток из спрайтов в исходной текстуре:

    public override void CreateTileAssets(Texture2D texture2D, IEnumerable<Sprite> sprites, ref List<TileChangeData> tilesToAdd)
    {
        int xTilePosition = 0;
    
        // For each sprite in the source texture
        foreach (Sprite sprite in sprites)
        {
            // Create a new tile instance and assign the sprite
            Tile newTile = ScriptableObject.CreateInstance<Tile>();
            newTile.name = sprite.name;
            newTile.sprite = sprite;
    
            // Position the tile at the current X position in the tile palette
            tilesToAdd.Add(new TileChangeData()
            {
                position = new Vector3Int(xTilePosition, 0, 0),
                tile = newTile,
                transform = Matrix4x4.identity,
                color = Color.white
            });
    
            // Increment the x position for the next tile
            xTilePosition++;
        }
    }
    
  5. Чтобы создать экземпляры шаблона плитки в вашем проекте, добавьте CreateAssetMenu атрибут перед объявлением класса.

    [CreateAssetMenu]
    public class MyTileTemplate : TileTemplate
    {
        // ...
    }
    
  6. Создание экземпляра шаблона плитки в Project окно. Например, в предыдущем примере, в главном меню, выберите Ассеты > Создать затем имя вашего TileTemplate class.

  7. Создать набор плиток.

  8. После добавления текстуры в набор плиток перетащите ассет шаблона плитки из окна Project в поле Tile Template в окне Tile Set Importer Inspector.

  9. Выбрать Применить, затем откройте Окно палитры плитки чтобы проверить плитки, созданные вашим шаблоном плитки.

Дополнительные ресурсы