眼睛距离限制设置

February 24th, 2020

final result

灵活的眼睛装配可让你的角色更加栩栩如生。本教程我们将创建一个始终盯着目标的眼睛装配,而虹膜和瞳孔不会游离眼球的边界。这是我们之前发布的小贴士的详细版本,我们来一步一步阐述!

图片设置

circle

为了方便起见,本文一切从简。眼球由一个位于图片路径中的白圆圈图片代表,将其从图片节点拖到视口,然后复制其插槽。

circle

我们将把第二个圆圈变成眼睛虹膜。所需做的只是将附件颜色改为我们想要的虹膜颜色。图片可在设置模式下独立于骨骼进行缩放和移动,所以我们将该复件缩小至眼球比例。要设置虹膜不能移出的界限,我们还将它移动到触及其下面的白圈边界。

circle

接下来我们复制虹膜插槽来创建瞳孔。为该图片附件选择一个新色彩,并像前面一样缩小该附件。

最后,我们在瞳孔上增加一个小小的光反射。复制瞳孔插槽并将其缩小,将颜色改成白色并放到瞳孔上方。

最后我们就可以创建一个骨骼了!

骨骼设置

bones

要获得想要的效果,我们需要创建3个骨骼。limiter骨骼起源于眼球中心并延伸至其边界。角度为方便稍后对齐。

pupil骨骼放在瞳孔中间,还与limiter骨骼的中点对齐。除白眼球外所有图片均以此骨骼为父级。pupil骨骼自己以limiter骨骼为父级。

最后将target骨骼放在另两个骨骼所在的轴线上。以root骨骼为父级。

IK设置

ik

魔法时刻到了!创建一个IK约束,将limiter骨骼设为其父级,target骨骼为目标,这将使limiter骨骼始终指向target骨骼。

通过在IK约束中启用IK压缩选项,可使limiter骨骼随着target骨骼靠近或远离时缩小和放大。如此,虹膜和瞳孔即可在眼球内自由移动,而非限制在眼球边界上。

如果四处移动IK目标骨骼,则虹膜和瞳孔会失真,这是由于父骨骼的旋转和缩放应用到了pupil骨骼。要修复,只需禁用pupil骨骼上的旋转和缩放继承。

inherit

成果

最终结果

这个简单的设置让瞳孔和虹膜可以很好地跟随target骨骼,而且没有失真,也不会跑到眼球外!

可在此处下载完成的项目。

上文展示的设置是一个通用方式将元素移动限制在一个圆形区域内,你还能想到其他用途吗?请在Spine论坛上与大家分享!