雖然也有收到幾個有問題的3D圖檔,但更大部分會講「美術和企劃們不要把Unity想得太萬能」這件事——沒裝插件的Unity可是很多事情都做不到的
但在探討這個之前,show一下手上不太想面對的FBX www
首先,不要把四個攝影機包在物件裡(親身經歷)
每次收到一些個別要更換的model時,裡面總會出現4個攝影機和4個攝影機Target,然後就要選取全部再刪掉
幾秒鐘的動作,但很煩
#超級煩
接著要說的是:希望能把model歸位
甚麼意思?
這個意思
(上面只是模擬一下當時情況ww)
明明外層的空物件座標在(0, 0, 0),但裡面的model位置就各種神奇各種怪
基本上我收到model的全部都是這樣子(遠目
如果model只有一個的話就算了,假如包住的是結構較複雜的多重物件,那我還要再調正確位置……
—————
手上能說的問題圖檔就這些,接下來就是「別把Unity當繪圖軟體!」的部分
在開始之前先說一下,我是以原本Unity的功能,意則沒有使用插件為基準來說的
先來第一點:Unity沒法調model的頂點
(插件ProBuilder好像可以,但現在主力做2D,所以還沒有空研究)
事源是某天,美術丟了個FBX給我,那是一個平行四邊體
然後想說讓我在Unity裡自行縮放做些效果
但想當然,一拉長的話,最左右兩側的頂點也會拉寬,導致整個變形
Like This
把這情況告訴美術之後,他問我:
「不能調點的嗎?」
「對,不能調點。」
我誠懇地點頭。
所以,最後他拆了個三角形和長方形給我,讓長方形在伸縮的同時,三角形跟著移動
這種做法不是問題,問題是他長方形的軸心沒調好#
要解釋這個,先來個gif一下
這是Unity生成的四方體,軸心在正中間,縮放的話會上下一起拉長(美術給我的就是這種)
然後,假如把軸心放在模型底部的話,縮放起來像這樣:
要動態伸縮做效果,軸心在底部時程式們才好處理
但如果美術不想改時,除了暴走和離職之外有甚麼辦法呢?
那就土法煉鋼:改Scale時,同時改Position
又或者,自行生成一個空物件,強制改變模型的軸心
把空物件放在模型底部,再把模型拖進去,成為空物件的子物件
至於空物件的位置要怎樣調好——嗯,考你眼力w ((喂#
所以,美術呀……
第二點:Unity不能拆UV (同樣地ProBuilder好像可以#)
事源,企劃問:「你能不能把貼圖只貼在四方體的其中一面?」
我:「那要美術拆UV,又或者給我一星期來研究Shader。」
企:「Oh……所以是不行哦……」
然後走掉了。
總之,沒有任何外力幫助的情況下,Unity裡生成的3D物件,材質貼起來時都是一個整體
第三點:沒辦法調個別材質的對比度啦!
某天在試貼圖,因為對比不太明顯,企劃試著問:
「有沒有辦法調一下對比,讓陰影更明顯……」
「NO!」
除非你給時間我來研究Shader
……嗯,第三點就這樣XD
真的不要把Unity當繪圖軟體啦((吶喊
第四點:
「有沒有辦法在Unity內,直接做出物件彎曲的動畫?」
「有,Shader。不然就美術出圖。」
所以企劃就跑去騷擾美術了。
(其實也可以用C#來讀取模型的Mesh,獲得頂點後再自行調整……但這操作太高端我不會#)
然後,美術出了一個動畫,但丟到Unity時卻沒有彎曲……那是因為,Unity不支援調整頂點的動畫,只會吃物件本身的Transform以及骨架動畫
(當然,這世界上沒有插件解決不了的事情。有不少插件就是讓你能夠調頂點w)
Unity不吃頂點動畫……稍為算是個注意事項吧?
如果辛苦調出來的頂點動畫不能用,要不重做,要不研究插件,那真的會崩潰www
理論上,較簡單的物件扭曲(比如在架上飄的衣服),我是推薦用插件,或是寫Shader
但如果趕時間,那就直接上骨架吧w
畢竟畢製時,優化這種事是在有充足時間,又或是等你效能爆炸時才會做的#
最後,再來一點點心得(?)
假如程式拿到不好的美術圖時,不要立即爆氣,儘量和美術講解一下「圖不能用」的理由。知道原理的話,說不定下次出圖會好一點
(但美術能不能理解程式們的解說,那就另一個故事w)
然後美術聽到圖不能用時,也不要覺得「一定是程式的問題」
很多時候,圖不是真的「絕對不能用」,而是要用的話,會消耗更多效能和時間
為了整個專案著想,圖片修正後才能加快開發進度
總而言之……就算美術和程式互看不順眼,但表面上還是得來個良好溝通。出圖的規範儘量統一好
不然遊戲進度一直卡死,最後爆炸的話就真的GG了
就這樣,以上owo/