2016-04-02 204 views
0

因此,我将我在Blender中制作的场景加载到Babylonjs中,并且它产生了一些有趣的效果。基本上,我试图将重力等运用到场景中,将玩家移动到适当的位置,并使整个场景点亮并可见,但没有任何效果。这是脚本:Babylonjs中的场景渲染奇怪

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){ 
     var scene = newScene; 
     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); 
     scene.activeCamera = player; 
     scene.activeCamera.attachControl(canvas, true); 
     scene.enablePhysics(); 
     scene.setGravity(new BABYLON.Vector3(0, -10, 0)); 
     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; 
     newScene.executeWhenReady(function(){ 
      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(); 
}); 

}

我已经是问题:

  1. 我如何渲染距离更高,这样我就可以查看 整个场景?
  2. 为什么我的场景属性都不起作用(重力,移动等)?
+0

对于第一个问题,您可以更改摄像头的'position'财产。 – ConnorsFan

+0

我已经尝试过了,并没有改变位置,增加了奇怪 –

+0

你可以尝试在巴比伦游乐场(http://www.babylonjs-playground.com/)重现你的问题。如果您保存了测试,其他人可以访问它并进行调试。你也可以咨询他们的论坛(http://www.html5gamedevs.com/forum/16-babylonjs/)。 – ConnorsFan

回答

0

player相机应设置为活动的摄像头:

var player = new BABYLON.FreeCamera('player', new BABYLON.Vector3(1,1,1), scene); 
scene.activeCamera = player; 
scene.activeCamera.attachControl(canvas, true); 
+0

相机运动现在可以工作,但其余的属性仍然不起作用。 –

+0

我不容易测试这些属性(checkCollisions,applyGravity等)。你说相机运动起作用,钥匙是否工作? – ConnorsFan

+0

是的,相机是可移动的,但是当我按下移动键时,它只能向下移动。场景仍然没有重力或碰撞。 –