ステージプラグイン制作講座 Chapter4


制作開始『記述全文』

今回はいよいよ制作する段階となります。
ステージプラグインの記述はファイターと違い、 全てdefファイル内で収まるようになっています。というか外部ファイルを参照する記述は
SFFとBGMファイルを対象にしたものだけです。 1つ目のテーブルが例であり全文です。ここと別サイトの全文を比較しつつ熟読すれば大体の意味は
分かるように・・・なるかもしれない(そもそも公式が使ってない記述もある)
2つ目のテーブルは、この後画像制作するに辺り一番使い易いプレーンな状態の記述だけの物です
理解するのを後回しにする場合2つ目をそのままdefファイルにコピペし
一部分だけ書き換えればそのまま使える言わばテンプレです

『;』MUGENでは半角セミコロンがコメントアウトとして扱われ、その箇所から改行するまでの部分は無視されます

↓MSゴシックが入っていると等幅フォントになり少しだけ読みやすくなります
全文

[Info];名前情報
Name	= "StageName"	;ステージ名
author	= "Luneth"	;制作者名 任意(1.0ではこれを参照する記述がある)



;=========================================================================================
[Camera];表示範囲・カメラ追従速度等
StartX		= 0		;カメラ初期位置X座標 普段は0 それ以外の値を設定するとファイターの立ち位置が狂うので変えなくていい
StartY		= 0		;カメラ初期位置Y座標 普段は0 こちらは変えても特に変化は見られない(?)
BoundLeft		= 200		;ステージ横幅(左) 0だと最初のカメラの表示範囲そのまま(320px)で負の値をつけると左に広がっていく
BoundRight	= 200		;ステージ横幅(右) 0だと最初のカメラの表示範囲そのままで正の値をつけると右に広がっていく
BoundHigh		= 50		;ステージ縦幅(上) あくまでカメラの移動限界なのでキャラはふっとばされたりジャンプしたり普通に越えられる
BoundLow		= 0		;ステージ縦幅(下) 普段は0 この値とzoffsetの値で最終的な地面の位置が決まる

VerticalFollow	= 0.8		;ステージ上下移動速度 値が0に近いほど重力が強いように見える(見た目だけジャンプが小さくなる)
;					1より高いと逆にジャンプ力が上がっている様に見える(見えるだけ)
Tension		= 50		;ファイターがどこまで画面端に近いとスクロールするか 値が大きいほど早めにスクロールが始まる
FloorTension	= 70		;ファイターがどこまで高く飛び上がったら縦スクロールするか 値が小さいほど早めに動き出す



;=========================================================================================
[PlayerInfo];ファイターの立ち位置等
;--- Player 1 ---
P1StartX	= -80		;1Pキャラの最初の立ち位置(X軸) 値が0に近い程中央に寄る 普通は負の値
P1StartY	= 0		;1Pキャラの最初の立ち位置(Y軸) 普段は0 値が低い程上からスタートし、一度でも立ち状態から変われば
;					本来の足場の高さに戻る
P1StartZ	= 0		;1Pキャラの最初の立ち位置(Z軸) 普段は0 P2StartZと同じ値にしないとお互いの攻撃が当たらなくなってしまう
;					Z軸はまず紹介しないのでどうしても知りたければMINI43氏の解説を一読
P1Facing	= 1		;1Pキャラの最初の向き 1だと右向きスタート

;--- Player 2 ---
P2StartX = 80		;2Pキャラの最初の立ち位置(X軸) 普通は正の値
P2StartY = 0		;2Pキャラの最初の立ち位置(Y軸)
P2StartZ = 0		;2Pキャラの最初の立ち位置(Z軸) 普段は0 P1StartZと同じ値にしないとお互いの攻撃が当たらなくなってしまう
P2Facing = 1		;2Pキャラの最初の向き -1だと左向きスタート

;--- Common ---
LeftBound		= -2000		;移動可能範囲(左) BoundLeftの数倍くらいが良い ここらへんは複雑なので運送系のファイターで何度も試すのが一番
RightBound	= 2000		;移動可能範囲(右) LeftBoundと同じ値を正の値にした物が良い
TopBound		= 0		;移動可能範囲(上) 0のままが吉
BotBound		= 0		;移動可能範囲(下) 上に同じ



;=========================================================================================
[Scaling];ファイターサイズ
TopZ		= 0	;Z軸の奥基準座標
BotZ		= 50	;Z軸の手前基準座標
TopScale	= 1	;ファイターがZ軸の奥基準座標に居る間の表示倍率 1が等倍 小数点以下も設定可能
;			P1StartZ・P2StartZを変えていない場合、ここを変更することで
;			ファイターのサイズを変えられる
;			(ファイター本体と同じパレットを使っていない画像は変化しない)
BotScale	= 1.2	;ファイターがZ軸の手前基準座標に居る間の表示倍率
;			Z軸移動を行うファイターは片手で数える程しかいないので放置



;=========================================================================================
[Bound];
ScreenLeft	= 15	;画面左端の壁の位置 値が高いほど画面の端より遠い位置までファイターが移動可能
;				スマブラ等のステージなら高めに設定するのも有り
ScreenRight	= 15	;画面右端の壁の位置



;=========================================================================================
[StageInfo];その他情報
ZOffse		= 220		;基準となるZ軸座標 基本的にここを変更してファイターの高さを調整
;					しかし、RC以降はこれが存在しない為位置が変化する場合がある
AutoTurn		= 1		;ファイターが自動的に相手の方向に振り向くか 1で振り向く
;					0にするのも面白いがAIが対処できずサンドバッグ状態になる事が多い

ResetBG		= 1		;ラウンドが終了した際にアニメーションを最初から再生するか 1で最初から
;ZOffsetLink	= 10		;ファイターが特定のレイヤーの上下方向の動きに追従するかどうか
;					必須ではない  使う場合はZOffsetLink	= 割り振ったID

HiRes		= 0		;High-res対応且つmugen.cfgでDoubleRes = 4を指定している場合のみ
;					1にするとレイヤー表示倍率を半分にし鮮明にする



;=========================================================================================
[Shadow];影に関する情報
Color		= 32,32,32	;影の色 それぞれ赤,緑,青に対応し、値は0〜255まで
;					減算で表現される為、普段の真逆の色になる(0,0,0が白い影)
YScale		= .2		;影の縦方向のサイズ 1でファイター等倍 負の値だと上に伸びる
Intensity 	= 32		;影の濃さ 見えない0〜255不透明
Fade.range	= -300,-5		;フェードアウト 光の回折を表現する
;					右の値より高い位置にファイターが行くと影が薄くなっていき
;					左の値の値を越えると完全に見えなくなる

[Reflection]
intensity		= 0		;影『とは別に』反射処理を行う 見えない0〜255不透明
;					普通の影とは違いリサイズ不可



;=========================================================================================
[Music];BGM関係
BGMusic		= stages/sample/BGM.mp3	;BGMとして再生する音声ファイルを指定
;						mugen.exeが入っている場所がカレントディレクトリ

BGMusic.Loop	= 1	;BGMをループ再生するかどうか 1で再生 省略時は1として扱われる

BGVolume		= 0	;本来BGMの音量として取り扱われる筈が バグにより常時255扱いとなる
;				更にin_mp3.dllでmp3を再生している場合、ファイターがBGMを一時停止したり
;				曲が1順しループ再生されるとこの値の分どんどん音量が上がってしまう
;				MUGEN Stage Viewer(後に紹介)では正常動作し 本来通り音量として機能



;=========================================================================================
[BGdef];画像データの取り扱いについて
Spr	= sample.sff	;SFFデータを指定 このDEFと同じディレクトリにある場合はsff名だけで機能する
;				そうでない場合はBGMusic同様mugen.exeがカレントディレクトリ

Debug	= 0		;1にすると僅かながら重くなる 完成後は0推奨だが
;				デバッグのくせに1でも見た目は何も変化していない





;=========================================================================================
;=========================================================================================
;この辺りからレイヤー情報を書いていく


;静止画レイヤーの例
[BG 01];レイヤー宣言 因みに01の部分は必ずしも数字である必要は無く 全角文字も読みこんでくれる
Type		= Normal		;静止画レイヤータイプ 他の種類は下記
SpriteNo		= 1,0		;SFFから呼び出す画像 左がグループ、右がナンバー
LayerNo		= 0		;重ね順 0がキャラより奥 1は手前
;				MUGENでは上に書いたレイヤーから順に重ねられていくがLayerNo=1は優先される
Start		= 0,0		;基準座標 カメラ初期位置の画面上部中央が0,0  左がX座標で右がY座標
Delta		= 2,2		;カメラが移動した際の移動速度 1,1でカメラと真反対に動く(標準) 値が小さいほどカメラについてこようとする
;				ファイターから奥に遠いレイヤー程小さくするのが基本  ちなみにD4の場合D0の倍の値を指定する(1,1は2,2に)
Trans		= None		;透過・合成処理 Noneが通常・Addで加算・Add1は半透明・Subで減算・Addalphaで詳細設定
Alpha		= 64,192		;Trans=Addalphaの時のみ機能 左が明るさ右が半透明度で各自0〜256で細かく設定できる
Mask		= 0		;背景色(その画像の0番色)を透過させるかどうか 1で透過
;				尚 Type=Animだと0と指定しても問答無用で透過される

Tile		= 0,0		;タイルのように画像を複製し並べるかどうか 左は横方向、右は縦方向を1にするとタイリング
				;2以上だと右や下方向、-2以下だと左や上方向のみにその数値分タイリング
;				Type=Parallaxだと0と1以外は全て1として処理される
TileSpacing	= 0,0		;タイリングしている際の画像同士の余白 負の値を入れると少しずつ重なるようになる
Velocity		= 0,0		;画像が常にその値の分移動する 1fにつきその値をpxとして増減させる(px単位だが小数点以下も使える)
Sin.X		= 30,120,0	;X軸方向の反復移動  移動半径(px),周期(f),オフセット(f)だが オフセットは機能していない(=常に0)
;				どうしてもオフセットを設定したい場合 別の機会に紹介するBGctrlでの記述を使う必要がある
Sin.Y		= 15,240,0	;Y軸方向の反復移動  書式はSin.Xと同じだがこちらもオフセットは機能していない

ID		= 0		;BGctrlで制御を加える際に使う 単体では特に意味をなさない
PositionLink	= 0		;1にすると 一つ上のレイヤーのStartとDeltaを引き継ぐ
;				(この状態でこちらのStartを0,0以外にすると、上のレイヤーのStartにその値を足した結果として扱われる)
;				平行移動が行えるだけの記述 同時に動くレイヤーが大量にある際に値の修正を行う箇所を減らせるだけで特に使い道は無い

Window		= 0,0,319,239	;ファイターの表示範囲を制限 開始X,開始Y,終了X,終了Y
WindowDelta	= 0,0		;Windowで定義した範囲の視差 この二つは使うと色々できそうだが戦いにくくなる為あまり表現方法としては好ましくない





;アニメーションレイヤーの例
[BG 02]
Type		= Anim
ActionNo		= 20		;アニメーションナンバー Type=AnimではSpriteNoは使えず、必ずこちらを使う
;				下記のBegin Actionで指定された番号をここに入れて呼びだす

;ActionNo・Tilespacing以外はType=Normalと同じ
TileSpacing	= 200,200		;Type=Animでは余白の基準位置が画像右下では無く左上+1,1になり
;				0,0では大量に表示されとても重くなる(というか使いものにならない)
;				どうしても使う場合は、最低でもそのアニメーションの大きさとほぼ同じ値が必要

[Begin Action 20];ActionNoに渡す番号を入れておく
2,0,0,0,2		;SFFのグループ,SFFのナンバー,追加X座標,追加Y座標,表示時間(f)
2,1,0,0,2
2,2,0,0,2
2,-1,0,0,60		;グループ・ナンバーに-を付ける等してSFFに無い番号を指定すると非表示扱い
LoopStart			;Begin Actionは 一番上から一番下まで処理した後 再び一番上に戻るのが標準
			;これを間に挟んだ場合 一番上に戻らずここから再開する
2,3,0,0,2
2,4,0,0,2,V,S		;表示時間の更に後ろに追加する属性 ,反転,透過合成
;			一つ目はVで上下、Hで左右反転 二つ目はAで加算 A1で半透明 Sで減算 AS??D??は下記
;			この例では『上下反転しつつ減算』
2,5,0,0,2
2,6,0,0,2,,AS160D96	;Trans=AddalphaでAlphaに指定したのと同様で、ASの後に明るさ・Dの後ろに半透明度
2,7,0,0,2
2,8,0,0,-1		;表示時間が負の値だとそこでアニメーションは完全停止する(BGctrlを使わなければこのままずっと停止)





;擬似一点透視図法レイヤーの例 不具合が多い
[BG 02]
Type		= Parallax

;Trans以外はType=Normalと同じ  Transは機能しない

Xscale		= 0.75,1.1	;画像の水平視差
Width		= 225,330	;画像の上辺表示幅と下辺表示幅 省略時はXscaleから自動計算される
YscaleStart	= 100		;カメラY座標が0の時の縦方向表示倍率 100(%)以外の値を使う事はまず無い
YscaleDelta	= 0.5		;カメラが上方向に移動する際 カメラの移動距離1pxごとに画像が下方向に伸びる量(%)
;				この表記の場合 1px上がると100.5% 2px上がると101%になる





;ダミーレイヤーの例 既存レイヤーを一時的に非表示にして影に隠れたレイヤーの動きを確認したり ZoffsetLinkで使ったりする
[BG 02]
Type		= Dummy
;他の記述は全て無視される

簡易版



[Info];名前情報
Name	= "Template"	;ステージ名
author	= "Luneth"	;制作者名



;=========================================================================================
[Camera];表示範囲・カメラ追従速度等
StartX		= 0		;カメラ初期位置X座標
StartY		= 0		;カメラ初期位置Y座標
BoundLeft		= 200		;ステージ横幅(左)
BoundRight	= 200		;ステージ横幅(右)
BoundHigh		= 50		;ステージ縦幅(上)
BoundLow		= 0		;ステージ縦幅(下)

VerticalFollow	= 0.8		;ステージ上下移動速度
Tension		= 50		;ファイターがどこまで画面端に近いとスクロールするか
FloorTension	= 70		;ファイターがどこまで高く飛び上がったら縦スクロールするか



;=========================================================================================
[PlayerInfo];ファイターの立ち位置等
;--- Player 1 ---
P1StartX	= -80		;1Pキャラの最初の立ち位置(X軸)
P1StartY	= 0		;1Pキャラの最初の立ち位置(Y軸)
P1StartZ	= 0		;1Pキャラの最初の立ち位置(Z軸)
P1Facing	= 1		;1Pキャラの最初の向き

;--- Player 2 ---
P2StartX = 80		;2Pキャラの最初の立ち位置(X軸)
P2StartY = 0		;2Pキャラの最初の立ち位置(Y軸)
P2StartZ = 0		;2Pキャラの最初の立ち位置(Z軸)
P2Facing = 1		;2Pキャラの最初の向き

;--- Common ---
LeftBound		= -2000		;移動可能範囲(左)
RightBound	= 2000		;移動可能範囲(右)
TopBound		= 0		;移動可能範囲(上)
BotBound		= 0		;移動可能範囲(下)



;=========================================================================================
[Scaling];ファイターサイズ
TopZ		= 0	;Z軸の奥基準座標
BotZ		= 50	;Z軸の手前基準座標
TopScale	= 1	;ファイターがZ軸の奥基準座標に居る間の表示倍率
BotScale	= 1.2	;ファイターがZ軸の手前基準座標に居る間の表示倍率



;=========================================================================================
[Bound];
ScreenLeft	= 15	;画面左端の壁の位置
ScreenRight	= 15	;画面右端の壁の位置



;=========================================================================================
[StageInfo];その他情報
ZOffse		= 220		;基準となるZ軸座標
AutoTurn		= 1		;ファイターが自動的に相手の方向に振り向くか
ResetBG		= 1		;ラウンドが終了した際にアニメーションを最初から再生するか
;ZOffsetLink	= 10		;ファイターが特定のレイヤーの上下方向の動きに追従するかどうか
HiRes		= 0		;High-res表示



;=========================================================================================
[Shadow];影に関する情報
Color		= 32,32,32	;影の色
YScale		= .2		;影の縦方向のサイズ
Intensity 	= 32		;影の濃さ
Fade.range	= -300,-5		;フェードアウト

[Reflection]
intensity		= 0		;反射



;=========================================================================================
[Music];BGM関係
BGMusic		= stages/sample/BGM.mp3	;BGMとして再生する音声ファイル


BGMusic.Loop	= 1	;BGMをループ再生

BGVolume		= 0	;本来はBGMの音量



;=========================================================================================
[BGdef];画像データの取り扱いについて
Spr	= sample.sff	;SFFデータ

Debug	= 0		;デバッグ





;=========================================================================================
;=========================================================================================



[BG 遠景]
Type		= Normal		;静止画レイヤー
SpriteNo		= 1,0		;SFFから呼び出す画像
LayerNo		= 0		;重ね順
Start		= 0,0		;基準座標
Delta		= 0.5,0.5		;カメラが移動した際の移動速度標準
Tile		= 1,1		;タイルのように画像を複製し並べるかどうか

[BG 足場]
Type		= Normal
SpriteNo		= 2,0
LayerNo		= 0
Start		= 0,300
Delta		= 2,2
Mask		= 1		;背景色を透過するか
Tile		= 1,0





次回、Chapter5では画像制作とそれに使う記述のいくつか例を挙げます
作るのは「遠景」です。なぜ遠景なのかというのはその時に説明します。
Chapter5へ進む(ページ未完成)



TopAboutProfileMugen PluginsTkool XP MaterialBBSLink