カベの鏡や足元の水面に主人公たちの姿が映り込む……なんてのもロマンある演出です。
ウディタではすでにハイレベルな鏡面系のコモンが複数ありますので、それらをお借りすれば実現可能ですね(こちらで「鏡」と検索)。
ただ、「主人公の姿が映る鏡を置きたいのは特定のマップだけ」で「データベースの設定をするほどでもない」というちょっとした鏡でいいケースも多いように思います。
その程度ならこちらの足音コモンの応用で作れるかな……?
ということで、試してみました。
ウディタで作りたいプチ鏡の仕様を決める
- 特定のマップにだけある(特定マップでだけ動く並列処理で良い)
- 鏡に映るのは主人公だけ(仲間が居ても映らない)
- 鏡は主人公の上方向にだけある(横や下方向のものには映らない)
- 4方向設定
こんな仕様として、この白いチップを鏡のつもりでやっていきましょう。
まずは、足音コモンの要領で、白いチップ(鏡チップ)のタグ番号を90番としておきます(ユーザーDBの設定を増やして鏡かそうでないかのフラグにする手もあります)
鏡用のコモンイベントをつくる
コモンイベントの骨子
「鏡は主人公の上方向にだけある」と決めていますので、やることは結構シンプル。
- 主人公の位置を常にチェックする
- 主人公のひとつ上の座標が鏡チップか確認する
- 鏡チップだった場合、鏡に映った主人公の姿をピクチャで表示する
おおまかな流れを組み立ててみました。
実際に使う際は、コモンイベントとしての設定は「呼び出しのみ」でOK。
鏡は特定マップにだけあるものなので、鏡のあるマップの並列マップイベントからこのコモンを呼び出せば必要な時にだけ動くようになるでしょう。
主人公の鏡像のピクチャ表示
さて、上の処理だと鏡像は常に真正面で、主人公の向きに対応していません。
パターン番号の指定を適切に行う必要がありますね。
ちょっとややこしくなってきますが、こんな感じ。
左右反転の仕様に合わせて表示座標にも微調整が入っていることにご注意ください。
※キャラチップのパターン番号参考図
おおむね、これで完成です。
鏡像用のピクチャ番号は、求める仕様によりますが、-100ぐらいでよいのではないでしょうか(足音コモンとの兼ね合い込)。
よりそれらしい鏡像の表現方法
さて、上記の方法でおおよそ完成ではありますが、もう少し鏡らしいチップ素材なんかを置いてみると気になることができてきます。
鏡のフチ問題
鏡にはフチがありますが、フチにまで主人公の姿が映ってしまうんですね。
このテスト画像でいうと、黄色部分がフチのつもりなので、ここには主人公は映って欲しくないわけです。
というわけで……
チップ素材を加工して、鏡本体の灰色部分を透過(非表示)にしましょう。
そして、その下のレイヤーはなにも置きません(いちばん左上のカラのチップを設定)。
左がその通りに設定した様子です。右側は上層の鏡チップの透明部分から下のレイヤーが見えている状態。
これで鏡像用のピクチャ番号を、マイナス10万(-100000)に設定すると、こうなります。
狙い通り、フチには映らない鏡になりました。
フチ問題解決の理屈
上のスクショをもういちど見てください。このとき、右の下に草地が透けている鏡の方にいくと、鏡像は出てきません。
厳密には、鏡像は表示されているのですが草地チップの下に隠れています。
同様に鏡像はフチの下側に表示されているので、フチ以外の場所に鏡像が表示されたように見えるわけです。
これは、ウディタでは「ピクチャ番号が-10万以下なら、マップの下、かつ、遠景の上に表示」という仕様になっているため。
つまり、この方法では鏡設定のチップが置かれていて、かつ遠景が透けて見えている場所に鏡像を表示しているわけなのです。
鏡の模様を描きたい場合は、それらしい模様の遠景を作ってこのマップに設定してあげてください。
たとえばこんなのを、マップに合わせた大きさで。