Skip to main content

ゲーム数学

苦手であっても、ゲーム開発に絶対に必要な数学を理解しましょう。

三角関数

 三角関数とは、平面三角法における、角度の大きさと線分の長さの関係を記述する関数の族、およびそれらを拡張して得られる関数の総称である。  簡単にいうと、上記の図で 角度 θ が知っていれば、...

線型代数学

ベクトル  ベクトルとは、一般的には「大きさと向きをもつ量」であり「矢印で表すことのできる量」である。  2次元のベクトルは2つの成分(x, y)があり、3次元の場合は3の成分(x, y, z...

3Dモデルの仕組み(その1)

 今まで、FBXファイルでモデルをダウンロードし、そのまま使ってきましたが、実際にどう作られているのか調べてみましょう。 頂点(Vertex / バーテックス)  頂点は3D空間の「ある位置」を...

各種の変換(トランスフォーム)

 今まで、物体の移動(位置)、回転と拡大縮小をUnityの「transform」コンポーネントを使ってやってきました。  実は裏側でなにが行われているのか、学んでいきましょう。 移動(位置) ...

オイラー(Euler)回転の弱点:ジンバルロック

ここまで学んできた回転方法は「オイラー」(Euler)回転といい、x, y, zの各軸ごとに別々に回転することにより、オブジェクトに連続に適用すると、自由に回転できる… 設定しても、回転順番を...

単純な物理

ゲームでよく使われそうな物理を練習しましょう。以下の処理は、Unity の Rigidbody を対応してくれる処理である。 移動、速度、加速度 移動と速度の関係性  次の状況を考えてみてくださ...

当たり判定

Unityのコライダーのおかげで、当たり判定は自動的に計算され、「OnCollisionXXX」「OnTriggerXXX」で衝突があった時にお知らせを受け取る、処理ができるが、実際に裏側でなに...

3Dモデルの仕組み(その2)

模様を付けましょう:UV座標 今までのモデルはすべて白い色で表示してきたが、実際にゲームで使うものは一定色ではない。前回作成した「MyCube」をベースにし、複雑な模様(テクスチャ)を付けてみま...

シェーダー

シェーダーはGPU(グラフィックスカード)で実行する特別なプログラムである。シェーダーを使うことにより、3Dモデルの「見せ方」(描画)などを自由に変えることができる。ただし、GPUで実行するプロ...

Shader Graph

プロジェクト設定 ShaderLabの自由度が高く、とてもパワフルなシェーダの作り方であるが、やや難しいところもある。複雑で高速なシェーダが必要なら、ShaderLabの方が良いと思われるが、単...