iOS 3D 之 SceneKit框架Demo分析】的更多相关文章

Scene Kit 是Apple 向 OS X 开发者们提供的 Cocoa 下的 3D 渲染框架. Scene Kit 建立在 OpenGL 的基础上,包含了如光照.模型.材质.摄像机等高级引擎特性,这些组件都是面向对象的,你可以用熟悉的 Objective-C 或 Swift 语言来编写代码.假如你用过 OpenGL 最早的版本,那时还没有 shader,只能苦逼的使用各种底层受限制的 API 开发.而 Scene Kit 就好了很多,对于大多数需求 (甚至像动态阴影等高级特性),使用它提供的…
1.通过SCNGeometry或子类SCNParametricGeometry创建 相关链接:iOS开发之SceneKit框架--SCNGeometry.h iOS开发之SceneKit框架--SCNParametricGeometry.h 2.创建多个场景SCNScene读取其子node SCNNode *newNode = [SCNNode node]; newNode.position = SCNVector3Make(, , ); [self.sCNView.scene.rootNode…
1.SCNNode简介 SCNNode是场景图的结构元素,表示3D坐标空间中的位置和变换,您可以将模型,灯光,相机或其他可显示内容附加到该元素.也可以对其做动画. 2.相关API简介 初始化方法 //懒加载 + (instancetype)node; //geometry附加到节点的几何体 + (SCNNode *)nodeWithGeometry:(nullable SCNGeometry *)geometry; 管理Node节点的变换 //Node的变换 @property(nonatomi…
1.SCNView 在macOS中,SCNView是NSView的子类,在iOS和tvOS中,SCNView是UIView的子类.SCNView用于显示SceneKit的3D场景,而需要设置场景的相关内容和属性需要通过SCNScene.SCNView需要遵循SCNSceneRenderer协议和SCNTechniqueSupport协议. 2.相关API简介 初始化方法 - (instancetype)initWithFrame:(CGRect)frame options:(nullable N…
1.SCNAction简介 主要负责节点SCNNode的属性,实现node的渐变.移动.出现.消失.实现动画等. 2.相关API 节点的移动(earthNode的初始坐标(5,0,0)) //从当前位置移动指定的距离X轴:deltaX Y轴:deltaY Z轴:deltaZ + (SCNAction *)moveByX:(CGFloat)deltaX y:(CGFloat)deltaY z:(CGFloat)deltaZ duration:(NSTimeInterval)duration; +…
1.SCNParametricGeometry简介 SCNParametricGeometry用于创建简单的3D模型,比如SCNPlane 平面.SCNPyramid 锥形(金字塔).SCNBox 立方体.SCNSphere 球体.SCNCylinder 圆柱.SCNCone 圆锥体.SCNTube 圆柱管道.SCNCapsule 胶囊.SCNTorus 圆环面.SCNFloor 地板.SCNText 字体.SCNShape 自定义几何体! 2.SCNPlane 平面 效果图 相关代码 - (v…
1.SCNCamera简介 被称为照相机或者摄像机,可以附加到节点以提供显示场景的角度.其实就是用户视角和人的眼睛一样. 2.相关API简介 初始化 //懒加载 + (instancetype)camera; 管理相机属性 //名字 @property(nonatomic, copy, nullable) NSString *name; 调整镜头角度 //决定了相机和可见表面之间的最小距离.如果一个表面离摄像机的距离比这个最小距离更近,那么表面就会被剪掉.默认为1 @property(nonat…
1.SCNGeometry简介 SCNGeometry负责呈现三维模型的类,它管理者物体的形状.纹理等.它可以由SCNGeometrySource和SCNGeometryElement来构造, 一个SCNGeometry 可以包含多个SCNGeometrySource和SCNGeometryElement对象. 还可以通过SCNMaterial定义几何形状表面的颜色或者纹理, SCNLight 定义光照效果, SCNProgram 设计OpenGL或者Metal着色语言等等. SCNGeomet…
1.SCNScene SCNScene是一个场景图——具有附加几何形状.光照.摄像机和其他属性的节点的层次结构,共同形成可显示的3D场景. 2.相关API简介 初始化方法 //懒加载 + (instancetype)scene; //name:3D文件的路径 + (nullable instancetype)sceneNamed:(NSString *)name API_AVAILABLE(macos(10.9)); /** @param name 3D文件路径 @param directory…
1.SCNLight简介 用于添加光源,连接到一个节点照亮现场,可以给场景添加不同的灯光,模拟逼真的环境. 2.四种灯光的简介 添加一个box立方体.一个tube圆柱管道和一个地板floor,没有灯光的时候物体都是白色的模型图: 四种灯光分别为环境光.全方位光.定向光和点光源,另外还有一个光域网和荧光探针.添加不同灯光后效果如下: //灯光类型 枚举 @property(nonatomic, copy) SCNLightType type; FOUNDATION_EXTERN SCNLightT…