多个精灵表中的 Unity 9-slice
Posted
技术标签:
【中文标题】多个精灵表中的 Unity 9-slice【英文标题】:Unity 9-slice in multiple sprite sheet 【发布时间】:2016-01-30 15:02:55 【问题描述】:我在 Unity 5.2 中遇到问题 9-将我的 sprite 切片到 spritesheet 中。 即使我正确设置了边界,Unity 似乎也忽略了 9 切片。我的按钮图形都被拉长了,这是在按钮上设置了边框的精灵表。
如果我尝试对单个精灵文件进行相同的切片,那么它会起作用。
不能在 spritesheet 中进行 9 切片吗?还是我做错了什么。
谢谢!
【问题讨论】:
【参考方案1】:我的做法是使用脚本将所有精灵信息复制到多纹理精灵表中:
int numberOfItemSlices = rects.Count(); //total number of sprites
List<SpriteMetaData> mapSlices = new List<SpriteMetaData>();
for (int sliceCounter=0; sliceCounter<numberOfItemSlices; sliceCounter++)
SpriteMetaData mapSlice0 = new SpriteMetaData();
mapSlice0.name = textureNames[sliceCounter];
mapSlice0.rect = rects[sliceCounter];
if (sprites[sliceCounter] != null && sprites[sliceCounter].border != null)
mapSlice0.border = sprites[sliceCounter].border;
mapSlices.Add(mapSlice0);
importer.spritesheet = mapSlices.ToArray();
sprites:您可以在源 sprites 上 AssetDatabase.LoadAssetAtPath<Sprite>()
的 sprites 数组。
importer:新图集的纹理导入器
textureNames:如果需要,您还可以在多精灵纹理中命名您的精灵。
【讨论】:
以上是关于多个精灵表中的 Unity 9-slice的主要内容,如果未能解决你的问题,请参考以下文章