[Unity3D] 如何將飛飛游戲資源提取並加載到uinty3d中


首先聲明:(僅限個人學習使用,如侵權,請通知,會刪除此貼.)

 

 我的測試環境和工具:供參考

      Atools

      3dsmax 2014

      unity3d 2019.3

      台服飛飛客戶端(2020年8月下的,沒玩過幾天號就封了233,大概猜測v20或v21版本),

 

前言,

從國外飛飛論壇了解到

可以用unity里的資源管理類加載自定義文件格式並轉換(AssetPostprocessor類)...不太懂,有技術的大佬可以搞一下.

如果你跟我一樣是小白,往下看吧.

 

放一張國外大佬重置飛飛Uinty版 FlyFF For Uinty3D 

羡慕啊,學習吧...

 

 

第一步:准備工具

  ①:Atools   

     法國大佬開發的,不過現在github都被刪了,你懂的...

      (飛飛素材編輯器.能編輯地形,模型,UI等,也可輸出obj,dae,ani,飛飛三大主要文件:.o3d模型,.chr骨骼,.ani動作動畫,當然還有dds材質) 

      使用方法:

      將atools解壓到台服飛飛或任意飛飛客戶端目錄即可   

      鏈接:https://pan.baidu.com/s/1mDJEai_Q69thVTgbPr6lWQ
      提取碼:p42b

  ②3DSMAX

    (用於將Atools導出的.dae格式文件轉化為fbx文件,dae文件沒有dds紋理素材,需要手動拖入)

    當然你得需要dae導入插件:

    根據自己的版本下載對應版本插件即可

    選擇Release_開頭的

    感謝@iblackly 大佬尋找的全系列(maya,3dsmax全版本)dae導入插件,可比某cxdn收費的全多了,而且還免費!

    地址連接:

      下載地址

    插件安裝位置:

    D:\3DMAX2014\3ds Max 2014\plugins

    

  Unity3D任意版本(使用Chan模型請使用2018以上)

    ④飛飛客戶端

    建議使用v15版本純凈客戶端或v15純凈服務端,因為Atools開發大佬據說是用的v15服務端做的依托,生成的編輯工具

    其他版本的服務端或客戶端也可以提取,只是報錯當當當較多,所以我們以報錯少的端為主,所以自己試吧

    找不到沒關系,台服飛飛也沒問題,報錯較少

  

第二步:轉換格式

  ①查找模型與導出模型dae

  打開客戶端的目錄  或 服務端的/Resource文件夾將Atools工具里的所有文件扔進去

  下圖為Atools解壓后的所有文件

  扔進去后,在客戶端或服務端根目錄中打開ModelEditor.exe,會當當當的彈錯,確定即可,不影響使用

  打開后是這樣的↓

  

  然后點擊軟件的左上角file→open找到你的客戶端或服務端的model文件夾里的任意o3d模型

  

 

 

 

 打開之后按照下方箭頭操作,(下圖的√選項,Refleot反射及以下屬性自己勾上點確定可以看到效果,自己選擇要不要勾選,並不影響導出效果)

 還有右側的動作任意一個雙擊播放動作

   目前只研究到每次保存一個動作和模型,所以你選擇什么動作,保存后就是什么動作

 

設置完成后,點擊file→save保存到一個任意位置,比如桌面

選擇3dfile名稱改為xxx.dae保存

②導入3DSMAX

首先打開3dsmax,確保你已經裝了fbx導入插件和dae導入插件

 

先打開3DSMAX

 

將dae文件推入3dsmax,注意是拖入不是導入,此時會彈出一個選擇框

第一個是fbx導入插件,裝了才會有

第二個是dae導入插件,裝了才會有(請看前言,有下載地址)

如果你是跟我一樣的3DSMAX2014使用第二個有時會閃退,你可以使用第一個模式即可

 

此時的模型擁有骨骼和你剛才選中的一個動畫,點播放可以查看

但是動畫播放不正常,因為模型動畫是50幀,而3DSMAX是100幀,需要更改一下

具體按照下方數字操作...

1打開曲線編輯器

2全選模型

3可以看到動畫幀率

4點擊時間配置

5修改結束時間為你的動畫總長,確定即可

這里忘記說了,記得導出時勾選嵌入的媒體!!!

②導入貼圖dds

選中模型,將客戶端或服務端model中查找到的相同名稱的dds拖入模型上即可擁有貼圖

示例:在客戶端或服務端model目錄搜索你的模型名稱就能搜到相同名稱的dds貼圖

③導出為fbx模型

注意類型選擇FBX格式

 

第三步:導入unity

  將FBX模型拖入Assets文件夾(666就是我導出的模型文件)

  

  此時可以將模型666直接拖入scene場景中

  修改一下scale不然看不見特別小

  

  但是黑乎乎的看不到材質,此時我們需要修改下預制件的屬性

  我也不是很懂這個shader,我把uinty自帶的shader試了個便都不能看清楚模型

  於是我去商店下了個chan模型,因為她的shader可以使飛飛模型顯示出來,網上搜了一下好像是說沒有雙面渲染導致的...

  下載完之后導入即可,當然如果你有更好的解決方案,記得告訴我一下...

  

  導入之后我們選擇剛才導入的飛飛模型,點開名稱選擇骨骼找到shader選擇chan的選擇雙面渲染Clothing double sided

  此時你會發現模型變得高亮且清晰不在透明.完美~

  

 第四步:創建動畫控制器並添加動畫

  ①創建動畫控制器Animator controller

  右鍵Assest→create→Animator controller

  

  ②給游戲對象添加Animator動畫播放組件

  

  

 

  添加完Animator后將剛才創建的動畫控制器扔進Controller中

  然后雙擊打開動畫控制器添加新狀態

  

  點擊新創建的狀態修改名稱和關聯動作

  

所有操作完成,接下來我們看一下動態效果GIF吧

希望可以幫助到想提取飛飛模型的朋友們.

  

 

2020年9月6日修改

-如果想要同一個模型的多個動作怎么辦?

  那就多提取幾次,然后導入unity,

  點擊新導入的模型,點擊新動作 按 Ctrl+D 即可分離動作

 

關於使用Chan的Shader導致模型顏色失真過於艷麗的解決方案

從網上找到一個大佬寫的文章,大家可以去看一下文章並復制下shader

在這里感謝一下大佬的shader,很好用~

 

 

-怎么使用Shader代碼?

  Assest文件夾右鍵create→Shader

  創建完成后改下名稱,然后雙擊打開文件,將大佬寫的代碼復制進去,

  修改下名稱和你的文件名一致即可

  選中模型后找到shader選擇剛才創建的shader

  最后修改途中四張貼圖為你的模型貼圖就大功告成了!

  

 

原來使用chan的雙面渲染shader圖

 

改成文中大佬的shader后,顏色失真問題完美解決,請忽略后面亂飛的HPMP和線條...

 

 

2020年9月12日更新

導出的模型可能存在的問題

1動畫播放時位置發生偏移(坐標發生改變)

2動作異常(模型動作怪異等)

暫時發現這兩個問題

解決方法:

導入3DMAX時將坐標XY都歸零(這很重要,Z軸不需要變化,因為它負責上下移動)

如圖:

選中物體,坐標XY軸輸入0即可

 

然后導入unity后將以下兩點按照圖里對應設置

Rig里將Animation Type 選擇為 Gencric通用模式 點 Applay應用

點Animation 將 Anim.Compression 壓縮模式改為Off 關閉優化 應用

 

2020年9月17日更新問題

①導入3DMAX坐標XY歸0時可能會出現兩個模型(一個模型,一個陰影全黑)

這個時候刪除黑色陰影模型,在手動將模型對其0位置,此時你不能輸入0X 0Y 會出現偏移,因為歸零只能將陰影歸零

不建議刪除黑色陰影模型,因為刪除后導出會丟失MeshCollider,請自行選擇是否刪除

coll就是MeshCollider,抖動隱藏它就行了

②模型導入unity后可能會出現抖動現象

請看此貼:https://www.cnblogs.com/alanshreck/p/13684392.html

還有如果像完全恢復模型的色彩與外觀跳過,請見shader修改為sprites/Default即可,

當然有的模型會出現看不到正面臉的問題,那只能切換到雙面渲染shader了...除非你自己會寫shader

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM