three.js 效果细节提升

1. three.js 效果细节提升

  1. 加载模型时,给模型设置接受阴影,反射阴影
gltfLoader.load("./model/court-transformed.glb", (gltf) => {
  gltf.scene.traverse(child => {
    if (child.isMesh) {
      child.castShadow = true; // 设置阴影可以投射阴影
      child.receiveShadow = true; // 设置物体可以接受阴影
    }
  })
})
  1. 通过调整envMapIntensity属性,您可以控制环境贴图对模型的影响程度,调整模型的反射效果,以适应不同的设计需求和场景效果
gltfLoader.load("./model/court-transformed.glb", (gltf) => {
  gltf.scene.traverse(child => {
    if (child.isMesh) {
      child.castShadow = true; // 设置阴影可以投射阴影
      child.receiveShadow = true; // 设置物体可以接受阴影
      child.material.envMapIntensity = 0.2;
    }
  })
})

envMapIntensity属性的值是一个0到1之间的浮点数,用于设置环境贴图的强度。当值为1时,环境贴图的效果最强,模型反射的亮度最高。而当值为0时,环境贴图的效果被完全消除,模型的表面不再反射周围环境。

2. 阴影类型

  1. 接触阴影 (适用于:单一的产品展示)
    https://threejs.org/examples/?q=contact#webgl_shadow_contact
    在这里插入图片描述
    此类阴影,一般适用于白屏产品展示,汽车,球鞋,手表,产品,就是你展示的产品是在一个很干净的画面。

  2. 软阴影(真实)
    https://threejs.org/examples/?q=shadow#webgl_shadowmap_pcss
    在这里插入图片描述
    此类阴影,效果比较真实还原现实世界的阴影效果

  3. 级联阴影
    https://threejs.org/examples/?q=shadow#webgl_shadowmap_csm
    在这里插入图片描述
    对于大场景中,实现阴影,如果使用其他阴影性能会要求很大,
    他的效果是:对于离用户显示进处的物体,阴影的分辨率会清楚些,对于远处的物体,阴影的分辨率会差一些。提高性能

3. 屏幕空间反射

https://github.com/0beqz/screen-space-reflections
在这里插入图片描述

4. 屏幕光遮蔽

就是在两个物体铰接处,往往是有阴影的
https://threejs.org/examples/?q=ssao#webgl_postprocessing_ssao
在这里插入图片描述

5. fxaa 快速抗锯齿效果

在这里插入图片描述

6. 边缘检测

https://threejs.org/examples/?q=outline#webgl_postprocessing_outline
在这里插入图片描述

7. 辉光效果

https://pmndrs.github.io/postprocessing/public/demo/#antialiasing

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值