これはおそらく単純なベクトルの質問ですが、どうすればよいかわかりません。
ベクターの位置にオブジェクトがあります(ox,oy)
。可能性のあるすべての更新で、ユーザーは画面上を歩き回り(px,py)
、いつでもその位置にいます。オブジェクトが常にプレーヤーに面するようにするにはどうすればよいですか?角度を度単位で取得する必要があります。
これは私がいじくり回してきたものですが、方向はすぐにユーザーがいる場所を指していません。代わりに、ユーザーが歩いている方向に徐々に増加します。
objVec.Normalize();
playerVec.Normalize();
obj.Rotation = MathHelper.ToDegrees((float)Math.Acos(Vector2.Dot(objVec, playerVec)));
私はそれが完全に間違っているかもしれないので、どんな助けでもありがたいです!
モデルをターゲット
—
Nicol Bolas