Skip to main content

二、骨骼

在美妙和谐并狂野的大自然中,人和人的动物朋友们用骨头支撑住身体,给肌肉提供发力点。为了在游戏和影视作品中模拟自然角色的运动和动作,骨骼系统应运而生。

模型的基本骨骼架构

一般的模型遵循以下的基本骨骼构造,此构造中不含有物理骨骼:

虚拟形象的组成-思维导图.png

其中我们需要知道Armature作为骨骼的总集其只是一个载体他不具有调控某一个骨骼区域的作用,我们模型的骨架是以Hip为中心的网状结构,具体架构参考上图,所以不要认为头是起点

image.jpg

在这种构架下,我们的人物将以Hip为中心进行动作,也就是说我们在正常控制中Hip会相对于模型位置静止,此外在此构架下我们的模型运作形式将会以两种形式实现:

1、肌肉控制型(FK)

在此种情况下我们的骨骼控制就像我们的肌肉一样由骨骼自身的一端端点为起始点进行位移旋转操作,我们目前的大部分骨骼运动动画就是采用这种控制方式

image.png

8D50A2F09B3ED856ECFC1E572E0A7D49.gif

2、提线木偶型(IK)

此情况下整体骨骼会以端点为控制项通过移动旋转端点来影响其他骨骼进行运动,就像提线木偶一样,在某些触控实例上会用到

序列 01_14 00_00_00-00_00_30.gif

注:在骨骼中没有关节的概念,我们可以使用骨骼的一个端点作为关节,但它毕竟不是关节有偏差是正常的事情

物理骨骼

在游戏中当我们想要模拟头发,衣服布料等物体时,因为我们没有真的头发,衣服布料等面片类解算能力,所以我的用物理骨骼带动面片网路等运动来达到对应目的,目前VRC使用的动骨是物理骨骼(PhysBone),是一个简单的基于模拟弹簧振子的算法实现树状柔体的物理模拟插件,VRC用它来实现玩家间的交互效果。

VRCD汉化库中的PhysBone文档https://docs.vrczh.org/creators.vrchat.com/avatars/avatar-dynamics/physbones

序列 01_15 00_00_00-00_00_30.gif

交互演示

VRC以前还用过Dynamic Bone动骨,这个动骨可以很好的处理物体之间的碰撞问题,但他无法支持玩家之间的交互,就目前来讲pb的使用需要很大的讲究。