Search


Recent Comments

This site was

« 2009年12月 | Home | 2010年2月 »

2010年1月31日

進捗。

 ずっとイチオシしてるL3DTというツールで生成したアトリビュートマップをそのままVisitor3にレイヤーマスクのマップとして使うことができないか、昨年から試行錯誤してましたが、ようやくその方法を確立させることができました。これでサテライトテクスチャもレイヤーマスクも自分で描くことなく島をこしらえることが出来ます。例えば島なんて作ったことがないよって人でも、手順書とおりに進めていけばL3DTとVisitor3を使ってわずか30分くらいでARMA2にオリジナルの島を登場させることも不可能ではありません。
 

 地面の近接テクスチャを自分の好みにあったものにしたくて、いろいろ試行錯誤していました。例えばARMA2では砂浜が土模様になっていて何となく違和感を感じていましたが、これを砂のテクスチャに入れ替えてみたかったのです。
 

 こちらは岩肌。岩肌はクラッターを持ちませんが、隣接するその上の草地からクラッターが伸びてきています。
 

 砂浜テクスチャと草地テクスチャが自然にブレンドされ、草地のクラッターも飛び地的に砂浜の上に生えています。とっても自然な植生に見えてくる好例。
 
 と、ここまではいいのですが。
 

 L3DTで出力したアトリビュートマップをそのままレイヤーマスクとして読み込みましたが、必ずしも万能というわけではなく、地形によってはこのように海から草が生えてきたりします。砂浜レイヤーの領域を手動で広げてやるか、L3DTのClimateをいじってやるかの調整が必要そうです。
 

 これの原因はまだ突き止められてないのですけれど、テクスチャがうまくブレンドされずに境目がくっきりと現れてしまっています。どう直せばいいんだろ。
 

 遠くの陸地で、まるでポリゴンが禿げているような描写になっています。
 これも原因不明。
 自分のPCが悪い、という話ならばいいのですが。
 
 L3DTで補正をかけた標高点データを表現しているハイトマップを、テキストデータにしてVisitor3に読み込ませるのですが、元が16bit情報なので標高点データが小数点第6位まで入っています。標高が千分の1ミリメートルまで精度があったって全く意味がないし、ゲームエンジンに負担かかりそうな気がしたので何とか消したかった。標高の最小精度なんて10cmくらいで十分だろ、ってことでECJPさんに相談したら、あっという間に小数点を四捨五入してくれるツールを作ってくれました。助かります。プログラムを書ける人はいいねぇ。

2010年1月20日

あんまり日本っぽくない



 地形はリアルな日本ですが、地面に被せるテクスチャ(サテライトテクスチャ)の風合いが、あまり日本っぽくないですね。L3DTのClimateのテンプレートで作ったのですが、英国のハイランド地方っぽい風合い。森になるように木を置いていけば、少しは日本っぽく見えてくるのかしら。
 真っ白に塗って雪国にしちゃおうか、とか安易な考えが頭をもたげてきます。

2010年1月19日

MaskMaperの使い方を翻訳

 以前、Gachopinさんに「MaskMapperというツールが島作りでものすごく使える」と教えてもらいました。軽く調べた感じでも、森林を作る時にものすごく役に立ちそうなツールだと思いました。
 OFP時代はWrptoolという島作成ツールで、範囲指定して森林オブジェクトを置いていたのですが、ArmA時代になると森林を置きたい場所を絵に描いてツールで読み込ませるという手法になるようです。時代の移ろいに驚きながら、このやり方に従えなければ木を一本一本置いていくような気の遠くなる作業になってしまうので、この際に使い方を真剣に学ぼうと思いました。
 そんなわけでBIS WikiにあるMaskMapperのチュートリアル翻訳です。

2010年1月14日

固定翼機問題が解決


年末からずっと解決できなかった「速度の速い固定翼機を飛ぶと画面がカクツク」事象、ようやく原因と解決方法が見つかりましたよ。これで次のステップに進めることができます。

相当の時間、この問題の解決に向け思いついく限りの方法を何パターンも試して原因の特定を行っていました。解決に要した期間は1ヶ月くらいでしょうか、そのうちほとんどがコンソール機360で過ごした時間でしたけど。
しかし原因が分かってみると実に「何でもっと早く気がつかなかったんだろう」というものだったりします。私のような深く考えずにデフォルト設定のまま進める慌てん坊さんがこれ以上に増えないよう、事象と解決策を記しておきます。

【事象】
・MissionEditor起動後、Playerユニットを固定翼機(F35やC-130等)にし「Flying」の状態からPreviewする
・あたかも描画のフレームレートが緩慢になっているような描写になる(ただし計測したフレームレートは約60FPS)

【切り分けてるうちに分かったこと】
・登場時の速度から、約半分まで減速すると、何事もなかったのかように描写が突然軽くなる。その状態から加速すると、登場時の速度を超えても描写が重くなることはない。ただしもっと速度が出ると、また重くなりだす。
・現象が現れるのは、速度が速めの固定翼機。UAVやヘリは最初から軽い。(地上車両は試してないです)
・マップのエリア外に出ると軽くなる。
・他の人のPCでも同様の現象が現れる(私のPCよりハード性能は遥かに上)
・VideoOptionから地上の草を一切、消してみる → 改善しない
・島つくりの段階で地上の草を一切、消してみる → 改善しない
・サテライトマップやレイヤーマスクの画像サイズを1/10に縮小してみる → 改善しない
・山、谷が一切ないフラットな地形にしてみる → 改善しない
・標高点同士の間隔を広げてみる → 広げてやればやるほど改善する

【ところが】
ということで、メッシュサイズ(標高点同士の間隔)を大きくしてやることで改善は図れます。私が作ったのは15m間隔のマップですが、OFPと同じ50m 間隔の場合は、重くなることはありません。しかしこれは根本的な解決方法にはなりません。だってArmAでは10m間隔、ARMA2も多分同じくらいなのに、登場時の固定翼機が重たくなることはありません。それよりなにより苦労してリアルに近い15mメッシュのハイトマップを作ったのに、それを50mに広げるなんて。
理論的には15m間隔で十分可能なはず、何か解決策があるはずだ、ともう一度、BIS Forumの中にヒントはないか調べてみました。そして・・・。

【解決策】
・Visitor3でマップを作成後(作成後、であることが大事)、Project Parametersを開きます。
・Texture LayersのBase(Active)となっているところを選択し、EDITボタンを押下します。
・Texture LayersパネルのTexture Size:の値を適度に広げてやる(一般的には40mくらいが適切らしい。20m~40mがいいよ、とのこと)

この設定、一枚の地面テクスチャを何メートル間隔で貼っていくかを司る設定なのではないかと思います。試しに広げてやると、地面テクスチャの解像感が粗くなった気がしましたが、その代わり固定翼機のカクツキが一切なくなりました。僕の設定だとデフォルトが最小値の15m×15mになって適用されるため、この範囲となるとゲームエンジンに掛かる負担が大きかったようです。
マップの新規作成画面ではこのサイズを変えられないので(EDITボタンが非活性)、地形データを読み込んだ後にここを変えるという発想ができず、1ヶ月も気がつかないまま過ごしてしまいました。

これで次に進める!
そしてまた壁にぶつかるのだろう。

2010年1月 9日

雪景色を見に東北へ

 明日からの3連休、雪景色を見に東北へ行ってきます。
 当初、11日は習志野駐屯地の「降下訓練初め」に行こうと思ってましたが、無性にローカル線で行く雪深い線路の旅に出たくなり予定変更です。
 上の息子に「東北新幹線にも乗れるし、雪だるまも作れる、駅弁も食べれるぞ」と同行に誘ってみると「行く、行く!」と言うのですが、やっばり1晩たりとて母親と離れて寝るのは嫌らしく、今度も一人旅になりそうです。

2010年1月 5日

明けまして、おめでとうございます。

 明けまして、おめでとうございます。
 島の作り方にいくらか目処がついた気がするので、今年はこの作業を中心で行きたいと思います。
 本年もよろしくお願いいたします。
 
 目処が付いたような書き方をしましたが、実際はまだ目処が付いていません。
 毎度、壁というか、自分の知識では解決できない問題が現われて、その度に数日を掛けて解決し、それでまた次の問題に直面してしまう、の連続です。ようやく回避策なり解決策を見つけ出して、「あぁ、これで進むなぁ」なんて油断していると、また新しい壁がやってくるのです。
 
 今、直面している問題は「固定翼機で遊覧すると、恐ろしくラグる」です。
 「ラグる」というのは正しい日本語ではありませんが、現象を別の表現に置き換えると「重い」というか、フレームレートが悪化する、と言いますか。そんな現象です。しかし地上にいる時や、回転翼機で飛行する時はラグることはありません。その上、画面ではラグってるにも関わらず、なぜかフレームレート値は60を指していたりします。

 いろいろ機体を変えて試してみると、次のようなことが分かりました。(ちなみにマップには、クラッター以外のオブジェクトは一切ありません)
・in Flightで始めたヘリ各種はラグらない
・in Flightで始めたMQ-9ではラグらない(速度が遅いから?)
・in Flightで始めたMV22はラグる。ただしAuto Hoverで減速するとラグから開放される。そこから全速飛行に入って速度を上げても、もうラグらない。
・in Flightで始めたF-35はラグる。しかし地上滑走から始めたF-35はラグらない
・in Flightで始めたF-35で、思いっきり高度を上げると、突然ラグから開放される
・一度、飛行した空域に戻ると軽くなる、時もある
・ラグ状態でも、マップ外に行くと開放される
・クラッター(草花)の有無はあまり関係ないみたい
 
 例えばサーラニ島よりは、マップが半分も狭くメッシュも1.5倍ほど粗くしてあるので、PCにかける負担は間違いなく軽いはずなのですが、何とも原因が掴めません。16bitのグレースケール画像から地形を読み込ませたため、各頂点データが小数点第7位くらいまで高さデータを持ってしまったせいかな、とか、オブジェクトが一切置いてないからかな、とか適当な原因推定をしているのですが、実際のところよく分からないのです。何となく地形データを高速に読み込んでいるからか、あるいは計算しているからかじゃないかなと、思ってるのですが・・・。

 
 ここからは、全く関係ない話です。
 箱根駅伝(復路)を見てきました。 
 何年に一回くらいは沿道で旗を振りにいく程度のニワカな駅伝ファンですが、無性に頑張っている人達の写真を撮りたくて、今回は望遠レンズを持って見学に行ってきました。




 ゴール1km手前になる日本橋に向かった僕がアホなのですが、行った時はすでに最前列は応援の人達で埋め尽くされていたので、人垣の隙間を狙って駅伝ランナーさん達を撮影することになりました。その上、一緒に連れてった息子を肩車しながらの撮影です。
 正直、ベストショットと言えるものは撮れませんでしたが(上位チームのランナーは失敗写真ばかりでした)、やっぱり頑張っている人達は絵になります。来年はもう少し場所と時間を考えて、ランナーさんの頑張っている勇姿を収めたいと思います。
 
 今週は習志野で空挺団の降下はじめイベントがあると聞いた気がするので、それにも行ってみようと思います。天気がよければ。