iOS基于SceneKit的3D汽车改色

turboksiOS1064

基于SceneKit的汽车改色,需要修改模型文件可以去 https://www.turbosquid.com/ 自行下载,免费资源还挺多的。

先上个效果图吧:





核心代码:

    

        let path =Bundle.main.path(forResource:"ks_car", ofType:"dae")!
        let source =SCNSceneSource.init(url:URL(fileURLWithPath: path), options:nil)
        let scene = source?.scene(options:nil)
        
        
        //添加灯光效果 omni:点光源、方向360度,可衰减
        let lightNode =SCNNode.init()
        lightNode.light=SCNLight()
        lightNode.light?.type = SCNLight.LightType.omni
        lightNode.position=SCNVector3Make(0,0,300)
        scene?.rootNode.addChildNode(lightNode)
        
        
        scnView=SCNView.init(frame:CGRect(x:0, y:0, width:kswidth, height:500))
        scnView.allowsCameraControl = true
        scnView.showsStatistics = true
        scnView.backgroundColor = UIColor.white
        scnView.scene= scene
        self.view.addSubview(scnView)


相关文章

iOS 仿抖音打卡美好中国

iOS 仿抖音打卡美好中国

效果图这几天打卡中国挺火的,刚好有点时间就想着看看能不能模仿一下。Scrollview + CADisplayLink 设置背景UILongPressGestureRecognizer长按手...

Runtime详解

Runtime详解

The Objective-C language defers as many decisions as it can from compile time and link time to runti...

iOS程序的内存布局

iOS程序的内存布局

    代码段:编译之后的代码    数据段:字符串常量:比如NSString * str = @“123”已初始化数据:已初始化的全局变量...

iOS图片圆角设置

iOS图片圆角设置

    UIImageView * vv = [[UIImageView alloc] initWithFrame:CGRectMake(50, 500, 250, 25...

iOS多线程

iOS多线程

多线程常见方案一、GCD的函数:GCD中有2个用来执行任务的函数queue:队列block:任务1.    用同步的方式执行任务dispatch_sync(di...

isKindOfClass和isMemberOfClass的区别

isKindOfClass和isMemberOfClass的区别

+ (BOOL)isMemberOfClass:(Class)cls {//    类的元类 与 传入类 对比    return object_getClas...