iOS使用SeneKit展示3D模型并改变其外观

SceneKit是一个高性能的渲染游戏引擎,它能够将3D模型文件用简单的方式渲染出来,不像Metal或OpenGL需要开发者自己写算法实现渲染3D文件的渲染功能,虽然他的底层也是Metal和OpenGL。

基本用法:

1、导入SceneKit框架

#import 

2、创建展示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、创建一个3D场景

    //外部导入的模型可直接使用.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、创建一个节点用来放置光源

    SCNNode *lightNode = [SCNNode node];
    lightNode.light = [SCNLight light];
    lightNode.light.type = SCNLightTypeOmni;
    lightNode.position = SCNVector3Make(0, 0, 100);
    [scene.rootNode addChildNode:lightNode];

5、创建一个节点用来放置照相机

    SCNNode *cameraNode = [SCNNode node];
    cameraNode.camera = [SCNCamera camera];
    cameraNode.camera.automaticallyAdjustsZRange = true;
    cameraNode.camera.zFar = 400;//视距
    [scene.rootNode addChildNode:cameraNode];

当然,也可以用SCNNode来绑定一个几何形状,SceneKit中的基本操作都是对节点进行操作。
因为你设置了scnView的allowsCameraControl为YES,所以,你就可对这个模型进行旋转看其整体3D效果,并查看细节特征。

所以通过以上几步就可以展示出3D模型到手机界面上。如下图:

以下demo不单是展示3D模型,还对模型进行了简单的换装操作和骨骼动画。
展示3D模型demo地址
对3D模型加动画demo地址

有帮助记得给颗❤️哦。

iOS使用SeneKit展示3D模型并改变其外观_第1张图片
9EB51F64-ECD9-4DEF-A9B2-877392F4FAFF.png
iOS使用SeneKit展示3D模型并改变其外观_第2张图片
FE605468-38ED-45DE-8D0E-0E35D5F74349.png

你可能感兴趣的:(iOS使用SeneKit展示3D模型并改变其外观)