「File-/CNSファイル」の編集履歴(バックアップ)一覧に戻る

File-/CNSファイル - (2015/09/22 (火) 11:15:50) のソース

戻る→[[ファイルの一覧]]
----
:※解説修正情報※|
//●&font(12,b){日付:修正部分の概要}
●&font(12,b){2014-12-04:防御力の補正係数についての検証に伴い、該当する箇所の修正。}
●&font(12,b){2014-10-13:Scaleについて、ProjScaleについても}
●&font(12,b){2013-01-22:ダウン追い打ちに対する防御力上昇について}
●&font(12,b){2013-01-19:押し出し処理について修正。}

----
*■CNSファイル【Constantsパラメーター定義ファイル】
キャラの基本的な性能値や[[T-/Const()]]で呼び出せる情報を設定するファイル。
:注意点|
-ちなみにCNSファイルとしての指定では、ステートは読み込まないので注意。
--ステートを読み込ませたい場合は[[File-/Stateファイル]]の指定もすること。
-なお当たり前のことだがこれらの数値に[[トリガー情報>トリガー情報の一覧]]を入れたりすることはできない。
-必須パラメータが抜けていたり、スペル記述が間違っていたりすると読み込みができずにエラーで落ちる。
--Error message Can't load *宣言名* constants&br()Error in *cnsファイル名*&br()Error loading *DEFファイル*&br()Error loading *プレイヤー位置*
--その時のエラー表示は上記の通り。*宣言名*は[Data]や[Size]などの事。
--必須・必須以外の判別は''※未調査※''だが、そもそも全て記述しておく方が望ましい。

-参考:KFMのCNSファイル説明

----
**CNSの中身
-これらの情報は基本的に[[T-/Const()]]でも参照できる。
--参照する際はConst([]内の文字.パラメーター名)と指定する。
--LifeならConst(Data.Life)という具合。
--ただしFall_Defence_upは、Const(Fall.Defence_Mul)と記述する。
--「X,Y」と指定するタイプは上記の指定に「.X」、「.Y」とつける。
--Jump.Back=X,YならConst(Velocity.Jump.Back.X)など。
--Jump.NeuのYについてはConst(Velocity.Jump.Y)と、Neuが抜けているので注意。
---AirJump.NeuのYもConst(Velocity.AirJump.Y)で参照する。
---NeuのXは、Jump.Neu.X指定で良い。
--Jump.back、Jump.fwd、airjump.back、airjump.fwdは「.X」を付ける必要がある。

:[Data];基本性能データ|
-''Life''=1000;ライフ、体力の最大値。
--実際の体力最大値は[[T-/LifeMax]]で(Win以降のみ)
-''Power''=3000;パワーゲージの最大値。1000で1本分。3000なら3本が最大。
--実施のゲージ最大値は[[T-/PowerMax]]で(Win以降のみ)。
-''Attack''=100;攻撃力基本値、%単位。110で1.1倍になる。
-''Defence''=100;防御力基本値、%単位。200でダメージ半減。
-''fall_defence_up''=50;倒れ時、防御力上昇値。補正値が変動し防御力%単位で(100+上昇値)%引き上がる。
--防御力の補正係数については[[SC-/DefenceMulSet]]を参照。
---なお[[SC-/DefenceMulSet]]を使うとダウン分の補正が消える。&br()恒常的に使うならこの数値は無意味になるので0でもいい。0がいい。
--仮に基本150、上昇50の場合、150を150%するので225相当に。
--上昇のタイミングは5070,5100ステートの!Timeでそのキャラ処理終了時点。
---キャラの処理終了時点なので、その後のキャラがすぐ[[SC-/TargetState]]をしても上昇している。
--補正係数への補正なので立ち直るまでに何度も経由すれば''累積する''。100→150→225→338~とどんどん増える。
--※細かい愚痴じみたことを後述
-''Liedown.time''=60;起き上がり待機の時間。
--倒れ状態になってから1操作(キー入れ,放し含む)ごとに3/4短縮される。
-''AirJuggle''=15;[[Juggle]]用の数値。空中~倒れ追撃の制限。
-''SparkNo''=2;ヒットスパークのデフォルト※通常[[File-/fightfxファイル ]]のアニメを指定
-''Guard.SparkNo''=40;ガードされ時のヒットスパークのデフォルト
-''KO.echo''=0;KOされ時の音声エコー。
-''volume''=0;音声ボリューム設定。0は無音でなく基本値。負数で音量が下がる。推定最小-255~最大255。
-''IntPersistIndex''=60;ラウンドを持ち越すVarの設定
-''FloatPersistIndex''=40;ラウンドを持ち越すFvarの設定
--Varのラウンド持ち越しの設定は「''指定数値以上の番号のVar''」を持ち越す。
--34の設定なら、34,35,36,37,38,39…~…58,59を持ち越す、という具合。
--なおSysvar,Sysfvarは、持ち越せない。ラウンドごとにリセットされる。

:[Size];キャラの大きさの設定|
-''xscale''=1;横・キャラの基本の大きさ(倍率)
-''yscale''=1;縦・キャラの基本の大きさ(倍率)
--この倍率に従い、''判定枠の大きさも変化する''。
--高解像度のキャラを使用する場合はここで0.5を指定するか[[SC-/AngleDraw]]で縮小する。
---[[SC-/AngleDraw]]で縮小する場合、判定枠の処理に要注意。
-''ground.back''=15;キャラの幅・地上後ろ
-''ground.front''=16;キャラの幅・地上前
-''air.back''=12;キャラの幅・空中後ろ
-''air.front''=12;キャラの幅・空中前
--キャラの幅は押し出し判定の基準の他、[[P2BodyDist>T-/P2Bodydist X]]の距離判定にも使われる。
--詳しくは後述
-''height''=60;キャラの高さ(Statetype=S、立ち状態の時)
--Statetype=S以外では上下の大きさはくらい判定と一致するが、&br()StateType=Sの場合、''Heightより上側(-側)にいる相手とは押し出し判定をしない''。
--STateType=S以外ならStateType=CやLでもくらい判定と一致しているので注意。
-''attack.dist''=160;攻撃時、相手がガード始動可能範囲のデフォルト。細かくは[[SC-/AttackDist]]参照
-''proj.attack.dist''=90;[[SC-/Projectile]]のガード始動可能範囲。
--[[ガード]]の始動範囲については該当ページを参照。
-''proj.doscale''=0;Projectileの基本表示サイズの本体サイズ反映設定。
--0の場合1倍を基準に、1の場合CNSのXScale、YScaleを基準として表示倍率を設定する。
-''head.pos''=-5,-90;X,Y系。キャラのおおまかな頭の位置。
-''mid.pos''=-5,-60;X,Y系。キャラのおおまかなあ中心の位置。(基本的に空中時の中心でもある)
--''※このPos系二つは必須数値です、必ず指定しましょう。''
--&font(20,b){※明らかに上手く設定されてないキャラはバグ報告してあげましょう。}
--例の数値はKFMの数値です。これと同じ数値の場合、設定を忘れてる可能性が高いです。
--''※ステートコントローラーで使用される必須数値です。''
---忘れられてることが多いので念を押して強調。
-''shadowoffset''=0;影の表示の基準位置。
-''draw.offset''=0,0;X,Y系。キャラの表示の基準位置
-ちなみに[[SC-/Helper]]では設定でこれらのSIZEを指定できる。
--Attack.dist系とDraw.offsetを除く

:[Velocity];動作速度の設定※[[Commonステート]]などで呼び出す数値|
-''walk.fwd''=2.4;前へ歩く速度。
-''walk.back''=-2.2;後ろへ歩く速度。
-''run.fwd ''=4.6,0;X,Y系。前へ走る速度。
--通常の[[Commonステート]]ではX速度しか使われていない。
-''run.back''=-4.5,-3.8;X,Y系。後ろへ走る速度。
-''jump.neu''=0,-8.4;X,Y系。地上上ジャンプX速度、地上ジャンプ全てのY速度。
-''jump.back''=-2.55;地上後ろジャンプのX速度。
-''jump.fwd''=2.5;地上前ジャンプのX速度。
-''runjump.back''=-2.55,-8.1;X,Y系。後ろ走りジャンプの速度、らしい。
--通常の[[Commonステート]]では使われていない。
-''runjump.fwd''=4,-8.1;X,Y系。
--通常の[[Commonステート]]ではX速度しか使われていない。
-''airjump.neu''=0,-8.1;X,Y系。空中上ジャンプX速度。空中ジャンプ全てのY速度。
-''airjump.back''=-2.55;空中後ろジャンプのX速度
-''airjump.fwd''=2.5;空中前ジャンプのX速度

:[Movement];動作の設定|
-''airjump.num''=1;空中ジャンプをできる回数
-''airjump.height''=35;空中ジャンプの高度。
--AIに空中ジャンプをさせる場合は回数を0に設定し、Varで回数を管理する方が良い。
--詳しくは[[Commonステート]]ページの「Ctrlと基本動作について」を参照。
-''yaccel''=.44;落下加速度。
-''stand.friction''=.85;立ち摩擦係数。
-''crouch.friction''=.82;屈み摩擦係数。
--詳しくは[[VelとPhysics>Vel]]のページを参照。

//-''''=;
----

:■Lv1-キャラ幅と押し出し判定について補足|
-押し出しは「くらい判定同士が重なった場合、互いのキャラの押し出す」という処理。
--基本、設定幅の外まで押し出すのだが、短かったり長かったりする。細かい処理は''※検証不足※''
--仮に設定幅が大きい場合、くらい判定同士が重なった特に一気に離れる。
--くらい判定が設定幅より広くても、設定幅より遠くに押し出すことはない。
--設定幅以内でもくらい判定が重ならなければ、押し出しを行わない。
---くらい判定が存在しない場合、押し出しは行えない。
--相手と自分のどちらかの[[SC-/PlayerPush]]が0の場合は押し出しを行わない。
---押し出しを行わず、相手をすり抜けたい場合はPlayerPushで0を指定すると良い。
-押し出しの左右は「基準位置の左右」で決定される。
--座標軸が重なった場合の押し出しについては[[座標]]のページを参照。
--X速度が大きかったり移動距離が長い場合、基準位置の裏に届き、&br()押し出し判定があるのに相手の裏へすり抜けることがある。
---正面からの裏へのすり抜けはキャラの幅が狭いほど起きやすい。
--HelperのPlayerPushはデフォルトだと0。
---Helperに押し出しをさせたい場合はPlayerPushで1を設定する必要がある。
--味方・タッグ時のパートナー・味方Helperとは押し出し判定を行えない。
-キャラ幅自体は壁とは関係ない。

#region(''■fall_defence_upについての愚痴'')
-当Wikiは愚痴を書く場所ではありませんが、非常に厄介な仕様なので書いておきます。
:■fall_defence_upについての愚痴|
-ぶっちゃけこの数値は「0」に設定されるべき数値です。
--特に仕様再現系であれば、0であってしかるべきはずです。
--しかし「''KFMデフォルトの50の設定がデフォルト化''」しています
--「''変えてるキャラも居ないし、よく分かんないからそのまんま''」なんです。
---慣例化してしまった50がそのまま残っているような状態です。
-しかしこの数値の厄介な所は
--5100(バウンド)を経由すると何度でも重複する。
---何度かバウンドをさせるような追撃の威力が激減する。
--5070(Tripやられ)でも発生する。
---ころばし攻撃から''倒れる前に追撃しても威力が減る''。
---威力の減少は「2/3」とかなり大きく、重複すれば威力は半分以下になる。
--これらの仕様に頭を悩ませる制作者もいますし、
--そういう制作者はなんで0が基本じゃないんだと思ってます。
---基本的に「0」にしようと言った人もいるそうですが。
:しかしながら|
しかしながら全体が50設定である以上、0にする弊害はあります。
他のキャラに比べてダウン追撃への耐久度が無くなるわけであり、
50を想定してダウン追撃専用技の威力を上げてる相手には大きな不利です。
なので、他の方に0にすることを強要することはできません。
大多数が50である以上、50を基本として想定する方が対応範囲は広いわけです。
Target,[[Const(data.fall.defence_mul)>T-/Const()]]から攻撃力を上げる方が楽です。
重複の判定はTarget,[[GetHitVar(FallCount)>T-/GetHitVar()]]で大体わかる。
補正値は:威力/(target,Const(data.fall.defence_mul)**Target,GetHitVar(FallCount))
がタッグなどでは区別できないため、どうしようもない。
:2014/12/4追記・威力補正の欠点|
相手が[[SC-/DefenceMulSet]]を恒常的に使っている場合、ダウン分の補正値は常時リセットされる。
その場合上記計算式による補正を入れると、今度は想定よりも高い攻撃力になってしまう危険がある。
恒常的に[[SC-/DefenceMulSet]]しているならFall_Defence_upが無意味なので、0に設定されていれば問題ないが。
0に設定されているキャラの方が少ないので、不特定に問題を起こす可能性のが高いが。

:どうしてもダウン補正を切りたい場合|
[[ステートを奪え>ステート奪取]]。ただしタッグ時に挙動が怪しくなる危険がある。

#endregion

----