2016-04-01 3 views
0

私は.babylonに書き出したシーンをBlenderで作りました。今はゲームに取り込みます。マップは351キロバイトで、私はこのようなゲームにロードしています:BabylonJSのブレンダーシーンをロードする

var BABYLON; 
var canvas = document.getElementById('gamecanvas'); 
var engine = new BABYLON.Engine(canvas, true); 
var scene = new BABYLON.Scene(engine); 
var light = new BABYLON.PointLight('light', new BABYLON.Vector3(0,0,10), scene); 
var player = new BABYLON.FreeCamera('player', new BABYLON.Vector3(1,1,1), scene); //IMPORTANT LINE 
var player_height = 2; 
var player_speed = 1; 
var player_inertia = 0.9; 
var mouse_position = new BABYLON.Vector2(mouse_position.x, mouse_position.y); 

function INIT_GAME(){ 

    engine.runRenderLoop(function(){ //IMPORTANT LINE 
     scene.render(); 
    }); 

    canvas.height = window.innerHeight; 
    canvas.width = window.innerWidth; 
    canvas.requestPointerLock = canvas.requestPointerLock || canvas.mozRequestPointerLock; 
    canvas.requestPointerLock(); 

    scene.enablePhysics(); //IMPORTANT LINE 
    scene.setGravity(new BABYLON.Vector3(0, -10, 0)); //IMPORTANT LINE 

    player.attachControl(canvas, true); //IMPORTANT LINE 
    player.ellipsoid = new BABYLON.Vector3(1, player_height, 1); 
    player.checkCollisions = true; 
    player.applyGravity = true; 
    player.keysUp = [87]; 
    player.keysDown = [83]; 
    player.keysLeft = [65]; 
    player.keysRight = [68]; 
    player.inertia = player_inertia; 
    player.speed = player_speed; 

    window.addEventListener('resize', function(){ 
     engine.resize(); 
    }); 

    BABYLON.SceneLoader.Load('Scenes', 'zombie_map.babylon', engine); //IMPORTANT LINE 
} 

私はあなたを見てする必要があるべきかにすべてを絞り込むしようとしましたが、私はそこだけの場合にはそこにすべてを残しました私が逃した何かでした。 (INIT_GAMEはページの読み込み時に読み込まれます)。私の問題は、シーンがロードされていると思うが、それはちょうどバビロンが私が渡したシーンにロードしようとしていると思う、奇妙なローディングアイコンを私に与える。私の質問は以下の通りです:

  • 私はすべてを正しく読み込んでいますか?
  • .babylonシーンをインポートするための適切なフォーマットは何ですか?
  • マップのサイズがブラウザにとって大きすぎますか?その場合、どのように圧縮できますか?

結果が正面から見えるようにする必要がある場合は、サイトへのリンクを提供できます。ありがとう!

答えて

1

私は解決策がとても簡単だと思います。

rootURLの後にスラッシュを追加します。

だから、これを試してみて、私はそれが行く方法を知ってみましょう

BABYLON.SceneLoader.Load('Scenes/', 'zombie_map.babylon', engine); //IMPORTANT LINE 

BABYLON.SceneLoader.Load('Scenes', 'zombie_map.babylon', engine); //IMPORTANT LINE 

を交換してください。

+0

UGH、私はあなたが正しくないと思っていましたが、あなたはそうでした。 Noobは私のところで間違いをしました、ありがとう! –

+0

私はちょうど数日前に私が同じ間違いをしたのでそれが何であるか知っていました:) –