网站建设流程平台,域名分析网站,软件开发模型的优缺点及适用范围,wordpress怎么增加字段前言
该文章主要讲元宇宙虚拟空间的场景构造#xff0c;基本核心技术点#xff0c;不多说#xff0c;直接引入正题。 场景的构造
使用引入的天空模块
this.sky new Sky(this);
在Sky模块里#xff0c;有设置对其中的阳光进行不同时间段的光线处理。而天空又是怎么样的…前言
该文章主要讲元宇宙虚拟空间的场景构造基本核心技术点不多说直接引入正题。 场景的构造
使用引入的天空模块
this.sky new Sky(this);
在Sky模块里有设置对其中的阳光进行不同时间段的光线处理。而天空又是怎么样的呢人站在一个位置环顾四周人就是一个球体内的中心点threejs的摄像机位置就是球体内的中心点所以Sky模块里面要创建一个球体。
this.skyMesh new THREE.Mesh(
new THREE.SphereBufferGeometry(1000, 24, 12),
this.skyMaterial
);
当然可以添加天空的材质布置
this.skyMaterial new THREE.ShaderMaterial({
uniforms: THREE.UniformsUtils.clone(SkyShader.uniforms), fragmentShader: SkyShader.fragmentShader,
vertexShader: SkyShader.vertexShader,
side: THREE.BackSide
});
在一个场景里要有一个阴影的效果并且从远处看和近处看都不一样 这里首先要对renderer设置开启阴影类型设置为软阴影使用库three-csm设置相机的远平面距离相机更远时阴影不可见设置影子的级联数为3方向光强度为2.5阴影贴图的分辨率2048达到逼真的阴影效果。 renderer.shadowMap.enabled true;
renderer.shadowMap.type THREE.PCFSoftShadowMap;
this.csm new CSM({
fov: 80,
far: 250, // maxFar
lightIntensity: 2.5,
cascades: 3,
shadowMapSize: 2048,
camera: world.camera,
parent: world.graphicsWorld,
mode: custom,
customSplitsCallback: splitsCallback
});
this.csm.fade true;