本文价值与收获
看完本文后,您将能够作出下面的界面
SCNBox
六面多面体几何,其面均为矩形,可以选择带有圆角和圆角。
class SCNBox : SCNGeometry
使用教程
通过设置框的,和属性width,在其局部坐标空间的x,y和z轴尺寸中定义框的形状。通过其属性将圆角和圆角添加到框。要在场景中定位和定向盒子,请将其附加到对象的属性。
控制的细节与水平,,,和特性。较高的细分数量会产生更多的顶点,这可以提高某些照明模型或自定义着色器效果的渲染质量,但会降低渲染性能。您最多可以SCNMaterial为一个框及其materials属性分配六个实例(每侧一个)。所述SCNBox自动创建类作为需要处理的材料的数量的对象。
init初始化函数
convenience init(width: CGFloat,
height: CGFloat,
length: CGFloat,
chamferRadius: CGFloat)
参量
width
框沿其局部坐标空间的x轴的宽度。
height
框沿其局部坐标空间的y轴的高度。
length
框沿其局部坐标空间的z轴的长度。
chamferRadius
盒子的边缘和角落的曲率半径。
返回值
新的盒子几何。
讨论区
box位于其局部坐标系的中心。
SCNNode
场景图的结构元素,表示3D坐标空间中的位置和变换,您可以在其中附加几何图形,灯光,照相机或其他可显示内容。
class SCNNode : NSObject
使用教程
一个SCNNode由对象本身是不可见的内容时含有它呈现-它仅代表一个坐标空间变换(位置,方向和比例)相对于其父节点的情景。要构建场景,请使用节点层次结构来创建其结构,然后向节点添加灯光,摄影机和几何图形以创建可见的内容。
SCNVector3
三分量向量的表示。
struct SCNVector3
SceneKit使用三分量矢量实现多种目的,例如描述节点或顶点位置,表面法线以及缩放或平移变换。应该根据使用矢量的上下文来解释不同的矢量分量。
在MACOS的x,y和z在该结构域是CGFloat值。在iOS,tvOS和watchOS中,这些字段是Float值。
shininess
镜面反射高光的清晰度。可动画的。
var shininess: CGFloat { get set }
使用教程
材质的光泽度与其specular属性和场景中的照明相互作用,从而在表面上产生明亮的高光。较高的值会产生更清晰的高光,使表面看起来更平滑和更有光泽。
您可以为该属性的值设置动画。请参见使SceneKit内容动画化。