Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VRChat用に設定したVRoidモデルを再度VRMに変換する時にエラーが出て失敗する #1100

Closed
Velocity37564 opened this issue Jul 15, 2021 · 5 comments
Labels
bug Something isn't working exporter
Milestone

Comments

@Velocity37564
Copy link

Velocity37564 commented Jul 15, 2021

バグについて

VRChat用に設定したVRoidモデルを再度VRMに変換する時にエラーが出て失敗する

再現方法

1.VRM0のExportUniVRMをクリック
2.必須項目を入力しExportをクリック
3.下記のエラーが出て失敗する

ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
VRMShaders.EditorTextureSerializer.CanExportAsEditorAssetFile (UnityEngine.Texture texture, VRMShaders.ColorSpace exportColorSpace) (at Assets/VRMShaders/GLTF/IO/Editor/EditorTextureSerializer.cs:46)
VRMShaders.TextureExporter.ExportAsSRgb (UnityEngine.Texture src) (at Assets/VRMShaders/GLTF/IO/Runtime/TextureExporter.cs:73)
UniGLTF.MaterialExporter.Export_Color (UnityEngine.Material m, VRMShaders.ITextureExporter textureManager, UniGLTF.glTFMaterial material) (at Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/MaterialExporter.cs:41)
UniGLTF.MaterialExporter.ExportMaterial (UnityEngine.Material m, VRMShaders.ITextureExporter textureExporter) (at Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/MaterialExporter.cs:24)
UniGLTF.gltfExporter+<>c__DisplayClass35_0.b__2 (UnityEngine.Material x) (at Assets/UniGLTF/Runtime/UniGLTF/IO/gltfExporter.cs:239)
System.Linq.Enumerable+SelectListIterator2[TSource,TResult].ToList () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0) System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable1[T] source) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
UniGLTF.gltfExporter.Export (UniGLTF.MeshExportSettings meshExportSettings, VRMShaders.ITextureSerializer textureSerializer) (at Assets/UniGLTF/Runtime/UniGLTF/IO/gltfExporter.cs:239)
VRM.VRMEditorExporter.Export (UnityEngine.GameObject exportRoot, VRM.VRMMetaObject meta, VRM.VRMExportSettings settings, System.Collections.Generic.List`1[T] destroy) (at Assets/VRM/Editor/Format/VRMEditorExporter.cs:229)
VRM.VRMEditorExporter.Export (UnityEngine.GameObject exportRoot, VRM.VRMMetaObject meta, VRM.VRMExportSettings settings) (at Assets/VRM/Editor/Format/VRMEditorExporter.cs:24)
VRM.VRMExporterWizard.ExportPath (System.String path) (at Assets/VRM/Editor/Format/VRMExporterWizard.cs:275)
UniGLTF.ExportDialogBase.EndGUI () (at Assets/UniGLTF/Editor/UniGLTF/ExportDialog/ExportDialogBase.cs:161)
UniGLTF.ExportDialogBase.OnGUI () (at Assets/UniGLTF/Editor/UniGLTF/ExportDialog/ExportDialogBase.cs:82)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at :0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at :0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at :0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at :0)
UnityEditor.HostView.Invoke (System.String methodName) (at :0)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at :0)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect) (at :0)
UnityEditor.DockArea.OldOnGUI () (at :0)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at :0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at :0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at :0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at :0)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus) (at :0)
UnityEngine.UIElements.IMGUIContainer.HandleEvent (UnityEngine.UIElements.EventBase evt) (at :0)
UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at :0)
UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at :0)
UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at :0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at :0)
UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at :0)
UnityEngine.UIElements.EventDispatcher.OpenGate () (at :0)
UnityEngine.UIElements.EventDispatcherGate.Dispose () (at :0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at :0)
UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at :0)
UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at :0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at :0)
UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at :0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <023156577e4f4156adf0f4b3a3fedf85>:0)

期待する動作

VRM出力の成功

環境情報

  • OS: [Windows 10]
  • Unity version: [Unity-2018.4 Unity-2019.4]
  • UniVRM version: [0.70.0 0.78.0]

追加の状況・背景

1.服やアクセサリーなどを着せ替え用のツールで着せています。
名前が重複しているボーンはHips_Jucketのように名前を変更しています。
2.Unityプロジェクト内のテクスチャファイルを直接CLIP STUDIOで編集し、上書き保存をしています。
同じ手順を踏んだモデルで成功するものと失敗するものがあります。

@ousttrue ousttrue added exporter bug Something isn't working labels Jul 15, 2021
@ousttrue
Copy link
Contributor

失敗するモデルのマテリアルに未対応のテクスチャーが設定されているようです。

textureType

該当するものが分かれば Default に設定して再度エクスポートしてみてください。

@ousttrue
Copy link
Contributor

TODO: エクスポートが失敗するのではなく、未対応テクスチャが有るのでエクスポートできないというメッセージを出す

@ousttrue ousttrue added this to the v0.79 milestone Jul 15, 2021
@Velocity37564
Copy link
Author

ありがとうございます、無事出力できました。

@ousttrue
Copy link
Contributor

#1102 でメッセージ追加

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working exporter
Projects
None yet
Development

No branches or pull requests

2 participants