読者です 読者をやめる 読者になる 読者になる

OpenGL フリーゲーム作製

今日びっくりしたニュース
# ↑エントリと全く関係無い書き出し.


...まぁ,熟年離婚は置いておいて,本題.



↑とーっても地味な変更.
今までの絵と比べても,何が変わっているのかイマイチ判らない気もしますが.
実はid:keim_at_Si:20050412の変更とは,比べ物にならない位の時間が掛かってたり.

■事の経緯

一枚絵の雲だと,背景をグリグリ回転させた時に,平面っぽさが目立ってしまう.
# 人間は「動き」によって立体性を視認できるそうです.
# 普通にスクロールさせる分には,平面だと気付かない背景でも
# 回転の動きが加わると急に平面に見えてしまったりする.


そこで,雲を,適当な凹凸を付与したモデルにしてみる.
すると,今度は急角度になったところで,ポリゴンエッジが目立ってくる.
# この後にBlog上で公開したため,公開当初から凸凹雲になっている.
# これが今までの状態.


背景は,実際には高速スクロールしながらゆっくりと回転している.
そのため,ゲーム中は静止画ほどは,ポリゴンエッジが目立たない.
なので,別にコレはコレで良いかな,とか思ってたんですが,
やっぱり,斑鳩と見比べてしまうと,絶望的な差を感じてしまう訳ですよ.
# あったりまえ♪
# もちろん,そんな所まで,俺一人で辿り着けるなんて思ってませんし,
# 雲一個変えた所で,どうこうなるレベルでは無いんですが,理想は高く,です.


そこで,「背景のモデルビュー行列の影響を受けるオブジェクト」という新属性を作って,
背景のモデルの上に,半透明の雲を10個位,流してみる.で,結果が↑.
# 自機とか敵機とか弾とかは,背景のモデルビュー行列を無視して描画している.

■...という事で,

確かに静止画における背景雲のポリゴンエッジは,
大分目立たなくなった気はするんですけど,

  • 処理が重くなる.
  • 背景は広大で,カメラアングルによって見える範囲が大きく変化するので,生成位置と削除位置の設定が難しい or 面倒くさい.
  • 高速スクロールをさせてる分には,実はそれ程差が無い.
  • 半透明雲は一枚絵なので,回転すると少し平面っぽく見える.
  • ちなみにビルボードにすると,回転に合わせて雲も回転して見えるので没.

うーん,問題山積み.
使い所を限定すれば,効果的な気もするんだけど,
半透明雲を背景にずっと垂れ流している今の状態は,
ゲーム/動画として見ると,あんまり良いとは言えないっぽい.
# 一番良い解決方法は,背景をあんまり急角度で見せないことだと思う.
# とりあえず,折角,新属性オブジェクトを作ったので,
# 雲を抜けて地上に降りたところで,白い鳥の群れでも飛ばしてみようか...