UniHumanoid
Unity humanoid 工具与 BVH 导入器。
BVH runtime loader
var context = new BvhImporterContext();
context.Parse(path);
context.Load(); // create Skeleton hierarchy and mesh for visualize
GameObject root = context.Root;
RuntimeLoader
- Scenes/RuntimeBvhLoader.unity
RuntimeLoader 和 PoseTransfer
加载 BVH 文件,并将姿势转移到任何具有人形特征的模型上。
- Scenes/PoseTransfer.unity
加载 BVH 文件并创建带有 AnimationClip 的预制件
Drop bvh file to Assets folder. Then, AssetPostprocessor import bvh file.
将 BVH 文件拖动到 Assets 文件夹。然后,AssetPostprocessor 将导入 BVH 文件。
- 创建一个 hierarchy(层级)预制件
- 创建一个 humanoid Avatar
- 创建一个 legacy 模式的 AnimationClip
- 为 preview(预览)创建一个蒙皮网格
将预制体在场景中实例化。
这个 object 可以处理了.
骨骼映射
这段 script(脚本)可以帮助你从现有的 GameObject hierarchy(游戏对象层级)中创建一个 human avatar。首先,你需要将这个脚本附加到具有 Animator(动画控制器)的 root GameObject(根游戏对象上)。
然后按照下面进行配置
- 将模型位置设置到原点
- 模型朝向 +Z 轴
- 模型根节点没有旋转 Quaternion.identity
- 设置 hips bone
点击Guess bone mapping(猜测骨骼映射)。如果推测骨骼映射失败,你可以手动设置骨骼。
(可选步骤), 按下 Ensure T-Pose。创建 avatar。
这些 humanoid 通过 UniGLTF 导入,并利用 BoneMapping 技术创建了 human avatar。
No Comments