2012年07月15日

動画制作要員を量産したいらしい

VALVEがまた厄介なエディットツールを出してきましたね・・・。
Source Filmmakerは要するにムービー製作用のツールです。VALVEが小出しに公開しているTeam Fortress 2のキャラクター紹介ビデオ等は、実はコレによって制作されていた事が明らかにされ、そしてそれが今回一般に広く公開されることにより、私達もムービーを作れるようになりました。

まだベータ公開とはいえ、今まで公開されていたムービーの事を思えば当然なのですが、普通にCG作品を制作するのと殆ど変わらないくらい本格的な制作ツールであり、頑張ればフルCGの映画すら制作可能というとんでもない代物です。


まあ立ち位置としては今までのHammer EditorによるMOD制作の延長線上にあるものなので、VALVEのゲームを持っていることが大前提、かつ商用利用は不可なんでしょうけど、それでもPortal2のPeTiの件といい、最近のVALVEはMODコミニュティの巻き返しにかなり本気とみえます。

基本がTeam Fortress 2ベースになってるぽいので、TF2を持ってることが大前提ですが、今は無料で提供されているのでSource Filmmakerをインストールすると恐らく一緒にTF2も同梱されてくるのでしょか。私は既持ちだったのでその辺は未確認ですが、少なくともお金はかからないかと。


PeTiが超お手軽マップ制作ツールだったのに対し、Source Filmmaker(以下SFM)はプロが使っている本格ツールなので、正直かなり敷居は高いです。ムービー制作やCGアニメーションの知識が全くない素人がどれだけついてこられるのか正直疑問。

私の場合Flashなどを触った経験からアニメーションの初歩的ノウハウくらいはあるし、だてにPoserなどでCGモデルをいじくってる訳ではないので多少免疫があったとはいえ、未だ分からない事は多く、模索と試行錯誤の日々が続いてます。
ks_sfm1.jpg

今回は、一応私が理解したというか、やり方がある程度解析できた範囲のみに限って多少簡単に解説していこうと思います。無論分かったからといって、それが間違って理解してる可能性も捨てきれないので、まああくまで参考にする程度にして、色々自分でも試行錯誤やチュートリアルを解析する事も当然オススメします。


まずVALVEが動画による基本チュートリアルを公開しているので、序盤だけでも見ておく事をオススメします。英語なので何言ってるか分からないとは言え、感覚的に何をすれば良いのか位はおぼろげに分かるはずですので。

SFMはまずベースとなるフィールド(マップ)を読み込み、そこに動かすモデルを配置してアニメーションを付けることによってムービーを作って行きます。
マップは当然ゲームで実際使用しているマップを基本使うことが出来ます。

マップはViewpoint画面上で右クリックしてLoad Mapを選択することによって読み込みます。
マップ内のカメラを動かしたい場合は右端にあるカメラボタンで作業用のカメラ(Work Camera)を選択するか、あるいはChange Scene Cameraで新しいカメラを配置するかします。

画面上ではマウス左を押しながらWASD,ZXで移動、Rを押しながらで回転、ホイールでズーム、Altを押しながら中心を軸にして回転(あるいは選択パーツを軸にして)。
ks_sfm2.jpg

モデルは画面左上端にあるプラスアイコンでCreate Animeation Set For New Modelを選択して読み込みます。
プレイヤーキャラクターを出したければ大概Playerのカテゴリ内に収まっています。
すると左のAnimation Set Editorにセットしたモデルがツリー上に並びます。ここで各パーツをクリックすることで選択状態に出来ます。
(ただしTF2のキャラに関しては同じ物が2種類用意されてるので注意。player/hwm/というカテゴリにあるキャラが正しい模様。そうでない物は一部パラメータが食い違ってるせいでリップシンクが動かなかったりします。)

パーツ選択は画面上でもCtrlを押しながらで可能です。
ただしこれらの選択は、画面下にあるTimelineでの、Motion EditorモードかGraph Editorモードにしておかないと出来ないので注意。
(通常はClip Editorモード)
ks_sfm8.jpg

パーツを動かすには、Viewpoetの左下にあるアイコン群、Move、Rotate、Screenを使って動かします。Screenは今見ている画面を基本としてパーツを動かせる万能的なモード。左のでっぱりを掴んで中心軸をずらしたり出来ます。ダブルクリックで軸をリセット。


分かりにくいのがMotion EditorモードとGraph Editorモードの存在。実は両方とも動きを付ける事が目的なのでやってる事は同じ。要はやり方が違うってだけの事です。
Graph Editorは、よくアニメーション作りで使われるキーフレーム管理のやり方で、Flashなどでもおなじみ。Mキーで任意の場所にキーフレームを打ち込み、始点と終点を作って動きをつけるやりかた。
ks_sfm3.jpg

かたやMotion Editorは、選択した範囲内で変更した動きを全て適応させるやりかた。デフォルトではクリップ全体を選択済み(緑色)なので、Motion Editorでパーツを動かすと、クリップ全体で変更が反映されるはず。(変更が加えられると選択範囲がオレンジに変わって知らせてくれる)

選択範囲を変更したい場合はシフトキーを押しながらドラッグすればOK。この時、シフトを押しながらホイールを動かすと両端にフェードイン・アウトが付き、選択範囲外のモーションとシームレスに繋ぐことが出来ます。(キーの1234でフェードの仕方を選べる)
逆にそれなしで、バッサリと動きを切り替える事が出来るのもこのモードの特徴。(モデルごと移動するとテレポートしたような感じになる)
ks_sfm4.jpg

Motion Editorではこうして簡単に動きを加えていけますが、一旦選択範囲を消してしまうとそれを再表示とかはできないので、後々付けた動きを微調整しようとすると逆に面倒。
この場合はGraph Editorの方がやりやすく、一長一短という感じ。私は馴染みのあるGraph Editorの方が使いやすかったです。
まあまだ良く理解しきってないってのもありますが。実際うまい微調整のやり方があるのかどうかは今の所不明。


また、各パーツの動きはProceduralという項目で変化を付ける事が可能。JitterやSmoothの項目をスライドさせて動きをなめらかにしたり、荒くも出来ます。
そもそも目や口と言った顔の細かいパーツは此処でないと動かせません。

例えば目を動かしたかったらキャラクターモデルのFace/Eyes/とかを選択し、Proceduralに出てきたeyes updownなどをドラッグスライドする事で変更が加わります。LRのスライドで変更を片方だけに偏らせる事も出来ます。
ks_sfm9.jpg
声と口元を同期させるリップシンクも意外と簡単。Soundのトラック上で右クリックしてAdd Clip to Trackを選択(どこのトラックに載せなければならないというような決まりはないのでサウンドトラック上なら何処でも良し)、お好みのボイスクリップを読み込みます。
そしてサウンドクリップを選択して右クリックし「Show Waveform」を選択します(これをやっとかないと認識してくれない)。
後はツリー上でリップシンクさせたいキャラのFaceを選択した状態で右クリック、「Extract Phonemes」を選択し、適用させたいボイスを選択してExtractボタンを押せば、リップシンクの完成です。

口の動きが激しいと思ったらSmoothとかを使って微調整すると良し。ちなみにリップシンクした後でボイスクリップの位置を修正したとしても、リップシンクがその位置に追随する事はないのでご注意を。


また体の各パーツを動かした場合、回転ならともかく、普通に移動させると他のパーツが追随しないので、ぐにゃりとひん曲がってしまいます。この場合ばリグを付けて対応します。いわゆるIKですね。
選択したモデルをツリー上で右クリックし、Rigを選択、rig_biped_simpleをクリック。これでモデルの両手両足にIKが適応され、足や手を動かすとちゃんと他パーツは追随して動きます。アニメーションを付ける際はやはりこのモードでないときびしいですね。
ks_sfm5.jpg

また、モデルに元々用意されているシークエンスをインポートする事も可能。右クリックでインポート、シークエンスを選択、リストから任意のモーションを上書き出来ます。


キャラクターに武器や帽子なんかを持たせたりする場合は、Parentして親子関係にしなければなりません。子にしたいモデルのツリーを覗くと左に四角のチェックマークを持つ項目が出てくるハズですが、ここに親にしたいモデルのパーツ部分をドラッグしてきて適応させます。そうするとロックマークがでるハズです。
ks_sfm6.jpg

ただし、モーションが既に付いているキャラにParentしても、その動きに追随しません。この場合は、子の方を選択してProceduralのPlayheadをめいいっぱい適応します。
ちなみに親子関係を切り離すのには鍵のチェックを外した上で、その状態で再びPlayheadを適応すれば良いようです。Motion Editorモードで全選択状態(Ctrl+A)で行えば、全ての動きの追随をリセット出来るでしょう。

また、TF2のキャラは帽子とか眼鏡とか専用の装着アイテムがあり、これらはアイテムとキャラ双方に共通したパラメーターを持っている事により、簡単にフィットさせる事が出来ます。
ks_sfm10.jpg
例えばHeavyと帽子にはそれぞれbodyの所にbip_headというパラメータがあるので、Heavyのbip_headを帽子のbip_headにparentさせてロックします。
そして帽子を選択し、ProceduralのZeroを適用すると、頭にちゃんとフィットしてくれます。
専用の物でなくとも、共通のパラメータないし近いパラメータがあればこのやり方でフィットは可能です。ただし大概は多少ズレてしまうので(専用の物でも変な風にフィットする事がある)、ロックした子のパラメータ部分のみを選択状態でmoveやrotateで微調整すればOKだと思います。

カメラにも同様にこういったモーションを加えられます。その場合はAnimation Set Editorのツリー上に出さなければならないので、左上のプラスアイコンからCreate Animeation Set For New Cameraや、Create Animeation Set(s) For Existing Elament(s)で配置済みのカメラを選択する事で可能になります。

ちなみにCreate Animeation Set For New Particle Systemで、エフェクトを加えられます。リストから選んで好みのエフェクトを追加し、配置します。爆発とか煙とかはここを使ってやってるって事ですね。


タイムライン上のクリップは任意の場所でBを押すことによって分割、Oキーで以降を消去、クリップの端よりちょっとだけ内側の位置でドラッグすると隣のクリップを伸縮することなく伸ばす事が可能。逆に端でドラッグすると全体の長さを変えずにクリップを伸縮させます。
ks_sfm7.jpg

クリップをバシバシBボタンで分割するのは良いですが、それぞれ独立したクリップとなるので、あとでモデルを加えた場合、加えた以降のクリップにはモデルが反映されないので注意です。これを反映させる方法とか、私は良く理解できていません。


また、F11でそのまま読み込んだマップのゲーム画面を呼び出し、キャラクターで移動可能。この機能を利用し、SFM側で録画ボタンを押すとゲーム画面に切り替わり、そのままプレイした動きを取り込むことが出来ます。手っ取り早く動きを加える手段ですね。
しかも何回も重ね撮りして、1人何役も可能です。ただしこの場合、読み込んだマップがアリーナタイプだと観戦モードにしかならないので注意して下さい。



ざっとこんな感じ。これくらいを理解した所で、2、3日試行錯誤して作った動画が以下のもの。スパイのキャラクターを使った、短い寸劇。


まあ最初にしてはそれなりに頑張った方でしょうか。最初っから激しいアクションを作ることなんかムリなので、こういう風に極力動きの少ないストーリーにすれば、割と負担なく作れます。そういうのもコツとしてはありますよね。
まあそれでもかなり苦労しましたけどね・・・。


Hammer Editorで自作マップを作ってそれを読み込み、さらに自作モデルを読み込むことも可能なので、ゆくゆくはそういった所まで出来るようになるのが目標でしょうかね。本当にやるのかどうかは知りませんが(爆)。


パスに沿って歩かせる方法とか無いのかなあ、とかそもそも基本アニメーションとか用意されてないのかなあ、とか色々不満もありますけど、私はかなりハマりました。
初心者には敷居高いでしょうが、フィールドもモデルも用意された状態で始められるのですから、言わばMMDとかに近い物があるわけで、決してプロ専用という物でも無し、トライしてみる価値はあるツールです。





web拍手 by FC2
posted by KS(Koumei Satou) at 22:01 | Comment(2) | TrackBack(0) | Hammer Editor | このブログの読者になる | 更新情報をチェックする

2012年05月13日

こうして皆GLaDOSの配下となった

Valveから発売されているFPS系パズルアクションゲームの「Portal2」に新たなオプションが加わりました。Perpetual Testing Initiative (PeTI) 、またの名をPuzzle Maker、その実態は簡易的なマップエディタツールです。
ソースエンジン系のマップ作成と行ったらSDKによるHammer Editorによる制作というのが今までの定石だったのですが、今回Valve自ら新たなマップクリエイトの形を提示してきた格好です。
ks_petihammer1.jpg

正直現在のHammerによるマップクリエイトは素人には敷居が高いのが現状です。Hammerのツール自体の出来は極めて直感的で扱いやすいとは言え、ゲームが進化する度に新機能や憶えなくてはならない項目がどんどん増えてしまい、完全にいちげんさんお断り状態になってるのも事実。私自身もOrange Box以降の新たな仕様にはまだ理解してない部分も多くて、未だ戸惑いはあります。こんな状態だから、MOD制作のメインストリームからは外れてしまったよなあ、という感は強く感じていました。

しかし今回用意されたPortal2用のマップエディタは簡素も簡素、極めてシンプルで取っつきやすい物になっています。
これなら誰もが気軽にマップクリエイトを楽しむことが出来、しかもアップして公開するところまで一発で出来てしまう簡単さです。


今回のマップエディタはSDKのようなツールとは違い、ゲーム内で直接開くことになります。Portal2のゲームを起動し、メニューの「Community Test Chambers」からマップエディットを行います。

操作は極めてシンプル。マップの壁を押し引きする事で形を変えていく、プッシュ&プル方式。言ってみればSketchUpに近い概念とも言える? 要は極めて直感的って事ですね。
ドラッグやダブルクリックでまとめて選択して一気に移動も可能、これは面だけでなく立体ボックスで覆って部屋ごと移動も出来ます。
なおPやOキーでタイル色をチェンジ出来ます。まとめて選択して一気チェンジも出来ます。
ks_petihammer2.jpg

最初から入り口と出口、そしてライトも兼ねた窓ガラスガセットになった小さな部屋からスタートするので、このまま何もしなくてもビルド(コンパイル)してマップを立ち上げることが出来ます。ビルドはファイルメニューや画面上中央に出ている再生マークで行います。マップ作成時は、作ってはビルドしてチェックをくり返し、少しずつ完成度を高めていきましょう。

何はともあれ、マップ内にアイテムを仕込んでパスルを構築しなければなりません。画面左側にアイテムリストが出るので、それらを選択してマップ内に配置していきます。
ks_petihammer7.jpg

置いた後で、円弧や点のマークを掴んで回転・位置移動をして微調整します。基本的に1ブロック毎にしか配置できませんが、バリヤフィードやライトなどは多少細かく位置を修正できます。またガラスの壁とかは、大きさを伸縮させて幅広く配置する事が可能です。ただしこの手のアイテム群は基本的に壁に密着させねばならないので、空中に浮かんだ状態で配置することは出来ないようなので注意して下さい。

ただ配置するだけではただのオブジェクトと化してしまうので、コネクトさせてアイテム同士を関連づけさせましょう。ボタンを押したら壁がせり上がる、といったパズルには欠かせないイベントを作るためです。
これも極めて単純で、アイテムを選択状態で右クリックして、「Connect to」を選び、リンクさせたいアイテム上でクリックするだけです。

相手側がどんなを反応するのか決める場合もありますが、大概はトグル式なのでON/OFFをさせるくらいです。
そういう訳でゲーム開始直後にON/OFFどちらの状態で始まるのか決めておかなくてはなりません。見た目のビジュアルでその状態は一目瞭然ですが、変えたい場合は右クリックでStart Deployer(enabled)にチェックを入れとくとアクティブな状態で始まります。
ks_petihammer3.jpg

ひとつのボタンで同時に幾つものアイテムとコネクト可能ですが、逆に複数のボタンからコネクトされたアイテムがあった場合、ゲーム上ではそれらすべてのボタンがアクティブになって初めてONになるという形になります。どれか一つでもボタンを押せば反応する、という風にはならないみたいなので注意。


とまあ基本的にこの繰り返しでマップが出来てしまうので、何ともお手軽。それだけでなく、マップエディタ自体のグラフィックや演出も凝っていて、非常に操作していて気持ちがよい。ついつい色んな物を作りたい欲求に駆られてしまう。

ks_petihammer4.jpg
テストプレイを繰り返し、完成、と思ったらワークショップに公開してシェアしましょう。エディット画面中のファイルメニューからPublishで公開する事が出来ます。タイトルと軽い説明、そして公開範囲を決めて、規約のチェックを入れて公開です。見出しのサムネイル画像は直前のマップディタ画面がそのまま使われるので、見栄え良い位置にしてから行いましょう。なお、サムネイル画像は後から追加も可能です。

マップに間違いや問題箇所を見つけた場合、それを修正して再アップも可能です。その場合は特に名前とかを変更せず再Publishすればそのまま反映されるようです。


という訳で私も試しに幾つかマップをせっせこ作って公開してみました。Spiral and White Snowは結構大きいマップなんで、クイックセーブするのを忘れずに。
ks_petihammer6.jpg

しかし、以前無印のPortalマップ作成時もそうだったんですが、パズルに変なミスが無いかどうかチェックするのがともかく大変。なにしろ、ありとあらゆる攻略法を想定してあれこれ試さなくてはならんのですから、マップ作ってるより明らかにテストプレイ時間の方が膨大です。

あと、前にも後ろにも進めなくなる「詰み状態」になってしまうのも出来が悪いマップなんで、なるべくそういう事態にならないように苦慮するのも結構大変です。気を抜くと、すぐにそんなポイントを作ってしまいがちなので。
結構長く検証しましたが、それでも粗があるかもしれません。まあその場合は申し訳ないって事で。


ちなみにプレイするにはサブスクライプのボタンを押して登録してから、ゲームを起動後Community Test Chambersでプレイ可能になります。

私もワークショップから適当に見繕って色々マップを拾ってはプレイしましたけど、まあ当然というか何というか、玉石混交でカオス状態。なにしろ何も考えずにテキトーに作った物でもガンガン公開可能なので、殆どゲームになってない物も結構ありました。
それにしては詰み状態に陥るマップが多いなー。ハマったら身動きできなくなるポイントとか。もう少し配慮してマップ作ろうよーって、それは玄人の意見か。

それと、もの凄いペースで次々新たなマップが公開されまくっているため、新規のマップは公開してもあっという間にリスト後方に追いやられていくので全く注目を浴びる機会が無く、結局ランキングトップのマップにプレイヤーが集中するという何というかAppストアみたいな状況に陥ってます。

せっかく作っても誰もプレイしてくれないのではちょっとモチベーションが上がりませんよね。でも対処しようがないという感もあり、まあこういう所でリンクを貼るくらいが最低限出来る事ですかね。
盛り上がっているのは大変結構な事なんですけど、限度って物を感じてしまった。でもこの勢いはQuakeとかのMODにハマっていた頃の熱気に近いのかもなあ。

まあこれも非常に敷居の低いエディタツールだからこそなし得た事でしょうね。MOD文化は元のゲームが複雑化すればするほど過疎化する傾向にありますから、良い転機になったかと思います。
ks_petihammer8.jpg


という訳で作成から公開までゲーム内で全て出来てしまうという極めて優秀なエディタですが、非常に簡素にまとめた結果、出来ることが極めて限られているのも事実。まあ仕方がない所でしょうが、それにしても潔いくらいにバッサリカットされていて、テクスチャは白黒の2種類のみ、トリガ系のエリアも作れない、プロップモデル配置も無し、壁配置もブロック単位で細かく分割も出来ません。

出来る限り敷居を下げて沢山の人にマップクリエイトを楽しんで貰うため、この決断は実に正しい物と思いますが、長いことマップを作ってきた身としては、あまりにも制限が多いのでちょっと物足りないのは事実。せめてテクスチャバリエーションやトリガエリアくらいは入れた方が良いような。おかげでオートセーブポイントも設置出来ないので、でかいマップになるとちょっと困るし。

まあそんな向きの人には相変わらずHammerによる作成となってしまうのでしょうが、実は今回のエディタで作成したマップはそのままHammer Editorで開くことが出来るため、作ったマップをさらにHammer上で再構築する事が可能なのです。
これは、ただでさえややこしいシステムが多くなってしまったPortal2のマップ作成を大幅に短縮化させる事が可能になるという点に置いては、かなりアドバンテージが高い物だと言えるでしょうね。

PeTIで作ったマップは、\steamapps\common\portal 2\sdk_content\map内にあり、ここにやはりvmfファイルとして置かれています。現在制作中のマップがpreview.vmfとして保存されているので、これを「Portal 2 Authoring Tools」でのHammerで開いて別名で保存しておけば、そのままHammer上で作成を続行できます。当然ですが、Hammer上でいじくったマップはもうPeti側で開けないので注意して下さい。

また、番号の組み合わせのファイル名のマップもそれに該当しますが、これがどのタイミングで作られているのかイマイチ分かりませんでした。とりあえずはpreview.vmfを覗くのが無難と言えるでしょうね。
ks_petihammer5.jpg

PeTIの方でパズルをあらかた作って配置し、後の細かいデティール部分はHammer上で行う、という事が出来るわけです。何と言っても一番面倒くさいのが仕掛けを作って配置する工程なので、それをエディタの方で一括して作っておけるというのはやはり楽ですね。

何処にもコネクトしてないアイテムを配置しておいて、Hammer上でコネクト作業を行うという事も当然可能。演出目的でアイテムを稼動させたいなんて場合もありますからね。ただしこの場合、アイテム(func_instance)のプロパティ内の$connectioncountという値が0になるため、どこかにリンクさせる場合はここを1に変更させとかないと反応しないので注意して下さい。

PeTIで超シンプルなマップを作って、それをHammerで開いて、どういう挙動で成り立っているのか調べる、なんて事も出来るので、Hammerでの学習にも役立ちそうです。特にfunc_instanceが導入されてから良く分からなくなってしまいましたからねえ。

ちなみに、こうしてHammerで作ったマップも自分のワークショップ内に登録出来るみたいですが、それには\portal 2\bin内にある
p2map_publish.exeを使ってアップさせる事が可能なようです。だだ、私の所ではエラーが出て検証できませんでした。

なのでアップ出来なかったので、動画で紹介。これは一旦PeTIの方であらかた作ってから、Hammer上で演出面やオブジェクトを追加して再ビルドした物です。ますはPeTIのみ、その後で再ビルドした物を載っけてます。まあ軽くやっただけですので劇的には変わってないですけど(え)。


せめてこんぐらいはやらないと私の場合気持ち的に落ち着かないですね(何じゃそりゃ)。

まあここまでPetiに求めてはないけど、もう少し凝った事が出来るようになったら嬉しいなと。まあ複雑になりすぎない程度に追加要素お願いします。




web拍手 by FC2
posted by KS(Koumei Satou) at 23:31 | Comment(0) | TrackBack(0) | Hammer Editor | このブログの読者になる | 更新情報をチェックする

2012年02月19日

トンカチをスケッチに描いてみたよ

ここ暫くツールの話題ばっかり扱ってるような気がしますが、今この辺をガッツリいじくってる最中なんでどうしてもこれくらいしか書くことがないんですよね。
しかも今回は個人的にはかなり熱い内容なんですが、他の人達にとっては正直どうでもいい話題かも。だって殆どの人にとっちゃHammer Editorってナニよ?って話な訳だし。
まあそれでもSketchUpに多少絡む話もあったりするので、その辺に興味あるなら我慢してお付き合い下さい。

ValveのHalf-Life2系のMOD作りの際に使用するレベルエディタ「Hammer Editor」を私は長い間愛用してきましたが、流石に今はこのレベルデザインツールもマイナーになり、Unreal系やUnity勢が今や主流。結局Valveのエンジンが主流になれなかったのも原因であり仕方がないですけど、あまりに長い間使ってきただけにこのままうち捨てるのは勿体ない。
ks_sketchhammer0.jpg

だってこんな使いやすくて直感的なツールなんて滅多にないですよ。正直みんな見習って欲しい。特にうにてぃとか。うにてぃとかさ(爆)。

ところがHammerが他のツールと全く互換性のない、まさにValveゲーム専用ツールであるが故に、全然その後の使い道も無いと言うのが現実。しかし最近Google SketchUpと妙に親和性があるという事は以前の記事にもしました。ただしこれはSketchUpのモデルデータをValve製ゲーム内に登場させる事が出来るというもので、直接Hammerとは無関係な事例でした。

やっぱりhammerは自己完結ツールなのか、と諦めかけたのですが、それでも何かないかとずっと捜していました。そして、ついにようやくにして見つけたのです。Hammerのデータを他に持って行くことが出来る方法を。

それは意外にシンプルな所に転がっていました。数年前、AutoDeskがValveと提携してMOD推進のためにリリースしたXSI Mod Toolというのが出回ったんですが、これはSoftimageという超高価な3DモデリングソフトをMOD制作支援と称して機能限定付きで無償で公開したツールでした。これにValveのアドオンを入れることによって、例のSketchUPの事例のように、簡単にモデルをValve側に持って行くことが出来るようになっていました。
実はこのアドオンの中にHammer Editor専用のvmfファイルをインポートする機能が備わっていたんです。

しかし、当時私もこの機能は試しましたよ。でも正直実用的な代物じゃあありませんでした。確かに取り込むことは出来るんですが、面が幾重にも重なった状態で出力され、これをそのまま利用するのは殆ど不可能だったからです。その上、Softimageの嫌がらせにも近い非直感的なインターフェイスで全くいじくる気も起きませんでしたからね。

ですが、あれから実はMod tool自体もvalveのアドオンもバーションアップされてて、そっちの方は未調査でした。とは言え、とっくにMod toolは開発が終わってるようでそれ以降は止まってる模様。一応まだダウンロードは可能なのでゲット。その際色々書き込む必要がありますが、まあ適当に(笑)。

あと必要なのはValveSource.6.02というアドオンですが、これまた入手難に陥ってます。一応ModDBにリンクがあるんですが、下手すると死んでるっぽいので一応他のサイトのリンクも張っておきます。

これを試してみると、なんとこのVmfインポート機能がマトモになってるじゃありませんか。変に面の重複もなく、普通に読み込めてます。これなら、Hammer Editorのブラシデータを元にMDL化も夢では無くなってきた訳で。

しかし、正直XSIの使い勝手は相変わらず鬼畜レベルなのでこのままではあまり意味がない。なんとかこのデータをSketchUpとかに持ってく事が出来ないかと試行錯誤した末、ようやく見つけたので、これからその手順をメモしておきます。誰得な感じではありますが、ええ、完全に俺得なだけの情報ですよ。しかもすっげー長文ですので覚悟して(爆)。


まず先程も言ったSXI Mod Tool 7.5とValveSource.6.02というアドオンをゲットし、Mod toolをインストールしたのち、XSIのファイルメニューからアドオンを選択し、そこでValveSource.6.02をインストールします。
これでMod toolを再起動すれば、メニューに「ValveSource」という項目が加わっているハズです。何故か出て来ない場合もあるみたいですが、そんな時は一度アドオンをアンインストールして再び入れ直すと出るみたいです。

こうして、後はValveSourceメニューからVMFToolを選択し、Import VMFを実行します。後は任意のVmfファイルを指定するだけです。一応テクスチャ指定も出来るみたいですが、幾ら試しても持ってきてはくれませんでした。基本形状のみのインポートと割り切った方が良さそうです。
ks_sketchhammer2.jpg

XSIの使い手ならこのままこれを編集して行くことも出来るんでしょうが、私は無理なので他のツールへ渡すことにします。本来objファイルとかで出したいところですが、Mod toolはその機能を制限されてるので、fbxファイルで出力します。
ファイルメニューのCrosswalksから、fbxの書き出しを選択します。設定は特にいじくる必要はないです。

このままだと渡せる場所が限定されるので、Autodeskが配布しているFBX Converterを使って他のファイルに変換します。取り敢えずはobjファイルが無難、というかそれくらいしか選択肢がないか。
その際、Triangulateのチェックは外しときましょう。そうしないと全部三角面に割った状態で変換されてしまいます。
ks_sketchhammer1.jpg


さて、これで晴れてSketchUpに取り込むことが出来るようになりました。勿論、objをインポートするプラグインを入れとかないと出来ませんので注意。

ただ、確かにこのままでもSketchUpに取り込むことが出来るんですが、このままだと面が裏表バラバラにでてしまい、今後加工や編集する際に面倒です。これをなるべく押さえるにはもう一手順必要です。
ks_sketchhammer3.jpg


それは、前回紹介したHexagonを使う手です。一旦このobjファイルをインポートし、なにもせずにそのままobjでエクスポートさせます。この手順を踏むことで、面のバラツキを最小限まで押さえることが可能です。残念ながら完全に表面のみに統一させることは形状によっては難しいんですが、少なくとも作業はだいぶ楽にはなるはずです。
ks_sketchhammer4.jpg

SketchUpに移せたら、とりあえず1ユニットを選択して、その表の面を選択して右クリック「面の裏表を合わせる」を実行すると、そのユニットを全面表にする事が出来るので、これを駆使して面を修正して下さい。ちなみに全分解して一気に揃えようとしてもうまく行きません。面同士の接続の仕方が違うからだと思いますね。

ちなみに多分ですが、無理にHexagonでなくとも、他のobjを入出力出来るモデリングツールなら何でもよいかと思われます。ただし、ツールによって善し悪しがあるようなので、必ずしも良い選択になるとは限りません。例えばBlenderだと、面の統一感が中途半端で、まだHaxagonの方が良い結果が多かったです。
丁度Hexagonなら今月まで無料でゲット出来るのでおあつらい向きだと思いますね。

ちなみに、今現状のSoftimageは2012版が出てますが、この体験版にValveのアドオンを入れてみたところ、何故かどうしてもVMFインポートの項目が出てきてくれませんでした。別に体験版だからって機能が限定されてる訳でもなし、単純に仕様で入らないと考えて良さそうです。なので、Valveのアドオンを使いたければ、有料のソフトは使わず限定された無料のバージョンを使うしかないという変な事になっています。


さあて、ようやくHammerのブラシデータをSketchUpにもってくことに成功した訳ですが、後はこちらで修正するなり、テクスチャを貼るなりして仕上げれば良いです。
最初から塊ごとにグループ化されてるんですけど、便利っちゃ便利ですが場合によっちゃ面倒かも。特にテクスチャを貼るとなると。分解するとかえって面倒な事が多いので、この辺はやりやすいように分解+再グループ化して効率化を図るしかないですね。

とにかくSketchUpのテクスチャ貼り機能が貧弱なので、その辺を考慮してHammerデータを移植する必要があります。例えば今回例として高層ビルをHammer側で組み上げて、それをSketchUpに持って行ったんですが、これをそのままバカ正直に丸々持ってくと、テクスチャ作業がドえらい負担と化します。
ks_sketchhammer5.jpg

なので高層ビルの場合、同じ構造の連続なのでこの1ユニットのみを移植してきて、重複してる部分はできるだけ削っときます。

後は、それをSketchUp側で編集&貼り付けしたのち、そのユニットをコピーして並べれば、負担がぐっと減ります。当然コンポーネント化してコピーした方がおいおい修正をする時も楽ですね。
ks_sketchhammer6.jpg


こうして試行錯誤の末、ようやくSKetchUp上で高層ビルが完成。これをイチからSketchUpで作ってたら、もっと試行錯誤して時間かかってたと思いますね。何しろHammerだとこの雛形を作成するのに2、3時間もあれば出来ちゃうんで。
ks_sketchhammer7.jpg

本当は全部の工程をSketchUpで完結出来る方が理想なんでしょうが、まだ私はHammerの方が慣れてるし、そうでなくともテンプレ作成に大いに活躍してくれそうです。SketchUp、Hammerどちらにも長所短所があるので、それらを補いあう使い方をすればずっと効率が良くなるかも。


で、後はこのデータを元にレンダリングをしてみようと。無料のレンダラーであるKerkythea 2008を導入してレンダリング。
ks_sketchhammer8.jpg

なにぶんマテリアルとかの知識が貧弱なので、そのまま取っ手だししてる事もあってそんなに質感は綺麗じゃないですね。そもそも形状もシンプルだし。
でも、それなりに良くは出来たかな、と自負(笑)。

MOPで登場させた造形物とかもSketchUpに持ってきて、さらにレンダリングをかけてみたり。気持ちこちらはマテリアルをいじくってみたりしたのだけど、うまくいってるのかな? なにぶんまだマテリアルに関しては素人なんで、今はこの程度か(下手すると生涯素人かもしれないけど)。
こんな画像でも高クオリティで出そうとすると何時間もかかっちゃうのは、この手のレンダリングの宿命ですかね。有料のレンダラーならもっと早いのかもしんないけど、まあレンダリングって時間かかるのが常ですし。
ks_sketchhammer9.jpg

でもHammerで作ってた物がレンダラーを通して出力されるのはなんか新鮮。実はWEBをリニューアルするにあたって、なにか素材が作れないかと試行錯誤してるところなので、うまくいけば色々作れるかも。でも他にも色々レンダーを試す必要がありますな。せっかくobjではき出せるのだから、Poser関連のツールも試してみますか。その辺ほったらかしにしてる所もあるので。


勿論これを前の記事通りにMDL化してHl2上に持ってく事も可能。実際やってみると、当然ながらあっさり行きます。問題はHammer→SketchUpというデータをまんまSmdに出力していいもんか、という所なんですが、多少検証した方がよさそう。

そのまんま出力したのと、全部分解してまとめた場合、そしてさらに手動で要らない箇所を削っていったバージョンを作り、検証。元のブラシデータはこんな感じ。真ん中の2つは形状は同じだけど、そのまま重ねてるか、中をCarveしたかの違い。
ks_mdltest1.jpg

見てみると、意外とまんま出力の方が面の割れが少ない。そのかわりまんま出力だと重なった面も描画されてしまうので、そこにもテクスチャが貼られてしまうと言う弊害はあります。でもその分ブロックが別れないので、かえってその方が見た目綺麗に出るというメリットも。
ks_mdltest2.jpg

一番良いのは手動で修正したものですが、それもケースバイケースと行ったところ。トータル的に考えて、あんまり全分解するのは良い選択ではないっぽい。ある程度はグループ分けして割れを防いだ方がいいのかもしれません。結局どちらが負担になるのか数値的に調べた方が良いのかもしれないけど。


で、高層ビルをHL2に出力してみましたの図。ただ、丸々出してしまうとライティング的にもアレだし、何よりSMD出力にえらい時間がかかるので、ビルを3ブロックに分割し、部屋を横並びの一階分だけ出力して、それをコピペして並べるという手段でやってます。
ks_sketchhammer10.jpg

それでも、やっぱり実際にブラシで作成するのとは違ってライティングが甘めに出ちゃうのは致し方ないところ。RADのコマンドオプションで-StaticPropLightingと、-StaticPropPolys を加える事によってだいぶ見た目が自然になるのですが、それでもこれが限界ですね。やはり丸々は厳しい。ベースはブラシで作らないと。

勿論貼ってるテクスチャにもよるところが大きいと思うので、本当はもっと厳密に良く考えたテクスチャを貼らなきゃならないんだろうけども。Hammerブラシの感覚をそのままMDLで出しちゃってる訳ですからなー。

ただ、ブラシをMDL化するに当たって、縮尺は気にしなくて大丈夫です。いくら遠回りの経由をしてSketchUpに着地したとしても、大きさはHammerの時のままですので。なので組み上げたブラシの一部をmdl化したとしても、なにもせずにそのままピッタリ元のブラシと合致してくれます。
なおSketchUp上でもHammerの縮尺で作業したいなら、ウインドウのモデル情報で、単位を分数表記にすればOKです。


Hammerのデータを別のツールに持ってく事が出来たら面白いのになあ〜・・・と、ずっと思っていたんですが、それがようやく実現出来たことは、個人的にカナーリ熱いです。勿論その工程は決してスマートではないし、テクスチャの問題とかもありますけど、それでも全然実用的なレベル。正直興奮してるの私だけ状態なんだけれども。
SketchUp関連で興味を持ってくれた人にとっても、Hammerは謎ツールでしょうしね。何しろValveのゲームを何かひとつ最低限買わないと付いてこないSDKツールな訳だし。

でも、色んなグラフィックツールやレベルデザインツールを触ってきたけれども、もっとも直感的で分かりやすいツールはHammer Editorである、というのは現状でも揺るぎません。異論は認めません(笑)。

だからこそ、このインターフェイスや使い勝手をみんな学んで欲しい所なんですがね。特にうにてぃとか(しつこい)。
どんなに高機能でやれることが多くて可能性が広がるからって、それがレベルデザインツールとして優秀かというと正直イコールではない。それはまた別の話。

でも、世の中って使い勝手より高機能の方が大成するのが常な感じしますね。凄く使いやすいのに消えていったツールは山ほどあるんだろうなあ・・。

ks_sketchhammer11.jpg
とりあえず、この辺のノウハウはまとめてHammer Editor講座の方にも書いておいた方が良さそうですね。ファイルがDL出来なくなってる問題もあるし、遅かれ早かれ着手しないといけませんな・・・。


web拍手 by FC2
posted by KS(Koumei Satou) at 22:17 | Comment(0) | TrackBack(0) | Hammer Editor | このブログの読者になる | 更新情報をチェックする

2011年05月29日

転んだら取り敢えず起きます

レオニドフのプロジェクトも一段落したし、後やっておかなきゃならん事がまだ残ってたな・・・という事で先々週辺りからやりかけの作業を仕上げにかかってました。それがCounter-Strike Source(CS:S)のマップ作成。
コレ、元々STINGというゲーム(CS:Sベースのオンラインゲーム)でMODを作らないかと言う呼びかけに答える形で製作していた物だったのですが、先のゲームで思うように事が運ばずそのままズルズルと時間だけが過ぎて、その間にゲーム自体のサービスが終了してしまい、結局完成を見ずにほったらかしになっていたマップなのです。
ks_obsession1.jpg

実はマップ自体はほぼ出来上がっており、後は先方に渡すだけと言うような状態だったんですけど、相手側がマップを読み込めないというトラブルが発生し、その問題を解決するのに結構時間が掛かった上に、結局その原因が、CS:Sのオリジナルテクスチャを相手側(STING)が読むことが出来ないという物だったんですが、これを解決するためには使用しているテクスチャを全部抽出して渡さなきゃならない事が分かり、そんなのどうやってやるんだ、エライ面倒だぞ・・なんて躊躇してたらズルズル時間が過ぎていってしまってたって事で。
こちら側がオリジナルテクスチャを使用している事がそもそも悪いんで自分のミスではあるんですが、向こうから渡されたデペロッパ用ソフトが上手く動かないという不手際があって、マップが正しく動くのかどうかすらこっちで確認出来ないという状況が結局最後まで解決出来なかったため、そんな状態の中マップを製作しなければならなかったのは結構無謀だったような気もしますね。

私はSTINGにおいて、何か自分らしい変わり種というか、特殊なイベント系マップでも作ろうかと考えていたんですが、ベータテストに参加して様子を見たときに、そのあまりのクオリティの低さに愕然とし、これはふざけたマップを作ってる場合じゃないと悟りました(笑)。
とはいえ、私は正直普段あんまりオンラインでマルチプレイのゲームをやるようなタイプの人間じゃありません。ちゃんとした対戦マップを作れるのかどうか極めて疑問です。長い間CS-NEOの開発に携わっていたとは言え、あくまで私はマップを作成しているに過ぎず、ゲームのバランスやマップ構成自体はCSをやり尽くしたディレクターやプロデューサーの仕事だったので、未だに私はオンラインゲーム音痴なんですよ。

そこで当時のディレクターだった人に協力を仰ぎ、作成中のマップをテストプレイしてもらってアドバイスを請い、ちゃんとしたマップを作ろうと努めました。デザイン的には少し私の趣味を反映させつつも、ゲーム的には真面目な内容の物を目指したつもりです。
しかしご承知のように、そんなマップも日の目を見ずにお蔵入りするハメになってしまいました。せっかく元ディレクターにも協力してもらったのにこのままでは彼に申し訳が立ちません。そこで、STINGがCS:Sベースのゲームだったので、このままCS:Sベースで完成させて公開してしまおうか、というのが今回のマップリリースの経緯です。

ちなみに、STINGも結構不幸なプロジェクトだとは思いましたが・・。一度開発責任者に会ったことがあるんですが、開発が完全に板挟みで身動き取れない状態で、ちょっと同情するくらいだったんですけど。でもそれではいずれ破綻するのは目に見えていた訳で・・・。そこで起死回生としてMODに取り組んだ物と察しましたが、今考えるとMOD文化を広めようというよりは、板挟み状態から脱却するための奥の手だったのかもしれません。


さて、今回CS:S用マップとして公開するに向けてやるべき作業は、STINGオリジナルのテクスチャをCS:S用の物に取り替える、くらいしか残ってなかったんですが、何を思ったか、見た目において少々改築というかリニューアルさせようと考えました。結構ガッツリと作業が増えてしまった事になりましたが、なんとか完成にこぎ着けました。
ks_obsession2.jpg

もともと私が意図していた世界観は、巨大なビル群の下の圧迫された感じを出したくて、殆ど空が見えないくらいに高いビルがそびえ立つ街を再現する事でした。一応この感じは意図した通りには出来上がり、当初のテスト用マップと比べると結構別物と思えるほど変貌しています。しかしそれでもマップ構造は一切変わってないんですけど。
ks_obsession3.jpg

通常のプレイ時では特に何の変哲もない普通のマップにみえます。しかしふと空を見上げてみると、異様に高くそびえ立つビル群が自分を圧迫している事に気付くのです。この圧迫感から、タイトルもobsession(強迫観念)と名付けました。

結構これでも割と納得行く物が出来上がっていたので満足していたんですが、このマップの最大の弱点が、通常のプレイ時にウリであるビルの圧迫感を殆ど感じる事がない、という点でした。マップの構造は単純で2階構造にもなっていなかったため、ゲームプレイ中はまず空を見上げるような機会が無かったからです。
この部分がどうしても自分の中で引っかかっていたので、今回完成に導くに辺りこの問題点をを何とか改善できないかと考え、大幅な改装工事に着手し始めたのです。


その改善策は、ビル群を下方にまで伸ばすという事。プレイヤーが立っている場所はあくまでビルの中間部分であり、下方向にも地面がかすんで見えないくらいにビルが伸びている、という事にしました。
それを実現するために、地面は全て下が見える網目状のテクスチャを使い遙か下が見えるようにしようと目論みました。
ks_obsession4.jpg

しかしこれが結構無茶だったようで、それまでは全くエラーなど出た事がなかった位に安定したマップだったんですけど、下までビルを伸ばした途端にコンパイルエラーが続出。そりゃまあ、空間が今までの2倍になるわけですからマップが巨大になってしまった事が原因な訳ですけど、以前のレオニドフマップなんかに比べたら遙かに狭いマップだったんで、それでもエラーが続出したのは割とショックでした(笑)。

今回続出したエラーはマップ構造上のエラーで、「Too many t-junctions to fix up!」というもの。要するにマップ内の構造が複雑すぎて無茶してるよ、というたぐいな訳ですが、反復しているビルの構造が悪さをしているのは明白でした。これって往々にしてfunc_detailの数が多すぎると起こるらしく、確かにビルの側面に対し結構利用してたんですよね。それでもそんなに言うほど使ってないんだけどな・・・と半信半疑ではありましたが、実際幾つかブラシに戻すと直ったので、仕方なく下部でのfunc_detailの使用は諦めました。それと下部は編目でハッキリとデティールが見えないので、上部に比べてクオリティも下げてあります。幾分長さをはしょったりと妥協もして、これでやっとエラーには悩まされなくなりました。
ks_obsession5.jpg

ただまあ、一度に見えるブラシの量も増えてしまった事には違いないので、はたしてどのくらい描画に負荷がかかるのかは結構気がかりなところ。実際オンライン上で複数人数によるテストまでは行ってないので、どんだけ重いマップなのかまでは分かりません。BOTを入れて12人くらいなら特に問題なさげ。でもBOTをめいいっぱいの20人近く入れてしまうと、流石にちょっと処理落ちが目立ちますね。でも公式マップでもそんだけBOTを入れると同じような状態になるんで、こんなもんなんだろうか? うーん。

あとHDRはCS:Sにおいてあんまり歓迎されないらしい、との事でしたが、これはちらつきがプレイに支障をきたすし、その描画がfpsに影響しちゃうからですよね。でも今回それでもあえてHDRは入れてしまいました。ああーやっぱり一度HDR効果を体験してしまうと、もう戻れないので・・・。マップの構造上、HDRによって目つぶしが起こるような箇所は殆ど無いので導入に踏み切ったという所もあります。でも一部の場面で明らかに描画負担になってそうですね。それがちょっと気がかり。

マップの構造自体は極めてシンプルである意味王道。元々STINGというゲームを考慮し、初心者に向けて作った所はあったので、必然的に初心者・中級者向けのマップになったかと思います。プレイ人数は4x4 5x5 6x6とか、そんくらいの少人数対戦がオススメかと思われます。マップ自体がそんなに大きくないので、大人数でプレイすると大味なゲームになってしまうかも。


という訳でなんとか完成にこぎ着けました。一応GAMEBANANAに登録しておいたので、ダウンロードはこちらからどうぞ。
しかし大改装した割には、テクスチャがほとんどHL2の物だから既視感満載だし、はたして意図した通りの世界観がちゃんと再現できたかどうかも謎。所詮はマルチ音痴の人間が作ったものだしなあ。と言うか俺シングルも得意だったっけか・・?
しかしここでウダウダあーでもないこーでもないとやってるといつまで経っても終わらないので、さっさと見切りを付けることにしました。あーやっぱりマルチプレイマップは作るの難しいですね・・・。マップの負荷との兼ね合い、ゲームバランスの考慮、色々大変です。先人達のマップを見て参考にもしたりしましたが、かえって自分の不甲斐なさにメチャメチャ凹みました(笑)。ダメだわ俺。レベルデザイナーとか公言するのマジ恥ずかしくなってきた。というかプロじゃないよな今の自分。


皮肉にもSTINGと言うゲームが不発に終わった結果、こうしてこのマップをリリースする事が出来た訳ですが、はたしてそれが良かったのか悪かったのか・・。まあ多分CS:Sのマップなんて今後作ることもないでしょう。そういう意味では貴重な体験でしたね。
ks_obsession6.jpg




web拍手 by FC2
posted by KS(Koumei Satou) at 17:24 | Comment(0) | TrackBack(0) | Hammer Editor | このブログの読者になる | 更新情報をチェックする

2010年04月18日

Hammer講座開設

今回は結構限られた人に向けての記事になりますが。(ああ、毎回そうか・・・。)

ようやくソースエンジン向けのツール、Hammer Editorのチュートリアルを「一応」完成させたので公開します。
hammer_title1.jpg

http://koumeisatou.web.fc2.com/

私はHalf-Life2のMODを作ったりしてきましたが、今までちゃんとしたチュートリアルを公開出来ずにいました。

昔に比べて多少なりともこのHammer Editorの日本語解説はボチボチ出てきてはいるのですが、まだまだ敷居が高いと思います。
そこで、これが初心者のMOD作りに多少なりとも役に立てれば幸いです。
ham_st1.jpg

最近はSTINGというカジュアル向けのオンラインFPSがMODを採用するなど、色々動きだしているので、私もそれなりに一役買おうと重い腰を上げた次第です。

まあ正直、現在の段階でSTINGとかのレベルはまだまだクオリティが低く、課題が山積みの状態なんですが、数少ない国内のレベルデザイナー達が集結しているようなので、盛り上がってくれればいいんですが。
http://www.stingmod.com/

まあそんな訳で今回のチュートリアルですよ。私も忘れている事が結構あっていい勉強になりました。STINGMODに挑戦しようとしている人達も多少は参考になるんじゃないかと・・・。


突貫作業で作ったため、まだまだ初心者には分かりにくい箇所とか多いかもしれないので、おいおい修正・追加していかねばならんと思ってはいますが、まあ時間があれば・・ですが(爆)。
CS:Sとかの言及もまだ少ないので、そこも充実させないとならないかも。
Half-Life2シリーズを持っている方ならSource SDKは無料で手に入るので、興味ある方は是非これを機会にいじくって見てはいかがでしょうか。
ham_st3.jpg

http://koumeisatou.web.fc2.com/




web拍手 by FC2
posted by KS(Koumei Satou) at 22:29 | Comment(2) | TrackBack(0) | Hammer Editor | このブログの読者になる | 更新情報をチェックする