2018年10月22日 星期一
《A Light in the Dark 夜光》──遊戲的結束,才是真正的開始
【本文會探討到劇情方向,但不會洩漏結局】
進到《特米斯數位娛樂》五個月以來,
我大部分的時間都在幫公司開發AVG(文字冒險遊戲),
雖然假日有限,還是會抽空研究一下其他AVG是怎麼做的。
但這一玩下去,卻讓我近來緊繃的情緒放鬆不少。
2018年1月11日 星期四
Unity Build Android & iOS遇到的四個Bug
最近遇到幾個Unity Build Failed的問題,
來分享一下我遇到的問題和解法。
狀況一:Build Android apk時會失敗
彈出視窗顯示
"Failed to recompile android resource files"
Console Log則顯示
Failed to compile resources with the following parameters: -bootclasspath
(後面接的是Android SDK路徑)
Unity版本:2017.1.2f1
Unity IAP插件版本:最新。
SDK:我原本以為是SDK太新,試著移除API 27,退回到API 25,但狀況並沒有改變。
NDK:試著更新到最新,沒什麼改變。
最後終於找到關鍵:JDK,
從JDK 9 退回到 JDK 8,問題就解決了。
(我是選擇安裝JDK 8u152)
2017年8月25日 星期五
2015年1月6日 星期二
[Unity] NGUI於Android閃退的Bug修正方式
最近將Unity做的遊戲發佈在Android上時,遇到一個狀況:
開關NGUI物件時,App閃退,
並且此狀況只發生於特定幾台Android手機,
於Unity Editor或Web Player則不會發生。
研究了許久,終於爬文爬到,
是舊版NGUI插件有個Android相關的Bug!(※我用的版本是3.6.4b)
寫在<UIDrawCall>400行附近的一個判斷式,
#if !UNITY_4_3 || !UNITY_ANDROID
可以發現這邊邏輯有矛盾,導致它在Android上也會執行,
應該改成
#if !UNITY_ANDROID
如此就可以解決開關NGUI物件時閃退的問題了。
2014年6月12日 星期四
C#元件分享 - 事件處理器EventSender
此元件作者為我的好友 - 華仔(聖淨之風),
他為了讓更多人能使用這個簡潔方便的事件處理器,就由我在此跟大家分享囉!
使用方式很簡單,只要將這兩個元件檔案<EventSender.cs>和<EventSenderT.cs>
放在Unity專案下即可,不必掛到場景物件上。
亦可使用在Unity以外的C#專案中。
2014年5月16日 星期五
[Unity] NGUI改變UILabel文字顏色、字體的語法
當SOHO族真的挺適合我,
在家工作累了可以隨時出去散步、甚至小睡片刻,
效率比在公司上班高出不少,身心也更健康呢。
最近都在忙著研究技術、或是幫人做東西,
雖然沒時間做我自己的無限技域,
但這段期間開發的元件、獲得的技術,之後都會對無限技域有幫助的。
例如最近試出來,原來NGUI不僅能在Label中改變部分文字的色碼,
亦可改變粗斜體、底線或刪除線、上下標等等,真是太方便了!
(要在NGUI的UILabel當中勾BBCode或Encoding才有效)
※2014/06/16 補充:
若要使用超連結,必須在<UILabel>所在的物件上,
額外綁上<OpenURLOnClick>及Box Collider(必須勾Is Trigger)才會有效,
建議勾選<UILabel>上的auto-just to match,自動調整Box Collider至適當大小位置。
字體記得要改為系統字Arial,才能顯示英文以外的文字
語法如下,大家可以自己試試看:
[00FF00]改變色碼[-]
[b]粗體[/b][i]斜體[/i][u]下底線[/u][s]刪除線[/s]
[sub]下標[/sub][sup]上標[/sup][00FF00][b][i][u]綜合[/b][/i][/u][-]
[url=http://www.google.com/]超連結必須搭配<OpenURLOnClick>及Box Collider[/url]
2013年12月30日 星期一
[Unity] GUI的使用要小心
在2013年快結束之時,我發現一個很慘的事實,
那就是我開發的遊戲《無限技域》最近越來越吃電腦效能,
有時甚至只是存個檔就當掉了,
研究之後才發現可能是GUI(圖形介面)惹的禍。
※補充說明:Unity內建的OnGUI函式,即使函式內是空的也很吃效能,
而且如果在同一場景內使用多個OnGUI,使用的Draw Call也會倍增。
這下可慘了,我為了圖美觀方便,很多功能都是用GUI寫的,
全部重做將會是項大工程哪!只能壯士斷腕了。
不過也幸好及時發現,不然原本還想將某些功能改用GUI做呢。
上網查了一下,知名的NGUI插件標榜著幾大優點:
- 所見即所得,不必按Play就能看到結果(其實OnGUI也辦得到)。
- 不需要寫Code也能直接在面板上調整。
- 多個UI只佔一個Draw Call。
看到這行,我就決定買來用用看了,
只是剛好錯過之前的25%特價,現在要95美金T_T
(※感謝網友Sean Mars指正,Unity 4.3版並沒有內建NGUI,想用的話仍需另外購買)
新年新氣象,祝大家2014新年快樂!
2013年1月9日 星期三
[Unity] 簡單瞭解「Collision碰撞」與「Trigger觸發」
Unity是套非常好用的遊戲開發引擎,並且有提供免費版本給一般使用者,
內建的物理系統讓使用者不需寫長長的程式碼,
就能夠迅速設定好所有物件之間的碰撞關係,
做出讓角色走不過去的牆、或是可以射穿牆壁的子彈等等。
不過它的設定相當細,若是分不清其中差異,很容易就會陷入鬼打牆的窘境。
幸好這是個資訊發達的時代,網路上總有熱心人士分享資訊──
2012年11月5日 星期一
[Unity] 流程:安裝插件(以PlayMaker為例)
最近在安裝Unity插件時遇到一些錯誤,
網路上也沒有中文的相關資訊,
所以找到解法之後就做個筆記,跟大家分享一下。
1.【事前準備】
每一個專案,在最初建立時就只能用半形英數命名,存放路徑也一樣只能用半形英數。
之後不可再更改資料夾或執行檔(.unity)名稱,否則專案內容會錯亂。
也不建議使用特殊符號。
正確的例子:C:\abc123\DemoGame
錯誤的例子:C:\我的遊戲\試作遊戲_v1.000
如果要區分版本,建議做成壓縮檔再改檔名。
例:DemoGame_v1.000(解壓密碼123).rar
※為了避免電腦病毒損毀檔案,我會在壓縮時設一個很簡單的密碼,並註記在檔名上。
2.【開啟專案】
先執行Unity,然後File → Open Scene,開啟你要安裝插件的專案場景,
例:DemoGame.unity
※Unity執行時,預設會是你上次開啟的專案,而不管你這次是從哪個專案去執行Unity,
所以若省略這個步驟,有可能會把插件安裝到錯的專案去。
3.【安裝插件】
先把插件的安裝檔複製到專案的Assets資料夾底下,
例:C:\DemoGame\Assets
然後在Unity中點擊File → Open Scene,執行剛才的插件安裝檔,
例:Playmaker 1.3.2.unitypackage
(※你也可以在Windows中直接執行插件安裝檔,但有時會安裝失敗)
4.安裝好之後,以PlayMaker為例,
Unity上方的功能列應該會出現一個PlayMaker的按鈕,
那就表示插件已在此專案安裝成功了。
若畫面上出現Failed to load的小視窗,
那只是代表之前你曾經安裝過的某個插件,尚無法在目前的專案運作,
不用擔心,可以把它拖曳出來按X關掉,
然後點擊剛才PlayMaker的功能按鈕 → PlayMaker FSM Editor,
即可呼叫出編輯器了。
2012年4月7日 星期六
[限時][Unity] 遊戲引擎序號,4/8前免費申請!
訂閱:
文章 (Atom)



