マニュアル
オートタイル拡張コモン
製作者 ・ @loive0315
公開日 ・ 2018 9/7
このコモンはオートタイルを疑似的に拡張することができます。
また、現在のオートタイルの状況を取得することや、取得したソースを自身のコモンに使用することもできます。
目次
1.導入方法
2.設定方法
3.タイルの作成方法
4.注意点
6.判定結果のセーブ
このコモンを解凍すると、
SysDB[0]
UDB[0]
UDB[1]
UDB[2]
CDB[1]
CDB[2]
コモンファイル(5つ)
の7つのファイルがフォルダの中に出力されます。
それぞれを上から順番に導入して下さい。
1.システムデータエディタ。0番にSysDB[0]を上書きする。
上書きしたくない場合は右側の画像のようにどこでもいいから「チップフラグ」という欄を追加してください。
2. UDBを開き、空いているタイプにそれぞれをUDB[0]から順番に読み込む。
3. UDBオートタイルマップ別設定を編集する
オートタイルマップ別設定の名前をダブルクリックすると、タイプの内容設定が表示されます。
ではまず、項目名1の下にある無効を押しましょう。
そしてOKを押してしまいます。
その後、もう一度内容設定画面を開きましょう。
そして今度はオートタイルと書かれた場所の下。▼特をクリックします。すると下の画像のようになったはずです。
ユーザーDBのタイプ3番と書かれた場所を見てください。
ここの3番を、UDB[2]を読み込んだタイプ番号に設定してください。設定し終わったらOkを押します。
そして青い円で囲った内容の挿入・削除・コピーの欄に0を入れて、「をコピー」を押します。
そしたらデータを31に変更して、項目名31がコピーした「オートタイル」になるまでひたすら「に貼り付け」を連打します。
あとはOKを押して保存すれば完了です。
4. オートタイル全般設定を編集する
メモ欄に書いてあるData/MapData/を出力フォルダにコピーペーストしてください。
出力の欄は6.で説明します。
5. 可変DBを開き、空いているタイプにCDB[0]から順に読み込む
このようになれば成功です。可変DBは基本設定などをしなくても結構です。勝手に初期化されて、データ数が足りないなら勝手に増えます。
6. コモンイベントの導入
好きな場所にコモンファイルを読み込む(5つ上書きされる)
この際、親子関係(コモン同士の上下関係)を崩さないでください。
7. 文字変数v[5]を開けておく
このコモンは文字列変数v[5]を使用するので、お気をつけください。
以上で実装は終了です。お疲れさまでした。
例としてWOLFRPGEditorにデフォルトで同梱されているチップセットで説明します。
1. マップエディタを開く
ぴぽや様のチップには仮設置用のタイルがあるのでその中の一つを選びます。
現在の選択状況はチップID24。このままテキトウなマップを作ってみましょう。
2.マップを作り終える
このようなマップが完成しました。今は少し意味が分からないと思います。
2. UDBからオートタイル拡張を開く
以下のように設定します。
オートタイルピクチャに変換したいファイルのパスを入力します。1~∞*5のアニメーションに対応しています。
オートタイルに変換するチップIDに、青色の仮設置用タイルのチップIDである24を入力します。
3. UDBオートタイルマップ別設定を開く
このように[-1]無しが乱立すると思います。今回は[0]を選び、オートタイルの変数を操作します。このようになればokです。
これらのオートタイル31個からなる設定を、「プリセット」と呼ぶことにします。
これで、現在のマップのSysDB[0]のチップフラグが0の時は、このプリセットの設定が読み込まれるようになります。
データの個数を増やし、3つにしても、チップフラグが0であればプリセットの0番が読み込まれ続けます。1ならプリセットの1番が読み込まれます。
このままテストプレイしてみましょう。
するとこのようにマップチップの上にオートタイルに変換されたピクチャ群が表示されました。
続けて同じように、オートタイルに変換するチップID欄にチップIDを入力し、オートタイルピクチャにファイルパスを入力していきましょう。それで設定は完了です。
結果としてこうなりました。
タイルは動作していますね。少しみっともないですが。
※ 注意点 ※
このままだとピクチャの下にマップチップが表示されてしまうので、タイルを改造する必要があります。詳しくは後述します。
このコモンを使用するうえでマップタイルに少し変更を加える必要があります。
内容としては
・追加するオートタイルの数だけ専用の空欄を作る必要がある。
ことです。
実際にやってみましょう。
ただし当然先頭にこの処理をするとマップがおかしなことになるので、ある程度今までマップを組んでいた人は末尾にこの処理を行ってください。
ぴぽや様のウディタ同梱のマップチップに改造を加え、2で紹介した画像のようにみっともないことにならないように加工します。
このように先頭に1つ分の空欄を作ります。
この空欄の部分のチップIDをUDBに設定するとマップチップは透明ですがピクチャは表示されるわけですね。
ですがこのままですとどれがどれなのかわからなくなるので、下のように加工しましょう。
オートタイルとして表示するピクチャがマップチップを完全に覆い隠す場合はオートタイル一番下のパターンを挿入しましょう。
透明な部分がある場合は見えてしまう場合があるので見えない程度に小さくしたオートタイルを挿入しましょう。
最終的にこうなります。みっともないところが消えてきれいになりましたね。
エディタ上ではこのように表示されています。
これでマップを作りやすく、また処理したときに表示されなくなります。
あれ?レイヤ1にチップを置いても反応しないぞ?という方へ。
レイヤ1にチップを置いた場合、そのチップはマップチップの下に表示されるように作ってあります。
対策方法としては、コモンイベントを開き、オートタイル拡張[親]の70行目と71行目を編集してください。
編集内容としては
のような感じです。
ここで使用するピクチャ番号を変更できますので是非ご使用ください。ただし、この場合-90000~-80000がレイヤ1のピクチャ番号になります。
また、レイヤはしっかりと上下関係がはっきりするように組んでください。本当に念のために書きますが、-100より0の方が大きいです。
また処理までに時間がかかりますので、暗転させるなどで対応してください。
UDBでしっかり設定したのに、一部が表示されない!という方へ。
本コモンは、UDB「オートタイルマップ別設定」の内容が連続して-1の場合、負荷軽減のため処理を停止させています。
ですので、-1が3つ以上続くと処理は停止されます。
ンガガガガ、重い!!重すぎる!!という方へ。
このコモンではアニメーションにも対応していますが、処理は非常に重いものになっています。
ですので、アニメーションするもの。つまり、海や川などのオートタイルは、ウディタ本体のオートタイル機能で読み込んでください。
コモン側でアニメーションさせる場合は本当にどうしようもなくなった時にほんの少しだけ設定する、いわば最終手段として使ってください。
でなければユーザー側のPCに対する要求スペックが上昇しますし、ウディタ本体の問題として非常に処理落ちしやすくなってしまいます。
自分で言うのもなんですが、このコモンは本家様より優秀な部分があります。
それは、ピクチャとして表示するためにいくつかのアドバンテージを得られるということです。
まず常に得られる恩恵から。
・jpgなどのピクチャもオートタイルとして使用できる。
・使い方によってはレイヤを一つ節約できる。
・オートタイルの数が増える。
次に劣っている部分を。
・ウディタの仕様上Shiftキーによるオートタイル機能解除ができない。
・アニメーションするが、非常に処理が重くなる。
そして、さらに拡張できる部分です。
UDBを開き、オートタイル拡張から変換変数の欄を開いてください。
ここに特定の文字列を入力することで、このコモンは本家に無い機能を搭載できます。
一つずつ紹介させていきます。すべてで5つあり、改行して欄内に入力することですべての効果を発動させることも可能です。
Resize=**
オートタイルのピクチャが32*32だったり、40*40だったり。あるいは80*80の場合でも、ここに一辺の長さを入力すれば勝手にサイズを調整してくれます。
no_ref
オートタイルがマップの端に設置されている場合、オートタイルがマップの外にも続いているようにつながって処理されますが、この式を挟むとその効果を無効化します。
reading
オートタイルピクチャをウディタ本体のメモリにキャッシュします。
RGB=**,**,**
オートタイルに色補正をかけます。0~200から選べます。
Form=**
タイルの表示方式を変更します。0なら通常。1なら加算。2なら減算。
このコモンでは判定結果を.tsdという形式で保存する機能があります。
オートタイル全般設定を開いてください。出力という部分を開くと、
の選択肢が出ると思います。上から説明していきますね。
[-1]出力しない
読み込みもできないし、出力もしない状態です。
[0]常に出力する
マップ移動するたびに出力されます。ただし、もうすでに出力されていた場合は出力せず、読み込みます。
[1]読み込みのみを行う
出力しません。読み込みのみです。読み込めるファイルがない場合は通常通りコモンで判定します。
[2]初期マップのみ
初期マップのみ出力します。ここで言う初期マップとは起動した後に表示されるマップです。
これは開発者向けのオプションとなっており、それ以外は[1]と同じ処理が行われます。
基本は[0]にするととても楽です。なぜなら、配信時は容量を圧迫しないからです。配信後、ユーザーがゲーム内でマップを移動するたびに容量が増えるわけですね。
[1]にすると、例えば「このマップはよく来るから覚えておいてほしい」時などに使えます。特定のマップだけ読み込みが早くなるわけですね。
[-1]は容量重視。処理速度重視。メリットとしては容量を一切圧迫しません。
.tsdファイルはメモ帳にドロップすると開くことができます。
ちなみに
読み込まない場合は処理の負担が少ないがロードに時間がかかる。
読み込む場合は処理の負担が大きいがロードに時間がかからない。
などの違いがあり、どちらもクラッシュしないようにセーフティをかけています。
ただ.tsdのファイルは大量の文字列を読み込むことになるのでユーザーのPCにやや負担がかかります。
連絡先 loive0315.contact@gmail.com
秘密
アニメーションさせるといっても非常に重いですよね。
なのになんで実装したかっていうと、まあ副作用的な物なんですがね。
ちょっと中級者向けになります。
こんな感じの、3つ並んだチップを用意して下さい。
で、並列実行でコモンイベント作って、CDB[0]のプリセットに上のアニメを読み込んだ欄と同じ場所の「現在アニメーション」に、0,1,2。どれでもいいです。入力し続けるようにしてください。
んじゃあ、その入力する数値が0だったら左端の森が。1だったら中央の森が。2だったら雪の森が表示されるようになります。
はい、それだけです。多分、HENTAIな人が使い道を見つけてくれると思います。
とかくこんな感じでこのコモンはいろんな工夫でいろんなことができると思います。
例えば、春夏秋冬を瞬時に切り替えるなんてことも(ウディタ本体でもできますが)できると思いますし、
あ、これ工夫したらクォータービューにもできますね。アニメーションもちゃんとするし。
はい、そんな雑談でした。
ちなみに。
処理回数が1000を超えたら使いすぎですって表示されます。
ネタではなく、このコモンは細部にセーフティがかかっているので、読み込んでみてください。