00:00
♪
はい、ノーマライズFM今日はですね、第3回ですかね。
前回はメザンのエドさんが来てくださったんですけれども、
本日はですね、またちょっと私の窮地の間からではありまして、
知っている人は知っている、特にWebGL界隈では結構名前を知っているよっていう人も多いかなと思うんですけれども、
本日はよもつさんをゲストにお迎えしてやっていこうと思っております。よもつさん今日はよろしくお願いします。
はい、よもつことを尾山田明寛と言います。よろしくお願いします。
はい、今日はですね、前回は結構エドさんが今はWebのエンジニアではなくて、XR領域の専門家という形でしたけれども、
今日はね、バリバリのWebのフロントエンドの専門家の方がゲストに来てくれてますので、
その辺りのお話などなどを聞いていけたらいいかなと思っておりますので、改めてね、進めていきたいと思います。
[音楽]
はい、ではよもつさん、知っている人ほとんどだとは思うんですけれども、一応簡単に自己紹介してもらってもよろしいですか?
はい、Pixelgridという会社でWebのフロントエンドをしていまして、
あ、尾山田明寛と言います。よもつですね。
そうですね、Reactとか、Vueとか、あと大きなウェブサイトとかそういうのをやっています。
あとは趣味とかでですね、GitHubでいろいろソースコードを公開してるしていて、
それをNPMにパブリッシュとかもしています。
そんな感じでいいですかね。
はい、なんかちょっと最近はあんまりね、WebGLS終わってませんよなんていう話も。
まあでも、そうなるのかなっていうのもちょっと、私は結構個人的にはわかるような気もしてますけども、
そのあたりの話もね、今日は聞いていけたらと思うんですけども、
なんかまず最初に、最近本当にね、全然会ってなかったっていうのもあるんですけど、
最近ちょっとプライベートも含めてどうですかっていうところから聞いていこうかなと思うんですけど。
そうですね、結構人生的に大きな出来事がありまして、
去年子供が生まれまして、今1歳半くらいで、
で結構もう1歳くらいになると自分で考えながら一人で遊んでるんですよね。
すごいなと思いながら見てて。
この前はなんかカードを何回も入れたり出したりしてるんですけど、
それ毎回違う方法で束にして入れたりとか横にして入れたりとか、
03:04
なんかこれもしかしてAIの教師データみたいな感じかなと思って。
子供ってAIだなみたいな。
そういう考え方ちょっとエンジニアっぽいですね。
見てて面白いなっていう。
個人的なその経験から言うと、1歳から2歳の間がおそらく最強に可愛い時期だと思うんですよ。
多分その0歳から1歳の間って、特に前半の生まれたての頃とかは、
なんていうんですかね、特に男親の場合はもう触るのが怖いっていうか、
ちょっと強く力入れて間違ってこうなんか怪我させちゃったらとかっていうのがすごく、
私の場合はですね、私の場合はすごく怖くて、
なんか恐る恐る触ってた感じ。
いやー同じですよ同じですよ。
記憶があるんですけど、
そう、でもなんかだんだんやっぱり喋るようになって、
片言喋るようになってきたり、自分で歩けるようになってきたりするとね、
なんかこうだんだんこっちも慣れてきて、接し方もね変わってくると思うんですけど、
まあ一番可愛い時期ですよね。
そうですね、毎日可愛いなって。
親の感想ですね。
いやいやいや、わかるわかる、それはすごいわかります。
それと引き換えに、ちょっと自分の時間がちょっとなくなりつつあるなっていうのが最近だったんですけどね。
で、1年経つとだいたいなんか結構生活にも慣れてきて、
で、ちょっと効率化もできてきて、
で、やっと自分の時間が少しできるようになったなっていう感じですね。
お仕事の時間自体は減らしてはいないんですか?
そうなんですね、もともと会社がフルリモート、ほぼほぼフルリモートだったので、
なので、通勤時間もないですし、そういう時間が子どもの面倒を見る時間にも使えたので、そこは良かったですね。
なるほどな、まあそうですよね。
なんかやっぱり我々職業的に結構恵まれてるなと思うのはそういうところ結構ありますよね。
なんかこれがやっぱり外で工事現場とかで働いてるとかってなるとリモート出てわけいかないから、
そういうところは結構すごく恵まれてる、恵まれてると言ったらちょっと違うかもしれないですけど、すごくいいよなっていう風に思いますね。
そうですね、なのでコロナで結構通勤が大変とかリモートワークで劇的に変化しちゃったよみたいな感じの人もいらっしゃったと思うんですけど、
むしろ自分はそこはあんまり変わらなかったけれども、子どもの登場によりすごい劇的な変化がこの1年あったかなっていう感じですね。
いや本当にあの、なんて言うんですかね、人生の優先順位が変わるじゃないですか。
そうですね。
06:00
それがもうあの本当に劇的に変わりますよね。
そうですね。
でもそれをやっても惜しくないっていう風にやっぱり感じますよね。
そうですね、本当に。可愛くて仕方がない。
可愛くて仕方がない。
いや、子育てしながら活躍されてる方も結構いらっしゃるじゃないですか、第1線で。
で、あの、情報もしっかり発信されてる方もいて、そういう方すごいなと思って。
時間が、自分に避ける時間が少なくなりつつも、それでも発信し続ける方結構いらっしゃって。
そういう方見てるとちょっと自分この後浦島太郎になっちゃうんじゃないかなみたいな危機感がありましたね、ここ1年ぐらい。
まあでも難しいとこだな、なんか、あの、もちろん人それぞれ、あとは何でしょうね、家族構成とかにもよるかもしれないですけど、
その、個人的な気持ちとしては、やっぱりその瞬間って今しかないから、
勉強は後でもできるなっていうふうに思いますかね、なんか個人的な感想になっちゃうけど。
なんか本当にね、その、今うちはもう子供大きいし、その、いわゆるよもつさんたちが見ている風景ってもうはるか昔なんですよ。
で、別にそのことを上から目線で言うつもりがあるっていうことではなくて、なんかそのはるか昔のその時をやっぱり懐かしんじゃうというか、
あの、もう戻らない、戻れないんだよなっていう寂しさみたいなのはやっぱすごいありますね。
だから、その、その瞬間は今しかないよっていうことを考えると、
なんか勉強とかそのキャッチアップみたいなことよりも、そっちを優先してるっていうのはすごくいいことなんじゃないかなと思いますけどね。
そう言っていただけるとちょっと自信が出てきましたね。
毎日がね、新しい発見がいろいろあるし、一番いい時期なのかなと思いますけどね。
そうですね。で、寝るのも自分もだいぶ、10日前に寝るようになって、逆に健康的になりましたね。
なんか以前はもう34時まで起きてたんですよ。なんかダラダラ調べ物したり、コード書いたりしたら。
それがグイッとずれましたからね。そこはベネフィットだったかなっていう。
いやでもなんかそういうふうなライフサイクルになれるってことは、あんまりなんか夜とかもそんなにね、あの、寝つけない子供ってわけでもないってことですかね。
そうなんですよね。代わりに早起きはするんですけどね。
まあまあでもそれは、それはでもいいことですね。
結構やっぱり親が夜型だったりすると、その部屋が明るいし、それに引っ張られて夜型になっちゃうお子さんとか多いんじゃないかなって思ったりしますけど、
うん、それはすごくいいことですね。しかも親まで健康になってしまう。
09:00
ありがたい限りですね。
ありがたい限りですね。親まで健康になっちゃうっていう。
仕事もだから早い時間から始めることができるようになりましたね。
そうですよね。早く始めて、まあしっかり稼働する分は稼働して、
で、6時くらいに終わらせて、保育園から帰ってきた子供を見つつみたいな感じのライフサイクルが出来上がってきましたね。
いやーそれすごいいいじゃないですか。理想的ななんか、まあその自分自身のね、あの焦りみたいなもちろん気持ちも分かりつつも、
ただまあ充実した生活になってるっていうか、すごくなんかいいライフサイクルだなってちょっと思いましたね。
そう言っていただけると安心しますね。
いやー多分、うーん。
いやもう先輩お父さんですからね。
まあまあそうですね。私はそうですね、ちょっともうだいぶ、だって自分、あのー本当に自分がまだ小僧の時からずっと親だから、
なんかその、めちゃくちゃだったんだろうなって今だと思っちゃうんですけど。
それこそ10代のなんかもう、ね、小僧、もう小僧は、もう小僧もいいところみたいな時代からもう、形だけは親だったから。
なんかもう覚えてないですもんね、あんまりその、自分自身のことは。子供のちっちゃい時のこととかは覚えてますけど、
自分がどんなんだったかとか覚えてないですもんね。
そのまだ未成熟だった、やっぱりその時間の流れが今よりも早かったんだと思うんですよ。
いろんな濃密なものがあって、興味もなんか全然全く違うものだったし当時は。
何にも覚えてないなあ、自分のことは。
いやー、まあでも、なんかあれですね、その仕事も支障なくできていて、家族との時間もしっかりとれていて、
なんか少なくとも私の今聞いた感じの印象になっちゃいますけど、そんなになんかストレス、子育てがストレスになってるわけでもなくて、
そうですね。
はい、すごく安心したというか、もともとなんか心配はしてなかったんですよ、別に。
心配してなかったですけど、なんかすごく平穏な温かい日常がかいまみれて、すごく安心しました。
結構なんか、やっぱり仕事との板挟みで苦しむ人が多いイメージがあるんですよね。
やっぱり子育ての大変さって、その言葉で表せない大変さがあって、なんていうんですかね、その泣き言を言えないじゃないですか、こっちは。
嫌になったからといって投げ出せないじゃないですか。
なんか子育てとか、その家族のことって結局、そういう投げ出せない系になるから、そこがやっぱり満たされてるっていうのはすごくいいことだなって思います。
恵まれた感じでしたね。
12:00
そうですね。
ちょっとあの、今このポッドキャストを聞いている皆さんは、
全然関係ない話になってます。
いやいや、あのー、
もうちょっと戻してみたいな。
そうですね。なんかあの映像、今喋ってる2人にはちょっと映像が見えてるんですけど、そのよもつさんの背景の風景がすごいんですよ。
もう、なんかその、いかにも子育てしてるっていう感じの背景が今映っていまして。
子供用のね、フェンスが。
フェンスがあって、おもちゃが置いてあって、いやーもうなんか、本当にすごい懐かしいです、そういう景色。
だいぶ脱線しちゃったので、ちょっと戻しますかね。
そうですね。
仕事の話とかの方がいいのかな。
そうですね。
じゃあ最近、プライベートそんな感じで、充実した感じの生活を営めているというところからの、最近の仕事っていう面だとどんな感じなんでしょう。
そうですね。仕事はなんかもう相変わらず、コロナの前から変わらず、
環境がフルリモートに近い環境だったので、変わらずって感じで。
で、大体内容的にはですね、大きめのウェブサイト作ったりですとか、
あとは、弊社は住宅でやっているんですけれども、自社でその開発チームがない会社さんとか、
あるいは開発チームだけでは補いないような大きいウェブアプリケーションを作っているところと一緒にアプリケーションを作ったりとかしています。
で、コロナのおかげというのも変なんですけれども、そういうのもあって、
このミーティングとかもリモートでお客さんとのミーティングもやりやすくなったなっていう感じもあって。
そうですよね。
確かにそういうクライアントの中でも、最近はもうリモート前提になっているところすごく増えましたよね、やっぱり。
そうですね。ミートにしますか、Zoomにしますか、Teamsにしますかみたいなお客さんからそういうのも出てきて、
それはちょっと、世の中の変化として、それは良い方向にはいっているのかなっていうのもありつつ、
それがウェブをやっている人たちの環境にも近いところに来ているからいいのかなというふうに。
全体としては良くないですけれども、一応の恩恵はあったのかなというふうに考えていますね。
ただ、今言った通り、結構大きめのお客さんが多いので、
自分が興味の中心であるWebGLとかそういうところはあんまり仕事にはなることが少ないですね、残念ながら。
今はとりあえず趣味でWebGLをやりつつ、でも完全にそのWebGLは趣味だけではなくて、
お客さんの中にはアプリケーションの一部に2DのUIが欲しいっていう方がいらっしゃるんですよね。
15:02
最近ですと、あるとあるバーチャルオフィスみたいな、こういう世の中ですので、
バーチャルオフィスみたいなのを2Dでやりたい、オフィス付きのチャットかな、チャット付きのバーチャルオフィスか、
その2Dでやりたいっていうお客さんがいて、そのバーチャルオフィスみたいな空間をですね、
要は地図みたいな、ドラッグして移動して、マウスのホイールを動かすとズームしてみたいな、地図みたいなUIを作ったんですけど、
それをSVGで作ったんですけども、そういうところで行列とかが生きてきて、
自分の趣味でやっていたWebGLとかも無駄にはならなかったし、数学の知識が2Dでも3Dでも大体同じように生きるっていうのはありましたね。
そうですよね。グラフィックス系のプログラムってやっぱり書けない人は徹底的に書けないパターンがあるっていうか、
そういう数学の知識がやっぱり前提になっちゃうことが結構あるじゃないですか。
CSSでやるにしても、やっぱり最低限スクリーン座標のスクリーン座標空間でXYで移動させるぐらいはやっぱりできないといけなかったりするし、
じゃあそれができるからといってどういうイージングをかけた方がユーザー的に使いやすいのかとか、
結構グラフィックスプログラミングって独特な知見が必要というか、
そうですよね。
コツがいるっていうか、やっぱりやったことない人はなかなか難しいっていう領域だと思うんですよね。
そういう意味ではやっぱり山本さんみたいにもともと3Dでもやってるっていうところで、
直接WebGLじゃないにしても活かせる場面って確かにありそうだなっていうのはちょっと今聞いてて思いましたね。
そうですね。しかもSVGってすごいいいんですよ。標準仕様、SVGってHTMLとかと同じように標準仕様じゃないですか。
それなのにWebGLみたいに全然ローレベルじゃなくてすごい使いやすいんですよね。
結構SVGって聞くとタグを書いたら画像ができるみたいな風にそれだけに思われがちかもしれないんですけども、
JavaScriptのAPIがすごい揃ってて、
例えばすごいアフィン変換した要素の中にあるそれをネストしたその個要素のスクリーン座標を一発で取るみたいな、
そういう変換マトリックスを一発で取るみたいな仕様とかがあって。
すげーなそれ。なんかゲットバウンディングクライアントレフトみたいなスクリーン座標的な感じのが取れるんですか。
あ、ではなくて本当にマトリックスが取れる。行列が取れるんですよ。その一役アフィン変換用の。
へー、それ面白いですね。
そうなんです。すごい揃ってて、もうライブラリみたいに標準仕様みたいなのにライブラリみたいな勢いで使えるんですよね。
18:03
じゃああんまりなんか手厚いフレームワーク的なものがなくても、そのまま普通に標準APIだけでガリガリ作っていけるみたいな感じなんですか。
そうなんですよ。しかもHTMLって実は最近なんですけれども、
DOMマトリックスとかDOMレクトとか、あとDOMポイントっていうのがあって、
それぞれ行列とDOMレクトは区形、あとはDOMポイントってのは要はベクターなんですけれども、
そういうクラスが最近あるんですよ。だからライブラリとか使わなくても一応HTMLの標準仕様の中でそういう処理もできてしまうっていう。
で、それはジオンメトリーインターフェイスっていうHTMLの新しい仕様、分かれた仕様で定義されているんですけれども、それが最近できてきたよって話ですね。
なのでそういうのを使いつつ、でも実際あるんですけれども、それはちょっと機能が足りないので、結果的には自分で行列ライブラリを作って、それ使うんですけれども、何回行列ライブラリを作ったかみたいな。
そうですね。グラフィックスプログラミングあるあるですね。
そういうのをやってますね。で、SVGだからリアクトとかとも相性が良くて。
なのでそういうリアクトの一部として使うような2DのUIとかもやってますね。
SVG、やっぱりその、あのなんだ、筆跡がそのままSVGのアニメーションで再現できたりとか、そういうのにも使われてますし、
本当にアニメーションをこう別のツールでつけて、それをウェブに持ってこれるっていうのもすごい便利ですよね、やっぱり。
そうですね。表現用にも使えるし、UI用にも使えるし、結構2Dとしては万能かなというふうに思いますね。
しかもベクターですからね。拡大してもドットが見えちゃいましたみたいなのはないですからね。
そう考えるとかなり万能な、だからウェブのグラフィックスのある意味では究極形というか、そのなんて言うんでしょう、
セマンティックス的な正しさを保ちながら、正しくUIとかをしっかりこうドキュメントとして振る舞わせるための必要最低限のパーツっていう意味で言うと、
多分WebGLってそういうものではないじゃないですか、やっぱりどちらかというと。
WebGLっていうのはあくまでもいろいろな使われ方があるにせよ、よりリッチなグラフィックスのためのっていうものだと思うんですけど、
SVGっていうとやっぱりそういうHTML的な文章を書く上でのっていう振舞いに特化してるというか、
そういうこともしっかり考慮して作られてるっていう感じがなんかしますよね。
そうですね。アクセシビリティ的なところもつけられるし、リンクはリンクとして機能するし、みたいなところで、
21:04
そういう使いやすさもありますよね。WebのHTMLと結構なじみがよく使えるっていうのが結構な利点かなっていうふうに思いますね。
もちろんWebGLもすごく、WebGLじゃないとできない表現がありますし、一応いったんで使いどころっていう感じですよね。
なんかWebGLとSVGって共存ももちろん可能だと思うし、
SVG的なものを読み込んでイメージエレメントに変えることができるってことは、つまりWebGLの世界にテクスチャーとして持っていけるっていうことじゃないですか。
そうですよね。
だからSVGと別にWebGLって別々に使わなきゃいけないってわけでもないし、なんかその辺ってやっぱりWebの素晴らしいところですよね。
あれより技術が組み合わせて自由に使えるっていうのはWebならではっていう感じがしますよね。
最近3JSのリポジトリにあったやつなんですけど、新しいプレディクトがあったんですけど、
SVGの中にHTMLを埋め込んでそれをテクスチャーにしてそれをWebGLの中に突っ込むっていう、HTMLをテクスチャーにするみたいなのがあって、
すごいなSVGって。
いやーSVGすごいですね。そういうところは確かに。
一応2DはSVGだけじゃなくてPixieJSとかも使いながらやってますね。
っていう感じで、すごくグラフィックスとは遠いってわけじゃないんですけども、そんなにいっぱいやってないけども、結構ちょいちょい使えてるよっていう感じのお仕事ですね。
いやいや、でも一般的にはやっぱりそっちの方がWebのフロントエンドっていうと圧倒的にそっちの方がやっぱり多いはずですよね、普通に考えれば。
そのなんかリッチなグラフィックスが必要な時っていうのはもちろんあるけども、割合で言ったらそっちの方が少ないというか。
もうちょっと増えてきたら嬉しいですけどね。
でもなんか個人的な印象だと、例えば2年前3年前とかと比べて今だと、なんかもう最近の方がWebGLとか使っている案件というか事例の件数自体はなんか増えてる感じがしますけどね。
確かに。そうなると総本山のネタも。
そうですね。
いっぱい出てきて嬉しいところでありますよね。
そうですね。なんか結構あのWebGL総本山っていうサイトは確か2014年ぐらいからやっていて。
そこから毎日休みなく。
やってるんですけど、最初の頃は土日も関係なく365日更新してたんですよね、最初の1年か2年かは。
24:08
でもそれはもうさすがにちょっとつらいと思って。
もうちょっとヒント先をと思って、平日だけにしたんですよ今度。
平日だけにしてからもう何年か経ってるんですけど、それでこの間に1000回目を更新して、今も平日は更新するような感じでやってるんですけど、結局あれ何ですかね、昔は結構探さないといけなかったんですよね。
探してきて紹介する、紹介するために探してくるってことをしないといけなかったんですけど、最近は結構そのブックマークしておいたやつを順番に引っ張り出してくるだけっていうか、
1日に1記事ずつ順番に公開していくって一応決めてるから、たくさんあっても1個ずつしか出さないんで、結構ブックマークして、非同期的にブックマークしたやつに対して記事を書いてってやってると、意外と途切れないというか。
なるほど。
多分それで知らない事例もいっぱいあると思うんですよ。そのWebGL使われてるけど私が見っけてないっていうのもいっぱいあると思うんですけど、
特に日本が多い気がするんですよね。そのWebGL使ってますよっていうことをアピールしないというか。
すごくゲームのサイトとか特に多くて、ちゃんとしたIPの商業ゲームとしてちゃんと力を入れて開発されているものほど、
ティザーサイトとかめちゃめちゃ派手でWebGL使ってるのに、しれっと公開されてるじゃないですか。どこの誰が作ったかもわからないまま。
だからそうなると、多分知らないんですよね、私たぶん。そのウォッチできてないというか。
だからなんか結構やっぱり海外の人たちが、Hey guys!みたいな感じでみんなつぶやいてるじゃないですか、結構海外の開発者のみんなって。
そういうやつの方が目に留まりやすいんですよね。
確かに日本の会社さんだと結構真面目だから、手品義務的なところを結構感じてしまって、出しづらいっていうのもあるかもしれないですよね。
そう、意外とだから、なんかまあ、その契約上我々が作ったって言えない場合もあるでしょうし、
特にそういう取り決めがなくても、なんかその先方が告知するタイミングで告知するわけだから、我々は別に作り手だから何も言わないみたいなことが多いんだと思うんですよね。
なんか別にそれ、ダメだなとは思わない。そこまでは別に言うつもりはないんですけど、ただ気づけないことはちょっと悲しいなっていうのがあって、
なんか探しようもないんですよね、そうなってしまうと。
垂れ込みしてくれる人がいないとわかんないんですよね。
多分もっといっぱいあるんだろうなと思うんですけどね。
なかなか見つけられないところはちょっとあるかもなぁと思いますね。
じゃあもうこれを聞いている皆さんでもしそういう案件があったらこっそりドクザさんに垂れ込みを。
27:01
そうですね、垂れ込みを。1ユーザーのふりして、このMGLっぽいのはすげえとかなんか適当につぶやいてくれれば、そこから見つけられる可能性がありますから。
本当たまに聞かれるんですけどね、総本山に限らないですけど、そのMGLの情報どうやって日頃集めてるんですかって聞かれるんですけど、本当ね、Twitterしか見てないですよ、私の場合は。
意外と。あのアワード系のサイトとかも見てないし、なんか多分ほとんどのフロントエンドの人たちはみんな見てると思うんですけど、私は意外と見てないですよね。
そのTwitterしか見てないんで、逆に言うとそのTwitterに流れてこないものは見つけられないんですよね。
だからなんか、本当はそこもね、なんか全部頑張って探せばいいのかもしれないんですけど、そこまでの時間もなかなか割けずっていう感じなんで、なのでTwitterで、
いやーこれMGLっぽいなーとか適当につぶやいてもらえると、気づけるかなっていう感じのところですね。
意外とやっぱね、意外とないですよ、その日本のやつはやっぱ少ないですね。
どうしてもなんか、割とそういうのをいつも作っている制作会社さんばっかり紹介する感じになってしまうんですけど、
結構だからスタジオディテールズさんとかは、ちゃんと自分たちでこうWebGLでやりましたっていうのをちゃんとTwitterとかFacebookとかで発信してくれるんで見つけられるんですけどね。
そういうのやってくれるといいんですけどね。
日本人としても結構日本のものの方が逆に参考になったりして、そういうのが増えるといいですよね。
それはすごく思いますね。なんか、でもやっぱりなんか日本の事例自体も増えてる感じはするんですよね。
いっときに比べたら、なんかその、やっぱり動かない環境が昔は多かったじゃないですか。
あー確かに確かに。
なんかAndroidとiPhoneとPCとそれぞれなんか動きもなんか全然違うしみたいな感じで、結構バギーな感じだった時期ってあったじゃないですか。
今はもう動かないってことはほぼないですからね。
そうですね。
まず動くから。
確かに。
ちょっと振る舞いが違うよみたいなのは起こり得る可能性はありますけど、まあ動かないってのはないですもんね。
そういう意味では昔より多分使いやすくはなってるんだと思うんですよね。
ビジネス的なロジックとして採用しやすくなってるというか。
あとはコンテンツの、コンテンツ側の問題ですよね。
そうですね。
コンテンツがどういうところで3Dとか、あと派手なインタラクションにマッチするのかっていうところが提案できたりすれば、もうちょっと増えていくかなみたいなところですね。
30:00
そうですね。
多分だから、これも結構いろんな人と話をする時によく出る話題なんですけど、結局WebGLを使える開発者さんが少ないですよねっていうのはもちろんその通りではあると思うんですけど、
それ以前のそのプロダクトとしてWebGLをいかに採用するかだったりとか、デザイン的にWebGLをどう組み込むかみたいな部分の、
その開発者の手に渡る前の段階も、もう全然そのWebGLのことを理解して使いこなせる人っていうのの人数が少ないんだと思うんですよね。
だからなかなかやっぱりプロジェクトとしての形に、完成品にまで至るケースっていうのがどうしても一部の専用化された組織とか、専用化した個人に集約しちゃいがちなのかなっていうのは思いますよね。
私なんかは特にそのデザインとか、あとはプロジェクトのマネジメントとかってあんまり専門的な領域ではないというか、素人なんですよね、そういう領域って。
だからその、あとはこういう仕様で作っていただければ大丈夫ですっていう、お膳立てをしてもらわないと結構難しかったりするんですけど、結局そのお膳立てができる人間も少ないんだと思うんですよね。
なんかその辺どう解決していったらいいのか、ちょっと私にはわからないですね。
ちょっとアイディアが浮かばないっていうか、どうすればそういう現状を変えていけるのかがわからないですね、手探りって感じで。
世の中にそういうコンテンツの密度が上がってきたら、うちもこういうのをやりたいんだよみたいな感じでリファレンスとして見てもらえて、そういうの増えていけばいいなっていうふうには思ってますよね、私は。
そうですよね。なんか例えばですけど、そのPixelgridがそういう話を例えば紹介されたとして、組織としてはどうなんですか。
例えばそのメンバーのスキルセット的にやろうと思えばやれるっていう感じなんですか。
いやー、メンバー的に本当にフロントエンド、専門みたいな方が、本当にこういうグラフィック部分は自分が趣味でやってる程度なんですよ。
だからどうしても会社的にそういうところに、そっちの硬い方に寄りがちで、そういうのがあったら自分が専門的に見るよみたいな感じで、あればやるよぐらいなんですね。
そうだよな。それでそもそもだからそういうウェブのフロントエンドのシステム開発っていうかソフトウェア開発みたいな部分でしっかりビジネスとして成り立っているところに無理にグラフィックを入れる必要ないっていう組織もやっぱ結構あると思うんですよね。
そうですね。需要があればそこに入れていくし、そういうところにも対応できるよっていうような安心感はあるかな、会社としての安心感はあるかなっていうふうに思いますね。
33:03
そうですよね。だから結構やっぱウェブの制作とかウェブのフロントエンドって言っても結構こう、専鋭化しているというか、専門性がそれぞれに、組織ごとに色が違うっていう感じは最近結構やっぱ強くなってきてますよね。
昔はHTML屋さんみたいな感じでウェブサイト作りますってホームページ屋さんみたいなのがあって、そこがみんな色々やってるみたいな感じでしたけど、最近は本当にウェブに関するプロジェクトとかも多様性がすごい色んなものがあるし。
一発見せて終わりから広告的なものから、長く使われるサイトから、もうバリバリのアプリケーションまで全部ウェブですからね。
本当ですよね。なんかそう考えると本当に、ここ5年、10年ぐらいでウェブの様相っていうのが全く違う感じになってますよね。
で、そこの中でどこの専門性に属していくかみたいな。
なんかその、よもつさん自身の気持ちとしてはどうなんですか?そのどの領域が一番個人的には楽しいって感じる部分なんですか?それって。
自分的には、あの、この、あれちょっと硬いけれども、その中でグラフィックが生きる、硬めのところが好きですね。
自分的には、このロジックで考えて、仕様をどうに動いて、さらにちょっとその中で気持ちよさがあって、っていうところが自分の好きなところですね。
なんかピンポイントでUIはちょっとだけリッチな動きをするとか、しかもそれがユーザーの使いやすさに繋がってるとか、そういったところですかね。
で、それをお客さんと作っていく、自宅の楽しみみたいなところを楽しみながら仕事してる感じですね。
いいですね、そういうなんか、結構、俺も結構そうですね、硬い方が好きですね。
硬くないのがダメってことじゃないんですけど、硬くないのがダメってことじゃないんだけど、なんか、こうキラキラ、ビカビカっていうよりかは、
なんかあの、3Dを使ったツール的なものを作ってる時の方が、
あー、わかりますわかります。
楽しかったりはしますね。
なんかオービットコントロールみたいなものを自作してる時が結構楽しい。
あー、わかりましたわかりました。
行列とかを使ってこうグイグイ、こうタニオンでこう回したらこうなるなとかつって、
わかんないなりにこういろいろやってみてる時が結構楽しいかもな。
ただまぁ、何ですかね、その、もともと数学とかコンピューターサイエンスみたいなものをちゃんと学問としてやってきてないですよ、私なんかの場合は。
だからこう、いざっていう時に、やっぱ数学の知識の無さとかにやっぱ悩まされますね。
いやー、自分も一応学校では習ったけど、全然その時は真面目にできてなくて、むしろ寝ていたみたいな状態が。
36:08
いやなんかちょっと想像できないんですけど、まさかこんなに数学を、しかも線形代数を使うとはなっていう。
そうですよね。
うん。
なんか、サインコサインとかも覚えてなかったです。
正直、私の場合は、WebGLをやるってなって、無理やり思い出したっていうか、勉強し直したっていうか、全然覚えてなかったですね。
なんかどういうものだったかっていうのは。
これを、ゲームはこれで作られていいんだよっていうのを先に教えてもらえたら、もうちょっと興味持てたかもしれないですね。
そうですね。
それはあるかもな。
なんかこう、簡単なことのように、小さい頃から例えばマリオブラザーズとか、なんかそういうゲームを見ていれば、ボタン一つ押せばキャラクターがジャンプするとか、そういうのってなんか当たり前の現象として目にはしてきてるじゃないですか。
でもそれをプログラム的に再現するっていうのが、実はただ事ではないとかっていうことがやってみるとわかって、
なんか当たり判定が、ちゃんと床に対するコリジョンがちゃんとなきゃダメだとか、そういうのはやっぱ面白いですよね。
ゲームの開発、あんまりゲームの開発とかしませんけど、最初の興味は結構それでしたね。
私のプログラミングとの出会いの中で、一番最初に楽しさを見出したのは、やっぱりミニゲーム的なものを作ってみるっていうことをしたときがめちゃくちゃ楽しかったですね、最初は。
自分も3D、WebGLを色々勉強するきっかけになったのは、自分でゲームの体験をウェブに持ってきたいっていうところが、
ゲームって楽しいから、それウェブにしたらみんなそれできるから、それ作ってみたいなっていうところで、ゲームエンジンもどきみたいなのを作ったことがあって。
それ3Dでやると、ポリジョンだらけで、球体が三角形、ポリゴンに接したときに押し出すとか、そういうのをすごい勉強して、それを作るときに数学だらけで、
すごい勉強、作るために勉強したみたいな感じですね。学校ってなんか、勉強するために勉強するみたいな、目的がないまま勉強するんですけど、目的があってする勉強ってすごい面白いなっていう感じですね。
それすごいわかるな、俺も。多分ウェブジェルがなかったら数学とかやってないですもんね、やっぱり。難しそうなものっていうふんわりイメージだけあって、自分には関係ないものってやっぱり心のどっかで思ってしまうような気がしますね。
39:12
もしウェブジェルがなかったらそういう人生送ってたかなっていう気がする。
なんかこう、実現して、まあだからグラフィックスに限らないとは思いますけどね、なんかこう自分がやっぱり実現したいことがあって、そこに向かってプログラムを書いてるときってすごく集中できるというか、成長もできるし、夢中になれますよね。
そうですね、楽しいですね。勉強が楽しくなっちゃう。
わかる。それすごいわかる。なんかやっぱりみんなそういう現体験みたいなのあるんですね。結構私はもう、結構年いってからプログラミングを始めてやった感じだったんで、
なんかその、本当に自分の気持ちとしては、いわゆるお父さんたちが一定の年齢に達すると日曜大公、自然とやり始めるっていう現象みたいな感じで、
暇を持て余したおじさんがプログラミングをやり始めるみたいな感じだったんですよ、最初は。
なんかあんまりこう、それで飯を食っていくぞとか転職するぞみたいなのはなくて、なんかこう、時間がせっかくあるし、ちょっとやってみっかなーみたいな感じだったんですよね、最初は。
いや、すごいフィットしてしまいましたね。
そうなんですよ。だから、こう大人、完全に大人になってから、意外とその、だんだん、もう若いっていうわけでもない年齢になってきたぐらいの時に、自分の人生ってこれだったんじゃんっていうのをその瞬間に見つけて、
まあでもわかんないですよね、その正直この先にまだなんかあるかもしれないじゃないですか、50歳60歳になった時に開眼する可能性もまだ残ってるからわかんないんですけど、ただ、なんかその、
30手前にそれを見つけて、普通だったら足踏みしちゃうのかなと思うんですけどね、でも、別に誰に迷惑かけるわけでもないし、いいやと思って趣味でやってたんですけどね、
気がついたらこんなことになってましたね。
いや結構でもなんか、よもつさんはその、私が表舞台に出てくるのにかなり大きなファクターを占めてたんですけど覚えてます?
いやいやいやいや。
その辺の昔の記憶は残ってますか?
いやいや、あの、すごそうな人がなんかいるけど知らないし、会ってみたいみたいなところから。
あの、俺ちょっと実は昨日調べたんですけど、あの、gmailの履歴を遡ってみたんですよ。
あーはいはいはい。
よもつで検索してみたんですよ、自分のメールボックスを。そしたら2013年ぐらいに、
あ、もうだいぶ前です。
42:00
そう、だから数えたらもう8年とか経ってるんですけど、
その時に、あの、たまたまそのミートアップとかやりませんか?みたいなことを一番最初に俺にアプローチをかけてきてくれたのがよもつさんだったんですよね。
あーそうだったんですね。
それまではあの、ほんとに茨城の田舎で趣味で、趣味でプログラムを書いてましたから。
うーん、その時が初めてでしたね。だから8年前。32ぐらいとかですよ。私が32ぐらいとかで。
今自分が39だから、31か、そうですね。
そんなに変わらないですね、そしたら。
うん、そう、だからよもつさんとかエドさんって多分同世代ですよね。多分世代的には同じぐらいなんで。
あんまり、年齢も近いし、話も結構こう、話してて自然に、なんか別に、やっぱ年が離れてると離れてる分だけ若干遠慮とかが発生しちゃうじゃないですか。
そうですよねー。
でもやっぱ近いと、その辺があんまり発生しないんで、だから結構最初から楽しく過ごせたのかもしれないですね、そういう意味では。
うん。
その8年前に、こう、私を釣り上げてくれたのがよもつさんだったって。
いずれは多分そうなっちゃう。
いやいやいやいや、もうあの時、そうだから、WebGL Meetupですよね。今でも覚えてますけど。
そうですねー。もう2回ぐらいしかいなかったですけどね、あれは。
いやー、あれは本当にね、緊張しました。足がもうガクガクでしたね、あの時は。初めてこう人の前で話すっていうのをやって。
いや本当に、今でもあの時の緊張は覚えてます。
マイクロソフトだったかな、確か。
あーそうですね、マイクロソフトでやって、で、オートデスクでもやってました。
やりましたね、うん。
いやー、あの頃は本当になんか夢みたいな感じがしましたね。
まさかこんな感じで、できるもんなんだなってすごい思いました、あの頃は。
また世界が平和になったら、そういう大きいところでもやりたいですけどね。
そうですね。まあWebGLだけじゃなくてもいいと思うんで、なんかその、それこそWebGPUとかもね、どうなるかわかんないけど最近だんだん現実味を帯びてきたじゃないですか。
うん、Chromeに確かこの前、フラグ付きで載ったんですね。
フラグ付きで載ったんで、もう普通に動かせるんじゃなかったでしたっけ、っていう状況になってきてるし、そのWebAssemblyとか、直接グラフィックス書くわけじゃないけど、グラフィックスの描画にも役立てられそうな技術とかもあるし、
なんかね、それこそもう今WebGLって別に言い切らないで、Webのグラフィックスってでっかい括りでやっても全然面白い話できそうだなって思いますけどね。
そうですね。
さっきのSVGもまさにそういうとこに含まれると思うんですけど、SVGだけでもここまでできるよみたいなのも、意外と相当できるんじゃないですか、SVGだけでも、たぶん。
45:06
そうですね、2Dいろいろできます。シェーダーが使えないのちょっと痛いです。
シェーダーが使えない。それかなりマニアックな発言ですね、その発言は。シェーダーありきでグラフィックスを考えてしまうっていうのはちょっと病気の可能性がありますね、それは。
でも分かりますけどね、使える人間からすると分かります。シェーダー使えないのは確かにね、一瞬あったんですけどね、CSSのシェーダーが。
CSSシェーダーがありましたね。
ありましたけどね。あれも、まあでも誰も使いこなせないよって話だよな。仮に標準仕様として採用されたとしても、たぶん使える人がほぼいないっていう感じだったと思いますね。
そうですね。
WebGLのシェーダーも、やっぱりなんかコンテキストが一個増えちゃうんですよね、そのHTML、CSS、JavaScript、WebGLってなった時のこの一個のコンテキストの増えるウェイトがめちゃめちゃ大きくて、なかなかやっぱり使いこなせるところまでいかないですよね、なかなか。
うーん。ま、よもちさんの場合は結構、でもどうなんですか、そのシェーダー、あんまりシェーダーとか書いてるイメージないですけど。
あ、そうですよ。僕自分シェーダー苦手ですね、はっきり言っても。
結構なんか、シェーダーを使いたいなっていうのは例えばどういう時に思うんですか、そのSVGとかを使ってて。
あ、実はSVGもシェーダーじゃないけど、あのフィルターっていうのがあって、それ組み合わせると結構色々できちゃうんですよ。
それで満足なんですけど、いかんせんその書き方が、タグで組み合わせていって。
あー、なるほど。それがもっとなんか、JLSUとかで書けたらなってことですね。
そうそうそうそう。
そうですよね、最近本当になんか、わざわざシェーダー使わなくてもブラーだって書けられるし。
そうですよね。
なんか本当に簡単なフィルターだったらCSSだけでできちゃいますからね。
うーん。
うーん。まあでもシェーダー使っていいよってなったらシェーダー使いたいね。
気持ちはわかります。
うーん、なんかちょっとね、リスナーさんたちのウェイト的には、そんなわけないよっていう人の方がもしかしたら多いかもしれないですけど、
でもシェーダーかける人間からすると、シェーダーかければ全てが解決するじゃないですけど、
うーん。
なんかもうシェーダーさえ使えれば大体のことはできるっていう感じになるじゃないですか。
その気持ちは確かに、なんかわからないでもないですね。
♪
48:09
じゃあ、続いては、結構その、これ私の勝手な印象も入ってるんですけど、
そのよもつさんって、特に3JSとかに対して、すごくオープンソース的なものに対して貢献されてるっていうイメージがありまして、
で、たぶん最近もリボンジオメトリーとかなんかやってたりしたじゃないですか。
そうですね。
そこで見てても、3JSのコントリビューターっていうだけでちょっと尊敬のまなざしなんですけど、
そういうオープンソースに対しての、自身の取り組み方ももちろんそうだし、
またオープンソースっていうものが結構ウェブとやっぱり、いろんな意味で密接に関係してると思うんですよね。
現代のウェブの技術って、そのオープンソースによって支えられてる部分が少なからずあるのかなって思っていて、
そういったところをちょっとね、こっからは少し聞いていけたらなと思ってるんですけど、
そもそもその3JSにコントリビューションしようっていうのは、なんかさっきの話から結構つながってくるところなんですか?
自分で使ってて、なんかこう便利に使えるようにみたいなところから始まってるんですかね?
そうそうそうそう。もともとはちょっと3JSで足りない機能、こうだったらいいのになっていうところがあって、
それ試しにプルリクエスト送ってみたら、いい感じに取り入れてもらってっていうのが多分始まりだったのかなって思いますね。
具体的にテクスチャローダーが、テクスチャローダー.ロードを押したときに、戻り値として何も返してくれなかったんですけれども、
その戻り値を空のテクスチャ返してくれると色々使えて嬉しいんだけど、みたいなやつを送ったんですよ、プルリクエスト。
そしたら取り込んでも、多分それが始めかな?
それめちゃくちゃでかいじゃないですか。そんなのできなくて。
私はもともとPiana WebGLから入っちゃったんで、あんまり3JSって触り始めたのがすごく先になってからというか、
自分のプログラマーとしての人生の中でいうとかなり後半になってから3JSを触り始めてるんですけど、
その中で結構そのテクスチャが最初に返ってきて、例えばコールバックの引数とか、
プロミスのリゾルブした解決した時の引数とかじゃなくて、戻り値として直接変数に入るっていうのが、
斬新かつ便利だなってすごい思ってたんですけど、その仕様は実は海の上はよもつさんだったんですよ。
自分もあれすごい困ってたんですよ。
51:00
すごいそれ、初めて聞いた。
そうだったんだ。
その辺が多分始まりだったのかなって。
で、結構コミュニティとして健全で、自分が思うには明るく迎えていただいて、
そこからちょっとモチベーションが上がってきて、
最近ではないですけども、結構やったのがCSS 3Dレンダラーっていうのがあって、
3.jsのCSS 3Dレンダラーもいろいろやったんですけども。
でも、もちろん自分もオープンソース使う側で、
Webデベロッパーほとんどの人多分オープンソースのライブラリを寄せ集めてきてアプリケーション作るみたいな勢いだと思うんですけども、
困った時は大体NPMでパッケージ探して検索してそれ取り込んできて、
大体ライセンスもすごい緩いMIDライセンスとかなので、
ソースコードもオープンソースだけに開示されてるから、すごく安心して使えるものだと思うんですよね。
困ったら自分でプリリクエスト送ってもいいし、あるいはバイパス的なコード書いてもいいしみたいな、
そういうのはすごくいい文化だなと思って。
で、自分でプリリクエスト送ると、取り込んでもらえると、
自分だけじゃなくて、世の中のいろんな人に使ってもらえるっていう、
自分が書いたコードがいろんなプロジェクトの中で動いているんだよっていう、
なんか自己満足なんですけども、それがすごいモチベーションになりますね。
いや、マジで俺今すごいめちゃくちゃ驚いてて、そのテクスチャ返してくれるっていうのの仕組みの産みの親がよもつさんって、
相当、世界中のエンジニアの人たちの恩恵相当でかいと思いますよ。
そう言ってもらえるとやりがいを感じますね。
いや、すげえな、そんなこと、そんなところにまさか関わっていたとは知らず。
でもだいぶ昔のまだ3JSが70何とかそれぐらいのレベルの時だったので、
使ってる人も少なかったけれどもっていうのがありますよね。
だから気づく人も、使ってる人が少ない分気づく人も少なかったから、
そういうところで活躍っていうか役に立てたのは嬉しかったなっていうのはありますね。
今現在も、現在進行形で起こっていることだと思うんですけど、
グラフィックスプログラミングを結構ネイティブな言語でガチガチにやってる人たちって、
例えば何て言うんですかね、参照を渡す的なことだったりとか、
特にウェブのフロントエンドであまり意識しないビットとバイトの世界の話だったりとか、
そういうのがあまりにも当たり前にできる人たちじゃないですか、グラフィックスプログラミングの人たちって。
そうすると、ウェブジェルとかを教える立場からすると、そこの隔たってるところを埋めるところから始めなきゃいけないですよ、だいたい。
54:04
世の中のグラフィックスプログラミングの文脈とウェブのフロントエンドの文脈をつなぐところからまず始めないといけなくて、
ビットとバイトっていう概念があって、それを埋めるためにタイプドアレイがあるんですよみたいな話とかをするところからしないといけないですけど、
でもそれって逆にしてもらえなかったら多分わかんない人が多いというか。
自分もそうなんです。自分が3JSっていうかウェブジェルに興味を持つきっかけだったのが、一番3JSだったかなと思ってて、
昔、自分がここまで色々興味を持つようになったには、すごく昔SVGを興味持ってやってて、SVGにちょっと飽きてきて、
その頃ウェブジェルっていうのが出始めてきて、すごく面白そうだな、SVG飽きたし、こっちやってみようかなって思ったんですけど、
全く自分の知らない世界だったんです。Shaderがあって、タイプドアレイをGPUに送ってみたいな。
それを埋めてくれたのが3JSで、間接的にそこを使える、自分の馴染んだAPIでっていうので。
3JSがあって、勉強できて、Shaderもそこからちょっと書けるようになってきてっていうのがあったので、やっぱりそういう溝を埋めて、ギャップを埋めてくれるところはすごく大きかったですね。
そうですね。やっぱり、3D特有の難しさを3JSってうまいこと埋めてくれるし、なんていうんですかね。
でもやっぱりオープンソースを使っていく文化だからこそっていうのもあるかもしれませんよね。
そうですね。自分が使っているからこそ、そこがもうちょっと良くなれば他の人も良くなるし、自分も嬉しいしっていうので、
それで、その積み重ねて、どんどんライブラリーなのかフレームワークなのか、自分が貢献したところがどんどん洗練されていくっていう文化は、
結構、常に成長できていいんじゃないかなって思いますね。V-Nerとして。
そうですよね。それは本当に思いますね。だから、これは別に文句があるとか否定したいっていう文脈で言うわけではないんですけど、
結構日本の企業に限らず、ビジネス的にロジックとかソースコードをどうしても開示したくない、開示できないみたいなケースって世界中にいろいろあると思うんですよね。
で、ウェブに持ってきたときに、ブラウザでソース漏えいしないようにしたいんですけどって言われたりしたときに、
いや、ブラウザで読み込むってことはもう漏えいしてるのとイコールじゃないですか。だから、それはちょっとJavaScriptの場合だと、
57:01
完全ってのは無理なんですよみたいな話をたまにしなきゃいけないときがあって、なんかそのときに、このウェブのオープンソースで、
みんなでいいものを作っていくっていう文化が、やっぱり、否定されてるわけではないとは思うんですけど、
そういう文化で育ってきたときに、ソースを開示したくないみたいな話が出てきちゃったときの、ちょっと寂しい気持ちというか。
そうですね。ネイティブアプリとかウェブ以外のプログラミングではそっちが当たり前ですからね。
そうですね。だから、別にそれは悪いことではないし、ビジネスとしてちゃんと自分たちの財産を守るっていうのはもちろん必要なことだと思うし、
っていうのは分かった上で、なんか単純に私の個人の気持ちの問題なんですけど、やっぱり、こうなんか、オープンでみんなでプロリクエスト出して、
いいものをみんなで作り変えながら成長していくみたいな文化ってすごく尊いなっていうのは思いますね。
で、実際自分がこう公開する側になったときも、プロリクを出してくれる人がいたときのその感動ですよね。
なんかあの、ツイジーエルっていうシェーダーをかけるウェブアプリみたいなやつを公開したときに、
そいつはオープンソースにしてあったんですけど、結構みんなプロリクをくれたんですよね。
で、それがなんかすごい嬉しくて、あの、はしゃいじゃいましたね、嬉しくて。結構。
みんなにその自分の行動を読んでもらえて、さらにそこに参加してもらえるっていう。
そうですね。なんかすごいね、その自分が送る側になるときの真理だと、ちょっと勇気がいるというか、
うんうん、確かに確かに。
ね、その、無限にされたら嫌だし、まあでも、治ってくれたら嬉しいしみたいな、
ちょっと勇気と希望と絶望の間みたいなところで、ちょっとね、ビクビクしながらプロリクを出すっていう感じの真理になっちゃいがちかなと、
出す側だったらそういうふうに感じるんですけど、もらった側から、まあちょっとでも人によるのかな、私はすごい嬉しかったんですよね。
うん、自分も嬉しいですよ、すごく。
めちゃくちゃ嬉しかった、その、やっぱりよくしようとしてくれてるってことは使ってくれてるってことだし、
少なくとも何かしらの期待があるからプロリクを出してくれるって考えると、めちゃくちゃ嬉しい気持ちになりましたね。
うん、一緒にそのライブラリー育てていってもらえるっていう。
そうですね。なんかこういうのもやってみないと経験できない、そのオープンソースにしてみないと経験できないじゃないですか。
だからやっぱり、なんかその人によってはなかなか味わえないことなのかなっていうか、別にそのオープン化することに魅力を感じない層もいると思うし、
それは別に悪いことではないと思うんですけど、個人的にはなんかオープンソース化したことによって、
1:00:04
自分も恩恵が色々受けられるし、人との繋がりもできるし、まあいいことすごく多いのかなっていうのはちょっと思いますね。
本当に自分が会ったこともない人からそのコミュニケーションできるきっかけになって、
そういうのは、なんかこうオープンソースならではかなっていうふうに思いますね。
そうですね。
3GSの場合は結構悪い人はいない、悪いっていうか、みんなすごく優しい感じで、
で、コアコントリビューター的な人が多分5人ぐらいいるんですけど、ミスター・ルーヴを始め。
で、みんないい人で、その中にウエストラングレーっていう人がいて、その人がすごくすごくて、
そういう人たまに突っ込んでくるんですよね。
トライアル&エラーじゃなくて、ちゃんと証明出して、なんでこうなるのか教えてくださいみたいな。
そういう人がいて面白いなっていうのは、すごい謎なんですけど、
GitHubのアイコンもデフォルトで、で、コントリビューターしてるのは3GSしかなくて。
どういう人なんですかね、そのバックボーンが。
すごい謎なんです。
作者さんなのかなんなのかみたいな、よくわかんなくて。
以前、ミスター・ルーヴ、3GSの作者の人にお話しする機会があって、
ウエストラングレーってどんな人なの?みたいな、ミスター・ルーヴに聞いたんですけども、
ミスター・ルーヴ自身もよくわかんないみたいな、会ったことないしみたいな。
すごく謎な感じですね。
でも全体的に優しくて、で、コミュニティとしては。
1人だけ以前バンされた人がいるんですよ。リポジトリから3GS。
総合の新刊模型記者さんですけど、なんか結構しつこい感じで。
で、コメントと一緒にインターネットミームみたいな、変な画像とか貼ってきたりとかして。
さすがにそういう人はバンされるんですけども、総合じゃなかったら全然受け入れてもらえるし、3GSはいい環境ですね、コミュニティとして。
絶対に、前回のエドさんと話したときも同じようなことを話しましたけど、やっぱり複数の人間が集まったときに、
確率的にどうしてもそういう人がいる可能性って出てきちゃうし、
なんかその、一見このAというコミュニティではちょっと合わなかったけど、でもBというコミュニティの空気だったらすごく貢献してくれる人っていうケースもあるかもしれないですもんね。
だから一概にね、悪いことばかりとは限らないとは思うんですけど、やっぱどうしても複数の人が集まると、
そこには絶対に100人いれば100人分の性格があるんで、合わないってことはどうしても起こっちゃうから、その辺はやっぱオープンソースの難しい部分かもしれないですよね、どういうふうに運営していくかっていうと。
1:03:06
コミュニティに合う合わないとかもありますからね。
たぶんだからそのコアコントリビューターというか、基本的にはオーナーになるんだと思うんですけど、その人のやっぱ心持ちというか性格によって形成されるコミュニティの性質が変わってくるような気はしますね。
だからたぶんMr.DOOBのその人となりというか、みんなMr.DOOBのこと尊敬の眼差しでも最初からは見てると思いますけどね、やっぱりその業界に対して貢献してきたことがすごい大きいじゃないですか。
3JSがもしなかったらって考えると、相当違った未来があったと思うんで。
結構Mr.DOOB自身も日本語のツイートとかも補足してますよね。
なんかどうなんですかね。別に新西家っていうことでもないのかなと思いますけど、やっぱだからなんですかね。
心が広いというか、大中というか、そういう懐の深い感じありますよね。
でも3JS本当になかったら、たぶんWebGLの世界中での扱いはもっと違ったものになってたと思うので、偉大な発明ですよね。
そうですね。WebGLの敷居をだいぶ低くしてくれた存在ですね。
いや本当にすごい人ですよね。
だいぶ、たぶん2010年くらいから存在するライブラリですけど、今もすっごい活発で。
今だとたぶんPBR周りの強化が中心に置かれてるのかなっていう感じですね。
なんかタイプスクリプトの型ファイルの管理がめちゃくちゃ大変だから、残念だけど読めますみたいなのありましたよね最近。
ミスター・デブ自身もタイプスクリプトそんな好きじゃないみたいで、その辺も結構大きい。
なんか世界的なトレンドとしてはやっぱり今でもタイプスクリプトに対応していかないとなっていうのが、避けられない空気としてあるような気がする中で、
そういう決断をしたっていうのはなんかちょっと意外な感じもしましたね。コストが確かにね、すごくかかっちゃうっていうのはわかるんですけど。
ただ、超個人的なこと言っていいですか。超個人的なこと言うと、俺も結構ピアノ、ネイティブなJavaScriptの方が好きっていうか。
タイプスクリプトで書けることの恩恵ってわかるし、その型をしっかり定義できた方がいいんですよ、個人的にも。
だから自分で書く分にはタイプスクリプトで書きたいんですけど、じゃあ例えばJavaScriptじゃなくてWebGLをスクールで教えるときにタイプスクリプトのソースを配るかっていうと、絶対配らない。
1:06:06
確かに。確かに。絶対配らないです、今後も多分。よっぽどタイプスクリプトとJavaScriptの関係が変わらない限りは、
もうブラウザネイティブで動くレベルにならないと。
多分タイプスクリプトのソースは配らないですよね。だからそういう意味では、そのJavaScriptの素のままのソースで動くっていうことの方をなんか重視しちゃうというか、
あんまりタイプスクリプトに対してリソースを割きたくないという気持ちはなんとなくわかりますね。
自分で書く分には「勝たねーのかよ」っていうのはやっぱりあるし。
多少その入力する文字数が多少増えたとしても、トータルで考えたら絶対そっちの方がいいじゃないですか。
やっぱりタイプスクリプトで書けた方が、中長期的なメンテナンスコストまで考えたときにはそっちの方がいいっていうのはわかるんですけど。
でもやっぱりサンプルで配ったりとかできないな。配られて使える人と使えない人がやっぱり別れちゃうと思うし。
そうですね。ブラウザーネイティブで動かないっていうのが一番意識が上がっちゃって。
で、書き方もちょっと独特で。JavaScriptができるだけだとダメになっちゃいますからね。
発明として画期的だし、画期的というかみんなが困っていたことを解決するソリューションではあると思うんですけど、
なんとなく3JSがサポートしませんって言った決断もわからないでもないですね。すごい個人的な気持ちですけどね。
これもたぶんMr.Daveの心の広さ的なところも、3JSがすべての人に使ってもらえて読んでもらえるっていうところがあるのかもしれないですね。
なんか私もそういう感じがしますね。なんとなくそのスクールとか、例えばですけど技術記事を今後書くことがあったとして、
それをタイプスクリフトで書くかっていうと、たぶん書かないですよ、やっぱり。やるとしたら平気するというか、両方載せるということはするかもしれないですけど、
そもそもWebpack入ってくるのすらちょっとためらいますもんね。そのスクールのサンプルという意味で言うと、
単純に最低限ローカルサーバーだけ立ててくれと。そのクロスオリジンのあれがあるから、ローカルサーバーだけは立ててほしいけど、
それ以外のことは普通にブラウザがあれば動きますからっていう状態をやっぱりキープしたいですよ、個人的には。
自分で開発するんだったら本当Webpackも当然使うし、必要に応じてタイプスクリフトも使うし、その他のオープンソースのものももちろんそうだし、
1:09:00
それら使えるものは使っていくんですけど、いざ教えるってなると、やっぱりそこはためらっちゃいますね。タイプスクリフト前提でとかはやっぱりできない。
タイプスクリフトできる人はJavaScriptに読めるから、JavaScriptだったら裾野は広がってみたいなところなんですか。
結構前あったのは、WebGLのスクールのサンプルを自分なりにタイプスクリフトで書き直してる受講者さんとかもいて、
ちょっと動かないで見てほしいんですけどって渡されたソースコードがタイプスクリプトで、当時に私はタイプスクリプトをよくわかってなかったんで、
やべえこれ読めねえなっつって。でも一回なんかちょっと簡単にでも触りだけ勉強すれば、
こういうことを書くことによって型が定義されているだけなんだなっていうのはまあわかるんで、読めないってことはないんですけどね。読めるは読めるんだけど。
でも逆がやっぱ難しいですよね。タイプスクリプトができる人はJSも読める。でもJSが読める人がタイプスクリプトをやっぱ最初はびっくりすると思うんで。
WebGLみたいにこう、自分の領域とあまりにも全く違うものを頭にインプットしなきゃいけないときに、
タイプスクリプトっていうその余計な要素が出てきてしまうことによって理解を阻害しちゃうことが怖いんですよね。
まあ、でもなあ、どうなんですかね。わからないけど。世の中一般的にはやっぱりタイプスクリプト今ないときついのかな。
実際案件とかではどうなんですか。その例えば大きいプロジェクトをやるときってなると余計にタイプスクリプトの恩恵が大きくなるかなっていう気がするんですけど、
業務ではやっぱりタイプスクリプトベースでやることが多いんですか。
それはタイプスクリプトが多いですけれども、タイプスクリプトを使わないときもあって、
うちは受託なんですけれども、受託って最後までずっと永遠に面倒見れる仕事でもないので、
手離れしたときにその運用をやっていく人の属性に合わせてどっちを選ぶのかっていうところですね。
なので、本当にバリバリエンジニアでタイプスクリプトとかがっちり書きたい、
アプリケーションを大事にしたいっていうような人たちにはもちろんタイプスクリプトでやるし、
あるいは手離れしたときに運用とかしていく人たちがHTMLとかJavaScriptをとりあえず書けるよみたいな人が
多く集まるような大きいサイトとかだとタイプスクリプトを使わないで、
一応Webpackぐらいは使おうかなぐらい留めてやったりとかしてますね。
じゃあその辺もお客さんに合わせて変えていくみたいな感じですかね。
1:12:00
そうですね。
すごいですね。
実際には分からないですけど、結構そこを押し付けてる会社あるんじゃないかなっていう雰囲気があって、
自分らが堅牢で確実にいいものを作ったんでこれを納品しますみたいな感じでボンって渡されたら、
多分やっぱ困っちゃうときあると思うんですよね。
その辺もちゃんと考えられているっていうのは素晴らしいですね。
結構私もそれに似たような話で言うと、
クライアントの性質に応じてPureなWebGLで書くか3GSで書くかを変える。
なるほどなるほど。
3GSで書かないとやっぱり後々他の人がメンテできなくなっちゃいますよね。
だからなんかオレオレなWebGLのコードをボンって納品されても困るでしょっていうときはやっぱり3GSで書きますね。
3GSだったらワンチャン調べれば意外と書けると思うんですよ。
やっぱりコードに抽象化されてるというか、
いわゆる普通のWebの文脈で書きやすい設計になってるじゃないですか。
さっきも山本さんもおっしゃってましたけど、あんまりこの難しい数学の話とかを持ち出さなくても比較的書けるというか。
その点なんかやっぱりオレオレのGLとか持ち出してきちゃうと行列にノータッチで完結しないコードとかになってて、
そういうものをなんかボンって渡されても多分困っちゃいますよね。
そういうところは確かにWebGLの場合もやっぱりそういうのはありますよね。
お客さんのクライアントの性質とか、あとはプロジェクトの性質。
長くメンテナンスが必要なのかどうかとか、そういったとこも踏まえて技術選定をするっていうのは確かにありますね。
3J数で作ることの方が最近は多い気がします。
そうなんですね。
なんか単純に全部自分で書いちゃうと、工数かかっちゃうっていうのもありますけど。
確かに確かに。一種の共通言語みたいなところがありますからね。
結局、ノーキーがすごく余裕があったとしても、誰かに引き継ぐとか、複数人でやるっていうんだったらやっぱり3J数を使うことによって、
お互いにそれぞれ理解した上で触れると思うんですけど。
ただ、独自でやることのメリットとしては柔軟性ですよね。
3J数っていう敷かれたレールに乗らない代わりに、自由にレールを敷けるから何でもできるんですけど、その代わりなんかやっぱり工数かかっちゃうし。
1:15:06
そこら辺の判断は結構最初にちゃんとヒアリングをして、どういうふうにしたいかを聞いてっていうことが基本的には最初にやるんですけど、
でもやっぱ最近は3J数が多い気がしますね。
これからいろんな話をしてきましたけども、最後にちょっと聞いてみたいなと思っているのが、これまでもWebGLがあったりSVGがあったり、いろんな形でこのWebのグラフィックスっていうものが進化してきたとは思うんですけど、
これから先のWebというかインターネットというか人々の生活とかすごく広く捉えてもいいと思うんですけど、
これから先Webとグラフィックスがどういう形で、グラフィックスがどういう役割になっていくのかみたいなところってちょっとお話聞いてみたいなと思ってるんですけど、
例えば今のWebってやっぱ基本は2Dだと思うんですよね。平面的なデザインに関してもそうだし、デザインの上に展開されるものも基本的には2Dのものが多いと思うんですけど、
これから先、先週のエドさんの話ともちょっと似通ってきますけど、XRとかの領域もある中で、これから先Webとグラフィックスってどういう風になっていくのかなみたいなところって、
なんか展望だったり予想だったりなんかありますか。
そうですね、これは完全に自分の個人的な視点からの話になっちゃうんですけど、今ってやっぱり独卒さんが言った通り、このWebに載せるメディアが写真だったりビデオだったりとか2Dだから、2Dで足りると思ってるんですよ。
WebもCSSがあって、縦と横があって、そこにテキストを積み重ねていくみたいな。
これからってもうちょっと変わってきたら嬉しいなっていう自分の願望もあるんですけども、例えば今ってiPhoneにライダースキャナーが入ってて、
それがあれば3Dスキャンが自分でスマートフォンでできるような取材、あるいはそれがなくてもフォトグラムメトリーみたいな写真をいっぱい撮ってそこから3Dに復元する技術もあるし、
っていうので、割と昔よりはもうちょっと手軽に3Dができるようになってきてるんじゃないかなって考えてるんですよね。
自分的には。そうなってくると、今まで写真とか動画、2Dだったメディアの中に3Dが入ってきたら嬉しいなっていうのがあって、そうなってくるともうちょっとWebの見せ方も変わってくるんじゃないかなって思って。
1:18:05
さっき言ったフォトグラメトリーなんですけど、自分も出産前にお腹がすごい大きくなっている頃に3Dスキャンをしてきたんですよ。
なんか俺ちょっとFacebookかなんかで見たかもしれないです。
カメラがいっぱい周りを取り囲んでるやつですよね。
そうそうそう。そういうふうに、この2Dでは伝えられない情報っていうのが3Dだと残ると思うんですよね。
なので、そういうのがWebに増えてきたら、そこにメディアとして展開するときに3Dになってくるし、
あとインターネットも5Gが普及すればもうちょっと早くなると思うんですよね。モバイル回線であっても。
そうなったときにテクスチャの解像度も上げられるし、頂点数もドラゴがあるからすごい圧縮できると思うんですけど、
それでももうちょっと頂点数高いものもWebの素材として使えるようになると思うんですよ。
だからやっぱりそれで3DがもうちょっとWebと親密になってきたらいいなっていうふうに考えて。
そうなったときにどういうふうに使っていくかっていうところですよね。
使う準備っていうのはちょっとできつつあって、もちろんWebGLはほぼ全てのデバイスで使えますし、
ARはちょっと難があるところだと思うんですけれども、一応AndroidにはChromeが入ってるからWebXRが普通に使えて、
Chromeも以前はWebARって呼ばれた頃は、いろんなセンサーを通してXARを実現していたんですけれども、
それをやめてAR Coreだったかな。AR Coreの使用、AR Coreのいろんなセンサーを通した、
すごい高級なスマートフォンだけでしか使えない体験じゃなくて、今はカメラの2Dから3D空間を復元するみたいなことをやっていて、
それでよりWebのARを使える端末にはAndroidを持ってる人だったらWebのARを使う準備ができていますし、
それでかつiOSの場合は残念ながらWebXRはないけれども、Appの独自に作ったAR QuickLookがあって、
それで一応3DモデルをARとして展開できるみたいな。
USDZを使うやつですよね。
そうそう。そこも独自のファイル形式でもやもやするんですけど。
独自の仕組みを作って、独自のファイル形式を作って、そこをAppだけで囲い込んでみたいな、そういうのはちょっとあるんですけれども。
1:21:07
でも一応体験としては届けられる準備はある。
そうなった時に、例えばショッピングサイトとかでお店の人がRiderスキャナーを使ってスキャンしたモデルを手軽にユーザーの人に届けられるみたいな体験を届けられるとかになってきたら、
コンテンツとして3Dもあるし、体験として3Dも身近になってくれていいんじゃないかなっていう未来を夢見てるんですけどね。
そうなってくるといいな。
なんかすごく今聞いてて思ったのは、例えばそれこそ10年前とかって、今ほどクラウドってものが一般的じゃなかった頃って、
想像できなかったんですけど、最近ってもう写真撮ったら勝手に非同期でクラウドに上がっていくじゃないですか。
もちろんそれは自分で上がっていくことをちゃんと想定して設定にしてあっての前提の話ですけど、そうすると適当にパシャパシャ撮ってるだけで、それを後から振り返ってみることができて、
2D的なものでは、もはやそれって当たり前になってると思うんですけど、その3D的に空間とか時間とかをギュッて固めてそれをアーカイブしておくっていうのはまだできるようになってないと思うんですよね。
でもその辺もなんかウェブの中でいろんな3D的な表現ができるってことももちろんそうだし、
なんかウェブに限らずでの話になっちゃいますけど、その3D的なものとしてデータを残していくっていうのがより一般的になってくると、
なんかその、それに追従するようにウェブの形も変わっていくのかもしれないし、
その先ほどの山本さんがおっしゃってた、妊娠してる時はこういう立体的な形をしていたっていうのは多分写真では本当に残せないじゃないですか、あれって。
だから、なんですかね、それがもっとやっぱり手軽になっていくというか、そういう形に立体的なデータを残すのも当たり前にできるようになっていく。
しかも3Dプリンターがどんどん進化して、物理的な形として出力したりももっと手軽になっていって、なんかすごい楽しみですね、そういうふうに考えると。
なんか今、低解像度の昔撮った写真とか見ると、昔こんなだったなとか、さらには白黒写真みたいなとか、今だと16:9が当たり前ですけども、4:、
昔の比率忘れちゃいましたけども、昔の比率の写真があったりとか、そういうのを見る感覚になるのかなって、今すごい高解像度の写真も3Dが当たり前だったら、
1:24:00
昔は2Dだったな、みたいな。
そうですね、あるかもしれないですね。どんな感じになるんだろう。やっぱり近未来SFに見られるような、なんかホログラム的にビューンって立体的な映像として目の前に出てくるのが、
何かしらのテクノロジーによって当たり前になった未来からすると、何この平面の、何このペラペラしたやつ、みたいな感じになっていくのかもしれないですよね。
そうですよね。
そうだよな。なんか、俺らの世代だと、ちょうど、その、家庭用ビデオカメラが普及した世代だと思うんですよ、子供の時に。
だから俺たちの親って、写真からその、ビデオで撮影して残しておくみたいな形の、そういう変化を体験してきたのは俺らの親の世代だと思うんですよね。
で、俺たちの世代がこれから子育てとかしていく中で、子供の情報をアーカイブしていくときに、クラウドを使っても本当にどんどん無限に近いぐらいのデータを残せるっていうのが昔と違って、
で、さらに次の俺たちの子供とかの世代になると、なんかそのもう立体で残すのが当たり前になって、で、それをなんかヘッドマウントディスプレイかなんか被って、後から、目の前に再現できて、みたいなことが出てくるのかもしれないですよね。
本当にそうなってくると、その当時の時間を完全に切り取ってタイムスリップができるみたいな、技術的な、そういった意見ができるかもしれない。
いやー、いいですね。しかもそれがウェブでできるとしたらもう。
最高に面白いですね、そしたらね。
一応WebKitにはWebXRの実装があるんですよ。
はいはい。
ただSafariにはないって。
ただSafariにはない。
SafariはWebKitを使っているけれども、
そこのWebKitのどの機能を使うかはSafari、Apple側の判断になっちゃうので、
WebKitはWebXRがあるって言ったんですけれども、
WebKitとかって、Igariaっていうオープンソースの会社があって、
その会社がChromiumとか、あとはWebKitにいろんな実装を追加してくれてるんですけれども、
その中にWebXRが最近入ってるっていうところですね。
ただ、IOSのARKitはOpenXRと互換性がないから、そこをつなげるのはAppleの役割だよってところで、
Appleがどこまで今後やってくれるかってところですね。
やっぱりなんかそこら辺ちょっと難しいですよね。
ちょっとね。WebGLもまさにそういった浮き目を見てますけど、難しいとこですね。
最近やっとWebGL2がSafariでも。
1:27:02
やっとね。やっと乗りましたよ。乗ったというか、やっとスタートラインに立ったかなっていう感じですけどね。
悔しいのは結局、なんだかんだ言うて結局はでも、Appleが対応してくれないと普及しないじゃないですか。
悔しいけど。
やっぱりWebGLも、IOS8でWebGLが有効になりましたっていうのがあって、一気に普及したというか、使っていけるねっていう風になったんで。
悲しいけどね、やっぱり対応してくれないと困っちゃうなっていうところですよね。
ブラウザー次第ですね。
まあまあまあでも、本当になんかそうですね。立体的にデータをアーカイブできて、しかもそれをブラウザ経由で手軽に、しかも5Gとかその先の未来の高速なインターネット環境があれば、
それこそ瞬間で引き出せて、いつでも見れて、簡単にシェアもできて、なんかすごい楽しい未来が待ってそうですよね。
Apple的には、つい先日、モデル要素みたいな、3Dモデルを、モデルタグを提案していて、その中で今までは2Dが主流だったけれども、
3Dも本格的に使われる始めるからこういうタグを用意したんだよっていう説明があったんですけども、Apple的にもそういうのは認識しているのかなっていうのがありますよね。
今まではオープンソースで、なんだっけあれ、もう一個ありましたよね、モデルビュータグでしたっけ。あれはね、もともとありましたけど。
モデルビュータグもすげー便利だなと思ってましたけどね。
あれ確か、GLTFからランタイムでUSDZに変換してくれるから、USDZ用意しないでいいよっていう。
へーそうなんだ。
なんでUSD、別にダメじゃないけどさって感じですよね。もともとUSDは知らない人ももしかしたらいるかもしれないので補足すると、USDはPixel、Pixarか、Pixelじゃないわ、Pixarですね。
Pixarの方で使われてたデータ形式の、一応改造版みたいな形なんですかね。もともとPixarが使ってたやつそのまんまってわけではないのかな、もしかしたら。
USD自体はPixarを使っていて、でそれをZipに圧縮したのがUSDZ。
はいはいはい、だから一応なんかAppleが勝手に作ったものとかってわけではないんだけども、ただとはいえその世界的にGLTFで共通化していきましょうよみたいなところを全く同解して満ち込んできたってことですね。
自分の道を行くみたいな。
本当にもう、強調性のなさがね、ひどいですよね。
1:30:05
まあでもそれはいろんな考えがあってのことなんでしょうけどね。
まあAppleなりのそのビジネス的な部分ももちろんありながら、自分たちの権利を守るためとかいろんな要素があってそうなってはいるんでしょうけど。
まあでも振り回されるのもちょっと大変ですよね。
なんかこう、GLTFとか、まあAVGL2もそうですけど、こういろいろ世の中が進化していくところにあんまり独自主義をぶち込むんじゃなくて、強調してやってほしいですね。
まあ未来はサファリ次第というところで。
そうですね。悲しいですけどそれが現実ということで。
♪
はい、えーとではね、ちょっと話が盛り上がってずっといっぱい喋っちゃったんですけども。
時間もね、結構いい時間経ってますのでそろそろ締めていきたいと思います。
はい、で最後になりますけれども、えーと山本さんの方からね、宣伝とか告知とかありますかっていう話をしてたんですけども、ちょっとお伝えできればというのがあるらしいのでよろしくお願いします。
はい、宣伝というほどではないんですけれども、自分いろいろNPMでライブラリー公開していまして、3JS用のカメラライブラリー結構使っていただいてる方、
週間ダウンロード5000ぐらいダウンロードしてますけども、カメラコントロールっていうのを作っていまして、もしよかったらぜひ試していただいて、プルリクエストを送ってください。
そうですね。本当プルリクエストもらう方は本当に嬉しいですからね。
嬉しいですね。
ぜひ、結構世界的にもいろんな使っている人がいっぱいいるライブラリだと思うので、ぜひね、これを聞いている皆さんも使ってみてください。
はい、えーとではね、ちょっと長くなりましたけども、いやもう本当楽しいとどんどん話が続いていってしまって、無限に話しちゃうんでね、今日はこの辺で終わりにしたいなと思います。
山本さん本当に今日はありがとうございました。
ありがとうございました。
また機会がありましたらお伺いしますので、その時はよろしくお願いします。
こちらこそ。
はい、ではノーマライズFM、一応今日はね、こういった形で終わりにしようと思うんですけども、最後になりますが、ノーマライズFMでは#ノーマライズFMというね、ハッシュタグでご意見ご感想、あとは質問とかいろいろ募集しています。
で、結構本当に前回の第2回の時もね、あの感想とかつぶやいてくれている方がいてすごく励みになりましたので、あのぜひね、今回もいろいろね、感想とか聞かせていただけましたら嬉しいです。
1:33:08
はい、それでは今日はこれで終わりにしたいと思います。
最後までありがとうございました。
ありがとうございました。
ありがとうございました。
ありがとうございました。
ありがとうございました。
ありがとうございました。
ありがとうございました。
ありがとうございました。
ありがとうございました。
ありがとうございました。
ありがとうございました。
ありがとうございました。