Also, ich habe meine Szene in Blender in Babylonjs geladen, und es produziert einige interessante Effekte. Im Grunde versuche ich, die Schwerkraft und dergleichen auf die Szene anzuwenden, den Spieler an die richtige Stelle zu bewegen und die gesamte Szene zu beleuchten und sichtbar zu machen, aber nichts davon funktioniert. Dies ist das Skript:Szenenrendering seltsam in 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();
});
}
Die Fragen, die ich habe, sind:
- Wie mache ich das machen Abstand höher, so dass ich die ganze Szene sehen können?
- Warum funktionieren keine meiner Szeneneigenschaften (Schwerkraft, Bewegung usw.)?
Für die erste Frage, können Sie die 'position' Eigenschaft der Kamera ändern. – ConnorsFan
Ich habe das versucht, und es ändert sich die Position überhaupt nicht, was zu der Fremdheit –
Sie könnte versuchen, Ihr Problem auf Babylons Spielplatz zu reproduzieren (http://www.babylonjs-playground.com/). Wenn Sie Ihren Test speichern, können andere Personen darauf zugreifen und sie debuggen. Sie können auch ihr Forum konsultieren (http://www.html5gamedevs.com/forum/16-babylonjs/). – ConnorsFan