Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var prepareCamera = function(scene, camera = null) {
- if(camera == null) scene.createDefaultCamera(true);
- // Enable camera's behaviors
- camera.useFramingBehavior = true;
- var framingBehavior = camera.getBehaviorByName("Framing");
- framingBehavior.framingTime = 0;
- framingBehavior.elevationReturnTime = -1;
- if (scene.meshes.length) {
- camera.lowerRadiusLimit = null;
- var worldExtends = scene.getWorldExtends(function (mesh) {
- return mesh.isVisible && mesh.isEnabled();
- });
- framingBehavior.zoomOnBoundingInfo(worldExtends.min, worldExtends.max);
- }
- camera.pinchPrecision = 200 / camera.radius;
- camera.upperRadiusLimit = 5 * camera.radius;
- console.log(camera.upperRadiusLimit);
- camera.wheelDeltaPercentage = 0.01;
- camera.pinchDeltaPercentage = 0.01;
- camera.alpha = BABYLON_globalSettings.cameraAlpha;
- camera.beta = BABYLON_globalSettings.cameraBeta;
- }
- var setCameraDefaultAlphaBeta = function(camera) {
- camera.alpha = BABYLON_globalSettings.cameraAlpha;
- camera.beta = BABYLON_globalSettings.cameraBeta;
- }
- var prepareLighting = function(scene, skyBoxPath = "") {
- var hemi = new BABYLON.HemisphericLight("HemiLight", new BABYLON.Vector3(0, 1, 0), scene);
- var light = new BABYLON.PointLight("Omni", new BABYLON.Vector3(10, 50, 50), scene);
- light.intensity = 1.0;
- if (skyBoxPath != "" && !scene.environmentTexture) {
- var skybox = BABYLON.Mesh.CreateBox("skyBox", 333.0, scene);
- var skyboxMaterial = new BABYLON.StandardMaterial("skyBox", scene);
- skyboxMaterial.backFaceCulling = false;
- skyboxMaterial.reflectionTexture = new BABYLON.CubeTexture(skyBoxPath, scene);
- skyboxMaterial.reflectionTexture.coordinatesMode = BABYLON.Texture.SKYBOX_MODE;
- skyboxMaterial.diffuseColor = new BABYLON.Color3(0, 0, 0);
- skyboxMaterial.specularColor = new BABYLON.Color3(0, 0, 0);
- skyboxMaterial.disableLighting = true;
- skybox.material = skyboxMaterial;
- // Takes very long to load?
- //scene.environmentTexture = skyboxMaterial.reflectionTexture;
- }
- }
- 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("camera1", new BABYLON.Vector3(0, 5, -10), scene);
- // var assetsManager = new BABYLON.AssetsManager(scene);
- // var meshTask = assetsManager.addMeshTask("skull task", "", "https://raw.githubusercontent.com/RaggarDK/Baby/baby/", "he4.babylon");
- BABYLON.SceneLoader.LoadAssetContainerAsync("Scenes/", "BoomBox.glb", scene).then(function (container) {
- container.addAllToScene();
- prepareCamera(scene, camera);
- prepareLighting(scene);
- mainCamera.attachControl(canvas, false);
- setCameraDefaultAlphaBeta(camera);
- });
- // meshTask.onSuccess = function (task) {
- // // Enable camera's behaviors
- // prepareCamera(scene, camera);
- // prepareLighting(scene);
- // mainCamera.attachControl(canvas, false);
- // setCameraDefaultAlphaBeta(camera);
- // }
- return scene;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement