標籤:指令碼 漸層 燈光 self cto 規則 class 使用外部 外觀
1、SceneKit簡介
SceneKit(SK)是WWDC12推出的OS X平台的Cocos 3D渲染引擎架構。支援粒子效果,物理類比,指令碼事件,多程渲染,支援iOS平台。SceneKit整合了Core Image,Core Animation之類的圖形架構,現在還整合進了SpriteKit。SceneKit是基於OpenGL構建的。
2、相關類說明
3、ModellO.h
基於I/O架構的橋樑,就是通過ModelIO給相關類(SCNScene、SCNLight、SCNCamera、SCNGeometry、SCNMaterial等)添加類別。
4、SceneKit.h
所有和SceneKit庫相關的類的標頭檔。
5、SceneKitTypes.h
在SceneKit中使用到的各種類型(如枚舉值、結構體)。還有一個NSValue的類別,在給節點SCNNode做動畫時可以用:
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"rotation"]; animation.duration = 10.0; animation.toValue = [NSValue valueWithSCNVector4:SCNVector4Make(0, 1, 0, 2*M_PI)]; animation.repeatCount = MAXFLOAT; [self.node addAnimation:animation forKey:@"node"];
6、SCNAction.h
主要負責節點SCNNode的屬性,實現node的漸層、移動、出現、消失、實現動畫等。
7、SCNAnimation.h
建立以預定方式移動情境元素的聲明性動畫(設定動畫時間、路徑、速率等),或管理使用外部創作工具匯入的動畫(通過URL:animationWithContentsOfURL實現動畫)。
8、SCNAudioSource.h
用於添加聲音,簡單可重複使用的音頻源。
9、SCNBoundingVolume.h
使用這個協議來擷取或者判斷節點和幾何體的邊界框,只有三個方法。
10、SCNCAAnimationExtensions.h
遵循SCNAnimation協議,給CAAnimation添加類別,擷取動畫相關資訊。
11、SCNCamera.h
被稱為照相機或者攝像機,可以附加到節點以提供顯示情境的角度。其實就是使用者視角和人的眼睛一樣。
12、SCNCameraController.h
SCNCameraController是攝像機(SCNCamera)的操作類。
13、SCNConstraint.h
SCN約束是一個抽象類別,它表示可以應用於節點的單個約束,根據指定的規則自動調整節點的位置或方向。
14、SCNGeometry.h
負責呈現3D 模型的類,它管理者物體的形狀、紋理等。
15、SCNHitTest.h
有關搜尋位於指定點或指定線段(或光線)的情境元素的結果的詳細資料(如節點、座標等)。
16、SCNJavascript.h
在指定的JavaScript上下文中匯出ScEnKIT的符號(常量和類定義)。(用於macos系統)
17、SCNLevelOfDetail.h
SCNLevelOfDetail代表模型的細節層次,比如擷取SCNGeometry屬性等。
18、SCNLight.h
用於添加光源,串連到一個節點照亮現場,可以給情境添加不同的燈光,類比逼真的環境。
19、SCNMaterial.h
用於設定模型的外觀屬性。
20、SCNMaterialProperty.h
用於設定模型的各種特性,比如材質的紋理和顏色等。
21、SCNMorpher.h
管理節點基於模型與一個或者多個目標模型之間平滑過渡,也就是控制幾何圖形的變形。
22、SCNNode.h
情境圖的結構元素,表示3D座標空間中的位置和變換,您可以將模型,燈光,相機或其他可顯示內容附加到該元素。
23、SCNParametricGeometry.h
用於擷取模型的相關資訊。
24、SCNParticleSystem.h
使用您指定的一般行為的進階模擬,管理動畫和渲染小映像精靈或粒子的系統。(用於macos(10.10))
25、SCNPhysicsBehavior.h
SCNPhysicsBehavior是一個抽象的類,它代表了物理世界中的一種行為。(用於macos(10.10))
26、SCNPhysicsBody.h
SCNPhysicsBody類描述了節點的物理特性(如品質、摩擦等)。(用於macos(10.10))
27、SCNPhysicsContact.h
SCNPhysicsContact類包含有關物理接觸的資訊(節點等)。(用於macos(10.10))
28、SCNPhysicsField.h
SCNPhysicsField類是描述在物理世界中應用的力場的抽象類別。(用於macos(10.10))
29、SCNPhysicsShape.h
SCNPhysicsShape代表一個物理體的形狀,(用於macos(10.10))
30、SCNPhysicsWorld.h
SCNPhysicsWorld類描述並允許控制3D情境的物理類比。SCNPhysicsWorld類不應該直接分配,而是使用物理世界屬性從SCNScene類檢索。
31、SCNReferenceNode.h
一個情境圖節點,用作要從單獨的情境檔案載入的內容的預留位置。
32、SCNRenderer.h
用於在現有的Metal工作流程或OpenGL上下文中顯示SceneKit情境的渲染器。
33、SCNScene.h
SCNScene是呈現出來的情境,一個具有附加的幾何圖形,燈光,相機和其他屬性的節點層次,這些屬性一起形成一個可顯示的3D情境。
34、SCNSceneRenderer.h
SCNView,SCNLayer和SCNRenderer類通用的方法和屬性。
35、SCNSceneSource.h
管理與從檔案或資料載入情境內容相關的資料讀取任務。
36、SCNShadable.h
使用Metal或OpenGL著色器程式自訂SceneKit渲染幾何和材質的方法。
37、SCNSkinner.h
管理骨骼動畫與其動畫的節點和幾何之間的關係的對象。
38、SCNTechnique.h
增加或後處理SceneKit渲染情境的規範,使用額外的繪圖通過定製的Metal或OpenGL著色器。
39、SCNTransaction.h
SceneKit動畫基於Core Animation 架構,可以隱式或顯式建立。
隱式建立是實際是通過動畫節點的一些動畫屬性來實現:SceneKit自動在run loop一次運行期間對一個情境包含節點屬性的所有改變組合成一個原子操作,稱為一個事務,由SCNTransaction 類表示;當設定SCNTransaction類的動畫周期不為0時,所有對節點動畫屬性的改變自動執行動畫。
顯式建立動畫時,可以選擇CAAnimation一種類型的子類來建立特定類型的動畫。
40、SCNView.h
SCNView用於顯示SceneKit的3D內容,在iOS系統上是UIView的子類,因此可以把SCNView類添加到UIView上。
iOS之SceneKit.h檔案簡介