GWに入りましたが、みなさんどんな風にお過ごしですか?
うちは家族全員が風邪を引き(僕は喉痛だけの軽い症状ですが)、子供たちは同時に38~39度の熱を出して、どこにも出かけられない状態です。Wolf家、始まって以来のピンチ。
年度末と年度始めは仕事が立て込む上に飲み会が続き、ろくに制作活動を行ってませんでしたが、どこにも出掛けない家に居っぱなしのGWですから、制作再開です。
先日、Naoyukiさんに改修してもらった護衛艦ですが、その際に影の出方がおかしい事が気になりました。セルフシャドーの情報が入ったShadow VolumeのLODを作り直しです。
Shadow Volumeは、左の画像のように表面となるモデルよりやや小さいサイズに簡易モデルを作ってやるのがセオリーです。どのくらい小さく作ってやるのが適正なのか、僕もよく分かってないので、その辺は試行錯誤しながらやってみて下さい。
このShadow Volume作り、以前はまずは元モデルを数%程度縮小してそこから手直ししてたのですが、この方法はとても効率が悪い。ドーナツ形状のものを想像していただくと分かりやすいと思いますが、単純にスケールを縮小すると内側の輪っかも小さくなって元モデルの内側より小さくなってしまいます。これだと手作業で何らかの補正をしてやる必要があります。
先週、ふと法線(ポリゴン面の向き)に沿って移動してくれたら手作業が減っていいかもと、と今更のように思い立ち、Metasequia用のそんなプラグインを探したら2つほど見つかりました。
CoralOcean
http://coralocean.sakura.ne.jp/
katahoの部屋
http://www.aa.alpha-net.ne.jp/kataho/
両方を使った感じだと、数値で直接指定したがる自分の使い方にはCoralOceanさんのプラグインの方が合ってそうです。
このプラグインを使ってみてシャドーボリュームを作ってみたところ、手作業による補正は必要ではありますが、単にスケール縮小してから始めるよりは、その効率性は段違いでした。約一日で航空機と護衛艦の2つのモデルのシャドーモデルが完成したので、やっぱりその効果の現れだと思います。
シャドーモデルの作業中、自分は元モデルを(例えば)紫一色で、シャドーモデルを(例えば)黄一色で塗りたくり、縮小のされ具合が十分かどうかを確認するのに役立たせています。黄ポリゴンが見えている間は、まだ元モデルより大きいか同じであることを意味してるのでゲーム内でも変な影が出ることになりますから、この時点で黄ポリゴンが見えなくなるまでその面を重点に補正していくわけです。
【追記】
作成した護衛艦のシャドーボリュームの具合をARMA2内で確認。
スクショは護衛艦側の着艦デッキにご注目ください
長大モデルだからなせいか、コリジョン判定するジオメトリが有効になってなくて着艦することは出来ません(すり抜けちゃいます)。