水面のうねり表現
うねうねとした表現です。今回は主にお仕事用プレゼンの意味合いが大きいです。
AEでこう言う処理をよくさせてたのですが、吉里吉里で出来ないか調べていたらlayerExRaster.dllが転がっていましたのでそれを動かすスクリプトを組んでうねうねさせてみました。
やらせている事は単純です。
水面とそれ以外の部分に分解して水面をラスター処理で動かします。
たったこれだけの事で画面に動きが出るので、演出面ではとても助かります。
ただこのlayerExRasterは横方向へのラスターはいけるのですが縦方向には対応していませんので、後でTJSで作り直すつもりです。
.dllですので元々はc++で組まれていてうちはその技術は無いのですが、幸い中身を読んだ限り単純にサイン曲線を使って行の開始位置を南京玉簾みたいに制御してるだけのようですので処理速度の問題以外同じに作る事はそんなに難しくありません。
あとたぶん試してませんが、ラスター処理したものをアフィンで90°傾けてやれば無理矢理縦ラスターは出来ると思います。(試してませんが、この.dllの仕様を見た限り左右判定やブラーはラスター処理の後に掛けることでちゃんと機能してますのでたぶん可能です)
また現状だと通常状態からぐにゃりとリアルタイムで歪ませるようには組んでいないので、それも同時に組み込むつもりです。
もっとも前回の動画で使ったopacityをなめらかに変化させる自作プラグインがあるので、クロスフェードさせたみたいにじわっと浮き出させる表現は可能なのでとりあえずはこれで良いかなとも思いますが。
このラスター処理と言うのは一見するとSTGくらいしか見かけることが無い効果なのですが、実は思いの外ADVとは相性が良く、演出面においては今回の水面などのように揺れる演出を行う時にかなり効果的です。
他にどう言うものに使えるかはまた追々公開していきたいと思いますが、エロゲ的シーンには結構欠かせない処理に使えたりします。
今回使った色相をリアルタイムで変化させる自作プラグインはlayerExRaster.dll同様にlayerExImage.dllを使ったプラグインなのですが、こちらはたぶん実用には向きません。
と言うのも、こちらはさすがにうち程度では中身を読めるレベルの物ではなかったのでどう言う作りかわかりませんが、この色相変化させる処理に恐ろしくマシンパワーを使ってました。
最初このリアルタイムで色相を変えるプラグインとvideoタグでvideoを動かしてテストしてたのですが(べ、別にコメントアウトし忘れたわけじゃないんだからね!)、動画がコマ落ちしてて驚いて調べたらこのプラグインだけでうちのマシンでCPU稼働率が20%もありました。
もちろん単発の使用にはちゃんと使用に耐えるスピードなのですが、リアルタイムには難しいようです。
Layer.adjustGammaメソッドを試していませんが、もしかするとこちらの方を使って作り直した方が良いかもしれません。
ちなみにlayerExRaster.dllとlayerExImage.dllは共存が難しいようで、同じレイヤーに両方をリアルタイムで処理させると時々そのレイヤー表示が乱れます。
なので、今回は色相変化させるレイヤーの上にラスター処理用のレイヤーを重ねると言う処理をしています。