Butadiene Works

ジンジャエールが飲みたいです@twitter:butadiene121

VRChatを始めて三年が経ちました

VRChatを始めて三年になったので、この一年を少し振り返りました。一年目、二年目については以下の記事に書いてあるのでよかったら読んでください。

butadiene.hatenablog.com

butadiene.hatenablog.com

去年は項目ごとにまとめましたが、今年は一昨年と同じように「時系列」でまとめていけたらなと思います。

去年の今頃

確か研究室への配属が決まったころだったと思っています。二年目の振り返りを書いたころには配属が決まった後だったはずで、なんとか志望のところに入れてよかった、という思いでした。というのも、正直大学2~3年の間にVRChatに極振りしすぎて成績もなかなか怪しい感じだったので... まあ、ただ研究が始まる以上創作に振り切るわけにもいかないですし、なんとなか両立できたら嬉しいなあ、とかそんなことを考えていたように思います。創作的にはHoudiniにはまっている最中だったと思います。確か、NEORTさんの新年企画かなんかで富士山をテーマにしたアート作品を募集していて、Houdiniの練習がてら作品を出した記憶があります。

youtu.be

これはHoudiniとRedShiftで作ったやつのはずで、当時から「これリアルタイムレンダリングでも同じもの作れるでしょ RedShift使う意味...」とか思ってた記憶がありますが、よいHoudiniの練習にはなりました。

あと、当時はtidal cyclesを使ったサウンドライブコーディングにも挑戦してました。結局このあと続いた記憶がないですね... サウンドライブコーディングは全然続けられなかった記憶があります。なんというか、「音の悪さがわかってしまって辛い」「曲を聞きながら作業できないのしんどい」みたいな気持ちがあった気がしますがとどのつまり「向いてなかった」ような気はします...。ただ、音の理論とかは触って面白かった気がするので、また縁が来たら触りたいですね

あと、GLSLライブコーディングもサウンドの流れでもう一回触り始めた形跡があります。2019年の夏ごろに一回やってたんですインプット不足を感じてやらなくなってしまいました。ただ、そんなに質にこだわらなくてもいいかなって思いはじめて、やり直し始めた感じですね。

普通に楽しそう

ただ、自分はサウンドライブコーディング向いてないなあって思い始めてのんびり適当なGLSL触ってる間に周りがサウンドライブコーディングでハチャメチャに盛り上がってるのはちょっとしんどかった記憶がありますね。まあしょうがないのかな...ってすぐに何も思わなくなった記憶もありますが、どうだったかなあ

(1月下旬までは頑張ってtidalやってる形跡が存在する)

2月

2月のトップトピックはVRC技術市ですね。

VRC技術市、もともとは出す気がなかったので申し込んでもいなかったのですが、開場1週間前にふらってプレオープンに訪れたらみみんくさんにたまたまお会いして、「まだ出せるよ? 書かない?」とのお誘いをうけ、1週間で書き上げました。100p超の分量になってしまい、やりすぎたかな...という気持ちも少しありましたが、良いものが出せたかな、とは思ってます(詳しくは本のあとがきを読んでください)

無料で出したんですけど、ありがたいことにたくさんの方からブーストをいただきました。正直言ってめちゃくちゃ助かりました。ほんとありがとうございます...。

それと、この本のサンプルを作る過程でワールドがポコッて生成されました。これです。

このワールド、まあ言ってみればレイマーチングだけでできた何でもないワールドなんですけど、自分としてはレイマーチング単体の表現でワールドとしてなんとか成立できる...?強度を持ったものができたっていうことで本当にうれしかったんですよね。Treehouse in the shadeというレイマーチングの技術の粋を集めたようなワールドがあるんですけど、その憧れのワールドに少しだけ近づけたような感覚があってうれしかったですね。

(ワールドとしてなんとか成立する強度、とは言いましたが、正直最近、というかここ1~2年のワールド高クォリティインフレ事情を見ると全然成立してない気もしますが、まあそれはそれです、はい。)

あとはAlgoraveTokyoを見に行きました。ライブコーディングとかジェネラティブのVJとかがたくさん見れて本当に刺激になりました。

めちゃくちゃすごかった

あと、2月の下旬に詳細は省くんですけど、VJっぽいことする機会があって、そのためのエフェクト量産してたりしました。最終的にvedaでHoudiniで作った映像にエフェクトかけたり、GLSLコードで直接映像出したりとかやったんですけど、とても楽しかったです。

www.youtube.com

あとはエフェクト作った時の記事書いたりとか...

butadiene.fanbox.cc

3月

3月もまたライブコーディングやってた気がします。具体的に言うとこれです。

www.youtube.com

EulerRoom Equinox 2020というイベントでラクトアイスさんとオーディオとビジュアルのライブコーディングセッションをしました。このイベントのために何回かライブコーディングの練習を二人でしたんですけど、どれもすごい楽しかったです。

本番も、いい感じで書けたと思っています。とても良い経験でした。ですけどGLSLのライブ配信エンコーディングとの相性が最悪でコードが配信視聴側からは読めなかったりとか、そのあたりの問題も浮き彫りになりました(そのあたりの話はここにまとめました)。これは後日、思いもよらない形で解決されることになります。

さて、3月のトップトピックはShader1weekCompoですね。もともと3月はKlabExpertCampというイベント(東京開催)に参加してShaderで遊ぶ予定でした。kaneta先生とgam先生にShaderを教わりながらデモづくりができるということですごい楽しみにしていたんですけど、某なにがしの影響で完全に延期になってしまったので、代わりにオンラインイベントを開催してやろう、ということで始めました。経緯等は以下に詳しいですが、1週間でShader作品を作ろう、というイベントです。

medium.com

このイベントを3月に行いまして、自分も参加し下の作品を作りました。この作品は自分の中で結構キーポイントで、初めて「Shaderらしくない」作品を作れた感じがしています。レイマーチングの空気を感じさせないShader作品は自分の中でShadertoyに初めて触れて以降あこがれだったので、この作品をとてもうれしかったのを覚えています。

また、Shader1weekcompo自体もたくさんの方に参加していただいてとても楽しくおわることが出来ました。Shader1weekcompoはこれ以降も避雷さんと一緒に継続的に開催していくことになります。

あと、3月は裏ではFortranとかやってました。数値計算系の研究室に入ったので、数値計算におけるコード設計の基礎とFortranの入門とかしてました。Fortranってオブジェクト指向で書けるってこともこのころ知りました。めっちゃ書きづらかったけど...

f:id:butadiene:20201231182256p:plain
OOPが生まれる前からあった言語だけあって無理やり感が...

4月

4月はRevisonがオンライン開催だったので、それを見たりしていました。デモシーンの皆さんと鯖で一緒に見る機会があったのですが、本当に面白かったです。特に今年は4KとShadershowdownの予選が引くほどえぐい感じになっており大満足でした。自分でもデモを作りたくなったりしました。(いまだに作れてない....)

そして4月はつぶやきGLSLが始まります。

一番最初のつぶやきGLSL

もともとTwitterつぶやきProcessingというものがはやっていて、これは1ツイート以内にコードを収めてProcessingでビジュアルを作ろうというものなのですが、これのShader版ができないかというのがそもそもの発想でした。こちらのツイートがインスパイア元です。

お見かけしたときは、そうだよなあShaderだと文字数足りないよなあと思ってたのですが、意外といけるんじゃないか?と気づいてつぶやきGLSLを思いつくに至ります。 そしたらこれがなんか一部界隈でめちゃくちゃ流行りまして、1週間もたたずにえぐい作品が大量に作られるようになりました...。自分も一応考案者なのですが、開始2週目には完全に追いつけなくなりました。

一応、自分なりのmaxはここでした...

ちなみに、開始1日後にdoxas先生がつぶやきGLSL用のエディタを作成されてます。twigl.appというものです。あまりにも開発速度が速い...(この素晴らしいエディタこそがつぶやきGLSLが流行るきっかけだったと思ってます)

つぶやきGLSLはいまでもえぐい作品を作られている方がちらほらいらっしゃって、いつも語彙を失っています。

あと、つぶやきGLSLのための解説記事を書いたりしました。

butadiene.fanbox.cc

あとは、研究室のほうで並列計算の勉強してました OpenMpi叩いたり...。

5月

初日にとんでもないニュースが飛んできます。

つぶやきGLSL用のエディタである、twiglがライブ配信に対応したのです(???)。これによって、GLSLをライブで行う際のエンコーディング問題が解決することになりました!! GLSLのライブ配信では画面をキャプチャーしてそれを配信しますが、この場合ライブ配信の際のエンコーディングが非常に問題になります。特にGLSLでビジュアルを制作すると画面の変化が激しいことも多く、エンコーディングの結果ノイズまみれになってしまいます。一方でtwiglの配信ではコード内容を送信するのみで、コンパイルも実行もすべて配信側と配信を受け取る側の両方で行うためエンコーディング問題は発生しません(受け取り側にもGPUパワーが必要になりますが)。また、twiglではサウンドShaderも書くことができます。これによって、エンコーディングなしでサウンドライブコーディングとビジュアルライブコーディングのセッションが可能になりました! 嬉しい!!

というわけで翌日には早速やりました。

これ以降らくとあいすさんとちょいちょいセッションさせてもらいました。とても楽しかったです...。

この時の自分は本当に暇さえあればライブコーディング以外でも適当にコーディングしてShaderお絵かきしてたっぽいですね。すごい楽しそう...。

ほぼ全部twigl.appで書いてると思います。気軽に書けるエディタがあるって本当に素晴らしいことなんですね。doxas先生ありがとうございます...。

さて、そんな中でも配信しながら書いた1枚が飛び切りの出来になりまして

Unityに移植してそのままVRChatに持っていきます。楽しいね。

ワールドとして公開したところ、たくさんの方に来ていただきました。ありがたい...。

さて、5月には第2回のShader1weekCompoを行いました。今回は前回と違ってだれでも参加できるようにしました。参加人数も増えてとてもありがたかったです。

自分は初めてWEBGLで作品作りをしました。WEBGLJavaScriptとかほとんどわからなかったので本当に手探りだったので、これもまたdoxas先生の神サイトであるwgld.org を見ながら勉強しました。その結果何とか作品に仕上げられました。

初めてDeferred Renderingに挑戦した作品でもあります(というかDeferred RenderingがやりたくてWEBGLに手を出した)。大変でしたが、たくさん勉強になった作品でした。

ちなみに、後日法線をそのまま色合いにつかったらすごいいい感じになりました ウケる

5月の終わりには、今まで使ったエフェクトを使ってVJをオンラインでしました。楽しかった...。 DJは鴨居さんで、めちゃくちゃ最高でした。ご一緒させてもらえてうれしかったです...。

6月

6月第一週にこれを買ってしまいました。

ずっと買いたかったのですが、高くて躊躇してました(1万5千円ぐらい?)。買えてとてもうれしかったのですが、このまま眠らせておくにはもったいなさすぎたので輪読をしようかなと思って募集したところ、sp4ghetさんが声をかけてくださり、週1のペースで輪読が始まりした。量が多すぎて今(2021年1月)でも続いています(ちょうど半分折り返したぐらい)。sp4ghetさんにプログラミングやグラフィック方面のいろいろな話を聞かせていただいたりもできて本当にいい会になってます。ありがとうございます。というか1人だったらここまで続いてなかった...。 頑張りたいですね。

7月

院試の勉強を始めました。の正直こちら側の進捗がほぼ無ですね。1weekcompoがあったのでちょっと風鈴を作ったりしました。

8月

院試がありました。大変でした()。 ずっとVRChatのパブリックに立って雑踏を聞きながら勉強してました。意外と勉強がはかどって面白かった記憶があります。

VRChat、正直2019年の後半~2020年の前半はあんまりinしてなかった(週1ぐらい?)と思うんですけど、この頃から作業部屋としてすごいinするようになります。自分の性格?として多少なりとも雑音がある状態のほうが作業に集中できるんですよね。ですけどもこのご時世でカフェとかに行く気もしないし、なにより自宅の作業環境で作業したいのはそれはそうなので、VRChatを作業部屋として本格的に使うようになっていった気がします(もともとそれなりに作業部屋扱いでしたが、院試勉強の辺りから加速したと思います)。

院試が終わってからは(無事受かりました)SRPを一から書く勉強をしてました。

でも結局これも途中で終わっちゃいましたね。またやりたいなあ。

9月

KlabExpertCampがオンラインでありました。3月のやつが延期になったあれですね。作品を作る感じのCampだったので、4日間の製作期間でパストレに挑戦してみました(無謀すぎる)。パストレ書くの初めてだったのですが、どうにか2日でコーネルボックスまでたどり着けました

残り2日でなんとかパストレを使った2分弱の作品に仕上げました。

youtu.be

この時の様子はブログに詳しく書きました。

10月

記憶にあるのは大学の研究に関する発表会があったことなのでそれをずっとやってたと思います(これの関係で1weekcompoに出せませんでした)。それが終わった後はC++の勉強をし始めてた気がします。C++を使う気配があったので...

あとTENET見た気がする。

それと、1月のGLSLスクールでのライブコーディングを見据えて久々にらくとあいすさんとライブコーディングセッションしたりしました。らくとあいすさんの音はいつも最高です。

11月

11月は研究をやってたような気もするんですが、あんまり進んでる記憶がないです。不思議ですね。でもすごい忙しかった記憶があります。論文読んだり、発表の準備したりしてました。オンラインで開かれる色々な学会に行ってみた気がします。学会、難しいですね。英語わかるようになりたいです。 あとは身内向けにライブコーディングする機会があったのでちょっとやったりとか....

ライブコーディング、進捗がないときに数時間取ると進捗が湧いた「気分」になるので便利ですね。まあ気分だけですが...

あとFlashがなくなるらしいので天国の塔をプレイしたりしました。とても良かった...。

12月

GLSLスクールで発表をさせていただきました!

この講義、自分なりに結構頑張ったつもりです。とくにインターネット情報で不足しがちな「レイマーチングで球を出したり、箱を出したりした後、どうやって作品に仕上げればいいかわからない」という問題に焦点を当ててさせていただきました。機会をくださったdoxas先生に感謝します。

年末年始はひたすら研究用のC++コードを書いていました。インターネット一般でいうところの「完全に理解した」までもう少しのところまでは書けるようになったんじゃないかなと思います(つまりまだまだです)。頑張っていきたい。C++、本当にわからなかったのでtwitterやVRChatでたくさん教わりました。正直言ってめちゃくちゃ助かりました。本当にありがとうございます🙏🙏🙏

1月(2021年)

年明けにShader1weekcompoがあったので、オーロラを書いたりしました。

このオーロラ、上から見ても下から見ても写真で見た感じにちょっと近い感じのものができて、嬉しかったです。(上から用、下から用とかではない)

中にも入れるのでいずれVRに持って行って遊んだりしたいですね。

あと、GLSLスクールでライブコーディングを披露する機会がありまして、らくとあいすさんと一緒にやってきました。らくとあいすさんとのセッションはいつも本当に楽しいです。ありがとうございます。

ちなみに、今回のライブコーディングは一応内容を決めておいて、本番アドリブも入れながらやったんですけど。5分でレイマーチングが書けて、10分過ぎには尖ったビジュアルが出せ始めました。 なんやかんやでライブコーディングそのものの技量も成長していてとても嬉しいです。

まとめ

1年を振り返ろうと思うと「去年の今頃何を考えていたのかな」というところから始めるわけですが、こういう場合は1年前の振り返り記事の最後とか見るとよいわけですね。それで最初にも貼った「VRChatを始めて二年が経ちました」 VRChatを始めて二年が経ちました - Butadiene Works なんかの最後の章を眺めるとなかなかに猛々しい覚悟が書いてあるわけです。

自分が作るものにたいして自分で諦めれば、適当に手を動かしているだけでなんとなく過ごしていけるかなと思ったんですけど、でもやっぱり虚無感が膨れ上がっていくばっかりでどうしようもなさがありました。結局GPUパーティクルを作った時の満足感をもっともっと何度でも得てたくて、たぶんどうしようもないんですよね。仕方がないので、削り倒す「覚悟」を決めなきゃいけないのかなあと思ってます。

なるほど。で、現状を見直してみると、とても削り倒したとは言えない感じですね。むしろどちらかというとあきらめを得たのかな、みたいな感じもあります。というよりは感情がないんですよね。1年前の振り返り記事とか見ると、ものすごい感情が詰まってるんですよね。こうあるべきだからこうした、みたいな。この1年は全然そういうものがないというか、ものすごく淡々としてる気がします。「こういう技術が欲しくて、こういう作品を作った」みたいなプロセスの繰り返しになってると思います。それで困ったことに何の不満もないんですよね。狂気を失ったというか、そんな感じもします。もとからあったかどうか怪しいですが。

多分、自分のよりどころに「進捗」を当てるようになったんだと思います。実際、この1年「よい作品」があまり作れなかったことに対してはあまり感慨がないですが、進捗がだしたかったところで出せなかったことに関しては悲しさがあるので。自分自身がどれだけ前に進めているのか、というのを常に意識しているような感じだった気がします(あんまり前に進めなかったけど)。

願いが遠すぎるんですよね。今、いくつかまあ願いがあるわけですがどれもこれもおそろしいぐらい遠くて手が届かないわけです。それに届くためには必要なプロセスがたくさんあって、それを無感情に埋めていってるようなフェーズな感じもします。あるいはそう思い込んでるだけで、何かから逃避してるような感じもします。

現実的な話をすると、今年は去年の予想の

多分学業が忙しくなるはず

が完全にヒットしていて、本当にハチャメチャに大変でした。研究ってとても大変なんですね...。というか今まで自分がいかに時間を創作に突っ込んできたかが間接的に明らかになった気もします。いろいろと願いを込めるチャンスもあったんですが、忙しすぎて手放してしまうことも度々でした(その節はすいません)。なので、願いと向き合う暇がなかった、ということなのかもしれません。

去年は某アレでいろいろと大変だったと思うのですが、個人的には某の影響をありがたいことに大きくは受けずに済んだと思っています。創作活動は相変わらず続けられていたし、家での作業もVRChatのおかげで続けられました。これに関しては本当にVRChatにありがたさしかないです。わいわい話したいな、と思ったときに誰かと話すことができるという環境が今年も維持できたというのはどれほど恵まれていたのかというのを最近になって実感しています。(特に夏ごろお世話になったパブリックと、最近はDeepBlue(作業部屋の方)が無限にありがたさがあります。本当に助かっています。)

さて、今年はどういう年であってほしいかという話なのですが、とりあえずの予定としては研究を進めることになります。なおのこと創作からは遠ざかってしまう感じもありますが、その一方で創作を使ってやりたいこともたくさんあります。なのでこの2つをどういう感じに両立できるかなあという気持ちです。

これは去年たくさん試して気づいた話なんですけど、2つのことを並行してやるのが苦手すぎて、昼間研究して夜創作するみたいなムーブができなかったんですよね。なのでちょっとどういう風にやればいいのか決めかねているところです。

あるいは両方を接続したいという願いもあります。これは本当にかなえたい願いで、何とかしてみたいという気持ちが強いです。

あとはVRChatものんびり楽しみたいです。結局今年もVRChatをはじめてみたいなタイトルにしながら90パーセントVRChatに関係がないブログ書いていますが、去年よりはよっぽどインしていて、先ほども述べたように楽しんでます。今年も楽しんでいきたいです。いつも遊んでくださってる方々本当にありがとうございます。今年もよろしくお願いします。

まあ一方で今年は去年にもまして様々な様々で大変になるかなあという気持ちもあります。とりあえずは「生存」を目標にしていきたいと思っています。

年々欲がなくなってる気もしますが、進捗はいつもほしいです。

最後に割と繰り返しになるかもですが縁の話をさせてください。これはVRChat始めてからずっとそうなんですが、本当に周りから助けられることが多かったです。特に今年はリアル側の関係が某のためにかなり断ち切られる例が多くて、VRChatやTwitterでいろいろな人と遊んだりできたのが本当にありがたかったです。いつも一緒に作業してくれる方とか、色々な面白い話を持ってきてくださる方とか、本当に上げるとキリがないです。特にコーディング関係に関しては、書かなくてはいけないコードがいくつも沸いたのにリアルの周囲に聞ける人があまりいなくて本当に助けられました。何回頭を下げても足りない...。

この一年を去年と少なくとも一部は「同じ感覚」で過ごせたのはみなさんのおかげだと思っています。本当にありがとうございます。



今年もやっていきます。よろしくお願いします。






おまけ

去年と同様、今年聞いた曲たちです。 Feryquitos先生の曲聞きすぎた(最高)

open.spotify.com