Game Maker Language リファレンス > 組み込み関数 用途別 > サウンド > audio_listener_orientation
オーディオ空間内でのリスナーの向きを変更します
audio_listener_orientation(lookat_x, lookat_y, lookat_z, up_x, up_y, up_z);
この関数を使用すると、3Dオーディオ空間内でのリスナーの向きを変更することができます。デフォルトはLookatが(0, 0, 1000)、上ベクトルが(0, 1, 0)で、以下の図のようになっています
この関数でリスナーの向きを変更すると、ゲームでのプレイヤーに届くエミッタからのサウンドが変化します。以下の例では、リスナーがデフォルトの位置にある場合、エミッタから生成された音は、リスナーの右側から発生するように聞こえます。しかしリスナーの位置や方向を変えることで、上から右へやってくるように聞かせることも可能です
xt = x + cos(degtorad(direction)); yt = y - sin(degtorad(direction)); zt = z - sin(degtorad(zdirection)); d3d_set_projection(x, y, z, xt, yt, zt, 0, 0, 1); audio_listener_position(x, y, z) audio_listener_orientation(xt, yt, zt, 0, 0, 1)
上記コードは3Dカメラの投影に合わせて、3Dオーディオリスナーの位置と方向を設定します