我有一个3d矢量我正在申请作为一个物理力量:
let force = SCNVector3(x: 0, y: 0, z: -5)
node.physicsBody?.applyForce(force, asImpulse: true)
Run Code Online (Sandbox Code Playgroud)
我需要根据移动设备的位置旋转力,我可以将其作为4x4矩阵变换或欧拉角.
var transform:matrix_float4x4 - 摄像机在世界坐标空间中的位置和方向.
var eulerAngles:vector_float3 - 摄像机的方向,表示为滚动,俯仰和偏航值.
我认为这更像是一个基本的3D图形问题,但这个应用程序是使用SceneKit和ARKit的基于Swift的iOS应用程序.
在SceneKit和simd库中有一些可用的实用程序.不幸的是,我天真的尝试做的事情simd_mul(force, currentFrame.camera.transform)让我失望了.
回顾一些JUCE示例代码,我遇到了这个函数调用:
Arpeggiator()
{
addParameter (speed = new AudioParameterFloat ("speed", "Arpeggiator Speed", 0.0, 1.0, 0.5));
}
Run Code Online (Sandbox Code Playgroud)
这只是函数调用中的赋值吗?或者还有其他一些c ++魔法在这里?