问题标签 [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 回答
675 浏览

unity3d - 自定义检查器枚举在播放时重置

我有一个自定义编辑器脚本,它有一个枚举来定义应用程序是否应该启动到设置或实时模式。如果我将枚举设置为 no,当我点击播放时,应用程序在没有选择的情况下正常工作,但随后枚举恢复到是状态,当我退出播放模式时,枚举又回到是状态,并且不是播放前选择的状态。这是我的脚本。

当我找到其他人遇到的这个问题的解决方案时,我尝试将枚举标记为 Serializable 以及在 Gui.Changed 中将 mainController 标记为脏,但它似乎对我没有任何作用。

0 投票
0 回答
164 浏览

unity3d-editor - 为统一 3d 编辑器编写代码并加载 json 数据文件,但在统一编辑器中出现错误

}

得到一个错误。NullReferenceException:对象引用未设置为对象 UnityEditor.PropertyHandler.OnGUILayout 的实例(UnityEditor.SerializedProperty 属性,UnityEngine.GUIContent 标签,布尔 includeChildren,

0 投票
1 回答
279 浏览

c# - 是否可以在检查器窗口中锁定或覆盖游戏对象缩放属性坐标?

我想知道是否可以在检查器窗口中锁定或覆盖 scale 属性的 X 和 Y 坐标,以便更改一个坐标立即更改另一个坐标并擦洗一个坐标会更改另一个坐标的值。如果是,怎么做?

0 投票
2 回答
3290 浏览

unity3d - 如何使编辑器句柄可选择以显示属性检查器窗口

这是如何使贝塞尔曲线的各个锚点连续或不连续的后续问题。请参阅它以获取已接受答案中的相关代码(请注意,我这样做是为了保持这个问题的清洁,因为相关代码很长)。

我正在努力实现以下目标:

  1. 使贝塞尔曲线手柄/控制点可选择,以便单个手柄的属性(例如连续性)在选中时显示在检查器窗口中。请注意,我希望在不为手柄/控制点创建游戏对象的情况下完成此操作

  2. 保留处理每个点的移动的单一方法,而不是为每个点的移动使用单独的方法。

0 投票
1 回答
282 浏览

unity3d - 如何在 Unity 编辑器中为 PrefixLabel 着色?

我的问题很简单:我只想能够使用EditorGUILayout.PrefixLabel但将文本颜色更改为白色。

但到目前为止,我没有运气。我可以轻松更改所有其他元素的颜色,但PrefixLabel没有任何效果。我想坚持下去,PrefixLabel因为将所有标签和字段安排得井井有条的代码更少。

到目前为止我尝试过的一些事情:

使用EditorStyles.label.normal.textColor

另外申请new GUIStyle(EditorStyles.label)

直接使用EditorStyles.whiteLabel

使用GUI.contentColor

使用GUI.skin.label.normal.textColor

用一个new GUIStyle

任何提示我还能尝试什么?

0 投票
2 回答
3783 浏览

unity3d - 除了在 Unity3D 中使用“Assets/Gizmos”之外,如何使用自定义脚本图标

我知道这可能被问了很多次......但它经常被错误地回答。

我想要的是:

在 Inspector(例如图 2 和图 3)和 ProjectView(例如图 1)中为特定组件/脚本使用自定义图标 替代文字

到目前为止我所做的:

对于每个应具有图标的组件/类,我在文件夹中有一个 accroding Icon 文件

并在Import Settigns集合TextureTypeEditor GUI and Legacy GUI

这工作正常.. 直到现在我才能实现这一目标的唯一方法(记住下面的部分我绝对不想要的)。


但是,我想知道是否真的没有更好的方法让每个脚本都有一个唯一的图标文件。这使得项目/UnityPackage 变得不必要地庞大。此外,如果我重命名一个类,我总是必须重命名相应的图标文件......这意味着感觉不对!

大多数 Unity 内置行为和组件都有一个独特的图标。但来自新 PackageManager 的外部包也有内置图标,有时还有一个Gizmos文件夹,但它不遵循上述命名规则......所以显然这个图标是为他们配置的。

因此我的问题是:
有没有更好的方法来为脚本/组件设置这些图标?

最好编写脚本并重用一个图标文件,而不是在多个不同命名的文件中使用相同的图标。

和/或还有哪里/如何为来自 PackageManager 的脚本定义这些图标?


!笔记!我绝对不想要的:

还在 SceneView 中显示所有GameObjects附加了这些组件的图标(例如图 4)。这是由于通过 Inspector 选择此脚本的图标,如图 5 所示(如本文此处,甚至Unity-Assign Icons所建议的那样)或使用OnDrawGizmosDrawGizmo使用我当前对文件夹使用的方法不会发生这种情况Gizmos

替代文字

更新

因为这是在这个答案中建议的:我也知道我可以这样做并通过GizmosSceneView 的设置将它们关闭。但是想象一下,我有 25 个不同的模块和每个不同的图标。我不想在每个项目的基础上一个一个地在 SceneView 设置中禁用他们的 Gizmo!甚至提供的脚本似乎也是一个巨大的hackaround。反思将是我最后的手段。此外,我宁愿根本不让这些图标显示为可能的 Gizmo,而不是全部禁用它们。

0 投票
1 回答
1313 浏览

c# - 在 Unity 中为我的 3d 模型添加动画?

我是一个我认为不难解决但还没有解决的问题,我想我遗漏了一些东西,好吧,我有一个带有动画(运行动画)的角色和另一个带有其他动画的角色,效果很好在我的模型上,我希望我的玩家在我点击按钮后跳跃并返回到他的跑步动画......

我有两个动画:

在此处输入图像描述

我创建了我的 animatorController:

在此处输入图像描述

我将我的角色添加到场景中并附加了 AnimatorController 当然,我创建了一个脚本(代码在我的脚本中):

对于角色运行动画,它的持续时间是 32,跳跃动画是 23,但是当我点击我的模型时,我有这个:

在此处输入图像描述

我不知道如何在这里添加动画...我想我这里有问题但我不确定这是否是唯一的问题,我点击了“+”按钮但它不起作用...

任何帮助将非常感激。

0 投票
3 回答
4231 浏览

c# - Unity,编辑器时脚本,在 GameObject 上添加到场景事件

假设你有一个微不足道的预制件“盒子”,我们会说它只不过是一个标准米立方体。

  • 1 - 预制框在您的项目面板中

  • 2 - 将其拖到场景中

  • 3 - 显然它现在也出现在 Hierarchy 面板中,并且可能被选中并显示在 Inspector 中

需要明确的是,当你这样做时,游戏不是玩,你只是处于普通的编辑器模式。

是否可以制作一个脚本(“编辑器脚本”?),这样,

  • 当您在上面执行“1”和“2”时,(再次处于编辑器模式,而不是在游戏期间)

  • 当 3 发生时,我们可以影响场景中的新 Box 项目

  • 所以,简单的例子:无论你把它放在哪里,我们都会将 Z 位置设置为“2”。

简而言之:编辑器代码使得每次将预制件 P 拖到场景中时,它会将位置 z 设置为 2.0。

这在 Unity 中可行吗?我对“编辑器脚本”一无所知。

很明显这应该是可能的。

0 投票
1 回答
54 浏览

unity3d - Unity 游戏对象控制器

我见过基于 WiFi、蓝牙手机的控制器来控制游戏对象。是否可以使用可作为控制器的光 LED 或 IR 进行控制?我想用一个立方体映射一个移动的手电筒……有可能吗?

0 投票
2 回答
4196 浏览

c# - 根据数组成员的其他属性,在 Unity 编辑器中显示数组成员的某些属性

我有一个MyClass具有枚举和属性的类。根据枚举,我想在编辑器中显示某些属性。

有这样的枚举 { first, second} 和属性 health, step, position 。如果选择第一个,则在编辑器中显示名称和步骤,如果选择第二个,则显示步骤和位置。我想出了如何为单一行为类做到这一点。以及如何做到这一点,以使数组的每个元素都具有动态属性?图像突出显示了我在选择此列表时希望看到的字段。提前致谢 。对不起我的英语不好