環(huán)境:xcode9、iOS11以上
設備:A9以上處理器iOS設備
1、創(chuàng)建項目:

創(chuàng)建項目
注意:

此處必須得iOS11以上

項目原始代碼

效果
2、創(chuàng)建場景:
SCNScene *scene = [SCNScene scene];
self.sceneView.scene = scene;
3、創(chuàng)建模型:
SCNBox *box = [SCNBox boxWithWidth:0.1 height:0.1 length:0.1 chamferRadius:0];
//此處可以創(chuàng)建多種形式的模型,也可以像示例那樣加載 3D模型(obj/scn/dae),此處僅以幾何模型為例。
4、創(chuàng)建節(jié)點并設置節(jié)點位置:
//創(chuàng)建節(jié)點
SCNNode *node = [SCNNode node];
//設置節(jié)點位置
node.position = SCNVector3Make(0, 0, -0.3);
5、將模型設置為節(jié)點幾何
//將場景節(jié)點幾何設置為創(chuàng)建的box
scene.rootNode.geometry = box;
6、渲染模型
//模型渲染,將模型渲染成白色
SCNMaterial *material = [SCNMaterial material];
material.diffuse.contents = [UIColor whiteColor];
box.materials = @[material];
效果圖如下:

效果圖1
但是這是不是太不好看了呢?我們可以嘗試下把圖片放到模型上嗎?
7、將圖片渲染到模型:
我們先嘗試將一張圖片渲染上去
material.diffuse.contents = [UIImage imageNamed:@"不約.png"];

效果圖2
我們發(fā)現渲染模型那里渲染器的設置是一個數組,那么我們嘗試創(chuàng)建多個渲染器添加進去試試:
SCNMaterial *material = [SCNMaterial material];
material.diffuse.contents = [UIImage imageNamed:@"不約.png"];
SCNMaterial *material1 = [SCNMaterial material];
material1.diffuse.contents = [UIImage imageNamed:@"哎沒人約.png"];
SCNMaterial *material2 = [SCNMaterial material];
material2.diffuse.contents = [UIImage imageNamed:@"愛你們喲.png"];
SCNMaterial *material3 = [SCNMaterial material];
material3.diffuse.contents = [UIImage imageNamed:@"不要在背后說我?guī)?png"];
SCNMaterial *material4 = [SCNMaterial material];
material4.diffuse.contents = [UIImage imageNamed:@"好好當狗.png"];
SCNMaterial *material5 = [SCNMaterial material];
material5.diffuse.contents = [UIImage imageNamed:@"姐不需要男票.png"];
box.materials = @[material,material1,material2,material3,material4,material5];
效果圖3

效果圖4
結果發(fā)現六張圖都渲染到了正方體的六個面,有興趣的還可以嘗試下GIF圖的渲染,跟圖片時一樣的,此處就不做演示了。
8、渲染視頻呢?可以嗎?接下來我們就嘗試下渲染視頻:操作類似于渲染圖片
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@",[[NSBundle mainBundle] pathForResource:@"柳州IP宣傳片_15秒.mp4" ofType:nil]]];
AVPlayerItem *playItem = [AVPlayerItem playerItemWithURL:url];
AVPlayer *player = [AVPlayer playerWithPlayerItem:playItem];
[player play];
material.diffuse.contents = player;

效果圖5
9、此外,還可以創(chuàng)建除了SCNBox以外的其他幾何模型,常見的幾何模型有:SCNText(文字)、SCNBox(盒子)、SCNSphere(球體)、SCNPlane(平面)、SCNPyramid(錐形)、SCNCylinder(圓柱)、SCNCone(圓錐)、SCNTube(管道)、SCNCapsule(膠囊)、SCNTorus(圓環(huán))、SCNFloor(地板)等,有興趣的可以嘗試一下。

示例圖
到這里我們第一個簡單的ARKit體驗就完成了,是不是很好玩呢?還有更多更好玩的東西,繼續(xù)學習吧,哈哈哈