diff --git a/Assets/VRM10/Runtime/Components/Vrm10Instance/Vrm10Instance.cs b/Assets/VRM10/Runtime/Components/Vrm10Instance/Vrm10Instance.cs
index 385aa8beb..f2a0b1028 100644
--- a/Assets/VRM10/Runtime/Components/Vrm10Instance/Vrm10Instance.cs
+++ b/Assets/VRM10/Runtime/Components/Vrm10Instance/Vrm10Instance.cs
@@ -5,9 +5,9 @@ namespace UniVRM10
{
///
/// VRM全体を制御するRoot
- ///
+ ///
/// Importer(scripted importer) -> Prefab(editor/asset) -> Instance(scene/MonoBehavior) -> Runtime(play時)
- ///
+ ///
/// * DefaultExecutionOrder(11000) means calculate springbone after FinalIK( VRIK )
///
[AddComponentMenu("VRM10/VRMInstance")]
@@ -54,6 +54,10 @@ namespace UniVRM10
private Vrm10Runtime m_runtime;
private ControlRigGenerationOption m_controlRigGenerationOption = ControlRigGenerationOption.None;
+ ///
+ /// VRM ファイルに記録された Humanoid ボーンに対応します。
+ /// これは、コントロールリグのボーンとは異なります。
+ ///
public UniHumanoid.Humanoid Humanoid
{
get
diff --git a/Assets/VRM10/Runtime/Components/Vrm10Runtime/ControlRig/ControlRigGenerationOption.cs b/Assets/VRM10/Runtime/Components/Vrm10Runtime/ControlRig/ControlRigGenerationOption.cs
index 54f133111..6ebb0e6e4 100644
--- a/Assets/VRM10/Runtime/Components/Vrm10Runtime/ControlRig/ControlRigGenerationOption.cs
+++ b/Assets/VRM10/Runtime/Components/Vrm10Runtime/ControlRig/ControlRigGenerationOption.cs
@@ -2,8 +2,15 @@
{
public enum ControlRigGenerationOption
{
+ ///
+ /// コントロールリグを生成しません。
+ ///
None,
- Additive,
- Override,
+
+ ///
+ /// 推奨されるオプションです。
+ /// コントロールリグのボーン Transform を生成し、Root の Animator はコントロールリグのボーンを制御するようになります。
+ ///
+ Generate,
}
}
\ No newline at end of file
diff --git a/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10RuntimeControlRig.cs b/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10RuntimeControlRig.cs
index 25f87a32b..cb4f6f05d 100644
--- a/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10RuntimeControlRig.cs
+++ b/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10RuntimeControlRig.cs
@@ -35,30 +35,16 @@ namespace UniVRM10
_controlRigRoot = new GameObject("Runtime Control Rig").transform;
_controlRigRoot.SetParent(vrmRoot);
- var avatarRoot = option switch
- {
- ControlRigGenerationOption.Additive => _controlRigRoot,
- ControlRigGenerationOption.Override => vrmRoot,
- ControlRigGenerationOption.None => null,
- _ => throw new ArgumentOutOfRangeException(nameof(option), option, null)
- };
-
_hipBone = Vrm10ControlBone.Build(humanoid, out _bones);
_hipBone.ControlBone.SetParent(_controlRigRoot);
InitialHipsHeight = _hipBone.ControlTarget.position.y;
var transformBonePairs = _bones.Select(kv => (kv.Value.ControlBone, kv.Key));
- _controlRigAvatar = HumanoidLoader.LoadHumanoidAvatar(avatarRoot, transformBonePairs);
+ _controlRigAvatar = HumanoidLoader.LoadHumanoidAvatar(vrmRoot, transformBonePairs);
_controlRigAvatar.name = "Runtime Control Rig";
- ControlRigAnimator = option switch
- {
- ControlRigGenerationOption.Additive => _controlRigRoot.gameObject.AddComponent(),
- ControlRigGenerationOption.Override => vrmRoot.GetComponent(),
- ControlRigGenerationOption.None => null,
- _ => throw new ArgumentOutOfRangeException(nameof(option), option, null)
- };
+ ControlRigAnimator = vrmRoot.GetComponent();
ControlRigAnimator.avatar = _controlRigAvatar;
}
diff --git a/Assets/VRM10/Runtime/IO/Vrm10.cs b/Assets/VRM10/Runtime/IO/Vrm10.cs
index 6e5c68b0d..bf9c74ee4 100644
--- a/Assets/VRM10/Runtime/IO/Vrm10.cs
+++ b/Assets/VRM10/Runtime/IO/Vrm10.cs
@@ -37,7 +37,7 @@ namespace UniVRM10
public static async Task LoadPathAsync(
string path,
bool canLoadVrm0X = true,
- ControlRigGenerationOption controlRigGenerationOption = ControlRigGenerationOption.Override,
+ ControlRigGenerationOption controlRigGenerationOption = ControlRigGenerationOption.Generate,
bool showMeshes = true,
IAwaitCaller awaitCaller = null,
IMaterialDescriptorGenerator materialGenerator = null,
@@ -81,7 +81,7 @@ namespace UniVRM10
public static async Task LoadBytesAsync(
byte[] bytes,
bool canLoadVrm0X = true,
- ControlRigGenerationOption controlRigGenerationOption = ControlRigGenerationOption.Override,
+ ControlRigGenerationOption controlRigGenerationOption = ControlRigGenerationOption.Generate,
bool showMeshes = true,
IAwaitCaller awaitCaller = null,
IMaterialDescriptorGenerator materialGenerator = null,