CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

Babylon.js 勉強会 Vol.2の概要をまとめました

2022年5月から開始した「Babylon.js Japan」の主催による第2回の勉強会を実施しましたので、まとめてみました。

1. Babylon.js Japanとは?

Babylon.jsに関する勉強会の告知、コミュニティ内での知見をシェアするグループです。2022年4月に開始しました。

babylonjs.connpass.com

この日の発表内容は、こちらのYouTubeから視聴できます。オンライン、現地参加で合わせて110名くらいの方に参加いただきました。
www.youtube.com

また、LT登壇者でもあるかーでぃさん、Rickyさん、nagautaさん、やまゆさんにも、まとめ記事を共有いただきました。

note.com

note.com

qiita.com

www.infiniteloop.co.jp

イワケンさんによるTogetterまとめも共有します。
Babylon.js勉強会 vol.2 まとめました! - Togetter

2. 発表

2.1 オープニング

発表者:イワケン@XRコミュニティのキーマン/Microsoft MVP (@iwaken71) / Twitter

安定のイワケンさんによる司会で始まりました。会場の盛り上げにも気を配っていただいていてさすがでした。

私は急遽オンライン参加に切り替えなければならず、現地での写真が撮れませんでした。少し上で共有したYouTubeLiveでご確認ください。

2.2 Babylon.js 6.0 新機能まとめ

発表者:Limes (@limes2018) / Twitter

speakerdeck.com

私の発表です。Babylon.js6は機能追加や性能アップなどが追加されました。当初の3/30から延期して、v6.0の正式リリースは4/20に延期されました。

この発表では、Babylon.js公式Twitter、Documentation、GitHub履歴などを確認して、v6.0で追加と思われる6つの機能を紹介しました。 6つの機能一覧です。

  • WebGPUによるパフォーマンス最適化
  • GUI Editor + Playground連携
  • 液体表現 (Fluid Renderer)
  • Scene内オブジェクトの読み上げ機能 (Screen Reader)
  • オブジェクトへのお絵かき機能 (Texture Decal)
  • 反射表現( Screen Space Reflections (SSR) Rendering Pipeline)

詳細は発表スライドをご確認ください。
また、Screen Space Reflection、Post Process、WaterMaterial、LensFlareを使って桜が咲く公園を作ってみました。

youtu.be

2.3 Babylon.js JAPAN 活動紹介

発表者:ちょまど🎤今夜28(火)福岡登壇 (@chomado) / Twitter & やまゆ💝💯 (@akai_inu) / Twitter

Babylon.js Japanに関する1年間の活動紹介です。ここでお話しされたリンクです。

babylonjs.connpass.com

scrapbox.io

babylonjs.connpass.com

techbookfest.org

nextpublishing.jp

2.4 Babylon.js 活用事例1

発表者:やまゆ💝💯 (@akai_inu) / Twitter / 所属:㈱バーチャルキャスト (関連会社)

やまゆさんは、アバター3DモデルのVRM をBabylon.jsに対応させる babylon-vrm-loader のコントリビュータです。

github.com

今回はVRM再生機能としてBabylon.jsを選んだ理由、babylon-vrm-loaderをどうやって作ったかについて解説されていました。

なぜBabylon.jsを選んだか?
Why Yamayu selected Babylon.js for VRM?

Babylon.jsのよいところ
Advantage of Babylon.js adaption

開発時の課題
MToon Materialの移植→色々方法はあるが、最終的に自作することに。

Why Yamayu developed his custom materials for Babylon-vrm-loader

2.5 Babylon.js 活用事例2

発表者:昼間彪吾さん / 所属:㈱ 日立製作所

日立製作所で取り組んでいる産業向けメタバースについて紹介されていました。
ツイッターで色々とコメントがあったので、そちらをいくつか貼ってみました。

2.6 LT1「部屋のぷちデジタルツイン」

発表者:かーでぃ@Babylon.jsレシピ集発売中 (@_0447222690292) / Twitter

docs.google.com

デジタルツイン
- センシング技術を使って、物理状態を電脳空間に再現
- 取得データをもとに近未来予測を行う
- 予測結果をもとに、最善手で行動することができる

今回の検証
- 自分の部屋の温度計データをBabylon.js上で作った空間にマッピング

How to make sensing data with Python, Razpi and babylon.js

今後の課題
Future issues

2.7 LT2「2D画像を3Dモデルに変換して表示するアプリを作ってみる」

発表者:nagauta (@nagauta_jp) / Twitter

・まだBabylon.jsに触れてないけど興味がある、という位置づけで今回LTにご参加

・やってみたいこと:ユーザの選択した2D画像を3Dモデルに変換。変換した3DモデルをBabylon.jsで表示する

・新年度なので新しい技術に触れてみたい

・友人と開発を検討している、ヘアカタログ関連アプリに使えるかを試したい

・2D images to 3D models。AI Modelの生成は、Global-Local Path Networks(GLPN) を使用

写真を元に3Dモデルを生成に成功。

参加者コメントをいくつか抜粋

もう少し理解を深めて、ヘアスタイル画像から3Dの髪型生成を試してみたい  

2.8 LT3「軽率にBabylon.jsへWebXR Featureを実装してOSSコミットした 」

発表者:にー兄さん (@ninisan_drumath) / Twitter

speakerdeck.com

主な発表内容はこちらのスライドの通り
presentation's main topic by ninisan_drumath

  • WebXR Device APIの仕様に準拠しつつ、Docsの内容を理解しつつ、メンテナーさんと議論しながら進めた

  • Babylon.js v5.49.1 にマージされた

  • 知見:WebAPIの値をそのまま返さないようにしてほしいと言われた。

  • ArrayBufferやWebGL TextureではなくBabylon.jsで使っているRawTextureに加工する必要があるという意図のはず

  • ArrayBufferやWebGL Textureをそのまま渡す場合、そもそも今回のAPIを使う理由がなくなるため

  • 今日から社会人!(株式会社ホロラボ

2.9 LT4「Babylon.js触ってみた」

発表者:Ricky (@N1809031125) / Twitter

目的:Babylon.jsで何ができるかを試してみる

・Scaniverseと呼ばれる3Dモデル作成アプリで3D化
・glb形式で出力してBabylon.jsで表示させてみた
・Unityで作ったモデルをVRで再生して、、は意外に大変。
(Unityバージョンを合わせる、設定する、ビルドする、、)
・clusterやVRChatへのアップロードしなくても良いのは楽

・パーティクル設定などはUnityの方が良いと思う。一長一短

・Babylon.jsで数行書いて、表示させるデータのパスを指定するだけでできる。

Scaniverse - 3D Scanner

Scaniverse - 3D Scanner

  • Toolbox AI
  • 写真/ビデオ
  • 無料
apps.apple.com

2.10 LT5「 Babylon.js x 8thwallでWebARをやってみた」

発表者:Yuki Tanabe (@tanabee_8) / Twitter

speakerdeck.com

  • Dentsu Craft Tokyo所属
  • フロントエンドエンジニア
  • よく使うのはthree.js
  • WebGLゆる勉強会に参加

  • つくったもの:セイコーグループの元旦新聞広告向けAR。特定の記事にカメラをかざすと、ARでアニメーションを再生。日経新聞、読売新聞、朝日新聞に掲載。

  • このアプリは8th WallとBabylon.jsで開発

補足:Visual imageはこちらの記事で確認できます。

mag.sendenkaigi.com

  • なぜBabylon.jsを採用したのか?8th Wallはthree.jsにも対応している

  • うさぎのモデルをたくさん出したい! = bone animationが付いた大量のインスタンス生成を使う

  • three.jsはPR(Pull Request)はあったが、マージされていない。モバイルで60fpsでなかった。Babylon.jsでは対応してて60fps出た→Babylon.jsを採用

  • Babylon.jsで苦労したこと(three.js経験者の観点)

  • 世の中に参考記事が少ない。8thWallのサンプルコードも少ない
  • 苦労もしたがBabylon.jsもよかった

  • フロントエンジニア募集中

3. おわりに

デジタルツイン、2Dimages to 3Dmodelsなどなど、新しい話が出てきてさらに盛り上がる可能性を感じました。

クロージングでも説明ありましたが、Babylon.js勉強会へ参加される方は、ほぼ全員が初めて参加の方です。
気になったらBabylon.js JapanのDiscordにもぜひ参加してみてください。