Unity3D遊戲UI開發經驗談

2022-03-24 13:46:41 字數 2040 閱讀 3705

在unity專場上,108km創始人梁偉國發表了《unity3d遊戲ui開發經驗談》主題演講。他以公司團隊為案例,從流程方面介紹了從ui製作、設計到程式設計,並展示了ui布局和美術製作框圖。他強調做技術產品一定要考慮開發和研發的區別。

108km創始人 梁偉國

以下是文字實錄:

首先跟大家簡單介紹一下ui展示終端。最直觀的是螢幕不一樣,拿iphone4、iphone4s、iphone5就代表了三個不同的螢幕,ipad1和ipad2也是兩種不同的螢幕。跨平台第一直觀就是多解析度。

今天跟大家分享的是從ui製作、設計到程式設計。從設計角度開始,首先我們會考慮應該怎麼做,怎樣使成本降低。

ui設計三大原則

它大部分的功能都是通過居中的對話方塊來實現。因為要考慮到多解析度,就得考慮ui的背景。如果用居中,ui的背景可以選擇是否使用3d背景。大家如果玩過這個遊戲,他們居中就是這個區域。

第二個原則九宮格浮動布局,這種情況下我們做了ui後就是為了在不同的解析度上,這種九宮格的布局使用功能按鈕、圖表、血條等。這種浮動設計是任憑螢幕變化多大,都始終保持相對合理的位置。

第三個原則自適應尺寸,剛才兩種布局是不能完全解決我們的需求,對話方塊按鈕就是要根據螢幕拉伸。順便提一下,unity並沒有區別iphone、android,全部都是自適應尺寸。

ui美術製作

上面三種方式就是ui的原則。設計的思路定下來後,就要開始美術製作,現在分享一下我做的美術框圖。美術製作由草圖再變成乙個框圖,我們遊戲的框圖用了ai,我可以告訴大家用ai更簡單,好處更多。因為它很容易上手,任何乙個策劃用一天時間就能掌握基本操作。

下一步就是匯出ui效果圖,以前搞房地產、建築之前,房子還沒有蓋,就找人噴一些效果圖,讓大家有直觀的感覺,知道房子做出來是怎樣,美術也是一樣,當把ai畫出來後,都有乙個效果圖,效果圖出來後有很大意義。我們要求每乙個ui頁面匯出效果圖,存放到unity專案資料夾,這是我們團隊的規範,必須要儲存到規定的資料夾裡。

ui程式的實現

乙個遊戲的一線員工主要是策劃、美術、程式三種工種組成,剛才的流程裡為何要有草圖和效果圖,原因是草圖是策劃和美術之間溝通,之後用程式與美術用效果圖溝通,讓程式在unity在程式中擺放。我們定了這個流程是減少策劃、美術、程式之間的溝通成本,策劃把草圖交給美術,美術跟草圖溝通好,然後程式跟美術就不會有什麼糾紛。關於匯出產品圖,ui分了四種分類,普通切片、九宮格切片和填充整個區域的切片。

最後一項是講程式,程式設計師拿到成品匯出後,按照我們團隊,就由程式設計師去擺放。我們程式設計師跟我們講希望美術擺好再給他,但嘗試過之後更麻煩。之後匯出ui效果圖,分層次、分組,用00_、 01_、02_序列號命名,這樣會看得比較舒服,雖然這時命名多花一點時間,但是以後能節省很多任務夫。接下來很重要的是程式放在**。整個ui物件有時比場景還多,要是自己寫的程式把一段程式放在其中乙個物件裡,這時專案交給另乙個人,他根本就不知道在**。我們專門用乙個物件控制選單的主邏輯,就把選單 主邏輯綁到他身上。有時候有一些ui迫不得已還是需要那種單獨把乙個**繫結在乙個特定的ui物件。關於ui的布局擺放,只能靠場景組合來擺。

ui自動縮放

關於ui自動縮放程式,在這種情況下我們要設計乙個ui自動縮放,我們是以iphone4為基準,iphone4是最中間的比例,變成ipad就會豎向拉長,iphone5就橫向拉長,實踐之後效果不好,我們就按照iphone4的長寬比來做。我們的對話方塊主要是以ipad的框來做,經過程式進行縮放按照比例,保證在iphone4、iphone5裡都看得很束縛。

創業團隊只需開發

關於效能問題,就是耗記憶體。如果確實佔很大記憶體,可以使用動態載入、動態銷毀。將獨立的ui對話方塊製作成prefab。我作為過來人,大家做技術產品一定要考慮開發和研發的區別,特別是創業,研發是沒有時間保障,開發是有明確的時間及產量保證,我們要做乙個產品,產品用多少時間做是要有明確的。在北京,很多同行、團隊用18個月、22個月開發乙個開品,他們就是沒有搞清楚開發和研發的區別。我們團隊就是不太願意要技術員研發很多時間,雖然很有幫助。但是考慮時間,目前的準則,做一款新產品研發的比例在30%以下,這樣就保證了70%的工作是有時間保證。

Unity3D遊戲開發

入門級unity安裝教程 一 unity五大面板 unity3d的介紹 1 介面 選單 面板 元件 unity5.x 編輯器介紹 unity開啟篇 一 滑鼠右鍵 wsadeq前後左右上下移動 shift加速移動 滑鼠右鍵旋轉檢視 滑鼠中鍵移動檢視 alt 右鍵縮放 alt 左鍵旋轉物體視角 q移動場...

Unity3D遊戲開發初探

1 如何在遊戲指令碼程式中建立物件而不是一開始就建立好物件?使用gameobject的靜態方法 createprimitive view code 其中在createcube方法中,使用gameobject.createprimitive方法來建立cube型別的遊戲物件例項,設定了它出現的座標並為它...

Unity 3D遊戲開發導學

策劃 美工軟體工程師 測試工程師 客服等.unity是一款遊戲引擎 遊戲引擎 一款遊戲最最最核心的 程式框架。包含以下系統 渲染引擎,物理引擎,碰撞檢測系統,音效,指令碼引擎,動畫系統,人工智慧,網路引擎,以及場景管理。使用遊戲引擎,開發者可以重用已有的核心技術,將精力集中在遊戲邏輯和設計上,從而簡...