KUNISAN.JPブログ - 20 / 1595 ページ

新規書き込み
ページ:1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 1595

プチコン4でポリゴン描写の実験

名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2020年12月13日
プチコン4でポリゴン描写の実験今までPython+Pygameやプチコン4で疑似3Dゲームをいくつか作りましたが、より三次元的とも言える「ポリゴン」は作ったことがありませんでした(ちなみに、プチコン4には3D関連の命令は備わっていません)。先日、ふと「立体の中心にX軸、Y軸、Z軸を通し、立体の各頂点をそれぞれの軸で回転させればポリゴンも実現できるのではないか?」と思い浮かび、早速プチコン4でポリゴンの実験プログラムを作ってみることにしました。3次元の座標を2次元に変換する手法は、いつもの関数(Z座標に比例した数で1を割り算したものを縮小率とする)、軸の回転は回転行列を使います。

まずは各面の表示の順番を考える必要のない「ワイヤーフレーム」の立方体から作ってみました。回転行列のところでちょっとした勘違いがあって、少し時間がかかってしまいましたが、それ以外はほぼ頭の中で思い描いた通りに作ることができました。
※このワイヤーフレームも以降の他のプログラムも、Joy-Conで回転や移動の操作が可能なものです。動画の最後の方でプログラムを確認できます。



続いて6面色違いの立方体を作ってみました。グラフィック面に三角形を描く「GTRI」という命令で、三角形を合計12個描写する形です。グラフィック面での描写になるので、各面(三角形x2枚)の描写の順番を「向こう側からこちら側(最前面を最後に描写)」に合わせる必要があります。これについては当初、頂点座標等の配列変数を各三角形の中心のZ座標を基準にRSORT(逆順)で並び替えたのですが、これだと時折向こう側の三角形の一部がこちら側に表示されてしまう不具合が発生してしまいました。そのため「面の中心から座標0,0,-200(カメラの位置)までの距離」を基準に配列変数を逆順に並び替えた所、今度はうまく表示されるようになりました。



ちなみに一般的なポリゴンは三角形を単位図形として、これを多数構成して描写することが多いようです。私は最初、「四角形のスプライトを自由に変形できれば、ポリゴンも楽に表現できるのに」と考えてしまいました。しかし、「一般的な手法」ということであれば、「三角形をいくつも構成する方法で慣れておくのも悪くないかな」と思うようになりました。

今度は「プチコン4では処理落ちせずに三角形をいくつまで描写できるのだろう?」ということで、球体に三角形をいくつも貼り付けた形のものを作ってみました。当初は300個位で画面にチラつきが発生するようになってしまったのですが、これはプチコン4のVSYNC命令がグラフィックの描画の完了を待たずに画面を更新してしまうからのようです。そのため、GTARGETとSPPAGEを用いて、フレーム毎に描画面と表示画面を切り替える形にしたところ、600個位までは問題なく表示できるようになりました(動画は三角形600個のものです)。この数を超えてもチラつきは発生しないのですが、今度は処理速度に遅延が発生するようになります。



最後に今回の一連の実験のおさらいとして、三角形24枚で構成した異形(6方向に尖ったもの)を作成してみました。さらに光源の概念も入れ込んでみました。面の光の強さは、「面の法線ベクトル(単位ベクトル)を外積で算出し、それを光源からのベクトル(単位ベクトル)で内積したもの」としています。本当なら尖った部分の影が異形の本体にも反映されないとリアルとは言えないですが、まあそこまではさすがにいいかなということで、これにてポリゴンの実験は一区切りということにします。



ここからゲームとして発展できればいいのですが、今のところは具体的なアイデアが無いので、また後日何かひらめいたら作ってみたいと思います。それにしても、三次元の回転行列、外積、内積などが出てきて、久しぶりに頭が数式でいっぱいになってしまいました。





プチコン4関連記事(リンク一覧): 迷路を爆撃せよ - 自動生成した迷路を破壊するゲーム(プチコン4) / プチコン4で迷路自動生成プログラム / 令野蘭子さんのフリースロー - プチコン4でバスケのフリースローゲーム / スマイルじいさんのポリゴン宇宙旅行 - プチコン4で3Dポリゴンの避けゲーム / ぱちぱちフルーツ農場 - プチコン4で羽根モノパチンコ風ゲーム / ...(記事連続表示)

関連カテゴリー: ニンテンドー関連記事, プチコン4関連記事


プチコン4 SmileBASIC 公式リファレンスブック
プチコン4 SmileBASIC 公式リファレンスブック をAmazon.co.jpでチェック

ページ:1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 1595