问题标签 [unity-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 投票
1 回答
2040 浏览

c# - Unity3d(Editor):使用 EditorUtility.OpenFilePanel() 打开多个文件

我正在观看本教程并完成了它,现在我想扩展它。

我想统一使用 FileExplorer 打开多个图像,然后能够根据滑块的值显示图像,如下图所示:

图片

任何帮助表示赞赏。

0 投票
2 回答
603 浏览

c# - 是否可以在游戏中使用 Unity 上的 EditorStyle 来执行水平按钮组?

我想在游戏中使用 EditorStyles。我检查了 EditorStyles 类,我意识到一切都来自:

复制自:https ://github.com/Unity-Technologies/UnityCsReference/blob/master/Editor/Mono/GUI/EditorStyles.cs#L425

参考电话在这里:https ://github.com/Unity-Technologies/UnityCsReference/blob/master/Editor/Mono/GUI/EditorStyles.cs#L333

这就是我使用的(在编辑器上):https ://github.com/Unity-Technologies/UnityCsReference/blob/master/Editor/Mono/GUI/EditorStyles.cs#L71

这一切都是为了做到以下几点:

...

我必须执行以下操作:

但是,我想知道在游戏中是否有任何可能的方法来做到这一点。这可能吗?

0 投票
0 回答
227 浏览

unity3d - Unity 编辑器日志文件路径在 SpecialFolders 上不会保持静态,具体取决于不同的平台 (Mac/Linux)

好吧,我一直在研究编辑器日志文件路径,我发现了这个:

https://docs.unity3d.com/Manual/LogFiles.html

这说明了以下内容:

操作系统:macOS | 路径:~/Library/Logs/Unity/Editor.log

操作系统:Windows | 路径:C:\Users\username\AppData\Local\Unity\Editor\Editor.log

Linux 路径是:~/.config/unity3d/Editor.log

Environment.SpecialFolder在枚举上搜索等价物。

这在不同平台上是等效的:

Linux:https ://ibboard.co.uk/Programming/mono-special-folders.html

...

Mac:https ://johnkoerner.com/csharp/special-folder-values-on-windows-versus-mac/

...

他们是一样的。但在 Windows 中,这会发生变化:

...

如您所见,它位于:

...

在 C# 中等效的是:

...

这是不同的还是我错过了什么?

0 投票
1 回答
3613 浏览

c# - 如何在自定义编辑器的嵌套 ReorderableList 中选择元素?

ReorderableList我的CustomEditor脚本中有一个。在drawElementCallback我添加了第二个嵌套的ReorderableList. 一切正常,我可以将元素添加到两个列表中,比如这里

在此处输入图像描述

但是正如您所看到的,由于某种原因,我无法选择内部ReorderableLists 的元素,因此我也无法删除项目。

如何选择内部列表中的项目?


这里的类分解为基本示例


更新

ReorderableList如果我有一个within a ,同样的显然也不起作用CustomPropertyDrawer

令我惊讶的是,如果我有UnityEvent两个作品:将它放在 aCustomPropertyDrawer或 aReorderableList中。我可以按预期添加和删除项目。

正如您在此处看到的,我UnityEvent通过添加添加了一个字段

并使用

并调整elementHeightCallback

我可以按预期与它完全交互,还可以选择和删除条目。

在此处输入图像描述

那么他们在做什么不同呢?

0 投票
1 回答
2340 浏览

c# - 让EditorWindow的最后一个EditorGUILayout填满剩余空间?

默认情况下 allEditorGUILayout.BeginHorizontal()EditorGUILayout.BeginVertical()groups 填充所有可用的父宽度(或 EditorWindow 宽度)。甚至只是垂直组。但同时height始终为 0(如果其中没有元素,否则宽度将等于内部元素的总高度)。

我应该怎么做才能强制填充元素组的所有可用或剩余高度?

我应该怎么做才能使填充空间均匀?


我现在有什么:

输出:

想:

或者

0 投票
1 回答
4128 浏览

c# - Unity - 检查器中结构的自定义绘图

我有一个自定义结构,代码如下:

如果我将 x、y 和 z 变量设为非只读,它们会很好地显示在统一检查器中。但是,我有一些他们需要满足的规则(实际上是 x+y+z=0),所以我添加了 readonly 以防止人们弄乱它。

但是作为只读变量,它们不会显示(因为它们不能被修改)!:(

我想知道它们是否是我在统一检查器中显示它们的一种方式,类似于 PropertyDrawer。我知道我可以将我的结构切换到一个类,因为 PropertyDrawer 是为类保留的,但我想将它保留为一个结构。

那么,有没有办法显示这些值?并最终使用自定义初始化器修改它们?

非常感谢!

0 投票
1 回答
42 浏览

unity3d - 在游戏视图中,相机速度是完美的,但在手机中测试时相机速度要慢得多

在我的游戏中,相机的速度是我想要的完美。

在手机中,在测试我的游戏相机速度时,速度非常慢。我不知道如何解决这个问题,这个问题的根本原因是什么。

这是我附加到主摄像机的脚本。

0 投票
2 回答
3309 浏览

unity3d - 如何使 Vector3 字段的行为类似于 CustomEditor 中的 Transform 字段

在下面的 gif 中,您可以看到Vector3字段在 Inspector ofTransform和 my MonoBehaviours 中的行为方式之间的区别。

在此处输入图像描述

Transform甚至是CustomEditor我也使用EditorGUILayout.Vector3Field().

它只有_defaultEditor.OnInspectorGUI();在 Unity 的原始编辑器中为Transform组件做一些不同的事情时才有效。

当我尝试在其他任何地方做同样的事情CustomEditorMonoBehaviour

或跳过字段_defaultEditor.OnInspectorGUI();AdvancedTransformEditor的行Vector3会折叠一定的检查器宽度。

如何使我的字段与Transform组件具有相同的行为 - 不折叠但保持在同一行?


更新

  • 我试过了,GUILayout.MinWidth()但这并没有改变任何东西。

  • 正如建议的那样,我也尝试过

    (也适用于PropertyField()),但这并没有改变任何东西。

  • 只是为了尝试,我也做了ExpandWidth(false)......结果不是很令人愉快:D

    在此处输入图像描述

  • 我什至尝试过GUILayout.MaxHeight(EditorGUIUtility.singleLineHeight),但这使得该字段仍然折叠但“bload”/overdraw 进入下面的字段。

0 投票
0 回答
44 浏览

unity3d - 项目设置中的 Time.FixedTimeStep 已禁用

如何更改项目设置中的固定时间步长。我似乎无法设置任何值。请看附件截图!

在此处输入图像描述

0 投票
1 回答
161 浏览

unity3d - Unity 编辑器 - 如何在编辑时阻止字段变为蓝色

当您按下按钮时,我正在 Unity 中制作一个工具来为多个平台构建您的项目。

我从该工具的首选项窗口开始,并想出了一个令人讨厌的事情。每当我更改 EnumPopup 字段的枚举值时,该字段在编辑器窗口中变为蓝色。有没有办法禁用它?

这是我用来在窗口上显示枚举字段的代码

这是枚举字段未更改时的窗口

这是枚举字段更改时的窗口

看看第二张图片中的字段不是蓝色的,而第三张图片中的字段变成了蓝色?我该如何防止这种情况发生?

提前致谢!