この素晴らしいフレームワークに慣れようとしている新しい Babylon JS ユーザー。Sandbox とオンライン エディタを試し、標準コンポーネント (Box、Sphere など) を使用して独自のコード モデルをゼロから作成しました。私の質問は、より複雑なカスタム ジオメトリをロードする方法に関するものです。3D CAD - STL/OBJ ファイルに非常に慣れており、Blender から .Babylon 形式にエクスポートされ、Babylon のオンライン サンドボックス & エディターにインポートされます。ただし、SceneLoader がローカルの C:/ ドライブからファイルを読み取れるようには見えません。以下のコードの抜粋:
// Create new Babylon Scene
var scene = new BABYLON.Scene(engine);
// Change scene background color
scene.clearColor = new BABYLON.Color3(1, 1, 1);
// Create and positions a free camera
var camera = new BABYLON.FreeCamera("camera1", new BABYLON.Vector3(0, 10, 0), scene);
// Target the camera to scene origin
camera.setTarget(BABYLON.Vector3.Zero());
// Attach camera to the canvas
camera.attachControl(canvas, true);
// Define built-in 'box' shape.
var box = BABYLON.Mesh.CreateBox("sphere1", 1, scene);
// Define 'ground' plane
var ground = BABYLON.Mesh.CreateGround("ground1", 100, 100, 100, scene);
ground.position.y = 0;
//Load local .babylon file from root Dir
BABYLON.SceneLoader.Load("", "Test.babylon", engine, scene);
私のモデルには、グラウンド プレーンを持つジオメトリ用の標準ボックスがあります。SceneLoader の行を追加するまでは、Babylon ではすべてがうまくレンダリングされます。これを追加すると、Babylon Loading イントロ スプラッシュ画面 (回転する Babylon ロゴ) でスタックします。モデルの上のコードの最後の行をコメントアウトすると、ボックスで問題なくレンダリングされます。これに関するさまざまなフォーラムページを見て、私の脳が行き詰まるところまで行き詰まりました。 com/?p=313 セキュリティのために Google Chrome がローカル ファイル リンクをロックアウトしている可能性があると思われます。Web サーバーが必要ですか (どこから始めればよいかわかりません!)、それとも Babylon シーンをローカルで実行できますか?