「SoCからCS/CoPへのNPCメッシュデータ移植」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
----
*SoCからCS/CoPへ人物メッシュ(3Dモデル)データを移植する
----
#contents
----
※注意
ここで説明する移植手段は、MODスレおよびS.T.A.L.K.E.R. Inside Wikiで紹介されていた"変換法"を、自分なりに読み解いて再説明したものです。
あくまで一例として参考にしてやってください。
http://stalkerin.gameru.net/wiki/index.php?title=MilkShape_3D._%D0%9F%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B5%D0%B9_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7_%D0%B8_%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE
図解入りの大元は↑になります。
また、CoPへの移植で動作確認していますが、CSおよびCoPへの移植方法として紹介されているので、CSでもそのまま使えるはず、程度の認識でやってますのでご了承ください。
**用意するツール類
&font(red){MilkShape3D 1.8.4}
http://chumbalum.swissquake.ch/
3Dモデリングデータを色々といじくれるツール。30日体験付きのシェアウェアです。
&font(red){Stalker対応MilkShape3Dプラグイン}
MilkShape3Dでogfファイルをimport/exportするためのプラグインです。
http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=377
&font(red){ms3dファイル(MilkShape3D用)のHierarchy Editor}
MilkShape3Dでの作業中に必要な、Boneの接続を編集するためのツールです。
http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=424
&font(red){X-Ray SDK 0.7}
CS対応なら以前のVerでも良さそうですが、一応手元のVerで説明します。
&font(red){CS/CoP用bonesファイル}
http://narod.ru/disk/4885242001/converting_stalker_models.7z.html
↑のパッケージに含まれています。
**スケルトン(骨格部分)の設定-前準備
SoCとCS/CoPのモデル移植の上で面倒になるのが、
&font(blue,b){SoCではスケルトンのパーツが45個}なのに対して、&font(blue,b){CS/CoPでは47パーツ}で構成されている、という仕様です。
このうち45パーツは共通のものなので、まずはこの2パーツ分を付け足す作業から入ります。
まずはMilkshapeを開いて(プラグインは先に導入しておいてください)、File-Import-S.T.A.L.K.E.R. ...を選択し、適当な&font(blue,b){CoPの}ogfファイルをインポートします。
分かりやすいところで、アンパックしたデータから、meshes\actors\stalker_neutral\stalker_neutral_1.ogfを選択します。
いわゆるLonerの3Dデータが表示されますが、必要なのはスケルトンのみです。
ここで、File-Preferencesを開いて、MiscタブのJoint Sizeを0.01に設定するといいようです。
ちゃんと3Dモデルの中に骨が通っているような感じになっていればOK。
右側に表示されている、Jointsタブを選択すると、スケルトンのパーツ一覧が表示されています。
CS/CoPで追加されたのは、&font(blue,b){root_stalker}および&font(blue,b){bip01}の2つで、SoCのスケルトンの親として定義されているようです。
ここでは、&font(red,b){bip01_pelvisをダブルクリックで選択して、DeleteキーかEdit-Delete Selection}で要らないスケルトンを削除します。
また、3Dのモデリングデータ自体も邪魔なので、Materialsタブを選択し、&font(red,b){material00とmaterial01をクリックして選択した後に、下のDeleteボタンをクリックして削除}してください。
同様に、Groupsタブの&font(red,b){mesh00とmesh01も選択後に下のDeleteボタンをクリックして削除}してください。
これで、画面には、&font(blue,b){Jointsのroot_stalkerおよびbip01}だけが残されているはずです。
これを以後の反復作業用データとして、ms3d形式で別名保存しておいてください。
SoC⇒CS/CoPへの人物モデル移植用には必ず使うことになるはずです。
**スケルトン(骨格部分)の設定-本番
さて、あらためて前項の骨格パーツ2本のみが表示されている状態から進めていきます。
ここで、SoCから移植したいogfをインポートすると、
SoCのスケルトン+メッシュデータ+足りなかったスケルトン2パーツ、という状態になるので、これを一旦ms3d形式で保存します。
Hierarchy Editorを解凍し、このファイルをMS3D Hierarchy Editor.exeと同じフォルダに置きます。
exeを起動したら、ファイル名を拡張子抜きで入力します。
すると、Jointの一覧と各Jointの親が表示されますが、SoC仕様ではroot扱いだったbip01_pelvisの親が空欄になっているはずです。
そこで、M(Mount)を入力、ModeはA(Absolute)、続行するかどうか聞かれるのでY、Joint番号を聞かれるので3(bip01_pelvisの番号)、親のJoint番号は2(bip01)と入力して設定を終えます。
終了するにはQ(Quit)でOK。
これで、完璧なCoP用スケルトンを持ったSoCモデル・・・の元が完成しました。
これをMilkshapeで開いて、S.T.A.L.K.E.R.形式でエクスポートしてやることで、meshとboneの揃ったobjectファイルが出来上がります。
**Actor Editorでの設定
次に、CoP用SDKのActor Editorを起動します。
editors\!ActorEditor.cmdから起動したら、File-Importで作成したobjectファイルを読み込みます。
右側のObject Itemsの下にあるObjectを選択し、Item PropertiesのMake Progressiveにチェックが入っていることを確認したら、一番下のUser Dataに対応するltxデータのパスを指定してやります。
これは、元のogfファイルに設定されているものを使うのがいいかもしれませんが、面倒ならconfigs\models\captureから適当に選択してやってもいいかもしれません。
入力形式はconfigsを飛ばしてmodels\capture\xxx.ltxのみでOK。
次は、Motionsを選択してMotion referenceを設定します。
...をクリックすれば設定に入れますが、推奨設定は
actors\stalker_animation、actors\stalker_scenario_animation、actors\stalker_scripts_animation、actors\stalker_smart_cover_animationの4つです。
それぞれ・をクリックしてチェック状態になったらOKを押します。
最後に、Bonesを選択したら、Fileの右にあるLoadボタンをクリックし、用意しておいたcop-cs.bonesファイルを選択します。
Surfaces以下はテクスチャの設定ですが、設定項目の数等々がモデル次第なところもあるので、各自必要に応じて変更してください。必要なければそのままで、同じ階層にテクスチャファイルを用意してやれば大丈夫です。
最後にFile-ExportでOGFファイルとしてエクスポートすれば完成。
**出来上がったものが
こちらになります。クリックで別窓。
&blankimg(http://www43.atwiki.jp/stalker_modder/pub/trans_npc/trans_npc_test.jpg)
この例ではSecret Path2からbabka_3.ogfを移植してみました。
適当に新規NPCとしてでっち上げたうえで、Spawner Modを使って出してみただけです。
見て分かるように、体格の違うモデルデータなので、一般Stalker用のモーションデータでは見た目が不自然になります。
肩幅や関節の間隔が合っていないため、不自然に手足が伸びています。
この辺の修正方法と、NPCとしての設定などはまた別の項で取り上げます。
----
*SoCからCS/CoPへ人物メッシュ(3Dモデル)データを移植する
----
#contents
----
※注意
ここで説明する移植手段は、MODスレおよびS.T.A.L.K.E.R. Inside Wikiで紹介されていた"変換法"を、自分なりに読み解いて再説明したものです。
あくまで一例として参考にしてやってください。
http://stalkerin.gameru.net/wiki/index.php?title=MilkShape_3D._%D0%9F%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B5%D0%B9_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7_%D0%B8_%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE
図解入りの大元は↑になります。
また、CoPへの移植で動作確認していますが、CSおよびCoPへの移植方法として紹介されているので、CSでもそのまま使えるはず、程度の認識でやってますのでご了承ください。
**用意するツール類
&font(red){MilkShape3D 1.8.4}
http://chumbalum.swissquake.ch/
3Dモデリングデータを色々といじくれるツール。30日体験付きのシェアウェアです。
&font(red){Stalker対応MilkShape3Dプラグイン}
MilkShape3Dでogfファイルをimport/exportするためのプラグインです。
http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=377
&font(red){ms3dファイル(MilkShape3D用)のHierarchy Editor}
MilkShape3Dでの作業中に必要な、Boneの接続を編集するためのツールです。
http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=424
&font(red){X-Ray SDK 0.7}
CS対応なら以前のVerでも良さそうですが、一応手元のVerで説明します。
&font(red){CS/CoP用bonesファイル}
http://narod.ru/disk/4885242001/converting_stalker_models.7z.html
↑のパッケージに含まれています。
**スケルトン(骨格部分)の設定-前準備
SoCとCS/CoPのモデル移植の上で面倒になるのが、
&font(blue,b){SoCではスケルトンのパーツが45個}なのに対して、&font(blue,b){CS/CoPでは47パーツ}で構成されている、という仕様です。
このうち45パーツは共通のものなので、まずはこの2パーツ分を付け足す作業から入ります。
まずはMilkshapeを開いて(プラグインは先に導入しておいてください)、File-Import-S.T.A.L.K.E.R. ...を選択し、適当な&font(blue,b){CoPの}ogfファイルをインポートします。
分かりやすいところで、アンパックしたデータから、meshes\actors\stalker_neutral\stalker_neutral_1.ogfを選択します。
いわゆるLonerの3Dデータが表示されますが、必要なのはスケルトンのみです。
ここで、File-Preferencesを開いて、MiscタブのJoint Sizeを0.01に設定するといいようです。
ちゃんと3Dモデルの中に骨が通っているような感じになっていればOK。
右側に表示されている、Jointsタブを選択すると、スケルトンのパーツ一覧が表示されています。
CS/CoPで追加されたのは、&font(blue,b){root_stalker}および&font(blue,b){bip01}の2つで、SoCのスケルトンの親として定義されているようです。
ここでは、&font(red,b){bip01_pelvisをダブルクリックで選択して、DeleteキーかEdit-Delete Selection}で要らないスケルトンを削除します。
また、3Dのモデリングデータ自体も邪魔なので、Materialsタブを選択し、&font(red,b){material00とmaterial01をクリックして選択した後に、下のDeleteボタンをクリックして削除}してください。
同様に、Groupsタブの&font(red,b){mesh00とmesh01も選択後に下のDeleteボタンをクリックして削除}してください。
これで、画面には、&font(blue,b){Jointsのroot_stalkerおよびbip01}だけが残されているはずです。
これを以後の反復作業用データとして、ms3d形式で別名保存しておいてください。
SoC⇒CS/CoPへの人物モデル移植用には必ず使うことになるはずです。
**スケルトン(骨格部分)の設定-本番
さて、あらためて前項の骨格パーツ2本のみが表示されている状態から進めていきます。
ここで、SoCから移植したいogfをインポートすると、
SoCのスケルトン+メッシュデータ+足りなかったスケルトン2パーツ、という状態になるので、これを一旦ms3d形式で保存します。
Hierarchy Editorを解凍し、このファイルをMS3D Hierarchy Editor.exeと同じフォルダに置きます。
exeを起動したら、ファイル名を拡張子抜きで入力します。
すると、Jointの一覧と各Jointの親が表示されますが、SoC仕様ではroot扱いだったbip01_pelvisの親が空欄になっているはずです。
そこで、M(Mount)を入力、ModeはA(Absolute)、続行するかどうか聞かれるのでY、Joint番号を聞かれるので3(bip01_pelvisの番号)、親のJoint番号は2(bip01)と入力して設定を終えます。
終了するにはQ(Quit)でOK。
これで、完璧なCoP用スケルトンを持ったSoCモデル・・・の元が完成しました。
これをMilkshapeで開いて、S.T.A.L.K.E.R.形式でエクスポートしてやることで、meshとboneの揃ったobjectファイルが出来上がります。
**Actor Editorでの設定
次に、CoP用SDKのActor Editorを起動します。
editors\!ActorEditor.cmdから起動したら、File-Importで作成したobjectファイルを読み込みます。
右側のObject Itemsの下にあるObjectを選択し、Item PropertiesのMake Progressiveにチェックが入っていることを確認したら、一番下のUser Dataに対応するltxデータのパスを指定してやります。
これは、元のogfファイルに設定されているものを使うのがいいかもしれませんが、面倒ならconfigs\models\captureから適当に選択してやってもいいかもしれません。
入力形式はconfigsを飛ばしてmodels\capture\xxx.ltxのみでOK。
次は、Motionsを選択してMotion referenceを設定します。
...をクリックすれば設定に入れますが、推奨設定は
actors\stalker_animation、actors\stalker_scenario_animation、actors\stalker_scripts_animation、actors\stalker_smart_cover_animationの4つです。
それぞれ・をクリックしてチェック状態になったらOKを押します。
最後に、Bonesを選択したら、Fileの右にあるLoadボタンをクリックし、用意しておいたcop-cs.bonesファイルを選択します。
Surfaces以下はテクスチャの設定ですが、設定項目の数等々がモデル次第なところもあるので、各自必要に応じて変更してください。必要なければそのままで、同じ階層にテクスチャファイルを用意してやれば大丈夫です。
最後にFile-ExportでOGFファイルとしてエクスポートすれば完成。
**出来上がったものが
こちらになります。クリックで別窓。
&blankimg(http://www43.atwiki.jp/stalker_modder/pub/trans_npc/trans_npc_test.jpg)
この例ではSecret Path2からbabka_3.ogfを移植してみました。
適当に新規NPCとしてでっち上げたうえで、Spawner Modを使って出してみただけです。
体格の違うモデルデータなので、肩幅や関節の間隔が合っていません。
SkeletonかMotionあたりを修正しないと、不自然に手足が伸びた状態のままになってしまうようです。
この辺の修正方法と、NPCとしての設定などはまた別の項で取り上げます。