バンプマッピングを実装してみた。考え方については分かっていたものの、具体的にコードで考えるのは難しかった。下の画像の地面の部分と、カプセルのオブジェクトから文字が飛び出しているように見えるところがバンプマッピングの処理。 次のサイトを参考に…
今日は視錐台カリングを実装した。実装したけど、考え方をきちんと理解しているわけではない。次のサイトに書かれている内容を参考にさせて頂いて、なんとなくで書いた。 edom18.hateblo.jp 描画オブジェクトが多い場合は違いが分かりそうだけど、今のところ…
シャドウマップがうまくいっていないことも気になってるんだけど、そもそもフォンシェーディングも綺麗にできていなかった。さらに考えると、親子関係のオブジェクトの位置関係もUnityと見比べると違う結果になっていた。 親子関係のオブジェクトは、 ・親オ…
シャドウマップを使って影を描く処理を実装しようとしたけど、難しくて今日中に終えることができなかった。 毎日1個ペースで機能を増やそうと思ってたけど、何日か考える必要がある箇所がこれからもたびたび出てきそうな予感。以前に考えたことがある内容で…
今日はRenderTextureを追加した。いつものことながら、今のところ雑に追加したままになっている。 地面に敷いた、四角形の領域でRenderTextureを使用している。この機能があると、他のカメラでレンダリングした映像を再度画面に配置して、2次元のテクスチャ…
パーティクルシステムというのは、小さな点が次々に飛び出してくるような機能。 雪が降っているシーン、星が奥から飛び出してきて光速移動しているように見えるシーン、シューティングゲームの爆発効果とかで使うことができる。この機能があると、様々な用途…
objファイルの読み込み機能を修正した。objファイルの読み込み機能は数週間前に作ってはいたんだけど、頂点データくらいしか読み込めていなかった。今回は三角形のインデックスと法線、UVとテクスチャを読み込むようにした。objファイルが正常に読み込めるよ…
ようやくVRっぽい機能を1つ追加できた。 立体映像の表示方法にはいくつか種類がある。基本的にはどれも、左右の目で別々の画像を表示する構成になっている。例えば次のような種類がある。 ・サイドバイサイド (side by side) ・トップアンドボトム (top and…
今日はシェーダに関連する機能を追加していた。昨日書いたように、シェーダ言語では設定しきれないけどレンダリングに必要な項目がいくつかある。UnityではShaderLabのPassブロックの中で、レンダリングステートとして設定できるようになっている。この辺り…
今日は細々と気になっていたことを修正した。落ち着いて衝突判定の処理を書き進めていきたいところだけど、積もってきた未処理の作業を減らしておかないと落ち着いて考えることができなさそうだった。 今日やったことは主にMaterial.renderQueueの部分。rend…
今日はFPS(画面描画回数の単位。フレーム毎秒)の表示機能を追加していた。画面の右上あたりでデバッグ情報とかを表示する窓みたいなものなんだけど。ゲーム開発者の間では一般的にStatsというらしい。以前、Flashでコンテンツを作っている時に、よく誰かが実…
今日は画面に表示されるオブジェクトの親子関係の座標についての実装を変更していた。今まではObject3Dというクラスに座標を格納していて、positionというメンバ変数に保存していた。座標を変えたい場合は次のように書く。 obj.position.x = 10; こうすると…
Unityほど便利でないとしても、ひとまず動くようにしたい。あと、ライブラリだけじゃなくてグラフィカルなエディタもセットで作りたい。そこまでいくと1人でできないかもしれないけど、できるだけ目標に向けて作っていく予定。 今日はゲームエンジンアーキ…
最近VTuberとか流行ってるし、時代はVRだと思いこんでVRエンジンを作ることにした。ちょうど数学の勉強もしたかったので、幾何を覚えたら得をするのではないかという目論見もある。 何から手をつけていいやら分からないので、とりあえず基礎からしっかり覚え…