本文整理汇总了TypeScript中@babylonjs/core/scene.Scene类的典型用法代码示例。如果您正苦于以下问题:TypeScript Scene类的具体用法?TypeScript Scene怎么用?TypeScript Scene使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Scene类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: function
var initScene = function() {
// Creates the canvas
var renderedCanvas = document.createElement("canvas");
renderedCanvas.className = "vjs-tech";
videoEl.parentElement.insertBefore(renderedCanvas, videoEl);
videoEl.style.display = "none";
// Creates the default babylonjs scene
var engine = new Engine(renderedCanvas, true, {
disableWebGL2Support: settings.disableWebGL2Support
});
// Workaround http://localhost:8080/indexCode.html
engine.getCaps().vertexArrayObject = false;
var scene = new Scene(engine);
// Set the hardware scaling level
const scaling = Math.max(settings.hardwareScalingLevel, 1 / (window.devicePixelRatio || 4));
engine.setHardwareScalingLevel(scaling);
// Helps reducing the needed number of draw calls
scene.renderTargetsEnabled = false;
scene.clearColor = new Color4(0, 0, 0, 1);
scene.onPointerObservable.add(function() {
player.userActive(true);
});
// No need of clear or depth buffer as it is a 360 video only
scene.autoClear = false;
scene.autoClearDepthAndStencil = false;
engine.setDepthBuffer(false);
// Creates the 360 video
var dome = new VideoDome("testdome", videoEl, { autoPlay: false, size: 2000 }, scene);
dome.rotation.x = -settings.defaultCameraOrientationX;
dome.rotation.y = -settings.defaultCameraOrientationY;
// Create the custom vr helper if requested
var vrHelper = new VRExperienceHelper(scene, {
useCustomVRButton: true,
controllerMeshes: false
});
// Prevent pointer lock to let the menu accessible
vrHelper.requestPointerLockOnFullScreen = false;
// Records VR state
vrHelper.onEnteringVRObservable.add(() => {
isInVRMode = true;
});
vrHelper.onExitingVRObservable.add(() => {
isInVRMode = false;
player.controls(true);
});
// Adapt the camera to the requested settings.
scene.activeCamera.fov = settings.fov;
// Adapt the video type to the requested one.
if (settings.videoType === "stereoscopicSideBySide") {
dome.videoMode = VideoDome.MODE_SIDEBYSIDE;
}
else if (settings.videoType === "stereoscopicTopBottom") {
dome.videoMode = VideoDome.MODE_TOPBOTTOM;
}
else {
// Default to monoscopicPanoramic
dome.videoMode = VideoDome.MODE_MONOSCOPIC;
}
// VR Switch function.
toggleWebVR = function() {
if (!isInVRMode) {
player.controls(false);
vrHelper.enterVR();
} else {
vrHelper.exitVR();
}
}
// Resize
window.addEventListener("resize", function() {
engine.resize();
});
// And finally starts the render loop
engine.runRenderLoop(function() {
scene.render();
});
};
开发者ID:BabylonJS,项目名称:Extensions,代码行数:90,代码来源:amp-360video.ts
示例2:
engine.runRenderLoop(() => {
scene.render();
});
开发者ID:BabylonJS,项目名称:Babylon.js,代码行数:3,代码来源:minGridMaterial.ts
示例3:
engine.runRenderLoop(function() {
scene.render();
});
开发者ID:BabylonJS,项目名称:Extensions,代码行数:3,代码来源:amp-360video.ts
注:本文中的@babylonjs/core/scene.Scene类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论