问题标签 [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.
c# - 是否可以在游戏中使用 Unity 上的 EditorStyle 来执行水平按钮组?
我想在游戏中使用 EditorStyles。我检查了 EditorStyles 类,我意识到一切都来自:
这就是我使用的(在编辑器上):https ://github.com/Unity-Technologies/UnityCsReference/blob/master/Editor/Mono/GUI/EditorStyles.cs#L71
这一切都是为了做到以下几点:
我必须执行以下操作:
但是,我想知道在游戏中是否有任何可能的方法来做到这一点。这可能吗?
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# 中等效的是:
这是不同的还是我错过了什么?
c# - 如何在自定义编辑器的嵌套 ReorderableList 中选择元素?
ReorderableList
我的CustomEditor
脚本中有一个。在drawElementCallback
我添加了第二个嵌套的ReorderableList
. 一切正常,我可以将元素添加到两个列表中,比如这里
但是正如您所看到的,由于某种原因,我无法选择内部ReorderableList
s 的元素,因此我也无法删除项目。
如何选择内部列表中的项目?
这里的类分解为基本示例
更新
ReorderableList
如果我有一个within a ,同样的显然也不起作用CustomPropertyDrawer
。
但令我惊讶的是,如果我有UnityEvent
两个作品:将它放在 aCustomPropertyDrawer
或 aReorderableList
中。我可以按预期添加和删除项目。
正如您在此处看到的,我UnityEvent
通过添加添加了一个字段
并使用
并调整elementHeightCallback
到
我可以按预期与它完全交互,还可以选择和删除条目。
那么他们在做什么不同呢?
c# - 让EditorWindow的最后一个EditorGUILayout填满剩余空间?
默认情况下 allEditorGUILayout.BeginHorizontal()
和EditorGUILayout.BeginVertical()
groups 填充所有可用的父宽度(或 EditorWindow 宽度)。甚至只是垂直组。但同时height
始终为 0(如果其中没有元素,否则宽度将等于内部元素的总高度)。
我应该怎么做才能强制填充元素组的所有可用或剩余高度?
我应该怎么做才能使填充空间均匀?
我现在有什么:
输出:
想:
或者
c# - Unity - 检查器中结构的自定义绘图
我有一个自定义结构,代码如下:
如果我将 x、y 和 z 变量设为非只读,它们会很好地显示在统一检查器中。但是,我有一些他们需要满足的规则(实际上是 x+y+z=0),所以我添加了 readonly 以防止人们弄乱它。
但是作为只读变量,它们不会显示(因为它们不能被修改)!:(
我想知道它们是否是我在统一检查器中显示它们的一种方式,类似于 PropertyDrawer。我知道我可以将我的结构切换到一个类,因为 PropertyDrawer 是为类保留的,但我想将它保留为一个结构。
那么,有没有办法显示这些值?并最终使用自定义初始化器修改它们?
非常感谢!
unity3d - 在游戏视图中,相机速度是完美的,但在手机中测试时相机速度要慢得多
在我的游戏中,相机的速度是我想要的完美。
在手机中,在测试我的游戏相机速度时,速度非常慢。我不知道如何解决这个问题,这个问题的根本原因是什么。
这是我附加到主摄像机的脚本。
unity3d - 如何使 Vector3 字段的行为类似于 CustomEditor 中的 Transform 字段
在下面的 gif 中,您可以看到Vector3
字段在 Inspector ofTransform
和 my MonoBehaviour
s 中的行为方式之间的区别。
Transform
甚至是CustomEditor
我也使用EditorGUILayout.Vector3Field()
.
它只有_defaultEditor.OnInspectorGUI();
在 Unity 的原始编辑器中为Transform
组件做一些不同的事情时才有效。
当我尝试在其他任何地方做同样的事情CustomEditor
时MonoBehaviour
和
或跳过字段_defaultEditor.OnInspectorGUI();
中AdvancedTransformEditor
的行Vector3
会折叠一定的检查器宽度。
如何使我的字段与Transform
组件具有相同的行为 - 不折叠但保持在同一行?
更新