• <nav id="yisao"><rt id="yisao"></rt></nav>
  • Cocos技術派|3D小游戲《快上車》技術分享

    7月初,Cocos Creator 3D 發布了第一個公測版本,超過千名開發者報名參與公測。為了高效收集測試反饋,集中精力進行產品的迭代和優化,快速推動產品達到功能全面并相對穩定的狀態,第一個版本只發放了少量測試資格。經過近2個月的公測,Cocos Creator 3D 取得了飛速的進展,并在8月31日開啟了全面公測。

    在此,向所有參與公測的開發者以及合作立項的重要合作伙伴表示衷心的感謝。Cocos Creator 3D 正式版將在不久與大家見面,敬請期待!

    截止目前,已經有不少開發者使用 Cocos Creator 3D 制作出了自己的 3D 游戲,《快上車3D》便是其中之一。

    游戲介紹

    《快上車3D》是采用 Cocos Creator 3D 測試版本開發的一款超級刺激的 3D 休閑小游戲。玩家在游戲中扮演一位快車師傅,控制小車在各種道路上進行移動,接送乘客安全到達目的地,即可過關并獲得金幣獎勵。

    游戲操作很簡單,按住屏幕即可控制小車移動,長按為加速,松開屏幕可以減速。在控制小車行動的過程中,需要時刻注意來往的車輛,及時增減車速,以免發生碰撞車禍,導致任務失敗。

    游戲采用闖關制度,每一個關卡都有不同的訂單任務,隨著關卡的深入,游戲難度會逐步增加。此外,游戲設置了汽車皮膚系統,使用金幣可解鎖更多車型和皮膚。

    技術分享

    《快上車3D》開發團隊接受了 Cocos 技術派的專訪,并大方分享了這款 3D 小游戲的制作故事和 Cocos Creator 3D 開發經驗及使用技巧,一起來了解看看吧!

    受訪者:《快上車3D》團隊

    編輯整理:C姐

    01《快上車3D》使用的測試版本是?

    線上版本使用的是 Cocos Creator 3D 1.0.0-beta5 版本,當時還沒有地圖編輯器,因此我們的關卡地圖都是自己來實現的,也沒有圖集合并和壓縮功能,導致我們的包體比較大,據說 Cocos Creator 3D 新版本已經有這些功能,我們也正在接入新版本的引擎。

    02 3D場景地圖和關卡編輯方式?

    關卡編輯,我們修改了多次方案。最初的想法是一個場景對應一個關卡,然后關卡編輯人員直接通過 Cocos Creator 3D 進行關卡編輯,直接運行便可看到效果。

    考慮到游戲中有太多的公用元素,如燈光,UI,以及車輛管理等公用節點,我們將地圖修改為一個個 Prefab,然后使用通用場景,啟動時直接實例化該地圖預制體。

    后續發現隨著關卡復雜度的提升,直接使用預制體,包體將大幅度增大,因為 Prefab 會記錄大量的節點關系及地圖所不需要的信息。

    于是,我們決定增加一個地圖導出功能,把原有的 Prefab 下的信息進行解析,解析出有幾棟房子,幾棵樹,幾條路,然后分別用的是哪些模型,以及對應的坐標、旋轉、縮放等信息進行記錄,并將這些信息進行壓縮,最后持久化自定義格式的文件中,然后再加載地圖時根據動態去創建地圖元素。

    這樣的實現方式,讓關卡編輯人員可視化編輯的同時,又不用額外開發關卡編輯器,也解決了包大小的問題。

    03 小車移動跟隨的陰影是貼圖嗎?

    車輛移動過程中的陰影是實時計算的,可在 Scene 節點 planarShadows 組件上配置開啟,但目前陰影只能投到某個平面上,平面的位置通過 Normal 進行配置:

    開啟陰影支持外,還需要對哪些物體擁有陰影進行設置,即在模型的 ModelComponent 組件下將 ShadowCastingMode 設為 ON,便會有陰影效果。

    需要注意的是,目前引擎在一個場景里只支持一個平行光,多個平行光將會沒有效果,如果要補光可能要采用其它方式。

    04 拖尾效果如何制作?

    首先,創建新的粒子系統,調整對應的粒子參數,如圖:

    選擇 TrailMaterial 一欄,拖入對應的材質:

    雙擊進入材質編輯,調整對應的材質模式和貼圖效果,拖入對應的貼圖文件,參數如下:

    最后記得保存效果,拖動粒子效果,瀏覽效果。

    05 汽車尾氣的特效怎么制作的?

    首先,新建默認的一個粒子系統,調整對應參數,比如粒子的數量、初始速度、粒子大小尺寸、結束時間。其中最重要的一個選項是圖中紅框的內容,將模式改為 word,這個模式使整個粒子的拖尾效果會變得符合現實中的運動規律:

    發射器選擇的是 BOX,具體參數如下圖:

    接著,粒子材質選擇放在了 ParticleMaterial 這一欄:

    雙擊材質,進入材質編輯器,選擇對應的材質和貼圖模式,如圖:

    貼圖資源根據自己想要的效果去找對應的貼圖文件,到這一步尾氣效果基本就出來了,記得保存哦。

    06 汽車的3D展示怎么制作?

    相對于 2D 游戲來說,3D 能夠展現出汽車更多的細節,讓玩家更想盡快獲得這些車,在一定程度上,提升玩家的游戲動力。

    為了能讓模型在 UI 上展示,需要給模型的節點上(即掛載著 cc.ModelComponent 組件的節點)添加 cc.UIModelComponent:

    同時要更改車的材質,將材質的 Effect 修改為 builtin-unlit,這樣車輛展示在 UI 上面就不需要受到燈光的影響。

    為了實現車輛旋轉,可以先將車輛掛到某個空節點下面,空節點先調整好一個展示角度:

    之后,只需修改自身的歐拉角 y 值,便可實現車輛圍繞某個視角進行旋轉。

    07 如何更好地表現出“撞車”效果呢?

    為了讓撞車時有比較好的表現效果,我們使用了引擎提供的物理引擎:cannon.js,能夠擁有比較好的翻轉及撞擊感,但出于性能上的考量以及游戲自身情況,我們對剛體進行了分組,分成了玩家控制車輛、AI控制車輛、地面等三組,默認情況下,玩家控制的車輛只跟 AI 控制車輛進行碰撞檢測,并且不開啟重力影響,只有當玩家車輛與 AI 車輛碰撞觸發時(即那一瞬間),玩家控制的車輛開啟重力影響,并且與所有元素開啟碰撞檢測,然后給車輛一股沖量,這樣既能實現物理特性,又能優化性能。

    08 UI 和編輯器體驗如何?

    Cocos Creator 3D 延續了 Cocos Creator 2D 的 UI 設計,學習成本比較低,2D 所擁有的各類布局神器,widget,layout 都有繼承過來,開發效率高,適配好,因此我們之前在 2D 的 UI 框架設計可以直接沿用過來。

    09 從工作流角度簡述游戲的開發過程?

    以關卡制作的開發過程為例,關卡制作是《快上車 3D》項目開發過程中比較重要的部分,所以這個流程我們做了比較細致的規劃:

    首先,由策劃規劃好大致會用到的地圖元素,如有多少種路面,多少種樹,多少種石頭等。

    然后,開始并行開發:

    • 美術開始開工,定好整體風格后,開始制作地圖元素
    • 程序同時開工,開發對關卡編輯的支持
    • 策劃開始規劃每一關卡的路線圖及 AI 車輛等

    最后開始組裝,由關卡編輯人員根據之前規劃的路線圖,使用美術提供的素材,在Cocos Creator 3D 中完成關卡的編輯,最后在游戲中運行起來。

    10 后續的迭代和立項計劃是?

    我們團隊一直立志于開發休閑小游戲,使用 Cocos Creator 開發的游戲已經有十多款,包括卡牌游戲《五子大作戰》、休閑游戲《夢幻甜品》《蟲蟲向前沖》《分手餐廳》等。

    之前開發的游戲都是使用 2D 或 2.5D,這次終于可以使用 Cocos Creator 3D 引擎提升游戲整體的效果。后續會進一步優化游戲,增加更多的場景、關卡、汽車,也會增加更多 3D 表現。

    有了這次的開發經驗,我們也會擴充開發的游戲類型,參與開發更多 3D 游戲。


    技術派,是 Cocos 全新推出的專欄,我們將不定期邀請優秀的游戲制作者,為廣大開發者分享來自真實項目的實用的開發技術和實戰經驗。如果您在使用 Cocos Creator 的過程中,獲得了獨到的開發心得、見解或是方法,并且樂于分享出來,幫助更多開發者解決技術問題,加速游戲開發效率,期待您與我們聯系!

    Cocos 技術派 |《野蠻人大作戰》H5項目從開發到上線

    Cocos 技術派|重度小游戲《三國封魔傳》技術實現方案

    Cocos 技術派 攝像機的靈活運用

    Cocos 技術派|實時競技小游戲技術實現分享

    微信創意小游戲橙皮書發布

    【報名通道】全球游戲開發者大會即將來襲

    Cocos海外開發者專訪:遺憾的是沒早點開始做游戲

    我的小游戲開發之路|騰訊TGideas周桂華(花叔)
    ?

    女人脱裤子让男生桶爽免费看,久青草无码视频在线播放,精品国产人成亚洲区,久久精品国产亚洲一区二区