在 ARkit SCNODE - SWIFT 中在 3dObject 上的 X 轴上重复纹理



我想在当前场景中将纹理移动到SCNode上。

我目前正在对节点进行动画处理,但我希望纹理在对象上运行而不是对其进行动画处理。

let moveup = SCNAction.moveBy(x: 0.01, y: 0, z: 0, duration: 1)
moveup.timingMode = .easeInEaseOut
moveup.speed = CGFloat(20.5)
let moveDown = SCNAction.moveBy(x: -0.01, y: 0, z: 0, duration: 1)
moveDown.timingMode = .easeInEaseOut;
moveDown.speed = CGFloat(20.5)
let moveupSequence = SCNAction.sequence([moveup, moveDown])
print(moveupSequence.duration, moveupSequence.speed)
WaterNode?.runAction(moveupSequence)

这是我用于宣布对象的代码。我需要知道如何访问纹理并将它们移动到 X 轴。

有内容材料的变换属性

let action = SCNAction.customAction(duration: 1) { (node, elapsedTime) in
    let c = node.geometry?.materials.first?.diffuse.contentsTransform
    node.geometry?.materials.first?.diffuse.contentsTransform = SCNMatrix4MakeTranslation((c?.m41)! + 0.01, (c?.m42)!, (c?.m43)!)
}

最新更新