我有一个MyClass具有枚举和属性的类。根据枚举,我想在编辑器中显示某些属性。
有这样的枚举 {first, Second} 和属性 health, step,position 。如果选择第一个,则在编辑器中显示名称和步骤,如果选择第二个,则显示步骤和位置。我想出了如何为单一行为类做到这一点。以及如何执行此操作以使数组的每个元素都具有动态属性?该图像突出显示了我在选择此列表时希望看到的字段。提前致谢 。抱歉我的英语不好
我的目标:我有一个脚本
public class MyScript: MonoBehaviour
{
public bool A;
public bool B;
}
Run Code Online (Sandbox Code Playgroud)
仅当 A 为 TRUE 时,我才需要 B 可见
我对脚本进行了扩展,并在标题中添加了 UnityEditor
[CustomEditor(typeof(MyScript))]
public class MyEditor : Editor
{
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
MyScript tool = (MyScript) target;
tool.A = GUILayout.Toggle(tool.A, "Flag");
if(tool.A)
{
tool.B= EditorGUILayout.Toggle(tool.B, "Flag");
}
}
}
Run Code Online (Sandbox Code Playgroud)
但一切都没有真正改变。我做错了什么?
Visual Studio和Resharper中存在非常有用的功能“查找用法”,但在Unity3D Editor中找不到相同的功能。我在Unity3d中仅看到“选择依赖项”,但我需要相反的选择。是否存在?
我有一个自定义结构,代码如下:
[Serializable]
public struct HexPoint : IEquatable<HexPoint>
{
public readonly int x;
public readonly int y;
public readonly int z;
// Some custom methods for initializations and operators
}
Run Code Online (Sandbox Code Playgroud)
如果我将 x、y 和 z 变量设为非只读,它们就会在统一检查器中正常显示。但是,我有一些他们需要满足的规则(实际上是 x+y+z=0),所以我添加了 readonly 以防止人们弄乱它。
但是作为只读变量,它们不会显示(因为它们不能被修改)!:(
我想知道它们是否是我在统一检查器中显示它们的一种方式,类似于 PropertyDrawer。我知道我可以将我的结构切换到一个类,因为 PropertyDrawer 是为类保留的,但我想将它保留为一个结构。
那么,有没有办法显示值?并最终使用自定义初始值设定项修改它们?
非常感谢!
当我将模型保存为 FBX 格式并将其放入设备中时,所有材质都会被删除。对于我的模型,我使用材质,但不使用纹理。我该怎么办?是否需要单独保护?如果是这样,怎么办?或者可能是程序的版本不兼容,提前谢谢您!
我试图延长UnityEngine.UI.Image这样的
public class MyImage : Image {
public string Comment;
}
Run Code Online (Sandbox Code Playgroud)
但是我没有Comment在检查器中看到额外的文本字段。是否可以添加检查器中可用的额外字段?
PS它触发为使用自定义Inspector扩展Unity UI组件重复,但不是重复的。我什么也没问custom Inspector。它只是的常规字段default Inspector。问题在于该字段根本没有出现在检查器中。
每当我尝试使用包管理器导入资源时,它都无法加载。

这是完整的错误:
[包管理器窗口] 获取授权码时出错:System.InvalidOperationException:无法调用 Unity ID 获取授权码。UnityEditor.AsyncHTTPClient: 完成 (UnityEditor.AsyncHTTPClient/State,int)
我尝试了一些 YouTube 教程,但它们对我不起作用。