问题标签 [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.

0 投票
2 回答
202 浏览

c# - 如何更改 Inspector 中的公共变量?

我有一个游戏对象。在游戏对象的“检查器”中有一些脚本。现在我想更改附加到脚本的公共变量。我怎样才能做到这一点?

0 投票
1 回答
969 浏览

xml - 通过编辑器 GUI 编写 XML

我有一个包含以下节点的 XML 文件:

现在我想从“产品”复制一份并通过 EditorGUI 填充所有内部文本。因为我会在这个 XML 中得到很多产品,我不想通过 XML 文件填充所有这些文本。

我有点迷路了,现在不知道从哪里开始。我使用 Unity4.6 和 C#。

希望有人能告诉我如何做到这一点。

谢谢

0 投票
0 回答
2899 浏览

unity3d - 如何从自定义编辑器窗口检测 Unity3D'SceneView 中的对象单击

为了加快场景设置,我开发了一堆自定义编辑器。我想在其中一个编辑器上添加一个新功能,该功能将检测何时在 SceneView 中单击了对象(从而防止选择更改,因为此编辑器的目的是在它们之间链接对象)。

我设法通过防止从 SceneView 上的鼠标位置进行默认选择和光线投射来实现这一点。我唯一的问题是,当对象没有任何对撞机时,它将不起作用(并且在这些对象上添加对撞机是不可能的)。然而,编辑器能够在没有碰撞器的情况下检测对对象的点击。

我带来的所有 google-fu 都是“添加对撞机”方法(不可能)或“自己进行光线投射”(对我来说有点矫枉过正)。

请注意,我不是在寻找解决方法,我已经找到了一堆(所有场景对象上的 Bounds.IntersectRay、恢复选择 OnSelectionChange、使用 Selection.gameObjects 等)。出于好奇,我真的在寻找理想的解决方案(即使没有记录),以便从自定义编辑器的角度更好地了解什么是可能的或不可能的。

0 投票
1 回答
2757 浏览

unity3d-editor - Unity3D ReorderableList 字段显示在框下方

我正在尝试创建一个可重新排序的列表,但我在使用 EditorGUILayout 时遇到了问题。如果我使用 EditorGUI 它可以正常工作,但是这些字段的大小是静态的(除非我每次都手动计算大小)。

这是我正在做的事情:

当我使用 EditorGUILayout 时,控件显示在 Reorderable 列表下方。我仍然可以交换命令,但内容总是显示在列表下方。

替代文字

0 投票
1 回答
950 浏览

android-studio - 如何与 Android Studio 一起使用 Unity 3D

我刚刚开始使用 Unity 3D,我正在学习 android 游戏开发,我想知道如何设置 Unity 以使用 android studio?

0 投票
3 回答
9606 浏览

c# - Unity 5:在编辑器中从 C# 脚本访问/修改 AnimatorController

我想编写一个编辑器菜单项来访问当前打开的动画控制器并销毁/创建/修改动画转换。

基本上,我需要遍历当前打开的动画控制器中的所有动画状态/剪辑,并根据它们的名称创建具有特定的过渡并调整所有剪辑的播放速度。

我有这个代码片段:

但是,它不能在 Unity5 上编译(很可能是为 Unity 4 编写的),而且我不确定如何使用 Unity 5 函数获取当前打开的 AnimatorController。

动画控制器类似乎被定义为UnityEditor.Animations.AnimatorController,但我不知道如何获取当前打开的。

有什么建议吗?

0 投票
2 回答
7157 浏览

c# - Unity 5:管理动态创建的游戏对象的简洁方式

在 Unity 5 中,管理动态创建的游戏对象的“干净”方式是什么?

我编写了一个组件 ( MonoBehavior),它创建/销毁了几个GameObjects. 这些对象作为自定义自定义系统的一部分加载,该系统选择角色的部分 - 头发/衣服等。这意味着它们对玩家可见,在编辑器中可见,但不应该在编辑器中可编辑。正在加载的对象是带有骨架的网格。

该脚本以这种方式运行:

  1. 从资源中加载游戏对象(确切的对象在脚本中确定,它们不是预制件)
  2. 将它们附加到场景的某些部分(不一定附加到它自己的节点)
  3. 销毁时删除。

删除:

创建:

销毁处理程序:

这在编辑器中似乎工作正常,但是当我从游戏模式切换回编辑模式时,我收到很多警告:

我在场景层次结构的顶层获得了一堆新的对象树(那些应该被删除的树——树源自与原始“资源”一起加载并附加的对象)。

那么,我如何干净地处理动态创建的游戏对象呢?

我需要知道我需要设置哪些标志,以及我应该执行哪些步骤来确保对象不会“泄漏”到场景中并且在我删除创建它的组件时被正确销毁。

建议?


“ResourceLoader”使用的完整基类

0 投票
1 回答
3005 浏览

unity3d - 在 Unity 编辑器中设置属性

尽管很有意义,但我在使用脚本时尝试使用接口,如下所示:

但是,当使用这种方法时,任何实现接口的类都不会在检查器中显示这些属性,我最终会得到如下结果:

这对我来说真的没有意义,我希望有更好的解决方案。

旁注,我不是专门为接口使用 getter / setter,还用于一些验证等。

谢谢!

0 投票
2 回答
1784 浏览

blender - 为什么不搅拌机。在 Unity 5.0 中文件转换为 FBX 文件

从 Blender 统一模型后,它说:

Blender 无法将 .blend 文件转换为 FBX 文件。您需要使用 Blender 2.45-2.49 或 2.58 及更高版本才能直接导入 Blender。

请注意,我有 Blender 2.71 UnityEditorInternal.InternalEditorUtility:ProjectWindowDrag(HierarchyProperty, Boolean) UnityEditor.DockArea:OnGUI()

0 投票
3 回答
3479 浏览

unity3d - 通过脚本设置层次过滤器

在 Unity Editor 的 Hierarchy 窗口顶部有一个用于过滤层次结构的字段:

统一层次结构窗口:过滤器

我的问题是您是否可以从编辑器脚本中设置该过滤器以及如何设置。我在网上几乎找不到任何内容。

提前致谢。