unity批量拖拽到属性排序问题小技巧

这个方法可以解决批量拖序列帧或者场景物体顺序乱的问题,为懒人服务

当然你也可以直接加载的时候解决这样问题。


unity可以批量把场景或者项目上的物体拖动到一个public属性的数组上

当然这个需要锁定属性面板,可以看看右上角的锁,

然后数组大小直接为0的时候拖动到那个变量名字上就行了,

就会发现数组被自动填满了



但是这样会出现一个问题就是如果你的物体是有顺序的话,

拖动上去很大可能会造成里面的排列顺序是乱的(通常来说从项目中拖序列帧之类)

确切的说其实这应该是个bug,因为unity放入资源的时候,读取的次序是乱的,

如果你是一张张按顺序导入到unity就会发现没这个问题(当然如果能一张张拖到project中那还要什么批量拖呢)


所以这个时候我们就需要一个排序方法

[ContextMenu ("Sort Frames by Name")]
void DoSortFrames() {
 System.Array.Sort(frames, (a,b) => a.name.CompareTo(b.name));
}

可以在脚本里添加上面的方法,记得frames就是你的public 数组

然后使用的时候只要记得图片命名必须是相等字母数的格式(比如001,002,003等等)

 

unity批量拖拽到属性排序问题小技巧_第1张图片  unity批量拖拽到属性排序问题小技巧_第2张图片

排序前                                                                                                                      排序   在脚本名字上右击选择最后一个就是了

排序后

unity批量拖拽到属性排序问题小技巧_第3张图片

问题解决

你可能感兴趣的:(unity,unity,批量,序列,顺序,unity3d)