「ワールド座標変換」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
(ページの作成:「'''ワールド座標変換'''とは、3Dモデルなどをワールド座標に配置することをいう。 3Dモデルの持つ各頂点の座標はロ...」)
 
1行目: 1行目:
 
'''ワールド座標変換'''とは、[[3Dモデル]]などを[[ワールド座標]]に配置することをいう。
 
'''ワールド座標変換'''とは、[[3Dモデル]]などを[[ワールド座標]]に配置することをいう。
  
3Dモデルの持つ各[[頂点]]の座標はローカル座標と呼ばれる。
+
== 概要 ==
 +
3Dモデルの持つ各[[頂点]]の座標は[[ローカル座標]]と呼ばれる。
 
いわゆる[[3DCAD]]などで作図したときの座標である。
 
いわゆる[[3DCAD]]などで作図したときの座標である。
これを[[ゲーム]]のシーンなどの「ワールド」に配置することをいう。
+
これを[[ゲーム]]のシーンなどの「ワールド」に配置する処理をいう。
 +
 
 +
== 処理 ==
 +
ワールド座標変換で行われる操作は基本的には「拡縮」「回転」「移動」の3つの[[変換行列]]である。
 +
* [[拡大縮小行列]](scale)
 +
* [[回転行列]](rotation)
 +
* [[平行移動行列]](transform)
 +
 
 +
上記の順番で行列の乗算を行うと[[ワールドマトリックス]]が得られる。
 +
float4x4 world = scale * rotation * transform;
 +
 
 +
'''この操作は「順序」が重要で、処理の順序を変えると残念な結果になる'''。以下はダメな例である。算数の教科書にはこの処理を指して「TRS」などと書かれているため逆順だと勘違いすることが多い。
 +
float4x4 world = transform * rotation * scale;
  
 
== 関連項目 ==
 
== 関連項目 ==

2020年1月24日 (金) 02:03時点における版

ワールド座標変換とは、3Dモデルなどをワールド座標に配置することをいう。

概要

3Dモデルの持つ各頂点の座標はローカル座標と呼ばれる。 いわゆる3DCADなどで作図したときの座標である。 これをゲームのシーンなどの「ワールド」に配置する処理をいう。

処理

ワールド座標変換で行われる操作は基本的には「拡縮」「回転」「移動」の3つの変換行列である。

上記の順番で行列の乗算を行うとワールドマトリックスが得られる。

float4x4 world = scale * rotation * transform;

この操作は「順序」が重要で、処理の順序を変えると残念な結果になる。以下はダメな例である。算数の教科書にはこの処理を指して「TRS」などと書かれているため逆順だと勘違いすることが多い。

float4x4 world = transform * rotation * scale;

関連項目