もう何ていうか問題が発生しすぎで前に進めない。
ちょっとラヴィのダンジョンをナメすぎてた。
てのも、どうすれば幻想的なダンジョンになるか考えて「光る湖の中を進むのが良くね?」と思ったんですよ。
湖の中を進む…ここで先日少しネタにした「水中戦」が出てくるわけです。
水中戦といっても完全に水の中で戦うんじゃなくて、腰くらいの浅瀬で戦う、ようするに水辺戦といいますか。
浅瀬表現にキャラチップの下を半透明にするわけです。
ツクールではデフォルトでキャラチップの下数ピクセルを半透明にする「茂み機能」があります。でもこの茂み機能はいろいろ落とし穴があって、そう容易に使えないんです。
茂み機能はスプライトクラスにプロパティがあってbush_depthと書けば自動で指定のピクセルだけ画像下の透明度を変える便利なものです。これ自体はいいんですけど、問題なのはこの半透明にした画像に反転が反映されないことです。
デフォのキャラチップは右向き左向きが独立してるから問題ないけど、帽子は右向きで画像の反転を使っているからbush_depthのプロパティが使えない。
スプライトクラスは隠されて見れないので推測するしかないんですけど、おそらく指定した画像のコピーを半透明にして画像の下を切り取ってるだけだと思うんですよね。だから画像のコピーまでは反転が反映されないんじゃないかと。
まあ、それなら自分でその画像操作すりゃいいわけなのでこの部分は大丈夫。てかマップチップ使ってないから結局茂み機能なんて使えなかったし。そこはいいんですよ。
問題が戦闘中の処理。
マップキャラのドット絵は一枚のスプライトを表示してるだけだから簡単なんですけど、戦闘中の味方キャラはたくさんのドット絵が集合したものを動かしてるので「下数ピクセルだけ透明度下げる」というのがほとんど無理に近いんですよ。
右手、左手、体、背中のパーツが独立して画像更新しているので、例えばこのキャラに白フラッシュかけようと思ったら4つのパーツそれぞれにフラッシュかけて更新する必要があります。
なんでこんな面倒なことしてんのかっていったら、効率化とZ座標問題のためです。
効率化っていうのは、例えば直立ポーズで武器だけ上に掲げるアクションを作ろうと思ったら手だけその画像に変えればいちいち全体画像を用意せずに済みますし、直立画像だけでたくさんのポーズが用意できるというメリットがあります。
Z座標問題っていうのは、武器を左手に持たせる時に武器のZ座標は体と左手の中間に置く必要があるためです。
このパーツでキャラを構成させるサイドビューシステムは少ない画像数でたくさんのアクションが表現できて、けっこう手ごたえを感じてたんですね。これはイケる、もし帽子が完成したらスクリプト素材で出せればなぁと思ってたくらいだったんです。でもここにきて、パーツシステム最大の弱点が露呈されてしまったというか。
パーツシステムの弱点、それは「透明度の調整」です。
仮にこのツバメの透明度をゲーム上で50にしてみましょうか。
はい、こういうことになります。
体が透けて、向こうの右手や背中パーツまで見えてしまうんですね。
半透明チップが必要なだけなら、体に全体の絵を用意してパーツを消せば問題はないんです。でも今回の茂みのように全体のアクションを通して画像の下だけ半透明にするとなるとどうしても上みたいな処理をせざるをえないんですね。
迷いました。
「茂み機能は諦めて、光る湖を走るマップはやめる」か「何としてもこの半透明問題を乗り越える」か。
で、えぬは「何としてもこの半透明問題を乗り越える」という茨の道を選択しました。ああ、修羅の門をくぐろうじゃないか。
じゃ、どうするか。
あんまり無茶なことはできない。現実的な範囲でどうにかする方法を見付けなければ。
そこで、不自然なスケルトンを避けるんじゃなくて、不自然なものの違和感をちょっと和らげる方法でいこうと思いました。
要は、奥にあるパーツほど透明度を上げれば違和感も減っていくんじゃね?と。
全部のパーツの透明度を同じにせず、背中→右手→体→左手という順番で透明度を下げればどうなるか。
…う〜〜〜〜〜〜ん……
これで……いけるか……?だいじょうぶだろう!うん、たぶん!
うごいてりゃバレないって!透明なの下半身だけだし!
ゲームは背景に色付いてるからもっと違和感減るだろうし!
これでいくしか!
て感じでここ二日は透明度と格闘してました。
でもこの問題をクリアしたお陰で湖マップは何とか諦めずに済みそうです。まあ湖ができるってだけでマップ作りはまた別にいろいろ壁はありますけど…
6/2までの拍手お返事です。
■ありがとっす!毎日コツコツ積み重ねていきたいですね。
スムーズにいかないことも多いけど、それは日記のネタにできると前向きに考えていきます。
■煌きの都市は絵も音楽も最高でしたね。
上手な人はRTPでも歩いてて惚れ惚れするマップを作ったりしますけど、あれって「こんな町歩きたいぜ」って気持ちがあるからこそ作れるのかしら。