Fi-Mo 2020/08/21 12:00

進捗報告(21) + onDrawGizmos

概要

泡盛もろみです。

今回は
・OnDrawGizmos (by 泡盛もろみ)
・進捗報告(21):アニメーション適用 (by 明山昇)
です。

OnDrawGizmos

Gizmosって聞いて何かわかりますか?
私はわかりませんでした。
ざっくりというと、Unityでオブジェクトなどを選択した時に表示される補助的な視覚情報のようなものです。

Gizmos OFF

Gizmos ON

GizmosをONにすると、CapsuleColliderの緑の線が見えるようになっていますね。
このGizmosはシーンビューだけでなくゲームビューでもONにすることができます。
当たり判定などを確認する時に便利ですね。

このGizmosの表示を自分で拡張できることを知りました。
OnDrawGizmos()
の中に描画処理を書くだけです。

公式リファレンスは下記
MonoBehaviour.OnDrawGizmos()

実際の使い方としては、例えばこんな感じでrigidbodyの速度を表示してあげています。
キャラクターから線が伸びているのがわかるでしょうか。
速度のベクトルがキャラクターにとって前方であればマゼンタ、後方であればシアンの線が、速度に応じた長さで表示されるようにしています。


private void OnDrawGizmos() {
  float angle = Vector3.Angle(transform.forward, rigid.velocity);
  bool isForward = (-90 < angle && angle < 90);
  if (isForward) {
    Gizmos.color = Color.magenta;
  } else {
    Gizmos.color = Color.cyan;
  }
  Vector3 pos = transform.position;
  Gizmos.DrawLine(pos, pos + rigid.velocity);
}

速度などの情報は目に見えないので、こうやって視覚的に把握できるようになると便利ですね。
また、通常はオブジェクトを選択しないとそのオブジェクトのGizmosが表示されないのですが、ここに書いてあるものは常時表示されるので、生成後すぐに破棄されるようなオブジェクトの当たり判定なども、躍起になって一時停止して選択して...ということもなく見ているだけである程度チェック可能になります。
実際の領域と少し大きく/小さくした領域を描画して、どのくらいの大きさにするか検討するなどもできるかもしれません。

また何か便利なものを見つけたら紹介します。

フォロワー以上限定無料

ゲーム進捗に関する内容はフォロワー限定公開になります。

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

最新の記事

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索