CocosCreator組件cc.Camera用法分析


參考Cocos文檔與demo

第一人稱視角往往保持主角始終在屏幕中心

處理人物走動的時候,就需要保持人物的位置不變,而改變其他場景內相對移動的元素

通常是地形,地形上的建築/玩家以及其他子節點等等

這樣一來,人物移動的時候,每幀需要重新計算的矩陣很多(所有相對移動的元素)

而若使用camera組件,則可以僅僅移動人物和camera即可,這樣大大減小了需要重新計算的矩陣數

 

在cocos的demo里面可以看到

若不使用攝像機,移動全部相對運動的元素(9600個)的根節點

效率大致如下

使用了camera之后,這里僅僅移動camera節點,每幀耗時明顯下降(體現在Frame time和Game Logic)

 

camera的作用原理如下

當camera.active == true時

camera.Targets屬性中的節點以camera相對屬性進行渲染

若camera.active == false則其中的節點仍使用場景的默認camera進行渲染

camera.Targets以外的節點正常按照默認camera進行渲染

比如例子中,綠色球球的根節點在camera的target內

camera的移動只會影響綠色球球的渲染,不會影響按鈕UI的渲染

 

假設有人物和大地圖10000*10000

第一人稱視角只需要把人物和camera的坐標設置為(5000 , 0)就可以實現移動(camera的target中包含了人物與大地圖)

如圖

camera中的target包含了綠色球球的root和主角sheep

設置camera和sheep的position實現了主角和camera同時移動到底圖邊緣


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM