Unity海面效果——4、法线贴图和高光

news2024/11/19 22:53:52

Unity引擎制作海面效果


  大家好,我是阿赵。
  继续做海面效果,上次做完了漫反射颜色和水波动画,这次来做法线和高光效果。

一、 高光的计算

  之前介绍过高光的光照模型做法,比较常用的是Blinn-Phong
在这里插入图片描述

  所以我这里也稍微连线实现了一下
  为了能看得更清楚高光的效果,我把漫反射颜色去掉,单独看高光的部分:
在这里插入图片描述

  需要说明的是,现在这个效果,是配合着天空盒里面的太阳位置,还有我在场景里面的直射灯的角度,得到的一个好像太阳光在水面的光线反射效果,实际上只是对位置造成的效果,并不是真的写个Shader就有这么理想的效果的。
  高光的光照模型很简单,有几个参数是控制高光颜色、高光的强度和范围的。
  如果把漫反射颜色加上去,就会变成这样:
在这里插入图片描述

  从性能上来说,如果做到现在这里就停手,其实效果也不错,而且并没有太多消耗性能的地方。可以作为一个简化版的水面效果吧。
  接下来要开始添加法线的计算,后面还会添加各种深度效果。其实这些效果都是比较消耗性能的,我全部列举出来其实只是为了说明技术点,所以可以根据自己的需要,一点一点的添加。

二、 法线贴图采样

在这里插入图片描述

  我这里的这些图,都是在Unity的AssetStore里面下载的免费水的资源。效果其实并不是特别的好,不过用来学习也足够了。
  这里用到了法线贴图。其实没什么特别的难点,由于之前做漫反射水波纹的时候,已经计算好了2个会动的UV坐标来采样水波贴图,所以现在同样利用这两个UV,来采样法线贴图:
在这里插入图片描述

  需要注意的是,由于是法线贴图,所以要勾选Unpack Normal Map。
在这里插入图片描述

  勾选了之后,就可以设置参数调节法线贴图的缩放,也就是凹凸程度了。
在这里插入图片描述

  接下来,把法线贴图采样得到的法线,输入到之前计算高光模型的世界法线:
在这里插入图片描述

  把漫反射颜色去掉,单纯看高光,现在的高光会变成这样:
在这里插入图片描述

  由于UV是和波纹动画一样的,所以这个高光也会动起来。

  加上了漫反射颜色之后,水波纹和法线是同样的UV采样,所以完全是对得上的
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

问题-小技巧-Win11的常用快捷方式和有用快捷方式

文章目录 常用快捷方式1、CtrlA 全部选中2、Ctrl Z 撤销3、Ctrl X 剪切4、Ctrl C 粘贴5、Ctrl V 复制6、winshifts截图,Windows系统自带截图工具,功能太少7、ctrlshifts截图,edge自带截图工具,使用时需要打开edge8、 winv 可以查看…

实习总结 --- 内部平台使用

常用术语 CR CR–标准问题分类管理平台:由业务类型-角色-国家-品类-Page定义。 FAQSOP FAQ是端上用户自助的第一道关口,在引导用户进行自助解决上起关键作用 SOP是指标准作业程序,客服SOP是针对用户遇到的具体问题场景,给客服…

编写静态库

一、静态库 1.制作完成整体目录结构 2.首先创建mymath.c和mymath.h 3.编写Makefile 4.创建测试的main函数 test文件夹 先把lib移到test文件夹里面 4.编译链接 gcc main.c -I ./lib/include/ -L ./lib/mymathlib/ -l mymath 5.形成可执行程序a.out 要是不想执行第四步那么麻烦…

揭秘软件性能测试方法和注意事项,专业软件测试公司分享

目前,随着云计算和大数据的发展,软件的性能需求越来越高,用户对于软件的性能体验也有了更高的期望。因此,进行软件性能测试不仅是一种需求,更是一种责任,是开发过程中必不可少的一环。软件性能测试&#xf…

Python容器 之 元组

1.元组的介绍 1, 元组 tuple, 使用的是 () 2, 元组和列表非常相似, 都可以存储多个数据, 都可以存储任意类型的数据 3, 区别就是 元组中的数据不能修改,列表中可以修改 4, 因为元组中的数据不能修改,所以只能 查询方法, 如 index, count ,支持下标和切片 5, 元组, 主要用于…

ArcTs布局入门03——层叠布局(Stack)

如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧! 扫描下面的二维码关注公众号。 1、概述 叠布局(StackLayout)用于在屏幕上预留一块区域来显示组件中的元素,提供元素可以重叠的布局。层叠布局通过Stack容器组件实…

【鸿蒙学习笔记】基础组件 Button

官方文档:按钮 (Button)添加链接描述 官方文档:button开发指导 目录标题 属性迭代完善不含子组件的按钮包含子组件的按钮ButtonType添加事件跳转超链接提交表单悬浮按钮 属性迭代完善 不含子组件的按钮 Column({ space: 10 }) {Row() {Button(添加子目…

全国总工会党组书记徐留平来苏调研 观摩体验苏州金龙无人驾驶巴士

6月28日,全国总工会党组书记、副主席、书记处第一书记徐留平率队来苏州调研工会工作,并在苏州市劳模工匠人才创新成果展上观摩体验苏州金龙无人驾驶巴士。 本届苏州市劳模工匠人才创新成果展共设20个展位,集中展示了全市“劳模工匠助企行”的…

java面试-SpringAOP

1.SpringAOP的使用 你了解Spring AOP 吗? 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 2.SpringAOP的原理 我们可以将ASM生成的类进行缓存,这样能解决生成的类比较低效的问题。 ASM是可以操作字节码的框架。 真实实现类和…

数据库操作语言(DML)

数据库操作语言(DML) 文章目录 数据库操作语言(DML)一、四种操作二、数据的插入(增)三、数据的删除(删)四、数据的修改(改)五、数据的查询(查&…

RK3568驱动指南|第十五篇 I2C-第179章在应用程序中使用I2C

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

WPDRRC信息安全体系架构模型

构建信息安全保障体系框架应包括技术体系、组织机构体系和管理体系等三部分,也就是说:人、管理和技术手段是信息安全架构设计的三大要素,而构成动态的信息与网络安全保障体系框架是实现系统的安全保障。 1.WPDRRC信息安全模型的定义 WPDRRC…

Oracle - 数据库打补丁实践

原文:https://www.cnblogs.com/ddzj01/p/12097467.html 一、概述 本文将介绍如何给oracle数据库打最新补丁,数据库版本为11.2.0.4单实例,操作系统为redhat6.5 二、下载相关升级包 1. 登录MOS,查阅(ID 2118136.2),下载…

电脑录音方法:电脑怎么录音?5招轻松搞定录音!

想要从麦克风或系统音频录制电脑声音吗?这是一项简单的任务。本文将为您介绍5种最佳且最简单的方法,包括使用Windows系统自带的录音工具来录制电脑音频,在线音频录音软件和专业的第三方电脑录音软件。这些工具都能够很好地帮助您完成电脑怎么…

MySQL数据库中文乱码处理

出现中文乱码之后处理方式 1、执行下面语句查看一下关于编码方式 show variables like %char%结果展示:【你应该和我的不一样】 2、如果你的和我查询结果不一致请设置成一致语句,根据自己需要复制语句 如下:【除了最后一条记录哈】 SET G…

llm-universe | 五. 系统评估与优化

系统评估与优化 一.LLM应用评估思路1.人工评估准则一 量化评估准则二 多维评估 2.自动评估方法一. 构造客观题方法二. 计算答案相似度 3.使用大模型评估4.混合评估 二.评估并优化生成部分1. 提升直观回答质量2.标明知识来源,提高可信度3. 构造思维链4.增加一个指令解…

独立开发者系列(10)——fastadmin后台框架的认识

软件开发项目涉及到的东西非常多,作为独立开发者,普遍性的面对的是中小项目。而其中接单的情况下,以WEB方向的居多。其中主要有以下这么些类的:搭建官网cms 就是常见的资讯发布平台,发布一些企业新闻/活动宣传,纯粹是…

Docker部署ETCD 3.5.14(保姆级图文教程)

系列文章目录 Docker部署Nginx 1.21.5(保姆级图文教程) Docker部署MySQL 8.3.0(保姆级图文教程) Docker部署ETCD 3.5.14(保姆级图文教程) 文章目录 一、环境二、拉取镜像2.1 查找 Docker Hub 上的 ETCD 镜像…

【区块链+基础设施】国家健康医疗大数据科创平台 | FISCO BCOS应用案例

在医疗领域,疾病数据合法合规共享是亟待解决的难题。一方面,当一家医院对患者实施治疗后,若患者转到其 他医院就医,该医院就无法判断诊疗手段是否有效。另一方面,医疗数据属于个人敏感数据,一旦被泄露或被恶…

网络配线架的隐藏功能

网络布线是确保现代信息社会高效运转的关键技术之一。在这一领域,网络配线架扮演着至关重要 的角色。它不仅仅是一个简单的物理连接点,更拥有许多隐藏功能,这些功能极大地提升了网络的 效率、稳定性和可管理性。 1、集中管理 网络配线架提…