diff --git a/Assets/VRM10/Runtime/ControlRig/InitialRotations/ControlRigGenerationOption.cs b/Assets/VRM10/Runtime/ControlRig/InitialRotations/ControlRigGenerationOption.cs
index d99dfc4de..4268f59d8 100644
--- a/Assets/VRM10/Runtime/ControlRig/InitialRotations/ControlRigGenerationOption.cs
+++ b/Assets/VRM10/Runtime/ControlRig/InitialRotations/ControlRigGenerationOption.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace UniVRM10
+namespace UniVRM10
{
public enum ControlRigGenerationOption
{
@@ -17,44 +13,5 @@ namespace UniVRM10
///
Generate = 1,
Vrm0XCompatibleRig = 1,
-
- ///
- /// コントロールリグのボーン Transform を生成し、Root の Animator はコントロールリグのボーンを制御するようになります。
- /// 手と指に関して、XR_EXT_hand_tracking の初期回転を持ちます。
- /// https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#XR_EXT_hand_tracking
- ///
- Vrm0XCompatibleWithXR_EXT_hand_tracking = 2,
-
- ///
- /// コントロールリグのボーン Transform を生成し、Root の Animator はコントロールリグのボーンを制御するようになります。
- /// 上半身に関して、XR_FB_body_tracking の初期回転を持ちます。
- /// https://developer.oculus.com/documentation/native/android/move-ref-body-joints/
- ///
- Vrm0XCompatibleWithXR_FB_body_tracking = 3,
- }
-
- internal static class ControlRigGenerationOptionExtensions
- {
- internal static IReadOnlyDictionary ToInitialRotations(this ControlRigGenerationOption option)
- {
- switch (option)
- {
- case ControlRigGenerationOption.None:
- return null;
-
- case ControlRigGenerationOption.Generate:
- // case ControlRigGenerationOption.Vrm0XCompatibleRig:
- return Vrm0XCompatibleRig.InitialRotations;
-
- case ControlRigGenerationOption.Vrm0XCompatibleWithXR_EXT_hand_tracking:
- return XR_EXT_hand_tracking.InitialRotations;
-
- case ControlRigGenerationOption.Vrm0XCompatibleWithXR_FB_body_tracking:
- return XR_FB_body_tracking.InitialRotations;
-
- default:
- throw new ArgumentException();
- }
- }
}
}
diff --git a/Assets/VRM10/Runtime/IO/Vrm10.cs b/Assets/VRM10/Runtime/IO/Vrm10.cs
index a57767cce..73904892f 100644
--- a/Assets/VRM10/Runtime/IO/Vrm10.cs
+++ b/Assets/VRM10/Runtime/IO/Vrm10.cs
@@ -39,7 +39,7 @@ namespace UniVRM10
public static async Task LoadPathAsync(
string path,
bool canLoadVrm0X = true,
- bool useControlRig = true,
+ ControlRigGenerationOption controlRigGenerationOption = ControlRigGenerationOption.Generate,
bool showMeshes = true,
IAwaitCaller awaitCaller = null,
ITextureDeserializer textureDeserializer = null,
@@ -58,7 +58,7 @@ namespace UniVRM10
path,
System.IO.File.ReadAllBytes(path),
canLoadVrm0X,
- useControlRig,
+ controlRigGenerationOption,
showMeshes,
awaitCaller,
textureDeserializer,
@@ -86,7 +86,7 @@ namespace UniVRM10
public static async Task LoadBytesAsync(
byte[] bytes,
bool canLoadVrm0X = true,
- bool useControlRig = true,
+ ControlRigGenerationOption controlRigGenerationOption = ControlRigGenerationOption.Generate,
bool showMeshes = true,
IAwaitCaller awaitCaller = null,
ITextureDeserializer textureDeserializer = null,
@@ -105,7 +105,7 @@ namespace UniVRM10
string.Empty,
bytes,
canLoadVrm0X,
- useControlRig,
+ controlRigGenerationOption,
showMeshes,
awaitCaller,
textureDeserializer,
@@ -118,7 +118,7 @@ namespace UniVRM10
string name,
byte[] bytes,
bool canLoadVrm0X,
- bool useControlRig,
+ ControlRigGenerationOption controlRigGenerationOption,
bool showMeshes,
IAwaitCaller awaitCaller,
ITextureDeserializer textureDeserializer,
@@ -137,7 +137,7 @@ namespace UniVRM10
// 1. Try loading as vrm-1.0
var instance = await TryLoadingAsVrm10Async(
gltfData,
- useControlRig,
+ controlRigGenerationOption,
showMeshes,
awaitCaller,
textureDeserializer,
@@ -163,7 +163,7 @@ namespace UniVRM10
// 3. Try migration from vrm-0.x into vrm-1.0
var migratedInstance = await TryMigratingFromVrm0XAsync(
gltfData,
- useControlRig,
+ controlRigGenerationOption,
showMeshes,
awaitCaller,
textureDeserializer,
@@ -187,7 +187,7 @@ namespace UniVRM10
private static async Task TryLoadingAsVrm10Async(
GltfData gltfData,
- bool useControlRig,
+ ControlRigGenerationOption controlRigGenerationOption,
bool showMeshes,
IAwaitCaller awaitCaller,
ITextureDeserializer textureDeserializer,
@@ -213,7 +213,7 @@ namespace UniVRM10
return await LoadVrm10DataAsync(
vrm10Data,
null,
- useControlRig,
+ controlRigGenerationOption,
showMeshes,
awaitCaller,
textureDeserializer,
@@ -224,7 +224,7 @@ namespace UniVRM10
private static async Task TryMigratingFromVrm0XAsync(
GltfData gltfData,
- bool useControlRig,
+ ControlRigGenerationOption controlRigGenerationOption,
bool showMeshes,
IAwaitCaller awaitCaller,
ITextureDeserializer textureDeserializer,
@@ -252,7 +252,7 @@ namespace UniVRM10
var migratedVrm10Instance = await LoadVrm10DataAsync(
migratedVrm10Data,
migrationData,
- useControlRig,
+ controlRigGenerationOption,
showMeshes,
awaitCaller,
textureDeserializer,
@@ -270,7 +270,7 @@ namespace UniVRM10
private static async Task LoadVrm10DataAsync(
Vrm10Data vrm10Data,
MigrationData migrationData,
- bool useControlRig,
+ ControlRigGenerationOption controlRigGenerationOption,
bool showMeshes,
IAwaitCaller awaitCaller,
ITextureDeserializer textureDeserializer,
@@ -293,7 +293,7 @@ namespace UniVRM10
vrm10Data,
textureDeserializer: textureDeserializer,
materialGenerator: materialGenerator,
- useControlRig: useControlRig))
+ useControlRig: controlRigGenerationOption != ControlRigGenerationOption.None))
{
// 1. Load meta information if callback was available.
if (vrmMetaInformationCallback != null)
diff --git a/Assets/VRM10/Tests/MigrationTests.cs b/Assets/VRM10/Tests/MigrationTests.cs
index b0688f60c..fab6ee3c2 100644
--- a/Assets/VRM10/Tests/MigrationTests.cs
+++ b/Assets/VRM10/Tests/MigrationTests.cs
@@ -199,7 +199,7 @@ namespace UniVRM10
{
try
{
- Vrm10.LoadPathAsync(gltf.FullName, true, useControlRig: false).Wait();
+ Vrm10.LoadPathAsync(gltf.FullName, true, controlRigGenerationOption: ControlRigGenerationOption.None).Wait();
}
catch (UnNormalizedException)
{