Search


This site was

« 2010年4月 | Home | 2010年6月 »

2010年5月18日

着艦スクリプトWIP、すげぇ。


 Naoyukiさんの作った着艦スクリプト、更に進化してます。
 動画を見てもらったら分かると思いますが、護衛艦が前進中にも関わらず、かちっとヘリで着艦することができます。ヘリから降りて歩くこともできます(艦が進行中だと、ちょっと厳しいけど)
 世の中、進歩してる!
 
 
 僕は・・・・遅れてます。

2010年5月 9日

満艦飾もどき



 これも、やりたかったこといくつかのうちのひとつ。
 横須賀からの冬の帰り道、バースに停泊する護衛艦がこうしてぼやーっとオレンジ色に照らされている光景が印象的でした。
 満艦飾までやると多分ですが相当重くなるはずなので、写真から見つけた室外灯っぽい設置数にしました。使い方はLボタンを押すか、this setBehaviour "safe"と書くだけです。
 
 あともう一つやりたいことがあって、それは艦首には日の丸を、艦尾には自衛艦旗(いわゆる日章旗)を翻すこと。でもやり方がよく分からず躓いております。

2010年5月 6日

さらに進化してる護衛艦むらさめ


 最近、護衛艦むらさめをNaoyukiさんと一緒に作っています。
 先日のエントリーで「SH-60Jで着艦したい(けど、すり抜けちゃうんだよね)」と書いたら、Naoyukiさんが、それを可能にする技巧を組んでくれました。マルチガナーといい着艦機構といい、こういったことを朝飯前のようにやり遂げる人達がいることが素晴らしい。

 どういう仕組みで可能としたのか、技術音痴の僕にはさっぱり分からなかったのですが(ジオメトリの入った透明モデルを呼び出しているのかな)、ヘリコプターでちゃんと着艦できます。
 

 Get Outすると、甲板の上に立つことも出来ます。
 歩くこともね。
 Nさん、ちょっと凄いよ、これ。
  
 ところで甲板にはヘリとパイロット。
 ここで護衛艦を前進させたらどうなると思いますか?
 本日の「続きを読む」は、その体験記です。


 船は前進しますが、自分は前進しません。
 ルームランナーと化す甲板の上を全力で走る私。
 

 「そういやヘリは?」
 と思って後ろを振り向いたら、置き去りされたでござる。
 そして海中へボッシュート。
 

 全力疾走よりも護衛艦の前進スピードが速いのか、次第に後方に追い詰められる私。
 

 走れど走れど、ついに最後尾に。
 手摺のジオメトリのお陰か、実は全力疾走し続けていれば、甲板の上に居続けることができます。
 

 艦長が転舵を指示したのでしょうか。
 隅っこに追い詰められました。
 もう走るのを諦めてもいいですか?
 
 
 

 走るのを止めると、ヘリと同様に海中に落とされてしまいました。
 やっぱり。
 

 船が去っていくのを大海原で見送る私。
 ものすごい寂寥感がやってきます。
 ゲームなのに。
 テストプレイなのに。
 
 
 実験結果はいかがでしたか?
 実験はご愛嬌というかオマケですが、ヘリが着艦できるだけで凄いことと思います。Naoyukiさん、凄いぜ。
 護衛艦のモデリング時、どうせそんなことは出来ない、と思って適当なテクスチャしか作らなかったことを後悔。
 
 そのうちリリースされると思うので、実際に遊んでみてください。
 その時にきっと気が付く思いますが、護衛艦の着艦スペースはとても狭いです。
 ほんの少し前に行き過ぎるとローターが格納庫に当たるし。
 現実の着艦シーンでは、洋上では風だの揺れだのがあって、その上で護衛艦は前進してるわけで。更に雨天・霧・夜間だろうが離着艦しなくちゃならないのでしょうから、自衛隊のヘリパイロットさんの技術は高いなぁと思うわけです。

2010年5月 5日

-windowモード


 護衛艦にある落下防止用の手摺やら信号旗を係留する索とか、透過を使ったテクスチャがうまく透過せず、アルファマップを手書きしたり変換方法をいくつか試したりrvmatを書き換えたりProxy化したりと試行錯誤してました。ところがARMA2の起動と終了を繰り返しているうちに、ついにARMA2が正常に終了しない事態に(灰色一色の画面になり、OSは生きてると言えどデスクトップには戻れず、もうリセットボタンに手を掛けるしかないような症状)。
 ビデオボードのうるさい小型ファンを外して代わりに8cm汎用ファンを直付けした、いい加減な静音改造が仇になったのでしょうか。
 
 汎用ファンは回転数を上げて対処するとしても、デスクトップに戻れないのは戴けないので、OFPに触れてから7年、はじめて-windowモードにしてみました。ショートカットに -windowと書く、位の知識はありましたが、実際にやってみると確かにウインドウモードにはなってるんですが、ARMA2は僕のディスプレイ解像度を目一杯使っていて、こりゃあまり意味がないような。
 僕は小窓にしたかったのに。
 
 Video Optionをいじっても、検索先にあった「-window -x=800 -y=600と書け」を試しても小窓にはならず。自力で解決したかったけれど、知ってる人に聞いた方が早いなとIRCで尋ねたらGachopinさんから「マイドキュメントにあるARMA2.cfgをいじればいいよ」と有難いご神託が。
 設定値をいくつかいじってみると上のスクショのように、やりたい画面、なりたい自分になることができました。ありがとう、Gachopinさん。
 
 というか、ゲームに没入することが目的じゃなくなった人間にとっては、この-windowモードはすごく便利だなと思いました。ゲーム終了してもALT+TABしても安心してデスクトップに戻れるし、起動かけて待ってる間は別の作業も進められるし、ブラウザもIRCも同時に見れるし。もっと早くやれば良かったです。

 
 ここから先は、フルスクリーンモードに興味がない人向けに。
 横幅1,280×縦幅900の小窓にしたかった僕の設定↓
 


(前略)
Resolution_W=1280; // ←おそらくディスプレイに出力したい解像度の横幅ピクセル数
Resolution_H=800; // ←〃 の縦幅ピクセル数
(中略)
Render_W=1280; // 内部解像度の横幅だと思います。Resolution_Wと同じでよいかと
Render_H=800; // 内部解像度の縦幅だと思います。Resolution_Hと同じでよいかと
(中略)
winX=620; // ディスプレイ左上を基点として、ウインドウを置く横位置。僕は右上に置きたいので(1920-1280で640)
winY=10; // ディスプレイ左上を基点として、ウインドウを置く縦位置。ウインドウバーをつまめるスペースが少しあればいいので、僕は10(px)としました
winW=1280; // まさにウインドウサイズの横幅
winH=800; // まさにウインドウサイズの縦幅
winDefW=1920; //恐らくですがデスクトップの解像度(横)
winDefH=1200; //恐らくですがデスクトップの解像度(縦)
(後略)

 
 もし試されるなら、ARMA2.cfgのバックアップを取っておくのもお忘れなく。

2010年5月 3日

OPS-24


OPS-24艦船搭載用対空レーダー。
護衛艦を作る時にこれだけは絶対にやりたいと思ってたことのうちのひとつを。
 
しかしGIFアニメなんて、生まれて初めて作りましたよ。

2010年5月 2日

シャドーボリュームの楽な作り方


 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内で確認。
 スクショは護衛艦側の着艦デッキにご注目ください

 

 

 
 長大モデルだからなせいか、コリジョン判定するジオメトリが有効になってなくて着艦することは出来ません(すり抜けちゃいます)。