0

私は Three.js 3D JavaScript ライブラリにかなり精通しており、オブジェクト、ライト、テクスチャを追加し、それらをグループ化し、それらを少し動かし、カメラをいじる方法を知っています。

私が知りたいのは、内部の仕組みを学ぶことで、次のレベルに引き上げる方法です. 行列のようなものに関する情報についてはすでによく調べましたが、見つけたのは複雑な数学的例だけです。

オブジェクトの特定の頂点にオブジェクトを追加する方法やエッジを見つける方法など、three.js でより複雑なことを行う方法を学ぶのに役立つサイトや本を教えてくれる人がいるかどうか知りたいです。球の周りを転がる別の球を取得します。

次に、ベクトルを使用して、オブジェクトを特定の方法で移動させる方法を学ぶことができますか? 私は努力を惜しみませんが、何を読むべきか、このタイプのライブラリに関連するものは何なのかわかりません。

4

1 に答える 1

5

コンピュータ グラフィックスの線形代数を調べます。選択できるリソースはたくさんあります。あなたの背景に近いものを見つけてみてください。数学があなたのバックグラウンドの一部ではない場合でも問題ありません。より多くのゲーム開発関連の領域に進んでください。

個人的には、経験豊富なゲーム開発者がわかりやすく書いている3D Math Primerをお勧めします。数字の操作は、羊を数える 1D から始まります。とても簡単です。この本は、数学 (線形代数、幾何学) と、ベクトル、行列、四元数などの概念の背後にあるコードを詳細に説明しています。この本では C++ を使用していますが、JavaScript に慣れていれば構文を理解するのはかなり簡単です。three.js は既にベクトル、行列、クォータニオンなどを実装しているため、主なポイントは概念に慣れることです。それらが何をするのか、特にそれらをどのように使用できるかを理解することが重要です。

それが役立つ場合は、線形代数に関するカーン アカデミーのリソース(ベクトル行列など) を確認することもできますが、コンピューター グラフィックス側の数学側の焦点はますます少なくなります。ゲーム インスティテュートの数学チュートリアルは素晴らしいですが、残念ながら無料ではありません。

基本から始めます。ベクトルとは何か、典型的なベクトル操作は何か (外積を使用して 2 つのベクトル間の垂線を取得し、内積を使用して 2 つのベクトル間の角度を取得するなど)、そこから自分のペースを見つけてください。行列は恐ろしく思えるかもしれませんが、ベクトルを理解すれば、もっと理にかなっているでしょう。

three.js はすでに多くの機能を提供しているため、数学について読んで、three.js で直接試してみることができます。

付け加えると、mr.doob は、ベクトルと行列を扱う、three.js で教えられるインタラクティブ 3D グラフィックスに関する非常にクールな (そして無料の) コースへのリンクを追加しました。丁寧に説明されていてとても分かりやすいのでオススメです。

インタラクティブ 3D グラフィックス Udacity コース

于 2012-05-20T06:56:11.970 に答える