Skip to main content

二、骨骼

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

模型的基本骨骼架构

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

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

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

image.jpg

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

正向运动学(FK)

1、肌肉控制型(FK)

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

image.png

8D50A2F09B3ED856ECFC1E572E0A7D49.gif

反向运动学(IK)

2、提线木偶型(IK)

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

序列 01_14 00_00_00-00_00_30.gif

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

物理骨骼

当我们想要在游戏中模拟头发,衣服,布料等属性时,比起真的耗费巨大性能对其进行解算,更加体面也更加被游戏业界所广泛使用的优化方法便是利用带有物理属性的骨骼带动面片运动以模拟头发,衣服,布料等属性。

目前 VRChat 使用的解决方法被叫做 物理骨骼(PhysBone),这是一个简单的基于模拟弹簧振子的算法实现树状柔体的物理模拟插件,VRChat 同时也用它来实现玩家与玩家的交互效果。

点击此处查看 VRChat 汉化文档中心 的 PhysBone 文档。

交互演示.gif交互演示

VRChat 在过去还使用过 动态骨骼(Dynamic Bone),动态骨骼插件可以很好的处理物体之间的碰撞问题,但它无法支持玩家与玩家之间的交互,就目前来讲 物理骨骼(Phys Bone)的使用需要很大的讲究。