GOSUKE FACTORY - STALKER

CoPで新しい武器を追加する方法



<必要なもの>
追加したい武器
CoPのSDK
xray converter
適当なunpackツール

 以前作成したGP100を例にとって解説をしていきます。新しい武器を追加するのにまず、武器の3Dモデル、モーション、テクスチャ、サウンド、銃の設定ファイルが必要です。列挙すると下記のようなファイルが必要になります。これらのファイルが用意できたら Stalker-COP.exe がある S.T.A.L.K.E.R. - Call of Pripyat フォルダにコピーします。

gamedata
 ├ configs
 │  └ weapons
 │     ├ w_gp100.ltx :銃の設定ファイル
 │     └ ammo
 │        └ ammo_357mag.ltx :弾の設定ファイル
 ├ meshes
 │  └ dynamics
 │     └ weapons
 │        ├ wpn_ammo
 │        │  └ ammo_357_jhp.ogf :三人称視点で使用する弾の3Dモデル
 │        └ wpn_gp100
 │           ├ wpn_gp100.ogf :三人称視点で使用する銃の3Dモデル
 │           ├ wpn_gp100_hud.ogf :一人称視点で使用する銃の3Dモデル
 │           ├ wpn_gp100_hud_animation.omf :銃のモーションが収められている
 │           └ wpn_hand_gp100_hud_animation.omf :手のモーションが収められている
 ├ sounds
 │  └ weapons
 │     ├ gp100_reload.ogg :サウンド
 │     └ gp100_shot.ogg :サウンド
 └ textures
    ├ ui
    │  └ ui_icon_equipment.dds :アイコンのテクスチャ
    └ wpn
       ├ wpn_cartridge357.dds :テクスチャ
       ├ wpn_cartridge357.thm :マテリアルの設定ファイル
       │    ・
       │    ・
       │    ・
       ├ wpn_gp100_lod.dds
       └ wpn_gp100_lod.thm					
 

 S.T.A.L.K.E.R. - Call of Pripyat\resources にある resources.dbx をunpackツールで解凍します。解凍してできたファイルの中の configs\weapons にある weapons.ltx をS.T.A.L.K.E.R. - Call of Pripyat\gamedata\configs\weapons にコピーします。コピーした weapons.ltx をメモ帳などで開き、下記のテキストを追加します。

#include "w_gp100.ltx"
#include "ammo\ammo_357mag.ltx"

 この作業をすると、追加した武器の設定ファイルをゲーム側が読み込むようになります。SoCでは大抵ここまでの作業でゲーム内で武器が使えるようになり、作業終了でしたが、CS,CoPではそうはいきません。この他にしなければいけない作業ができてしまいました。その作業はというと、これから行うモーションの登録作業です。次に行う作業はその前準備です。

 先程、解凍してできたファイルの中の meshes\dynamics\weapons\wpn_hand にあるogfファイル(wpn_hand_01.ogf〜wpn_hand_07.ogf と wpn_hand_exo.ogf の計8)をxray converterでobjectファイルに変換します。この後で使う ActorEditor では直接ogfファイルを読み込む事ができない為、一旦、 ActorEditor で読み込む事ができるobjectファイルに変換します。


xray converterの使い方

 Windowsのスタートメニュー > すべてのプログラム > アクセサリ > コマンドプロンプト で、コマンドプロンプトを起動し、カレントディレクトリをconverter.exeがある所に変更します。以下のコマンドでogfファイルをobjectファイルに変換します。(コマンドの詳細は付属のドキュメントを見てください)


converter.exe -object [変換したいファイル名] [変換先(省略するとconverter.exeのある場所に作成されます)]

(例)
converter,exe -obejct "D:\game\S.T.A.L.K.E.R. - Call of Pripyat\unpacked\meshes\dynamics\weapons\wpn_hand\wpn_hand_01.ogf"


 次は、X-Ray CoP SDKを使った作業になりますが、その前に X-Ray CoP SDK\editors\gamedata\meshes\dynamics\weapons に追加したい武器の3Dモデルファイルとモーションファイルをコピーします(フォルダごと)。先程列挙した必要なファイルのリストを例にとると、gamedata\meshes\dynamics\weapons にあるwpn_gp100フォルダを X-Ray CoP SDK\editors\gamedata\meshes\dynamics\weapons にコピーをします。

 これから行う作業は、手の3Dモデルに新しく追加する武器のモーションを登録する作業です。SoCでは3Dモデルとモーションが1つのogfファイルに収められていたので、こういった作業をする必要がなく武器の追加は容易でしたが、CS,CoPでは3Dモデルファイルとモーションファイルが別になっており、その3Dモデルが使用するモーションファイルを3Dモデルファイルに登録する必要があります。


モーションの登録作業

 ActorEditorを起動します。 ActorEditor.exe を直接たたかないで、
!ActorEditor.cmdから起動します。loadin...でとまったまま起動しない場合は、
!ActorEditor.cmdを下記のように編集してから、起動してください。赤文字が追加箇所です。


start bin\designer\mixed\ActorEditor.exe -editor -nosound


 正常に起動ができたら、先程変換して作成したobjectファイルを 右側にあるToolbarから Scene > File > Load で読み込みます。そして、Object Items > Motions をクリック、Item Properties > Motionreference (KeyのほうではなくValueのほう) をクリックして、Select Game Object Motionsのウインドウを表示させます。


 Select Game Object Motions から追加したい武器を見つけて、wpn_hand_で名前が始まるモーションにチェックマークをつけます。GP100を例にすると、wpn_hand_gp100_hud_animationにチェックマークをつけます。これでモーションの登録作業ができました。これをogfファイルにしてゲームで使えるようにします。

 Scene > File > Export > Export OGF... でエクスポートします。この作業をwpn_hand_01.object〜wpn_hand_07.object と wpn_hand_exo.oject の計8つのファイル全てに行います。エクスポートができたら、これら8つのogfファイルを、S.T.A.L.K.E.R. - Call of Pripyat\gamedata\meshes\dynamics\weapons\wpn_hand にコピーします。

 以上の作業で新しい武器が追加されます。ゲーム内で確認してみましょう。CoPで手っ取り早く確認する方法は、新規ゲームで始めたときの初期装備に、追加した銃を所持させると確認が楽です。最初の作業でアーカイブを解凍したましたが、その解凍したファイルの configs\gameplay の中にある character_desc_general.xml を、 S.T.A.L.K.E.R. - Call of Pripyat\gamedata\configs\gameplay にコピーします。コピーしたファイルをメモ帳などで開き下記のように赤文字の箇所を追加すると、初期装備にGP100と弾が追加されます。

	<specific_character id="actor" no_random = "1">
		<name>st_actor_name</name>
		<icon>ui_inGame2_Hero</icon>
		<map_icon x="2" y="5"></map_icon>

		<team>Actor</team>
		<supplies>
			[spawn] \n
			device_torch \n
			wpn_binoc \n
			wpn_knife \n
			detector_simple \n
			helm_respirator \n
			stalker_outfit \n

   			grenade_rgd5 = 2 \n

			wpn_pm_actor  \n
   			ammo_9x18_fmj = 3 \n

   			wpn_ak74u \n
   			ammo_5.45x39_fmj = 3 \n
   			
			bandage = 2 \n
			antirad = 1 \n
			medkit = 4 \n

			bread = 1 \n
			kolbasa = 1 \n
			conserva = 2 \n

			wpn_gp100 = 1 \n
			ammo_357_hp_mag = 10 \n

    </supplies>

おつかれさまでした
(2014/05/30)



Youtube Twitter

記事(S.T.A.L.K.E.R.)
(最終更新日 2014/05/30)

作成物
Download
MOD データベース
Shadow of Chernobyl
(最終更新日 2009/05/10)

Clear Sky
(最終更新日 2009/05/10)

MOD製作の解説
Export Plugin の導入方法
(3ds Max)
オブジェクトの作り方
(3ds Max, ActorEditor)
CoPで新しい武器を追加する方法
(ActorEditor)

 当サイトはリンクフリーですが、ファイルへの直リンクは出来ればご遠慮お願い致します。バナーでリンクする場合は下にあるバナーを使用して下さい。

banner
意見、要望、感想、叱咤、激励、などなどありましたら下の意見箱または X(旧Twitter) までメッセージをどうぞ。
意見箱