プログラマーの卵の日記

備忘録になってます!小難しそうなことから超簡単なことまでやってます!!

【DxLib】スカイボックスの有無

構成


No.1 スカイボックスの有無
No.2 コード的な話







    No.1 スカイボックスの有無


 3Dのゲームでスカイボックスが有るのと無いのではこのくらい違いがあります。
あと、画像で見せるゲームの補足として、地面のモデルはあるけど壁のモデルは一切ないです。フォグはかかってます、違う記事でフォグ有無のやつも書くつもりですが、今回にはかかわりないのでフォグかけっぱです。

スカイボックス有り

f:id:yutateno:20200223233310p:plain




スカイボックス無し

f:id:yutateno:20200223233323p:plain




スカイボックスモデル

f:id:yutateno:20200223233336p:plain








    No.2 コード的な話


 コード自体はこれだけです。


void BaseMove::SkyBoxDraw()
{
	SetUseLighting(FALSE);
	SetUseZBuffer3D(TRUE);
	MV1DrawModel(skyBoxUp);
	MV1DrawModel(skyBoxUnder);
	SetUseLighting(TRUE);
	SetUseZBuffer3D(FALSE);
}


 先にコードについて説明すると、スカイボックスは背景みたいな感じで、別に光源による影響とか要らないのでSetUseLightingはFALSEにしています。
次にスカイボックスは絶対背面で描画したいのでSetUseZBuffer3DをTrueにしています。

 それと、これを見たらわかるんですが、上下にスカイボックス置いてありましたね。コード見るの一年ぶりだったので自分も忘れてました。
それで、上だけと下だけの画像をのっけます。

下のスカイボックス無し

f:id:yutateno:20200223233400p:plain




上のスカイボックス無し

f:id:yutateno:20200223233413p:plain




 わかりやすいようにジャンプさせていますが、このゲームではジャンプします。
上のスカイボックスはプレイヤーの座標に依存するようにしているので、ジャンプすると浮くのでスカイボックスも浮きます。分かりやすく言えば、APEXのジャブラルタルのプロテクトドームみたいな感じです。
そのため、下にもスカイボックスを反転させて置いてあるんですよね。だからまぁジャンプとかを考慮しなければ無くていいと思います。
そんな感じ