■概要
2009.7.26
.■マップ関係ファイル
2009.8.30
マップMODは導入が面倒で、かつ導入トラブルも多いようです。大抵のものは乗り物やキャラスキンのようにimg内のファイルを置き換えるだけ、というわけにはなかなか行きません。ここでは簡単ではありますがマップ関係のファイル構成を、私が把握している範囲で説明したいと思います。
下のテーブルに、マップ関連ファイルの代表的なものを示します([]付きのものはフォルダです)。マップMODに限ったことではありませんが、おおまかに分けてインストールフォルダ下の"dataフォルダ"に各種設定データが、"modelフォルダ"に3Dモデルデータが置かれます。
マップ関係の主な設定ファイルは、dataフォルダにあるmapsフォルダ下に置かれます。mapsフォルダ下は各地域やインテリア用、汎用モデル用などにフォルダが分かれていて、それぞれのフォルダに".ide"ファイルと".iplファイル"が置かれます。
以下、各ファイルについて少しだけ説明しておきます。
それぞれのフォーマットについては上述のryosukeさんサイトやGTAModding様(参考URL(2)〜(5))に記載があります。サイト主様に感謝いたします。
<参考URL>
.下のテーブルに、マップ関連ファイルの代表的なものを示します([]付きのものはフォルダです)。マップMODに限ったことではありませんが、おおまかに分けてインストールフォルダ下の"dataフォルダ"に各種設定データが、"modelフォルダ"に3Dモデルデータが置かれます。
マップ関係の主な設定ファイルは、dataフォルダにあるmapsフォルダ下に置かれます。mapsフォルダ下は各地域やインテリア用、汎用モデル用などにフォルダが分かれていて、それぞれのフォルダに".ide"ファイルと".iplファイル"が置かれます。
以下、各ファイルについて少しだけ説明しておきます。
ideファイルはオブジェクト定義(Item Definition)を行うもので、iplで使用するIDや描画距離、ゲーム時間による制御や影描画に関わるフラグ設定を行います。
iplファイルはオブジェクト配置(Item Placement)を指定するもので、実際に配置される位置や向きを記載します。ここに記載するオブジェクトはideファイルに登録されている必要があります。書式関してはryosukeさんのサイト(参考URL(1))にかなり詳しい解説がありますので是非ご参照ください。
dataフォルダ直下の"gta.dat"では読み込むideやiplの指定を行います。マップオブジェクトを新規導入する場合、ideファイルへの登録が必要ですが、後で編集しやすいようにMOD用のideファイルを作り、このgta.datに記載しておくと便利かと思います。
"object.dat"では、オブジェクトの重さやダメージ時の扱いなどを設定出来るようです。各パラメータの説明はobject.dat内にコメントされています。私は一部のパラメータしかいじったことがありませんが、わかる範囲で別途説明します(Tips「object.dat」参照)。
iplファイルはオブジェクト配置(Item Placement)を指定するもので、実際に配置される位置や向きを記載します。ここに記載するオブジェクトはideファイルに登録されている必要があります。書式関してはryosukeさんのサイト(参考URL(1))にかなり詳しい解説がありますので是非ご参照ください。
dataフォルダ直下の"gta.dat"では読み込むideやiplの指定を行います。マップオブジェクトを新規導入する場合、ideファイルへの登録が必要ですが、後で編集しやすいようにMOD用のideファイルを作り、このgta.datに記載しておくと便利かと思います。
"object.dat"では、オブジェクトの重さやダメージ時の扱いなどを設定出来るようです。各パラメータの説明はobject.dat内にコメントされています。私は一部のパラメータしかいじったことがありませんが、わかる範囲で別途説明します(Tips「object.dat」参照)。
それぞれのフォーマットについては上述のryosukeさんサイトやGTAModding様(参考URL(2)〜(5))に記載があります。サイト主様に感謝いたします。
<参考URL>
(1)
GTA SA Modification Center:http://hotmist.ddo.jp/ipl/index.html
iplの書式は「GTA SA Modification Center > Ipl」に掲載されています。
(2)
Item Definition (GTAModding) (ideファイル書式):http://www.gtamodding.com/index.php?title=Ide#OBJS_2
(3)
OBJS (GTAModding) (ideファイルOBJSセクション書式):http://www.gtamodding.com/index.php?title=OBJS
(4)
Item Placement (GTAModding) (iplファイル書式):http://www.gtamodding.com/index.php?title=IPL
(5)
gta.dat (GTAModding):http://www.gtamodding.com/index.php?title=Gta3.dat
■MEd
2009.8.30
MEdは、GTAのマップオブジェクトの登録/設定/配置を行うことのできる非常にパワフルなツールです。作者はtonywobさんで、参考URL(1)から入手できます。操作等の解説はryosukeさんのサイト(参考URL(2))がとても詳しいです。是非ご参照ください。ツール作者様、サイト主様に感謝いたします。
少し補記を。マップオブジェクトを新規に登録して導入する場合、MEdの"IDE"タブで登録するideファイルを指定し、"New Item"で新規登録することが出来ます。"New File"で追加MOD用にideファイルを作成しておくと、あとあとの管理が楽かと思います。
<参考URL>
.少し補記を。マップオブジェクトを新規に登録して導入する場合、MEdの"IDE"タブで登録するideファイルを指定し、"New Item"で新規登録することが出来ます。"New File"で追加MOD用にideファイルを作成しておくと、あとあとの管理が楽かと思います。
注意:SAの初期状態では、マップオブジェクトを新規に導入していくとあっというまにコリジョンやオブジェクト数の上限にひっかかり起動しなくなります。上限を超えて使用する場合は、SALA(Limit Adjuster)を用いた拡張が必要になります。SALAについてはTips「SALA」で少しだけ説明します。
<参考URL>
(1)
MapEditor (GTAGarage.com):http://www.gtagarage.com/mods/show.php?id=1053
(2)
GTA SA Modification Center:http://hotmist.ddo.jp
MEdの解説は「GTA SA Modification Center > MEd」に掲載されています。
SALA
2009.8.30
Latest : 2011.1.23
SALA(SA Limit Adjuster)は、SAのさまざまな設定上限を拡張できるツールです。作者はSackyさんで、参考URL(1)から入手できます。導入方法はさまざまなサイト様で解説されていますが、基本的には解凍したファイルをSAのインストールフォルダ直下にコピーするだけです。
このTips的には、マップオブジェクト追加であっというまに上限に達してしまうcolやオブジェクト数の上限を引き上げる用途でSALAを使用しますが、他にもPEDや乗り物の影品質やテクスチャフィルタの設定など、多岐にわたる設定が可能です。設定可能な項目についてはGTAmodding様(参考URL(2))に説明が掲載されていますので、そちらをご参照ください。ツール作者様、サイト主様に感謝いたします。
以下にマップオブジェクト追加用途の設定例と注意点を書いておきます。私はオブジェクトを10個ほど追加導入しているだけですが、SAの制限にひっかかりSALA導入を導入しました。今のところ下の設定で問題なく動いています。ご参考まで。
<参考URL>
. 私はENB Seriesを使っていないので問題なくSALAを導入できたのですが、ENB SeriesをSALAと併用する場合には、dll名と設定の変更が必要なようです。2ch掲示板で質疑されていた内容を抜粋したものを下のTipsにて補記します。ご参考まで。
このTips的には、マップオブジェクト追加であっというまに上限に達してしまうcolやオブジェクト数の上限を引き上げる用途でSALAを使用しますが、他にもPEDや乗り物の影品質やテクスチャフィルタの設定など、多岐にわたる設定が可能です。設定可能な項目についてはGTAmodding様(参考URL(2))に説明が掲載されていますので、そちらをご参照ください。ツール作者様、サイト主様に感謝いたします。
以下にマップオブジェクト追加用途の設定例と注意点を書いておきます。私はオブジェクトを10個ほど追加導入しているだけですが、SAの制限にひっかかりSALA導入を導入しました。今のところ下の設定で問題なく動いています。ご参考まで。
(1)不要な機能の停止
(2)制限値の拡張
まずは"salimits.ini"をテキストエディタで開き、(最後の[CREDITS]下の2行以外の)全設定をコメントアウトして導入してみてください。コメントアウトは行頭に「#」を付ければよいです。
[CREDITS]下の2行をコメントアウトした状態では起動しないようです。
[CREDITS]下の2行をコメントアウトした状態では起動しないようです。
SALAのデフォルト設定はいくつかの機能がonになっていますので、それをoffにする操作です。SALAは便利な反面、他MODとの干渉等で予期せぬエラーを引き起こすことがあるようですので拡張は必要最低限にとどめておいたほうが良いです。本サイト私信でも書きましたが、私が最初に導入した時は公用車両を指定するオプションを無効にしていなかったために、パトカーがロードされた瞬間にゲームが落ちる症状が発生しました。
(2)制限値の拡張
続いてマップオブジェクトに関する制限値を拡張します。
マップオブジェクトを追加していてまず最初にひっかかるのが「ColModels(colモデル数)」と「Collision Files(colファイル数)」だと思います。これらは数個のオブジェクトを追加しただけであっというまに制限にかかりました。続いて「IDEs(ideへの登録オブジェクト数)」が制限にかかると思います。
そこで、これらの項目のみに絞って制限を拡張します。初期値がわかるように、デフォルト設定はコメントアウトのまま残しておくと良いと思います。以下私の現在の設定例です。ご参考まで。
マップオブジェクトを追加していてまず最初にひっかかるのが「ColModels(colモデル数)」と「Collision Files(colファイル数)」だと思います。これらは数個のオブジェクトを追加しただけであっというまに制限にかかりました。続いて「IDEs(ideへの登録オブジェクト数)」が制限にかかると思います。
そこで、これらの項目のみに絞って制限を拡張します。初期値がわかるように、デフォルト設定はコメントアウトのまま残しておくと良いと思います。以下私の現在の設定例です。ご参考まで。
#ColModels=10150
ColModels=10250
#Collision Files=255
Collision Files=300
(略)
#IDEs=14000
IDEs=14100
ColModels=10250
#Collision Files=255
Collision Files=300
(略)
#IDEs=14000
IDEs=14100
<参考URL>
(1)
Aschratt's Page Download (SALA配布サイト):(リンク切れ) http://www.aschratt.com/fileview.php?file=1006
2011.1.23 現在SALAのダウンロードはできないようです
2011.1.23 現在SALAのダウンロードはできないようです
(2)
SA Limit Adjuster (GTAModding):http://www.gtamodding.com/index.php?title=SA_Limit_Adjuster
SALA補記
2009.8.30
私はENB Seriesを使っていないので問題なくSALAを導入できたのですが、ENB SeriesをSALAと併用する場合にはdll名と設定の変更が必要なようです。ENB Seriesユーザの方も多いかと思いますので、以下2ch掲示板で議論されていた内容を抜粋しておきます。ご参考まで。
貴重な情報を投稿いただいた掲示板の皆様に感謝します。
<参考URL>
.貴重な情報を投稿いただいた掲示板の皆様に感謝します。
Q.SALAとENBを同時に使いたいんだけど、うまくいきません。
A.(その1)
新しめのenbseries.iniにはdllを追加読込する設定があります。SALAのd3d9.dllを適当にリネーム(la_d3d9.dllなど)して
[PROXY]
EnableProxyLibrary=1
InitProxyFunctions=1
ProxyLibrary=[SALAのDLL]
と記述。
A.(その2)
過去スレで見た方法だが、SALAのd3d9.dllの拡張子をasiに変更すればおk
A.(その1)
新しめのenbseries.iniにはdllを追加読込する設定があります。SALAのd3d9.dllを適当にリネーム(la_d3d9.dllなど)して
[PROXY]
EnableProxyLibrary=1
InitProxyFunctions=1
ProxyLibrary=[SALAのDLL]
と記述。
A.(その2)
過去スレで見た方法だが、SALAのd3d9.dllの拡張子をasiに変更すればおk
<参考URL>
object.dat
2009.8.30
"object.dat"は、マップオブジェクトの重さやダメージ時の動作を指定する設定ファイルです。各パラメータの説明はobject.dat内にコメントされています。Breakable Objectテスト時にいじった範囲で説明しようと思います。
■FX INFO:Fx(エフェクト)に関する設定。
(FX_TYPE) Type of FxSystem
(FX_OFFSET) Offset of FxSystem
(FX_NAME) Name of FxSystem
■BREAKABLE INFO:破壊に関する設定。(I)Collision Damage Effectが200か202の時に効果があります。
(B-SM) Smash Multiplier
(B-VX)〜(B-VZ) Break Velocity X〜Z
(B-VR) Break Velocity Rand
(B_GUN) Gun Break Mode
(B_SPK) Produce Sparks on Impact
.(A)
Object Name[256 chars max]
オブジェクト名。ideに登録したものを記入します。
オブジェクト名。ideに登録したものを記入します。
(B〜G)
(B) Mass:質量
(C) TurnMass:回転質量。モーメント?
(D) Air Resistance:空気抵抗
(E) Elasticity:弾性係数
(F) Percent Submerged:浸水率(?)
(G) Uproot Limit:衝突時の動きにくさ
(C) TurnMass:回転質量。モーメント?
(D) Air Resistance:空気抵抗
(E) Elasticity:弾性係数
(F) Percent Submerged:浸水率(?)
(G) Uproot Limit:衝突時の動きにくさ
(H)
Collision Damage Multiplier[0.1 - 5.0 ish]
衝突ダメージ係数。大きくすると衝突ダメージが入りやすく(壊れやすく)なり、壊した時の反動が小さくなります。
衝突ダメージ係数。大きくすると衝突ダメージが入りやすく(壊れやすく)なり、壊した時の反動が小さくなります。
(I)
Collision Damage Effect
衝突ダメージ時の挙動。'200'にするとbreakable(壊れる)設定になります。202で再出現しなくなると説明にありますが、効果がわかりませんでした。
衝突ダメージ時の挙動。'200'にするとbreakable(壊れる)設定になります。202で再出現しなくなると説明にありますが、効果がわかりませんでした。
0:none
1:change_model
20:smash_completely
21:change_then_smash
200:breakable
202:breakable then removed (ie. never regenerated after destroyed)
1:change_model
20:smash_completely
21:change_then_smash
200:breakable
202:breakable then removed (ie. never regenerated after destroyed)
(J)
Special Collision Response Cases
衝突時の反応。'4'にするとフェンスが倒れた時のように土煙があがります。あとは試していないのでわかりません。
衝突時の反応。'4'にするとフェンスが倒れた時のように土煙があがります。あとは試していないのでわかりません。
0:none(default)
1:lampost
2:smallbox
3:bigbox
4:fencepart
5:grenade
6:SWINGDOOR
7:LOCKDOOR
8:HANGING
9:OB_COL_POOLBALL
1:lampost
2:smallbox
3:bigbox
4:fencepart
5:grenade
6:SWINGDOOR
7:LOCKDOOR
8:HANGING
9:OB_COL_POOLBALL
(K)
Camera to avoid this object (0) for no (1) for yes
Playerへの視線がオブジェクトとかぶった時の処理。'0'は何もしない(Playerはオブジェクトに隠れる)。'1'はオブジェクトを回避する(Playerが見える位置まで視点が接近する)。
Playerへの視線がオブジェクトとかぶった時の処理。'0'は何もしない(Playerはオブジェクトに隠れる)。'1'はオブジェクトを回避する(Playerが見える位置まで視点が接近する)。
(L)
Causes Explosion
爆発フラグ。'1'にしておくと破壊した時に爆発音とともに回りのオブジェクトやPEDを巻き込む(エフェクトは別指定)。場合によっては警察が来たり、火災になったりします。爆発のエフェクトは後出の"FX_NAME"で指定。
爆発フラグ。'1'にしておくと破壊した時に爆発音とともに回りのオブジェクトやPEDを巻き込む(エフェクトは別指定)。場合によっては警察が来たり、火災になったりします。爆発のエフェクトは後出の"FX_NAME"で指定。
■FX INFO:Fx(エフェクト)に関する設定。
(FX_TYPE) Type of FxSystem
Fx発生条件。
0:Fxなし
1:ダメージ時に発生
2:破壊時に発生
3:ダメージまたは破壊で発生
1:ダメージ時に発生
2:破壊時に発生
3:ダメージまたは破壊で発生
(FX_OFFSET) Offset of FxSystem
Fx発生地点のオフセット(コリジョン原点が基点)。x,y,zそれぞれ指定できます。
(FX_NAME) Name of FxSystem
Fx名称。dataフォルダの"effects.fxp"ファイルにエントリされているものから名前で指定します。私が試したものは下記です。他にも多くのエフェクトがありますので、いろいろ試してみてください。
water_hydrant:噴水。消火栓を壊した時のエフェクト
explosion_medium:爆発エフェクト(中)
shootlight:火花が飛び散る
riot_smoke:激しい黒煙
explosion_medium:爆発エフェクト(中)
shootlight:火花が飛び散る
riot_smoke:激しい黒煙
■BREAKABLE INFO:破壊に関する設定。(I)Collision Damage Effectが200か202の時に効果があります。
(B-SM) Smash Multiplier
Smash係数。破壊設定にしたオブジェクトは一度に大きなダメージをうけると粉々に砕けます(Smash)が、これはその閾値を決める係数。Smashさせたくない場合は'9999.0'等の極端に大きな値にします。
(B-VX)〜(B-VZ) Break Velocity X〜Z
破片の速度。X〜Yで指定します。大きくするほど派手に壊れます。
(B-VR) Break Velocity Rand
破片の速度。ランダムな成分です。大きくするほど派手に壊れます。
(B_GUN) Gun Break Mode
銃で撃ったときの挙動。1,2に設定すると銃弾1発で壊れます。
0:銃弾1発では壊れない。何発も撃っているとダメージ蓄積で壊れます。
1:銃弾1発で壊れる
2:銃弾1発でSmash(粉々になる)
1:銃弾1発で壊れる
2:銃弾1発でSmash(粉々になる)
(B_SPK) Produce Sparks on Impact
衝突時の火花。0で発生なし、1で発生。効いているんだか良くわかりません。
■コリジョンへの投影
2009.7.26
MEdを使って拙作パンダ1号をマップオブジェクトとして導入してみました。導入時のパラメータは初期設定のままだったのですが、下の図のような状態になりました。
CJの影がパンダ1号に投影されているのですが、メッシュのような模様が浮かび上がっています。これはコリジョンメッシュ(シャドウメッシュではない)の形で、メッシュ自体はパンダ1号の体に隠れるように作っていたのですが、どうやら影表示のためにもともとのコリジョン位置より少し高いところに影生成面がつくられるようです。
テーブルのような四角いオブジェクトならば面上にメッシュ線が乗ることはないので問題ないと思いますが、まるっこいオブジェクトでは四角コリジョンを用いたところで影が不自然になります。
この影をなくす方法のひとつは、コリジョンメッシュの面をすべてフリップする(裏返す)ことですが、調べてみたところ、MEdでオブジェクト表面の設定を変えることができました。私の不学からきたトラブルでしたが、一応設定個所を紹介しておきます。
下の図はMEdでIDEファイルにdff/txdを登録する時の設定画面です。すでに登録済みのものに対しては検索で引っ掛けて"Edit Item"すると設定画面が開きます。ここの赤枠部"Exclude Surface from Culling"(表面を陰線処理から除く?)をチェックしてセーブすればOKです。
上の設定を施した結果が下の画像です。CJの影がパンダ1号に投影されなくなっています。余談ですが耳の部分を見るとパンダ1号自身の影は投影されているのがわかります。CJの影→コリジョンメッシュに投影される/自身の影→オブジェクトメッシュに投影される、ということでしょうか。
.CJの影がパンダ1号に投影されているのですが、メッシュのような模様が浮かび上がっています。これはコリジョンメッシュ(シャドウメッシュではない)の形で、メッシュ自体はパンダ1号の体に隠れるように作っていたのですが、どうやら影表示のためにもともとのコリジョン位置より少し高いところに影生成面がつくられるようです。
テーブルのような四角いオブジェクトならば面上にメッシュ線が乗ることはないので問題ないと思いますが、まるっこいオブジェクトでは四角コリジョンを用いたところで影が不自然になります。
この影をなくす方法のひとつは、コリジョンメッシュの面をすべてフリップする(裏返す)ことですが、調べてみたところ、MEdでオブジェクト表面の設定を変えることができました。私の不学からきたトラブルでしたが、一応設定個所を紹介しておきます。
下の図はMEdでIDEファイルにdff/txdを登録する時の設定画面です。すでに登録済みのものに対しては検索で引っ掛けて"Edit Item"すると設定画面が開きます。ここの赤枠部"Exclude Surface from Culling"(表面を陰線処理から除く?)をチェックしてセーブすればOKです。
上の設定を施した結果が下の画像です。CJの影がパンダ1号に投影されなくなっています。余談ですが耳の部分を見るとパンダ1号自身の影は投影されているのがわかります。CJの影→コリジョンメッシュに投影される/自身の影→オブジェクトメッシュに投影される、ということでしょうか。
■NVC
2009.7.26
Latest : 2009.8.1
ゲーム時間の夜間だけ効果のあるVertex Color("NVC: Night Vertex Colors")の設定方法をGOSUKEさんが解説されています。
この作業をGmaxで行う場合には、GOSUKEさん解説の操作と以下の点が異なるのでご注意ください。参考にさせていただいたのはGOSUKEさんのサイト(参考URL(1))と、KamさんがNVC用ツールを公開されたForumsトピック(参考URL(2))、Gtamodding.com様のフォーマット解説(参考URL(3))です。
上記2点に留意すればGmaxでもNVC設定が可能です。興味のある方はお試しください。
下にNVCをかけたパンダ1号の昼夜比較を掲載しておきます。オブジェクトが夜明るくならないように暗く設定するのが主な使用方法かとも思いますが、わかりやすいように明るくする方向で設定しています。図のようなベタ塗りではなく、部分的に色を変化させたり、陰影を焼きこんだりといったこともことも可能です。機会があれば紹介したいと思います。
<参考URL>
.この作業をGmaxで行う場合には、GOSUKEさん解説の操作と以下の点が異なるのでご注意ください。参考にさせていただいたのはGOSUKEさんのサイト(参考URL(1))と、KamさんがNVC用ツールを公開されたForumsトピック(参考URL(2))、Gtamodding.com様のフォーマット解説(参考URL(3))です。
・Vertex Colorの設定方法
・ツールのGmax対応
→乗り物MODのTipsで解説しましたのでご参照ください。
・ツールのGmax対応
→Kamさんのツール"expNVC"をGmaxで動くように改造したものを本サイト"Download"に置いておきます。
■スクリプトバグ修正(2009.08.01):パネルのデフォルト値が出力に反映されない不具合を修正。以前のバージョンをDLされた方は差し替えてご使用ください。すみませんでした。
上記2点に留意すればGmaxでもNVC設定が可能です。興味のある方はお試しください。
下にNVCをかけたパンダ1号の昼夜比較を掲載しておきます。オブジェクトが夜明るくならないように暗く設定するのが主な使用方法かとも思いますが、わかりやすいように明るくする方向で設定しています。図のようなベタ塗りではなく、部分的に色を変化させたり、陰影を焼きこんだりといったこともことも可能です。機会があれば紹介したいと思います。
<参考URL>
(1)
Night Vertex Color の解説(3ds Max) (GOSUKE FACTORY):http://arikai.com/gtasa/nvc1.html
(2)
Still want Night Vertex Color! (GTAForums.com):http://www.gtaforums.com/index.php?showtopic=246123
(3)
Night Vertex Colors (RW Section) (GTAModding.com):http://www.gtamodding.com/index.php?title=Night_Vertex_Colors_%28RW_Section%29
■Breakableオブジェクト
2009.8.9
CJの家の塀のように、銃で撃ったり車でぶつかったりした時に壊れるオブジェクトがあります。このようなオブジェクトを"Breakable Object"といいます。
マップオブジェクトのパラメータはdataフォルダ下の"object.dat"で指定されます。壊れる/壊れないの設定もここに含まれますが、"object.dat"の設定のみではダメージを受けた時にすっと消えるだけで、バラバラに壊れてくれません(*1)。object.datの各項目の意味については、Tips「object.dat」に簡単な説明を書きましたのでご参照ください。
オブジェクトが壊れた時に分裂するパーツ情報はdffの"Mesh Extension"セクションで設定します。フォーマットについてはGTA Modding様(参考URL(1))でご確認ください。このセクションを設定できるツールを探していたところ、Deniskaさん作の"Mesh Extension エクスポータ"を発見しましたので紹介します(配布元はフォーラム(参考URL(2))、オリジナルスクリプトは3dsMax用です)。
DeniskaさんのスクリプトをGmax用に改造したものを本サイト"Download(exportSectionMeshEXT Gmax版)"に置いておきます。興味のある方はお試しください。
■"Mesh Extension"セクションの効果
■"Mesh Extension"セクションの設定
以上でMesh Extensionの設定は完了です。あとは"Object.dat"にエントリを加えて、マップに導入してください。"Object.dat"への記載項目はDeniskaさんのreadmeに例があります。とりあえず転載しておきますので参考にしてください。object.datの各項目の意味については、Tips「object.dat」に簡単な説明を書きましたのでご参照ください。"Object.dat"内にも簡単な記載があります。
■"Object.dat"の設定例
"xxxxxxxxxx"にdffでオブジェクトにつけた名前を入れ、"Object.dat"に追加します。
以下、Breakableオブジェクトの導入例です。
パンダ1号を銃で撃ったところ。マテリアルごとにバラバラになります。
下は"Object.dat"の"B-GUN"を'2'(Smashable)に設定した場合。確認はしていませんがおそらく"Face"ごとにこなごなになっています。この効果は銃で撃った場合に限りますが、"Mesh Extension"設定不要です。衝突の場合は"Mesh Extension"どおりの効果となります。
車をぶつけてみたところ。以前某動画サイトで「車ボウル」をされていた方がいて、面白そうだったので真似てピンを立ててみました。しばらく遊んでみましたが3ピンが限界でした。けっこう楽しいです。ピンと球のモデルを"download/GTASA 3DMODEL(ボウリングのピンと球)"にアップしましたので、興味のある方はお試しください。
<参考URL>
.マップオブジェクトのパラメータはdataフォルダ下の"object.dat"で指定されます。壊れる/壊れないの設定もここに含まれますが、"object.dat"の設定のみではダメージを受けた時にすっと消えるだけで、バラバラに壊れてくれません(*1)。object.datの各項目の意味については、Tips「object.dat」に簡単な説明を書きましたのでご参照ください。
(*1)"B-GUN"='2'(Smashable)に設定した場合は、銃で撃った場合のみ、以下の"Mesh Extension"設定なしでSmash(粉々になる)効果が出ます(本Tipsの下のほうにある画像参照)。
オブジェクトが壊れた時に分裂するパーツ情報はdffの"Mesh Extension"セクションで設定します。フォーマットについてはGTA Modding様(参考URL(1))でご確認ください。このセクションを設定できるツールを探していたところ、Deniskaさん作の"Mesh Extension エクスポータ"を発見しましたので紹介します(配布元はフォーラム(参考URL(2))、オリジナルスクリプトは3dsMax用です)。
DeniskaさんのスクリプトをGmax用に改造したものを本サイト"Download(exportSectionMeshEXT Gmax版)"に置いておきます。興味のある方はお試しください。
注:オブジェクト破壊後のマテリアル色とNVCが反映されないようですが、テクスチャで着色するようにすれば問題ないと思います。3dsMaxを持っていないので改造時のバグかどうかはわかりません。
■"Mesh Extension"セクションの効果
"Mesh Extension"セクションを設定すると、オブジェクトが破壊された時に以下の動作をするようになります。
希望の効果が得られるよう、適宜サブマテリアルを割り当ててください。詳細はDeniskaさんのreadmeに記載されていますのでご参照ください。
・オブジェクトに設定された「サブマテリアル」ごとにパーツを分割する
・単一マテリアルのオブジェクトは分割されずに転がる
・単一マテリアルのオブジェクトは分割されずに転がる
希望の効果が得られるよう、適宜サブマテリアルを割り当ててください。詳細はDeniskaさんのreadmeに記載されていますのでご参照ください。
■"Mesh Extension"セクションの設定
(1)
"Mesh Extension"セクションを設定したいdffを、Gmaxに「インポート」して読み込む。NVCの時と同じく、一度dffにしてから読み込むことが重要。頂点のインデックス等をdffにあわせる必要があるためです。
(2)
"exportSectionMeshEXT_gmax.ms"を起動。オブジェクトを選択して"export section"ボタンを押す。GTAmax対応ですので、使用する場合は起動しておいてください。使用しないならばGRAB→T2Bです。"UNK"はデフォルトでOKです。
(3)
"RW Analyze"で(1)で使用したdffを開く。"Clump">"Geometry List">"Geometry">"Extension">"Mesh Extension"("Unknown〜[0x0253F2FD]"と表示されているかもしれません)を右クリックし、"Import Secsion Data"から(2)で出力したセクションデータ(拡張子は".bin"になっていると思います)を選択、セーブして終了。
以上でMesh Extensionの設定は完了です。あとは"Object.dat"にエントリを加えて、マップに導入してください。"Object.dat"への記載項目はDeniskaさんのreadmeに例があります。とりあえず転載しておきますので参考にしてください。object.datの各項目の意味については、Tips「object.dat」に簡単な説明を書きましたのでご参照ください。"Object.dat"内にも簡単な記載があります。
■"Object.dat"の設定例
"xxxxxxxxxx"にdffでオブジェクトにつけた名前を入れ、"Object.dat"に追加します。
xxxxxxxxxx, 50000.0, 50000.0, 0.99, 0.05, 50.0, 9999.0, 1.0, 200, 1, 1, 0, 0, 0.0, 0.0, 0.0, none 100.0, 0.0, 0.0, 0.01, 0.07, 0, 0
以下、Breakableオブジェクトの導入例です。
パンダ1号を銃で撃ったところ。マテリアルごとにバラバラになります。
下は"Object.dat"の"B-GUN"を'2'(Smashable)に設定した場合。確認はしていませんがおそらく"Face"ごとにこなごなになっています。この効果は銃で撃った場合に限りますが、"Mesh Extension"設定不要です。衝突の場合は"Mesh Extension"どおりの効果となります。
車をぶつけてみたところ。以前某動画サイトで「車ボウル」をされていた方がいて、面白そうだったので真似てピンを立ててみました。しばらく遊んでみましたが3ピンが限界でした。けっこう楽しいです。ピンと球のモデルを"download/GTASA 3DMODEL(ボウリングのピンと球)"にアップしましたので、興味のある方はお試しください。
<参考URL>
(1)
Mesh Extension (RW Section) - (GTAModding):http://www.gtamodding.com/index.php?title=Mesh_Extension_(RW_Section)
(2)
[REL] Breakable objects (GTAForums.com):http://www.gtaforums.com/index.php?showtopic=269717
■UVアニメーション(1)
2009.8.16
Latest : 2009.8.30
GOSUKEさんのサイトで紹介されていたUVアニメーション(参考URL(1))が面白そうだったので、Deniskaさんのスクリプト(参考URL(2)(3))をGmax用に改造して試してみました。改変スクリプトは本サイト"Download(UVanim_tool Gmax版)"よりDLして下さい。GOSUKEさん、Deniskaさんに感謝いたします。乗り物モデルに適用できたら面白いと思って無理やり設定してみたのですが反映されませんでした。残念。
下の動画と画像はUVアニメを設定したマップオブジェクト例です。パネルモデルはDeniskaさんのサンプルを、アニメーションテクスチャはGOSUKEさんのサンプルモデルを使用させていただきました。ひとコマ0.1秒で6.4秒ループのアニメーションになっています。サンプルとして"Download(UVアニメサンプル)"に置いておきますので、興味のある方はお試しください(注:動画の最後にでてくるアニメは同梱していません)。
■UVアニメーション設定
UVアニメーション設定は、GOSUKEさんサイトの解説どおりにすれば問題ありません。このスクリプトはdffそのものを出力しますのでRWA不要ですが、設定はちょっと面倒かもしれません。下に簡単な流れとGOSUKEさん解説の補足、および注意点を書いておきますので、併せてご参照ください。
■設定の流れ(*部は補足・注意あり)
以上
■補足・注意事項
<参考URL>
.下の動画と画像はUVアニメを設定したマップオブジェクト例です。パネルモデルはDeniskaさんのサンプルを、アニメーションテクスチャはGOSUKEさんのサンプルモデルを使用させていただきました。ひとコマ0.1秒で6.4秒ループのアニメーションになっています。サンプルとして"Download(UVアニメサンプル)"に置いておきますので、興味のある方はお試しください(注:動画の最後にでてくるアニメは同梱していません)。
フレームレート等の細かい設定変更をしなければ、テクスチャ差し替えだけでアニメーション内容を変更できます。dffをいじるのが面倒という方は、GOSUKEさんやDeniskaさんのサンプルモデルや当サイトのサンプルのテクスチャを、好きな画像に変更してみてください。アニメテクスチャの作り方はTips「UVアニメーション(3)」で紹介しますのでご参照ください。
■UVアニメーション設定
UVアニメーション設定は、GOSUKEさんサイトの解説どおりにすれば問題ありません。このスクリプトはdffそのものを出力しますのでRWA不要ですが、設定はちょっと面倒かもしれません。下に簡単な流れとGOSUKEさん解説の補足、および注意点を書いておきますので、併せてご参照ください。
■設定の流れ(*部は補足・注意あり)
(1)
テクスチャの準備(各コマをタイル状に並べる)
(2)
画面部分(アニメーションさせる部分)のUV設定(*1)
(3)
dffにエクスポート(+再インポート)する(*2)
(4)
"TVanimHelper_gmax"を起動
(4.1)
U,Vのコマ数指定
(4.2)
マテリアル選択(*3)
(4.3)
アニメーション時間指定
(5)
"UVanim_tool_gmax"を起動
(5.1)
マテリアル選択(*3)
(5.2)
dff選択
(5.3)
テクスチャ選択
(5.4)
"Append animation"でdff作成
以上
■補足・注意事項
(*1)画面部分(アニメーションさせる部分)のUV設定
UV設定方法を簡単に。GmaxでのUV設定詳細はTips「モデル操作(4)」をご参照ください。他のモデラを併用されている方はそちらで設定されても問題ありません。UVの設定位置(下の(2))にだけご注意ください。
UV設定方法を簡単に。GmaxでのUV設定詳細はTips「モデル操作(4)」をご参照ください。他のモデラを併用されている方はそちらで設定されても問題ありません。UVの設定位置(下の(2))にだけご注意ください。
(1)
まずはUV平面エディタを開く。
(2)
UV平面エディタで用意したアニメ用テクスチャを開き、左下のコマに選択面のUV座標をあわせる。画像はGOSUKEさんのサンプルモデルのtxdから借用しました。画像ではテクスチャの上下が反転していますが、これにはちょっとした理由があります。理由は下で。
■上下反転の理由
タイル画像を作成するには画像編集ソフト等を利用すると便利なのですが、そのようなツールではたいてい左から右、上から下の順でコマが貼り付けられます(UVanim Toolの設定と上下の順が逆)。
ツールを使って並べた画像を使用する場合、タイル張りされた画像を上下反転することでUVanim Toolの順とあわせることができます。この場合、UV座標設定も上下反転しておけば、ゲーム内で上下が正しく表示されます。GOSUKEさんの技です。
タイル画像を作成するには画像編集ソフト等を利用すると便利なのですが、そのようなツールではたいてい左から右、上から下の順でコマが貼り付けられます(UVanim Toolの設定と上下の順が逆)。
ツールを使って並べた画像を使用する場合、タイル張りされた画像を上下反転することでUVanim Toolの順とあわせることができます。この場合、UV座標設定も上下反転しておけば、ゲーム内で上下が正しく表示されます。GOSUKEさんの技です。
(3)
UV設定が済んだら、エディタを閉じ、"Unwrap UVW"を右クリック→"Collapse To"でUnwrap UVWを集約する。
(*2)dffにエクスポート(+再インポート)する
エクスポートする理由は"UVanim Tool"で指定するdffファイルを作成するため。再インポートする理由はUV頂点のインデックスをdffにあわせるためです。
エクスポートする理由は"UVanim Tool"で指定するdffファイルを作成するため。再インポートする理由はUV頂点のインデックスをdffにあわせるためです。
一度インポートしなおしたモデルについては、頂点編集、UV編集、頂点カラー編集を行わない限りdff再インポートは不要です。
(*3)マテリアル選択
"Pick Material"ボタンを押した直後の状態ではマテリアルリストが表示されません。下の左図を参考にチェックボックスを設定し、マテリアルがリストされるようにしてください。
なお、"Multimaterial"を選択してしまうとエラーとなります。(C2)チェックを外してツリー展開した状態でサブマテリアルを選択するようご注意ください。
"Pick Material"ボタンを押した直後の状態ではマテリアルリストが表示されません。下の左図を参考にチェックボックスを設定し、マテリアルがリストされるようにしてください。
なお、"Multimaterial"を選択してしまうとエラーとなります。(C2)チェックを外してツリー展開した状態でサブマテリアルを選択するようご注意ください。
<参考URL>
(1)
マップオブジェクトのテクスチャをアニメーションさせる (3ds Max) - (GOSUKE FACTORY):http://arikai.com/gtasa/uvanim1.html
(2)
[REL] Animatin Texture Tool (GTAForums.com):http://www.gtaforums.com/index.php?s=050f8ba4c9552bd4c713a65df98ce3cc&showtopic=268668
(3)
3dmax script pack (GTAForums.com):http://www.gtaforums.com/index.php?showtopic=277798&st=0
■UVアニメーション(2)
2009.8.16
UVアニメーションに関する小ネタです。
■モニタ部の輝度を上げる
■二つ以上のマテリアルをアニメーションさせる
■UVアニメ設定済みdffのインポート
.■モニタ部の輝度を上げる
頂点カラーの出番です。モニタ画面の頂点を白、その他の頂点をすべて黒に設定すると画面の輝度が上がったようにみえます。NVCはかけなくても良いと思います。
頂点カラーの設定方法は、Tips「乗り物」の「色のつけ方2(VCOL)」をご参照ください。
頂点カラーの設定方法は、Tips「乗り物」の「色のつけ方2(VCOL)」をご参照ください。
■二つ以上のマテリアルをアニメーションさせる
二つ以上のマテリアルをアニメーションさせる場合には、ひとつめのアニメーション設定をしたdffを"Append animation"で出力したあと、ふたつめのアニメーション設定を行い、"UVanim_tool_gmax"でひとつめのdffを読み込んで出力します。このとき、マテリアルの名前がかぶるとエラーとなるのでご注意ください。
下の画像は、二つのマテリアルをアニメーションさせた例です。手前にスモークが走っているアニメが重なっています。アニメテクスチャはDeniskaさんのサンプルモデルを使用させていただきました(DeniskaさんってSmoke好きなんでしょうか)。サンプルファイル中の"running smoke"フォルダにサンプルとして同梱しましたので、興味のある方は試してみてください。
ちなみに3人のスモークのアニメーションがそれぞれ少しずれていますが、このずれは、ひとつのテクスチャ中でアニメーションスタート地点のUVを変えることによって発生させています。Deniskaさんの技です。
下の画像は、二つのマテリアルをアニメーションさせた例です。手前にスモークが走っているアニメが重なっています。アニメテクスチャはDeniskaさんのサンプルモデルを使用させていただきました(DeniskaさんってSmoke好きなんでしょうか)。サンプルファイル中の"running smoke"フォルダにサンプルとして同梱しましたので、興味のある方は試してみてください。
ちなみに3人のスモークのアニメーションがそれぞれ少しずれていますが、このずれは、ひとつのテクスチャ中でアニメーションスタート地点のUVを変えることによって発生させています。Deniskaさんの技です。
■UVアニメ設定済みdffのインポート
UVアニメーションを設定したdffは通常のdffにはないセクションが追加されていますので、KAMSではインポートできなくなります。dff自体を再インポートして編集する場合には、付加したセクションをRWAで消す必要があります(当然のことながらUVアニメーションの設定はやり直しになります)。
とりあえずdffインポートのための操作を書いておきますので、必要になったらご参照ください。
以上です。
とりあえずdffインポートのための操作を書いておきますので、必要になったらご参照ください。
(1)
dffの最初にある"UV Animation Ductionary [0x2B]"を右クリック→"Delete Section"。
(2)
"Material"セクション下にある「"UV Animation PLG [0x135]"を含む"Extension"」を右クリック→"Clear Section"。セクション"UV Animation PLG"または"0x135"で検索すると探しやすい。
(3)
dffの最後のほうにある「"Atomic"下の"Extension"」を右クリック→"Clear Section"。
以上です。
■UVアニメーション(3)
2009.8.16
上のTipsで設定したUVアニメーションサンプル用(GOSUKEさんのサンプルモデルと同じ仕様なのでどちらでも使用可)のアニメーションテクスチャの作り方を紹介します。
サンプルモデルは本サイト"Download/GTASA 3DMOD(UVアニメーションサンプル)"からDLできます。txdを差し替えて好みの画像をアニメーションさせてみてください。
■サンプルモデルのアニメーション仕様
■アニメーション用テクスチャ作成
下は趣味で編集したアニメの画像です。配布は控えますが、画像を並べるだけで簡単にゲームに導入できますので、興味のある方は試してみてください。
.サンプルモデルは本サイト"Download/GTASA 3DMOD(UVアニメーションサンプル)"からDLできます。txdを差し替えて好みの画像をアニメーションさせてみてください。
■サンプルモデルのアニメーション仕様
サンプルモデルのアニメーション仕様は以下のとおりです。これらの値はdff側の設定となります。
・コマ数:64コマ(8x8)
・フレームレート:10fps (64コマ/6.4秒)
・ゲーム内でのアスペクト比:約16:9 (9.6:5.6)
・画像の上下方向:反転
・コマ数:64コマ(8x8)
・フレームレート:10fps (64コマ/6.4秒)
・ゲーム内でのアスペクト比:約16:9 (9.6:5.6)
・画像の上下方向:反転
■アニメーション用テクスチャ作成
(1)
まずアニメーション用画像を準備する。サンプルのコマ割りは8x8なので、64枚のアニメーション用コマを用意します。フレームレートは10fpsなので、それにあわせてコマを選んでください。
(2)
最終的なテクスチャの大きさを決めます。大きさは任意ですが、大きすぎるとtxdが重くなり、小さいと画像が荒くなります(当然ですが)。とりあえずサンプルでは1024x1024のテクスチャをDXT1圧縮で使用しています。ご参考まで。
テクスチャサイズが決まったら、それにあわせて各コマをリサイズします。たとえば1024x1024テクスチャの場合、一コマあたりのサイズは1024/8=128で、128x128になります。
テクスチャサイズが決まったら、それにあわせて各コマをリサイズします。たとえば1024x1024テクスチャの場合、一コマあたりのサイズは1024/8=128で、128x128になります。
(3)
続いて各コマの画像をタイル状に並べます。数十枚の画像を手動でタイル張りするのは辛いので、画像編集ソフトなどを使用することをお勧めします。(*1)。
(重要)一般的なタイリング方向(画像左)と"UVanim Tool"で設定したアニメーション方向(画像右)は上下が逆なので、タイリング後に画像全体を上下反転させます。サンプルモデルは上下反転を前提に作成していますので、手動でタイリングする場合でも、まず画像左の順に並べてから上下を反転させてください。下の画像は見やすくするため4x4にしています。
(重要)一般的なタイリング方向(画像左)と"UVanim Tool"で設定したアニメーション方向(画像右)は上下が逆なので、タイリング後に画像全体を上下反転させます。サンプルモデルは上下反転を前提に作成していますので、手動でタイリングする場合でも、まず画像左の順に並べてから上下を反転させてください。下の画像は見やすくするため4x4にしています。
(*1)
ちなみに私が使用したのは、つのさん作の「画像詰め込み.exe」というフリーソフトです。このソフトを使用される場合、ファイルパスと名前に日本語を使用しないようご注意下さい。作者様に感謝いたします。
(4)
最後にtxdworkshop等を用いて作成したテクスチャをサンプルモデルのテクスチャ「mov_8x8」と差し替えて作業完了です(*2)。DXT圧縮が外れているとファイルサイズがとんでもないことになるのでご注意を。
(*2)
GOSUKEさんのサンプルモデルの場合には、テクスチャ「tr1」と差し替えてください。
下は趣味で編集したアニメの画像です。配布は控えますが、画像を並べるだけで簡単にゲームに導入できますので、興味のある方は試してみてください。
■スクロールUVアニメ
2011.1.16
本Tipsではテクスチャを一定速度でスクロールさせるUVアニメーションの設定方法をチュートリアル動画で紹介します。
先Tipとの違いは、テクスチャをコマ送りで変化させるか連続的にスクロールさせるかの違いで、UVanim toolを使うところは先Tipsと共通です。
.先Tipとの違いは、テクスチャをコマ送りで変化させるか連続的にスクロールさせるかの違いで、UVanim toolを使うところは先Tipsと共通です。
Gmaxでの具体的な操作手順と、SAでの動作例を動画にまとめました。また、チュートリアル用サンプルdffと、動画の最後で紹介している動作例サンプルモデル3種もアップしましたので、必要に応じてDLしてください。
■動画(YouTube)
■動画(YouTube)DotByDotサイズ(別windowで開きます)
■チュートリアル用サンプルモデル
■動作例サンプルモデル(道路/電光掲示板/ピンの詰め合わせ)
■補記
■動画(YouTube)
■動画(YouTube)DotByDotサイズ(別windowで開きます)
<動画に関する注意>
-
説明を"アノテーション機能"で入れていますので、同機能がOFFになっている場合はONにしてご覧下さい。
-
フルスクリーン表示ではキャプチャ文字が拡大され、かえって読みにくい場合があります。その場合、「動画(YouTube)DotByDotサイズ」でご覧ください。
-
説明テキストのスピードが少し速いです。お手数ですが、必要に応じて一時停止してご確認下さい。
■チュートリアル用サンプルモデル
■動作例サンプルモデル(道路/電光掲示板/ピンの詰め合わせ)
■補記
・
アニメーション設定はマテリアル単位で行いますので、アニメーションさせるマテリアルは他の部分と共用しないようご注意ください。テクスチャは共用していても問題ありません。
・
先Tipsでも触れていますが、UVアニメーションを適用したdffには特別なセクションが付加され、KAMSでインポートできません。付加されたセクションをクリアすることでインポート可能になりますが、当然UVアニメーションの効果はなくなります。詳細はTips「UVアニメーション(2)/■UVアニメ設定済みdffのインポート」でご確認下さい。
・
詳しく検証はしていませんが、NVCを設定したdffでは、SA上でUVアニメーションが動作しませんでした。Mexh Extension(Breakable設定)とUVアニメーションは同時に設定することが出来ました。ご参考まで。
・
キャラスキンMODと乗り物MODでもUVアニメーションを試しましたが、SAで効果が反映されませんでした。武器MODは未検証です。
■マップアニメーション
2009.9.5
Latest : 2009.9.8
Deniskaさんのスクリプトパック(参考URL(1))の中には、これまでに紹介した他にも多くのスクリプトが含まれています。その中で気になったもののひとつが、このTipsで紹介するマップアニメーションエクスポータ"anim_export"です。面白そうだったので試してみました。
動くマップオブジェクトは、SA内ではぐるぐる回る看板や、LV北のLas payasadasにある動くニワトリオブジェになど使用されています。このツールもGmax用に改造しましたので、興味のある方は本サイト内"Download(anim_export Gmax版)"からDLしてください。Deniskaさんに感謝いたします。ひょっとしたら普通のifpでも使えるかもしれませんので、試して成功したら報告します。
以下、簡単にスクリプトの使用方法とSAへの導入方法をを説明します。テストで作成したサンプルとgmaxファイルを"Download(マップアニメーションサンプル)"に置いておきますので、よかったらご参照ください。
以上でSAへ導入するモデル(dff)とifpが準備できました。しかしここからがちょっとややこしいです。私が理解していないだけかもしれませんが、MEdではマップアニメオブジェクトを直接配置できないようです。私は以下のように通常マップオブジェクトを使って位置を仮決めして導入しましたが、もっと良い方法があるかもしれません。下記はご参考まで。
■MEdを用いたSAへの導入方法(参考)
以上でマップアニメーションMODの編集〜導入は完了です。上でも書きましたが、今回作成したサンプルを本サイト"Download(マップアニメーションサンプル)"に置きましたので、興味のある方はお試しください。
下の動画は今回テストしたモデルをSAに導入した様子です。動画後半のwuziはおまけです(上記サンプルに同梱)。wuziのほうを見るとわかるのですが、ifpでコリジョンを動かすことは出来ないようです。ちょっと期待していただけに残念。あとマップアニメモデルは影も投影されなくなるようです(なのでサンプルではシャドウメッシュを使用していません)。ご参考まで。
■Movie(YouTube)
<参考URL>
動くマップオブジェクトは、SA内ではぐるぐる回る看板や、LV北のLas payasadasにある動くニワトリオブジェになど使用されています。このツールもGmax用に改造しましたので、興味のある方は本サイト内"Download(anim_export Gmax版)"からDLしてください。Deniskaさんに感謝いたします。ひょっとしたら普通のifpでも使えるかもしれませんので、試して成功したら報告します。
スクリプトの問題ではないのですが、私が試した時はSA内へ導入する際にMEdで直接配置することができなかったので、別の通常マップオブジェクトで位置決めをしてから、作成したアニメーションオブジェクトに変更しました。MEdでの配置方法をご存知の方がおられたら是非教えていただけますようお願いいたします。
以下、簡単にスクリプトの使用方法とSAへの導入方法をを説明します。テストで作成したサンプルとgmaxファイルを"Download(マップアニメーションサンプル)"に置いておきますので、よかったらご参照ください。
■オブジェクト構成
通常のマップオブジェクトはたいていオブジェクトひとつで構成されていますが、アニメーションオブジェクトの場合、動かす部分を別々のオブジェクトにしてリンクさせる必要があります。
下図は今回作成したサンプルのオブジェクト構成。パンダ1号の胴体、顔、しっぽをそれぞれアニメーションさせます。
■アニメーション作成
キャラスキン用のifp作成と操作は同じです。
■スクリプト使用方法
オブジェクトとアニメーションの準備が出来たら、"anim_export_gmax"を起動します。導入方法はスクリプトに同梱したreadmeをご参照ください。GTAmax対応としましたので、KAMS同梱のGTAmax.exeを起動しておけば自動でifpが作成されます。
通常のマップオブジェクトはたいていオブジェクトひとつで構成されていますが、アニメーションオブジェクトの場合、動かす部分を別々のオブジェクトにしてリンクさせる必要があります。
下図は今回作成したサンプルのオブジェクト構成。パンダ1号の胴体、顔、しっぽをそれぞれアニメーションさせます。
(1)
動かない土台部分("base")と、動かす胴体("panda1st_body")、顔("panda1st_face")、しっぽ("panda1st_tail")を、それぞれ別のオブジェクトにします。
(2)
今回は顔としっぽは胴体の動きに追従するよう、"panda1st_body"の子としてリンクさせました。
(3)
全てのオブジェクトがひとつのリンク構成となるよう、ひとつの親オブジェクトを基点としたツリー構造になるようリンクさせます。基点オブジェクトの名前は、出力されるifpのアニメーション名になります。基点オブジェクトはDummy推奨のようです。なお、このツールでは基点のオブジェクトをアニメーションさせることは出来ません。
(4)
(2009.09.08追記) オブジェクトを分割/リンクさせたモデルをdffにエクスポートする。これがマップアニメーション用のdffファイルになります。エクスポート時の注意点は乗り物モデルと同様にオブジェクトをツリー表示から全選択すること、"VCOL"(頂点カラー)をonにすること(DeniskaさんもVCOL推奨です)、マップモデルなのでCOL(コリジョン)をスキップすることです。
■アニメーション作成
キャラスキン用のifp作成と操作は同じです。
■スクリプト使用方法
オブジェクトとアニメーションの準備が出来たら、"anim_export_gmax"を起動します。導入方法はスクリプトに同梱したreadmeをご参照ください。GTAmax対応としましたので、KAMS同梱のGTAmax.exeを起動しておけば自動でifpが作成されます。
(1)
リンクの基点オブジェクトを選択して"get hierarchy selected"を押す。
(2)
"children objects"窓に子オブジェクトのリストが出るので、オブジェクトごとに適宜"skip pos"(POSキースキップ)、"exclude"(ifpに出力しない)を選択。GTAmaxを使用しない場合は"Use GTAmax.exe"を外します。POSキーを使用していない場合はデフォルトでOKです。
(3)
"Export"を押してファイル名を入力するとifpがエクスポートされます。
以上でSAへ導入するモデル(dff)とifpが準備できました。しかしここからがちょっとややこしいです。私が理解していないだけかもしれませんが、MEdではマップアニメオブジェクトを直接配置できないようです。私は以下のように通常マップオブジェクトを使って位置を仮決めして導入しましたが、もっと良い方法があるかもしれません。下記はご参考まで。
■MEdを用いたSAへの導入方法(参考)
(1)
まずMEdを使って、作成したマップアニメモデルの代わりに通常のマップオブジェクトを仮配置します。オブジェクト分割した元モデルがある場合、それを使用すると良いと思います。(*1)
(*1)
仮配置モデルの座標原点(オブジェクトpivot位置)とアニメ用モデルの座標原点(リンク基点オブジェクトpivot位置)を揃えておくと正確に位置あわせが出来ます。(2009.09.08追記)
(2)
次にMEdで仮モデルを登録したideファイルをテキストエディタで開き、仮登録データを"objs"〜"end"行間から"anim"〜"end"の行間に移動します(A1)。
続いて移動した行の項目4番目に「アニメーション名」を挿入(A2)します。アニメーション名は、モデルを作成した時にリンクの基点としたオブジェクトの名前になっています。
続いて移動した行の項目4番目に「アニメーション名」を挿入(A2)します。アニメーション名は、モデルを作成した時にリンクの基点としたオブジェクトの名前になっています。
ideの書式については、GTAmodding様(参考URL(2))が詳しいです。仕様を確認したい方は是非ご参照ください。
(3)
ideファイルをセーブし、仮登録で使用したモデルを本モデルに戻します。
以上でマップアニメーションMODの編集〜導入は完了です。上でも書きましたが、今回作成したサンプルを本サイト"Download(マップアニメーションサンプル)"に置きましたので、興味のある方はお試しください。
下の動画は今回テストしたモデルをSAに導入した様子です。動画後半のwuziはおまけです(上記サンプルに同梱)。wuziのほうを見るとわかるのですが、ifpでコリジョンを動かすことは出来ないようです。ちょっと期待していただけに残念。あとマップアニメモデルは影も投影されなくなるようです(なのでサンプルではシャドウメッシュを使用していません)。ご参考まで。
■Movie(YouTube)
<参考URL>
(1)
3dmax script pack - (GTAForums):http://www.gtaforums.com/index.php?showtopic=277798&st=0
(2)
Item Definition - (GTAModding):http://www.gtamodding.com/index.php?title=Item_Definition