• <nav id="yisao"><rt id="yisao"></rt></nav>
  • Cocos 技術派 05 | Camera 攝像機詳解

    2019.2.25 技術干貨 by cocos

    往期技術派文章:

    技術派第 05 期,Cocos 邀請到了具有多年手游開發經驗的大掌教,他將為大家帶來關于攝像機技術的干貨分享。

    大掌教.jpg

    大掌教,從事游戲開發多年,精通 Cocos/Unity 等游戲引擎,精通安卓/iOS/H5等多種平臺開發,發表過多個開源項目和 100 多篇原創博文,經驗豐富,技術精湛。

    《Camera 攝像機詳解》

    大掌教

    前言

    Cocos Creator 從 v2.0 開始發生了巨大變化,其中最大的變化莫過于 Camera 組件了。為什么說最大的改變是 Camera 組件,因為這是一個全新的組件,將游戲世界的渲染窗口暴露出來,這也將是引擎從 2d 渲染轉向 3d 渲染的關鍵。

    Camera 是游戲渲染的窗口,場景里至少需要一個 Camera,否則將無法渲染任何對象,世界將是一片黑暗。

    要點:

    •  一個場景至少需要一個 Camera,可以同時存在多個 Camera
    • Camera 本身不可見,渲染大小就是當前屏幕大小
    • 同一場景多個 Camera 可以分組渲染,各自渲染各自的分組對象
    • 多個 Camera 渲染的對象層次,由 Camera 深度 Depth 決定,值越大越后面渲染。同一個 Camera 渲染的對象,按照節點本身層級渲染,子節點總是在父節點后渲染

    案例

    Camera 案例:無限視差滾動背景。

    Camera 組件屬性可參考【官方文檔】

    一、分組渲染

    Cocos Creator 編輯器在菜單`項目`->`項目設置`->`分組管理`中更改或添加分組,物理碰撞的分組管理也是這里設置的。

    要實現分組渲染,首先需要在場景添加多個 Camera,然后在“分組管理”添加多個分組,然后設置 Camera 的 cullingMask 屬性為對應的分組。

    1、創建 Camera 節點。先創建一個空節點,然后在這個節點上添加 Camera 組件。添加兩個 Camera 節點,FarCamera 和 NearCamera,用來分別渲染遠景和近景。

    node
    節點
    addcamera
    添加攝像機

    2、添加分組。在分組管理里面添加兩個分組,nearbg 和 farbg。

    addgroup
    添加分組

    3、場景中添加近景和遠景節點,分別設置 Group

    fargroup
    遠景
    neargroup
    近景

    4、設置 Camera 的 cullMask 為對應分組,FarCamera 設置為 farbg,NearCamera 設置為nearbg。

    farcamera
    遠景攝像機
    nearcamera
    近景攝像機

    到這里多攝像機和分組渲染設置完成了,運行模擬器可以看到界面。

    step1
    運行結果

    二、視差原理

    背景圖片固定不動,移動攝像機。因為我們看到的畫面都是攝像機渲染的畫面,渲染區域就是屏幕大小。由于運動的相對性,我們觀察的視角就是攝像機視角,和攝像機同步,背景圖片就相對向相反方向移動。

    crude
    原理一

    如圖,由于橫向不斷移動,所以要做兩個背景圖,不斷交替設置位置。

    crude2
    原理一

    同樣的原理,再設置一個近景,兩組 Camera 移動的速度設置的不一致,就實現了無限滾動視差背景。

    三、靜景

    有一些元素是不動的,比如太陽,月亮,掛在天上,如何實現?

    實現方式:新增分組 celestial,將 MainCamera 開啟,然后設置 cullingMask 為 celestial,添加一個 sun 節點,分組設為 celestial。

    最終效果:

    camera-demo
    效果預覽

    四、Demo源碼地址

    https://github.com/fylz1125/CreatorDocuments

    直播

    非常感謝大掌教帶來關于 Camera 的精彩分享,自 Cocos Creator v2.0 版本起,引擎新增了很多新特性,大掌教也將在后續帶來更多的干貨分享,歡迎關注!

    學習一個游戲引擎不是學習 API 的調用,而是要學習引擎的設計原理和應用方式,達到一通百通的境界。

    即日起每天晚上 21:00,大掌教將會在騰訊課堂直播講解 Creator 游戲開發技術與實戰經驗。 以 Cocos Creator v2.0.6 精心制作的《捕魚達人》為案例,闡述游戲引擎的設計原理和使用方法,深入淺出地講解 Creator 開發的各個環節,幾乎涵蓋 Creator 所有的功能模塊,歡迎感興趣的開發者關注。

    600

    課程適用于零基礎、想獨立開發手游的學員,通過學習這門課程,新手學員能夠快速入門 Cocos Creator 游戲開發,另外,講師還將不定期發布文檔和源碼。

    直播地址(21點開課噢):

    https://ke.qq.com/course/378768

    技術派,是 Cocos 全新推出的專欄,我們將不定期邀請知名的游戲制作者,為廣大開發者分享來自真實項目的實用的開發技術和實戰經驗。歡迎大家推薦想要學習的游戲產品和想要了解的技術知識,也誠邀有技術分享意愿的開發者聯系我們噢~

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