<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>WebGL &#8211; 科技島-掌握科技新聞、科技職場最新資訊</title>
	<atom:link href="https://www.technice.com.tw/tag/webgl/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.technice.com.tw</link>
	<description>專注於科技新聞、科技職場、科技知識相關資訊，包含生成式AI、人工智慧、Web 3.0、區塊鏈、科技職缺百科、生物科技、軟體發展、雲端技術等豐富內容，適合熱衷科技及從事科技專業人事第一手資訊的平台。</description>
	<lastBuildDate>Mon, 18 Jul 2022 07:42:05 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.2</generator>

<image>
	<url>https://www.technice.com.tw/wp-content/uploads/2022/12/cropped-wordpress_512x512-150x150.png</url>
	<title>WebGL &#8211; 科技島-掌握科技新聞、科技職場最新資訊</title>
	<link>https://www.technice.com.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">223945996</site>	<item>
		<title>將 Unity 專案上傳至 itch.io 經驗談</title>
		<link>https://www.technice.com.tw/experience/8893/</link>
					<comments>https://www.technice.com.tw/experience/8893/#respond</comments>
		
		<dc:creator><![CDATA[科編推薦]]></dc:creator>
		<pubDate>Mon, 18 Jul 2022 07:42:02 +0000</pubDate>
				<category><![CDATA[產業]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[工作甘苦談]]></category>
		<category><![CDATA[工程師]]></category>
		<category><![CDATA[科技業]]></category>
		<guid isPermaLink="false">https://www.technice.com.tw/?p=8893</guid>

					<description><![CDATA[<p><img width="738" height="226" src="https://www.technice.com.tw/wp-content/uploads/2022/07/01-6.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="01 6" decoding="async" srcset="https://www.technice.com.tw/wp-content/uploads/2022/07/01-6.png 738w, https://www.technice.com.tw/wp-content/uploads/2022/07/01-6-300x92.png 300w" sizes="(max-width: 738px) 100vw, 738px" title="將 Unity 專案上傳至 itch.io 經驗談 1"></p>
<p>我覺得 WebGL 是個很實用的 Build Target，每當我在參加 Game Jam、 獨立開發小遊戲時，如果我想要迅速地和親友分享，而且不希望花太多時間處理各裝置差異、也不想勞煩玩家特地下載遊戲，我就會選擇把專案 Build 成 WebGL 版，而且還可以當作是一邊整理自己的作品集！<content><!-- wp:image {"id":8899,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full"><img src="https://www.technice.com.tw/wp-content/uploads/2022/07/01-6.png" alt="" class="wp-image-8899" /></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>文／<a href="https://featherchung.wordpress.com/2020/08/23/unity-build-to-itch-io/">鍾羽揚(Chung Yu-Yang)</a></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2><strong>前言</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Unity 引擎最吸引人的優點之一就是降低了跨平台開發的痛苦，可以輕鬆地把專案 Build 成不同的形式，像是 Windows, macOS, Android, iPhone… 以及我今天想談的WebGL。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>我覺得 WebGL 是個很實用的 Build Target，每當我在參加 Game Jam、 獨立開發小遊戲時，如果我想要迅速地和親友分享，而且不希望花太多時間處理各裝置差異、也不想勞煩玩家特地下載遊戲，我就會選擇把專案 Build 成 WebGL 版，而且還可以當作是一邊整理自己的<a rel="noreferrer noopener" href="https://feather-chung.itch.io/" target="_blank">作品集</a>！</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>WebGL 執行檔可以直接嵌入在網頁裡進行遊玩，除了放在自己寫的網頁上，最常見的做法就是上傳到免費空間 –&nbsp;<a href="https://itch.io/" target="_blank" rel="noreferrer noopener">itch.io</a>。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>儘管 Unity 使開發者能夠接近無痛地切換 Build Platform，各平台間仍存在著根本性的差異，用同一份設定去建置 WebGL、PC、Mobile 還完全不發生錯誤實屬罕見…所以有些注意事項必須牢記在心裡，或是等真的踩到雷了才記起教訓 XD</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>今天這篇文章就是想根據我自身的經驗，談談把專案 Build 成 WebGL、上傳到&nbsp;itch.io&nbsp;的過程中可能會遇到的問題，以及一些從開發過程中就必須要留意的事項。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>以下內容是我個人經驗的歸納結果，未必適用於所有類型的專案，而且可能存在我還不知道的更好做法，也歡迎各位協助補充！</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2><strong>解析度</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:image {"id":8902,"width":317,"height":370,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full is-resized"><img src="https://www.technice.com.tw/wp-content/uploads/2022/07/02-6.png" alt="" class="wp-image-8902" width="317" height="370" /></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>Unity WebGL 的畫面解析度是在準備建置的那一刻就要決定的。如果沒有先設定好，之後在&nbsp;itch.io&nbsp;上傳頁面不管怎麼改視窗尺寸都很難達到理想的效果。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>當我們在 Build Settings 把平台切換到 WebGL 後，可以點擊左下角的PlayerSetting 按鈕調整設定。 (從 Project Settings -&gt; Player 也可以進入此選單)</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":8905,"width":416,"height":272,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full is-resized"><img src="https://www.technice.com.tw/wp-content/uploads/2022/07/03-6.png" alt="" class="wp-image-8905" width="416" height="272" /></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:heading {"fontSize":"medium"} --></p>
<h2 class="has-medium-font-size"><strong>Resolution</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>以長寬比 16:9 的橫版遊戲來說，我覺得最剛好的解析度是 1120×630，總之維持 16:9 的倍數即可。但我在開發時仍然是採用 1920×1080 的規格，例如：<br />※ Camera 的 orthographicSize = 1080/2/100 = 5.4</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>※ GUI Canvas Scaler 選擇 Scale with Screen Size ，<br />並把 Referrence Solution 設定成 1920×1080</p>
<p>WebGL的設定和開發規格不一致沒關係，是不會弄壞最終呈現結果的。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>不把 PlayerSetting 裡的 Resolution 也設定成 1920×1080 的原因是：螢幕比較小的筆電有可能無法裝下整個畫面，玩遊戲還需要捲動瀏覽器的話就很辛苦…(小時候玩 Flash Game 還真的遇過這種事情)。如果你的遊戲還想要顧及平板玩家，那就需要更審慎拿捏解析度了。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading {"fontSize":"medium"} --></p>
<h2 class="has-medium-font-size"><strong>WebGL Template</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>Unity編輯器的部分提供了 2 款 WebGL 的模板，最主要的差別是第一個 Default 版有提供「變成全螢幕」的按鈕，而 Minimal 版沒有。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>這裡我會選擇 Minimal，因為 itch.io 也有提供 Fullscreen Button 的選項，為了避免準備上傳時又臨時有調整解析度的需求，我習慣統一交由 itch.io 來處理，這部分等等會再介紹到。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2><strong>itch.io上傳設定</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p>在登入&nbsp;itch.io&nbsp;帳號，點選“Upload new project”後，就會進入以下頁面，上傳檔案、作品介紹、視窗解析度等設定都是在這裡調整的。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>1. 將Kind of project 設定成 HTML</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":8911,"width":292,"height":216,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full is-resized"><img src="https://www.technice.com.tw/wp-content/uploads/2022/07/04-7.png" alt="" class="wp-image-8911" width="292" height="216" /></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>2. 從 Unity 引擎 Build 出來的 WebGL 會是一個資料夾，直接將這個資料夾壓縮後，就能在這裡進行上傳。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":8912,"width":361,"height":189,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full is-resized"><img src="https://www.technice.com.tw/wp-content/uploads/2022/07/05-6.png" alt="" class="wp-image-8912" width="361" height="189" /></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>3. 上傳後會看到這樣的清單，只要打勾倒數第二項“This file will be played in the browser”，其他就不用管了。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":8917,"width":397,"height":274,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full is-resized"><img src="https://www.technice.com.tw/wp-content/uploads/2022/07/06-3.png" alt="" class="wp-image-8917" width="397" height="274" /></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p>4. 這個區塊掌管各種功能性的選項，可以根據遊戲需求做出蠻多變化。比較重要的包括：</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:image {"id":8918,"width":386,"height":254,"sizeSlug":"full","linkDestination":"none"} --></p>
<figure class="wp-block-image size-full is-resized"><img src="https://www.technice.com.tw/wp-content/uploads/2022/07/07..png" alt="" class="wp-image-8918" width="386" height="254" /></figure>
<p><!-- /wp:image --></p>
<p><!-- wp:paragraph --></p>
<p><strong>★視窗尺寸</strong></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>分成 Manually Set size 和 Auto-detect size，如果在 Unity PlayerSetting 已經設定好了，這部分就直接選 Auto-detect 即可。<br />如果 Build 出來之後才發現這不是你所期望的解析度，要在&nbsp;itch.io&nbsp;手動設定也可以，但就必須考慮到遊戲內 UI 、 物件是否有被遮蔽而導致遊戲性被破壞的問題。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p><strong>★Fullscreen button</strong></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>itch.io提供的全螢幕功能，打開這一項後就會在右下角看到一顆全螢幕的按鈕。</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>這些設定都完成後，就可以儲存、上傳遊戲了！</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:heading --></p>
<h2><strong>其餘疑難雜症</strong></h2>
<p><!-- /wp:heading --></p>
<p><!-- wp:paragraph --></p>
<p><strong>★字型</strong></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>UGUI Text 預設的字型是 Arial，但 WebGL 沒辦法顯示這套字型，必須選用自己下載好、放進 Asset 資料夾裡面的字型。我有好長一段時間都以為是自己解析度、UI Anchor沒設定好的錯…結果是真的看不見XD</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p><strong>★Audio Pitch</strong></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>在使用 Audio Source 時，我習慣幫一些頻繁出現的音效(ex.走路、射擊)做隨機變化的效果，像是每一次播放都會 Random 給定不同的 Pitch。但是 WebGL 不支援負數的 Pitch，所以當 Random 到 Pitch &lt; 0 時就會完全聽不到聲音！！！</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p><strong>★素材資源刪減、壓縮</strong></p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>WebGL 的建置、讀取過程都非常久，如果能在上傳前把沒用到的素材刪掉、針對 Audio 的特性(音訊長度？播放頻率？)<a rel="noreferrer noopener" href="http://blog.theknightsofunity.com/wrong-import-settings-killing-unity-game-part-2/" target="_blank">特別調整壓縮選項</a>，例如：Force to Mono、Compressed in Memory。稍做更動就非常有助於加速開發、遊玩的流程，提升你的工作與生活品質(X</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>WebGL 雖然方便，但由於本身的運算效能不高，難免會有比 PC、Mobile 更嚴格的限制。我認為對規模比較龐大的遊戲來說，可以的話還是直接 Build 出目標平台進行遊玩、測試比較好，避免對呈現出來的品質有所犧牲。我每次想在 WebGL 使用 Post Processing、Particle 這些東西時都有點戰戰兢兢XD</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>但對於以分享同樂、個人練習為主軸的遊戲專案來說，WebGL 還是個非常實用的選擇，值得善加運用！</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:paragraph --></p>
<p>謝謝你/妳的觀看，希望我的踩雷血淚史可以帶來一點幫助，如果有任何問題、或是想補充我寫得不夠完善之處，都歡迎一起來交流交流，讓大家以後 Game Jam 最後趕工時不再被 WebGL 設定搞得很焦慮 (?)</p>
<p><!-- /wp:paragraph --></p>
<p><!-- wp:pullquote --></p>
<figure class="wp-block-pullquote">
<blockquote>
<p>本文由 <a href="https://featherchung.net/AboutMe/">鍾羽揚(Chung Yu-Yang)</a> 授權轉載，原文<a href="https://featherchung.wordpress.com/2020/08/23/unity-build-to-itch-io/">連結</a></p>
</blockquote>
</figure>
<p><!-- /wp:pullquote --></content></p>
<p>這篇文章 <a rel="nofollow" href="https://www.technice.com.tw/experience/8893/">將 Unity 專案上傳至 itch.io 經驗談</a> 最早出現於 <a rel="nofollow" href="https://www.technice.com.tw">科技島-掌握科技新聞、科技職場最新資訊</a>。</p>
]]></description>
		
					<wfw:commentRss>https://www.technice.com.tw/experience/8893/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8893</post-id>	</item>
	</channel>
</rss>
