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 可以处理了.
骨骼映射
This这段 scriptscript(脚本)可以帮助你从现有的 helpGameObject createhierarchy(游戏对象层级)中创建一个 human avataravatar。首先,你需要将这个脚本附加到具有 from exist GameObject hierarchy. First, attach this script toAnimator(动画控制器)的 root GameObject that has Animator.GameObject(根游戏对象上)。
Next, setup below.然后按照下面进行配置
model position is origin将模型位置设置到原点model look at模型朝向 +zZorientation轴model模型根节点没有旋转root node rotation is Quatenion.Quaternion.identitySet设置 hipsbone.bone
press 点击Guess bone mapping. If fail to guess bone mapping, you can set bones manually.mapping(猜测骨骼映射)。如果推测骨骼映射失败,你可以手动设置骨骼。
Optional,(可选步骤), press按下 Ensure T-Pose.Pose。创建 Create avatar.avatar。
These humanoids
这些 byhumanoid 通过 UniGLTF and导入,并利用 createdBoneMapping 技术创建了 human avatar by BoneMapping.avatar。