読書メモ:初めてのThree.js
以下は、最近読んだ本の読書メモです。
最近、「初めてのWebGL 2 第2版」を読んで、ブラウザでの3Dグラフィックスについて調べました。
しかし、WebGL2だけでは多くの機能を自分で実装する必要があるため、便利な3Dライブラリである「Three.js」についても学ぶことにしました。
Three.jsを使うと、WebGL2で必須となる面倒なシェーダー言語をプログラムすることなく、多くの便利な機能を利用できます。例えば、WebGL2には無いさまざまなカメラ、光源効果、ジオメトリ、マテリアル、アニメーション、テクスチャなどを簡単に設定できます。
さらに、WebGL2にアクセスしてカスタムシェーダーやポストプロセスを使って独自の処理を追加することもでき、Three.jsは非常に便利なライブラリであると感じました。
3Dグラフィックスだけでなく、Physijsという物理ライブラリを使って、重力、摩擦、弾性などの物理効果も比較的簡単に実現できることに驚きました。
以上から、WebGL2で直接グラフィックスを書くよりも、Three.jsを利用する方が圧倒的に便利です。
Three.jsを学んだことで、UnityやUnreal Engineなどのゲームエンジンが、3Dグラフィックスでゲームに必要となる機能、例えばシューティングゲームの衝突判定、格闘ゲームの物理効果、キャラクターの作成をより簡単にしていることも想像できました。
ゲーム作成には今のところ興味はありませんが、メタバースやデジタルツインなど、ゲームエンジンの利用はゲームにとどまらないと聞いているので、時間があればUnityやUnreal Engineも学んでみたいと思います。
すでに古くなっているため第3版が出てほしい所ですが、フルカラーで非常に見やすく、予備知識なしで分かりやすくなっています。
初めて3Dグラフィックスについて学ぶにWebGL2についてもある程度知っていた方が良いと思うので「初めてのWebGL 2 第2版」合わせておすすめしたい書籍です。