どこここブログ

10年以上続くナナブルクの日記

水の処理

横スクロールでの水処理といっても色々ある。

カービィの様なカメラが真横からの場合は

何も気にすることなく処理すればいいのだけど

今回の忍屋のようにカメラがちょっと俯瞰からの場合は

奥行きが見えてしまうので、奥行きの中央部分に着水しないと

違和感がでてしまう(下図参照)

そこで、これをどうやって処理すべきなのか

先日えぬさんSkypeで話すことがあったので聞いてみることに。

帽子世界では涙の世界にて、その処理を実装してそうだったし。

聞いてみると、やはり色々と苦戦したようで

VXデフォルトの茂み処理(半透明)を利用するとか

ジャンプ時は別途処理するとか、そんな話を教えてもらったんだけど

詳しい話はきっとあちらのブログで紹介してくれるとして

忍屋の場合、水を加算処理していることもあり

なかなか同じやり方で、とはいかなかった。

それらを踏まえてプログラマさんに相談したところ

忍屋の場合の、簡単な実装方法を教えてもらった。

どういうことかといえば、レイヤー別にわけるってだけなんだけど

上の画像でいう、32px分とそれ以外とで、水の画像を分割するという方法。

 (忍屋での水処理)

考え方はただのレイヤー処理なので、事前にPhotoshopでシミュレートして

実際にツクール上に落とし込んだら、何事もなくうまくいってくれた。

画像でわけてるだけなので、他に何もいじる必要はない。

あとは、水面付近に水タイルを設置して

着水時に水しぶきでもあげればいいんじゃないかといったところ。

忍屋はPLも敵も同じY座標にいるから、この方法で問題ないんだけど

帽子はPT4人がY座標ずれて立ってるので、この方法は使えないんだろう。

もし同じ方法でやるとしたら、PT4人一人ひとりのプライオリティと

水のプライオリティを個別に設定すればできる気がするけど

レイヤー数が増えるのであまりスマートではないかなあ。

まだまだ水処理は始まったばかりだけど

結構心配だったこの部分が無事できて一安心といったところだ。