2022年5月25日 星期三

All I Want for ImportMesh Is Node

用Babylon載入1個外部模型

就會多1個新的 Node

但是翻看文檔
沒看到怎麼取得這個 Node
該怎麼辦呢?

ImportMeshAsync

會給你1包像超商福袋的東東

ISceneLoaderAsyncResult

接著讓我們來瞧瞧
福袋裡有些什麼

Mesh

Mesh就是艾姆的皮
也就是遊戲角色的外貌

可以看到艾姆在Babylon有2個Mesh

在Blender裡只有1個

其中1個Mesh是不包含Geometry和Material的假皮

Bone

Bone就是模型的骨架



Skeleton

Skeleton就是最上層的骨架


AnimationGroup

記錄著每根bone的animation
bone的演出又影響著Mesh外觀的改變



福袋看完了

Babylon會把福袋的東西
放到1個Node底下

再把這個Node
放進Scene.rootNodes裡

rootNodes的個數 由原本的2變成了3

Where is my Node?

看吧 我們要的Node不就在這裡

就是m[0]

這到底什麼奇葩設計?我不懂 🤔🤠

文檔

最後看一下
Node、TransformNode、Mesh的繼承關系
結束這1回合



Special Thanks

要不是有debugLayer
現在1定還在雲裡霧裡吧

2022年5月17日 星期二

Static Function and Blueprintcallable

當SetWahCarTime的參數 WashCarTime
和Static變數 WashCarTime 同名
Comiper會過不了 並告訴你錯誤的地方


人家C#、Java、Typescript都沒這問題
就你毛最多


但是當你把 WashCarTime 
從 float 改成 dobule 時
它什麼毛都不會告訴你



為什麼要把WashCarTime
宣告成dobule呢?

不是
FTimespan回傳給你的就是dobule阿



但就算你把參數
改成pWahCarTime
還是Comiper不過就是了



倒敘法大概就是這麼1回事吧

2022年5月7日 星期六

Unreal Delegate 初體驗

5:10 自動完成 阿就是出不來


定義Delegate


宣告Delegate物件


自動完成出不來 不要以為少了那個步驟
(因為它是用Marco定義 VS不一定認的出來)

曾幾何時

對Unity Programminer來說

「想當然耳」要有的「自動完成」

(Code completion)

也變成了「可遇不可求」


Unity 

我好想你 我好想你 就深藏在心