一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Unity3D :重要的類 - Gizmos 和 Handles

 yvette多寶 2023-05-16 發(fā)布于湖北
Unity3D :重要的類 - Gizmos 和 Handles
推薦:將NSDT場(chǎng)景編輯器加入你的3D工具鏈
3D工具集:NSDT簡(jiǎn)石數(shù)字孿生

重要的類 - Gizmos 和 Handles

Gizmos 和 Handles 類用于在 Scene 視圖和 Game 視圖繪制線條和形狀以及交互式手柄和控件。這兩個(gè)類共同提供了一種方法來擴(kuò)展這些視圖中顯示的內(nèi)容,并構(gòu)建交互式工具以您喜歡的任何方式編輯項(xiàng)目。例如,您可以在游戲中圍繞非玩家角色創(chuàng)建一個(gè)可拖動(dòng)的圓圈輔助圖標(biāo),代表它可聽到或看到玩家的區(qū)域,而不必在 Inspector 中輸入數(shù)字。

本頁面提供了 Gizmos 和 Handles 類的簡(jiǎn)單概述。有關(guān) Gizmos 和 Handles 類每個(gè)成員的完整文檔和詳盡參考,請(qǐng)參閱 Gizmos 和 Handles 腳本參考頁面。

Gizmos

Gizmos 類允許您將線條、球體、立方體、圖標(biāo)、紋理和網(wǎng)格繪制到 Scene 視圖中,在開發(fā)項(xiàng)目時(shí)用作調(diào)試、設(shè)置的輔助手段或工具。

例如,要在游戲?qū)ο笾車L制一個(gè) 10 個(gè)單位的黃色線框立方體,您可以使用以下代碼:

using UnityEngine;
public class GizmosExample : MonoBehaviour
{
    void OnDrawGizmosSelected()
    {
        // 在變換位置繪制一個(gè)黃色立方體
        Gizmos.color = Color.yellow;
        Gizmos.DrawWireCube(transform.position, new Vector3(10, 10, 10));
    }
}

這是將立方體放置在一個(gè)方向光游戲?qū)ο笊蠒r(shí)的外觀。

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

有關(guān)如何使用 Gizmos 的完整文檔,請(qǐng)參閱 Gizmos 腳本參考頁面。

Handles

Handles 類似于 Gizmos,但在交互性和操作方面提供了更多功能。Unity 本身提供的用于在 Scene 視圖中操作項(xiàng)目的 3D 控件是 Gizmos 和 Handles 的組合。內(nèi)置的 Handle GUI 有很多,如通過變換組件定位、縮放和旋轉(zhuǎn)對(duì)象等熟悉的工具。不過,您可以自行定義 Handle GUI,以與自定義組件編輯器結(jié)合使用。此類 GUI 對(duì)于編輯以程序方式生成的場(chǎng)景內(nèi)容、“不可見”項(xiàng)和相關(guān)對(duì)象的組(如路徑點(diǎn)和位置標(biāo)記)非常實(shí)用。

例如,以下是如何創(chuàng)建帶有箭頭手柄的圓弧區(qū)域,用于在 Scene 視圖中修改 “shield area”:

using UnityEditor;
using UnityEngine;
using System.Collections;

//項(xiàng)目中應(yīng)已包含了此類
public class WireArcExample : MonoBehaviour
{
    public float shieldArea;
}

// 使用附加到圓盤的 ScaleValueHandle 創(chuàng)建一個(gè) 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);
    }
}
圓弧手柄和縮放手柄的示例
圓弧手柄和縮放手柄的示例

有關(guān)如何使用 Handles 的完整文檔,請(qǐng)參閱 Handles 腳本參考頁面。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    91欧美日韩国产在线观看| 亚洲精品黄色片中文字幕| 欧美日韩亚洲国产综合网| 亚洲性日韩精品一区二区| 欧美日韩一级黄片免费观看| 亚洲婷婷开心色四房播播| 日韩性生活片免费观看| 噜噜中文字幕一区二区| 国产精品欧美激情在线观看| 欧美一区二区口爆吞精| 亚洲男人的天堂色偷偷| 男生和女生哪个更好色| 老熟妇乱视频一区二区| 色综合久久超碰色婷婷| 久久香蕉综合网精品视频| 日韩在线中文字幕不卡| 在线观看国产成人av天堂野外| 免费啪视频免费欧美亚洲| 国产午夜免费在线视频| 国产精品久久香蕉国产线| 大尺度激情福利视频在线观看| 久久精品国产熟女精品| 欧美不卡一区二区在线视频| 狠色婷婷久久一区二区三区| 激情少妇一区二区三区| 国产又粗又黄又爽又硬的| 久久精品久久精品中文字幕| 国产日韩欧美国产欧美日韩 | 国产精品国产亚洲区久久| 成年人视频日本大香蕉久久| 国产白丝粉嫩av在线免费观看| 欧美日韩国产综合在线| 欧美日韩亚洲国产综合网| 好吊色欧美一区二区三区顽频| 99久久婷婷国产亚洲综合精品| 国产精品福利一级久久| 国产又爽又猛又粗又色对黄| 欧美一区二区三区视频区| 丰满少妇被粗大猛烈进出视频| 亚洲黄片在线免费小视频| 大香伊蕉欧美一区二区三区|