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) {