包含此页的版本:
不含此页的版本:
这Gizmos和Handles类允许您在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表视图和游戏视图,以及交互式手柄和控件。这两个类共同提供了一种方法,可以扩展这些视图中显示的内容,并构建交互式工具以任何你喜欢的方式编辑项目。
例如,与其在检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表,您可以创建一个可拖动的圆半径小工具与场景中的游戏对象关联的图形叠加层,并显示在场景视图中。移动工具等内置场景工具是 Gizmo,您可以使用纹理或脚本创建自定义 Gizmo。某些 Gizmo 仅在选择游戏对象时绘制,而其他 Gizmo 则由编辑器绘制,而不管选择了哪个游戏对象。更多信息
请参阅术语表在游戏中的非玩家角色周围,代表他们可以听到或看到玩家的区域。
这Gizmos类允许您将线条、球体、立方体、图标、纹理和网格绘制到场景视图:您正在创建的世界的交互式视图。您可以使用场景视图来选择和定位场景、角色、摄像机、灯光和所有其他类型的游戏对象。更多信息
请参阅术语表在开发项目时用作调试、设置辅助工具或工具。
以下示例在游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表:
using UnityEngine;
public class GizmosExample : MonoBehaviour
{
void OnDrawGizmosSelected()
{
// Draw a yellow cube at the transform position
Gizmos.color = Color.yellow;
Gizmos.DrawWireCube(transform.position, new Vector3(10, 10, 10));
}
}
下图显示了此立方体放置在定向光游戏对象上的外观:
如需完整的 API 参考,包括使用示例,请参阅 API 参考页面Gizmos.
手柄类似于小工具,但提供了更多的交互性和作性。Unity 提供的用于作场景视图中的项目的默认 3D 控件是小工具和手柄的组合。有许多内置的句柄 GUI,例如熟悉的工具,用于通过 Transform 组件定位、缩放和旋转对象。
您可以定义自己的句柄 GUI 以与自定义组件编辑器一起使用。此类 GUI 是编辑程序生成的场景内容、“不可见”项目和相关对象组(例如航路点和位置标记)的非常有用的方法。
以下示例创建带有箭头手柄的圆弧区域,允许您在场景视图中修改“盾牌区域”:
using UnityEditor;
using UnityEngine;
using System.Collections;
//this class should exist somewhere in your project
public class WireArcExample : MonoBehaviour
{
public float shieldArea;
}
// Create a 180 degrees wire arc with a ScaleValueHandle attached to the disc
// that lets you modify the "shieldArea" value in the WireArcExample
[CustomEditor(typeof(WireArcExample))]
public class DrawWireArc : Editor
{
void OnSceneGUI()
{
Handles.color = Color.red;
WireArcExample myObj = (WireArcExample)target;
Handles.DrawWireArc(myObj.transform.position, myObj.transform.up, -myObj.transform.right, 180, myObj.shieldArea);
myObj.shieldArea = (float)Handles.ScaleValueHandle(myObj.shieldArea, myObj.transform.position + myObj.transform.forward * myObj.shieldArea, myObj.transform.rotation, 1, Handles.ConeHandleCap, 1);
}
}
如需完整的 API 参考,包括使用示例,请参阅 API 参考页面Gizmos.