0

Blender でシーンを作成しましたが、プレーヤーが動かなくなりました。シーンの読み込みには問題ありませんが、方向キーで移動しようとすると機能しません。コードは次のとおりです。

var BABYLON;
var canvas = document.getElementById('gamecanvas');
var engine = new BABYLON.Engine(canvas, true);
var player_height = 2;
var player_speed = 1;
var player_inertia = 0.9;

function INIT_GAME(){
    BABYLON.SceneLoader.Load('Scenes/', 'zombie_map.babylon', engine, function(newScene){
        newScene.executeWhenReady(function(){
            newScene.enablePhysics();
            newScene.setGravity(new BABYLON.Vector3(0, -10, 0));
            var light = new BABYLON.PointLight('light', new BABYLON.Vector3(0,0,10), newScene);
            var player = new BABYLON.FreeCamera('player', new BABYLON.Vector3(1,1,1), newScene);
            player.attachControl(canvas, true);
            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;
            engine.runRenderLoop(function(){
                newScene.render();
            });
        });
    });

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

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

動かない理由がわかったら教えてください。ありがとう!

4

1 に答える 1

0

カメラをアクティブplayerカメラとして設定する必要があります。

var player = new BABYLON.FreeCamera('player', new BABYLON.Vector3(1,1,1), scene);
scene.activeCamera = player;
scene.activeCamera.attachControl(canvas, true);
于 2016-04-03T22:27:38.333 に答える