什么是UV贴图和展开?
转载:https://baijiahao.baidu.com/s?id=1673723122020029798&wfr=spider&for=pc
UV贴图是用于轻松包装纹理的3D模型表面的平面表示。创建UV贴图的过程称为UV展开。
U和V指的是2D空间的水平轴和垂直轴,因为X,Y和Z已在3D空间中使用。一旦创建了多边形网格,下一步就是将其“展开”为UV贴图。现在要赋予网格生命并使它看起来更逼真(或风格化),就得添加纹理。但是,这没有3D纹理之类的东西,因为它们始终都是2D图像。
这就是UV映射的用处,因为它是将3D网格转换为2D信息以便可以在其周围包裹2D纹理的过程。起初这似乎是一个令人困惑的想法,但是这非常简单。如果以前曾经用纸做过一个立方体,那么只需完成相反的步骤即可!

但是,立方体是一个基本示例,并且随着网格变得越来越复杂,UV贴图也是如此。这可能会变得很繁琐,但这对3D工作流程至关重要。
即使您不打算对模型进行纹理处理,许多现代的实时引擎(例如,虚幻引擎4或Unity)也需要对您的素材进行UV解包才能进行一些轻度渲染。
既然已经概述了UV贴图的基本概念,我们就可以深入研究UV展开的中间部分,即接缝。接缝是使任何3D几何形状扁平化的不幸和不可避免的副作用。接缝是网格的一部分,必须进行拆分才能将3D网格转换为2D UV贴图。
UV展开始终是一种折中方案,可以使线框变形尽可能小,同时还要使接缝最小。就UV贴图而言,变形是必须更改多边形的形状和大小以适应平坦化过程的程度。太多的失真会影响模型的最终效果。

通过应用基本的方格纹理可以很容易看出这一点。如果未拉伸棋盘格图案,则可以避免展开时的变形。但是,这种仅将所有多边形分开的方法的缺点是产生的接缝数量。
左侧的多维数据集的UV接缝以绿色突出显示。您可以看到图案在边缘移动时没有对齐。在更复杂的网格中,这可能会成为问题,因此您需要练习并灵活地进行接缝放置。

这是一个实例,如果您在UV解包中严重扭曲多边形会发生什么。此多维数据集上的纹理与前面的示例没有什么不同,但是您可以看到它已被拉伸并变形。但是,缺少接缝确实意味着图案排成一行并围绕立方体的边缘,但是在这种情况下,付出的代价是不值得的。

显而易见的答案是在两者之间找到平衡。
在此图像中,您可以看到保留了棋盘格图案,并且我们在立方体的正面周围有一些不错的连续边。在练习和展开更多内容时,您将了解“隐藏”接缝的最佳位置是使它们不那么明显。
使接缝不那么明显的良好规则是:
使它们沿着通常不太明显的坚硬边缘
将它们隐藏在模型的其他部分后面。例如,如果解开头部,则将接缝放在头发所在的位置。
将它们隐藏在模型焦点下方或后面,这样人们就不太可能看到它们。
展开3D网格时要考虑的另一件事是UV重叠。

当您的UV贴图中有两个或多个多边形彼此重叠时,就是UV重叠。这意味着模型的这两个部分将显示相同的纹理信息,因为它们都占据相同的UV空间。通常要避免重叠UV,这样可以使纹理保持变化,而不会偶然导致纹理看起来不正确。也就是说,有时您可能会故意使用重叠的UV。如果纹理非常基本,那么您可能会在同一UV空间上具有多个网格部分来重复该纹理。
这项技术非常有用,因为它可以让您减小纹理大小,这意味着,如果您使用的是游戏引擎,通常它将运行得更流畅。当开发较弱的机器(如手机)时,这一点尤为重要。关于紫外线贴图需要了解的最后一件事是紫外线通道。UV通道允许同一对象具有多个UV贴图。对于游戏引擎而言,这非常重要。如本文前面所述,游戏引擎使用UV贴图烘焙照明信息。

这意味着绝对不会有任何重叠的UV,因为阴影信息将放置在模型的错误区域中,并且您通常会收到某种错误消息。如前所述,现在重叠的UV有时在游戏开发中是个好主意。
因此,折中方案是拥有2个紫外线通道。一种是带有紫外线信息的纹理,另一种是带有紫外线信息的照明。您做得越多,越容易,但是UV制图过程有很多细节。
希望您现在对UV映射有了更好地了解。这是一个足够简单的过程,乍一看似乎令人疑惑,但实际上很容易掌握。
什么是UV贴图和展开?的更多相关文章
- 理解UV贴图
一.理解UV贴图UVs是驻留在多边形网格顶点上的两维纹理坐标点,它们定义了一个两维纹理坐标系统,称为UV纹理空间,这个空间用U和V两个字母定义坐标轴.用于确定如何将一个纹理图像放置在三维的模型表面.本 ...
- 长图的展开与收起(Android)
前言: 在app的文章中,经常会夹杂着一些特别长的长图.在阅读的时候需要滑动很久才能看图片下方的文字,因此对于长图只展示图片上面一部分,并且可以展开这个功能是很重要的. 效果: 基本思路: 利用sca ...
- [CG从零开始] 6. 加载一个柴犬模型学习UV贴图
在第 5 篇文章中,我们成功加载了 fbx 模型,并且做了 MVP 变换,将立方体按照透视投影渲染了出来.但是当时只是随机给顶点颜色,并且默认 fbx 文件里只有一个 mesh,这次我们来加载一个柴犬 ...
- UV贴图类型
凹凸贴图Bump Map.法线贴图Normal Map.高度贴图Height map.漫反射贴图Diffuse Map.高光贴图Specular Map.AO贴图Ambient Occlusion ...
- 3DMAX 多维材质及对应的UVW展开,UVW贴图
多维材质说明 多维材质就是一个模型多个材质,(混合材质是多个材质混一起,跟这个貌似没关,比如地表草地,泥土等的混合操作) 作用: 比如一个模型就是需要两种材质,刀的金属刀身,木质刀柄,墙的一面是木板, ...
- uv纹理坐标设定与贴图规则
1.什么是UV? 对于三维模型,有两个最重要的坐标系统,一是顶点的位置(X,Y,Z)坐标,另一个就是UV坐标.什么是UV?简单的说,就是贴图影射到模型表面的依据. 完整的说,其实应该是UVW(因为 ...
- blender--(凹凸贴图)................https://jingyan.baidu.com/article/9f63fb917c4becc8400f0ea8.html
在blender中直接绘制模型凹凸纹理细节 听语音 | 浏览:32 | 更新:2018-02-20 11:18 1 2 3 4 5 6 7 分步阅读 在blender中为了表现更多的模型细节,我们会常 ...
- blender_(uv应用)................http://digitalman.blog.163.com/blog/static/23874605620174172058299/
轻松学习Blender基础入门之九:UV-1 2017-06-21 14:24:49| 分类: Blender |举报 |字号 订阅 下载LOFTER 我的照片书 | [前言] ...
- 什么是UV?
转自http://www.cnblogs.com/jenry/p/4083415.html 1.什么是UV? 对于三维模型,有两个最重要的坐标系统,一是顶点的位置(X,Y,Z)坐标,另一个就是UV ...
- 【VR视频播放】解决Unity模型贴图反转的问题
使用UV贴图网模型上贴的时候, 会出现图片反过来的情况. 根本原因是因为, 一般系统的屏幕坐标系(例如Android)是左上角为原点(0,0), 但是Unity的贴图是以左下角为原点(0,0) 方法有 ...
随机推荐
- 七牛云服务器debug
400{ResponseInfo:com.qiniu.http.Response@16fd3806,status:400, reqId:uzcAADGFlzHUE-kW, xlog:-, xvia:, ...
- Vue双向绑定原理 从vue2的Object.defineProperty到vue3的proxy
在网上查找资料的时候,看到很多关于Vue双向绑定的文章都直接说是通过Object.defineProperty实现的,但我隐约记得去年看过尤大的视频,记得好像是用proxy实现的,所以又好好找了一下, ...
- CGTime CMTimeRange CMTimeMapping 小结
CMTime CMTimeRange CMTimeMapping 在使用 AVFoundation 框架处理多媒体资源时,通常会用到一些在 CoreMedia 框架中定义的结构体, 这里对其中描述时间 ...
- 2020年第11届蓝桥杯C/C++B组 第一轮省赛
# JJU-干干 试题 A: 跑步训练 代码: #include <stdio.h> #include <stdlib.h> /* run this program using ...
- C# net core 从文件流中获取文件头、匹配文件类型
常用文件的文件头如下: (以前六位为准) JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 TIFF (tif), ...
- Java中多态相关知识点
多态 1.多态概述 同一个对象在不同时刻表现出的不同形态 多态的前提和体现: 有继承/实现关系 有方法重写 有父类引用指向子类对象(Animal a = new Cat();) 2.多态中的成员访问特 ...
- 使用Jquery的.css('border')在火狐不兼容
改成如下就可以兼容火狐.IE.谷歌(border-left-color.border-left-width等)
- Linux下 Jdk版本切换
安装: 甲骨文官网下jdk 上传到云服务器 解压: tar -zxvf jdk-7u79-linux-x64.tar.gz 设置环境变量 vim /etc/profile 末尾加上 export JA ...
- QT数据结构内存分配策略
在QT的Reference中无意看到了QString及其他类型数据结构内存的分配策略,翻译并记录一下. 在QString的数据结构中,QString通过一次附加一个字符来动态构建字符串.假设我们向QS ...
- RabbitMQ身份验证、授权、访问控制
原文:https://www.rabbitmq.com/access-control.html 概述 不同的用户只能访问特定的虚拟主机.他们在每个虚拟主机中的权限也可以被限制. RabbitMQ支持两 ...