Настройка того, как Unity создает плитки из текстуры
Чтобы настроить, как Unity создает плитки из текстуры, создайте скрипт, наследующий от TileTemplate.
Примечание: TileTemplate работают только при автоматическом создании палитры плиток с помощью набора плиток, а не при создании собственной палитры плиток. Дополнительные сведения см. в Создание набора плиток.
Выполните следующие действия:
В окне Project создайте папку с названием Редактор.
Чтобы создать новый скрипт C#, щелкните правой кнопкой мыши папку Редактор и выберите Создать > MonoBehaviour скрипт.
-
Откройте скрипт и замените код классом, который наследуется от
UnityEngine.Tilemaps.TileTemplate. Например:using System.Collections.Generic; using UnityEngine; using UnityEngine.Tilemaps; public class MyTileTemplate : TileTemplate { } -
Реализуйте метод
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++; } } -
Чтобы создать экземпляры шаблона плитки в вашем проекте, добавьте
CreateAssetMenuатрибут перед объявлением класса.[CreateAssetMenu] public class MyTileTemplate : TileTemplate { // ... } Создание экземпляра шаблона плитки в Project окно. Например, в предыдущем примере, в главном меню, выберите Ассеты > Создать затем имя вашего
TileTemplateclass.После добавления текстуры в набор плиток перетащите ассет шаблона плитки из окна Project в поле Tile Template в окне Tile Set Importer Inspector.
Выбрать Применить, затем откройте Окно палитры плитки чтобы проверить плитки, созданные вашим шаблоном плитки.