in XNA

XNA – Skinned Model

嗯…
在研究 XNA Cub 上面的「Skinned Model」範例,碰到一些基本的問題。
在這邊稍為註解一下,免得有人跟我一樣笨笨的不知道怎樣做

首先,當然先是去下載範例擋囉!
記住,別忘記它的說明擋,都會附在資料夾裡面。以這個範例來說,就是「SkinningSample.htm」。
雖然,我就是因為忘了看它,搞得我暈頭轉向的
務必先看說明書啊!!

OK~如果看玩了,就開始吧!

當然不是只有按下F5讓它跑出來就好了,如此何需開一篇咧!
這裡要加入一隻我們自製的模型擋,這樣才有搞頭哪!

請準備一個可用,且帶有動畫資料的 .FBX 或 .X 擋。將你的模型擋拖進方案的「Content」裡面。
(如果沒現成的,可以用 DirectX SDK 裡面的萬用 tiny.x)

先看看範例裡面預設的模型「dude.fbx」屬性裡「Content Processor」的選項,是「SkinnedModelProcessor」。
這個範例最重要的部分,就是在自訂的資源處理者。這就是選擇資源處理者的地方。
再來檢視剛才拖進去的模型的「屬性」,請點選屬性視窗裡面的「Content Processor」。


如果你還沒有編譯過,應該會找不到SkinnedModelProcessor,就像上圖一樣。


接著點選上面的「SkinnedModelPipeline」專案,建置它。
當然,已經有選項的就直接選吧~
建置完成後,再看一次自製模型的屬性…


這時候就會有SkinnedModelProcessor的選項出現。選擇它。
接著,可以先按下 F5 編譯,它就會先處理這個模型。
這時候,我真的想說,FBX有夠難搞的
如果,你很不幸的碰到錯誤回報,請先用tiny擋一下吧!
關於 FBX 的模型問題,改天在報告我們的測試


成功的話,你應該會看到一個大老出現在螢幕囂張
基本上,如果能通過處理者的關卡,模型就沒有很多餘的問題。
當然,事情未必如此簡單,不知道哪邊才有正統製模流程呢…?
好了,既然通過,就把大老換下去吧!

點擊「SkinningSample.cs」檢視程式碼。
將 Initialization 的 region 打開,找到 LoadContent 方法

 protected override void LoadContent()
        {
            // Load the model.
            //currentModel = Content.Load<Model>("dude");
            currentModel = Content.Load<Model>("MB_TESTMAN07_Ani07_Binary");
            …

將要讀取的資源名稱換成自製模型的名稱,在這裡我的模型名稱就是「MB_TESTMAN07_Ani07_Binary」。
按下 F5 欣賞你的傑作吧!


這是我們測試用的可愛人偶XDD

–End

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.