Imaginantia

思ったことを書きます

日記 0912

今日はとてもいい一日でした。ここ1週間で一番良い日かもしれない。

まず起きたら酢が復活してた。ありがとうTimeline。ありがとうVRChat。

未だopen-beta内のみではありますが、多分今日起きたら本線で今度こそ復活するんじゃないでしょうか。

曲とか演出とか、もっと色々できるという気持ちになるのはあるのかもしれませんが、少なくともこれは現在に存在していない何かだと思うので。こう、文化遺産みたいなイメージをしています。

それこそ2があるならその繋ぎとして文脈を受け継げるわけで。わくわくね。

実際好きなんですよね。なかなか十分な疾走感のあるVRコンテンツ、無いですから。

…1でこの疾走感ってなると、2ではどうなっちゃうんでしょ。知らんけど。いやまぁこれの亜種でも結構十分かもしれないかしら。

 

起きて元気になったところで何をやったかというとえーっと…タスク整理をしました。どう整理したかは残ってないのでわかりませんが多少わかりやすくなりました。多分。

まぁ大きなタスクが無いというのはありがたいことでですね。ゆるやかな日を過ごせているのです。うれしい。

あ、で、思い立った気持ちでシェーダの整理をはじめました。一応誰でも見れます

どちらかというとモチベーションは「Unlitにおけるgeomのテンプレ」と「Surfaceにおけるvertのテンプレ」が欲しかったという方ですけど。それは同ディレクトリにあります。

おまけで前に落雷さんに教えてもらったSurfaceのSpecular無効化も入れちゃいました。使う機会ありそうなので。

あ、ちなみにこのあとでパーティクルのテンプレも作ったんですけどそういえば上げてないですね。まぁ次に更新することがあれば上げるかしら。

Utilの方はまぁよくあるやつを置いただけです。初めてpmodをちゃんと関数にしました。

Quaternionの演算が置いてあるの、シェーダではあまり見かけない感じはありますが (行列で来るので) 実際問題オブジェクトの回転情報とかを突っ込むときには Vector4 として投げることが多いのでよく使うんですよね。具体的には Amebient のライトシャフトの計算で内部で使ってます。

あとそうね…しょうもない話だけど ei っていう関数名、天才だと思った (?)。わかります、わかりますよね。はい。

なんやかんやとこれからも色々シェーダ書いていく羽目になると思うので、整理できてよかった。いやマジで今更なんだよな。

とはいえ競プロやってたころもテンプレ集めとこって思って延々とやらなかったからわりとこれが出来たことは私にとって変化だったりするんです。そうか?

昔は「もっと良い何か」を目指そうとした結果言語作るところまでやりたくなったわけですが、幸いシェーダはそれが封じられている上にHLSLが良い言語なので選択肢が無くて良いですね。良いです。

これ使ってテストでちょっとモノ作ってみようかなとか思ったけど今日はそうはならんかった。まぁこれは気まぐれです。

 

あとやったのは… あ。これ忘れてました。これはタスク整理の後でシェーダ整理の前です。

わかる人にはわかると思うんですが、Projectorです。以上です。昔から実現可能だとは思っていたんですが実際に作ったことが無かった。

geometry shaderで3頂点のUVをチェックして、完全一致したら視界ジャックで全面に色表示。今回は左半分と右半分ですね。

ということで「特定の物を持ち込んだことを判定する」機構は結構汎用的に作れるわけですが (なにせこの鍵のモデルはそんなこと考えて組んだわけじゃなかった)。

…ここにGetPixelが入るとね。ね。

まぁアレです。今回わざわざこの2種の鍵を持ち込んだのはそういう予定という話はあります。が、今の所その予定を消化する予定はありません。

ちなみにこっちの鍵はまだ誰も持ってないはずです、はい。というか近い人多く居たと思うんだけど未だに出てないのはなんかミスってたりするんかな…。

現状だとモチベーションが無いと思うので特にいいんですが、いつか謎の扉とかを作る機会になったらまぁきっと出てきてくれるかなとか思ってます。願いね。

あ。そういえば昨日はちょっとそういうことを考えつつ†謎解きワールド† (有名処じゃないとこ) をちらっと見てたんだけど色々となるほどになった。なるほどになった。

この話はしないでおきましょう。多分作品で語るべき案件です。まぁ十分文字で語っちゃいましたけど。

 

最後にー、Senselを弄ってました。この前買っちゃったタッチデバイスね。

ぺちぺち鍵盤代わりにしてたのはいいんですがまぁそろそろやるかとおもって。API自体はすごい素直に作られてたのでC++上で動かすのは一瞬だったんですけど。

まぁ最近の傾向というか、GUI作るに当たってまぁWeb側のサポートほしいとか、思っちゃって。WebGLがある以上にCanvasがあるのがでかいと思う。文字描画。

というわけでelectronで動かすべくnodeへのbindingを書く気持ちになったわけですが、別にnodeのbinding書いたことないのでいっぱい調べながらでした。

ある程度古い情報が結構残ってて探すのもめんどくさかった…結局node-addon-apiの公式examplesが参考になるといういつものやつでした。

そんなこんなでごちゃごちゃ書いて一応ちゃんと動いて、指の本数が出せるくらいになったのが上の動画です。順調。

ちなみにリポジトリは普通にここですがまぁ参考になるものはないでしょうね。はい。

あと1日やれば普通にAPIの全定義できるとおもうのでこれ自体はすぐ完成して、本編の音生成器を作ることになれそうです。

…それが問題なんだけど。

まぁでも、楽器にする気持ちで頑張っていきます。いつかライブとかやってみたいよね。

 

その作業を某聴きながらやってたわけですが、終わった後に行ってちょっとお話できて嬉しかったとこもありました。

音楽、よくわからん。ので。あまり話してない (か、めちゃくちゃ抽象的な話しかしてない) んですけど。でもそれでも話が出来るのは音のいいとこでしょうね。

とはいえもうちょっとちゃんと話せるようになりたいので音弄りできるようになりたいですね。段々進んではいる。すごい遠回りだけど。

今の私の状況的にはめちゃくちゃいい調子です。いつかちゃんと出力できるようになるといいですね。他人事。


きょーうーはー(あしたのことですね)。まぁ一般的な感じです。

多分Senselのbindingを書き終えてelectronのcanvasに指の位置表示できるくらいで終わるんじゃないかしら。すごい具体的だな。

まぁ目標というやつです。わんちゃんそこまでいかないかもしれん (electronを触ったことがほぼ無いので)。

やれるだけやっていきます。おやすみなさい。