Closed kleusbalut closed 1 month ago
VRCFuryの"armaturelinkservice.apply on avatar root"の部分でエラーが発生
エラーの内容を貼ってください
VRCFuryのダイアログが出ている際に下記のWarningがでて、Build Failedになります。
Exception: Head bone could not be found because avatar's rig is not set to humanoid
VF.Feature.ArmatureLinkBuilder.GetLinks (VF.Model.Feature.ArmatureLink model, VF.Model.Feature.ArmatureLink+ArmatureLinkMode linkMode, VF.Builder.VFGameObject avatarObject) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Feature/ArmatureLinkBuilder.cs:472)
VF.Feature.ArmatureLinkBuilder.Apply () (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Feature/ArmatureLinkBuilder.cs:37)
System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <27124aa0e30a41659b903b822b959bc7>:0)
Rethrow as ExceptionWithCause: Failed to build VRCFury component: ArmatureLinkBuilder.Apply on SPS/------
Head bone could not be found because avatar's rig is not set to humanoid
VF.Builder.VRCFuryBuilder.ApplyFuryConfigs (VF.Builder.VFGameObject avatarObject, VF.VRCFProgressWindow progress) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryBuilder.cs:268)
VF.Builder.VRCFuryBuilder.Run (VF.Builder.VFGameObject avatarObject) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryBuilder.cs:87)
VF.Builder.VRCFuryBuilder+<>c__DisplayClass1_0.<SafeRun>b__1 () (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryBuilder.cs:37)
VF.Builder.VRCFuryAssetDatabase.WithAssetEditing (System.Action go) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryAssetDatabase.cs:96)
VF.Builder.VRCFuryBuilder+<>c__DisplayClass1_0.<SafeRun>b__0 () (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryBuilder.cs:34)
VF.Builder.Exceptions.VRCFExceptionUtils.ErrorDialogBoundary (System.Action go) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/Exceptions/VRCFExceptionUtils.cs:30)
UnityEngine.Debug:LogException(Exception)
VF.Builder.Exceptions.VRCFExceptionUtils:ErrorDialogBoundary(Action) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/Exceptions/VRCFExceptionUtils.cs:32)
VF.Builder.VRCFuryBuilder:SafeRun(VFGameObject) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryBuilder.cs:33)
VF.Hooks.VrcPreuploadHook:OnPreprocessAvatar(GameObject) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Hooks/VrcPreuploadHook.cs:25)
VRC.SDKBase.Editor.BuildPipeline.VRCBuildPipelineCallbacks:OnPreprocessAvatar(GameObject)
VRC.SDK3.Builder.VRCAvatarBuilder:ExportCurrentAvatarResource(Object, Boolean, Boolean, String&, Action`1, Action`1)
VRC.SDK3.Builder.VRCAvatarBuilder:ExportAvatarBlueprint(GameObject)
VRC.SDK3A.Editor.<Build>d__106:MoveNext() (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2193)
UnityEngine.UnitySynchronizationContext:ExecuteTasks()
ダイアログはこちらです
ありがとうございます #1093 が悪さしていそう...
適当にSPSをAnonちゃんに置いただけでは再現しませんので、もう少し詳しくお願いします。
VRCFuryは最新が1.1065.0で、いろいろと実装が変わっているようですが、最新版でも発生しますか?
試しに VRCFury 1.1065.0、MA 1.10.0-rc.4 にバージョンアップしてみましたが、やはり同じような部分でエラーが出ますね。
MAのバージョンを1.10.0-rc.3 にダウングレードすると当該部分はエラーにならずにビルド成功します。
Exception: Head bone could not be found because avatar's rig is not set to humanoid
VF.Service.ArmatureLinkService.GetLinks (VF.Model.Feature.ArmatureLink model, VF.Model.Feature.ArmatureLink+ArmatureLinkMode linkMode, VF.Builder.VFGameObject avatarObject) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Service/ArmatureLinkService.cs:583)
VF.Service.ArmatureLinkService.ApplyOne (VF.Model.Feature.ArmatureLink model, VF.Builder.VFGameObject avatarObject, System.Boolean saveDebugInfo, System.Collections.Generic.ISet`1[T] avatarHumanoidBones, VF.Service.FindAnimatedTransformsService+AnimatedTransforms anim, System.Collections.Generic.ISet`1[T] doNotReparent, VF.Service.ObjectMoveService mover, System.Collections.Generic.ISet`1[T] pruneCheck, VF.Utils.VFMultimapList`2[A,B] animLink) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Service/ArmatureLinkService.cs:133)
VF.Service.ArmatureLinkService.Apply () (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Service/ArmatureLinkService.cs:53)
Rethrow as ExceptionWithCause: Failed to build ArmatureLink from SPS/-------
Head bone could not be found because avatar's rig is not set to humanoid
VF.Service.ArmatureLinkService.Apply () (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Service/ArmatureLinkService.cs:66)
System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <27124aa0e30a41659b903b822b959bc7>:0)
Rethrow as ExceptionWithCause: Failed to build VRCFury component: ArmatureLinkService.Apply on Avatar Root
Failed to build ArmatureLink from SPS/--------
Head bone could not be found because avatar's rig is not set to humanoid
VF.Builder.VRCFuryBuilder.ApplyFuryConfigs (VF.Builder.VFGameObject avatarObject, VF.VRCFProgressWindow progress) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryBuilder.cs:259)
VF.Builder.VRCFuryBuilder.Run (VF.Builder.VFGameObject avatarObject) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryBuilder.cs:91)
VF.Builder.VRCFuryBuilder+<>c__DisplayClass1_0.<SafeRun>b__1 () (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryBuilder.cs:39)
VF.Builder.VRCFuryAssetDatabase.WithAssetEditing (System.Action go) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryAssetDatabase.cs:115)
VF.Builder.VRCFuryBuilder+<>c__DisplayClass1_0.<SafeRun>b__0 () (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryBuilder.cs:36)
VF.Builder.Exceptions.VRCFExceptionUtils.ErrorDialogBoundary (System.Action go) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/Exceptions/VRCFExceptionUtils.cs:35)
UnityEngine.Debug:LogException(Exception)
VF.Builder.Exceptions.VRCFExceptionUtils:DisplayErrorPopup(Exception) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/Exceptions/VRCFExceptionUtils.cs:45)
VF.Builder.Exceptions.VRCFExceptionUtils:ErrorDialogBoundary(Action) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/Exceptions/VRCFExceptionUtils.cs:37)
VF.Builder.VRCFuryBuilder:SafeRun(VFGameObject) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Builder/VRCFuryBuilder.cs:35)
VF.Hooks.VrcPreuploadHook:OnPreprocessAvatar(GameObject) (at ./Packages/com.vrcfury.vrcfury/Editor/VF/Hooks/VrcPreuploadHook.cs:25)
VRC.SDKBase.Editor.BuildPipeline.VRCBuildPipelineCallbacks:OnPreprocessAvatar(GameObject)
VRC.SDK3.Builder.VRCAvatarBuilder:ExportCurrentAvatarResource(Object, Boolean, Boolean, String&, Action`1, Action`1)
VRC.SDK3.Builder.VRCAvatarBuilder:ExportAndTestAvatarBlueprint(GameObject)
VRC.SDK3A.Editor.<Build>d__106:MoveNext() (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2182)
UnityEngine.UnitySynchronizationContext:ExecuteTasks()
VRCSDK側のエラー文も載せておきます
The VRCSDK build was aborted because the VRCSDKPreprocessAvatarCallback 'VrcPreuploadHook' reported a failure.
UnityEngine.Debug:LogError (object)
VRC.SDKBase.Editor.BuildPipeline.VRCBuildPipelineCallbacks:OnPreprocessAvatar (UnityEngine.GameObject)
VRC.SDK3.Builder.VRCAvatarBuilder:ExportCurrentAvatarResource (UnityEngine.Object,bool,bool,string&,System.Action`1<string>,System.Action`1<object>)
VRC.SDK3.Builder.VRCAvatarBuilder:ExportAndTestAvatarBlueprint (UnityEngine.GameObject)
VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder/<Build>d__106:MoveNext () (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2182)
UnityEngine.UnitySynchronizationContext:ExecuteTasks ()
[Always] Failed to build the Avatar, check logs for more details
UnityEngine.Debug:LogError (object,UnityEngine.Object)
VRC.Core.Logger:LogError (string,VRC.Core.DebugLevel,UnityEngine.Object)
VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder/<BuildError>d__110:MoveNext () (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2269)
System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Start<VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder/<BuildError>d__110> (VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder/<BuildError>d__110&)
VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder:BuildError (object,string)
VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder/<HandleBuildError>d__108:MoveNext () (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2238)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<System.Exception>:Start<VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder/<HandleBuildError>d__108> (VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder/<HandleBuildError>d__108&)
VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder:HandleBuildError (System.Exception)
VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder/<Build>d__106:MoveNext () (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2213)
UnityEngine.UnitySynchronizationContext:ExecuteTasks ()
BuilderException: Failed to build the Avatar, check logs for more details
VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder.Build (UnityEngine.GameObject target, System.Boolean testAvatar) (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2213)
VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder.BuildAndTest (UnityEngine.GameObject target) (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2549)
VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder+<>c__DisplayClass104_0.<CreateBuildGUI>b__3 () (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:1928)
System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) (at <27124aa0e30a41659b903b822b959bc7>:0)
UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0)
UnityEngine.UnitySynchronizationContext.Exec () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0)
UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0)
本件、先日アップデートされた下記の環境にて問題が解決されたことを確認しましたので、クローズします。
なお、こちらの方でも素の桔梗ちゃん1.04とVRCFuryなどを組み合わせて問題の再現を試みましたが、再現できませんでした。 ただ、現象が発生していたプロジェクトでMA 1.10.0-rc.4にダウングレードすると問題の再発を確認できました。
環境:
PlayModeでは問題ないのですが、VRCSDKでのアバタービルド/アップロード時に、 VRCFuryの"armaturelinkservice.apply on avatar root"の部分でエラーが発生し、Build Failedになります。
MA 1.10.0-rc.3にダウングレードしたところ発生しなくなりました。