Babylonさん(仮)
GPT BuilderでBabylon.jsのコードを出力してくれるAIボットを作ってみました。
https://scrapbox.io/files/654f9adf1ca0d3001cbb818a.png
GPT BuilderはChatGPT Plus向けの機能の1つで、ウィザード形式で答えるだけで、
オリジナルのボットを作ってくれる機能です。(ボットのイメージもDALL-Eで自動生成してくれるようです。)
試しに、Babylon.js Playground用のコードを書いてくれるボットを作ってもらいました。
ボットの実行結果としては、下記のような単純なプロンプトでコードを返してくれるボットが出来上がりました。
例)
プロンプト:物理演算で大量のカラフルなボックスを落下させるサンプルを教えて下さい。
出力結果を改善するおまじない
Babylon.jsとthree.js の既定の動作の違いを吸収する
Babylon.jsでは、CreateTorus関数を使用して生成されるトーラス(ドーナツ型)メッシュは、初期状態で水平に配置されます。これは、three.jsのTorusGeometryと異なり、Babylon.jsのトーラスは追加の回転を必要としないことを意味します。Babylon.jsのトーラスは、特定の角度で表示したい場合を除き、デフォルトの状態で適切に配置されます。
Babylon.jsのCreateSphere関数では、球体の大きさを直径(diameter)で指定します。デフォルト値は「1」です。これは、球体の中心から表面までの長さではなく、一方の端から他方の端までの長さを意味します。一方、three.jsのSphereGeometryでは、球体の大きさを半径(radius)で指定します。こちらもデフォルト値は「1」ですが、これは球体の中心から表面までの長さを意味します。したがって、three.jsのSphereGeometryで「1」の半径を指定した場合、Babylon.jsのCreateSphereに移植する際には「2」の直径として指定する必要があります。これは、three.jsで指定された半径がBabylon.jsではその倍の直径として扱われるためです。このように、Babylon.jsとthree.jsの間でサンプルを移植する際は、大きさの単位とデフォルト値の違いに注意することが重要です。
おまけ
プロンプトに下記を含めると、ちびキャラ版のバビロンさんに会えるかも?
特徴:かわいい、赤いジャケットを着た女性、茶色のポニーテールの髪型。アニメ調。ちびキャラ
https://scrapbox.io/files/671c4f850e7cede5d150f8b9.png
▲ Babylon.js レシピ集 Vol.3 / 第2章
https://scrapbox.io/files/671c52f96326c0043080a224.png
▲ Babylon.js レシピ集 Vol.5 / 第3章
https://scrapbox.io/files/671c52231ca70e4197e127a1.png
▲ Babylon.js 1st Step Book 2024 / 第2章
https://scrapbox.io/files/671c525df2aa2f58d70556b6.png
▲ Babylon.js 1st Step Book 2024 / 第2章
Created by cx20.icon