SceneKit 学习(1)--SCNScene,SCNNode

SCNScene : 3D场景

  1. 概念:
    1. 通俗说是游戏场景,游戏场景 主要是有几何模型,灯光,相机,和其他的属性组成,SCNScene 包含 3D场景,和场景中的内容.
  2. 作用:
    1. 添加各种元素到场景,读取场景文件,将场景写入文件......
  3. 代码:
    1. 创建工程
    2. 导入游戏框架
      #import
    3. 创建游戏视图
    4. 加载游戏文件
SCNView *scnView = [[SCNView alloc] initWithFrame:self.view.bounds];
scnView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:scnView];

SCNNode: 节点

  1. 概念:

    1. 在SCeneKit 中节点是一个抽象概念,节点是看不见摸不着的东西,没有几何形状,但是有位置,及其自身坐标.在场景中创建一个节点后,就可以在这个节点上放游戏元素了.比如任务模型,灯光,摄像机等.节点上可以添加节点
  2. 和场景的区别:

    1. 场景 简单说 就是把人物,地图,道具等放到一个空间中,组成一个大的环境,这个大环境就叫场景.
    2. 节点 : 就是 场景中的一个可以放元素的地方.


      4582cd3c-b847-473e-9971-2fbd11fc0206.jpg
  3. 项目实战:

    1. 创建工程
    2. 导入游戏框架
      #import
    3. 创建游戏视图
    4. 加载游戏视图
SCNView *scnView = [[SCNView alloc] initWithFrame:self.view.bounds];
scnView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:scnView];
//2. 创建场景
SCNScene *scene = [SCNScene scene];
scnView.scene = scene;
5.创建节点 和 子节点.
// 创建一个 球体
SCNSphere *sphere = [SCNSphere sphereWithRadius:0.5];
sphere.firstMaterial.diffuse.contents = @"earth.jpg";
// 创建节点并把球体绑定 到节点上
SCNNode *earthNode = [SCNNode nodeWithGeometry:sphere];
[scene.rootNode addChildNode:earthNode];
// 创建 字体
SCNText *scntext = [SCNText textWithString:@"Lenovo" extrusionDepth:0.3];
scntext.font = [UIFont systemFontOfSize:0.3];
//将字体绑定到节点 上
SCNNode *textnode = [SCNNode nodeWithGeometry:scntext];
textnode.position = SCNVector3Make(-1, 0, -2);
// 添加earth 节点的子节点上
[earthNode addChildNode:textnode];
6. 效果:
6b19d58e-51cb-465c-abf3-2248fe01ef2d.png

你可能感兴趣的:(SceneKit 学习(1)--SCNScene,SCNNode)