HLAEのAGRを使ってみよう!

  • このエントリーをはてなブックマークに追加

以前HLAE Streamsについて触れましたが、今回はその記事でもポロっと出てきた
afx Game Record、通称agrについて解説していきたいと思います。

関連 : HLAEのStreams機能を使って録画してみよう!

はじめに

この記事はHLAEの記事となります!
そもそもHLAEってなんだよ!って人は、上記リンクもしくは以下の記事のHLAE項目を見て下さい。

関連 : CS:GO ムービー制作のすゝめ

Streamsは要するに同時にいくつかの映像を出力する機能、だと説明したのですが
実はもっと多くの機能が備わっています。

その中でも映像出力とは少し役割の違う機能が、agrです。

afx game record ってなに?

さて、agrって何?って聞かれると少し表現しづらいのですが…
CS:GOにおけるメタデータの出力が可能な機能です。

メタデータってなんだ?ってなりますが、CS:GOのデモは元々何秒でキャラクターが走り
何秒で飛び、何秒で倒す、または倒される…といったデータが記録されています。
動画として保存されているわけではないので、容量も軽く抑えられているわけです。

再生にはCS:GOが必要です。
ただ、それを他のソフトで読み込むように再出力するのが、agr機能というわけですね。

AGRでできること

1番大切なのがここですが、何ができるの?ってとこです。

出力したところで入力できるものがなければ話になりません!

Source Filmmakerにインポートする

Valveから出ている3Dソフトと言えば、Source Filmmaker、以下SFMです。
そのSFMにCS:GOのキャラクターをインポートすることができます。

これはRapidWorksのyudai氏が制作したムービーですが、最初のinfernoのシーンはSFMで構成されています。
このような実際のデモと同じ動きをSFMにインポートすることができます。

これによってマップの調整や、ライティングの変更や調整も可能です。

随分昔のテストですが、こんな感じで好きなようにオブジェクト配置ができます。
当時は武器などは出力できませんでしたが、現在は可能となっています。

Blenderにインポートする

SFMではなく、3DCGソフトであるBlenderにインポートすることができます。
Blenderを通して、CINEMA4DやMaya、他のソフトで読み込めるように変換できます。

HLAE AGRの出力設定

特に難しいことはありません、Streamsの機能が使えれば簡単に設定できます。

mirv_streams record agr

のコマンドをコンソールに打つと、agrコマンドがズラっと出てきます。
まずはagrの録画をオンにしましょう。

mirv_streams record agr enabled 1

これでStreams録画をするとagrを録画する設定になります。
他にもグリーンバックや被写界深度と併せて出力ができます。
agr形式のみの出力の場合はめちゃ軽いです。

AGR録画の詳細な設定をする

mirv_streams record agr
このコマンドで何を出力するか決めれます。

mirv_streams record agr recordCamera
視点のカメラデータの出力設定です。
視点データをagrに内蔵して出力できます。

mirv_streams record agr recordPlayers
プレイヤーの移動データの出力設定。

mirv_streams record agr recordWeapons
武器データの出力設定。
SFMに入れる際はオンでいいと思います、Blenderに入れるときは邪魔になるかもです。
というのもインポート時間がとんでもなく長くなりますw

mirv_streams record agr recordViewmodel
ビューモデルの出力設定(現在は開発版です)。
自分は使ったことないですが、不安定みたいです。

ほかにも
mirv_streams record agr recordProjectiles
mirv_streams record agr recordInvisible

などがあります。

AGRのインポート

SFMに入れる場合

以下のプラグインをSFMにインストールします。
afx-sfm-scripts

基本的にはそのままカメラにインポートすれば、キャラクターもインポートされます。
SFMに入れる場合の設定はあまり気にしなくてもいいかもしれません。

当然CSGOのモデルデータがないと読み込めません。
すこし古いチュートリアルですがこの方法で行けると思います。

 

Blenderに入れる場合

結構複雑になります。

まずはBlenderを用意して、以下のプラグインをBlenderに読み込みましょう。

afx-blender-scripts
Blender Source Tools

その後CS:GOのデータを抽出して、デコンパイルします。

中身を見るためにはGCFScapeが必要です。

GCFScape

CS:GOデータはCSGOのインストールフォルダにある、 pak01_dir.vpk というものがソレです。
この中の models  Player と Weapons を抽出しましょう。

Blenderに入れる人は恐らく後々、マテリアルも使うと思うのでこの時マテリアルも出しちゃいましょう。

取り出したファイルをBlenderで読み込める形式にするため、デコンパイルします。
デコンパイルにはCrowbarというツールが必要です。

Crowbar Source Engine Modding Tool

このデータを models というフォルダの中に入れておきます。

1番上の階層であるCSGOは任意でいいですが、models以下は必ずこの階層にしてください。
これが準備できればOKです!

Blenderを起動して、File Import  HLAE afxGameRecord (.agr)
を選択します。

このときに出てきてない場合は、プラグインの読み込みがうまくいってません。
File User Preferences の中にある、Add-ons に入ってるか確認してください。
ではagrを読み込みます。

まずは画面左下にあるAssets Path: に先程用意した models があるフォルダを入力して下さい。
modelsそのものを選択するのではないので注意です。

先程の例だと
D:\CSGO
という感じです。modelsの上のフォルダを選択します。

Scaleは0.01で大丈夫です。

Assetsを選択したら、agrファイルを読み込んでみてください。
Blenderがフリーズ(応答なし)になることがありますが、正常ですので落とさないように!

Window Toggle System Console

を押してコンソールを出しておくと、状況が把握できるのでオススメです。

またロード中にマウスカーソルに数字(読み込んでいるようなもの)が出たときは
恐らくどこかが間違っているので、正常に読み込めません。

これで読み込めれば完了です。
他の3Dソフトにもっていくなり、Blenderで編集するなり、自由です!

 

この記事じゃ分かんねぇ!って人は上記動画を見てください。
分かりやすいです(最初に貼れ)

質問などは…

ぜひDiscordにご参加ください!どんな内容でもOKです!

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください