版本:v4.0.beta2.official [f8745f2f7]
官方教程
这篇记录算是对官方教程的补充……?
1.Bone2d 的拖动
如果新建单独一个 bone2d,那么你只会看到一个小小的骨骼,这是合理的,因为骨骼有两个端点,而单独一个 bone2d 结点只能确定一个坐标
要自由地拖动骨骼,就必须要有两个坐标,因此至少需要复数个骨骼才能自由拖动骨骼
自然,要控制骨骼 a 的两个端点,就给 a 新加一个子骨骼 b,在层级关系中选择 a,即使多个子骨骼的基点重叠在一起,点击到重叠点时仍然可以拖动 a 的第一个端点,同理,在层级关系中选择 b,拖动 b 就可以控制 a 的第二个端点
对于最末尾的骨骼是无论如何也没有子骨骼了,这个时候可以人为定义它的长度和角度
2.记得 Reset skeleton2d
要消除 bone2d 的 warning,点击 bone2d 的 skeleton2d 父结点,然后在视窗顶部点击 skeleton2d,在下拉菜单中点 Overwrite Rest Pose
这样就算是把骨骼的默认状态设置好了
以后每改一次骨骼的基本位置都要这样操作一遍
3.绑定 skeleton2d 的坑
首先可以全选所有 polygon 在 inspector 中分配 skeleton2d
然后层级结构中点击任一个 polygon,在视窗顶部点击 uv
然后再点击右侧的 Sync Bones to Polygon
这个时候应该就可以看到,这个骨骼的角度是不对的
非常惊喜,这就发现了一个 bug
然后我去官方仓库提了 issue,看了看还有 6k+ open 的 issue,感觉这个 bug 的修复遥遥无期hhh
[4.0] "Bone2D - Bone Angle" display wrongly in polygons' uv and bone weight drawing always wrong
原因在于 "Bone2D - Bone Angle" 这个属性是错的,Transform 里面的属性才是对的
以下是对比图:
这两图是用 Bone2D - Bone Angle
这两图是用 Transform
所以说还是要用 transform 来调角度
4.Polyon2D 刷骨骼权重的坑
跟骨骼 bug 一起发现的
刷权重的时候会让贴图随机闪烁
解决方法是不使用 4.0 beta 版而是使用 3.5.1 版
只能这样了,难顶
5.Polygon2D 移动 uv
如果两个部件的 uv 岛的形状很相似,你可能会想到复制 Polygon2D 结点然后直接移动 uv 岛
这是可行的,但是要注意在 2D Polygon2D Editor 的 UV 视窗中移动而不是在其他视窗中移动
6.Polygon2D 的 Offset
在做一个火柴人的时候,我发现我进到骨骼权重绘制的时候,uv 岛和骨骼贴不到一起
我立马就想到这是由于我设置了 polygon 的 offset 导致的
如图,我设置这个 offset 本意是想让这个 polygon 在 transform 为 0 的时候,图形中心位于原点
这样我以后还想着方便把火柴人打散之后旋转……如果旋转点不在图形中心的话就有问题了
但是现在看来 skeleton 和 polygon 用的同一套局部坐标才能匹配上,也就是我的 uv 是不能偏移的
得,那这个打散之后旋转不能用 transform 的旋转了
修改之后: