衝突判定メッシュ マテリアル テクスチャ シェーダ アニメーション スケルトン 実行速度の最適化 その他の注意
BRF ファイルの概要
BRF は Binary Resource File(バイナリ・リソース・ファイル)の略で、Native や各 MOD が使う 2D/3D のリソースの集まりを zip のようなコンテナ形式に詰め込んだものです。中に含めるのは例えば、メッシュ、マテリアル、テクスチャ、衝突判定体、シェーダ、アニメーション、アニメーション用スケルトンなどです。ただし、一部の実体(テクスチャなど)は .brf ファイルの外にあり、関連付けているだけです。M&B シリーズの製造元開発者も一般の MOD 開発者もこの形式のファイルを扱います [1]。 (訳注: 後述される通り、一つの MOD が複数の .brf ファイルを使います。複数に分けて部品化しておくことで、MOD 間の再利用が容易になるなどの利点があります。)
OpenBRF の概要
OpenBRF という、独自 MOD 制作用に作られた非公式ツールがあります。いくつかの一般的なファイル形式のインポート/エクスポートができ、編集とプレビューをしつつ、.brf 形式ファイルの読み書きができます [2]。
訳注: 本文に出てくるのはオリジナルの OpenBRF(作者 Marco Tarini 氏)で、開発が長年 休止していました。それを 2024 年から Swyter 氏が再改造し始め、復刻版「OpenBRF Redux」 として再リリースし、バグ対策、機能改善などを続けています(入手先は後述)。日本語でも操作できるようになりました。
Windows 8.1 か それ以前の Windows で実行する場合は要注意。後述。
![]() |
![]() |
(訳注: 上図 左はオリジナル版の作者 Marco Tarini 氏のサイトからこのページの原文(の もう少し下のほう)に取り込まれていたものを、訳者がこの位置へ移動しました。右は訳者が追加しました。Swyter 氏による復刻版「OpenBRF Redux」に、TLD(The Last Days of the Third Age)という既製 MOD からリソース wargs.brf を取り込み、左欄から warg_1C を選択して anim_horse を再生しました。サイズ圧縮のため実際よりかなり粗くしてあるし、コマ数も途中までです。オリジナル版でもアニメーション再生は可能です。)
このツールのインストールが Windows/Wine システムを汚染することはなく、手軽に 3D 開発を支援します (訳注: Windows のレジストリを変更するようなインストール方法ではなく、どこかに解凍するだけ、という意味らしい)。これは Qt および OpenGL ライブラリ上に構築されているからです。ハードウェア(グラフィック・カード)へのアクセスを仲介するライブラリが含まれていて、OpenBRF のプレビュ枠の描画をサポートします。そのライブラリは、共通リソースのメッシュへの生成済ジオメトリを「呼び出し」ます [3]。
オリジナル OpenBRF の沿革
OpenBRF は元々、Mount&Blade バージョン 1.011(つまり Warband でない、いわゆる「バニラ M&B」)用に開発されました。より古い Mount&Blade .808 の .brf ファイルをロード可能(下位互換性あり)、より新しい Warband の .brf ファイルをロード/セーブ可能(「前方」互換性あり)です [4]。
OpenBRF は Mount&Blade の MOD 開発に不可欠のツールです。元々は Marco Tarini (mtarini) 氏が、ロード・オブ・ザ・リングをベースにした The Last Days of the Third Age という MOD の開発者向けに作った専用ツールでした。その潜在力に気付いた Marco は、オープン・ソースとして公開することにし、名前も OpenBRF としました。
公式フォーラムで一般リリースがアナウンスされるなり、期待や好意的批評ととも受け入れられ、無数の提案が寄せられました。Marco は少しずつ しかし着実に、機能を追加していき、アニメーションや頂点の着色まで扱えるようにしました。TaleWorlds Entertainment 社の開発者から漏れてくるようなドキュメントが皆無の中、Warband の内部形式を調べました。ほどなく、OpenBRF は Mount&Blade の modding シーンで事実上の正規ツールとして受け入れられました。ゲームのほとんどのコンテンツ(メッシュやアニメーションなど)を含んだ .brf(バイナリ・リソース・ファイル)をプレビューし編集できます。
基本的な使い方
大抵の機能は。左欄のオブジェクトを選んでおき、右クリックまたはメニューの「選択を」で現れるコマンド群で操作します。各コマンドにマウス・ホバーすると、下欄のステータス欄に簡単な説明が出ます。複数オブジェクトを選んでおくには、Windows エクスプローラと同様で、Shift クリックや Ctrl クリックを使います。そうすれば一度にまとめて操作できます。[2]
Ctrl z で元に戻す、Ctrl y でやり直す、Ctrl r で最後のコマンドを繰り返す。

(訳注: ここから次の水平の線まで、訳者が追加)
復刻版「OpenBRF Redux」の入手と言語設定

(1) Swyter 氏の この投稿 に書かれたダウンロード先リンクから github へ行き、実行形式(.exe)一式が欲しいなら右の「Releases」の下にある「Downloads」。そこで最新の日付のをダウンロード。どこかにフォルダを作って、その中に解凍する。そこにできる .exe が実行体。
(注: Windows 8.1 か それ以前の Windows で実行できる OpenBRF Redux は、2024.10.25-22.08 版の.zip ファイルまで。この制約は、新しい DirectX や Qt が古い Windows に対応しなくなったことによるもの。なお、中身の .exe などの日付は日本時間では 9 時間ほど進んで見え、.zip ファイル名の翌日になり得るので、解凍後に この時差の誤認で混乱しないよう要注意。)
(2) これだけだと翻訳フォルダ translations が空のはずなので、githab のページに戻って、緑の「Code」ボタンから「Download ZIP」でソース一式も入手するか、またはページに表示された translations フォルダを開いて翻訳用ファイルの全てを一つずつ手動でダウンロードする。そうした上で、入手した翻訳用ファイルを実行フォルダの translations フォルダの中へコピーする
(3) openBrf.exe を起動。(事前にショートカットをデスクトップなどに作っておくと便利。また、拡張子 .brf を持つファイルをダブルクリック時に OpenBRF Redux を自動的に起動できるよう、関連付けておくと便利。)
(4) メニューから [Settings]-[language]-[日本語] としてユーザ・インタフェース(UI)の言語を切り替え。(この設定は記憶され、次の起動からは再設定不要のはず)
日本語訳や表示欠けなどの問題が気になる場合は、直接 Swyter 氏にではなく、訳者(私)の「復刻版に日本語を加えてもらいました」までどうぞ。(常にアクティブとは限りません。気長にお待ちを)
使ってみる
「OpenBRF Redux を ちょこっと試したい。使うかどうか その後 考えようかな。」
今から開くのは Warband の共通リソースなので、セーブしないように気を付けて下さい。OpenBRF Redux を起動しておきます。Windows の操作に戻り、Warband をインストールしてあるディレクトリ(不明なら起動アイコンを右クリックから「ファイルの場所を開く」)にある CommonRes フォルダを開きます。
horse_a.brf というファイルを見つけて、OpenBRF Redux へドラッグします。どこかで見たことのある「馬」が表示されましたよね? マウスで ぐりぐりと回転でき、ホイールでズームできます。左欄で horse_b を選ぶか、または下矢印キー(↓)で一つ下がると、別の馬が出ます。それ以外の lod という語が付くメッシュは、ゲーム中に視点から遠いものを粗くしてマシン負荷を軽減するための「粗いメッシュ」です。これで充分なら、保存せずに OpenBRF Redux を閉じましょう。
「この馬、走るんだよね?」
左欄で horse_a か horse_b(または Ctrl とか Shift をうまく使って両方)を選んだ状態にします。右隣(中央)のパネルの下のほうにある「アニメーション」という選択欄を見つけて下さい。初めは「no_anim」になっていて、これを「anim_horse」にします。一番下に現れる再生とか停止とかコマ送りのボタンを使ってアニメーションを確認します。再生中も回転やズームができます。
この「馬のアニメーション」には、跳んだり、障害物にぶつかったり、倒れたり、たたずんで小動きしたりする動きが全て含まれています。「人のアニメーション」も同様に様々な動きが含まれます。場面に応じてどのフレーム区間を再生するかを、MOD のソース・コードに書いたトリガーや命令で指示します。
アニメーションの動き自体の変更、つまり時刻毎の頂点座標群の変更は、外部ツールを使ってインポートし直すことでできるし、MOD は任意のアニメーションを適宜 開始したり停止したりできます。しかし、アニメーションの「種類」数は ほぼ Warband エンジンにハード・コーディングされていて、増減できません。また、Watband エンジンが MOD に知らせてくるトリガーも限定的で、例えば馬が壁にぶつかったことを MOD に知らせてくる(能動的な)トリガーは無く、MOD がそれを知るには agent_get_animation 命令を使って(受動的に)再生中のアニメーションを短周期トリガーでモニターするなどの方法しか無く、処理がより高負荷に(重く)なりがちです。
アニメーションが付いているのは、一部のメッシュだけです。CommonRes 下の .brf ファイルを片っ端から取り込んでみると わかります。多くは壁とか装備とか、2D の絵画など、静物です。矢筒から矢が減る動きや、鎧/胴着の「女性化」もアニメーションが担っています。
「Native 以外の動物、装備、建物なんかも見れる?」
Warband に追加してある既製 MOD とか、オープンの MOD があれば、そのリソース、つまり .brf ファイルの中を見ることもできます。それらは上記で示した共通リソース CommonRes ではなく、Warband の Modules フォルダ下の各 MOD の下の、Resource フォルダにあります。
「宿屋(居酒屋)の階段とか皿のメッシュを見つけたけど、部屋として全部一式 揃ったものは?」
宿屋や闘技場や城などの一式は、「シーン」なので、OpenBRF ではなく Warband に備わっているイン・ゲーム・エディタで編集します。MOD 開発システムのソース・コード上では、リソース内のメッシュとしての皿を、単体の「シーン小道具」(scene prop)の 1 レコードとして割り当てます。イン・ゲーム・エディタがそれら「シーン小道具」の名前を一覧表示し、MOD 開発者はシーン内に同じ皿(のインスタンス)を複数個置けます。編集したシーン内には個々の皿の 3D 座標などが保持され、SceneObj フォルダ下の .sco ファイルへ上書きされます。
ちなみに、宿屋や闘技場などの「入場点」、つまり人物が立つ位置も、イン・ゲーム・エディタで編集します。
「MOD のリソースと共通リソースの関連付けは?」
本来なら設定しておくべきことを、省略して ここまで説明してきました。MOD の実行フォルダの位置を OpenBRF Redux に知らせておくのが正しい使い方です。メニューで [モジュール]-[対象とする MOD を変更...] を選び、ファイル選択ダイアログが出たら、MOD の実行フォルダ、つまり Warband のインストール・ディレクトリの Modules フォルダの下の自分の MOD などの実行フォルダの中へ進みます。そこで「フォルダの選択」ボタンを押します。OpenBRF Redux の右下に MOD の名前が表示されたことを確認して下さい。
この指定で OpenBRF Redux は Warband 本体の場所(相対的に二つ上のフォルダ)などを知ることができ、共通リソース(CommonRes)を参照できるようになります。従って、共通リソースを変更してしまう危険もあります(その場合、たぶん確認メッセージが出ます)。
「手持ちの 3D モデルとテクスチャを OpenBRF Redux に取り込んでみたい。」
最初は ごく単純なもので試しましょう。立方体とか。
(1) インポート可能なファイル形式を、本文で後述される表で確認。その形式の 3D モデル、つまりメッシュを用意。
(2) UV マップ・エディタの機能を持つ何らかの 3D ツールを使って、3D モデルに合う UV マップ(jpg や png などの 2D ファイル)を用意。
(3) 2D ツール(GIMP など)を使って、その 2D ファイルを(既存テクスチャの横縦サイズや 下記 Vincenzo 氏の投稿にあるように)一辺が 2 のべき乗になるようにし、DTX1 圧縮の dds 形式ファイルに変換し、mipmap 1~9 を含めておく。例えば GIMP なら、jpg や png を取り込んで、サイズを 512x512 などに調整し、エクスポート時に拡張子 dds を指定、小さなダイアログが開くので、圧縮形式は「BC1/DXT1」、Mipmaps は「Generate mipmaps」を選択。
(4) OpenBRF Redux を起動し、[インポート]-[静的メッシュ...] で 3D モデルを読み込む。
(5) [インポート]-[新規テクスチャ...] で小さなダイアログが表示されるので、下の「同じ名前で~も新規追加」というチェックボックスにチェックを入れ、右の「開く」ボタンからテクスチャ・ファイルを読み込む。(dds 形式のみ可)
「この自作した物体を、ゲーム内の宿屋のテーブルに置いてみたい。」
自作した立体(3D メッシュ)をシーン小道具としてシーンに置くには、イン・ゲーム・エディタを使うのですが、このエディタは Warband に内蔵されていて MOD 開発システムからは独立しています。だから事前に、module.ini 内で指定した .brf 内に自作 3D メッシュを置き、そのメッシュ名をシーン小道具(scene_props)モジュールに関連付けておくことで、イン・ゲーム・エディタに存在を知らせ、そのシーン小道具選択欄に表示させる必要があります。
もし 他の誰かの作った(自分でソースを持っていない)既製 MOD に対して この関連付けを行ないたければ、.txt ファイルの読解だけでなく、他の全リソースの読み込み順への考慮が必要かも。その詳細説明は長くなるので、ここでは MOD 開発環境(のソース・コード)が使えることを前提に説明します。
準備として、MOD システムを導入し、疑似コンパイルを終えて自作 MOD をプレイできる状態にしておく必要があります。まだプレイしていないなら、ワールド・マップに初めて出た辺りまで進めてゲームをセーブし、Warband を一旦終了しておきましょう。今からする作業でシーンを書き換えてしまう可能性があるので、作りかけや実験中のシーンなどがあるなら、当該フォルダだけでもバックアップしておいたほうが安全です。
ここからが本作業。まず、OpenBRF Redux を起動し、他のメッシュなどが無く、自分の取り込んだメッシュだけが左欄に表示されている状態にします。メッシュ名が myobj1 だとします。[ファイル]-[名前を付けて保存]で MOD の Resource フォルダに .brf 形式で保存しておきます。例えば mybrf1.brf にします。この自作 MOD の実行フォルダにある module.ini を開くと「load_resource =」という行が大量に並んでいます。それが終わった所に「load_mod_resource = mybrf1」のように .brf を外した名前を書いた行を加えます(左辺が load_resource でないことに注意)。この指定により、ゲーム・エンジンは この MOD の Resource フォルダにある mybrf1.brf が読み込み対象であることを知ります。
今度は MOD システムのソース module_scene_props.py をテキスト・エディタで開き、どこかの行、例えば "spoon" の行を複製して 2 行にします。その一方の行内の第 1、第 3 項目の "spoon" を、先ほどのメッシュ名 "myobj1" に変更します(.brf ファイルの名前ではなく)。下記のようになるはずです。
:
("ladle",0,"ladle","0", []),
("spoon",0,"spoon","0", []),
("myobj1",0,"myobj1","0", []), # Added for test
("skewer",0,"skewer","0", []),
("grape_a",0,"grape_a","0", []),
:
この情報はゲーム・エンジンとイン・ゲーム・エディタに伝わります。コンパイルして MOD の実行フォルダに .txt を写したら、ゲームを起動し、最初の小メニューの [Configure]-[Advanced] タブで編集を有効にし、プレイします。どこかの街の宿屋へ行き、Ctrl e キーでイン・ゲーム・エディタを起動。左側にパネルが出たら、その中ほどにある選択が「Scene Props」(シーン小道具)であることを確認。その下の欄をスクロールし、myobj1 を見つけて選択します。

もし見当たらない場合は、上で module_scene_props.py へのレコード追加ができていないか、コンパイルや実行フォルダへの書き出しに問題があるはずなので、メッシュ名やコンパイルや txt の写しなどを再確認。「Add Object」ボタンを押すと、マウスの位置に物体が表示されるので、W,A,S,D キーなどで視点を動かし、どこでもいいので置く位置を仮決めして右クリック(もう少し詳しい使い方は他ページで説明しています)。追加モードを終わらせるために、再度「Add Object」ボタン。エディットを終了するには再度 Ctrl e キー。シーンをセーブするかどうかを聞いてくるので、シーンを上書きしたくなければ「No」。この後 イン・ゲーム・エディタをすぐに使う予定がないなら、ゲームを終了後、もう一度起動して、小メニューの編集有効の指定を外しておきましょう。
以上が、「シーン小道具モジュール」、「.brf ファイル」、「メッシュとテクスチャとマテリアル」、「ゲーム・エンジン」、「OpenBRF Redux」、「イン・ゲーム・エディタ」の関連付けかたの概要です。
テクスチャ・マッピング(貼る位置)の調整や、スケルトンの新規作成とか、リグ付けなどは ここでは説明していません。それらは外部の 3D ツールで行ない、それぞれ OpenBRF Redux にインポートして .brf に統合します。従って、OpenBRF Redux がインポート可能なファイル形式を作り出せる外部ツール(や追加のプラグイン)が必要になります。
まだ余力があれば、宿屋の壁などに付いている松明(たいまつ/トーチ/torch)の「火」と同じように、自分の物体を燃え上がらせてみて下さい。ヒントは、シーン小道具モジュールの各レコードの、第 5 引数「トリガー」です。トリガーや粒子システムの理解は不要です。必要なものを見つけてコピーするだけ...。
(訳注: ここまで、訳者が追加)
BRF ファイル形式
訳注: 本文の この項は あまり意識する必要は無さそうです。恐らく「過去の変遷」の話です。

例えば、下記「メッシュの 30000 うんぬん」は、試したところ 0 でも問題無く動くようです(2024 年現在)。この値は 16 進数です。メッシュのパネルで「フラグ群」の「...」ボタンを開き、更に「ビット毎に表示」でチェックボックスがより多く表示されるほうに切り替えると、縦 4 列のそれぞれが 1 バイトで右が上位バイト、各バイトの中で下にあるものほど上位のビットのようです。「予約」と書かれた 2 ビットが 0x30000 に相当します。既存の共通リソースの「馬」などを見ると、メッシュ・パネルには 0 と表示されているものの、ビット毎表示では その「予約」の 2 つにチェックが入いっています。一方、自分で持ち込んだメッシュをそのまま(フラグ群を設定せずに).brf に出力し、OpenBRF Redux を起動し直して その .brf を読み込むと、「予約」の 2 つはチェック無しで、これをシーンに取り込み、シーンを保存しても、次からゲーム起動は問題無くできました。
本文その下の .trf に関しては、Blender Exporter で出力できる、という点は興味深いですが、リンク先は 2010 年のファイルで、Readme.txt には Blender 2.49b 用と書かれています。試すかたは危険承知でどうぞ。
BRF ファイルを Warband 用に保存する場合は、全てのメッシュに「標準的な」30000というメッシュ・フラグが付くようにする必要があります(建物は 30001 らしい)。Warband でない M&B(つまりバニラ)用として保存するなら 0 でもよいです。Warband 用にもかかわらず 0 にしたせいでゲームが起動しない、というのは多くの人が経験してきた問題です [5] [6]。
なお、Mount&Blade エンジンは、.brf ファイルと .trf ファイルという 2 種類のコンテナ形式を扱えます。後者は テキスト・リソース・ファイル のことで。、開発者たちが Blender を使用時に、少なくとも最初は内部的に(開発作業のためだけに)使っていた形式です。ゲーム・エンジンはこの形式を直接シームレスに扱うことができ、自動的にバイナリ・リソース・ファイル(.brf)に変換します [7]。
TRF ファイルと BRF ファイルは同じように使われます。Mount&Blade エンジンは、TRF と BRF の作成日時を比べます (訳注: 原文は creation time で、文字通りに解釈すれば「更新日時」ではないので、変更時は新規作成し直す必要がありそう、ということに要注意です。)。もし X.trf と X.brf というファイルが両方ともある場合、.trf の作成時刻が .rtf より新しい場合にのみ .trf が使われます。そのような .trf を M&B のリソース・フォルダに置くと、ゲームのロード中に .brf ファイルに変換されます。そしてもちろん、module.ini 内のロード対象リソースのリストには .trf ファイルの名前を追加する必要があります。X.trf と X.brf がある場合、ゲーム・エンジンが X.brf を上書きし得ることに注意し、必要に応じて BRF ファイルをバックアップして下さい [7]。
(訳注: module.ini の指定については次項で後述されます。)
TRF ファイルは、公式の Blender Exporter を使うと作成できます (訳注: TaleWorlds の Warband のページで「+ DOWNLOAD」を展開しても見つかります。)。これは、Taleworlds の開発者たちが使ったワークフローです。BRF 形式のほうは、当初スペインの Lurb 氏が開発しました。そして、様々な試行を経て、Thorgrim 氏がプロジェクトを継続、後に mtarini 氏が OpenBRF としてリリースしました。このように、MOD 開発者たちが手にしてきたのは、公式 SDK ではなく自家製ツールだけでした。Blender プラグインとしてリリースされたものは 5~6 年の遅れがあり、それ以来ほとんど使われていません [8]。
Mount & Blade の かなり初期の頃、バイナリ・リソース形式は RSF と呼ばれていました。TaleWorlds の開発者 Armagan 氏は、「.rsf は当社の独自形式で、扱いにくいので いじるのは勧めない」としていました。[9]
module.ini 内の指定順
各 MOD が どの .brf ファイルを使うかという情報を module.ini に書いておく必要があり、その際 読み込み順序を正しく指定する必要があります。つまり特定のリソース群の名前が他よりも先に(上位に)現れなければなりません。最も重要なのは次の順です。
シェーダとテクスチャ → マテリアル → メッシュ
これらが同一 .brf ファイル内にある場合は問題ありません。例えば、ある「メッシュ」が参照する「マテリアル」が同一 .brf ファイル内あるか、または module.ini 内で先に指定されていれば、ゲーム内で適切に表示されます。同様に、「マテリアル」が正しく表示されるには、それが参照している「テクスチャとシェーダ」が同一 .brf ファイル内にあるか先に指定されている必要があります。シェーダは通常、先頭行付近で指定します。
上記以外のリソースのうち。「スケルトン」と「アニメーション」は、MOD 開発をする上で変更頻度も低く、意識されないことが多いかもしれませんが、「スケルトン」は、「アニメーション」と「リグ付きメッシュ」より前に指定される必要があります。なお、「メッシュ」と「アニメーション」の順序は自由のようです。また、「衝突判定メッシュ」は上記のいずれの影響も受けませんが、通常はシーン・オブジェクトの「メッシュ」と一緒にロードされるので、両者を一緒にしておいて下さい [10]。
(訳注: module.ini は、開発中の MOD の実行フォルダ、例えば Modules\MyMod というフォルダに置くファイルです。MOD システムで、build_module.bat などで「コンパイル」しただけでは生成されません。Warband で MyMod を起動できているなら、既に Native から module.ini を(あなたが)写してあったはずです。このファイルをテキスト・エディタで開くと、中ほどに「load_resource = xxxxx」という行がいくつも並んでいます。あとは脚注 [7] の説明や module.ini 内のコメントにもある通りで、X.brf を Warband の CommonRes フォルダに置くなら「load_resource = X」という行を、MyMod の Resource フォルダ に置くなら「load_mod_resource = X」という行を、module.ini に書き加えます。ただし本文にあるように、「行の指定順序」が有意なので、気を付ける必要があります。なお、Native の Resource フォルダ下の Readme.txt に書かれた「module_info.txt」や「load_module_resource」という名前は、古い情報のようなので、無視しましょう。)
(訳注: 実行形式ファイルも UI 日本語訳も、随時変更される可能性があるので、最新の OpenBRF Redux で確認を。)
基本機能
| ロードとセーブ |
|
| ビューア |
|
| インポートとエクスポート |
|
| 基本的な編集 |
|
スケルトン/リギング/スケルトン・アニメーションのツール
| アニメーションのサブシーケンスへの自動分割 |
(複数アニメーションの長いシーケンスを 1 つにまとめる場合に便利)アニメーションは、フレーム番号の大きなギャップで区切られたチャンクを分割することによって自動分割することもできるし、action.txt ファイルに従って分割することもできる(後者の場合、新しい分割アニメーションを参照する新しい action.txt も生成され、元の action.txt は安全のためそのまま保持される)。 |
| アニメーション・ビュー向けのカスタム可能スキニング |
リグ付きメッシュを「スキン」の構成に加えることができる。スキンはユーザが選択したリグ付きメッシュのセットで、OpenBRF がスケルトン・アニメーションを表示するために使う。同様に、アニメーションを「参照アニメーション」として設定すると、そのアニメーションの下にリグ付きメッシュが表示される。スキンを使って、アニメーション/リグ付きメッシュ/スケルトンをエクスポートすることもできる。
|
| スケルトンをメッシュに当てるための簡易編集 |
アニメーション・プログラム(小さなもの)を使わずにスケルトンを編集できるようにする。まず、「スケルトン変更メッシュ」をエクスポートする。これは、ボーンを特徴付ける単なる静的メッシュ(obj など)。次に、任意の 3D エディタを使って、結果のメッシュを編集する。ボーンのサイズ、数、形状は変更せず、方向と位置のみを変更する。次に、そのメッシュを使ってスケルトンを変更すると、OpenBRF はボーンの位置/方向のみを変更し、ボーン名やボーン接続などの他の全てを維持する。 |
| リグ付きメッシュの再スケルトン化ツール |
これは、スケルトン A 用にリグされたメッシュから、スケルトン B 用にリグされた新しいメッシュを作成するために使える(ただし、両スケルトンが充分に類似している場合に限る)。メッシュは新しいスケルトンに適応するように変形する。これで完璧であるはずはないが、後続の編集の出発点にできる。オプションとして、変形したメッシュを元のボディ・メッシュの(アニメーション)フレームとして配置できる(このことから、Native が後続フレームで女性バージョンの鎧の形状を隠している方法が判る)。 |
| メッシュ間でのリグの移転 |
リグを設定した「見本」メッシュから 1 つまたは複数のターゲット(通常はリグなし)メッシュにリギングを転送するには(「obj2smd」プログラムと同様)、1 つまたは複数の見本メッシュを選択し、Ctrl c でコピーし、ターゲットとなる 1 つまたは複数のメッシュを選択し、[編集]-[リギングを貼り付け] を選ぶ。 |
| タイミングの移転 |
タイミング(フレームあたりの回数)の転送: 上記と同様、ただし「タイミングの貼り付け」を使う。 |
| 下半身のアニメーションの移転 |
アニメーションの下部 (脚と腹部の位置) を別のアニメーションに転送。例えば、騎乗キャラクターの対応するスタンディング・チャーターのアニメーションを回転させる場合に便利。やり方は上記と同じ、ただし「アニメーションの下部分を貼り付ける」を使う。 |
| ミラー(アニメーション) |
想像の通り。つまり 体の右半分を操作すると、同じことを(鏡像として)左半分にも行なう。 |
| ボーンへのマウント/アンマウント |
選択したスケルトンのボーン上に特定のアイテムを割り当てる方法: アイテムは所定の位置に移動され、そのボーンにリギングされる。また、その逆も。スキン作成にも便利。M&B WB で使われる、事前定義された特別なキャリー・ポジション(例: ベルトに巻かれた鞘や背中に背負ったシールド)も含まれる(ただしカスタマイズ可能)。逆の機能もある(メニュー [選択を]-[破棄]-[....] を参照のこと)。 |
| スケルトン・アニメーションのフレーム凍結 |
リギングされたオブジェクト(特定の位置)から静的な「像」を作成する方法([選択を]-[破棄]-[スキニング] を参照のこと)。 (訳注: 当初 [Selected]-[discard]-[rigging] だったものが、Redux では skinning に変更された。付近の類似したメニュー項目も同様。) |
| リグ付きメッシュの小片の硬化 |
リグ付きオブジェクト用の小部分自動修正ツール。リグ付きメッシュの小部分群、例えば鎧を構成するプレートなどを、スケルトン・アニメーション中に、変形させないようにする。その部分はメッシュが接続されたコンポーネントとして識別される。使い方: メッシュを右クリックし、対応するオプションを選択。 |
| ヒット・ボックスの操作 |
詳細はこのチュートリアルのスケルトンの項。Minitutorial: hit-boxes manipulation in OpenBRF |
3D メッシュのツール
| メッシュ結合ツール |
「メッシュ同士を結合」により、複数のメッシュ(静的メッシュ、頂点アニメーション化されたメッシュ、リグ付きメッシュと同様に機能)から 1 つのメッシュを作ることができる。また、同じ LoD を持つメッシュ同士であれば、まず 1 つまたは複数のメッシュを選択してコピー(Ctrl c)し、次に 1 つまたは複数のターゲット メッシュを選択し、[編集]-[(同一 LOD 同士の)メッシュ内へ貼り付け] することでも前者を後者にマージできる。 |
| メッシュ分割ツール |
「結合されたサブメッシュに分割」は、選択したメッシュをトポロジー的に分離された部分毎に個々のメッシュに分離する(注: 各部分を個別に作業した後、それらを元に組み立てることができる。上記を参照)。 |
| 拡縮-回転-移動、ミラー(鏡像) |
名前の通り。また、「回転-移動-拡縮」には、オブジェクトを(任意の軸毎に)ゼロの周辺(や上下)に中心を配置するためのボタンがある。また、他の参照オブジェクトが修正されていることを確認しながら、オブジェクトを回転移動拡縮することもできる。例えば、互いの位置を正確に合わせるなど。 |
| 頂点最適化ツール |
位置と頂点をマージし、冗長な頂点、面を作らない行き止まりの頂点、繰り返しの頂点などを無くす。そうすることで、データがよりコンパクトになり、レンダリング効率が高まる。頂点数や位置は [データ] ボックスでわかる。インポート後にこれらの操作を自動的に実行するオプションもある([設定]-[メッシュをインポート時]-[*])。 |
| ハード・エッジの再定義 |
ハード・エッジ(通常の不連続部分)に対し、このツールでカスタム折り目角度パラメータを使って再定義できる。テクスチャの継ぎ目を保持するか無視するかも指定可能。 |
| 法線の算出 |
法線を再計算し、折り目角度 (別名ハード・エッジ) の量を選択できるようにする。 |
| 接線方向の算出 |
バンプ・マッピングや一部のシェーダに必要となる接線方向を、メッシュ上で(UV マッピングから)計算できる(Warband 向け .brf としてのみ保存可能)。 |
| LoD の算出 |
OpenBRF は自動ポリゴン削減によってメッシュを段階的に簡素化することで、そのメッシュの LoD(Level of Details, 視点からの距離に応じた詳細度)を生成する。どの LoD を生成するか、どの程度のポリゴン削減を行なうかを「設定」で指定できる。 |
| 定規とフローティング・プローブ測定ツール |
武器の正確な到達範囲の特定と、メッシュ上の位置識別(便宜上、クリップボードにもコピーされることになる)。 |
| 背面 |
背面を追加(2 面になる)または削除する。両側から見る必要がある平らな面の場合に便利。 |
| 服装の"女性化" |
選択した鎧/衣装から、その女性版を構築させる。女性版はゲーム・エンジンの要件に合わせて、元のメッシュの別フレームとして追加される。 |
| メッシュ間の属性転送 |
1 つ(または複数)のメッシュをコピーし、その属性を 1 つまたは複数のターゲット・メッシュに貼り付けることができる([edit] メニューを参照)。転送できる属性には、頂点毎の色、UV マッピング、頂点アニメーション、リギングなどが含まれる。 |
| 再着色 |
(頂点毎の色のサポート) 均一な色を割り当て、既存の色の色相、彩度、明度、コントラストを調整する。 |
| 環境光遮蔽度(アンビエント・オクルージョン) |
遮光度を計算し、頂点色毎に保存する。 安価かつ迅速にメッシュにリアルさを追加する。一緒にグループ化されたメッシュでも(現在の「表示モード」設定に応じて)機能する。いくつかのパラメータ(闇と光の性質)は「設定」で調整できる。 |
| 他メッシュからの色の転送 |
方法: 見本とする元のメッシュ(一つ以上)をコピーし、対象のメッシュ(一つ以上)を選んだら、[編集]-[頂点色を貼り付け]。 |
| テクスチャから色を転送 |
テクスチャから色を取得し、頂点毎の色として保存する。 |
| 色の乗算 |
(上記 4 つの頂点色処理について、Shift キーを押したままで操作すると、色が置き換えられるのではなく「乗算」される!) |
| 色相、彩度、明るさを調整 |
頂点色に適用する。 |
衝突判定オブジェクトのツール
| 部品のスマート・インポート/エクスポート |
効率的な「球」と「カプセル」プリミティブを使って衝突オブジェクトを作成。詳細: integrate below and reference |
| 自動四角形化(Auto-quadrangolized) |
三角形ベースの衝突オブジェクトを、より効率的な四角形優先の衝突オブジェクトに変換(ゲーム内では、三角形を増やすよりも四角形のまま面を少なくするほうが良いので)。 |
| スマート可視化 |
「X線」スタイル。 実際のメッシュを衝突メッシュと一緒に視覚化し、どの程度一致するかを確認することも可能(同じ .brf ファイル内に存在し、元の名前の先頭に「bo_」を付けた名前である必要がある)。 |
| 拡縮/移動/回転/鏡像/マージ |
衝突オブジェクトに関して。 |
| メッシュから生成 |
メッシュ(またはメッシュのグループ)を衝突オブジェクトに変換(注: 閉じていて適度に低解像度であるほうがよい)。 |
マテリアル/テクスチャのツール
| 直接フラグ編集 |
マテリアルとテクスチャに関するもの。各フラグの意味が表示される。 |
| 複数マテリアル/メッシュの編集 |
複数を選択後、フラグ、テクスチャ名などを編集。 |
| テクスチャ・データ |
OpenBRF は、テクスチャの解像度、ミップマップ・レベル、圧縮モード、ディスク・サイズ、場所(モジュールまたは共通フォルダ)などに関することを色々教えてくれる。エクスプローラが開くボタンもある。 |
| テクスチャが見つからない時の簡易診断 |
何らかの理由で openBRF がテクスチャを表示できない場合に、チェック柄で表示される。この時、[設定]-[チェック柄になる原因は?] で簡単な診断結果を得られる。 |
| マテリアル・レンダリング |
OpenBRF は、メッシュ上でマテリアルをレンダリングする際、マテリアルのレンダリング(光沢、透明度、カットアウトなど)の推測を試みる。ノーマル・マップとスペキュラ・マップも。 |
頂点アニメーションのツール
| フレームのスタック |
頂点アニメーションは、各フレームを個別に積み重ねて(スタックして)形成できる。それらを個別にインポートすることもできるし、[編集] のフレームの切り取り、コピー、貼り付け操作も使える。いずれにせよ、実際にアニメーションを組み立てるには 方法が二つあり、メッシュの頂点順序を信頼するか、頂点座標で頂点を自身で見分けるかを([設定] で)選ぶ。詳細は「頂点アニメーション」の項を参照のこと。 |
| 直接インポート/エキスポート |
MD2 ファイルとして。 |
| タイミングの複製 |
あるアニメーションから別のアニメーションにフレーム毎の「タイミング」を転送するには、アニメーションを選んで Ctrl c でコピー、別のアニメーションを選び、[編集]-[タイミングを貼り付け] 。 |
| フレームの分割とマージ |
別々のメッシュから頂点アニメーションを(フレーム毎に 1 つ)分離し、(それらを編集したり順序変更などした後)頂点アニメーションに再結合する。 |
| リグ付きからの作成 |
リグ付きメッシュ、またはスキン・アニメーションを、同等の頂点アニメーションに変換する。 |
| 「矢筒」モード |
最初のフレームが、(例えば、矢筒に全ての矢がある状態のように)最も完全なオブジェクトで、後続フレームでは、いくつかの部品を一点に縮小することで「無くなった」ように見せる(例えば、矢が少ない または無いような矢筒にする)というアニメーションを作るのに役立つモード。最初のフレームのコピーから一部を一点に縮めて面(多角形)を失わせることで、関連する全フレーム生成する。[設定]-[頂点アニメの組立時]-[矢筒モード]。 |
モジュール管理
| 高速 module.ini ロード |
module.ini ファイルに記述されているように、データセット全体の迅速な自動スキャンを実行する(つまり、後の参照に備え、含まれている全 .brf ファイルを読み取る)。 |
| モジュール階層の移動 |
メッシュからそのマテリアルへ、マテリアルからそのテクスチャ/シェーダへジャンプし、その逆のジャンプもする。Ctrl キーを押しながら矢印(左/右)を使うか、パネル内のラベル(「マテリアル」など)をクリックする。手前に戻るためのリンクが表示される。 |
| 「被使用」サブメニュー |
(上記の逆): オブジェクトを使っている、他の全オブジェクトを表示できる(必要に応じてそれらをロードできる)。同じメニューに、そのオブジェクトを直接的または間接的に使う全 txt ファイルが示される(txt ファイルは、ゲームがモジュールをロードするときにロードされるファイル)。 |
| 自動補完(Autocompletion) |
テクスチャ名などについて。オブジェクトを Ctrl c でコピー後、Ctrl v でその名前をテキストボックスに貼り付けることもできる(オブジェクト自体をオブジェクト・リストに貼り付けて、特定の .brf ファイルから別の場所へ移動できる) |
| モジュール検証ツール |
モジュール全体のエラーや不一致をスキャン: テクスチャの欠落、二重のアイテム、未知のマテリアルを使っているメッシュ、ini ファイル内の .brf 順序の誤りなど。[モジュール]-[MOD の問題箇所をスキャン]。 |
| 検索 |
名前に特定の文字列が含まれるようなオブジェクトを検索する。 |
| txt のスキャン |
MOD が使用しているメッシュ、マテリアル、スケルトンなどを、OpenBRF が認識する。オブジェクトは個別に色分けされる。詳細: work in and reference |
| "Follow used" |
メッシュからそのマテリアルへ、マテリアルからそのテクスチャ/シェーダへジャンプし、その逆のジャンプもする。Ctrl キーを押しながら矢印(左/右)を使うか、パネル内のラベル(「マテリアル」など)をクリックする。 |
| 参照切れ DDS 表示ツール |
フォルダに存在するのに使われていないテクスチャ・ファイル(.dds および .tif)を調べ、必要に応じてそれらを「未使用」フォルダに保管する。 |
| コマンドによるモジュール内容のダンプ |
下記のようにコマンドライン(またはバッチファイル)から実行する。
OpenBRF の GUI は開かず、代わりに、モジュールの module.ini にリストされている .brf ファイル内にある全てのメッシュ、マテリアル、アニメーションなどの名前を含む、解析しやすいテキスト ファイルをダンプする。これにより、他の MOD ツール、例えば自動補完やエラーチェックをするツールに、その情報を渡せる。 |
Mount&Blade 内部に取り込まれるメッシュは、次のようなもので構成されています。
- 三角形の配列(集合、グループ、集まり)[第一]
- 頂点の配列 [第二]
- XYZ の位置の配列 [第三]
あれ? 後ろの 2 つは同じなのでは? いいえ。頂点には法線と UV テキスト座標がありますが、XYZ 座標にはありません。代わりに、位置へのインデクスがあり、その位置は XYZ 座標を持ちます。なぜそうなのか? そうすることで、同じ位置にありながらテクスチャ座標または法線が異なる 2 つの「頂点」(これをシーム(継ぎ目)と呼びます)が同じ「位置」を指すことができ、実際の XYZ 座標の 2 番目の頂点が 1 番目の繰り返しではなくなります。従って、頂点と位置の対応は一対一でなく、頂点のほうが位置よりも多くなる可能性があります。まとめると次のようになります。
- 面にあるのは、3 つの異なる頂点に対する 3 つのインデクスだけ。
- 頂点には UV テクスチャ座標、法線、位置へのインデクスがある。
- 位置には XYZ 座標とリギング(最大 4 つのボーンのウェイトとボーン・インデクス)がある。
ただし、.obj など外部ファイルのメッシュの形式は そうではありません。そこには面と頂点しかありません。各頂点の中には X、Y、Z 座標が直に含まれています。だから、2 つの面の境界(辺)では、一方の面の頂点ともう一方の面の頂点が、同じ XYZ 位置、異なる UV 座標を持ちます。これは一般にインデクス付きメッシュと呼ばれます。 .smd ファイルでは情報がもっと少なく、三角形のみが含まれています。法線、UV 座標、リギングなどが各面の 3 頂点に対して同じことが 3 回繰り返されます。だから、ロード後、.obj 形式では同一ながら分離されていた位置に、.smd 形式の頂点をマージすることで、メモリ空間や計算リソースを節約できる可能性があります [12]。
Mount&Blade では、全てのメッシュは三角形のみです (四角形、五角形などはありません)。 四角形を含むメッシュをインポートする場合、OpenBrf は三角形を生成する必要があります。凝った方法もスマートな方法も無く、多角形を三角形に分割するだけです。従って、四角形が含まれるメッシュをインポートすると、望ましくない形で三角形になる可能性があります(訳注: 例えば四角形を三角形分割する場合、どちらの対角を辺で結ぶかで二通りあります。その選択が「ランダム」なら、期待しない対角が結ばれる可能性があります。そしてたとえ 4 点がほぼ同一平面上にあったとしても、小数の扱いなどにより谷折か山折かが分かれ、凸になるべき面が凹になる可能性があります)。そういったランダムさを避けたい場合は、OpenBRF に .obj などをインポートする前に、何らかのアプリケーションでメッシュを三角形のみにして調整して下さい。 [13]
もう一つ考えられる問題: Mount&Blade では常に背面カリング(訳注: back face culling 。視点から見える背面を表示せずに透明にする)が使われるので、全てのメッシュが一貫した向きを持つ必要があります。これは、三角形が間違った方向を向いている(三角形内の 3 つの頂点の順序が間違っている)メッシュをエクスポートすると、その三角形がゲーム内および OpenBRF で表示されなくなる(と言うか、「間違った」方向からしか見えなくなる)ことを意味します。それが問題になる場合は、何らかのアプリケーションからエクスポートする前に、面の向きが正しくなるよう調整する必要があります。[13]
Mount&Blade ゲーム・エンジンが処理できる面や頂点の数について、つまり、基本的にゲームが動かなくなる限界のメッシュ品質をどれだけ高めることができるかについて疑問に思うかもしれませんね。メッシュ毎に 65535 (=2^16-1) 頂点という厳しい制限があります [14]。ただし、それ以下なら問題が起きないという意味ではありません。一つのメッシュがゲーム内で表示される頻度が高くなるほど、より適切に最適化する必要があります。面(三角形)の数として、次のようなものが目安となるでしょう [15]。
(訳注: 表の「/」や「<」は曖昧で、脚注にある出典はリンク切れ。本文も含め これら数値が近年の Warband や環境でどれほど参考になるかは不明。)
| 通常の兜(ヘルメット) | 約 500 | 剣 | 約 250 | ランス | 約 150/250 | 内装シーン | 約 1000 | |||
| フルフェイスの兜 | 約 800/1000 | 特製/詳細な剣 | 約 400 | 槍 | 約 200/300 | 詳細な静物 | <2000 | |||
| 鎧(胴の防具) | 約 1000 | 小さい斧 | 約 300 | 盾 | 約 400/500 | 中規模の静物 | 約 700/800 | |||
| 両手斧 | 約 400 | 弓 | 約 100/200 | 小規模の静物 | 約 250 | |||||
| 両刃斧 | 約 500 | クロスボウ | 約 300/400 | 極小の静物 | 約 100/200 |
三角形/面/頂点の数がゲーム・エンジンに与える影響は、線形に比例するわけではないことにも注意して下さい。頂点/面が特にボトルネックでない限り、一万もの個数を追加しなければ、ほとんどのコンピュータで全く違いは起きません。頂点/面がボトルネックの場合、リグ付きメッシュ上の頂点/面の数は、武器などの静的メッシュよりもはるかに大きな影響を及ぼします [16]。パフォーマンスの最適化の詳細について、このページの下記 実行速度の最適化 の各項を参照して下さい。

各論に進む前に もう一点、メッシュの中心を再調整する作業は、OpenBRF では簡単だということを知っておいて下さい。[選択を]-[回転-移動-拡縮...] ツールを使うだけです。「移動」では右側のボタンを使います。ピボット・ポイントを水平方向の中央に配置したければ、X と Z の「中央」ボタン
を使います。メッシュの「頭頂」を地面に接触させたい(オブジェクト全体が地面にちょうど潜った位置へ上下移動したい)場合は、Y の「最小」ボタン
を使います。その後で修正したければ、オブジェクトを少し左/右(X 方向)、上/下(Y 方向)、近く/遠く(Z 方向)に押すか、矢印を使うか、値を入力します。
最大/中央/最小ボタンの対象となるのは、選択中のオブジェクトです。例えば、結合されたオブジェクトがある場合、回転-移動-拡縮を行なう前に、その全ての部分を選択して下さい。ピボット・ポイントの位置を確認するには、(本体画面のパネルで)「床」がアクティブになっていることを確認し、グリッドの中央にある小さな灰色の点を探して下さい。[17]
マルチ・メッシュ
もしかすると既に あなたは色々な MOD の .brf ファイルを調べていて、一つのオブジェクトのメッシュを、複数のメッシュで構成できることを知っているかも。次のような名前が付いているものです。
mesh_name
mesh_name.1
mesh_name.2
これが いわゆるマルチ・メッシュで、mesh_name がベース・メッシュ、その他がいわゆるサブメッシュです。マルチ・メッシュが この書き方で成立する理由は、ゲーム・エンジンが「.数字」という形の接尾子を持つメッシュの一群を、結合された単体と見なすからです。前もってそういう複数メッシュを単体にまとめておいたのではダメなのか、と疑問に思うかも。これには、どのメッシュもマテリアルを 1 つまで(つまり 1 つのテクスチャ・セット)しか持てない、という制限が関係しています [18]。でも、武器やシーン小道具では、同じメッシュの複数部分に異なるマテリアルを付けたくなることがよくあります。だから、マルチ・メッシュが必要なのです。

訳注
例えば Warband の CommonRes フォルダにある food.brf を OpenBRF Redux で開くと、washtub_a と washtub_a.2 というメッシュが含まれています。前者は木製の洗い桶(あるいは洗面器)の本体、後者は錆びた金属の「箍」(たが)の部分です。どちらか一方を選択すると個別に表示され、両者を同時に選択した状態にすると、完成品として表示されます。
この桶を単一メッシュ単一テクスチャで作ることもできるかもしれませんが、そうしてしまうと箍の位置や幅を少し変更する度にマッピングの調整が必要になり、作業や管理の効率が落ちたり、外部ツール要件が若干高くなったりします。
なお、washtub_a と washtub_b のように「.数字」で関連付けられていない別のオブジェクトは、同時に選択すると、プレビュー画面内で別々の区画に分割されて表示されます。
Warband の最新バージョンでは、物品からシーンの小道具に至るまで、ほぼ全てのものをマルチ・メッシュ化できます [18]。v1.134 より前のバージョン、もちろんバニラ M&B も含めて、マルチ・メッシュはシーンの小道具と植物に対してのみ可能だったため、物品に対して指定してもリストの最初のメッシュだけが表示されていました [19]。別の関連分野でも依然として この古い制限に直面します (訳注: つまり最新バージョンでも以下のような問題が残っています)。例えば、マルチ・メッシュの物品は、武器アイコンとして表示される時に最初のメッシュのマテリアル定義が使われ、自動的に結合されます [20]。そして、持ち物画面には第一メッシュのみが表示されます [21]。だから対策として、テクスチャ・アトラスを作り、全部品が同じマテリアルを使うようにメッシュを再 UV マップし、物品のメッシュを結合する、という検討が要ります。
もう 1 つの欠点 (訳注: 最新バージョンにも言える)は、あらゆるマルチ・メッシュに複数マテリアル、テクスチャ、シェーダを読み込んで適用する必要があり、パフォーマンスに影響することです [21] 。エンジンは、たとえテクスチャが何かの後ろに隠れていたとしても、全テクスチャをレンダリングしようとします。これは、主人公キャラが何かに近づくほど悪化します。例えば鎧に付けられた高度なシェーダをレンダリングする必要があるピクセルが、画面空間内に増えるからです。大量の人物(エージェント)の近接戦闘中、主人公が近くで見ているか遠くから見ているかによって、fps (訳注: frames per second, 秒あたり描画コマ数)が大きく変わってくる経験したことがあるでしょう。マルチ・メッシュのアイテム数を減らすとパフォーマンスが向上することが判っていて、アイテム上のメッシュが 3 つまたは 4 つを超えると、描画時に fps が低下し始め得ます [22]。
M&B ゲーム・エンジンは、頭にフィットするように兜(ヘルメット)を変形させるので、制作者の望まない変形が生じることがあります。これを防ぐ方法の一つとして、ベース・メッシュに空のメッシュを指定し、サブメッシュだけで兜をマルチ・メッシュ化する、というのがあります。あるいは、各物品のエントリで物品プロパティ・フラグ itp_fits_to_head を(指定されているなら)外す、という方法もあります。
地図アイコンではマルチ・メッシュを使えないことに注意して下さい。その問題を回避するには、2 つの地図アイコンを使う必要があります [23]。
マルチ・メッシュのリグ付きメッシュは、マルチ・メッシュの静的メッシュよりもゲーム・エンジンに与える影響が大きいことに注意して下さい。通常は 1 つのモデルに支払うべき計算コストを 2 つ分支払うことになります。例えば、モデルは複数の三角形 (訳注: tristrip)で構成されます。各三角形は個別の操作として変換する必要があります。2 回目は(行列計算を再実行不要なので)さほどコストが かかりませんが、それでも少し高価です。更に、複数マテリアルを使う場合(私見ではこれがマルチ・メッシュを使う唯一の理由)、追加のオーバーヘッドが生じます。別のテクスチャ読み出しと、エンジンによるレンダリング操作のバッチ処理方法によっては、モデルのその部分、ボーンなど全てを最初から再レンダリングする必要が生じる可能性があります(信じがたいかもしれませんが、リグ付きメッシュのマルチ・メッシュは、Mount&Blade ゲーム・エンジンの開発の かなり後になってから、主に MOD 開発者の要望によってサポートされました。だから、効率化にどれだけの労力が費やされたのかはわからないし、エンジンがどのようにバッチ処理を行うかについての明確な答えもありません)[24]。
LODs (Level of Details, 距離に応じた詳細度)
モデルは、視点から遠いものほど精度を落とす(頂点数を減らす)べきです。これにより、特に多くのエージェントがいる大きなマップで、GPU の負担が大幅に軽減されます。LoD は、メッシュを圧縮または低解像度にしたバージョンであり、通常、見た目の区別がつかないような遠距離で使われます。このように、ゲーム・エンジンはパフォーマンス資源を節約し、プレイヤー(のカメラ)が充分に近づいた時に高解像度バージョンをロードします。一般には次のように、ベース・メッシュと 4 つの LoD があります。
mesh_name (base)
mesh_name.lod1
mesh_name.lod2
mesh_name.lod3
mesh_name.lod4
LoD が発動されるゲーム内の範囲は、ゲーム内の Esc メニューにある「設定」の映像(Video Options)タブ内、「キャラクターの詳細」(Character Detail)というスライダーの値の影響を受けます。正確な式は次の通りです [25]。
lodValue = 1.0 / max(objectDistanceToCameraSquared, 1.0) * ((screenWidth + screenHeight) * 0.5 / 1150.0) * (characterDetailGameOption * 0.5 + 0.75) * (75.0 / currentFieldOfView)
lod0: lodValue >= 0.01
lod1: 0.01 > lodValue >= 0.0025
lod2: 0.0025 > lodValue >= 0.000625
lod3: 0.000625 > lodValue >= 0.00015625
lod4: 0.00015625 > lodValue
LoD 無しのメッシュも存在できます。大抵は、ディスク容量とロード時間を節約し、切り替わりを目立たなくするために、LoD を 2 つ(lod2 と lod4)のみにするのが最適です [26]。全ての LoD(1~4)を作ると、メモリが不必要に使われます。lod1 とベースの lod0 にはほとんど違いがありません。近すぎると、形の変化が目立ってしまいます。大抵の衣類なら、非常に低品質の lod4 でも問題ありません。ただし、「lod2-lod4 のみルール」に こだわりすぎないで下さい。lod2 より lod3 を使ったほうがよい場合があります。全ての LoD で、必ず親と同じマテリアルを使って下さい [27]。品質にとってより大事なのは、色の移行が良好であることです。つまり、ある LoD から別の LoD に移る際、色やライティングが変わらない、ということです [28]。
マルチ・メッシュのアイテムのベース・メッシュに LoD がある場合、サブメッシュにも LoD を持たせる、ということがよくあります。次のような名前規則を適用すると、複数の LoD に対してもマルチ・メッシュ化が可能になります [29]。
mesh_name
mesh_name.1
mesh_name.2
mesh_name.lod1
mesh_name.lod1.1
mesh_name.lod1.2
...
シーン小道具の LoD が Warband でサポートされました。建物は静的メッシュであり、ゲーム・エンジンによって非常に効率的に処理されるので、LoD がパフォーマンスにそれほど影響を与えることはありません。 一般に、ローエンドの PC をクラッシュさせるような よぼどの多ポリゴンで複雑なモデルでない限り、建物に LoD は必要ありません。必要になるような場合には、モデルを簡素化し、特に複雑な多ポリゴンのシーンで戦闘が発生しないようにして下さい [30]。
リギング
「リグ付き」(rigged)と「スキン付き」(skinned)という語は、しばしば同じ意味で使われます。この小さな項では、兜(ヘルメット)に関する注目点だけを扱うので、それで問題は起きません。「リグ付き」のトピックは、このガイドの範囲外の 3D 関連事項なので、詳しくは扱いません。
(訳注: 可動部(関節=ジョイントの回転など)と不動区間(骨=ボーンなど)からなるスケルトンつまり骨格をメッシュに割り当てるのがリグ付け。スケルトンの周囲にある筋肉や腱や防具などをメッシュで表現したものがスキン。スケルトンが無いと、関節から関節までの不動区間を表現できず、歩行や武器操作などの動きを作るのが至難の業になる。「リグ付きのスキン」や「リグ付きのオブジェクト」と、「スキン付きのスケルトン」は(指している主体が違うだけで)ほぼ同じ。なお、戦場や闘技場で倒されたエージェントの、関節の可動範囲が壊れたようになった状態が「ラグドール」(Rag Doll, ぬいぐるみ)。)
リグ付き/リグ無しの兜(ヘルメット)
兜にはスキン付きとスキン無しの 2 種類があります。スキン付きはスケルトンに取り付けられているので、OpenBRF の防具メッシュに対して相対的に表示されます。それらはメッシュ・ウィンドウで「スキン」にチェックが入いっていて、アニメーションを再生できます。ゲーム内でメッシュを正しく表示するには、アイテム・エントリにアイテム・プロパティ・フラグ itp_attach_armature が必要です。そうしないと、兜がエージェントの前で空中に浮かんでしまいます。インベントリ画面に正しく表示するには、アイテム・エントリが ixmesh_inventory となっている 2 番目のメッシュも必要になります。スキン無しの(最も一般的な)兜はスケルトンに接続されておらず、OpenBRF では原点近くに水平に表示されます。OpenBRF の右下隅に「兜(ヘルメット)」ボタンが存在するのはそのためです [31]。

訳注
例えば Warband の CommonRes フォルダにある helmets_b.brf を OpenBRF Redux で開き、左欄で khergit_guard_helmet などを選びます。これがスキン無しの兜の例です。右下で「デフォルト」を選択時は XZ 水平面に対して兜が「仰向け」に寝ています。右下で「兜/ヘルメット」に切り替えると、頭頂部が鉛直の上方向を向いた状態を確認できます。つまり、ヘルメットを作る際には、デフォルト・モードで「顔」が Y 軸方向を向いた「仰向け」にする必要がある、ということです。
ちなみに、右下を「シーン」にすると、W, A, S, D キーとマウス・ローラーで視点移動できます。
兜(ヘルメット)の一部が肩の位置によって変形するようなことを無くし、兜全体が独立した剛体として頭とともにしっかりと動いてほしい場合は、下記の手順で兜を (a)「スキンなし」かつ (b)「原点回り」にします。
あなたの兜が既にスキン付き(中央のパネルを見ると判ります)なら、手順 4 に進みます。そうでないなら、手順 1~3 のようにして まず一時的にスキンを追加(全モデルを頭のボーンに接続)する必要があります [31]。
兜を選択。
[選択を]-[ボーンの一つに付ける...] とするとダイアログが表示されるので...

「参照スケルトン」を「skel_human」(人体のスケルトン)、「ボーン」を「head」(頭)、「現在中央にある部分」を「正しい目標位置」にし、OK ボタン。
ここで次のようにして、この兜のスキニングを削除しながら原点に配置します。この兜を単独で選択。
上の手順 1~3 の結果、中央のパネルに「アニメーション」という選択欄が増えているはず。初めは「no_anim」(アニメ無し)になっているので、それ以外の任意のアニメーション、例えば man_cheer に変更。更に下に「スケルトン」の選択欄が現れるので、skel_human(人間のスケルトン)を選択。この作業は、openBRF に対して 人間のスケルトンを仮定させるだけのためです)
[選択を]-[破棄]-[スキン付けを解除 (ボーンから外す)] 。
兜(ヘルメット)を、例えば肩に合わせて変形させたい場合、スキンを付けて頭の周りに配置する必要があります。既に正しく配置されているなら、スキニングを追加するだけです(全てが頭のボーンではなく、一部が頭、一部が肩や背骨など)。それには次のような方法があります [31]。
スキン付きの兜とアーマーの両方を選択するか、場合によっては そのようなものを複数選択します(複数選択)
Ctrl c でコピー。
兜(既に最終位置、つまり頭の位置にある)を選択。
[編集]-[リギングを貼り付け]
アニメーションの見映えを確認!
頂点アニメーション [32]
頂点アニメーションは、一連のメッシュの並びに過ぎず、フレーム毎に 1 つのメッシュを割り当てます。各フレームはタイミングにも関連付けられています。ただし、各フレームは位置と法線のみを再定義するので、落とし穴に注意が必要です [33]。他(位置と法線以外)はどれも全フレームを通じて同じである必要があります: 三角形(どの三角形がどの頂点を結んでいるか)、テクスチャ座標 [34]、 リギング(メッシュもリギングされている場合)、頂点毎の色など。 このことは、全フレームを通じて同じ数の頂点と面を持つようにするしかない、ということも意味します。 (訳注: つまり、この MOD 開発での頂点アニメとは、単一メッシュの頂点を動かすのではなく、頂点数や面のつながりを保ったまま頂点位置を変えたメッシュをフレーム数だけ用意する、ということ。)
フレームは単なるキーフレームであると考えて下さい。ゲーム・エンジンは、頂点アニメーションの 2 つのフレーム間を「自由に」補間して、よりスムーズなアニメーションを実現します。例えば弓のアニメーションがそうです。 (訳注: つまり、アニメーション開発者がフレームを作る際、滑らかに見せるために フレーム間をわずかな動きにする必要は無く、要所だけフレームにすればよい、ということ。)
頂点アニメーションは、次のような様々な用途に使われます。
- ワールド・マップ上の、アニメーション付き地図アイコン。この場合、最初のフレーム(フレームの番号付けは 0 から始まり、最初のフレームがフレーム 0)は使われず、その次がスタンス・ポーズ、残りが歩行シーケンスです (訳注: ここでは各隊が徒歩や馬で移動する様子を表わしていて、スタンス・ポーズは T 字ポーズ、歩行シーケンスは歩行をストロボ写真のようにコマ撮りしたフレーム群。)。
- 武器のアニメーション。弓やクロスボウの弦など。
- 防具。最初のフレームは未使用で、2 番目のフレームは男性バージョン、3 番目のフレームは女性化バージョン。0 から数えてフレーム 2 が女性化の時刻であることに注意。どの時刻が必要とされるかは、スキン・エントリのモーフ・キーによって決まる。スキンのフラグ群とモーフ・キーについて、詳しくは スキン・フラグとモーフ・キー の項。
- 矢筒など。フレーム毎に、矢やボルトの残数を変える。
- 盾。一つのフレームは携行して移動する状態、もう一つのフレームは盾のベルトを緩めて腕に付けた状態に使われる。
- 鞘。最初のフレームは鞘に収めた武器(剣)があり、次のフレームは武器無し。
- 手またはグローブ。最初のフレームは開いた状態、2 番目は半分閉じた状態、3 番目は握り拳または閉じたグローブ。
- カスタマイズ可能な頭部。フレーム 0 が基準となる頭。各フレームは「スライダー」で変化させる「両目の距離」など (訳注: 新規ゲームの時に主人公の顔を作る機能のこと)。
- シーン小道具。詳しくは別ページの 頂点アニメーション付きシーン小道具 の項を。
... 他にもあるかも。
OpenBrf で独自の頂点アニメーションを作成する方法は、2 通りあります。
一つは、OpenBRF ツールのバージョン 0.38 以降、頂点アニメーションを Quake3 によって導入された形式である .md3 ファイルをインポートしエクスポートすることです。
もう一つは、フレームを一つひとつ作っていく方法です。典型的な やり方は、フレームをエクスポートし、編集し、再インポートしてアニメーションにする、というものです。
例えば(編集メニューにあるように)、Ctrl Alt x、Ctrl Alt c、Ctrl Alt v といったフレーム用のコピペを、個々のフレームと対象フレームに対して使い、アニメーションとして連続させることができます。また、フレームを複製したり、後からフレーム順を調整したりすることもできます。
他に、フレームを直接インポートして割り当てることもできます。フレームが外部ファイルにある場合、もっと簡単に、選択中のメッシュの追加フレームとして静的メッシュを直接インポートすることもできます([インポート] メニュー)。
どの方法にせよ、最後に各フレームの時刻(「データ」ボックス内)を手動で編集することを忘れないで下さい。
この作業が厄介なのは、インポートとエクスポートをしながらフレームを組み立てる時、頂点番号だけでなく、その内部順序さえも維持しなければならないことです(OpenBRF で試したことがあれば おわかりでしょう)。それらが一ヶ所でも変わってしまうと、ある頂点が、フレーム 1 では頭にあったのに、フレーム 2 では足、ということになりかねず、テクスチャ、三角形、補間...結果は無茶苦茶になります。三角形の頂点順やテクスチャ座標などは全フレームで共有されるので、全フレームで同じにする必要があります。
OpenBRF で一つのフレームを一つのアニメーションにマージする際、モードが 2 つあり、予め [設定]-[頂点アニメの組立時]-[*] で(矢筒モード以外の 2 つから))選んでおきます。
- 選択肢 1「頂点の順序が同じと見なす」: あなたは、メッシュのインポート/エクスポートによって頂点の順序が変更されないことを祈ります(OpenBrf は そうしますが、例えば Blender や Wings3D が何をするかは誰にもわかりません)。 これは「古いやり方」であり、機能することもあります。
- 選択肢 2:「テクスチャの座標がユニークだと見なす」 仕方なく あなたは、頂点の一意の識別子としてテクスチャ座標を使います。メッシュの各頂点にテクスチャ空間内の固有の UV ポイントを割り当てるだけです [35]。テクスチャ座標がフレーム 1 内の頂点を識別したら、その頂点を改変しないで下さい。その他のフレームでは メッシュ 3D 形状を自由に編集できます!
上の手順は ある意味 手堅いです。選択肢 1 がダメ(頂点数が異なるなど)なら、あきらめて自ずと選択肢 2 に移行します。逆に選択肢 2 でダメ(例: 異なる点に同じテクスチャ座標がある場合)なら、(その頂点のみ)選択肢 1 に移行します。
複数のメッシュを選択し、[頂点アニメーション内のフレームとしてマージ] する場合、フレームの順序は、選択順ではなく、リスト内の順序によって決まります。そのほうが(OpenBRF のユーザにとって)扱いやすいと考えられたからです。 [36]
補足。頂点アニメーションの最初のフレーム(フレーム [0,*])は、(アニメーション付きマップ・アイコン、手、鞘、矢筒、鎧、顔のモーフなど、頂点アニメーションを使う全てで)ゲーム・エンジンから決して使われません。このフレームの存在理由は恐らく「歴史的」ということだけで、ゲームの .brf ローダーはそれを「認識」さえしません。当然のことながら、未使用だからといって削除できるわけではありません。削除すると、元のフレーム 1 がフレーム 0 になり、それが代わりに使われなくなります。[37]
女性フレーム
Mount&Blade(WarBand も同様)は、頂点アニメーションの 2 つのフレームを使って「鎧」の男性版と女性版を表わします。OpenBRF は男性版から女性版を自動生成できるようになりました。奇跡を期待しないで下さい。手作業で注意深く丁寧にメッシュを編集して女性版を作ったほうが、より良い結果を得られます。しかし、自動化することは悪いことではありません。このオプションを適用した後、結果を確認するには、メッシュの女性フレームに切り替えます(中央の「データ」ボックス内の「フレーム位置」を変更)。[38]

訳注
例えば Warband の CommonRes フォルダにある armors_b.brf を OpenBRF Redux で開き、左欄で mail_and_plate などを選びます。この鎧は(アニメーションとは別に)フレームを 3 個持っていて、中央のパネルの「面 頂点 位置 フレーム」の右端の欄に「3」と表示されます。本文前項の補足の通り、フレーム 0 は使われませんが必要です。残るフレーム 1 と 2 が、エージェントの男女毎に使い分けられます。少し下にある「フレーム位置」の▲▼ボタンで切り替えると 0~2 の値になり、Warband では 2 の時に鎧が「細身」になります。
なお、本文ですぐ後述される「タイミング」の表示は、「フレーム位置」の▲▼ボタンの右にあり、Warband ではフレーム 1(男性用)の時にタイミングが 0、女性用では 10 と表示されます。
ただ残念なことに、Warband と M&B では規則が異なります。M&B は最初のフレーム(0 から数えて 1)を女性、2 番目(0 から数えて 2)を男性として使用しますが、Warband では逆で、フレーム 2 が女性です。従って、OpenBRF は、モジュールがどのバージョンに対応しているかを推測し、それに応じて、生成した女性防具フレームをどこに配置するかを決定します。メッシュに既に女性フレームがある場合は、それを上書きするかどうかを尋ねられます。MOD 実行時には、でき上がった鎧が着用者の性別に応じたフレームに切り替わるよう機能するはずです。[38]
(訳注: 手製の女性用鎧を持ち込んだのか自動生成されたかを見分ける方法については不明瞭。なお、本文後述「独自に用意した~」のリンク先の投稿の最後のほうにあるように、持ち込む際のモードは、[設定]-[鎧の自動女性化時]-[*] で指定できます。)
フレーム・タイミングも正しく設定する必要があり、これは OpenBRF によって行なわれます。当然、ここでの「タイミング」は時間とは何の関係もなく、それは、ゲームが衣装のどのフレームを使う必要があるかを選択するために使用される単なる指示です。詳しくはスキンのページの スキン・フラグとモーフ・キー を参照して下さい。フレームのタイミングは手動で設定することもできます [39]。
- Warband の場合
masculine frame (n.1) => timing = 0; feminine frame (n.2) => timing = 10 - M&B の場合
feminine frame (n.1) => timing = 10; masculine frame (n.2) => timing = 20
独自に用意した女性化モーフィングの認識, mtarini, FAQ and Troubleshooting
鞘
剣の鞘の頂点アニメーション。SupaNinjaMan, Modding Q&A
剣の鞘。上記のどこかで引用されているはず。 Modding Q&A
剣の鞘。Swyter, Download link and main info!
鞘のメッシュの移動や回転, Ivkolya, Modding Q&A
矢筒
矢筒モード, Computica and mtarini, Download link and main info!
頂点アニメーション, mtarini, Vertex Animation
小手や装甲手袋
グローブがリグではなく頂点アニメーション化されていて、リギングを有効にするために関連付ける充分なボーンが無い [31]。 GetAssista, Modding Q&A
古い装甲手袋(item_meshes1.brf 内)に 3 つのフレームがあり、最初のフレームは店で表示するために使用され、2 番目は未使用で、3 番目は実際にエージェント(人物)に付けて表示される。インベントリ内での見た目を変えたい場合を除き、実際には使用できない。その場合は、代わりに ixmesh_inventory で別のメッシュを使用できる。 (訳注: つまり、3 番目は隊員一覧などで静物として人物を表示する場合に使用) Somebody, Modding Q&A
装甲手袋 関連, rgcotl (credit), Modding Q&A
手袋の特殊なものとして、 _R(装備されていない手袋に必要)だけでなく、_Rx による拡張も含まれる場合がある。 dstn, Mount & Blade Modding Discord
手袋の rx lx, Somebody, [WB] Warband Script Enhancer v3.2.0
頂点の着色
OpenBRF での「色の均一化」(Color uniform)オプション。 Somebody, Modding Q&A
OpenBRF に頂点色を取り込む。 Vornne, Modding Q&A
その他
ハード・コーディングされたデフォルトの弾丸飛行メッシュ。 ithilienranger と SonKidd, Modding Q&A
メッシュの再スケルトン化。「スキン・フラグとモーフ・キー」の章への参照を追加。
接線方向の保存。 mtarini, tangent dir will not save
接線方向の情報。 mtarini, Download link and main info!
ブーツ(靴や下肢防具), mtarini, Download link and main info!
衝突判定メッシュをマルチ・メッシュにできない。 GetAssista, Modding Q&A
BRF 形式 と衝突判定メッシュ。 fisheye, BRF Format and collision meshes: brief documentation (Pt 1)}.
良い衝突判定オブジェクトの作り方。 mtarini, Download link and main info!
用途に応じ、三角形の代わりに四角形を使う。 mtarini, Download link and main info!
衝突判定メッシュの諸情報。様々な発言者による, Download link and main info!
マテリアルとテクスチャの違いの説明。 Vincenzo (credit?), What is material as opposed to texture?
LoD 群 のマテリアル。 xenoargh, What is material as opposed to texture?
日光が植生を通過するのを防ぐ。 _Sebastian_, Modding Q&A
マテリアルが光を遮らない? シーンの小道具を通して輝く太陽(金色に輝く川、興味深いサイドバグ)。 Ruthven と jacobhinds, Modding Q&A
半透明のメッシュ(BRF のバグ?)。 _Sebastian_, Modding Q&A
レンダリングの順序。 Lumos, Modding Q&A
RGB と係数調整。 xenoargh, RGB + Coef Tuning
スペック・マップの設定。 mtarini, Spec Map settings vs. Ingame
環境マップ。 mtarini, Question regarding graphics and shaders
テクスチャとマテリアルのリフレッシュ。 Vornne, Texture Refresh
平均的なテクスチャの限界。 xenoargh, Modding Q&A
スペキュラ・マップ, jacobhinds, Modding Q&A
矩形テクスチャのサイズ。 jacobhinds, Modding Q&A
ミップマップ。 _Sebastian_, Modding Q&A
.lod テクスチャ。 jacobhinds, Modding Q&A
アルファの、実行速度への影響。 Somebody, Modding Q&A
低解像テクスチャ・オプションを指定するとゲームエンジンがミップマップを使う。 FantasyWarrior (credit), Modding Q&A
テクスチャのアルファに関すること。 SupaNinjaMan, Modding Q&A
旧バージョンでテクスチャのサイズが合わないとエラー。 Chilly5 と BaldwinIV と fisheye (credit), dds error: size=not a power of 2
興味深いテクスチャ・サイズなど。 mtarini, Shader and Graphical effects Discussion
テクスチャが見つからない(白と青のチェック柄になる)。 mtarini, FAQ: textures not found (white-blue checkerboard patter): how to fix?
8080FF という色は法線マップ(バンプ・マップ)のベース色で、そこを平坦にする (訳注: 既存 MOD の Textures フォルダで見かける *_normal.dds などの名が付いた 2D 画像ファイルを表示すると、R と G が 50 %、B が 100 %、つまり白みがかった青が主体になっている。この色から外れた色で凹凸を表わす。)。 jacobhinds, Mount & Blade Modding Discord
法線マップに関する色。 mtarini, Problemos with dem normal maps
水のバンプと第 2 散乱テクスチャ(second diffuse texture)(訳注: この waterbump は、Native の特定のテクスチャのことらしい。この「第 2 ~」は OpenBRF のマテリアルの DiffuseB とは別物らしい)。 mtarini, Question regarding graphics and shaders
テクスチャが現れない。 mtarini, dds texture won't function in OpenBRF
テクスチャ・アトラス (訳注: 高速化を図るため、複数部品のテクスチャを単一ファイルに収めたもの)。 mtarini, Organising textures into atlases
シェーダ。 mtarini, Shader and Graphical effects Discussion
一部のシェーダが矢筒の頂点アニメーションをサポートしない。 GetAssista, Modding Q&A
シェーダの追加。たぶん古い情報。 Abhuva と Vornne, Modding Q&A
シェーダに関するいくつかのメモ。 SonKidd, Modding Q&A, and mtarini, Green Normalmaps.. Question??
アニメーション・テクスチャを備えた興味深いもの。きっと dstn がテストするだろう。 Thorgrim, New version texture errors
水の反射。 Vornne, Modding Q&A
スキン付きシェーダ。 jacobhinds, Modding Q&A
看板シェーダ(最適性については dstn に問い合わせる必要あり)。 jacobhinds と MadocComadrin, Modding Q&A and Modding Q&A
シェーダ関連。 jacobhinds, Modding Q&A
シェーダ用にテクスチャが指定されない場合、エンジンがランダムなテクスチャを選択。 _Sebastian_, Modding Q&A
地形に緑とピンクの斑点(dstn が解決しようとした問題、シェーダ関連?) Swyter, 旧フォーラムへのリンク, Shader Stuff- HLSL instruction limits
ひげのシェーディングの問題(Native で発生せず)。 Garedyr (credit), Modding Q&A
スキンの .LOD マテリアル内で非ネイティブのシェーダを使用すると、LOD マテリアルの使用時にクラッシュが発生するようだ。 dstn, Mount & Blade MOdding Discord
シェーダ関連。 Swyter, [WB] Warband Script Enhancer v3.2.0
カスタム・プレビュー・シェーダの追加。 mtarini, Suggestions/requests thread -- post yours here
新規アニメーションでの T ポーズのフレーム。 NPC99, Modding Q&A
アニメーションの編集。 mtarini, Editing animations
いくつかの情報。 mtarini, Download link and main info!
更に いくつかの情報。 mtarini, Download link and main info!
スケルトン用のヒットボックス。 La Grandmaster, Modding Q&A
OpenBRF でスケルトンのサイズ変更。 mtarini, Xenoargh's "Aleph" project
スケルトンの編集について。 mtarini, Download link and main info!
恐らく他の項に統合し、様子を見る予定。
MOD のパフォーマンスの最適化。 Abhuva, Modding Q&A
ここでのパフォーマンスに関する質問はロード時間に関するもの。 Somebody と cmpxchg8b, Modding Q&A
MOD の最適化。 Caba`drin, Modding Q&A
ロードに関するもの。 Caba`drin, Modding Q&A
1 つの新しいテクスチャのロード・オーバーヘッドが、アイテム 10 個分に相当しそう。 Somebody, Modding Q&A
最適化のための .brf ファイル再配置。 kraggrim, Modding Q&A
リソースの管理。 kraggrim, Modding Q&A
.brf ファイルを論理的に配置。 _Sebastian_, Modding Q&A
哲学と最適化(時期尚早な最適化が諸悪の根源)。 kalarhan, Modding Q&A
最適化。 _Sebastian_, Modding Q&A
.brf リソース管理での よくある失敗。 Ramaraunt (credit), Modding Q&A
4k のテクスチャ・アトラスを推奨、その他 最適化に関すること。 Marko と Leonion と NPC99, Modding Q&A, Modding Q&A と Modding Q&A
最適化の話題。 様々な発言者による, Vertex Cache Optimization?
MOD の module の txt をスキャンする (訳注: リンク先の投稿は、OpenBRF に同梱の変更履歴 whatsnew.txt 内の、ver 0.0.45 (24 Sept 2010) の内容で、一行目の scan うんぬんなどについて、詳細がその下に書かれている)。 , mtarini, Download link and main info!
.brf のサイズ, jacobhinds, BRF sizes
OpenBRF の FAQ とトラブルシューティング。 mtarini, FAQ and Troubleshooting
マップ・アイコンや紋章に関するいくつかの有益なこと。 dunde, Modding Q&A
BRF の役立つ情報(法線マップ→ 接線方向) (訳注: 矢印の右、原文 tangent blubb は不可解。トピックの内容は接線方向に関するもの)。フォローアップ投稿も。 NPC99, Modding Q&A and Modding Q&A
植生の、現実に近い影。shadow on plants, Ruthven, Modding Q&A
ブーツ(靴や下肢防具)にモーフが効かない。 cmpxchg8b, Modding Q&A
静的メッシュのインポート。 Swyter, Modding Q&A
OpenBRF の「メッシュ + マテリアル + テクスチャ」一式コピー(copy complete)機能。 Swyter, Modding Q&A
統合を忘れずに。Maroon's tutorial
接線方向。 mtarini, Recompute Tangent Dirs
頂点アニメーション、リグ付きメッシュ、スケルトンの明確化。 mtarini, import SMD as animation frame?
マテリアル、テクスチャ、メッシュ、シェーダにおけるフラグの意味。様々な発言者による, Flag Meanings (in materials, shaders, textures, meshes...)
メッシュのダブルクリック。 mtarini, no double click grouping
アンビエント・オクルージョン(環境光の遮蔽)(訳注: 投稿内容では baked global illumination と括弧書きされている)。 mtarini, Suggestions/requests thread -- post yours here
面のミラーリング(鏡像生成)。 Swyter, Suggestions/requests thread -- post yours here, ただし、(もう)機能しないと kragrim が言っていた記憶が。
ラグドール (訳注: 主人公が倒された時など、関節の拘束が無い状態) のパラメータとヒットボックス。 mtarini, Download link and main info!
ごちゃ混ぜの情報。 mtarini, Download link and main info!
アルファ・カットアウト(メッシュをプレビュー時の不透明度の適用)。 mtarini, Download link and main info!
アンビエント・オクルージョン (訳注: こちらは OpenBRF で AO 計算コマンドがサポートされたバージョンの変更説明で、上記同じ題名の行より前の投稿)。 mtarini, Download link and main info!
再びアンビエント・オクルージョン。脚注 38 で既出のはず。 mtarini, Download link and main info!
更にアンビエント・オクルージョン。 mtarini, Download link and main info!
様々な情報。 mtarini, Download link and main info!
衝突フラグ。 cmpxchg8b, Download link and main info!
アニメーションを再生すると最終フレームへ切り替わる。 Maroon, Download link and main info!
- 脚注と出典:
- [1] Swyter, Modding Q&A.
- [2] mtarini, FAQ and Troubleshooting.
- [3] Swyter, Little Explanation(Qt/OpenGL を使っていることの簡単な説明).
- [4] mtarini, Download link and main info! (そのスレッドに書かれたリンク先はアーカイブ・サイト。2023 年 11 月現在 latest ver: 0.0.82e (19 Jun 2016)。ビルド済みバイナリとオープンソース一式。)
- [5] FrisianDude, Modding Q&A.
- [6] FrisianDude, Modding Q&A.
- [7] Swyter, Flag Meanings (in materials, shaders, textures, meshes...). (訳注: この投稿で "INFORMATION ABOUT TRF FILES" と書かれた文章の下に "Readme file is here." というリンクがありますが、そのページは削除されています。この文章は、上記 Blender Exporter というリンク先の Blender Exporter の zip に含まれる Readme.txt)
- [8] Swyter, List of Hardcoded Stuff | Reference.
- [9] armagan, Mesh .rsf formats? What are the character maps for?. エクスポート・ツールのリリースが初めて検討された投稿でも あったかも。
- [10] dstn, Mount & Blade Modding Discord.
- [11] 引用されていない場合、情報は どれも mtarini からのもの。 Download link and main info!, または古い Mount & Blade Modding Wiki.
- [12] mtarini, Download link and main info!.
- [13] mtarini, Download link and main info!.
- [14] cmpxchg8b, Modding Q&A.
- [15] Highelf, All about 3d-modeling, Chapter 1 : basic modeling.
- [16] jacobhinds, Mount & Blade Modding Discord.
- [17] mtarini, mtarini, Center pivot point.
- [18] Swyter, Download link and main info!.
- [19] GetAssista, Modding Q&A.
- [20] Somebody, Combining meshes/models in OpenBRF question.
- [21] Somebody, Modding Q&A.
- [22] jacobhinds, FormationsAI Performance Improvements/Stutter reduction?.
- [23] Specialist と Somebody, Modding Q&A.
- [24] xenoargh, What is material as opposed to texture?.
- [25] cmpxchg8b, Modding Q&A.
- [26] jacobhinds, Modding Q&A.
- [27] anonym poster, Modding Q&A.
- [28] GetAssista, Modding Q&A.
- [29] Docm30, Modding Q&A.
- [30] xenoargh, Compute LODs - any good advice?, and MadVader, Modding Q&A.
- [31] snouz and mtarini, OpenBRF InGame helmet bug.
- [32] ほとんどの情報は mtarini, Download link and main info!.
- [33] 各頂点の垂直ベクトルのような法線。ライティングの計算に使用される。頂点アニメーションが発生すると、頂点を移動する必要があるので、法線を再計算する必要がある。 jacobhinds, Mount & Blade Modding Discord.
- [34] 異なる UV を持つ異なるフレームを用いることはできない。 jacobhinds, Mount & Blade Modding Discord.
- [35] 異なるポイントに同じテクスチャ座標を共有させたい場合があることに注意。例えば、矢筒がある場合、矢は UV 座標を含む他の矢のコピーであり、対称的なものがある場合は、左半分には右半分と同じテクスチャ座標が使われる。このような場合、メッシュ・エディタで各頂点のテクスチャを少しだけずらす必要がある。テクセル (テクスチャ・ピクセル) の半分の部分。実際的な違いは無いが、OpenBRF が頂点を区別するには充分。
- [36] mtarini, Doing vertex animations (on a shield).
- [37] mtarini, Suggestions/requests thread -- post yours here.
- [38] mtarini, Download link and main info!.
- [39] mtarini, Download link and main info!.

