博客專欄

        EEPW首頁 > 博客 > Unity3D :PlayableGraph

        Unity3D :PlayableGraph

        發布人:xyni2023 時間:2023-05-19 來源:工程師 發布文章
        Unity3D :PlayableGraph

        推薦:將NSDT場景編輯器加入你的3D工具鏈
        3D工具集:NSDT簡石數字孿生
        PlayableGraph

        PlayableGraph 定義一組綁定到 GameObject 或組件的可播放輸出項。PlayableGraph 還定義一組可播放項及其依賴關系。圖 1 提供了一個示例。

        PlayableGraph 負責管理可播放項及其輸出的生命周期。使用 PlayableGraph 可創建、連接和銷毀可播放項。

        圖 1:PlayableGraph 示例圖 1:PlayableGraph 示例

        在圖 1 中,顯示 PlayableGraph 時,為了緊湊,從圖形節點的名稱中移除了“Playable”一詞。例如,名為“AnimationClipPlayable”的節點顯示為“AnimationClip”。

        可播放項是一種繼承 IPlayable 接口的 C# 結構體。它用于定義其與其他可播放項的關系。同樣,可播放項輸出是繼承 IPlayableOutput 接口的 C# 結構體,用于定義 PlayableGraph 的輸出。

        圖 2 顯示了最常見的核心可播放項類型。圖 3 顯示了核心可播放項輸出類型。

        圖 2:核心可播放項類型圖 2:核心可播放項類型圖 3:核心可播放項輸出類型圖 3:核心可播放項輸出類型

        The playable core types and playable output types are implemented as C# structs to avoid allocating memory for garbage collection.

        “Playable”是所有可播放項的基本類型,這意味著您總是可以隱式將一個可播放項轉換為 Playable。相反的情況并不成立,如果將“Playable”顯式轉換為不兼容類型,則會拋出異常。它還定義能在可播放項上執行的所有基本方法。要訪問特定于類型的方法,您需要將可播放項轉換為相應類型。

        PlayableOutput 也是如此,它是所有可播放項輸出的基本類型,定義了基本方法。

        注意:Playable 和 PlayableOutput 未暴露大量方法。但“PlayableExtensions”和“PlayableOutputExtensions”靜態類提供了擴展方法。

        所有非抽象可播放項都有一個公有靜態方法 Create(),該方法創建相應類型的可播放項。“Create()”方法始終將 PlayableGraph 作為其第一個參數,該圖擁有新創建的可播放項。某些類型的可播放項可能需要其他參數。非抽象可播放項輸出還會暴露 Create() 方法。

        有效的可播放項輸出應鏈接到可播放項。如果可播放項輸出未鏈接到可播放項,則可播放項輸出不執行任何操作。要將可播放項輸出鏈接到可播放項,請使用 PlayableOutput.SetSourcePlayable() 方法。對于該特定可播放項輸出,鏈接的可播放項充當可播放項樹的根。

        要將兩個可播放項連接在一起,請使用 PlayableGraph.Connect() 方法。請注意,某些可播放項不能有輸入。

        使用 PlayableGraph.Create() 靜態方法來創建 PlayableGraph。

        使用 PlayableGraph.Play() 方法來播放 PlayableGraph。

        使用 PlayableGraph.Stop() 方法來停止播放 PlayableGraph。

        使用 PlayableGraph.Evaluate() 方法來評估 PlayableGraph 在特定時間的狀態。

        使用 PlayableGraph.Destroy() 方法來手動銷毀 PlayableGraph。此方法會自動銷毀 PlayableGraph 創建的所有可播放項和可播放項輸出。必須手動調用此銷毀方法來銷毀 PlayableGraph,否則 Unity 會發出一條錯誤消息。


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: 編輯器 數字孿生 3D

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 抚州市| 邵阳市| 忻州市| 清远市| 罗田县| 石屏县| 邵阳市| 福建省| 濮阳县| 黄大仙区| 平乡县| 通道| 龙井市| 体育| 庆元县| 麟游县| 阜平县| 长沙市| 孝昌县| 肇庆市| 衡东县| 苍山县| 桂阳县| 三门峡市| 湘潭市| 莆田市| 鲁山县| 安吉县| 驻马店市| 临西县| 荔波县| 施甸县| 上饶县| 昌江| 蓬溪县| 闽侯县| 苍溪县| 乌兰察布市| 灵武市| 武平县| 北碚区|