元宇宙虚拟空间的加载管理(三)

前言

该文章主要讲元宇宙虚拟空间的加载管理,基本核心技术点,不多说,直接引入正题。


加载管理的处理

使用引入的加载模块

let loadingManager = new LoadingManager(this);

对引入的加载模块,设置时间因子调整为0(时间因子:在这里是指页面与时间相关的要素,当这个数是0时,页面将会呈现一个缓慢时间的效果)对每个加载做跟踪监听

this.world.setTimeScale(0);

当加载管理界面加载完毕,时间因子再调整为1,并且调用Swal库的弹出框,当关闭弹窗显示UI调试开发界面方便后续操作

loadingManager.onFinishedCallback = () =>

{

this.update(1, 1);

this.setTimeScale(1);

Swal.fire({

title: '欢迎来到虚拟空间!',

text: '',

footer: '< ',

confirmButtonText: 'Okay',

buttonsStyling: false,

onClose: () => {

UIManager.setUserInterfaceVisible(true);

}

});

};

关于场景的加载,判断建模是否有定义的属性,判断是否为物体,凡是物体都要对材质进行一个初始化修改(因为要做级联阴影的效果),如果是一些特别的材质,就要对它进行创建,然后把它添加到世界的更新表单中。

当然关于场景里的一些效果碰撞等特殊事件,也要在这个场景加载里面进行调用,,后续会讲到.

gltf.scene.traverse((child) => {

if (child.hasOwnProperty('userData')) {

if (child.type === 'Mesh'){

Utils.setupMeshProperties(child);

this.sky.csm.setupMaterial(child.material);

if (child.material.name === 'ocean'){

this.registerUpdatable(new Ocean(child, this));

}

}

}

相关推荐
JessieHaha15 小时前
Unity2019.4.5 首页背景图和背景色WebGL
unity·webgl
OhBonsai1 天前
2D平面画出3D世界的Shader技术RayMarching的基本思路介绍
前端·webgl·计算机图形学
mirrornan2 天前
什么是Web3D交互展示?有什么优势?
3d·webgl·3d模型·web3d·3d展示
supermapsupport4 天前
SuperMap GIS基础产品FAQ集锦(202406)
java·javascript·gis·webgl·supermap·webgis
幻梦丶海炎5 天前
【Threejs进阶教程-着色器篇】1. Shader入门(ShadertoyShader和ThreejsShader入门)
webgl·threejs·着色器·shadertoy·glsl
山楂树の7 天前
Games101 正交投影矩阵推导
线性代数·图形渲染·webgl
你也向往长安城吗7 天前
前端如何使用GPGPU做加速计算?《模拟鸟类群居行为》
前端·javascript·webgl
mirrornan8 天前
家电品牌如何利用3D数字化技术,突破转型瓶颈?
3d·webgl·3d模型·3d展示·家电营销
Champion.XL9 天前
Node.js 渲染三维模型并导出为图片
node.js·webgl·threejs·服务端渲染三维模型·gl
2401_8576226610 天前
Qt 6.3 WebGL Streaming:在浏览器中无缝运行Qt Quick应用
qt·webgl·qt6.3