版本: Unity 6 (6000.0)
语言英语
  • C#

EditorGUILayout.InspectorTitlebar

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static bool InspectorTitlebar(bool foldout, Object targetObj);

声明

public static bool InspectorTitlebar(bool foldout, Object[] targetObjs);

参数

foldout 显示带有箭头的折叠状态。
targetObj 标题栏所属的对象(例如组件)或对象。

返回值

bool 用户选择的折叠状态。

描述

创建类似检查器窗口的标题栏。


创建一个自定义检查器,在旋转上显示 X、Y、Z、W 四元数分量。

// Create a custom transform inspector that shows the X,Y,Z,W
// quaternion components instead of the rotation angles.

using UnityEditor; using UnityEngine;

public class InspectorTitlebarExample : EditorWindow { bool fold = true; Vector4 rotationComponents; Transform selectedTransform;

[MenuItem("Examples/Inspector Titlebar")] static void Init() { var window = GetWindow(typeof(InspectorTitlebarExample)); window.Show(); }

void OnGUI() { if (Selection.activeGameObject) { selectedTransform = Selection.activeGameObject.transform;

fold = EditorGUILayout.InspectorTitlebar(fold, selectedTransform); if (fold) { selectedTransform.position = EditorGUILayout.Vector3Field("Position", selectedTransform.position); EditorGUILayout.Space(); rotationComponents = EditorGUILayout.Vector4Field("Detailed Rotation", QuaternionToVector4(selectedTransform.localRotation)); EditorGUILayout.Space(); selectedTransform.localScale = EditorGUILayout.Vector3Field("Scale", selectedTransform.localScale); }

selectedTransform.localRotation = ConvertToQuaternion(rotationComponents); EditorGUILayout.Space(); } }

Quaternion ConvertToQuaternion(Vector4 v4) { return new Quaternion(v4.x, v4.y, v4.z, v4.w); }

Vector4 QuaternionToVector4(Quaternion q) { return new Vector4(q.x, q.y, q.z, q.w); }

void OnInspectorUpdate() { this.Repaint(); } }

标题栏带有一个用于展开的箭头、一个帮助图标和一个设置菜单,该菜单取决于提供的对象类型。