iPhone Cocos3D 簡介說明

2021-06-09 06:33:15 字數 2074 閱讀 3609

介紹:

cocos3d框架是ios平台高度提煉的3d應用開發框架。

cocos3d是cocos2d的擴充套件集,cocos2d深入人心,廣泛使用在ios 2d遊戲開發中。

因此此文章適用於有一定cocos2d開發基礎的開發者。

幾個重要的概念介紹:

既然是3d遊戲,必然存在x,y,z軸,z代表檢視中深淺,即與玩家眼前的距離遠近。

重要類介紹:

cc3layer

cc3layer是兩個最重要的類之一。它實現了cc3world與2d世界的巧妙聯絡。

cc3layer屬於cocos2d中的cclayer的比較特殊的乙個子類,也正是因此,cc3layer與cocos2d中的cclayer可以無縫切換,允許cclayer(即乙個2d平面的總管)的子部件,比如ccnode,controls,label與3d部件互相互動,允許2d部件在cc3layer的上方,下方底部,旁邊兒共同存在檢視中。

cc3layer可以隨處放在cocos2d程式中。我說以上部分的目的,大部分是為了3d遊戲的2d選單,2d控制手柄,等部件可以與3d遊戲介面共存。這些並不衝突。

使用過程中,當你使用cc3layer的子類,請過載以下方法:

initializecontrols – 這個方法就是你新增2d物體的入口。請在這裡新增。cc3layer開始初始化的時候,會自動觸發這個函式,你甭擔心**不會執行到這裡。

cc3world

明眼人都看出來了,第二個最關鍵的類,便是它。

所有3d物件的渲染,創造,委託,位置等等都在這裡處理。

同樣cc3world也有這兩個函式需要過載實現。

initializeworld –這裡3d模型開始初始化,植入的**。可以直接用函式,類物件來生成,也可以直接匯入pod檔案。cc3world就像樹一樣,可以在上面放滿child,即所有的cc3node想新增進去,直接呼叫addchild:method。

update: – 這個函式,也差不多啦。大致就是更新移動3d物件位置,處理物體更新。

以下非必須過載的方法,但是也非常常用:

addchild: –與cocos2d一樣,新增child到3d世界。

addcontentfrompodresourcefile: & addcontentfrompodfile: 顧名思義,匯入3d資源檔案,此方法比較實用。

getnodenamed: –返回child的標記的名字。

activecamera –此方法用處不是特別多,大部分在有多個camera鏡頭的時候,開啟。大多數是場景對話,切換兩個不同的鏡頭。

ambientlight – 周圍的燈源,這個有區別與當作child node新增進去的燈。

cc3node

3d世界裡,所有的模型,攝像頭,光線,甚至cc3world都是nodes。cc3node顯然是萬物之源啦。什麼移動,旋轉,隱藏,等等操作,都是這裡來的。具體的,慢慢參考api文件吧。

cc3camera & cc3light

這兩個是比較特別的,是繼承自cc3targettingnode,顧名思義,用來跟蹤node移動的。說白了,就是攝相機視角。所以這個也可以旋轉,移動,切換視角。

ccactions

注意,這裡基本跟cocos2d方法一致。可以實現控制著色,陰影,扭曲,旋轉,絕大部分操作。

儘管如此,依然有cc3transform來實現部分3d世界才有的效果。

automatic frustum culling and bounding volumes

3d世界裡,你看到的,只是片面的攝像頭一角。所以有大量的3d物件,你沒必要去渲染,浪費資源。

所以frustum culling就是用來從渲染管道裡,把不在視角之內的物體,去除掉。這是自動滴哦。

還有乙個ocllusion culling,就是這個物體的確在視角裡,但是,它被其他物體擋住了。它也不會被批准通過進入渲染管道。

blah …blah…blah….以上講了省記憶體,渲染順序,等等。

總之,他自動省事兒。你啥都不需要擔心。

以上都是概念。

安裝就自行看cocos3d的readme吧,裡面寫好了,要先安裝cocos2d模版,3d是覆蓋到原目錄的哦。

new乙個新的cocos3d的project,自己慢慢摸索吧。詳細說明請參考 

3D雷達簡介

三維雷達資料 我們可以使用二維影象進行 濾波 邊緣檢測 二值化 目標提取。我們可以在二維影象之上對距離進行分析,自然而然的引申到3d建模等。這是無人駕駛的案例,已經在路上跑的真真切切的例子。通過雷達資料對周圍障礙物進行檢測,通過三個影象感測器對周圍影象進行實時觀測。雷達用於檢測到物體,影象用於檢測物...

TV3D引擎簡介

工具型別 遊戲開發引擎 開發小組 truevision3d llc 最新發布版本 truevision3d 6.2 引擎介紹 支援的開發語言 支援visual basic 6.0 支援visual c 6.0 支援delphi 6 7 8 支援visual studio net c visual b...

Converse3D引擎簡介

converse3d引擎簡介 該部分是整個虛擬實境系統的核心部分,採用 directx 和c 編寫,強大而穩定。包括場景節點管理 資源管理 角色動畫 mesh 物體生成 3dsmax 資料匯出模組 粒子系統 lod 地形 使用者介面 gui 伺服器等模組。各模組之間結合緊湊,使整個引擎效能高效而穩定...