【 Unity】ベクトル正規化の学習
この資料では、Unityにおけるベクトルの正規化(Normalization)の基礎を学習するためのサンプルコードを提供します。ベクトルの正規化は、ベクトルの方向を保ったまま、その長さを1にする操作で、ゲーム開発などでベクトルの方向を計算する際によく使われます。本資料では、UnityのVector2
型を用いた2種類の正規化方法を紹介します。
目次
用語の定義:
- ベクトルの正規化: ベクトルの方向を変えずに、その長さ(大きさ)を1にする操作。ベクトルの長さを計算する際に使われる。
Vector2
: Unityで2D空間におけるベクトルを表す構造体。Vector3
は3D空間のベクトルに対応する。
正規化の必要性:
ベクトルの長さが変動する場合(例: スピードや距離の影響を受ける場合)に、ベクトルの方向のみを使用したいときに正規化を行います。例えば、移動方向を一定にしたいときや、特定の方向に力を加える場合などです。
使用する方法:
1. normalized
プロパティを使用したベクトルの正規化
normalized
プロパティを使うことで、元のベクトルを変更せずに、正規化されたベクトルのコピーを取得することができます。
- 説明:
normalized
プロパティを使うと、元のベクトルを保持したまま、そのベクトルの正規化されたコピーを取得できます。
2. Normalize()
メソッドを使用したベクトルの正規化
Normalize()
メソッドを使用すると、元のベクトルそのものが正規化されます。
- 説明:
Normalize()
メソッドはベクトルを直接変更するため、元のベクトルが正規化されます。
サンプルコード: 2種類の正規化方法を比較
以下は、両方の正規化方法を組み合わせたUnityスクリプトのサンプルです。W
キーでnormalized
プロパティを使ったベクトルで移動し、S
キーでNormalize()
メソッドを使ったベクトルで移動します。
動作確認:
- シーンセットアップ:
- Unityで新しいプロジェクトを作成し、シーン内に2Dオブジェクト(例えば、
Sphere
)を配置します。 - 上記のスクリプトを作成し、2Dオブジェクトにアタッチします。
- 実行方法:
- Unityのプレイモードを開始し、
W
キーを押すと、normalized
プロパティを使って正規化されたベクトルでオブジェクトが移動します。 S
キーを押すと、Normalize()
メソッドを使って正規化されたベクトルでオブジェクトが移動します。
まとめ:
normalized
プロパティ は元のベクトルを変更せずに、正規化されたベクトルのコピーを取得できます。Normalize()
メソッド は元のベクトルを直接変更し、そのベクトルを正規化します。- このサンプルを使って、Unityでのベクトルの正規化を体験し、その違いを理解することができます。
ディスカッション
コメント一覧
まだ、コメントがありません