我正在将路点电路附加到动态生成的游戏对象上。当我运行场景时,航路点系统似乎无法正确连接,并且在下面给出了NullReferenceException。在同一运行中,如果我切换到“场景”视图,则问题消失,不再抛出错误,并且游戏对象按预期的方式神奇地开始遵循航路点电路。当我将其作为独立版本运行时,也会发生此问题。
我一直在寻找类似的问题。似乎是个错误,在我这边可能有什么毛病,这会使在游戏模式下出现问题,但在打开“场景”视图后立即起作用?
NullReferenceException: Object reference not set to an instance of an object
UnityStandardAssets.Utility.WaypointCircuit.GetRoutePosition (Single dist) (at Assets/Standard Assets/Utility/WaypointCircuit.cs:66)
UnityStandardAssets.Utility.WaypointCircuit.GetRoutePoint (Single dist) (at Assets/Standard Assets/Utility/WaypointCircuit.cs:53)
UnityStandardAssets.Utility.WaypointProgressTracker.Update () (at Assets/Standard Assets/Utility/WaypointProgressTracker.cs:108)
答案 0 :(得分:0)
问题与执行顺序有关,并且在初始化Unity的WaypointCircuit脚本之前,用路标填充电路。该脚本在我的gameobject-spawning脚本会并且发现一个空电路之前正在初始化。切换到“场景”视图将使WaypointCircuit脚本再次检查航路点,并且经过一段时间后,它将找到一个非空的电路,并且对象将按预期的那样跟随该电路。
请确保在WaypointCircuit脚本初始化之前,电路已被多个路点填充。
答案 1 :(得分:0)
我发现如果在控制台窗口中使用WaypointCircuit组件,就会出现这个错误。我转到场景窗口,而不是控制台,然后再次单击“添加子项”按钮,它对我有用