菜鸡shader:L4三色环境光原理妙用并在ue4中实现

news2024/11/14 5:52:21

三色环境光的拓展运用

我的上一篇博客写了关于三色环境光的原理,这次就来简单拓展一下。最重要的核心思想其实就是取法线向量的第二个分量,因为它控制方法是指向xz平面的上或者下。

所以这次要用这个原来来单独摘出上层环境光,乘上菲涅尔,会有种高光的感觉。先放个图,还是小人模型,懒得找模型了(不是
在这里插入图片描述
可以看到边缘一圈的菲涅尔效果,有种高光的感觉,课程里面直接用在蟑螂模型上了,还好没调成蟑螂棕,要不然更加油腻了…课程里的效果:
在这里插入图片描述
可以,油腻的效果立竿见影。

下面放一下蓝图吧:
在这里插入图片描述

  • 黄色框部分:lambert部分,也就是漫反射环境光部分,给它加上了一个基础色。
  • 红色框部分:phong部分,也就是镜面反射高光部分,对贴图进行了采样,这里有人会疑惑为什么是光方向和观察方向点乘,我感觉应该是处于美术方面的考虑,我试了一下用传统的phong,也就是反射方向点乘观察方向,发现高光更强,也就是更加有塑料感。(模型不一样确实不太好对比,之后要有机会再找找模型,调整一下)
    在这里插入图片描述
  • 紫色框部分就是我们上一次提到的三色环境光,只不过我们这次只取上层的效果,然后与菲涅尔相结合,最后呈现一个只显示上部的菲涅尔效应。
  • 这用的就是三色环境光的原理,只不过我们只用了上面那层,剩余的两层我们没有用。

然后是UE4中的实现

首先是兰伯特部分:
在这里插入图片描述
然后是高光部分:
在这里插入图片描述

  • 在unity中的viewDir其实就是虚幻中的cameraDirectionVector并且还要乘以-1。
  • 同样的,在unity中将我们这个要采样的贴图设置为clamp模式,否则不会出现类似光晕一圈一圈的错误效果。
    在这里插入图片描述

然后是菲尼尔部分:
在这里插入图片描述

  • 菲涅尔想最后还乘了一个0.5,因为虚幻里好像比unity要亮,所以乘了一下。

最后三个部分加起来,连接到自发光项:
在这里插入图片描述
最后效果,虚幻和unity颜色取值相同的颜色会出来不同的效果,建议大家自己手动调节试一下,我的效果和unity里的颜色取值和效果都不一样:
在这里插入图片描述
虽然但是,也有油腻的效果。

当然,新手上路暂无驾照,有错误请各位大佬指正。

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

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

相关文章

【Java项目 读写分离技术】

文章目录 Java项目 读写分离技术1 Mysql 主从复制1.1 介绍1.2 配置 2 读写分离实现2.1 背景2.2 Sharding-JDBC 介绍2.3 配置步骤 Java项目 读写分离技术 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少写操作类型的应…

el-date-picker设置今天之前的日期不可选

<el-date-pickerv-model"editForm.offlineTime"type"date"placeholder"选择日期"style"width: 150px":picker-options"{disabledDate: (time) >time.getTime() <new Date(new Date().setHours(0, 0, 0, 0))}">&…

GCDW云原生数据仓库获评“2023优秀科技成果奖”

5月26日&#xff0c;“2023中国国际大数据产业博览会”在贵阳盛大开幕&#xff0c;同日举行了“领先科技成果发布会”&#xff0c;来自国内外高校、科研机构、科技企业的357项优秀成果参与申报&#xff0c;代表了近年来国内外大数据领域最前沿的科技成果。“南大通用GCDW云原生…

原生JS实现图片裁剪功能(fixed布局)

功能介绍&#xff1a;图片通过原生input上传&#xff0c;使用canvas进行图片裁剪。 裁剪框限制不允许超出图片范围&#xff0c;图片限制了最大宽高&#xff08;自行修改要的尺寸&#xff09;&#xff0c;点击确认获取新的base64图片数据&#xff0c;大部分需求都是弹窗进行处理…

office word 2007

office word 2007 指数怎么写的

反AI来了…尼康的Natural Intelligence

a mutant_umbrella tree shaped like a nuclear bomb explosion,a photo-realism photograph, 4k, ultra realistic VS a mutant_umbrella tree shaped like a nuclear bomb explosion 尼康发起了一次名为&#xff1a;Natural Intelligence &#xff0c;“不要放弃现实世界”的…

机器学习之K-means聚类算法

目录 K-means聚类算法 算法流程 优点 缺点 随机点聚类 人脸聚类 旋转物体聚类 K-means聚类算法 K-means聚类算法是一种无监督的学习方法&#xff0c;通过对样本数据进行分组来发现数据内在的结构。K-means的基本思想是将n个实例分成k个簇&#xff0c;使得同一簇内数据相…

Java性能权威指南-总结18

Java性能权威指南-总结18 线程与同步的性能线程同步避免同步伪共享 线程与同步的性能 线程同步 避免同步 如果同步可以完全避免&#xff0c;那加锁的损失就不会影响应用的性能。 有两种一般性的方式可以应对。其一是在每个线程中使用不同的对象&#xff0c;这样访问对象时就…

Selenium教程__界面的刷新、后退、前进操作(4)

本文将介绍如何使用Selenium来实现界面的刷新、后退和前进操作&#xff0c;以便于测试、开发人员能够更好地控制和管理用户界面的交互行为。 通过学习本文内容&#xff0c;您将能够掌握Selenium中相关API的使用方法&#xff0c;并能够灵活地应用到您的项目中&#xff0c;从而提…

机器学习-搭建轻量级机器人模型

在自己的机器上部署一个机器人简直太酷啦&#xff0c;因为模型数据缘故&#xff0c;可能有时候回复会有一点点怪&#xff0c;不过不影响我们探索机器模型的学习&#xff0c;搭建安装完毕&#xff0c;大家就可自行学习源码啦。 这是启动后台的图片。 需要安装环境&#xff1a;p…

vue监听鼠标与键盘事件

mounted () {window.addEventListener(mousedown, this.handleMousedown)//监听鼠标按下window.addEventListener(mouseup, this.handleMouseup)//监听鼠标抬起window.addEventListener(keydown, this.handlekeydown)//监听键盘按下},methods: {// 鼠标按下事件handleMousedown…

GDAL 标记图像连接区域

文章目录 一、简介1.1原始算法1.2修改标记算法二、实现代码三、实现效果参考资料一、简介 1.1原始算法 标记图像连接区域的算法有很多,这里主要实现了一种基于扫描线的改进算法(Suzuki算法),原始算法使用了一种决策树策略,即对二进制图像b(x,y)进行重复传递,在前向和后向…

chatgpt赋能python:Python要点:从入门到精通

Python要点&#xff1a;从入门到精通 Python是一门高级编程语言&#xff0c;是一种解释型、面向对象、动态数据类型的语言。它的设计思想是“代码易读易写”&#xff0c;在数据科学、人工智能、自动化测试、Web开发等领域广泛应用。本文将从入门到精通的角度来介绍Python的要点…

模拟电路系列分享-电阻的选则

目录 概要 整体架构流程 技术名词解释 技术细节 1.阻值的选择 2.不能太小的原因 3.不能太大的原因 4.E系列选择 小结 概要 提示&#xff1a;这里可以添加技术概要 例如&#xff1a; 电阻(Resistor]是我们的老朋友了&#xff0c;从初中就认识。但到目前为止&#xff0c;我们却…

chatgpt赋能python:Python获取电脑IP:教你简单又快速的实现方式

Python获取电脑IP&#xff1a;教你简单又快速的实现方式 如果你是一名网络工程师或者Web开发者&#xff0c;那么获得电脑IP地址对你来说是一个常见的任务。而Python作为一种流行的脚本语言&#xff0c;也提供了多种方法来获取电脑的IP地址。下面我们将介绍三种Python获取电脑I…

深度生成模型系统的实现原理有哪些?未来的挑战是什么?

由于计算机性能的快速提升, 学习可观测样本的概率密度并随机生成新样本的生成模型成为热点。相比于需要学习条件概率分布的判别模型生成模型的训练难度大、模型结构复杂, 但除了能够生成新样本外, 生成模型在图像重构、缺失数据填充、密度估计、风格迁移和半监督学习等应用领域…

【因果图法和决策表】某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪

题目&#xff1a; 某软件的一个模块的需求规格说明书中描述&#xff1a; &#xff08;1&#xff09;年薪制员工&#xff1a;严重过失&#xff0c;扣年终风险金的4%&#xff1b;过失&#xff0c;扣年终风险金的2%。 &#xff08;2&#xff09;非年薪制员工&#xff1a;严重过…

14.RocketMQ之高可用性机制

1.2 高可用性机制 RocketMQ分布式集群是通过Master和Slave的配合达到高可用性的。 Master和Slave的区别&#xff1a;在Broker的配置文件中&#xff0c;参数 brokerId的值为0表明这个Broker是Master&#xff0c;大于0表明这个Broker是 Slave&#xff0c;同时brokerRole参数也会说…

保证水库大坝安全需要做好哪方面的监测

水库安全监测是保证水库大坝安全的重要手段是确保水库大坝安全运行的基础也是做好水库安全管理的重要技术保障。根据《水库大坝安全管理条例》《水库大坝安全监测技术规范》等有关规定&#xff0c;对坝体变形、渗透、应力应变等进行监测&#xff0c;以掌握坝体、坝基和库岸的运…

css增加高斯模糊的效果

实现效果 关键代码 backdrop-filter 当你创造一个元素加上这个属性后&#xff0c;会使得这个元素后面的区域添加效果&#xff08;如模糊或颜色偏移&#xff09; background: rgba(0,0,0,.5);backdrop-filter: blur(10px);