SCNNode

场景图的结构元素,表示3D坐标空间中的位置和变换,您可以在其中附加几何图形,灯光,照相机或其他可显示内容。

var simdTransform: simd_float4x4 { get set }
转换是节点的simdRotation,simdPosition和simdScale属性的组合。 默认转换是单位矩阵。

设置此属性的值时,节点的simdRotation,simdOrientation,simdEulerAngles,simdPosition和simdScale属性会自动更改以匹配新的变换,反之亦然。 仅当您提供的转换是旋转,平移和缩放操作的组合时,SceneKit才能执行此转换。 如果将此属性的值设置为偏斜变换或非仿射变换,则这些属性的值将变为未定义。 为这些属性中的任何一个设置新值都会导致SceneKit计算新的变换,并丢弃原始变换中的任何偏斜或非仿射操作。

您可以对此属性的值进行动画处理。 请参见使SceneKit内容动画化。
var simdPosition: simd_float3 { get set }
根据节点的simdPivot属性修改,该节点的位置位于其父级坐标系内。 默认位置是零向量,表示该节点位于父节点坐标系的原点。

您可以对此属性的值进行动画处理。 请参见使SceneKit内容动画化。
var simdPivot: simd_float4x4 { get set }
节点位置,旋转和比例的中心点。 可动画的。
节点的支点是其坐标空间与其simdPosition,simdRotation和simdScale属性所使用的坐标空间之间的转换。默认的枢轴是单位矩阵,它指定节点的位置定位其坐标系的原点,其旋转围绕通过其中心的轴,并且其比例也相对于该中心点。

更改枢轴变换会以许多有用的方式更改这些行为。您可以:

相对于其位置偏移节点的内容。例如,通过将枢轴设置为平移变换,可以相对于球在地板上放置的位置而不是相对于其中心的位置,将包含球几何的节点定位。

移动节点的旋转轴。例如,使用平移变换可以使节点绕远点旋转,而不是绕其中心旋转;而使用旋转变换可以使旋转轴倾斜。

调整中心点和方向以缩放节点。例如,通过平移变换,可以使节点相对于角而不是相对于其中心增大或缩小。

您可以对此属性的值进行动画处理。请参见使SceneKit内容动画化。
var simdRotation: simd_float4 { get set }
节点的方向,表示为围绕轴的旋转角度。 可动画的。
四分量旋转矢量在前三个分量中指定旋转轴的方向,在第四分量中指定旋转角(以弧度为单位)。 默认旋转为零向量,不指定旋转。 旋转是相对于节点的simdPivot属性应用的。

simdRotation,simdEulerAngles和simdOrientation属性都会影响节点simdTransform属性的旋转角度。 这些属性之一的任何更改都会反映在其他属性中。

您可以对此属性的值进行动画处理。 请参见使SceneKit内容动画化。
var simdEulerAngles: simd_float3 { get set }
节点的方向,以弧度表示的俯仰,偏航和侧倾角。 可动画的。
此向量中的分量顺序与旋转轴匹配:

间距(x分量)是围绕节点x轴的旋转。

偏航角(y分量)是围绕节点y轴的旋转。

滚动(z分量)是绕节点z轴的旋转。

SceneKit按照与组件相反的顺序将这些旋转相对于节点的simdPivot属性应用:首先滚动,然后偏航,然后俯仰。 simdRotation,simdEulerAngles和simdOrientation属性都会影响节点simdTransform属性的旋转角度。 这些属性之一的任何更改都会反映在其他属性中。

您可以对此属性的值进行动画处理。 请参见使SceneKit内容动画化。
var simdOrientation: simd_quatf { get set }
方向向量,用四元数表示
simdRotation,simdEulerAngles和simdOrientation属性都会影响节点simdTransform属性的旋转角度。 这些属性之一的任何更改都会反映在其他属性中。

您可以对此属性的值进行动画处理。 请参见使SceneKit内容动画化。
var simdScale: simd_float3 { get set }
应用到model的缩放因数
比例向量的每个分量都会乘以节点几何的相应尺寸。 这三个维度的默认比例均为1.0。 例如,将比例(2.0、0.5、2.0)应用于包含立方体几何的节点会减小其高度,并增加其宽度和深度。 缩放是相对于节点的simdPivot属性应用的。

您可以对此属性的值进行动画处理。 请参见使SceneKit内容动画化。
var light: SCNLight? { get set }
附加到节点的灯光
var camera: SCNCamera? { get set }
附加到节点的相机
var geometry: SCNGeometry? { get set }
附加到节点的几何体
var morpher: SCNMorpher? { get set }
您可以使用变形器对象在多个几何之间进行插值。 有关详细信息,请参见SCNMorpher
var skinner: SCNSkinner? { get set }
一个对象,用于管理骨骼动画及其动画的节点和几何之间的关系。
var constraints: [SCNConstraint]? { get set }
约束对象数组。 在渲染之前,SceneKit会评估附加到节点层次结构的所有约束,并适当地调整节点转换。

使用SCNLookAtConstraint类可以使一个节点即使两个节点都移动时也始终指向另一个节点,或者使用SCNTransformConstraint类在约束评估时应用任意变换。
var presentation: SCNNode { get }
表示节点当前在屏幕上的状态的节点对象。
var isPaused: Bool { get set }
一个布尔值,该值确定是否运行附加到该节点及其子节点的动作和动画。
var isHidden: Bool { get set }
一个布尔值,用于确定节点内容的可见性。 可动画的。
var opacity: CGFloat { get set }
可能的值在0.0(完全透明)和1.0(完全不透明)之间。 默认值为1.0。
您可以对此属性的值进行动画处理。 请参见使SceneKit内容动画化。
var parent: SCNNode? { get }
场景图层次结构中节点的父级。
var childNodes: [SCNNode] { get }
子节点数组
var physicsBody: SCNPhysicsBody? { get set }
默认值为nil,指定该节点完全不参与物理模拟。 如果您提供了一个物理物体,那么每次执行一个物理模拟步骤时,SceneKit都会更新节点的位置和方向。 有关SceneKit物理系统的更多信息,请参见SCNPhysicsWorld。
var physicsField: SCNPhysicsField? { get set }
物理场将力施加到节点周围指定区域中的其他物理体。 例如,SCNPhysicsDragField字段会减慢通过其区域的所有物理物体。 有关字段类型及其作用的完整列表,请参见SCNPhysicsField。

节点既可以包含定义碰撞行为的物理实体,也可以包含定义其区域中的力的物理场。 例如,包含物理物体和径向重力场的两个节点将相互吸引,但是当它们碰撞时会相互反弹。
var simdWorldRight: simd_float3 { get }
相对于节点的“右”(+ X)方向矢量,以世界空间表示。
读取此属性等效于读取simdLocalRight类属性,并使用simdConvertVector(_:to :)或simdConvertVector(_:from :)方法将该矢量从节点的局部坐标空间转换为场景的世界坐标空间。

局部坐标系(Local Coordinate),也就是坐标系以物体的中心为坐标原点,物体的旋转、平移等操作都是围绕局部坐标系进行的,这时,当物体模型进行旋转或平移等操作时,局部坐标系也执行相应的旋转或平移操作。

var simdWorldUp: simd_float3 { get }
相对于节点的“向上”(+ Y)方向矢量,以世界空间表示。
var simdWorldFront: simd_float3 { get }
相对于节点的“向上”(- Z)方向矢量,以世界空间表示。
var simdWorldTransform: simd_float4x4 { get set }
世界变换已应用于该节点。
世界变换是节点相对于场景坐标空间的坐标空间变换。 此转换是节点的simdTransform属性与其父节点,父节点的父节点的simdTransform属性的串联,依此类推,直到场景的rootNode对象。
var simdWorldOrientation: simd_quatf { get set }
节点相对于场景的世界坐标空间的方向。
该四元数隔离了节点的simdWorldTransform矩阵的旋转方面,这又是节点的simdTransform从局部空间到场景的世界坐标空间的转换。 也就是说,它表示节点与场景的根节点之间的旋转轴和旋转角度的差异。
var simdWorldPosition: simd_float3 { get set }
节点相对于场景的世界坐标空间的位置。
此向量隔离了节点的simdWorldTransform矩阵的转换方面,这又是节点的simdTransform从局部空间到场景的世界坐标空间的转换。 也就是说,它表示节点位置相对于场景根节点的x,y和z偏移量,等效于读取节点的simdPosition向量,并使用simdConvertPosition(_:from :)或simdConvertPosition将其转换为世界空间 (_:to :)方法。
var worldTransform: SCNMatrix4 { get }
世界变换已应用于该节点。
世界变换是节点相对于场景坐标空间的坐标空间变换。 此转换是节点的transform属性与其父节点,父节点的父节点的transform属性的串联,依此类推,直到场景的rootNode对象。
var worldOrientation: SCNQuaternion { get set }
该四元数隔离了节点的worldTransform矩阵的旋转方面,这又是节点从局部空间到场景的世界坐标空间的转换的转换。 也就是说,它表示节点与场景的根节点之间的旋转轴和旋转角度的差异。
var worldPosition: SCNVector3 { get set }
此向量隔离了节点的worldTransform矩阵的转换方面,而该转换又是节点从局部空间到场景的世界坐标空间的转换的转换。 也就是说,它表示节点位置与场景rootNode的位置的x,y和z偏移量,等效于读取节点的位置向量,并使用convertPosition(_:from :)或convertPosition将其转换为世界空间 (_:to :)方法。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,458评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,030评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,879评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,278评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,296评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,019评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,633评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,541评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,068评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,181评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,318评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,991评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,670评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,183评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,302评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,655评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,327评论 2 358