プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:三国志軍記開発
索敵範囲半透明描画実装03
開発中のメイン画面
前回作成したサンプルを実装し、部隊の周囲を明るく、離れた場所は暗く表示した。遠くの山が霞んで見える?



◎どこか懐かしいチラチラ

前回作成したサンプルをメインプログラムに実装します。
従来は、

マップ描画 → ユニット描画

となっていた描画フローを、

半透明マップ描画 → ユニット描画 → 不透明マップ描画

とし、ユニット描画時にステンシルの描画処理を加えました。

索敵範囲半透明描画実装01

索敵範囲がチラチラするし、ユニットが描画されたりされなかったりするので、まるで初代ファミコンのスプライトオーバー現象のようです(苦笑)

5ms以上のマップ描画処理が2回になったので、パフォーマンスが確実に低下したわけですが、それでも25fpsぐらいで安定しているので、処理落ちではない気がします。

うーん…レンダーステート管理の問題かなぁ?



◎原因調査

しばらく悩んでいたら、ユニット描画後に不透明マップを描画するのが悪い気がしてきました。そこで、

半透明マップ描画 → ユニットのステンシル描画 →
 → 不透明マップ描画 → ユニット描画

というフローに変更したのですが…現象変わらず(ーー;

その後もあれこれ試して、ほどなく原因が判明しました。最初の半透明マップ描画前に、深度バッファをオフにしてなかったことが敗因でした(汗)

また、ユニットが表示されたりされなかったりする問題は不透明マップの高さによる問題でした(不透明マップは半透明マップより若干高くする必要があるのですが高過ぎでした)。



◎半透明地形の実装

部隊ラベルや索敵範囲描画時に、地形の高度を考慮してなかったバグを発見したので、ついでに修正しました。

索敵範囲半透明描画実装02

チラチラは完全に解消されて、索敵範囲とユニットが正常に表示されました。部隊の移動と共に、部隊周辺の明るい範囲も移動します。特に平野部の表示は私のイメージ通りでいい感じです^^

しかし、まだ問題が幾つかあります。

・ユニットや森の色が変わった
・ユニットが森の手前に描画される
・山岳地帯の表示がおかしい

ユニットの表示はレンダーステートの設定で直るかもしれませんが、問題は山岳地帯の表示です。



◎山岳地帯の半透明表示

地形が半透明なので、山岳地帯は山の向こうがうっすらと透けて見えます。遠くの山々が霞がかった感じでちょっと幻想的で綺麗なので「これはこれでアリか?」と思ったり(笑)

しかし、見た目が良くても立体感や距離感が掴めないので違和感を感じます。背景や演出効果として使うならアリかもしれませんが、高山地域が散在するゲームマップとしては問題です。

ということは、索敵範囲外を‘半透明’にしたのが間違いで、単に暗くすれば良かった、というわけです。

…うわ~何やってんだオレ!(>_<)



◎次回予告

「半透明で表示する」という方針が間違っていたので、方針を「暗く表示する」に変更します。

というわけで、次回は暗く表示するサンプルの作成と実装です。

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。