Imaginantia

思ったことを書きます

日記 0203

こんばんわ。

お話をします。


えー。まず本日2月3日は落雷さんのお誕生日です。

去年は森のみなさんを巻き込んでお祝いできたわけですが、今年は一昨日に至るまで私が忙しかったので何も出来ませんでした (出来ないことがわかっていました)。

でも「何か」したくて。ただいわゆるプレゼントみたいなのって怖くって。

去年は「ああいうパーティクルとかは作ってなかった」「髪飾りという丁度良いアイテムがあった」点ではすごくよかったんです。モノ的でない価値を含んでいたから、こう…まぁ私には許せたんです。

…でも今となってはもう私があげられるものなんてないじゃないですか。

だからずっと悩んでました。12月くらいから。ずっと答えは出なかった。最後まで出ませんでした。

メッシュ生成で遊んでいた頃はそれで神殿でも建てられたらいいなぁ、とか思ってた。でもSaturataみたいなの作ってもしょうがないから。

まぁでも方向性としてはそうやって…「ワールドを作る」ということを考えはじめたのです。残らない媒体なら解釈は受け取り手の自由なので。

とはいえ良いワールドが気軽に作れるわけもありません。特に相手が相手です。模倣をしたところで (情報的に) 嬉しいものではない。

なにか「未知」をちゃんと持たせてあげたくて。それによって「体験」を提供できたらいいなって。

そこで出てきたのが… パン屋です。

そこそこ技術的でありながら体験的に面白かったので。今の私が再構成したらどうなるかなって思って。

で、Photon Mappingをやるということを考えました。疑似なんですけど。

つまり光が実際に空間を飛び回っている様子を。

そしてこれを「落雷さん」に繋げようと考えて、「雨」を経て、今に至ります。光を雨に見立てて、という話になるのかな。

…降ってる雨は Directional Light が与える「光線」で、建物に当たって跳ね返る。でも通常時は雨のように振る舞って、重力の影響を受ける。

対して「傘」によって明示的な反射が起きる時、それは「光」として認識されて、Photonのようなものが空間に与えられる。

…まぁ、完璧ではないですが許容範囲です。私にとってね。これが他の人にどう思われるのかは、一切わかりません。今もわかりません。

私はこういうことに関してはド臆病なので今回は何も言わずにこっそりこういう形で文章を遺すのみとします。しました。見られても見られて無くても構いません。

「これでいいだろう」とは思えなかったから、結局これは何でもないのかもしれません。でも少なくともそのためだったものであることは事実です。そしてまぁ、大丈夫と信用できるものなんてないのかもしれません。


さて実際のワールド制作に関してですが、まず時間が無くて。1.5日くらいしかなくて。

元々の構想にはマジでPhoton Mappingをやる案があったんですが、まぁとりあえず今は無理ということになって。

モデルも丁寧には用意できない、けど、今回はそれを許容することができるんですね。見せなくても成り立つので。というわけで方針は立って。

2/1で基礎である雨の反射とマップのベースを作って。2/2で残り全部をやりました。なんとかなるもんですね…。

ちなみにタイトルは最初から決まってました。一切「光」のない世界なので、解釈に割り込ませる為に名前を使うことにしたのです。

 

仕組みはこんな感じ (shaderのみ):

  • 上空から Orthogonal Camera で depth と normal を測る
  • その向き (太陽の向き) に雨を降らせる
  • 地面に当たってたっぽかったら反射させる (1回だけ)

まぁこれが前半で。傘関連はこう (udonが9割):

  • 傘の周辺の空間に向かって上空から (太陽の向きに沿って) Raycast
  • 傘に当たったら反射開始、再度Raycastで衝突対象を得る
  • 一定速度で動いていって当たったらパーティクルを生成 (CRT経由)、もっかいRaycast、を繰り返す
  • 衝突対象が無くなったらその光線を忘れる

同時追跡する光線は16個までにしました。あと反射方向は衝突点における Cosine-Weighted Hemisphere にしてます。

今考えたらRaycast普通に無限に走る可能性あるのでやっぱり確率で捨てさせたほうが良い気がしてきた (真面目に計算するときはもちろんそうするんですが…)。

傘のモデルが完成したのが22時くらいだったらしい。そこから傘関連を作り始めたので…うーん。うん。よくやったね。

ちなみにPickupをしているときに限って上記のUdonが走るんですが、こいつは光線を進める処理を含んでいるので、傘を閉じると空中に光線が残るっていう現象がおきます。おきました。

見た目的にはよろしくないんですがまぁめちゃくちゃ見つけづらい傘を多少見つけやすくする側面があったので、そういうことにしました。

 

ワールドのモデルはBlenderでもちもち作りました。

f:id:phi16_ind:20210203034327p:plain

道の建て方はまぁ構想段階で決めて。それに沿って直方体生やして…っていうのが2/1。で、それらをそれっぽくするという作業をしたりしてました。

建物の建て方は一切わからないので手癖100%で作られています。まぁ見られるものではないので…。観測可能ではありますが。

正直これが一番しんどかったと思う。モデリングわからん。わからないことを放置しているからですけど。

細部見られないやろって作ってるのでもだいぶしんどいのに細かいディティールを作れるわけないんですよね。そうだね。

まぁ今回はいろいろと良いテーマになってたんですよ、そういう点でも…。

 

あとまぁ、この頃ずっとワールドが作れない理由の一つでもあった…「音」。

音ほしいですよね。そうですね。もう無かった頃には戻れない…。

まず雨の音は必須です。けどこれってすごい難しいんですよね…。ふと思ってSynthVRでぽちぽち遊んでたりもしてみたけど私は無理でした。

というわけであれは現実世界の音です。どっかで使えるかもなって思って録音したの…去年の4月らしい。ウケる。ほぼまんま使ってます。

で、あとピアノは…Liveをぽちぽちしました。

f:id:phi16_ind:20210203035451p:plain

…なんか違うような気がしなくもない。まぁこれでいけるとおもったのでこれでいってしまった。

これはある程度 Stair54 の影響を受けています。とはいえ元々ピアノのみでまともな感じのが出来たらいいなぁとは思っていたのだけど。

Stair54 が「流れる」感じだったので、逆に「切り取った風景」としての方向性を狙おうと思いました。まぁ音数少ないほうが当然今の私にはありがたいというのはもちろんで。

…で。

たびたび前からピアノぽちぽちはしてたんですが、必ず途中で「嫌」になってたんですよ。それを克服する機会にしたくて。

原因は今日初めて判明しました。強弱を蔑ろにしていたから。薄らそんな気はしていました。何故ならSenselで好きに叩いてるときは嫌にはならないからです。

なので対処法として「Senselをピアノ鍵盤にして強さもちゃんと記録する」というのがあるんですが、私には正確な音程を瞬時に叩く能力はありません。

そこでちょっと前に考えていたのが、「同時に歯笛で音程をOBS経由で記録する」というもので。鍵盤は気持ちで叩いといて、あとからそれを見て上下にずらせばいいかなとか。

思ってたんですが。問題点が2つありました。「正確なタイミングで思うような強さで叩く能力すら無い」こと。そして「上下に丁寧にずらしてくのはめんどい」ということ。

特に後者は、私は音程がすぐはわからないのでKino経由で音程を測る (機能がついています) ことを毎回やらなきゃいけなくて。阿呆かと。

…実際にこういう工程をやっていたんですが、だんだん気づいてくることがありました。

鳴らしてる音程、固定されてきてるし普通に弾けるのでは?

弾けました。

…つまり。なんやかんやありましたが、即興性を捨てれば別に弾けはするんです。指の動きはぐちゃぐちゃですが、「記録」にはまぁなんとかなります。

即興性が欲しかった理由は、私の頭の中で鳴っているなんかよくわからないやつをそのまま出力したかったからです。ですが今回はそこそこ丁寧に組む必要があったので (ループにしたいので) そういうのはあまりよくない。

結果的にはちゃんと弾くものを覚えてぺちぺちしていけばその通り記録できるという。それはそうという結論になりました。

…そしてもう一つ。

これは結局「思うような強さで叩く能力がない」ことの補完にはなっていません。正直バラバラでどうにもなりません。

ということで。普通にvelocityを変更することを覚えました。そうだね。そうなんだよ。これが結局必要なものだったんだよ。

こんないっぱいあるのに…とか思ってましたけどやってみるとどれをどうすべきかってすぐわかる (今回は) ので速やかに割当が出来ました。

で。ついでに毎回操作の記録するのはめんどいので。結果的にはぽちぽち100%となりました。

…そうだね。まぁ正しい成長をしていると思います。はい。

とりあえず「一例」が出来たのでまたそのうち作ることもできるでしょう…。あぁ、まぁこれが他の人にとって良く聴けるのかどうかはよくわかりませんが…。

私は良いと判断しました。特に、めっちゃ短いんだけど私にとってはループさが薄く感じられるというのが良いです。

繰り返しに対する拒絶感みたいなのをずっと持ってたんですが、結局それは「正しく次に到達していない」ことからくるんでしょうね…。

「何故これは良いのか」はよくわかりませんが、少なくとも私には「ずっと聴ける感じ」にはなってます。人に依りそう。

いつかなんか丁寧に解析できるときがくるのかもしれません。しらんけど。

 

そんな感じかしらね…。総じて色々と燻っていたものをどうにかする機会にもなってよかった…。

ずっと何もできてなかったので…。そのせいでこれが良いのかどうかとかも全然わからないんですが、まぁ、楽しんでいただける方が居るだけで十分でしょう…。

これで初めて私は「今年」が始まったような気がします。新年の抱負、の一部でもあるのかもしれない。とは言えこれは具象寄りですけどね…。

…こうやってワールドを作ったときの気持ちを即座に残すのなんだか良いですね。まぁ見てしまった人にとっては驚きが減ってしまうかもですが。

注意書き?書いておくか。まぁ困るような人はいないと思うんですけど…。いや要らんな。お話をしますって書いてあるもんな。

あ、そういえば書いてなかったですが、傘はアパートっぽいところの2階の廊下にあります。Codeカメラで見るとどこからでも見つけられます (建物は映らないようにした)。


はー。はてさて…。明日からどうしていこうかしらね。

まずやることの整理をしないと何も始まらないですね。アレとアレとアレです。あとワールドネタが2つくらいあって…アレで…。

諸々「終わること」からやっていこうとは思うんですけどKinoをいじりたい気持ちはめちゃくちゃ強い…。

まぁ明日は多分十分な時間が取れないので「よくわからないこと」からやっていこうとはおもいます。すぐ終わる?系?

あー、でものんびりぶいちゃをする日もどこかで…いや毎日がそうであってほしいが。

いい感じでいきたいです。はい。

 

久々の長い文章になりました。元気にやっていけそうでよかったです。

では。おやすみなさい。