広告表示切替

エフェクトブースターその他、ビジュアル関連

Publish to anyone
2020-05-10 03:01:34

※エフェブに関しては原理がよくわからずのテスト結果なのであってるか怪しい

・PC画像位置は xが_1から 9,113,217,321,425,529 yは285 幅95高さ130

・透過BMPは背景透明度をアルファチャンネル化して32bitで保存
________________________________________
◆エフェブまとめ (エフェブWIKIからの引用多し https://wiki3.jp/cardwirtheb/name/Top

・エフェブでフェードアウトさせて画面転換する場合エリア移動直前に配置カードが再描画されちゃうのがダサいので、もし移動先が配置カードが無いエリアなら、そこを背景を空にしといて背景継承させ到着イベントでフェードアウト後に移動先の背景を描写するべし 配置カードに全部フラグつけて先にカード消してからフェードアウトより楽

・エフェブで透過画像やMP3は使用出来ない
 (普通の非透過素材を透過表示させる事はできるが)

・普通に背景変更コンテンツ等で拡大表示するとボケるが
 エフェブで拡大すればボケないデカイドット絵で表示できる

・エフェブファイル自体の変更はそれのみ保存すれば即時反映される
 いちいちエディターを動かさなくても編集確認可能

・turn パラメータの挙動 CW 1.50width と height が逆になる (Py では値のまま)
 なので多エンジン対応でturnさせる際は注意 https://wiki3.jp/cardwirtheb/page/15

・[init] セクションに画像加工を指定すると全セクションに影響が及ぶ
一度に全体に指定することができ便利と言えなくもない https://wiki3.jp/cardwirtheb/page/17

・画像を切り取る clip パラメータでは切り取り後の左上ドットが透過色 https://wiki3.jp/cardwirtheb/page/17

・dirtypeパラメータ = ファイルの読み込み先 https://wiki3.jp/cardwirtheb/page/18
1 そのJPYが存在するフォルダ dirtype パラメータのデフォルト値
2 エンジン(スキン)標準のTable画像フォルダ
3 Scheme フォルダ JPYメーカー用のテンプレートフォルダ*1
4 現在のシナリオフォルダ(後述) dirdepth パラメータを併用
5 エンジン(スキン)標準の効果音フォルダ

例えばdirtype=2 
fileName=MapOfWirth.bmp
で、エンジン標準素材のMapOfWirth.bmp表示になる 音なら5

・jpy用の画像・音声をサブフォルダ管理はOKだが、jpy自体はシナリオ直下に置くのが簡単
単に「fileName=サブフォルダ名¥使う画像名.bmp」でOK
このアドレスはjpyの位置が基準になるので、もしjpyがサブフォルダ「エフェブ」フォルダ内だと
「fileName=サブフォルダ名¥使う画像名.bmp」の意味が「fileName=エフェブ¥サブフォルダ名¥使う画像名.bmp」になってしまう。 https://wiki3.jp/cardwirtheb/page/18
実はサブフォルダ置きjpyから別サブフォルダ内を指定のしようが無くはないようだが手間が増えるので省略でjpy自体は直下置きが楽。

・animation(一時描画)を行う上での問題 https://wiki3.jp/cardwirtheb/page/21
①背景変更コンテントではJPY以外のセル描画は後回しになる(※これはアニメに限らないが)
②一時描画の実行後に [init] セクションが通常描画される(デフォルト値なら真っ黒)
③一時描画の実行後にその他のセクションが通常描画される(=アニメのパーツが残る)

・その解決 https://wiki3.jp/cardwirtheb/page/22
①もし背景画を描写した上でアニメしたいなら別コンテンツに分けてツリーの真上に置く
②[init]でbackcolor で単色ベタ塗り(あるいはデフォルト値で真っ黒)し背景変更コンテンツ上でマスクONにする
③各一時描画セクションに、通常描画をさせない「visible=0」を仕込む

・animation(一時描画)jpyは背景変更コンテンツ上でのサイズ指定が無視される https://wiki3.jp/cardwirtheb/page/23
(これを逆手に取ってJPY ファイルを 0*0 ピクセルのセルとして設定する事で上記③を誤魔化す手もある)

・エフェヴで画面を再描画した際、既に済んだ一時描画が繰り返されたり、シナリオ途中で一時描画を含む JPY を背景に含んだ状態でセーブすると、再開時また一時描画を実行してしまう問題の原理と回避はこちら
 https://wiki3.jp/cardwirtheb/page/31
CWとエフェヴの仕様では一時描画した画像が画面再構築時に積層しつつ再生されてしまう

だがWIKIの回避方法も結構手間掛かるので、単純にエフェヴ終了後に背景変更コンテンツで背景継承なしになるようシーンの背景を全て上書きしてしまうのが簡単
________________________________________
◆Jpyの各セクション素材に別のJpyを指定可能である https://wiki3.jp/cardwirtheb/page/29
・Jpy内の画像ファイル指定には、他のJpyを指定できる。ので複数画像を表示するJpyを指定すれば複数画像パーツをアニメさせられる(称号ガチャのダイス

※ここでは、他のJpyを画像素材として指定したJpyを『統合jpy』と呼び、素材として扱われたjpyを『入れ子jpy』と呼ぶ

※以下実験での「おそらく多分」な話
・統合jpy内の素材としての入れ子Jpy内の画像はエディター上のサムネイルでは表示されない。

・素材扱いの入れ子Jpy内は、統合jpy内では音とかアニメとかは無視されて一枚の画像として扱われる。
 後は普通のjpy内での画像素材としての振る舞いと同じ感覚で扱えば良い。
 (入れ子内のセクションで幾つパーツがあってもinitサイズでひとまとめ扱いになる)

・なので例えば統合jpyで、入れ子jpyを位置やサイズ指定すると入れ子まるごとを操作する事になる。

・また、統合jpy内での、入れ子Jpyのマスクも入れ子が統合された一枚絵の左上ピクセルで判定される。
なので左上に描画するパーツを重ねないようにする。しかし、入れ子[init]のbackcolorデフォルト値は $000000=真っ黒なので輪郭線がマスクされてしまうので適当な別色をbackcolorに指定する。Pc撮影画像とかも素材に含める場合はどんな色が使用されてるかわからぬのでドピンクとかにしておくのが無難。

これを利用するテクニックだが、入れ子Jpy内で画像素材を重ねる際に、その[init]のbackcolorと合わせた任意のベタ塗り形態素材を動かせるマスクとして利用可能である。(ややこしいがその画像素材もtransparent=1にしておく)
これを複数の入れ子jpyで位置を少しずつずらして統合jpyでアニメさせればマスク穴が動く。
実用としては例えば魔法の透視で服の下の裸や骨が透けて見える丸い形を動かすとか…
(入れ子Jpyの[init]backcolorをピンクにするなら、同じピンクの任意形態をセクションのマスク用素材とする)
(単にベタ塗り背景の穴から覗かせるなら普通のjpyでOK https://wiki3.jp/cardwirtheb/page/27

・統合jpyでの対応セクションをpaintmode=3にしてalphaを指定すると対応セクション丸ごと透過してゆく
・また入れ子jpy内の個別のセクションのpaintmode=3&alpha指定で部分的に透過度を変える事も一応可能であるが、入れ子jpyの[init]backcolorが透過した色になって表示されてしまう。これは実用的に扱うのはやりにくい… 透過させるパーツと似た色を背景色に指定すれば使えなくもないか…
________________________________________
◆パラメータデフォルト値 https://wiki3.jp/cardwirtheb/page/10
指定されなかったパラメータはデフォルト値を指定されたものとして動作する
(backwidth / backheight / backcolor は[init] 専用のパラメータ)
・backcolor
$000000
・backwidth
632(CardWirthの画面サイズ)
・backheight
420(CardWirthの画面サイズ)
※[init]が全てデフォルト値で良ければ[init]を丸ごと省力しても普通に動く
・width
fileName などで画像を指定している場合はオリジナル画像の幅がデフォルト値
指定していない場合は 0 、つまり何も表示されません。
・height
fileName などで画像を指定している場合はオリジナル画像の幅がデフォルト値
指定していない場合は 0 、つまり何も表示されません。
・position
0,0(画面左上)がデフォルト値です。
transparent
[init]セクションでは0(マスク無効)、その他のセクションでは1(マスク有効)がデフォルト値

________________________________________
◆セクション名について https://wiki3.jp/cardwirtheb/page/12 
CW 1.50 及び CWNext ではセクション名の大文字/小文字を区分しません。つまり red と Red と RED は同一セクション名として扱われます。
CWPy はセクションの大文字/小文字を区分します。つまり red と Red と RED は別のセクション名として扱われます。

・エフェブは同じセクション名が入っていると2つ目以降の内容は全て最初のセクション内容に上書きされるっぽい
なので、繰り返ししたい時はセクション名コピペだけでOK


You have to sign in to post a comment or to favorites.

Sign in with Twitter


@CWLV1
Share this page URL
https://privatter.net/p/5856585

© 2020 Privatter All Rights Reserved.