问题标签 [unity3d-editor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unity3d - Unity 场景无法正确加载
昨晚我完成了统一,并在关闭统一之前保存了我的项目和场景。
今天早上加载unity My Hierarchy时,场景和游戏视图都是空的,我什至没有主摄像头。这以前发生过,所以我关闭了统一(不保存或任何东西)并通过场景文件打开它,令我惊讶的是它再次不起作用,认为它一定只是没有再次加载场景我尝试统一加载场景,再次没有结果,现在我花了最后 2 个小时浏览互联网试图找到问题的解决方案。
对于这个问题,我看到的一些常见答案对我不起作用:
Unity 没有打开一个新场景,它在顶部说它目前在我想要的场景中。
按 F 不会解决任何问题,因为首先层次结构中没有任何内容。
还:
该项目保存在 DropBox 中。
所有资产都说它们是在我上次保存并关闭 Unity 时上次更新的。
任何帮助是极大的赞赏。
dll - 重命名外部 dll 中的类,而不会在 unityEditor 中丢失对它的引用
我们有一个包含我们所有代码的visualstudio解决方案,它与我们的统一项目完全分离。当我们从 visualstudio 中将代码构建到 dll 中时,该 dll 被复制到统一项目的插件文件夹中,因此我们可以在统一项目中使用其中的类。
这一切都很好,但问题是当我们在我们的视觉工作室解决方案中重命名一个类,重建 dll 并返回统一项目时,对重命名类的引用在我们的场景和/或预制中丢失了......
我查看了场景和预制文件,注意到对 dll 中类的引用定义如下:
m_Script:{fileID:698634159,guid:aa20b9c3579870b40bb96d13672546a3,类型:3}
我在论坛上读到,fileID 是根据类文件的名称空间和名称生成的,所以从逻辑上讲,当类重命名时,这个 fileID 会发生变化,unity 不知道它需要引用重命名的类。
有没有办法定义某种硬引用,所以重命名类时引用不会丢失?或任何其他建议,以防止参考丢失。
我也尝试在 dll 中包含一个带有 guid 的元文件,但统一似乎没有考虑这个元文件,因为它总是使用 dll 的 guid 和生成的 fileId。
c# - Unity3d 单击并拖动 Gizmos
我在编辑器中有一堆小玩意儿,有没有办法让我在点击小玩意儿时获得它的位置?
我看过 Furr2d,他们有可点击的小玩意儿,但我在他们的代码中找不到它是如何完成的。
他们正在使用 2d 对象,我将使用 3d 对象。我认为它基本上是相同的。起初我以为我必须为每个 Gizmo 创建一个游戏对象,但是在使用 Furr2d 时,他们不会创建任何额外的游戏对象,那么他们如何点击和拖动他们的 Gizmo?
我必须这样做ScreenToWorldPoint
或类似的事情吗?
c# - Unity 编辑器 - DrawDefaultInspector 不工作
我正在尝试编写一个简单的编辑器扩展,仅用于学习目的。此扩展将仅检查目标是否为 JSON 文件,然后计算它的键或执行一些其他任意任务。
这是检查器默认的样子。
然后我开始编写我的自定义检查器,就像这样。
注意对 DrawDefaultInspector() 的调用。
现在检查员看起来像这样。
为什么不绘制默认检查器?我能理解我的扩展应该基本上什么都不做,对吧?
c# - Unity Editor - 有没有办法轻松地将对象和函数引用添加到自定义检查器?
例如 Unity 在 Button 组件(事件)上所做的事情。
我想添加对对象的引用,然后添加对该对象的公共函数的引用。
unity3d - Unity3d Undo 是一个 EditorWindow [用于布尔值和字符串]
这是我的代码,
这是我在编辑器窗口中的代码,onGUI 函数。
我正在尝试为代码创建撤消。我不确定如何撤消 Toogle 值。
Undo.RecordObject(OBJECT, STRING);
有什么方法可以将 bool 更改为 Object 以便撤消它?如果有人能让我开始只是为了布尔,我可以做剩下的。
unity3d - 无法在检查器中分配 ScriptableObject
我在检查器中分配 ScriptableObjects 时遇到问题。
例如,我有这个类:
在其中一个单一行为派生类中,我有一个这样的成员:
在检查器中,我看到以下内容,但我无法将脚本“Buff”拖放到该成员
它可以将 Buff 作为新脚本拖放,但我无法将其添加到“测试 Buff”。
我尝试的不是拖放而是简单地创建一个 Buff 的实例,如下所示:
这有效:
但是我相信拖放也应该有效,加上上面给出的警告:
我正在使用最新版本的 Unity“5.0.2f1 Personal”。
unity3d - 在“播放模式”下在编辑器中移动对象后禁用输入
这是我的第一个问题,我无法在网上找到我的问题的答案。就是这样:我制作了一个简单的脚本,当我按下一个键时打印一些关于对象的调试信息。除非我在游戏运行时首先在场景编辑器中移动任何对象,否则它会按预期工作。如果我在点击播放后移动任何对象,那么 Input.GetKeyDown 似乎在那之后被忽略了。我正在检测其中一个对象的更新函数内的输入。
注意:这不是我试图用我的脚本实现的唯一事情,而是我可以用同样的问题构建的最简单的情况。提前致谢!
c# - 如何检查未知数量的布尔值c#
我需要检查未知数量的布尔值..根据结果它将执行适当的功能。这是我正在搜索的示例:
unity3d - EditorGUILayout.Popup 选项没有改变
使用这个简单的代码,我正在显示一个下拉列表
它完美地显示带有选项的下拉菜单,但问题是当我尝试选择另一个选项时选项没有改变?缺什么?