CrossRoad

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

Babylon.jsのHavokで任意の3Dモデルに物理演算を当てて、当たったことを確認する方法

引き続きHavokについて調べています。 前回書いた通り、aggregateという関数を使うことで、オブジェクトに物理演算をかけることができます。また、PhysicsViewerを使うことで、物理演算がかかった結果を確認できます。しかし、公式ドキュメントで指定されて…

Babylon.jsのHavokで力を与えてオブジェクトを動かす方法

クリックしたらボールが動くという仕組みです。非常に単純ですが、公式ドキュメントにサンプルコードがなかったので、解説付きでまとめました。 1. Havokでは、3Dオブジェクトに当てたbodyとshapeで物理演算を実行する 2. Havokのaggregateを使うと、bodyとs…

Babylon.jsのHavokエンジンの基本的な使い方

Babylon.jsではv6.0以降にHavokという物理エンジンが使えるようになりました。 これまでの物理エンジンとは少し使い方が異なるので、基本的な使い方をまとめました。 1. Havokとは 2. Babylon.jsでHavokを使う方法 3. 基本的な使い方 4. おわりに

Babylon.js ゆるほめLT会 vol.2 の内容をまとめました

Babylon.js Japanコミュニティ主催で「ゆるほめLT会 Vol.2」を開催しましたので、内容をまとめてみました。 1. Babylon.js ゆるほめLT会とは? 2. 発表内容 2.1 Babylon.jsを使ったプレゼンテーション 2.2 パーティクルやってみた! 2.3 Babylon.jsユーザの…

Meta Quest1/2/ProのWebXRコンテンツ操作をエミュレートできる"Immersive Web Emulator"の使い方について

今更ながら気づいたので書いておきます。 Meta Quest2/ProのWebXRコンテンツを、HMD実機なしで動作確認できるエミュレータについてです。 動作環境 macOS Ventura 13.4 Microsoft Edge browser 114.0.1823.58 Google Chrome 114.0.5735.198 Immersive Web Em…

【技術書典14】はじめて物理本と電子本を一緒に作成したときのTipsあれこれ

先週より技術書典14が開催されています。 私が所属しているBabylon.js 勉強会では、前回の技術書典13に引き続き「Babylon.jsレシピ集 Vol.2」を頒布しました。コンテンツ以外の前回との差分として、今回は物理本の作成、現地会場での販売に挑戦してみました…

An event report of selling 2nd Babylon.js recipe book on a technical books showcase

A large technical book showcase event started since yesterday in Japan. In this event, BJS study group in Japan has published a new recipe book Vol.2. techbookfest.org Everyone can purchase it via online and a physical exhibition hall (onl…

Babylon.js WebGPUパフォーマンスを向上するSnapshot Renderingについて

前回の記事ではWebGPUを使う方法について紹介しました。 www.crossroad-tech.com Babylon.js WebGPUには最適化手法がいくつかあります。今回はその中の1つであるSnapshot Renderingについて紹介します。 1. Snapshot Renderingとは 2. Snapshot Renderingの…

Babylon.jsのWebGPUを最小構成で使ってみよう

Babylon.jsではv5.0以降でWebGPUのサポートが開始しました。 WebGPUについては公式ドキュメントに色々と記載があります。今回は、最小構成で記述する方法を紹介します。 1. WebGPUとは 2. WebGPUを使うには 3. Babylon.jsでWebGPUを使った記述をするには 4. …

Babylon.jsでパフォーマンスチューニングをしてみたお話

Babylon.jsで多数の3Dモデルを表示すると、うまく表示されないことがあります。M1 Macのような高性能PCではあまり気にならなくても、iPhoneのようなモバイルにするとロードに失敗することがあります。 今まで見落としていたのですが、Babylon.js Documentati…

A report of Babylon.js meetup Vol.2

We organized second meetup of Babylon.js. The post shows the meetup reports. 1. What is Babylon.js Japan? 2. Preesntations 2.1 Opening 2.2 Introducing Babylon.js 6 -What's new with it- 2.3 A year activities of Babylon.js JAPAN 2.4 Case stu…

技術書典13に「Babylon.js レシピ集 Vol.1」を頒布したお話

これはBabylon.js Advent Calendar 2022の最終日の記事です。 qiita.com 最終日ということで、今年の9月に技術書典13にてBabylon.js勉強会から技術同人誌を頒布したことを書きたいと思います。 先に書いていた英語版の日本語訳に近い内容+加筆です。 www.cro…

Babylon.jsでNavigation Meshを使う方法を調べてみた

これはBabylon.js アドベントカレンダー2022の記事です。 qiita.com Babylon.jsにはNavigation Meshという仕組みがあります。 Navigation Meshとは、指定場所までの移動経路を自動的に計算してくれる仕組みです。UnityだとNavMeshとして紹介されています。 …

Babylon.jsのGUIコンテストで入賞したお話

これはBabylon.js アドベントカレンダー2022の記事です。 qiita.com 2022年の夏頃に、Babylon.js ForumでGUI Adventureというコンテストが告知されました。 forum.babylonjs.com ソースコードだけで書くか、以前紹介したBabylon.js GUI Editorのどちらかで何…

Babylon.jsで壁にぶつかる処理を書いてみよう

これはBabylon.js アドベントカレンダー2022の記事です。 qiita.com 前回作ったキーボード移動は、移動処理しか入れてないので、床があってもなくてもずっと移動できてしまいます。 今回は、ステージに壁を追加して、壁にぶつかったら進まないという処理を追…

Babylon.jsで指定したオブジェクトをキーボード操作で移動させてみよう

これはBabylon.js アドベントカレンダー2022の記事です。 qiita.com 今回はWASDキーで、平面上のsphereオブジェクトを動かす処理を紹介します。 1. オブジェクトの移動にはtranslateが便利 2. WASDキーでの移動方法 3. 動作確認 4. おわりに

Babylon.jsで、ブラウザ再生環境に依存せずにフォントが使えるようにしよう

これはBabylon.js アドベントカレンダー2022の記事です。 qiita.com ブラウザで表示されるサイトの文字フォントは、ブラウザが動くコンピュータ機器にインストールされているフォントに依存します。 そのため、あまり使われないフォントでサイトを作っても、…

Babylon.jsでシューティングゲーム風画面を作ってみた

これはBabylon.js アドベントカレンダー2022の記事です。 qiita.com 今回は、先月作ったソードアートオンライン風のオブジェクトが消えるエフェクトをもとに、簡単なシューティングゲーム風画面を作る方法を解説します。 1. Grid Materialを使ってサイバー風…

Babylon.jsでHPゲージを作ってみよう

これはBabylon.js アドベントカレンダー2022の記事です。 qiita.com Babylon.jsにはGUIを作る仕組みが準備されています。たとえばゲームでよく使われるHPゲージのような表現も比較的簡単に作れます。 今回は、HPゲージがゼロから回復する、HPゲージが特定イ…

Babylon.jsで弾を飛ばす処理を作ってみよう

これはBabylon.js アドベントカレンダー2022の記事です。 qiita.com 今回はキー入力をしたら弾が飛ぶ、というシンプルな表現の作り方を紹介します。 実際は他にも方法があるはずなので、今回の紹介は一例としてご理解ください。 1. まずは物理演算を有効にす…

Babylon.jsで作った空間の中を自由に移動してみよう

これはBabylon.js アドベントカレンダー2022の記事です。 qiita.com Babylon.jsではいろいろな方法で3D空間の中を移動する方法が提供されています。今回はその中でも比較的簡単に移動できる方法を紹介します。 1. Babylon.jsで作った空間を移動する方法 2. …

Babylon.jsの採用事例

これはBabylon.js Advent Calendar 2022 の2日目の記事です。 1日目では、はじめてのBabylon.jsについて解説しました。今回はBabylon.jsがどんなところで使われているかを紹介します。 1. 企業や団体による採用事例 1.1 Snap on 1.2 FMD 1.3 FRAME 1.5 ト…

はじめてのBabylon.js

Babylon.js Advent Calendar 2022が始まりました! qiita.com このアドベントカレンダーでは、Babylon.jsを使い方や知見などがいろいろ紹介されると思います。ぜひ全ての記事をご覧になっていただければと思います。 また、12/1時点ではまだ枠がありますので…

How we published a new Babylon.js recipe book Vol. 1

A large technical book showcase event started since yesterday in Japan. In this event, BJS study group in Japan has published a new recipe book Vol.1. techbookfest.org The book has been written by several BJS developers in Japan and contai…

ソードアートオンラインのオブジェクトが消えるエフェクトを作ってみました

今さらかもしれませんが、最近ソードアートオンライン (Sword Art Online : SAO) のアニメにはまっています。 今はガンゲイルオンライン編を見てます。 はまったついでに、SAOで共通して使われる物体が消える (ゲーム内のアイテム消費とか) エフェクトをBaby…

Babylon.js Editorを使って、キャラクタが魔法剣を振ったときの破壊エフェクトを作る方法

時間が経ってしまいましたが、前回からの続きです。魔法剣を振ったときに岩を破壊するエフェクトを作りました。 これまでの内容はこちらです。 www.crossroad-tech.com www.crossroad-tech.com www.crossroad-tech.com www.crossroad-tech.com www.crossroad…

Babylon.jsゆるほめLT会の内容をまとめました

2022/7/14 追記:NewDさんのスライドを追記しました 2022/7/10 追記:akiraさん、つらみぃさんの発表スライドを追記しました Babylon.js Japanコミュニティ主催で、2カ月ぶりに「ゆるほめLT会」を開催しましたのでまとめてみました。 1. Babylon.js ゆるほ…

Babylon.jsでアニメーションの任意のフレームを検知して処理を作る方法

Babylon.jsにはアニメーションを実現する仕組みがあります。ソースコードでキーフレーム別に座標を書いてもよいし、Blenderなど別のツールで作ったアニメーションを再生させることもできます。 今回は後者のように、別のツールで作ったアニメーションの任意…

Babylon.jsのTrail Meshを使ってきれいな軌跡を描く方法

Babylon.jsにはTrailMeshという機能があります。これを使うと、何かが動いた時の軌跡を表示できます。 しかしTrailMesh単独で使うだけだと、見た目があまりきれいではありませんでした。(やり方次第かもしれませんが) 今回はGlow Layerという別の機能と組み…

Babylon.js Editor v4.2.0でキャラクタが炎の魔法剣を振るモーションを作る方法

以前からBabylon.jsでキャラクタを動かす方法を色々と調べています。特に理由はないのですがキャラクタを動かす方法を調べていく中で、ダイの大冒険6巻で登場した「火炎大地斬」を再現してみようと思って、炎の魔法剣を作って剣を振るモーションを作ってみ…