Skip to main content

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
humanpose_transfer_inspector.png

humanpose_transfer.png


加载 BVH 文件并创建带有 AnimationClip 的预制件

Drop bvh file to Assets folder. Then, AssetPostprocessor import bvh file.

将 BVH 文件拖动到 Assets 文件夹。然后,AssetPostprocessor 将导入 BVH 文件。

  • 创建一个 hierarchy(层级)预制件
  • 创建一个 humanoid Avatar
  • 创建一个 legacy 模式的 AnimationClip
  • 为 preview(预览)创建一个蒙皮网格
下载.png

将预制体在场景中实例化。

mesh.png

这个 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模型朝向 +zZ orientation
  • model模型根节点没有旋转 root node rotation is Quatenion.Quaternion.identity
  • Set设置 hips bone.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。

bvh_bonemapping.png

These humanoids

imported

这些 byhumanoid 通过 UniGLTF and导入,并利用 createdBoneMapping 技术创建了 human avatar by BoneMapping.avatar。

humanoid.gif

Download下载 BVH files文件