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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/675723.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端数据可视化基础(折线图)

目录 前言: 画布: 折线图 (Line Chart): 前言: 前端中的数据可视化是指将大量数据以图形或图像的形式在前端页面上展示出来,以便用户能够更直观地理解和分析这些数据。数据可视化是一种强大的工具,它利用了人类视觉…

【论文阅读】Fuzz4All: Universal Fuzzing with Large Language Models

文章目录 摘要一、介绍二、Fuzz4All的方法2.1、自动提示2.1.1、自动提示算法2.1.2、自动提示的例子2.1.3、与现有自动提示技术的比较 2.2、fuzzing循环2.2.1、模糊循环算法2.2.2、Oracle 三、实验设计3.1、实现3.2、被测系统和baseline3.3、实验设置以及评估指标 四、结果分析4…

每日一题5:Pandas-修改列

一、每日一题 一家公司决定增加员工的薪水。 编写一个解决方案,将每个员工的薪水乘以2来 修改 salary 列。 返回结果格式如下示例所示。 解答: import pandas as pddef modifySalaryColumn(employees: pd.DataFrame) -> pd.DataFrame:employees.loc[…

代码随想录第四十六天|单词拆分

题目链接:. - 力扣(LeetCode)

Study--Oracle-02-单实例部署Oracle19C

一、CentOS 7 环境准备 1、软件准备 操作系统:CentOS 7 数据库版本: Oracle19C 2、操作系统环境配置 关闭selinux ,编辑 /etc/selinux/config文件,设置SELINUX enforcing 为SELINUXdisabled [rootoracle ~]# grep SELINUX /etc/seli…

【Git】Git学习-17:git rebase,且解决合并冲突

学习视频链接:【GeekHour】一小时Git教程_哔哩哔哩_bilibili​编辑https://www.bilibili.com/video/BV1HM411377j/?vd_source95dda35ac10d1ae6785cc7006f365780 理论 git rebase 目标分支:把当前分支的提交,从与目标分支的共同主祖先处断开…

【挑战30天首通《谷粒商城》】-【第一天】03、简介-分布式基础概念

文章目录 课程介绍 ( 本章了解即可,可以略过)1、微服务简而言之: 2、集群&分布式&节点2.1、定义2.2、示例 3、远程调用4、负载均衡常见的负裁均衡算法: 5、服务注册/发现&注册中心6、配置中心7、服务熔断&服务降级7.1、服务熔断7.2、服务降级 8、AP…

革新品质检测,质构科技重塑肉类行业新篇章

革新品质检测,质构科技重塑肉类行业新篇章 在现代社会,消费者对食品安全和品质的要求日益提升,特别是在肉类行业。为了满足这一市场需求,质构科技凭借其精准、高效的优势,正逐渐成为肉类品质检测的新星。今天&#xf…

python网络爬虫学习——编写一个网络爬虫

参考资料:用Python写网络爬虫(第2版) 1、编写一个函数 (1)用于下载网页,且当下载网页发生错误时能及时报错。 # 导入库 import urllib.request from urllib.error import URLError,HTTPError,ContentTooS…

STM32F103学习笔记 | 7.使用寄存器点亮LED灯

int main(void) { // 分析指南者硬件原理图得知要实现点亮灯泡需要将PB0设置为低电位, // 查阅STM32F10x中文手册的端口配置低寄存器,得知一个PB有8个配置位,查阅手册找到了PB0的位置是3:2位置, // 插入未知知识:将端…

Hadoop3:HDFS的架构组成

一、官方文档 我这里学习的是Hadoop3.1.3版本,所以,查看的也是3.1.3版本的文档 Architecture模块最下面 二、HDFS架构介绍 HDFS架构的主要组成部分,是一下四个部分 1、NameNode(NN) 就是Master节点,它是集群管理者。 1、管…