Unity3D :重要的类 - Gizmos 和 Handles

用户头像
北京/设计爱好者/3年前/85浏览
Unity3D :重要的类 - Gizmos 和 Handles
用户头像
xyni202

重要的类 - Gizmos 和 Handles

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

重要的类 - Gizmos 和 Handles

Gizmos 和 Handles 类用于在 Scene 视图和 Game 视图绘制线条和形状以及交互式手柄和控件。这两个类共同提供了一种方法来扩展这些视图中显示的内容,并构建交互式工具以您喜欢的任何方式编辑项目。例如,您可以在游戏中围绕非玩家角色创建一个可拖动的圆圈辅助图标,代表它可听到或看到玩家的区域,而不必在 Inspector 中输入数字。

本页面提供了 Gizmos 和 Handles 类的简单概述。有关 Gizmos 和 Handles 类每个成员的完整文档和详尽参考,请参阅 Gizmos 和 Handles 脚本参考页面。

Gizmos

Gizmos 类允许您将线条、球体、立方体、图标、纹理和网格绘制到 Scene 视图中,在开发项目时用作调试、设置的辅助手段或工具。

例如,要在游戏对象周围绘制一个 10 个单位的黄色线框立方体,您可以使用以下代码:

using UnityEngine;
public class GizmosExample : MonoBehaviour
{
void OnDrawGizmosSelected()
{
// 在变换位置绘制一个黄色立方体
Gizmos.color = Color.yellow;
Gizmos.DrawWireCube(transform.position, new Vector3(10, 10, 10));
}
}

这是将立方体放置在一个方向光游戏对象上时的外观。

A light GameObject with an extra script applied which draws a cube gizmo around its position

有关如何使用 Gizmos 的完整文档,请参阅 Gizmos 脚本参考页面。

Handles

Handles 类似于 Gizmos,但在交互性和操作方面提供了更多功能。Unity 本身提供的用于在 Scene 视图中操作项目的 3D 控件是 Gizmos 和 Handles 的组合。内置的 Handle GUI 有很多,如通过变换组件定位、缩放和旋转对象等熟悉的工具。不过,您可以自行定义 Handle GUI,以与自定义组件编辑器结合使用。此类 GUI 对于编辑以程序方式生成的场景内容、“不可见”项和相关对象的组(如路径点和位置标记)非常实用。

例如,以下是如何创建带有箭头手柄的圆弧区域,用于在 Scene 视图中修改 “shield area”:

using UnityEditor;
using UnityEngine;
using System.Collections;

//项目中应已包含了此类
public class WireArcExample : MonoBehaviour
{
public float shieldArea;
}

// 使用附加到圆盘的 ScaleValueHandle 创建一个 180 度的线弧,
// 允许您修改 WireArcExample 中的 "shieldArea" 的值
[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);
}
}

圆弧手柄和缩放手柄的示例

有关如何使用 Handles 的完整文档,请参阅 Handles 脚本参考页面。

0
举报
|
收藏
分享
相关推荐
评论
用户头像
评论你的想法~
表情
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
推荐素材
深蓝色三维科技地球,全球化、国际化、科学技术概念抽象图形
扁平化抽象几何三维模型创意时尚海报
三维渲染炫彩背景
矩阵立方体三维空间科技背景
三维渲染抽象波浪流金风格背景
三维假期旅行主题
黑暗房间内的金属方块展台,三维渲染
矢量抽象三维几何图形创意海报
三维金融创意股票基金金融模型
实验室三维场景
灰色三角四面体、点线链接构成三维空间科技矢量背景
旋转的漩涡和流动的线条,三维渲染
红色喜庆风格的三维产品展台
三维渲染城市背景
三维渲染极简北欧风现代家居装饰场景
三维地形图,等高线。抽象的点线科技背景,类似云端数据连接、区块链、神经网络的概念。
三维渲染红色礼盒
三维渲染的简约简洁极简风格几何体场景海报
三维渲染的老年医生
矢量三维场景彩色质感球体抽象海报
三维界面科学技术,科幻场景矢量背景图。
三维渲染的流动白色布料透明玻璃背景
点线连接的科技矢量背景,三维抽象矢量星球,寓意全球化、国际化,球形世界地图
三维渲染的年轻女医生
三维抽象矢量星球,寓意全球化、国际化,球形世界地图,点和线连接的矢量背景
你可能喜欢
相关收藏夹
大家都在看
登录注册