unity3d-jp / NormalPainter

vertex normal editor for Unity
MIT License
711 stars 116 forks source link

2021.3.13f1使用的是发布的Normal Pointer出现异常 #12

Open MoYuan00 opened 1 year ago

MoYuan00 commented 1 year ago

我将包导入到Unity 2021.3.13f1中,使用的是发布的Normal Pointer最新的。当我再Window中点击NormalPointer时却出现如下错误:

TypeLoadException: Generic Type Definition failed to init, due to: Generic class cannot have explicit layout. assembly:D:\GameWorkSpace\Unity\Porject\Game_Study\Library\ScriptAssemblies\Assembly-CSharp.dll type:Caster member:(null)
UTJ.NormalPainter.PinnedList`1[T]..ctor (UnityEngine.Vector3[] data, System.Boolean clone) (at Assets/UTJ/NormalPainter/Scripts/PinnedArray.cs:227)
UTJ.NormalPainter.NormalPainter.BeginEdit () (at Assets/UTJ/NormalPainter/Scripts/NormalPainter.cs:242)
UTJ.NormalPainter.NormalPainter.set_editing (System.Boolean value) (at Assets/UTJ/NormalPainter/Scripts/NormalPainter.cs:98)
UTJ.NormalPainter.NormalPainterWindow.OnGUI () (at Assets/UTJ/NormalPainter/Editor/NormalPainterWindow.cs:92)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at <dc1a47a5816e4be7bc6817ee4d339e75>:0)
UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at <dc1a47a5816e4be7bc6817ee4d339e75>:0)
UnityEditor.DockArea.OldOnGUI () (at <dc1a47a5816e4be7bc6817ee4d339e75>: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 <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUIRaw (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.IMGUIContainer.HandleEvent (UnityEngine.UIElements.EventBase evt) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)

当我不顾警告点击edit Normals时出现如下错误:

TypeLoadException: Failure has occurred while loading a type.
UTJ.NormalPainter.PinnedList`1[T]..ctor (UnityEngine.Vector3[] data, System.Boolean clone) (at Assets/UTJ/NormalPainter/Scripts/PinnedArray.cs:227)
UTJ.NormalPainter.NormalPainter.BeginEdit () (at Assets/UTJ/NormalPainter/Scripts/NormalPainter.cs:242)
UTJ.NormalPainter.NormalPainter.set_editing (System.Boolean value) (at Assets/UTJ/NormalPainter/Scripts/NormalPainter.cs:98)
UTJ.NormalPainter.NormalPainterWindow.OnGUI () (at Assets/UTJ/NormalPainter/Editor/NormalPainterWindow.cs:92)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at <dc1a47a5816e4be7bc6817ee4d339e75>:0)
UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at <dc1a47a5816e4be7bc6817ee4d339e75>:0)
UnityEditor.DockArea.OldOnGUI () (at <dc1a47a5816e4be7bc6817ee4d339e75>: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 <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUIRaw (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <0b1cb8f4dac44a9698c79ef2d7b929aa>:0)
BeaverJoe commented 11 months ago

我的是2021.3.15f1版本,倒是是可以用的用来处理模型法线,你的模型在Inspector面板勾选【Read/Write】了吗,我一开始遇到的是这个,还专门查了下,勾选我本地就能用了,不知道和你遇到的是否是同样的问题