4.プロシージャルジェネレーションの動画チュートリアルに挑戦

今回は動画で打ち込んだだけでは動作せず、githubのソースコードと比較してどうにか動かしました。

A04

前回までに、XZ平面に壁を描画したので、今回は洞窟が立体になるように、Y軸に伸びる壁を作成しました。

002

求める方法としては、まだ調べていない頂点1を起点として、隣接する頂点2を調べ、それが上記画像のように、二つの三角形で使われているかどうか調べます。もし使われていなければ、アウトラインエッジ(外周の辺)になります。外周であれば、その辺に続く頂点は、また外周の続きになるので、これを再帰的に調べ上げて、一周し頂点1にたどり着くまでおこないます。

上記を求めるために、動画3までに作成したXZ平面に対して、三角形の一覧情報を保持しなければならないためこの動画4でTriangle構造体を用意しました。

そのため今までのSquareGridのほかにTriangleリストや,Outlineリストが出てきて、描画はインデックスバッファーであることなど、たくさんの状態があるので、注意深く追っていく必要がありました。

英語力不足のせいもあり、わからないところとしては左手座標と描画順を変更したところです。方向を合わせるのはわかりますが、なぜ頂点がその順序になるのかがわかりませんでした。ソースコード上にTODOなどを記述して、先に進めるようにしました。

どのぐらいユーザーが脱落しているか

Youtubeのチュートリアル動画だと、閲覧数が見えるのでどのぐらいの人が1動画ごとに脱落するかわかります。

  • E01 – 53,500再生
  • E02 – 23,400再生
  • E03 – 18,500再生
  • E04 – 17,200再生
  • E05 – 12,600再生
  • E06 – 9,200再生
  • E07 – 9,500再生
  • E08 – 10,400再生
  • E09 – 15,200再生

全9回で、見てみると初回のE01を試しに視聴して難しいと感じ、半数になります。E02からE03で5000再生減り、E04からE05でまた5000再生減っています。ユニークユーザーではないかもしれませんが動画の性質上、かなり特定のユーザーが意図的に見る動画なので、次回E5を乗り越えれば最後まで完走できそうです。

https://github.com/SebLague/Procedural-Cave-Generation

 

まとめ

OpenGLやDirectXでメッシュをプログラムで書いているのと同じなので大変でした。何とか最終章までこぎつけたいです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA