iOS SpriteKit/SceneKit/Metal浅析

【SpriteKit】

      在iOS7中内置了新的SpriteKit框架,该框架主要用来开发2D游戏。是开发iOS和OS X 下的2D游戏引擎,可以使用OC或者Swift来进行开发。目前已经支持的内容包括:精灵、很酷的特效(例如视频、滤镜和遮罩),并且还集成了物理库等许多东西。首先指出在iOS中开发2D游戏SpriteKit并不是唯一的选择,我们先来看看SpriteKit的特点和优缺点:

1.特点:

(1)提供了游戏引擎必备的图形渲染和动画API,可以通过这些API让精灵动起来;

(2)使用传统的渲染和动画,允许在渲染每一帧之前处理该帧;

(3)提供了声音播放;

(4)提供的物理引擎;

(5)与Xcode集成,可以更容易的创建基于Sprite Kit的游戏工程,调试也很方便;

(6)可以使用Swift语言;



2.优点:

(1)它是内置到iOS中的,因此并不需要下载额外的库或者其他的外部依赖,并且它是由苹果开发的,所以对他的支持和更新我们可以放心;

(2)它内置的工具支持纹理和粒子;

(3)它可以让你做一些其他框架难以做到的事情,例如把视频当做精灵一样处理,或者使用很酷的图形效果和遮罩。

 3.缺点:

(1)如果使用了SpriteKit,那么你将被iOS生态圈绑架,导致很难把游戏移植到Android等其他平台;

(2)SpriteKit现在还处于初始阶段,提供的内容还不够丰富,例如Cocos2D,暂不支持自定义的OpenGL代码;



【SceneKit】

     SceneKit(SK)是WWDC12推出的OS X平台的Cocos 3D渲染引擎框架。支持粒子效果,物理模拟,脚本事件,多程渲染,支持iOS平台。SceneKit整合了Core Image,Core Animation之类的图形框架,现在还整合进了SpriteKit。

SceneKit是基于OpenGL构建的。


【Metal】

     在iOS8中,苹果发布了一个新的接口叫做Metal,它是一个支持GPU加速的3D绘图API。Metal和OpenGL ES类似,也是一个底层API,负责和3D绘图硬件交互。可惜的是,Metal不是跨平台的。



github主页:https://github.com/chenyufeng1991  。欢迎大家访问!












你可能感兴趣的:(笔试面试,iOS笔试面试题)