SCNScene : 3D場景
- 概念:
- 通俗說是游戲場景,游戲場景 主要是有幾何模型,燈光,相機,和其他的屬性組成,SCNScene 包含 3D場景,和場景中的內(nèi)容.
- 作用:
- 添加各種元素到場景,讀取場景文件,將場景寫入文件......
- 代碼:
- 創(chuàng)建工程
- 導入游戲框架
#import <SceneKit/SceneKit.h> - 創(chuàng)建游戲視圖
- 加載游戲文件
SCNView *scnView = [[SCNView alloc] initWithFrame:self.view.bounds];
scnView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:scnView];
SCNNode: 節(jié)點
-
概念:
- 在SCeneKit 中節(jié)點是一個抽象概念,節(jié)點是看不見摸不著的東西,沒有幾何形狀,但是有位置,及其自身坐標.在場景中創(chuàng)建一個節(jié)點后,就可以在這個節(jié)點上放游戲元素了.比如任務(wù)模型,燈光,攝像機等.節(jié)點上可以添加節(jié)點
-
和場景的區(qū)別:
- 場景 簡單說 就是把人物,地圖,道具等放到一個空間中,組成一個大的環(huán)境,這個大環(huán)境就叫場景.
-
節(jié)點 : 就是 場景中的一個可以放元素的地方.
4582cd3c-b847-473e-9971-2fbd11fc0206.jpg
-
項目實戰(zhàn):
- 創(chuàng)建工程
- 導入游戲框架
#import <SceneKit/SceneKit.h> - 創(chuàng)建游戲視圖
- 加載游戲視圖
SCNView *scnView = [[SCNView alloc] initWithFrame:self.view.bounds];
scnView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:scnView];
//2. 創(chuàng)建場景
SCNScene *scene = [SCNScene scene];
scnView.scene = scene;
5.創(chuàng)建節(jié)點 和 子節(jié)點.
// 創(chuàng)建一個 球體
SCNSphere *sphere = [SCNSphere sphereWithRadius:0.5];
sphere.firstMaterial.diffuse.contents = @"earth.jpg";
// 創(chuàng)建節(jié)點并把球體綁定 到節(jié)點上
SCNNode *earthNode = [SCNNode nodeWithGeometry:sphere];
[scene.rootNode addChildNode:earthNode];
// 創(chuàng)建 字體
SCNText *scntext = [SCNText textWithString:@"Lenovo" extrusionDepth:0.3];
scntext.font = [UIFont systemFontOfSize:0.3];
//將字體綁定到節(jié)點 上
SCNNode *textnode = [SCNNode nodeWithGeometry:scntext];
textnode.position = SCNVector3Make(-1, 0, -2);
// 添加earth 節(jié)點的子節(jié)點上
[earthNode addChildNode:textnode];
6. 效果:

6b19d58e-51cb-465c-abf3-2248fe01ef2d.png
