一定期間更新がないため広告を表示しています
F#のサイトでゲーム制作用素材の配布を開始しました。ゲームを制作されている方で、背景とかBGMとかにビミョーにお困りの方は、一度覗いてみてください。
そうそう、先日書いた小さなKAGプラグインも配布してます。
ところで藤川はレコーディングが苦手といいますか、作曲と録音というのはつくづく別スキルなのだなぁと痛感している次第。
プロの制作現場だと、MTRの各トラックに一パート(ドラムなら太鼓ひとつとか)ずつ割り当ててhogehgoeするらしいですが、アマチュアでやってるとそういうわけにもいかず。とりあえず録音前の、シーケンスデータの段階でバランスを調整してミックスダウンしているわけですが、これだと音声データにしたあとにイコライザでしかいじくれないわけで、本当に効率が悪い。や、偉い人ならそれだけでも十分にマスタリングできるんでしょうけどね、その辺が別スキルだと思うわけですよ。
録音の勉強も、少ししないとなぁ。でもまあ、とりあえず聞けないような音質ではないので、よろしかったらお耳汚しにおひとつどうぞ。
ほづみさんがFate/Stay Nightをやっているのを横で眺めていて、ズームを上手く使うことで随分楽しげな演出が出来るということにあらためて気付きました。そこで、いっちょそういうのを作ってやろう、と。今回は拡大縮小表示と、回転表示、部分拡大表示に挑戦です。
といっても、吉里吉里にはもともと画像の拡縮や回転に必要な機能が備わっているので、それを扱うスクリプトを記述すれば万事OKです。拡縮にはLayerクラスのstretchCopyメソッドを、回転には同じくLayerクラスのaffineCopyメソッドを使用します。
さて、これをどういう風に記述するかですが、使い回しをしたいので、HumanSystemクラス同様に、海賊タグを追加することにします。そのためにEXLayerControlというクラスを──ま、そんなに複雑なスクリプトじゃないんですけど。テンポラリレイヤを作る必要があるので、オブジェクトにしてしまった方が後々幸せになれるのです。で、まあそのEXLayerControlを書き、目的は達成できました。めでたし。
ところが、聞けば回転ズームプラグインというものが、既に存在するというではないですか。聞いた時には半分ほど書いた後だったので、結局は全部書きましたけど。でも無駄だったのかなぁと思いながら回転ズームプラグインをダウンロードし、ソースを眺めてみると、使用目的が若干違うような感じで、ひとまず安心というか……。
KAGプラグイン形式にしたものも書いたので、準備が出来次第、F#のサイトで配布します。物好きな方はお試しあれ。
(2004.11.22 追記)
Fate/staynight、でしたね。ごめんなさい。タイトルは正確に。Fateといえば別の場面で「背景がゆらゆらしている」という演出がありまして、ほづみさんに「どうやってるんだろうね」と訊かれましたが、わかるわけありません。本当にどうやってるんだか。技術的なこともそうですが、流石に演出にセンスがあって、素敵です。
今日は珍しく、TJS以外の話題を。
『砂』の世界であるところのガイア連邦共和国というのは、つまるところ未来の地球なんですけれども、ここの舞台設定などは主に藤川が担当しています。というか、最初はヨタ話だったわけなんですが。去年『砂』の題名を唐突に思いつき(大概、私は作品なるものをタイトルから考えるのです)、ほづみさんと一緒にいろいろと相談を始めたんですが、そのときにこの舞台設定を応用というか、もうちょっと正確に言うと流用したという方が近いかな。
まあ流用といっても、他のどこでも使ってないので、初出は初出です。ただ『砂』のために思いついたというわけではないのも、また事実だったりします。『砂』の作品世界に合わせるためにいろいろと調整したり、ほづみさんのアイディアを取り入れたりは、もちろんしてますけど。
で、その後も設定を詰めるためにヨタ話をヨタヨタと続けていたんですが、藤川はともかく最近ほづみさんの頭がこんがらがってきたようで、ここらで何か資料を作らないといけないな、と漠然と考えていました。そんなときに『月姫』発表当時のTYPE-MOONさんのインタビュー記事を偶然読みまして、そうか、用語集か、と。まあひとことで言えば触発されたわけです。触発というより影響のが近いかもしれませんが。
しかしまあ、用語集って作り始めると面白いですね。そのうち資料集みたいな形で出すかもしれないので、設定マニヤな方はどうぞ適当にご期待ください(笑)。
お久しぶりです。藤川です。それにしても、あらためて見てみると……更新の少ないblogだ……。
や、まあそれはともかく。
ほづみさんが書いてましたけど、立ち絵の描画方針が変更になりました。つまり、人物本体と装着品を別レイヤに描画することになったんですけれども、これで二、三日悩んでました。普通に前景レイヤで適当な親子関係を作ってやってると、頭がこんがらがりそうな気がしたからです。皆さんはどうやってるんでしょうねぇ。
とりあえず、KAG的に正当な方法が思いつかなかったので、いっそオブジェクトにしてやることにしました。管理を楽にするためにKAGPluginクラスを継承して、人物本体レイヤとその子レイヤを3枚持つ、HumanSystemというクラスを書きました。年齢がバレますよとか、言いっこなしです。
やってることは至極単純で、4枚のレイヤを管理しやすくしてるだけなんですが、kagオブジェクトをちょっとhogehogeして専用のタグを作ったので、結果としてスクリプトの見通しがかなりよくなりました。バグがなさそうだったら、そのうちF#のサイトで配布する……かもしれません(需要あんのか?)。
ちなみに、KAGPluginを継承したのは、onStoreとonRestoreメソッドが欲しかったからです。ここにレイヤの保存と復帰(これはCharacterLayerクラスのstore/restoreを呼ぶだけ)を書いて、オブジェクトをkag.addPlugin()しておかないと、吉里吉里が栞関連の動作をしたときとか、トランジション時とかに、いろいろ不都合があるんですねー。さらに、MainWindow.tjsのswapCharacterLayerとstopAllTransitionメソッドをオーバーライドして、自前の前景レイヤを処理してやらないと、これまた困ったことになります。具体的には、栞をたどったときに画像が残ったままになったり、スキップ動作がおかしくなったりするなどの現象が起きます。
まあ、詳しくはソースを公開した後に、そっちを適当に読んでいただければ、と。
// プログラムは最高の仕様書である──詠み人知らず