顯示具有 Unity 標籤的文章。 顯示所有文章
顯示具有 Unity 標籤的文章。 顯示所有文章

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日 星期五

Unity iOS Android App上架實戰心得──《麻雀點數計算乙女》


這份心得主要是用來分享,
我和夥伴使用Unity開發、上架App至雙平台的過程中,
在程式與專案管理上遇到的特殊狀況與解法。
至於基本的做法,
就請交給Google與翻譯機吧!



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前免費申請!


Unity是一款功能十分強大的遊戲開發引擎,

只要有了它,一般人也有可能實現做3D遊戲的夢想。

透過內建的功能,你可以在遊戲中創造各種3D物件來運用,

包括地形、物體、光源、音源、風向,以及視角的切換、物理運算等等。

想做出像「傳送門」那樣的大作嗎?你也可以辦到!