2017-09-08 13 views
-6

ああ、続けてください。Scenekitを使用して、アイデンティティ四元数を取得するにはどうすればよいですか?

私は常に世界のx、に向いているSCNNodeようSCNTransformConstraint姿勢制約を作成したいのy &のz軸に関係なく、ノードの親はについて/移動を向いていますか。

私はこのような世界空間での作業姿勢の制約を作成することができます

let orientationConstraint = 
SCNTransformConstraint.orientationConstraint(inWorldSpace: true) { 
    (node, orientation) -> SCNQuaternion in 
    return <<<need quaternion identity here>>> 
} 

node.constraints = [orientationConstraint] 

をしかし、私はmultiplicative identity四元を提供するために、制約のコールバックによって必要があります。シーンキットとしてquaternions to describe orientation and rotationを使用する場合、クォータニオンIDは回転を表しません。世界座標系における方向づけ。

これは、1によるスケーリングが同じスケールを与える方法に似ています。スケールを1に設定すると、スケーリングのないものにリセットされます。

シーンキットマトリックスには、SCNMatrix4Identityがあります。または、シーンキットベクターの相加的同一性:SCNVector3Zero

どのようにして乗算の四元数の同一性を得ることができますか?

+0

これまでに何を試しましたか? SOはより具体的な質問のための場所です(コードが機能していません) –

+0

私の評判すべてを1つの質問で焼くことはできますか?それは何かになるだろう。 – Benjohn

+3

meh、あなたはうまくいくでしょうし、私はユーモアが好きです。それは金曜日です。しかし、質の面では、[MSE投稿](https://meta.stackexchange.com/questions/173271/questions-タイトルが何を伝えるべきか、そして何が身体にあるべきかを説明するものです。世話をする。 – rene

答えて

0

SCNQuaternionIdentityはありません。

同一性四元数はSCNQuaternion(0, 0, 0, 1)で構成できます。

デフォルトコンストラクタSCNQuaternion()を使用しないように注意してください。これは有効な方向を表さないSCNQuaternion(0, 0, 0, 0)に相当します。

関連する問題