法线贴图的类型

news2025/1/8 5:52:05

1、切线空间法线贴图

这是当今最常见的法线贴图,也是我们在本系列中讨论的法线贴图。它根据模型顶点的法线方向修改模型的法线方向(因此我们必须控制lowpoly的顶点法线)。

在这里插入图片描述

请记住,切线法线贴图是使用顶点指示的方向进行计算的。这意味着视觉上;如果在烘焙时旋转UV岛,法线贴图可能看起来是反转的;然而,它应该是完美的。

并非每个程序都以相同的方式来计算顶点法线的平均值。这可能会导致法线贴图在不同引擎中的外观不同,因此我们应该使用渲染程序将使用的相同方法烘焙法线贴图(这称为“使用同步工作流”)。

Mikk是一种计算顶点法线的建议方法,旨在实现通用性,以便每个程序都以相同的方式计算顶点法线。就工作流而言,这意味着我们可以使用所有顶点法线平均的低模(一个平滑组,或所有边平滑),使用Mikk切线空间烘焙法线贴图,它看起来就像高模,而不必处理平滑错误或分离UV中的硬边。

请记住,这仍然是一个切线空间法线贴图,但模型的法线是以一种通用且可在程序之间互换的方式计算的。

2通道切线空间法线贴图

使用存储在法线贴图三个通道中的两个通道上的信息,计算机可以计算出第三个通道,从而减少内存使用量,但略微增加处理使用量。由于内存通常是一个更大的问题,这种优化通常被使用,并且一些引擎会自动进行(即,当我们将纹理法线压缩设置为“法线贴图”时,会出现虚幻引擎)。释放法线贴图上的通道允许我们减小纹理大小,或使用该通道进行金属度/粗糙度/不透明度等的放置。
在这里插入图片描述

通常,丢弃的法线贴图通道是蓝色的,因此这些纹理看起来是黄色的。这种优化有时由一些引擎自动完成,因此您可能会在项目中不时看到这些纹理。

Mikk切线空间法线贴图在90%的时间是最佳选项。与世界和对象空间法线贴图不同,模型将能够变形,法线方向将保持正确。应使用与渲染程序相同的切线空间烘焙法线贴图。使用最多的切线空间是Mikk,因此应尽可能使用它。

而且,如果法线贴图显示一些像素化,请考虑使用16位法线贴图或上述解决方案之一。

这些基本上都是我能总结的所有法线贴图。如果您知道其他类型的法线贴图,请告诉我,以便我可以将它们包含在此系列中。

谢谢你抽出时间来观看,我希望这可以对你有帮助。

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

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

相关文章

【WPF】数据绑定,资源字典

数据绑定 将数据与视图分开,创建MainViewModel .cs 作为数据源的处理 MainViewModel using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading…

华为OD机试真题 Java 实现【基站维修工程师】【2023Q1 200分】,附详细解题思路

一、题目描述 小王是一名基站维护工程师,负责某区域的基站维护。 某地方有n个基站(1<n<10),已知各基站之间的距离s(0<s<500),并且基站x到基站y的距离,与基站y到基站x的距离并不一定会相同。 小王从基站1出发,途径每个基站1次,然后返回基站1,需要请你…

Swift 中的 Actors 使用以及如何防止数据竞争

文章目录 前言Actors 的基本原理Actor 是引用类型&#xff0c;但与类相比仍然有所不同 为什么会出现数据竞争如何防止数据竞争使用 async/await 访问数据防止不必要的暂停非隔离(nonisolated)访问为什么在使用 Actors 时仍会出现数据竞争&#xff1f;总结 前言 Actors 是 Swif…

FFMPEG常用命令 音视频合并

目录 一、音频合并 1.获取音频时长 2.合并两段音频 3.合并音频插入空白 二、视频加背景图 三、音视频合成 1.保留视频声音 2.不保留视频声音 四、合并视频 本文将用几个实例&#xff0c;介绍ffmpeg命令的综合使用&#xff0c;主要涉及音频处理、视频处理和音视频合成。…

如何搭建自己的CentOS系统

CentOS是一个完全免费的操作系统&#xff0c;这对于开发人员来说非常有吸引力。他们可以使用CentOS来开发和测试应用程序&#xff0c;而不需要支付任何费用。那么作为程序员如果搭建自己的CentOS服务器呢&#xff1f; 搭建自己的CentOS系统需要以下步骤&#xff1a; 1、下载Ce…

借助KafkaTool在海量Kafka数据快速精准定位/查询目标数据

如何在海量的Kafka数据定位/查询精准到秒级的数据&#xff1f; 解决方案&#xff1a;Kafka命令 KafkaTool 1. 使用Kafka命令定位Offset sh ./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list $ip:$port -topic ${topic.name} -time $timestamp参数说明&#…

程序员大战黄牛党,破解演唱会门票秒光之困

反黄牛&#xff0c;为何是场持久战&#xff1f; 撰文 | 林秋艺 编辑 | 龚 正 这个五月&#xff0c;似乎都被五月天霸屏了。从5月9日的30万张五月天演唱会门票被5秒扫光&#xff1b;到粉丝群起反抗&#xff0c;喊出“宁可鸟巢门口站&#xff0c;也不能让黄牛赚”&#xff0c;…

基于实体类导出excel模板

很多需求是导入excel的功能&#xff0c;但是导入的时候需要excel模板。如果很多模板的&#xff0c;就需要一个通过工具类来实现了&#xff0c;根据配置好一个实体类来实现模板的导出。 <dependency><groupId>org.jodd</groupId><artifactId>jodd-core&…

创建型设计模式03-原型模式

&#x1f9d1;‍&#x1f4bb;作者&#xff1a;猫十二懿 &#x1f3e1;账号&#xff1a;CSDN 、个人博客 、Github &#x1f38a;公众号&#xff1a;猫十二懿 原型模式 1、原型模式介绍 原型模式是一种创建型设计模式&#xff0c;它允许通过复制现有对象来生成新对象&#xf…

【大数据处理与可视化】五、数据聚合与分组运算

【大数据处理与可视化】五、数据聚合与分组运算 实验目的实验内容实验步骤一、案例——运动员信息的分组与聚合1、统计男篮、女篮运动员的平均年龄、身高、体重2、统计男篮运动员的平均年龄、身高、体重的极差值3、统计男篮运动员的体质指数 实验小结 实验目的 能够熟练运用gr…

NISEDIT如何发布,Qt如何发布文章?难道还有人不会(超详细教学,跟着走,不会你怪我)

一、自动发布 直接运行即可&#xff0c;不过多阐述。 二、手动发布 文件清单&#xff1a; ExamSys.exe account.txt、exam.txt Qt5Core.dll、Qt5Gui.dll、Qt5Widgets.dll libstdc-6.dll、libwinpthread-1.dll、libgcc_s_sjlj-1.dll、libgcc_s_dw2-1.dll 注意&#xff1a…

Vue项目中vuex的安装和使用

Vue项目中vuex的安装和使用 1. 安装vuex2. 导入vuex包并创建store仓库3. 在main.js中导入store实例4. 检测vuex是否能正常使用 1. 安装vuex npm install vuex --save2. 导入vuex包并创建store仓库 在项目文件目录中&#xff0c;在src目录下创建一个名为store的文件夹&#xf…

图表控件LightningChart JS使用指南 - 如何创建仪表图

LightningChart JS是性能最高的JavaScript图表库&#xff0c;专注于实时数据可视化。是Web上性能最高的图表库具有出色的执行性能 - 使用高数据速率同时监控数十个数据源。 GPU加速和WebGL渲染确保您的设备的图形处理器得到有效利用&#xff0c;从而实现高刷新率和流畅的动画。…

【大数据处理与可视化】六、数据可视化

【大数据处理与可视化】六、数据可视化 实验目的实验内容实验步骤一、案例——画图分析某年旅游景点数据1、河北省总面积和游客量位居前三的景点2、河北省旅游量的占比哪个最多&#xff0c;哪个最少。 实验小结 实验目的 1.能够详述常见图表的类型和特点。 2.能够熟练运用Matp…

ELFK日志分析系统并使用Filter对日志数据进行处理

目录 一、 FilebeatELK 部署Filebeat 节点上操作 二、Filtergrok 正则捕获插件内置正则表达式调用自定义表达式调用 mutate 数据修改插件multiline 多行合并插件date 时间处理插件 一、 FilebeatELK 部署 Node1节点&#xff08;2C/4G&#xff09;&#xff1a;node1/192.168.15…

【数据结构】虽然很难很抽象,但是你还是得努力弄懂的数据结构——数组,你常用但是你懂它吗

数组(Array) 数组是实现顺序存储结构的基础,数组(Array)存储具有相同数据类型的元素集合.一维数组占用一块内存空间,数组的存储单元个数称为数组容量,也称为数组长度. 每个存储单元的地址是连续的,即每个元素连续存储,计算第i个元素地址所需时间是一个常量,时间复杂度是O(1),…

【论文解读|GL-Cache 】基于组级学习的缓存替换算法

论文原文&#xff1a; GL-Cache: Group-level learning for efficient and high-performance caching | FAST 23 源码 地址&#xff1a; GitHub - Thesys-lab/fast23-GLCache: Repository for FAST23 paper GL-Cache: Group-level Learning for Efficient and High-Performance…

基于Python+百度语音的智能语音ChatGPT聊天机器人(机器学习+深度学习+语义识别)含全部工程源码 适合个人二次开发

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境Pycharm 环境ChatterBot 环境 模块实现1. 模型构建2. 服务器端3. 客户端4. 语音录入5. 接口调用6.模型训练及保存 系统测试1. 模型效果2. 模型应用 参考资料其它资料下载 前言 本项目基于机器学习和语义识别技术…

Qt翻金币小游戏详细教程(内涵所有源码、图片资源)

一、项目简介 翻金币项目是一款经典的益智类游戏&#xff0c;我们需要将金币都翻成同色&#xff0c;才视为胜利。首先&#xff0c;开始界面如下&#xff1a; 点击start按钮&#xff0c;进入下层界面&#xff0c;选择关卡&#xff1a; 在这里我们设立了20个关卡供玩家选择&…

IDEA使用技巧

1. 安装教程 1.1 安装过程 1.2 安装后的软件目录结构 目录结构&#xff1a; bin&#xff1a;容器&#xff0c;执行文件和启动参数等 这里以我的电脑系统(64 位 windows7&#xff0c; 16G 内存)为例&#xff0c;说明一下如何调整 VM 配置文件&#xff1a; 1、大家根据电脑系统…