3Dポリゴンでマインクラフト風山歩き
公開キー【KXJA4R3】(2017年3月5日公開)
これまでのスプライトを使った3D表現とは趣向を変えて、いわゆるPCやゲーム機で表現するのと同じやり方で、ポリゴンの山を描写してみました。山の中を歩けるだけで、掘ったり何かを置いたりはできません(*ノノ)
- ポリゴンの表示は、GTRI命令で三角形を塗りつぶしています。
- ゲームパッドで、カメラの方向を変えたり移動したりできます。
- カメラ座標系への変換は、カメラ座標系のX,Y,Z3方向の単位ベクトルを用意して、ワールド座標(山のポリゴンの各頂点)の位置ベクトルと、3つの単位ベクトルの内積をとっています。三角関数等は不要で、内積を取る単純な掛け算と足し算だけで変換できます。
- カメラ座標系に変換してしまえば、あとはこれまでやっていたのと同じく、カメラからのZ座標の値でX,Y座標の値を割り算するだけで、透視投影できます。
- 本当はZ座標で手前と奥をクリッピングしないといけないのですが、これをやろうとすると三角形だったポリゴンが最大で5角形(三角形3つ)になるため、単純に「ポリゴンの頂点のZ座標が、どれかひとつでも閾値より手前に来たら、そのポリゴンは描画しない」という方法にしました(*ノノ)そのため、てまえのポリゴンがよく欠けます(; ̄▽ ̄)