SceneKit是一個高性能的渲染游戲引擎浅萧,它能夠?qū)?D模型文件用簡單的方式渲染出來怨绣,不像Metal或OpenGL需要開發(fā)者自己寫算法實現(xiàn)渲染3D文件的渲染功能粤攒,雖然他的底層也是Metal和OpenGL。
基本用法:
1加矛、導(dǎo)入SceneKit框架
#import <SceneKit/SceneKit.h>
2煌妈、創(chuàng)建展示3D專用的視圖
SCView *scnView= [[SCNView alloc]initWithFrame:self.shoseView.bounds];
scnView.allowsCameraControl = YES;
scnView.showsStatistics = YES;
scnView.backgroundColor = MyColor(255, 236, 190);
[self.view addSubview:scnView];
3儡羔、創(chuàng)建一個3D場景
//外部導(dǎo)入的模型可直接使用.dae和.obj
SCNSceneSource *sceneSource = [SCNSceneSource sceneSourceWithURL:[[NSBundle mainBundle] URLForResource:@"vans-authentic-shoe-low-poly" withExtension:@".dae"] options:nil];
SCNScene *scene = [sceneSource sceneWithOptions:nil error:nil];
scnView.scene = scene;
4、創(chuàng)建一個節(jié)點用來放置光源
SCNNode *lightNode = [SCNNode node];
lightNode.light = [SCNLight light];
lightNode.light.type = SCNLightTypeOmni;
lightNode.position = SCNVector3Make(0, 0, 100);
[scene.rootNode addChildNode:lightNode];
5璧诵、創(chuàng)建一個節(jié)點用來放置照相機
SCNNode *cameraNode = [SCNNode node];
cameraNode.camera = [SCNCamera camera];
cameraNode.camera.automaticallyAdjustsZRange = true;
cameraNode.camera.zFar = 400;//視距
[scene.rootNode addChildNode:cameraNode];
當(dāng)然汰蜘,也可以用SCNNode來綁定一個幾何形狀,SceneKit中的基本操作都是對節(jié)點進(jìn)行操作之宿。
因為你設(shè)置了scnView的allowsCameraControl為YES族操,所以,你就可對這個模型進(jìn)行旋轉(zhuǎn)看其整體3D效果比被,并查看細(xì)節(jié)特征色难。
所以通過以上幾步就可以展示出3D模型到手機界面上。如下圖:
以下demo不單是展示3D模型等缀,還對模型進(jìn)行了簡單的換裝操作和骨骼動畫枷莉。
展示3D模型demo地址
對3D模型加動畫demo地址
有幫助記得給顆??哦。