【マイクラ】角座標ベクトルをXYZ座標ベクトルに変換する
Playerの向いている方向はyaw, pitchは角座標、つまり角度でパラメータを持っています。
しかし、これが時にXYZ座標ベクトルでほしい瞬間が来るのです!
例えば、向ている方向の少し前にパーティクルを表示するとか!
そういった要望が自分から上がったため、本記事は変換する方法を考えてみたいと思います。
マイクラで角座標とXYZ座標の関係性
Playerの角座標パラメータについて
・yaw : 水平方向の首の向き
・pitch : 顎の角度のこと
この角座標をXYZ座標に関連させると
このような関係性のようです。
ちなみに上右下左から西北東南のようです。不思議ですね。
数式で表そう
float yaw;
float pitch;
double x = -sin(yaw * PI / 180) * cos(pitch * PI / 180);
double y = -sin(pitch * PI / 180);
double z = cos(yaw * PI / 180) * cos(pitch * PI / 180);
PI / 180でラジアンに変換して、三角関数に渡している前提になっています。
この記事が気に入ったらサポートをしてみませんか?