構成
No.1 スカイボックスの有無
3Dのゲームでスカイボックスが有るのと無いのではこのくらい違いがあります。
あと、画像で見せるゲームの補足として、地面のモデルはあるけど壁のモデルは一切ないです。フォグはかかってます、違う記事でフォグ有無のやつも書くつもりですが、今回にはかかわりないのでフォグかけっぱです。
スカイボックス有り
スカイボックス無し
スカイボックスモデル
No.2 コード的な話
コード自体はこれだけです。
void BaseMove::SkyBoxDraw()
{
SetUseLighting(FALSE);
SetUseZBuffer3D(TRUE);
MV1DrawModel(skyBoxUp);
MV1DrawModel(skyBoxUnder);
SetUseLighting(TRUE);
SetUseZBuffer3D(FALSE);
}
先にコードについて説明すると、スカイボックスは背景みたいな感じで、別に光源による影響とか要らないのでSetUseLightingはFALSEにしています。
次にスカイボックスは絶対背面で描画したいのでSetUseZBuffer3DをTrueにしています。
それと、これを見たらわかるんですが、上下にスカイボックス置いてありましたね。コード見るの一年ぶりだったので自分も忘れてました。
それで、上だけと下だけの画像をのっけます。
下のスカイボックス無し
上のスカイボックス無し
わかりやすいようにジャンプさせていますが、このゲームではジャンプします。
上のスカイボックスはプレイヤーの座標に依存するようにしているので、ジャンプすると浮くのでスカイボックスも浮きます。分かりやすく言えば、APEXのジャブラルタルのプロテクトドームみたいな感じです。
そのため、下にもスカイボックスを反転させて置いてあるんですよね。だからまぁジャンプとかを考慮しなければ無くていいと思います。
そんな感じ