シーン形式のブレンダー エクスポーターを作成しています。
エクスポートするときは、クォータニオンとしての回転が必要です。
私が見つけた最も簡単な方法は、rotation_quaternionを使用することです。ただし、このメンバーは、rotation_mode
が に設定されている場合にのみ、回転を格納することを保証し'QUATERNION'
ます。
現在の一時的なソリューションは次のようになります。
prevRotationMode = object.rotation_mode
object.rotation_mode = 'QUATERNION'
rotationAsQuaternion = object.rotation_quaternion
object.rotation_mode = prevRotationMode
この解決策は機能しますが、エクスポーターが頻繁に呼び出されると、回転角度がクォータニオン表現と元の表現の間で変換されるため、数値エラーが発生する可能性があると思います。
私の2番目のアイデアは、オブジェクトをコピーし、オブジェクトのコピーで回転モードを変更し、後で削除することでした。しかし、シーンはエクスポーター スクリプトによって変更されるため、これはまだクリーンなソリューションではありません。
シーンを変更せずに四元数として回転を取得するエレガントな方法はありますか?