楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル

log

2012.05.14 C++:ぷちアップデート


前回実装したシャドウマップの改良やクロスシミュレーション等の実装をしてみました。
実装内容については以下のような感じです。
・HWシャドウマップ+PCF
・CPUによるクロスシミュレーション
・万有引力の法則によるパーティクル運動

前回のシャドウマップでは影がガタガタだったので、PCFで影を滑らかにしています。
PCFというのはシャドウマップのサンプリング時に周囲のピクセルからもサンプリング
することで影をぼかすテクニックのことで、実は前回の画像でも微妙にPCFを使って
たりする(4回サンプリング)のですが、今回はサンプリング数を8回に増やしてみました。
それとシャドウマップテクスチャのフィルタがPOINTになっていたのでLINEARに変更
することでボケ具合をほんのり上げられるようになりました。

さて、今度はクロスについてですが。これはまだまだ課題が多いです。実装方法として
は最も一般的なバネ・ダンパモデルで実装しましたが、これは"頂点単位にまず移動
計算を行い、隣接頂点との距離が伸びたり縮んだりしている場合は戻す方向に外力
を加える"という、布が伸びることが前提の実装方法なのでどうしても布が伸びる問題
が起こってしまいます。さらに布を細かくしたりして頂点間隔が変化すると外力の
大きさも変化してしまうという問題もあったりします。
クロスシミュは「風ノ旅ビト」の影響で、自分でどこまで出来るかなといった感じで試し
てみたのですが。。パラメータがちょっと大きすぎたりするだけで布が爆発したり、
汎用的な実装はかなり難しいということが分かりました。動画でもフレームレートが
30FPSを若干下回る時がありますが、これはクロスシミュが概ねの原因です。
また、クロスはデルタ時間が大きすぎると布が爆発してしまうのでFPSが下がっても
デルタ時間を上げないように設定しているのですが、これが原因でFPS低下時に
布がゆっくり移動してしまう現象が動画で見られます。本当はソフトボディ辺りも挑戦
したいところなのですが、、さてどうしたもんか。

後、最後の万有引力についてはお遊びで実装してみました笑。

それと話が変わりますが。先月当たりに普及したS.M.A.R.Tウイルスという奴に感
自分のPCが感染してしまいました。感染当初はVCを開きながら衝突判定のサイトや
ブログを巡っていただけなのですが。どうもブログ経由から感染したりするようです。
更にWindows7のアップデートを怠っているPCにのみ感染するということなので、、
最近アップデートをしていないそこのあなた!是非是非アップデートしましょう。

ちなみに感染した時は勝手に再起動してファイルが画面から全て消えます。自分はこれ
で「えっ!?バックアップとってないのにデータ消えたっ!?」とかなり焦りました;ただ実際は
ファイルが全て隠しファイルになっているだけなので、もし感染してもHDDを初期化
せず、ネット上の解決策なりを読んで復活させることをお勧めすます。
ほんと…ウィルス怖いなぁ。

comment

post your comment

投稿フォーム
name
mail
url
comment
icon
アイコン一覧
del key