2012年11月30日 星期五

在Unity模型資料匯入時,移除動作檔中所夾帶的模型資料



近期在解決在Unity 3d作業時,當fbx檔案匯入時,動作檔總是會有mesh的資料一起進來的問題。

如果某一模型檔有好幾個動作,比方說,模型檔的名稱為monster.fbx而其動作有idle, walk, attack等,則相對應的檔案在Unity 3d的命名規範下,則會為monster@idle.fbx, monster@walk.fbx, monster@attack.fbx等。則每個動作檔被匯入Unity 3d時,可以看到連同模型的資料也一併的進入。

這其實不是大問題,因為在引用模型資料時,還是會使用monster.fbx底下的模型資料,但為了避免過多的模型資料造成使用上的混淆,最好的方式還是直接將動作檔下的模型資料移除。

在開發專案的期間,模型經常有的動作滙入,且從外部進入的模型資料在匯入動作完成後,就不能額外被改變,就算想要以手動的方式移除夾帶於動作檔上的模型資料也無從砍起。

Goolge後發現有一篇在Unity Answers裡的文章有人提到相關的相法,根據這篇文章再配合相關的資料(如下link),寫了一段程式碼,讓fbx檔匯入時自動的將動作檔中的模型資料除移。



如在使用後有任何問題,歡迎指教。謝謝。

相關參考資料:
Unity 3d Script Reference: AssetPostprocessor
UnityAnswers: How to make the ModelImporter NOT to play automatically animations?
UnityAnswers: Destroying assets is not permitted to avoid data loss.
Mikesdotnetting: C# Regular Expressions Cheat Sheet
C# Regex.Match


小編碎碎念:
如果你覺得這篇文章對你有所幫助,請給我們一個“贊”吧!


作者:Ray Wang, GiantCroissant: Apprentice
Email: apprentice@giantcroissant.com
使用Unity開發遊戲一段時間,目前在研究已自動化測試的方式協助Unity專案的開發。

沒有留言:

張貼留言