作者Lincm (黃豆)
看板GameDesign
標題[請益] 關於Unity放進美術素材
時間Thu Dec 15 11:00:58 2016
由於我們家的RD說給他的美術素材全部都要是2的次方尺寸
想請問這樣是正常的嗎?
就是128x128 256x256 512x512 1024x1024這種的以此類推
覺得很奇怪,所以上來請益一下
就算不管甚麼東西,舉凡角色立繪、頭像、背景等東西
背景就是720*1280這種尺寸了,也要生給他2的次方尺寸
美術素材本來就會有尺寸大小不可能全是2次方的尺寸的情況
可是程式說不這樣做的話他編譯出來美術素材會變得超級大
甚麼NGUI的也不打算去買,說甚麼怕NGUI一更新就掛掉所以不打算靠外掛
全部靠著UNITY內建硬上,用texurepacker打包給他也不要
一個說甚麼放進去還要自己旋轉對位很麻煩
一個說還要額外裝東西的方法不是好方法
TP都打包給你們了應該頂多給對位圖就好了吧= = ............
所以只好想請問有作遊戲的同行一下,你們放背景還是角色立繪那種的
都是怎麼做的呢?
真的也會這樣子做嗎?
謝謝
角色沒有很大隻,可是卻都應要把角色的尺寸寬高邊界都拉到2次方....
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.154.157
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1481770860.A.132.html
1F:推 damody: 會比較方便 但引擎都有內建功能才對 directx也沒這問題 12/15 11:03
2F:→ damody: 蠻莫名奇妙的 有需要大量轉的話寫程式自己轉 12/15 11:05
我也是不太懂@@一般來說是用TP打包給RD比較方便吧?
就算是單張單張給,RD應該也是要一個個拉進場景去對位置吧我想?
3F:推 UbaldJimenez: TexturePacker 完全可以切好直接變成單張單張的 Uni 12/15 12:08
4F:→ UbaldJimenez: ty Sprite,是不想學吧XD 12/15 12:08
請問這是一次放一張就切出來嗎?@@那很多張不就很多工不就很累?XD
5F:推 UbaldJimenez: 而且拼圖才有意義,你一張圖餵進記憶體的確是分配2 12/15 12:18
6F:→ UbaldJimenez: 的次方的空間,例如128휱29的圖,就是會佔用128휲56 12/15 12:18
7F:推 UbaldJimenez: 推文被吃掉了,晚點再補,不過先說你們工程師的觀 12/15 12:19
8F:→ UbaldJimenez: 念有問題,完全誤解了記憶體配置的運作 12/15 12:19
我也是覺得UI類應該是比較適用TP@@
9F:推 wix3000: 不買nGUI是沒什麼問題,沒特殊需求的話uGUI很夠用了 12/15 13:34
10F:→ wix3000: 但我記得Unity會自動把Sprite包成Atlas 12/15 13:37
RD也不熟UNITY 兩位都不是CLIENT端的@@ 上次我給的3D的球還拉錯
說我沒弄好,我為了讓對方看到一樣的東西我還特地用匯出的
結果對方看到的還是跟在我電腦上的不一樣,後來才知道對方是拉錯東西的樣子
11F:推 wix3000: 除非你的圖本來就是做成圖集的形式,否則不用特地遵守2 12/15 13:40
12F:→ wix3000: power的格式 前提是你家工程師是在用uGUI 12/15 13:41
13F:→ wix3000: 如果是用onGUI的神人的話我就不知道了 XD 12/15 13:41
RD說打包給AN吃是還好,打包給iOS吃就強迫要2次方甚麼的@@
14F:推 ycjcsie: uGUI不需要power of 2 12/15 13:51
所以可能是他UNITY內所有的UI素材都沒設定好成為UI類型嗎?@@
15F:推 holymars: 立繪頭像背景 建議是用繪圖軟體批次處理成power of 2 12/15 17:12
16F:→ holymars: 有些東西不適合打包成atlas 又需要PVRTC壓縮 又不想被 12/15 17:13
17F:→ holymars: 和unity sprite奮戰長寬比的時侯... 12/15 17:14
18F:推 holymars: 你提的解法 NGUI->建議不要用 TexturePacker->不適合用 12/15 17:16
19F:→ holymars: 在立繪和背景上 12/15 17:16
20F:→ holymars: 用Unity importer直接rescale成pot -> sprite長寬比要手 12/15 17:17
21F:→ holymars: 動重調 12/15 17:17
22F:→ holymars: 在流程上最簡單的方法→用繪圖軟體批次處理成pot 12/15 17:18
請問這邊Unity importer是甚麼意思呢?
POT是甚麼意思呢?@@ 如果可以的話 希望能請益step by step的步驟或是教學
對不起@@不好意思這塊不是很懂
很希望知道大家是如何處理這些非2次方的素材@@
23F:→ dreamnook: 我當初都跟美術講說小一點 然後先放進手機看XD 12/15 17:27
24F:→ fatespinner: 應該是為了方便壓縮吧,內建pot長寬比會爆炸 12/15 22:02
25F:→ crobo: 為了效能,npot無法最佳化 12/16 00:51
26F:→ jasonlu00: 感覺沒錯啊,除非是屬於Sprite packer,不然pot方便壓 12/16 00:54
27F:→ jasonlu00: 縮 12/16 00:54
請問我打開了Sprite packer可是裡面卻空空如也,是不是只支援PRO版本呢?
※ 編輯: Lincm (60.250.154.157), 12/16/2016 11:00:51
28F:推 wix3000: POT = Power Of Two 12/16 12:04
29F:推 UbaldJimenez: 昨天忘了補了,總之舉例 128*129 的圖,在記憶體裡 12/16 12:27
30F:→ UbaldJimenez: 就要配置 128*256 的空間,但明明就只多了 1px,卻 12/16 12:28
31F:→ UbaldJimenez: 要多出將近一倍的無用空間 12/16 12:28
32F:→ SSQ: 新開案子用UGUI比較好,NGUI會慢慢被淘汰 12/16 12:29
33F:→ UbaldJimenez: 這對於記憶體配置來說是極大的浪費,但你硬要把圖 12/16 12:29
34F:→ UbaldJimenez: 留空到 128*256,意義在哪?拼圖的好處就是夠跟記憶 12/16 12:29
35F:→ UbaldJimenez: 體要最小的空間,可以塞進最多的圖 12/16 12:30
36F:→ UbaldJimenez: 所以像剛剛上面的例子,浪費的空間就可以靠著填補 12/16 12:30
37F:→ UbaldJimenez: 其他小圖把他補起來 12/16 12:30
38F:推 UbaldJimenez: 舉例,如果你今天有兩張圖,一張是 128*129,一張是 12/16 12:32
39F:→ UbaldJimenez: 65*65,如果不拼圖,在記憶體裡面就會耗掉128*256 + 12/16 12:33
40F:→ UbaldJimenez: 128*128 12/16 12:33
41F:→ UbaldJimenez: 但如果拼圖,因為 65*65 可以塞到 128*129 被配置到 12/16 12:33
42F:→ UbaldJimenez: 的128*256記憶體空間剩下的空白處,所以把兩張圖拚 12/16 12:34
43F:→ UbaldJimenez: 成128*256的圖給遊戲使用,這樣就只會佔128*256的空 12/16 12:34
44F:→ UbaldJimenez: 間。2的倍數是這樣運作,你留空卻不作為完全沒意義 12/16 12:35
感謝解說,那這樣看來其實最好的方式我想應該還是用TP將UI圖打包給對方
請對方拉到場景上吧? 這樣應該就算怪尺寸的話 用TP拚個1024*1024的
讓他去使用應該也是可以的?
45F:→ KanoLoa: 我建議你們多磨合、抱著謙虛的心一起探討問題點。 12/16 19:51
46F:→ KanoLoa: 最好兩個人就坐隔壁,很快會了解unity是友情殺手 12/16 19:52
47F:→ KanoLoa: 簡單事情變動能配合就配合,圖改個大小對你來說很快 12/16 19:54
48F:→ KanoLoa: 但如果他不太熟悉,你不配合他改,可能花他更多時間修正 12/16 19:54
49F:→ KanoLoa: 反正資源過大軟體跑不動,問題是他扛,他遲早要學更多。 12/16 19:55
50F:→ KanoLoa: 類似的事情還很多很多,例如法線方向,模型中心各種搞 12/16 19:56
51F:→ KanoLoa: 反之,如果某個變動你要花很多時間,換你要求他盡量配合 12/16 19:56
嗯嗯,因為同事不是寫client的...所以也正在學習
只是有些按鈕是114*118 他要我出成128*128給他
我想說應該正確的方式是給他拚好的大圖才對吧@@
52F:推 shadowth: 就算是DirectX也有這問題吧 記得天瓏書店裡面有一本原 12/17 01:28
53F:→ shadowth: 文書也是這樣寫 主要是放大縮小處理後細節可不可以完美 12/17 01:29
54F:→ shadowth: 呈現的問題吧... 12/17 01:29
55F:推 littleshan: power-of-two 主要是可壓縮,放大縮小是看 mipmap 12/17 02:52
56F:推 Bencrie: 早期支援 NPOT 的硬體剛出來的時候,速度會比 POT 慢一些 12/20 01:54
57F:→ Bencrie: 不知道這塊是不是真的由硬體做還是 driver 自己處理掉 12/20 01:55
程式我就真的不熟了,我想應該也是每個人寫法不一樣.......
※ 編輯: Lincm (60.250.154.157), 12/20/2016 12:02:44