- 2019/08/26 【Unity】5ボタンマウスの KeyCode 図解
- 2017/07/13 【Unity】図解 Yaw(ヨー)、Pitch(ピッチ)、Roll(ロール)の覚え方 by ユニティちゃん(笑)
- 2013/12/17 【Android】【Java】FontMetrics 図解
« prev next »
【Unity】5ボタンマウスの KeyCode 図解 
2019/08/26 Mon [edit]
Unity の UI 操作でも、マウスのバックボタンが使えたら少し便利かな、と思って調べてみたら、簡単だった(笑)。早速「VRM Live Viewer」に導入してみたら、結構良い感じ。クリティカルでない「はい/いいえ」の2択を「進む(フォワード)/戻る(バック)」ボタンで操作できたら、色々楽になるかもね。
何でも図や表にしておくのは、ただの私のクセ。まぁ、何度もマニュアルを見て探すのが億劫なので、一見してわかるものが欲しいだけなんだけどね(笑)。
・KeyCode
(※) Unity 2018.4.6f1 / Windows10(x64) で確認
■マウスのボタンと KeyCode 対応図

(マウス イラスト素材) 無料イラスト素材倉庫 (※少し加工)
あくまでもデフォルト状態なので、専用ドライバ等でカスタマイズしてる場合は定かではない。たぶん、ゲーミングマウスみたいな多ボタンマウスも 5~n で行けるんだろうね(※未確認)。
判定するメソッドは Input.GetKey / GetKeyDown / GetKeyUp などお好みで。
Input.GetMouseButtonDown(int) などでも引数の番号を入れれば、マニュアルには 0~2 までしか書いてないが、3, 4 でもバック/フォワード判定できるみたい。
ホイールの Input.mouseScrollDelta はオマケ(笑)。
(マニュアル)
・KeyCode
・Input.GetKey
・Input.GetKeyDown
・Input.GetKeyUp
・Input.GetMouseButton
・Input.GetMouseButtonDown
・Input.GetMouseButtonUp
・Input.mouseScrollDelta
・Input.GetAxis
(関連記事)
【Unity】【C#】KeyCode をリアルタイムで調べる / Windows 日本語キーボードでの記号の KeyCode 一覧
【Unity】【C#】長押し(ロングタップ)を取得してコールバックする
【Unity】【C#】スワイプ(フリック)を判定、方向を取得してコールバックする
【Unity】【C#】ピンチ操作を取得してコールバックする
【Unity】【C#】ゲームパッドの右スティックを使えるようにする
【Unity】図解 Yaw(ヨー)、Pitch(ピッチ)、Roll(ロール)の覚え方 by ユニティちゃん(笑) 
2017/07/13 Thu [edit]
あくまでも Unity での左手座標系での回転になるが、符号を含めた方向の画像はググっても見つからなかったので自分で作ってみた(笑)。いくつか画像を載せておくが、これらは以前の記事の解説用に作ったもので、視覚的にちゃちゃっと確認したいときに便利と思って集めただけのものだ。なので、内容的に重複しているものがあるが了承して欲しい。自分にとってわかりやすい画像を見れば良いのではないだろうか。画像によってはクリックすると大きく表示できるものもあるので、小さくて見づらかったらクリックして欲しい。
ちなみに Yaw(ヨー)、Pitch(ピッチ)、Roll(ロール)は回転する方向のことであって、それぞれ Y, X, Z軸で回転するという意味ではない。なので例えば、右手系座標のときは Z, Y, X軸がそれぞれ Yaw, Pitch, Roll になったりもする。簡単な覚え方は、首を左右に振る回転をYaw(ヨー)、首を縦に振る回転をPitch(ピッチ)、首をかしげる回転をRoll(ロール)と覚えれば楽だ。これなら 座標系が異なるときでも回転方向がわかりやすいので、間違えることはないだろう(符号は座標系によるので注意)。
(※) Unity 5.6.2p2 / Windows10(x64) で確認
■Yaw, Pitch, Roll と首(頭)の向き
■平面に射影された角度
→ 符号付き角度
■平面と2D外積
→ 2D外積

Z軸を無視したXY平面は 2Dモードと同じ。3Dモードなら背中から見ている感じになる。
この場合、頭のてっぺん(transform.up)を基準に回転の角度を考える。
XY平面での2D外積だけは 2Dモードの画像を使っているので注意。これは「2Dでの符号(方向)付き角度を求める」の記事のものである。2Dでは▲は上の方向を向いているが、3Dでは背中から見る感じになるので、例の三角柱の場合は■にみえるハズ。手抜きで2D画面の解説をそのまま使っている(笑)。
なお、「2D外積」という用語は、数学的に正式な名称でも定義でもなく、私が便宜上使っているだけの言葉なので、その概念は以前の記事を参照して欲しい。
(関連記事)
【Unity】【C#】床面(Yaw)/YZ平面(Pitch)に射影された角度を、符号(方向)付きで求める [3D]
【Unity】【C#】符号(方向)付き角度を、2Dの外積を使って求める [2D]

【Android】【Java】FontMetrics 図解 
2013/12/17 Tue [edit]

以前の FontMetrics のまとめ。結構確認したいときも多いので、自分用リファレンス的な。
Paint paint = new Paint();
paint.setTextSize(22f);
FontMetrics fontMetrics = paint.getFontMetrics();
フォントサイズは 22f で実験。プロパティを調べてみると以下のようになる(全て float 型)。

Applet と違って Android では負の値も出る。ベースラインからの距離と向きという感じ。
「fontMetrics.leading」は除いてるが、複数行のとき行間となる。
文字の高さは paint.getFontMetrics(null) でも paint.descent() - paint.ascent() でも同じ。
文字列の幅は paint.measureText("文字列") で求められる。
(関連記事)
【Android】Paint で斜体文字(≒italic) の Canvas 描画
| h o m e |