Cop HolsterはPieRGud氏制作の機能系プラグイン。
プレイヤーキャラが警察官である時にピストルの抜き差しをすると、それにあわせてホルスターもピストル格納/ピストル無しが切り替わるもの。
システム標準ではホルスターのピストルは表示されっぱなしになるが、このプラグインを導入する事でリアルな見た目にすることができる。
表示が切り替わるのは自分が操作するキャラクターだけであり、NPC警官PEDには反映されない。
Cop Holster
プレイヤーキャラが警察官である時にピストルの抜き差しをすると、それにあわせてホルスターもピストル格納/ピストル無しが切り替わるもの。
システム標準ではホルスターのピストルは表示されっぱなしになるが、このプラグインを導入する事でリアルな見た目にすることができる。
表示が切り替わるのは自分が操作するキャラクターだけであり、NPC警官PEDには反映されない。
Cop Holster
次項で説明する設定について理解するためにも、Cop Holsterがどんな処理をしているかを把握しておこう。
このプラグインは武器を抜いた時と収納した時で、PEDデータの中にあるホルスターそのものを切替えているのである。
これだけだと意味不明だろうから、以下の画像で確認してもらいたい
これは男性保安官代理のPED(s_m_y_sheriff_01)をOpenIVで見たもの。
左右の画像を見比べると、左はピストルがホルスターに収まっているのに対し、右はピストルが入っていないのが分かる。
そして左側のレンダリング切替えのチェックボックスを見ると、左の画像は"task_001_u"に、右は"task_000_u"にチェックボックスが入っている。
このPEDにおけるtask〜はガンベルト一式(ベルト、マグパウチ、無線機、ホルスター)のレンダリング部位の名前。
"task_001_u"はピストルがホルスターに収まったレンダリング、"task_000_u"はピストルが無いホルスターのレンダリングというように、データが分かれている。
Cop Holsterが行う処理とは、ピストルを構える/収めるというプレイヤーキャラの動きを検知し、ホルスター及びそれを含むレンダリングを切替えるというもの。
男性保安官代理であれば、銃を構えていない時は"task_001_u"を表示し、銃を構えた時は"task_000_u"を表示する。
こうすることでホルスターに銃が有る/無いを表現しているわけだ。
ちなみに、このPEDのホルスターはガンベルトや無線機などが全部1セットになっている事から、ホルスターのみならず全部が丸ごと切り替わっていることでもある。
最初の動画では、LSPDの警官MODはCop Holsterが反映されていないと述べた。
なぜああなるかというと、当該PEDのホルスターは銃が格納されたものしか入っていない為だ。
Cop Holsterを使うには「銃が収納されたホルスター」「銃が抜かれたホルスター」両方のレンダリングデータが含まれている必要がある。
目次に戻る
このプラグインは武器を抜いた時と収納した時で、PEDデータの中にあるホルスターそのものを切替えているのである。
これだけだと意味不明だろうから、以下の画像で確認してもらいたい
これは男性保安官代理のPED(s_m_y_sheriff_01)をOpenIVで見たもの。
左右の画像を見比べると、左はピストルがホルスターに収まっているのに対し、右はピストルが入っていないのが分かる。
そして左側のレンダリング切替えのチェックボックスを見ると、左の画像は"task_001_u"に、右は"task_000_u"にチェックボックスが入っている。
このPEDにおけるtask〜はガンベルト一式(ベルト、マグパウチ、無線機、ホルスター)のレンダリング部位の名前。
"task_001_u"はピストルがホルスターに収まったレンダリング、"task_000_u"はピストルが無いホルスターのレンダリングというように、データが分かれている。
Cop Holsterが行う処理とは、ピストルを構える/収めるというプレイヤーキャラの動きを検知し、ホルスター及びそれを含むレンダリングを切替えるというもの。
男性保安官代理であれば、銃を構えていない時は"task_001_u"を表示し、銃を構えた時は"task_000_u"を表示する。
こうすることでホルスターに銃が有る/無いを表現しているわけだ。
ちなみに、このPEDのホルスターはガンベルトや無線機などが全部1セットになっている事から、ホルスターのみならず全部が丸ごと切り替わっていることでもある。
最初の動画では、LSPDの警官MODはCop Holsterが反映されていないと述べた。
なぜああなるかというと、当該PEDのホルスターは銃が格納されたものしか入っていない為だ。
Cop Holsterを使うには「銃が収納されたホルスター」「銃が抜かれたホルスター」両方のレンダリングデータが含まれている必要がある。
目次に戻る
Cop Holsterの設定要素は三つ。
1で設定された武器を出し入れするとホルスターの表示が切り替わる。
2はPEDのどこにホルスターが割り当てられているかを指定するものだ。
3はキーなど各種設定
となっている。
各項目ごとに見ていこう。
- この設定が適用される武器
- ホルスター表示の切替えで使用する、ホルスターが割り当てられているPEDのコンポーネント(構成部位)
- その他設定(キー)
1で設定された武器を出し入れするとホルスターの表示が切り替わる。
2はPEDのどこにホルスターが割り当てられているかを指定するものだ。
3はキーなど各種設定
となっている。
各項目ごとに見ていこう。
武器の設定はホルスターの表示切替を反映する武器、反映しない武器を指定する項目。
書かれている場所は、標準の設定ファイルの21行目〜46行目である。
初期の構文は以下の通り。
"<WeaponSets>"が武器設定全体の区切りで、この中で設定する武器を記述していく。
"<Item Animation=〜>〜<Item>"が武器種別を一セットとした区切りで、設定を割り当てる武器を記述していく。
またホルスター切替え表示をするかどうかの設定も兼ねており、"Animation=true"になっていれば武器を抜き差しした時にホルスターが切り替わり、"false"は切替がされない。
"<Name>"は武器セット名、"<Models>"は武器セットに含まれる武器の指定である。
上記の構文の意味を説明していこう。
最初の区切り"<Name>Pistols</Name>"が意味する通り、このセットはPistolの設定をしたもの。
"<Item Animate="true">"となっているので、ここで設定されている武器を抜き差しするとホルスターの表示が変わる。
この設定を適用するピストルは"<Model>"で指定しており、普通のピストル、コンバットピストル、ヘビーピストルなどが指定されている。
よってこれらの武器を抜き差しすると、動画のようにホルスターの表示が切り替わると言うわけだ。
次の区切りは"<Stungun>"なのだが、"<Item Animate="false">"が設定されている。
スタンガンは抜き差ししてもホルスターが切り替わらないのだ。
目次に戻る
書かれている場所は、標準の設定ファイルの21行目〜46行目である。
初期の構文は以下の通り。
"<WeaponSets>"が武器設定全体の区切りで、この中で設定する武器を記述していく。
"<Item Animation=〜>〜<Item>"が武器種別を一セットとした区切りで、設定を割り当てる武器を記述していく。
またホルスター切替え表示をするかどうかの設定も兼ねており、"Animation=true"になっていれば武器を抜き差しした時にホルスターが切り替わり、"false"は切替がされない。
"<Name>"は武器セット名、"<Models>"は武器セットに含まれる武器の指定である。
上記の構文の意味を説明していこう。
最初の区切り"<Name>Pistols</Name>"が意味する通り、このセットはPistolの設定をしたもの。
"<Item Animate="true">"となっているので、ここで設定されている武器を抜き差しするとホルスターの表示が変わる。
この設定を適用するピストルは"<Model>"で指定しており、普通のピストル、コンバットピストル、ヘビーピストルなどが指定されている。
よってこれらの武器を抜き差しすると、動画のようにホルスターの表示が切り替わると言うわけだ。
次の区切りは"<Stungun>"なのだが、"<Item Animate="false">"が設定されている。
スタンガンは抜き差ししてもホルスターが切り替わらないのだ。
目次に戻る
標準の設定ファイルにおいて、47行目から382行目まではPEDのコンポーネントの設定構文が書かれている。
これは先ほど説明したホルスターのレンダリングが割り当てられている部位を指定するものだ。
長いので一部を抜粋して説明していこう。
例として出すのは先ほど例示した男性保安官代理のPEDだ。
プラグインを反映するPEDごとにこういった構文が書かれており"<Item FuncHolster〜>〜</Item>"の間に必要な構文をおさめる。
各PEDの始まりには"<Item FuncHolster="true" FuncIntim="true">"になっており、これはプラグインを反映する設定を行うもの。
"FuncHolster"はホルスターの表示切替を行うかどうかの設定で、行う場合は"true"、行わない場合は"false"にする。
"FuncIntim"は動画の冒頭にあった、銃に手を置く動作をするかどうかの設定。
"true"で動作をする、"false"ではそれを行わない。
その下の"<Model>"は当該Itemで設定されるPEDを記述する部分。
上記の物は"S_M_Y_SHERIFF_01"である。
その下からはホルスターに関する設定を記述していく。
"<FuncIntimMeshes>"では銃を手に置く動作に関連して、銃が入ったホルスター、銃が抜かれたホルスターをそれぞれ設定する個所。
この下のインデントにある"<Item>"内で各々設定するようになっており、上には空のホルスター、下にはピストルが収納されたホルスターを記述する。
"<Component>"はホルスターの割り当てのあるPED部位を記述する行で、各部位には固有の番号が割り当てられており"9"はtaskの意味。
つまりそこの行の意味は「taskにホルスターの割り当てがあるよ」とプラグインに指定するというもの。
"<Drawable>"はレンダリングを指定する番号を記述する行で、先ほど説明した番号を記述する。
上の空のホルスターは"0"、下の銃が入ったホルスターは"1"が記述されている。
PED部位とあわせて「"task_000"は空のホルスター、"task_001"は銃の入ったホルスター」とプラグインに教えてあげるわけだ。
"<Weapons>"では武器を抜き差しした時のレンダリング切替えの指定構文を記述していく。
"<Item WeaponSet="Pistols">"は、以下の設定が適用される武器セットの指定。
この場合はピストルということになる。
"<Component>"は先ほどと同じくホルスターが含まれるPED部位の指定で、男性保安官代理はtaskなので"9"。
"<Holsterd>"では銃を収めた状態、つまり銃が収まっているホルスターのレンダリング番号を記述するので、男性保安官の場合は"1"(task_001)。
"<Unholstered>"は銃を抜いた状態、つまり空になったホルスターのレンダリング番号であるから、この場合は"0"(task_000)になる。
目次に戻る
これは先ほど説明したホルスターのレンダリングが割り当てられている部位を指定するものだ。
長いので一部を抜粋して説明していこう。
例として出すのは先ほど例示した男性保安官代理のPEDだ。
プラグインを反映するPEDごとにこういった構文が書かれており"<Item FuncHolster〜>〜</Item>"の間に必要な構文をおさめる。
各PEDの始まりには"<Item FuncHolster="true" FuncIntim="true">"になっており、これはプラグインを反映する設定を行うもの。
"FuncHolster"はホルスターの表示切替を行うかどうかの設定で、行う場合は"true"、行わない場合は"false"にする。
"FuncIntim"は動画の冒頭にあった、銃に手を置く動作をするかどうかの設定。
"true"で動作をする、"false"ではそれを行わない。
その下の"<Model>"は当該Itemで設定されるPEDを記述する部分。
上記の物は"S_M_Y_SHERIFF_01"である。
その下からはホルスターに関する設定を記述していく。
"<FuncIntimMeshes>"では銃を手に置く動作に関連して、銃が入ったホルスター、銃が抜かれたホルスターをそれぞれ設定する個所。
この下のインデントにある"<Item>"内で各々設定するようになっており、上には空のホルスター、下にはピストルが収納されたホルスターを記述する。
"<Component>"はホルスターの割り当てのあるPED部位を記述する行で、各部位には固有の番号が割り当てられており"9"はtaskの意味。
つまりそこの行の意味は「taskにホルスターの割り当てがあるよ」とプラグインに指定するというもの。
"<Drawable>"はレンダリングを指定する番号を記述する行で、先ほど説明した番号を記述する。
上の空のホルスターは"0"、下の銃が入ったホルスターは"1"が記述されている。
PED部位とあわせて「"task_000"は空のホルスター、"task_001"は銃の入ったホルスター」とプラグインに教えてあげるわけだ。
"<Weapons>"では武器を抜き差しした時のレンダリング切替えの指定構文を記述していく。
"<Item WeaponSet="Pistols">"は、以下の設定が適用される武器セットの指定。
この場合はピストルということになる。
"<Component>"は先ほどと同じくホルスターが含まれるPED部位の指定で、男性保安官代理はtaskなので"9"。
"<Holsterd>"では銃を収めた状態、つまり銃が収まっているホルスターのレンダリング番号を記述するので、男性保安官の場合は"1"(task_001)。
"<Unholstered>"は銃を抜いた状態、つまり空になったホルスターのレンダリング番号であるから、この場合は"0"(task_000)になる。
目次に戻る
動画で説明した通り、EUPのキャラでもCop Holsterは有効である。
基本的には標準PEDと同じ要領で設定していくのだが、EUPならではの特徴があるのでご紹介しよう。
以下はEUPの男性キャラに関して設定した部分の抜粋である。
"<FuncIntimMeshes>"に比して、"<Weapons>"の数が随分多い。
理由は、腕を置く動作を設定するホルスターは一組だけだが、この動作を適用しないホルスターはそれいじょうにあるからだ。
EUPは制服警官のガンベルト右腰につけるホルスターの他に、太股につけるレッグホルスターもある。
レッグホルスターは抜き差しに伴う表示切替は適用するが、位置的に手を置いて構えるようなものではない。
この二種類のホルスターが用意されているのにあわせて、Cop Holsterの設定もされているというわけだ。
目次に戻る
基本的には標準PEDと同じ要領で設定していくのだが、EUPならではの特徴があるのでご紹介しよう。
以下はEUPの男性キャラに関して設定した部分の抜粋である。
"<FuncIntimMeshes>"に比して、"<Weapons>"の数が随分多い。
理由は、腕を置く動作を設定するホルスターは一組だけだが、この動作を適用しないホルスターはそれいじょうにあるからだ。
EUPは制服警官のガンベルト右腰につけるホルスターの他に、太股につけるレッグホルスターもある。
レッグホルスターは抜き差しに伴う表示切替は適用するが、位置的に手を置いて構えるようなものではない。
この二種類のホルスターが用意されているのにあわせて、Cop Holsterの設定もされているというわけだ。
目次に戻る
20行目では全体的な設定を行う構文が書かれている。
"EnableHolsterAnimations"はホルスターの表示切替を行うかどうかの設定で、初期設定は切替えを行う"true"、行わない場合は"false"。
"EnableIntimidationMode"は銃に手を置く動作をするかどうかの設定で、初期設定は切替えを行う"true"、行わない場合は"false"。
"IntimidationModeToggle"は銃に手を置く動作のスイッチで、"key"はキーボード、"Gamepad"はコントローラーのもの。
初期設定はキーボードが"RShiftKey"(右シフトキー)、コントローラは"DPadRight"(十字ボタン右)。
もし変更したい場合はここの記事を参考にして編集して欲しい。
目次に戻る
<CopHolster EnableHolsterAnimations="true" EnableIntimidationMode="true" IntimidationModeToggleKey="RShiftKey" IntimidationModeToggleGamepad="DPadRight">
"EnableHolsterAnimations"はホルスターの表示切替を行うかどうかの設定で、初期設定は切替えを行う"true"、行わない場合は"false"。
"EnableIntimidationMode"は銃に手を置く動作をするかどうかの設定で、初期設定は切替えを行う"true"、行わない場合は"false"。
"IntimidationModeToggle"は銃に手を置く動作のスイッチで、"key"はキーボード、"Gamepad"はコントローラーのもの。
初期設定はキーボードが"RShiftKey"(右シフトキー)、コントローラは"DPadRight"(十字ボタン右)。
もし変更したい場合はここの記事を参考にして編集して欲しい。
目次に戻る
Cop Holsterの注意点として、Police Partnerとの相性の悪さがある。
クラッシュするようなことはないのだが、相棒の表示がおかしくなってしまうのだ。
正確な原因は不明だが、Police Partnerの相棒がEUPのデータを使う事に関連があるのではないか?と考えられる。
まず先述した設定の中には"MP_F_FREEMODE_01"と"MP_M_FREEMODE_01"がある。
この二つは元々はGTAOのキャラクターモデル名だが、EUPはそれをオフライン向けに流用したシステムなので、Cop HolsterにおいてはEUPキャラと同義。
つまり上記設定の目的は、プレイヤーキャラがEUPである時にCop Holsterがこれを認識し、設定を適宜反映にする為のもの。
一方でPolice PartnerもEUPデータを流用するため、こちらもゲーム中にスポーンされると"MP_〜"のモデル名を持つキャラクターということになる。
これらから、Cop HolsterはPolice Partnerで呼び出した相棒もプレイヤーと同様に認識しているのではないか?と言えるわけだ。
しかし相棒はプレイヤーキャラではない為、武器を抜くとか格納するといった状態を検知できない。
それで表示がおかしくなっているのではないか、と管理人は考えている。
実際に使って見ると動作上は特に問題は無く、飽くまで見た目が変と言うだけのこと。
そこが気にならないなら無視して良いものだが、気になる人は注意が必要だろう。
目次に戻る
クラッシュするようなことはないのだが、相棒の表示がおかしくなってしまうのだ。
Cop Holsterが動いている状態でのプレイヤーキャラ(左)と相棒(右)。それぞれ枠で囲った部分をみると、自分の場合はホルスターに入った銃が表示されるのに対し、相棒の方はホルスターが表示されていない。いずれもEUPのキャラであり、またPolice Partnerの相棒はEUPデータが必須となっている。 |
正確な原因は不明だが、Police Partnerの相棒がEUPのデータを使う事に関連があるのではないか?と考えられる。
まず先述した設定の中には"MP_F_FREEMODE_01"と"MP_M_FREEMODE_01"がある。
この二つは元々はGTAOのキャラクターモデル名だが、EUPはそれをオフライン向けに流用したシステムなので、Cop HolsterにおいてはEUPキャラと同義。
つまり上記設定の目的は、プレイヤーキャラがEUPである時にCop Holsterがこれを認識し、設定を適宜反映にする為のもの。
一方でPolice PartnerもEUPデータを流用するため、こちらもゲーム中にスポーンされると"MP_〜"のモデル名を持つキャラクターということになる。
これらから、Cop HolsterはPolice Partnerで呼び出した相棒もプレイヤーと同様に認識しているのではないか?と言えるわけだ。
しかし相棒はプレイヤーキャラではない為、武器を抜くとか格納するといった状態を検知できない。
それで表示がおかしくなっているのではないか、と管理人は考えている。
実際に使って見ると動作上は特に問題は無く、飽くまで見た目が変と言うだけのこと。
そこが気にならないなら無視して良いものだが、気になる人は注意が必要だろう。
目次に戻る
最新コメント