{"id":"ZG0C8B","version":12,"description":"","jsonPayload":"{\"code\":\"var createScene = function () {\\r\\n    var scene = new BABYLON.Scene(engine);\\r\\n\\r\\n    //Adding a light\\r\\n    var light = new BABYLON.HemisphericLight();\\r\\n\\r\\n    //Adding an Arc Rotate Camera\\r\\n    var camera = new BABYLON.FreeCamera(\\\"camera1\\\", new BABYLON.Vector3(0, 5, -10), scene);\\r\\n    camera.minZ = 0.01\\r\\n    camera.position.set(-0.12, 0.04, 0.29)\\r\\n    camera.rotation.y = Math.PI-0.8\\r\\n    camera.rotation.x = 0.5\\r\\n    camera.attachControl(canvas, false);\\r\\n    camera.speed /= 10\\r\\n\\r\\n    return new Promise((resolve) => {\\r\\n        // The first parameter can be used to specify which mesh to import. Here we import all meshes\\r\\n        BABYLON.SceneLoader.Append(\\\"scenes/Alien/Alien.gltf\\\", \\\"\\\", scene, function (result) {\\r\\n            scene.stopAllAnimations()\\r\\n            var gizmo = new BABYLON.BoundingBoxGizmo(BABYLON.Color3.FromHexString(\\\"#0984e3\\\"))\\r\\n            gizmo.attachedMesh = result.meshes.find(mesh => mesh.name === \\\"LeftEye\\\");\\r\\n            gizmo.scaleBoxSize = 0.01\\r\\n            gizmo.rotationSphereSize = 0.01\\r\\n            gizmo.updateBoundingBox()\\r\\n\\r\\n            const mat0 = scene.materials[0];\\r\\n            const mat1 = mat0.clone(\\\"mat1\\\");\\r\\n            const mat2 = mat0.clone(\\\"mat2\\\");\\r\\n            const mat3 = mat0.clone(\\\"mat3\\\");\\r\\n\\r\\n            scene.getMeshByName(\\\"AlienHead\\\").material = mat0;\\r\\n            scene.getMeshByName(\\\"Collar\\\").material = mat1;\\r\\n            scene.getMeshByName(\\\"CollarClasp\\\").material = mat1;\\r\\n            scene.getMeshByName(\\\"LeftEye\\\").material = mat2;\\r\\n            scene.getMeshByName(\\\"RightEye\\\").material = mat3;\\r\\n            scene.getMeshByName(\\\"Shirt\\\").material = mat1;\\r\\n            scene.getMeshByName(\\\"ShirtPlate\\\").material = mat1;\\r\\n            scene.getMeshByName(\\\"Teeth\\\").material = mat1;\\r\\n            \\r\\n            scene.executeWhenReady(() => {\\r\\n                const id = setInterval(() => {\\r\\n                    engine.beginFrame();\\r\\n                    scene.render();\\r\\n                    engine.endFrame();\\r\\n                });\\r\\n                gizmo.gizmoLayer.utilityLayerScene.executeWhenReady(() => {\\r\\n                    clearInterval(id);\\r\\n                    resolve(scene);\\r\\n                })\\r\\n            })\\r\\n        });\\r\\n\\r\\n    })\\r\\n}\",\"engine\":\"WebGL2\"}","name":"","snippetIdentifier":"ZG0C8B-12","tags":"","date":"2024-09-09T19:47:10.913Z"}