發表文章

目前顯示的是有「第5章 Mobile Platform」標籤的文章
Related Posts Plugin for WordPress, Blogger...

5-28 Finishing Mobile Platform Conversion

圖片
第五章大致上告一個段落了!放個Demo影片記錄下目前的進度吧。 前四章的開發以PC遊戲的操作方式為主,本章完成了行動平台的轉換,包含介面的更動,滑鼠點擊改成Touch事件,為了適應行動平台進行了優化,還稍微分支出去講了背包系統。基本上該改的應該都改了,除了Android/iOS Plugin的部分沒講到,但目前我的遊戲還暫時用不到Native的元件。另外還有行動平台重視的AssetsBundle以及代碼的熱更新,然後優化的部分也還有很多內容。 嗯....沒關係,AssetsBundle我就規劃到下一章吧,因為接下來想講網路的部分,就當作是線上更新的功能規劃到下一章!優化的內容也有一個標籤,以後有更多的優化就會放在這裡: https://3dactionrpg.blogspot.tw/search/label/Unity%20%E6%95%88%E8%83%BD%E5%84%AA%E5%8C%96 還有很多想寫的功能,不過不要許諾太多東西比較好。

5-27 Using Unity Cache Server And Building to Android

圖片
本章要來介紹部署到Android端的方法,輸出Android的APK檔案不需要像iOS一樣那麼麻煩,不需要先建立一個專案就可以直接輸出APK檔案,簽章的部分也很方便。再講輸出之前,先跟大家介紹一個好東西-Cache Server。 由於我們會常常需要切換多個平台進行測試,就很容易遇到切換的時候,Unity必須將相關資源重新匯入,如Unity官方所說: Unity has a completely automatic Asset pipeline. Whenever a source Asset like a .psd or an .fbx file is modified, Unity detects the change and automatically re-imports it. The imported data from the file is subsequently stored by Unity in an internal format.This arrangement is designed to make the workflow as efficient and flexible as possible for an individual user. Furthermore, Assets must be reimported when you switch between desktop and mobile build target platforms. The switch can therefore take a long time for large projects. 簡言之,Unity會以他們的內部格式來儲存資源,不管是音訊、影片、3D模型等等,只要有修改就會自動重新Import,切換平台的時候也必須要重新Import。若使用Cache Server的話,就會自動緩存前一個平台的資源,切換的時候會從Cache Server上下載。 如果是單獨開發,可以將Cache Server建立在local,如果是團隊開發,可以買一台Server來建立,下載Unity提供的Server端即可,Server的作業系統建議選擇Linux/MacOS,Windows則容易因為檔案被Lock的問題產生不可預期的錯誤。更詳細的說明可以...

5-26 Building Game To An iOS AdHoc

圖片
本章要來介紹怎麼把遊戲發佈到iOS AdHoc,AdHoc模式可讓我指定的iOS裝置安裝App進行測試,安裝方法則是將AdHoc版本的ipa檔案上傳到網路空間,供測試者下載。另外,如果是想要建立Distribution版本,亦或是單純想Debug的話,接下來講解的步驟都大同小異,僅在某些細節處有點不一樣而已,所以也可以參考看看下列的步驟唷! 首先,紀錄我目前Build的環境: Macbook Pro 2016 (OS X 10.12.6) Xcode 9.2 Unity 2017.2.0f3 Personal iPhone 6 (11.2.6) 由於Unity產生的專案無法使用模擬器測試,麻煩大家也要準備可供測試的iPhone或iPad嘍!另外提供Unity的官方教學網址,也可以看看這個教學: https://unity3d.com/learn/tutorials/topics/mobile-touch/building-your-unity-game-ios-device-testing 以及Unity官方提供的iOS故障排除教學,過程中有遇到什麼障礙也許能在這邊找到答案: https://docs.unity3d.com/Manual/TroubleShootingIPhone.html 首先,在Unity選擇File/Build Settings。 在Build Settings選擇要建立的場景,確定Platform選擇iOS,然後按下Player Settings。 Bundle Identifier輸入自己的遊戲的ID。因為本篇文章不會從頭講解整個iOS App輸出的架構,包含帳號申請、購買、建立App ID跟Provisioning Profile的流程等等,如果不知道的話,請先參考網路上的其他教學唷。另外,前面的Unity官方教學中有教怎麼用免費的Apple帳號進行測試! 請確認Bundle Identifier與App ID是否一致。 接著建立Provisioning Profile,雖然我的Type選擇iOS Distribution,但是後面XCode進行Archive的時候,可以再選擇要AdHoc還是要Distribution,是可以共用的,但這是為了方便。 ...

5-25 Using Weapon Grip Position Based On Individual

圖片
本章要來修改武器設定中的Grip Tranform功能,大家還記得在以前的章節中,我們是將Grip Tranform綁定在Weapon的Scriptable Object上。但因為目前遊戲的武器系統要朝向讓每個敵人都可以撿起不同的武器,同理玩家也可以使用所有敵人手中的武器。此時,便產生原本給龐大敵人使用的武器,拿到玩家手中也變得非常龐大。 握住武器的方向,位置也都與玩家角色有偏差。這是因為該Grip Tranform是以龐大敵人角色來設計的,而非以玩家角色來設計。本章就要將Grip Tranform改到每個角色的Weapon System上,如此不同的武器給不同人使用時,便能套用正確的Grip Tranform。 如有人對Grip Position的設計不了解,可先參考以前的文章唷! 2-25 Introducing Scriptable Objects https://rpgcorecombat.blogspot.tw/2017/12/2-25-introducing-scriptable-objects.html 首先, 如下圖為原本的Weapon Config中,其Grip Tranform設定是給Berserker使用的,玩家套用上去當然會產生上述的滑稽現象。 第一步,我們必須確保武器套用角色的Grip Transform時,武器的方向跟大小都必須正確,所以3D模型必須要統一規格。如下圖這兩把劍的Rotation雖設為0但方向卻不一樣,由於我有很多素材都是從Asset Store下載的,這種問題特別多。 所以我想到一個快速的解決方法,不需要使用3D建模工具調整模型。首先我們在場景中建立一個Empty GameObject。 然後把原本的物件Longsword放進去,並將原本的Empty GameObject也取名為Long Sword。 將Long Sword的Position,Rotation都設為0,Scale設為1。 然後大家會發現劍的位置並不對,這時就要請大家調整Longsword,也就是劍的主體。 將Longsword調整到可以與另外一把劍重合,藉此來統一規格。 接著,原本的Longsword的Prefab物件就將他刪掉吧。 大家會發現原本場景中的Longsword...