Skip to main content

为模型的道具添加约束(维护中)

虽然许多地图中也存在可以互动的道具,但这毕竟得碰运气。定位不准、容易误触、尺寸不合等各种情况决定了地图道具未必好用。大多情况下,我们还是只能将道具安装于模型中,这就涉及到unity改模了。

但是由于安装道具涉及到的改模知识相对复杂,而且每一种道具的安装方式可能不太一样,故在此不再赘述。需要提醒您,每一种道具,作者一般都会把安装方法放置在商品界面,所以您在掌握最基本的操作之后跟着做就行。

在这里,我向您介绍一种方法,能够让使用道具拍摄更加方便——制作约束。这个操作允许您将道具固定在您模型的某个身体部位或者世界中,可以应用在如道具脱手飞出的效果拍摄当中。

所谓约束,您可以理解为,一个物体受另外一个物体的影响。就像有链条把他们约束在一起一样,会同步移动、旋转等。

请您按照下图的指引,先创建一个名为“长剑”空物体,作为一切的父物体。然后,把我们道具塞进去。这里的示例道具叫做mesh,外表是一个简单的长剑。接下来创建两个空物体,命名为“约束目标-手”和“约束目标-腰”。当然,您在跟随本教程走完一个流程,弄明白原理后也可以自行制作想约束的地方。

image.png

跟随图中操作,选择刚才图里的mesh(您要做的话,就对应选择您的道具),在右侧下方点击“Add Component”(添加组件),然后搜索VRC Parent Constraint,为物体添加该组件。请您参考下图,调整成一样的设置。请注意,不要忘记勾选“Is Active”。

image.png

Unity中表示物体的位置,是由六个量决定的:3个描述位置的坐标,是空间直角坐标系;3个描述旋转的坐标,在概念上是欧拉角。这也就是上图展示的Transform。


您也许会好奇,如果不把Weight调成一个为0另一个为1,而是一个0.4,一个0.6,那会发生什么?其实,如果您为一个物体添加了多个约束,那么它受约束的情况=第一个约束*对应权重+第二个约束*对应权重+......如此计算,得到最终六个物理量究竟是多少。如果您还记得高中物理学的矢量运算,那么您可以理解成合运动=0.4倍分运动1+0.6倍分运动2。

接下来就可以开始录制动画了。我们录制一个勾选“parent constraint"的动画,再录制一个取消勾选“parent constraint"的动画。在勾选的情况下,手机会跟随左手移动。而取消勾选后,手机就会被固定在左手最后的位置,不会跟随人物移动了。再次勾选时,手机会回到左手。

录完动画,其他写参数做开关之类就是基础操作了,在此不继续叙述。这里要提醒的是,因为必须将道具放置在这个层级下,所以一些MA安装的道具可能会失效,需要自行调整。当然,我们在本章中讨论的是只保留道具模型,删除具体功能的,那样就不需要考虑冲突了。在此基础上,有能力的朋友可以自行开发更多的玩法,比如切换左右手之类。也可以不使用提供的预制件,完全手搓来达到同样的效果。