髪色システムをゲームに入れました。
さあ、マップで茂みの表現ができるか試してみよう!
……で、死ぬかとおもった。
想定の255倍はヤバかったというか、途中からなんか古代の天文学みたいなことが始まってヲイこれゲーム製作だよね?って我に返った。
ここらへんややこしい話だから備忘録として日記に書き残しておきます。
まず前回、髪を別パーツ化したわけですが、そのままだと画像の重なり順(Z座標)がおかしなことになるので設定してあげないといけません。
ツクールMVだと画像の重なり順は重複計算ができないので~…って話は以前しましたね。要するにZ座標が使えないので、代わりにanchorを使います。
まあだから、髪パーツも体のanchorに合わせたわけです。
ちなみにanchorでの画面位置調整は少しややこしい。
普通だったら画像を3px動かしたいならy座標に+-3入れりゃいいだけですが、anchorだとドット単位ではなくその画像に対しての比率で動くんです。
例えば縦120の画像を3px上に動かすならanchor.y=1.025。
縦60の画像を3px上に動かすならanchor.y=1.05。
縦120の画像を30px上に動かすならanchor.y=1.25、みたいな感じです。
なんでそんなややこしい事してんの?って話ですが、簡単に言えばドット単位だとMV世界じゃZ座標管理が強制されてしまうので、その法則から外れるにはanchorしかなかったんですね。脱法行為みたいなもんです。脱北みたいな。
まぁ、ここまでは良い。
んで、デフォは茂みを表現するのにキャラチップ矩形を縦に二分割してます。
茂みエリアに入ると本体を消して、同じ体画像を割り当てた上下パーツを作成し、下パーツを半透明にするわけです。
髪パーツも1枚だと茂み表現ができないので、本体に倣って二分割します。
分かりやすく図解すると、こんな感じですね。
透明度の面積で茂みの深さが変わります。
上の例では髪の分割が必要だと分かるようにあえて茂みを深く取っています。
これをやるにはsetFrameで矩形を変えてトリムしなければいけません。
問題は、ここからである。
まだ茂み機能はチェックしたことがなかったので試しにマップでテストしてみたところ、なにやら挙動がおかしい。画像の縦位置が値からズレる。
どうもanchor計算が変わってるようです。
もちろん、矩形が変わるってことは画像の大きさも変わるってことだから比率も変わって当たり前です。しかし変化させた後の矩形の縦サイズで計算しても数字が全く合わない。
まってまって…?これどんな計算してるん?
矩形縦60pxにして画像を上へ6px動かすならanchor.y=1.1じゃないの…?
画像に対しての比率で動くんじゃなかったん…?何で急に法則が変わるねん。
どう再計算されているのか、サッパリ分からないのである。
いろいろ思い付く限り数式を試してみても、一向に掠りもしない。
なぜか矩形を変えると計算が狂う。理由は不明。ググっても分からず。
あの… MVちゃん…? 急にどうしちゃったの?
ねえ… ちょっとちょっと… 怒ってるの? おこなの?
茂み処理ちょっと大変だった? ねえ… お願いだから機嫌直して?
突如ストライキを始めたMVちゃんですが、機嫌は直らない。
こうなってしまったら、どうすれば良いのか。
天に祈るしかないのか。
そう。昔の人々は天に祈りを捧げ、夜空に輝く星々を数えていたものです。
季節によって星の位置が変わることを利用して暦を作っていたのです。
そして昔の人々はこう思いました。
あの星々はどんな法則で動いているんだろう?――――と。
その法則を求めるのに、昔の人はどうしていたのでしょう。
そう。
星空をスケッチして、その位置を答えとして逆算していたんですよ。
地球が止まってる前提で計算したもんだから大変なことになったわけですが。
しょうがねえ…
やるか。
天文学!
変数は縦矩形、画像のズレ(anchor)、ハイト、茂みの深さの4つです。
それらをABXYとした時、Y=A×(B+X)なのかY=A×何か知らん数字×B×Xなのか手掛かりはない。むしろ手掛かりだったものは一旦すべて忘れるべきだ。
まずは1つの変数を母数として値を規則的にズラしながら変数2つを固定。
ゲーム画面をスクショして、何pxズレているかを目視で1ドットずつ数える。
まあ目視でドット数えるっていっても「いーち、にー」って馬鹿正直に数えるんじゃなくて、ちゃんとフォトショのスケール機能を使いましたけども。
そして集めた数字から法則性を見付ける。いわゆる逆算である。
変数を2つも固定してるからこの法則一つで完全な計算式はできませんが、当てずっぽうで数式をエスパーしてるよりかは着実に前進できるはず。
データが多いほど規則性も出しやすくなるから、とにかく物量勝負。
まぁでもね…0,30,80,180...とか意味不明な数字の羅列ばっかよ基本的に。
30,40,49...とかになった日にゃ「これ係数が小数点じゃねえか!」となってアウト(スクショ目視では逆算不可能)。母数を変えて最初から集計し直しです。
0.5ドットとか存在しないからね…
画像のズレを目視したところで四捨五入された値しか観測できないんですよ。
だから変数1つ=画像のズレは完全に信頼できる値ではない。
その状態で変数4つと謎の係数が関わる計算式を見付けないといけない。
気の遠くなりそうな冗談みたいな話ですけど、マジでこの総当たりやってた。日記の最初でなぜ天文学とかいう謎ワードが出てきたのか、理由がこれです。
そもそもこんなおぞましい作業をする羽目になったのは、すべてMVちゃんのZ座標問題のせいです。あいつはどこまで自分を苦しめれば気が済むんや…
こうなったら徹底的にひん剥いて素っ裸にしてギャン泣きさせてやる…
どんな数式に変えてストライキしてるんや?ん?隠してないで見せてみ?
そうやって何度もMVちゃんにキレ散らかし…
「もしかして」と淡い期待を抱いてanchor関連をネット検索しては絶望し…
また計算に戻る日々を過ごしていました。
今日こそは!
…今日も駄目だったよ…
そんな毎日の繰り返しです。
はたしてガリレオは本当に「それでも地球は回っている」と言ったのか?
神が作りし全ての天体(ゲーム)は完全な円運動(数式)で動いているはずだ。
意味のない楕円運動(不規則な数式)などをするわけがない。
そうだ…自分が見落としているだけで、きっと答えは完璧な数式に違いない。
な~んだ、こういう計算してたのか~この係数はきっとこっから来てるんだな~という結末が待っている。そうに決まっている。神はアインシュタインのように都合の良い宇宙定数なんて追加しない…ぜったいだ!
さぁ始めようか天体観測
知らないモノを知ろうとして
Photoshopをのぞき込んだ
そして計算を始めてから数日が過ぎ…
ついに――――
やっと――――
星々の運動を指し示す、たったひとつの冴えた計算式に辿り着きました。
チ。―ゲームの運動について―
美しい…これ以上の芸術作品は存在し得ないでしょう。
でもね。
声を大にして言いたい。
こんなのゲーム製作じゃないやい!
え?
どんな数式だったのかって?
なんか知らん数字いっぱい掛けてたよ…ふざけんな!
1/29までの拍手お返事です。
■ほう…直接ズボンを消すと羞恥心メーターが振り切れて開き直られる可能性が高いから、あえてミニスカートにすることで「パンツは見せちゃ駄目だ…」という心理にさせて動きを制限させようというわけですなぁ…
■原因はきさまか~! ………きさまかー!!(二度目)
■クォータビューのイメージがないFEよりもディスガイア感のほうが強いはずなのに、なぜかディスガイアが出てこなかったんですよねぇ
■まだ本決まりではありませんが、デバフを決めれば決めるほど相手の耐性が獲得されていく感じにする予定です
■黒魔術に「ハローキティ」っていう対象を猫に変える魔術があるよ(違法)
■ハゲキャラの好きな鳥山明先生に励ましのお手紙を!
■FE自体が硬派でシビアな世界観だから見た目アニメキャラいるから~って油断して初プレイすると良い意味でガツンとやられちゃうんですよねぇ
え?タッチペンでイチャイチャちゅっちゅしてたFE?知らない子ですねぇ…
■そうそう、ユノーさんはモロなピンクにならないようにいろいろ苦心した記憶がありますね。桃と紫の中間狙った感じ
■直葬のフリーレン
■ククク…淫乱ピンクは人族だろうが魔族だろうが淫乱ピンクの宿命からは逃れられぬのだ…
■気が早いやつめ!
■今の時代、おもしろ黒人枠を作ったらクレームが来ちゃうというのはエディマーフィーが偉大すぎたゆえの悲劇か…まぁステレオタイプではあるけど
■どんな古事記やねん!
■魔法少女ものだったらアリだったんだけどなぁ
でも作りたいのはFFTとオウガだから
■UI的にも優秀なんですよね、髪色のバリエーションが豊富だと
ただまあ目指してる元ゲームが厳密に守ってたルールだったからちょっとそこは曲げられなかったという
■bitmap画像を合成出力?する処理やプラグインは聞いた事ないですけど、仮にあったとしてもどうかなぁ…MVちゃんって色調変更だけでもヒーヒー言ってるから、それプラス新しい画像を合成出力してね♥とか頼んだらブチギレ金剛さん状態になりそうなんですよねぇ
仮に1バトル20ユニットだと1440×960pxの画像40枚を読み込んで合成して20枚の新規bitmapをコンマ数秒以内に生成ってことに…いや~…こりゃ絶対MVちゃんブチギレ金剛さんだなぁ。色調変更だけでもストライキ寸前なのに…
まぁ髪抜くだけで解決した話だしMVちゃんの機嫌損ねない方向でここはひとつ
■夢遊サイコ食らったショコラの落書きじゃねえか!
■時間が経つのは早いなぁ
■これだからピンクは…(深刻な風評被害)
■舌噛みそうなこと言いやがって…
■雨降って地固まるといいますしドンと来いってなもんですよ(フラグ)
■茶色好きってわけでもなくて単にFFTとかオウガがそれメインだっただけですなぁ。いやまぁ嫌いじゃないですけど(謎のツンデレ)
■2月は短い
ゆえに大事にしていきたい月だ…