見出し画像

ぼっち開発者が技術の勉強をするために日本コミュニティを立ち上げる【Babylon.js JAPAN】

私はトップクラスに運が良いエンジニアだと思います。

この記事の3行まとめ

・私がBabylon.jsを学びたいと思った理由
・ぼっち開発から好転し仲間が増え始める
・日本コミュニティ立ち上げ &&
5/6 第1回勉強会するから来てね

こんにちは、AR好きエンジニアのイワケンです。
現在社会人5年目でありつつ、ARとコミュニティを愛して活動しています。

自己紹介スライド

2021年にメタバースとNFTブームが日本に到来したとき、私はWebブラウザ上の3DCG表現技術を学びたいと思いました。

その中で、Babylon.jsというWebブラウザ上で3DCGを描画するためのフレームワーク(OSS)に注目しました。

私がBabylon.jsを学びたいと思った理由

その理由は「PlayGround」「Sandbox」「Node Material Editor」といった、ブラウザ上の便利ツール魅力的に見えたからです。

Node Material Editor

Webブラウザ上の3DCG表現を深めていくためには、エンジニアだけがプログラミングによる実装を頑張るのではなく、CGアーティストが描画を深められるような操作UXが必要だと私は直感的に思っています。

このヒントは2020年にUnreal Engineを学び始めた時に得ました。
5年間Unityを触ったのちUnreal Engineを触って気づいたのは、Unreal EngineのMaterial (Shader) の多くは、ノードプログラミング的に操作することができます。これはDCCツールであるMayaの操作に近いUXのため、CGアーティストが表現を深めやすいということに気づきました。
一方、Unityの場合Materialのデフォルトはインスペクターからしか操作できず、細かい修正はShaderプログラミングが必要です。これはアーティストにとって非常に学習コストが高いです。これを解決するためには、UnityエンジニアがShaderプログラミングやEditor拡張をサポートすることでワークフローとして完成するものだと思います。

話を元に戻して、Webブラウザ上の3DCG表現はどうでしょうか?通常の実装ではUnityやUnreal Engineよりも直感的でないワークフローになります。

プログラミングはCGアーティストには大変

これはPlayGroundになりますが、カメラやLightの位置、球や板の位置もプログラミングにより決定されています。UnityやUnreal Engineでは、GUIで位置を決定することもできます。これでは、CGアーティストは泡を吹いてしまいます。

しかし、Babylon.jsにはInspector機能があります。これを使うと、Web上でGUI的にTransformやパラメータを操作することができます。

Inspector機能

こういったWebプログラミングながら、ゲームエンジンの良さを持つ体験を提供しようとしている心意気を魅力的(セクシー)でええやんと私は思いました。

これが私がBabylon.jsに興味を持った理由です。

これは極めて直感的な理由です。
もちろん「three.jsにもEditor機能があるよ」とか「PlayCanvasはどうなの?」とか「HubsのSpokeはどう?」とか「UnityのWebGL書き出しは?」などの突っ込みがあるかもしれません。

これらも興味あります。なので私個人としては将来的に全部調べていきたいと思っています。しかし、まずBabylon.jsの心意気に魅力を感じ、勉強したいと思ったので、まずBabylon.jsを勉強していこうと思いました。

ぼっち開発から好転し仲間が増え始める

私がまず行ったのは、ドキュメントを読み、動くものを作り技術記事にまとめることです。Babylon.js初学者の私は、まず最小限の実装を技術記事としてまとめました。

ちなみに、Babylon.jsのドキュメントは英語です。
DeepL翻訳を抱きしめながら、和訳系の記事も書きました。

記事を書いてTwitterにシェア
記事を書いてTwitterにシェア
記事を書いてTwitterにシェア

を繰り返す日々を続けていました。

しかし、ぼっち開発にも限界を感じ始めます。

こんなツイートをぽつり

こんなに記事書いているけど、どこかでLT発表しないともったいないと思い、LT先の勉強会を求めるツイートをしました。

そしたら…

Microsoft MVPであり、Babylon.js開発の先駆者である Limesさんに引用RTをいただきました。

そしてMicrosoftのユスティさんも参戦。

これは波が来た?と思い、この勢いで勉強会の企画と日本コミュニティを作ってしまおうと一気に動きました。

私にはコミュニティや勉強会の企画・進行のノウハウがあります。そしてBabylon.jsへの好奇心がありました。それで貢献しようと。

さらに、Babylon.js開発の先駆者のやまゆさんと、Microsoft社員でBabylon.jsの和訳Bookを執筆したちょまどさんの5人で立ち上げと企画を進めました。

このムーブメントに交われたのは、半分以上運の良さでした。

・Babylon.jsがMicrosoft社員が推進しているOSSであること
・偶然私がこの2022年3月にBabylon.jsに関心を高めていたこと
・私を含めたMicrosoft MVPのメンバーが推進できるパワーがある時期だったこと

私は乗っかれるものにはどんどん乗っかっていきたいタイプですので、MicrosoftさんのOSSとコミュニティに推進したい気持ちに乗っかりつつ、勉強会とコミュニティの設立を積極的に動きました。

そして4/22にイベントページと日本ユーザーグループのDiscordを公開しました。

イベントページ

ユーザーグループ (Discord)

Discordは
・技術的質問/雑談
・勉強会の告知
・勉強会後の懇親会


をする場所として使用することができます。

私も、やまゆさんとLimesさんに技術的な質問をしまくっています。大変ありがたい…

こうして、私はぼっち開発から、コミュニティと協力しつつ開発できる体制をつかむことができるようになりました。

Discord入りたい方はこちらのリンクをクリック!

そして、ついに求めていたLT登壇の機会を自ら作り出すことができました。

5/6 司会とLT登壇します!

Babylon.js 勉強会はシンプルです。名前のままです。Babylon.jsについて勉強するイベントです。そのためのセッションやLTの場を準備しています。
しかしサブタイトルにあるように

ブラウザ3D表現に関心ある人のための勉強会

connpass

対象は「ブラウザ3D表現に関心ある人」と広めです。
具体的には

  • ブラウザ3D表現に関心ある人

  • これからBabylon.jsを学びたい人

  • すでにBabylon.jsが好きな人

  • Unityやってたけどブラウザ表現も興味あるぞ、という人

  • three.js触ってたけど、Babylon.jsも触ってみたい人

など、今までBabylon.jsを触ってこなかった人も対象にする予定です。

そのためのセッションがこちら

  • 「Babylon.js 超入門」

  • 「Babylon.js 5 新機能紹介」

  • 「#BabylonJS5 の祭りの様子をレポート ツイートまとめ」

Babylon.js開発先駆者の、やまゆさんとLimesさんに、Babylon.jsの超入門とBabylon.js 5 新機能を話してもらいます。

私も超聞きたいです。早く聞きたい。

そして、私もLT登壇させていただきます。

「Babylon.jsで3DViewerを作ってみよう(仮)」

まずは3DViewerを作ってみようというところで試行錯誤した結果気づいたことをLTしたいと思います。

現在、connpassは参加者数149人これは大変うれしいです。

興味あるけど、まだ申し込んでいないという人は、ぜひ申し込んでください。
当日はYoutube Liveになるので、どこからでも視聴できますよ!

そして当日はTwitterの実況ツイート
#BabylonJS #BabylonJS勉強会
のハッシュタグツイートお願いします。

なぜなら、Babylon.jsの開発者たちに「日本のユーザーコミュニティ盛り上がっているぞ」ということをアピールしたいからです。参加者のみなさんよろしくお願いします!

よろしければサポートお願いします! サポートいただいたお金はハッカソンの運営に使わせていただきたいと思います。