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

前言

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


加载管理的处理

使用引入的加载模块

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));

}

}

}

相关推荐
ThreePointsHeat1 天前
Unity WebGL打包后启动方法,部署本地服务器
unity·游戏引擎·webgl
林枫依依3 天前
电脑配置流程(WebGL项目)
webgl
2503_946971863 天前
【Virtualization/AGI】2026年度全沉浸式虚拟化架构与AGI沙箱逃逸基准索引 (Benchmark Index)
人工智能·网络安全·系统架构·数据集·元宇宙
hk11244 天前
【RL/Virtualization】2026年度深度强化学习策略与云原生意识虚拟化基准索引 (Benchmark Index)
人工智能·云计算·数据集·元宇宙·强化学习
冥界摄政王4 天前
CesiumJS学习第四章 替换指定3D建筑模型
3d·vue·html·webgl·js·cesium
DeepVis Research5 天前
【VR/OSINT】2018年度沉浸式元宇宙架构与开源情报(OSINT)桌面取证基准测试(含头号玩家/网络谜踪核心样本)
网络安全·人机交互·元宇宙·虚拟现实·osint
温宇飞6 天前
高效的线性采样高斯模糊
javascript·webgl
冥界摄政王7 天前
Cesium学习第一章 安装下载 基于vue3引入Cesium项目开发
vue·vue3·html5·webgl·cesium
患得患失9498 天前
【ThreeJS】camera-controls---高性能动画相机控制库
threejs·camera-controls
光影少年10 天前
三维前端需要会哪些东西
前端·webgl