与えられた世界の位置に一致するようにノードのローカル位置を設定しようとすると、本当に頭痛の種になります。
私は解決策を与えられましたが、AFAICS、それは方向と位置のみを考慮し、スケーリングは考慮しません:
node_new_local_position = node_parent.derivedOrientation().Inverse() * ( world_position_to_match - node_parent.derivedPosition() );
問題のノードはnode_parentの子です。node_parentのローカルプロパティと派生プロパティ(方向、位置、スケーリング)、およびその完全な行列変換が知られています。
すべての位置は3Dベクトルです; 方向はクォータニオンです; 完全な変換は4x4行列です。
誰かがノード階層のスケーリングをサポートするようにソリューションを変更するのを手伝ってくれませんか?
よろしくお願いします。
明細書