BabylonJs では、カメラがオブジェクトから特定の距離に配置され、その距離がオブジェクトのサイズに比例する場合、シーン全体はほぼ同じになります。
( 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) に配置されている場合、シーンは空に見えます。なんで?この動作を変更することは可能ですか? どのように?私は何が欠けていますか?
ありがとう!