iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
Software Development

從零開始!使用chatGPT製作Unity回合制卡牌遊戲系列 第 8

從零開始!使用chatGPT製作Unity回合制卡牌遊戲 Day 8 - Image和RawImage的關係

  • 分享至 

  • xImage
  •  

上次說到「Texture不能是肉體」,但是我們仔細詳讀上次所分享的..
"WuFeng Chiang"關於Sprite的文章時可以發現:

「RawImage 也使用了 Canvas Renderer,但是不是使用 Image Script,而是 Raw Image Script,而 Raw Image Script 接受的圖片類型是 Texture,而不是 Sprite。」
還有「RawImage 使用 Texture,Image 使用 Sprite。」
同時「RawImage 使用 Texture,但是可以把 Sprite 指定給 RawImage。」

這一切看似很混沌,這究竟是為什麼呢?


還記我們前面說過:

「Sprite就是能組合成一個畫面的一層一層2D物件。」

所以Sprite在本質上是就物件。
而在該篇文章中,可以發現 SpriteTextureproperty
也就是說,該操作其實是這樣的。

    rawImage.texture = spriteObject.texture;

既然可以都用 Sprite 來顯示圖片,那為何..
要使用RawImage,而不是..
用Image?


根據此篇文章的延伸閱讀"Raw Image vs Image?",Image只能展示Sprite,而RawImage能展示各種texture。而雖然Sprite,但Sprite的生成與管理,例如:Sprite.Create很耗費計算與記憶體。
原文舉了個例:如果在展示RenderTexture時使用Image而非RawImage,Sprite.Create會在每一幀被生成時被呼叫。
這是恐怖的「方便稅」。

該原文還貼心提醒,「在有plain texture(例如:靜態圖像)的時候使用RawImage。


呼,這些概念還真難懂。
還好我們在11:55分之前寫完了,對嗎?

「什麼叫你在使用夏令時間?」


上一篇
從零開始!使用chatGPT製作Unity回合制卡牌遊戲 Day 7 - Sprite與Texture與Image
下一篇
從零開始!使用chatGPT製作Unity回合制卡牌遊戲 Day 9 - 卡牌資產:美術原畫的來源與DALL.E
系列文
從零開始!使用chatGPT製作Unity回合制卡牌遊戲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言