在BabylonJs中,如果攝像機與物體保持一定的距離,使其距離與物體的大小成正比,則整個場景應該大致相同。BabylonJs目標物體消失
我創建這個簡單的測試(可以被複制並粘貼到http://www.babylonjs-playground.com/要運行),即產生一個場景大小1000的球,從位於(0,0,10000)的相機看到:
var createScene = function() {
// This creates a basic Babylon Scene object (non-mesh)
var scene = new BABYLON.Scene(engine);
// This creates and positions a free camera (non-mesh)
var camera = new BABYLON.FreeCamera("camera", new BABYLON.Vector3(0, 0, 10000), scene);
// This targets the camera to scene origin
camera.setTarget(BABYLON.Vector3.Zero());
// This attaches the camera to the canvas
camera.attachControl(canvas, true);
// This creates a light, aiming 0,1,0 - to the sky (non-mesh)
var light = new BABYLON.HemisphericLight("light1", new BABYLON.Vector3(1, -1, -1), scene);
// Default intensity is 1. Let's dim the light a small amount
light.intensity = 0.7;
// Our built-in 'sphere' shape. Params: name, subdivs, size, scene
var sphere = BABYLON.Mesh.CreateSphere("Sphere", 16, 1000, scene);
return scene;
};
請注意,如果球體的尺寸減小到100,並且相機的距離相應減小(因此相機位於(0,0,1000)),則場景看起來仍然相同。
如果實驗重複減少另一個因素,即球體的大小減少到10,相機定位到(0,0,100),仍然沒有任何變化。
到目前爲止,這麼好。但是,如果我嘗試增加球體的大小和距離,那麼一切都消失了:如果球體的大小是10000並且相機定位到(0,0,100000),則場景看起來是空的。爲什麼?有沒有可能改變這種行爲?怎麼樣?我錯過了什麼?
謝謝!