色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專(zhuān)欄

          EEPW首頁(yè) > 博客 > Unity3D :PlayableGraph

          Unity3D :PlayableGraph

          發(fā)布人:xyni2023 時(shí)間:2023-05-19 來(lái)源:工程師 發(fā)布文章
          Unity3D :PlayableGraph

          推薦:將NSDT場(chǎng)景編輯器加入你的3D工具鏈
          3D工具集:NSDT簡(jiǎn)石數(shù)字孿生
          PlayableGraph

          PlayableGraph 定義一組綁定到 GameObject 或組件的可播放輸出項(xiàng)。PlayableGraph 還定義一組可播放項(xiàng)及其依賴(lài)關(guān)系。圖 1 提供了一個(gè)示例。

          PlayableGraph 負(fù)責(zé)管理可播放項(xiàng)及其輸出的生命周期。使用 PlayableGraph 可創(chuàng)建、連接和銷(xiāo)毀可播放項(xiàng)。

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

          在圖 1 中,顯示 PlayableGraph 時(shí),為了緊湊,從圖形節(jié)點(diǎn)的名稱(chēng)中移除了“Playable”一詞。例如,名為“AnimationClipPlayable”的節(jié)點(diǎn)顯示為“AnimationClip”。

          可播放項(xiàng)是一種繼承 IPlayable 接口的 C# 結(jié)構(gòu)體。它用于定義其與其他可播放項(xiàng)的關(guān)系。同樣,可播放項(xiàng)輸出是繼承 IPlayableOutput 接口的 C# 結(jié)構(gòu)體,用于定義 PlayableGraph 的輸出。

          圖 2 顯示了最常見(jiàn)的核心可播放項(xiàng)類(lèi)型。圖 3 顯示了核心可播放項(xiàng)輸出類(lèi)型。

          圖 2:核心可播放項(xiàng)類(lèi)型圖 2:核心可播放項(xiàng)類(lèi)型圖 3:核心可播放項(xiàng)輸出類(lèi)型圖 3:核心可播放項(xiàng)輸出類(lèi)型

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

          “Playable”是所有可播放項(xiàng)的基本類(lèi)型,這意味著您總是可以隱式將一個(gè)可播放項(xiàng)轉(zhuǎn)換為 Playable。相反的情況并不成立,如果將“Playable”顯式轉(zhuǎn)換為不兼容類(lèi)型,則會(huì)拋出異常。它還定義能在可播放項(xiàng)上執(zhí)行的所有基本方法。要訪問(wèn)特定于類(lèi)型的方法,您需要將可播放項(xiàng)轉(zhuǎn)換為相應(yīng)類(lèi)型。

          PlayableOutput 也是如此,它是所有可播放項(xiàng)輸出的基本類(lèi)型,定義了基本方法。

          注意:Playable 和 PlayableOutput 未暴露大量方法。但“PlayableExtensions”和“PlayableOutputExtensions”靜態(tài)類(lèi)提供了擴(kuò)展方法。

          所有非抽象可播放項(xiàng)都有一個(gè)公有靜態(tài)方法 Create(),該方法創(chuàng)建相應(yīng)類(lèi)型的可播放項(xiàng)。“Create()”方法始終將 PlayableGraph 作為其第一個(gè)參數(shù),該圖擁有新創(chuàng)建的可播放項(xiàng)。某些類(lèi)型的可播放項(xiàng)可能需要其他參數(shù)。非抽象可播放項(xiàng)輸出還會(huì)暴露 Create() 方法。

          有效的可播放項(xiàng)輸出應(yīng)鏈接到可播放項(xiàng)。如果可播放項(xiàng)輸出未鏈接到可播放項(xiàng),則可播放項(xiàng)輸出不執(zhí)行任何操作。要將可播放項(xiàng)輸出鏈接到可播放項(xiàng),請(qǐng)使用 PlayableOutput.SetSourcePlayable() 方法。對(duì)于該特定可播放項(xiàng)輸出,鏈接的可播放項(xiàng)充當(dāng)可播放項(xiàng)樹(shù)的根。

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

          使用 PlayableGraph.Create() 靜態(tài)方法來(lái)創(chuàng)建 PlayableGraph。

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

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

          使用 PlayableGraph.Evaluate() 方法來(lái)評(píng)估 PlayableGraph 在特定時(shí)間的狀態(tài)。

          使用 PlayableGraph.Destroy() 方法來(lái)手動(dòng)銷(xiāo)毀 PlayableGraph。此方法會(huì)自動(dòng)銷(xiāo)毀 PlayableGraph 創(chuàng)建的所有可播放項(xiàng)和可播放項(xiàng)輸出。必須手動(dòng)調(diào)用此銷(xiāo)毀方法來(lái)銷(xiāo)毀 PlayableGraph,否則 Unity 會(huì)發(fā)出一條錯(cuò)誤消息。


          *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



          關(guān)鍵詞: 編輯器 數(shù)字孿生 3D

          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉