リファレンス - ver2系
アイディア集

Rotation 構造体

更新日 : 2022/08/17
編集者 : Takunology

概要

名前空間 : MinecraftConnection

左右方向と上下方向の回転方向を扱います.

メンバ変数

変数名 説明
X double x 方向
Y double y 方向

コンストラクタ

引数 説明
x double x 方向
y double y 方向

使い方

コンストラクタの引数は x, y の2方向に対する方向を設定する必要があります. どれか1方向だけを定義することはできません.

エンティティの首の回転や, 一部のブロックの回転などに利用できます.

// 方向を (0, 0, 0) に設定する
Rotation rot = new Rotation(0, 0);

// 方向を (23.4, -44.0) に設定する
Rotation rot2 = new Rotation(23.4, -44.0);

// プレイヤーの向いている向きを取得して格納する
var commands = new MinecraftCommands("127.0.0.1", 25575, "minecraft");
Rotation playerRot = commands.GetPlayerData("playerID").Rotation;

// 各方向をコンソール出力する
Console.WriteLine($"{playerRot.X}\t{playerRot.Y}");

素朴な疑問

Q. 最大値と最小値は?

x 方向は最小値 -180.0 から最大値 180.0 までとなります. 一周すると再び 0.0 へと戻ってきます. y 方向は最小値 -90.0 から最大値 90.0 までとなります.

Q. それぞれの方向は何を表しているの?

x 方向は顔の左右への回転, y 方向は顔の上下への回転を表しています. つまり, 回転軸が2種類(ピッチとヨー)ということですね. プレイヤーの場合は左を向くと x が減少していき, 右を向くと x が増加していきます.

方角
-180.0 (180.0)
-90.0
0.0 (-0.0)
90.0 西

また, 真下を向くと y は 90.0 になり, 真上を向くと y は -90.0 となります.

Q. プレイヤー以外にも使えるの?

方向のデータを持つエンティティであれば使えます. 例えば, モンスターやアニメーション(パーティクル)にも使えます. data get コマンドを実行してみて, Rotation という項目が出てくるかどうかで使えるかどうかを判断できます.