了解什么是UV纹理?

在线工具推荐: 3D数字孪生场景编辑器  -  GLTF/GLB材质纹理编辑器  -  3D模型在线转换  -  Three.js AI自动纹理开发包  -  YOLO 虚幻合成数据生成器  -  三维模型预览图生成器  -  3D模型语义搜索引擎

什么是UV?

UV 是与几何图形的顶点信息相对应的二维纹理坐标。UV 至关重要,因为它们提供了表面网格与图像纹理如何应用于该表面之间的联系。它们基本上是控制纹理上哪些像素对应于 3D 网格上的哪个顶点的标记点。它们在雕刻中也很重要。

为什么UV映射很重要?

没有UV贴图的布局失真

默认情况下,大多数 3D 应用程序将在最初创建网格时创建自动 UV 布局。但是,如果您将角色头部的纹理直接拖放到 3D 模型上,您很可能会看到非常不理想的结果。这是因为在建模过程中,通常不会考虑 UV,因此,2D 图像无法按照您期望看到的方式环绕 3D 对象。

模型完成后,为了正确地设置模型纹理,您需要开始布置 UV 的过程(通常称为 UV 贴图)。这基本上是创建 3D 对象的 2D 表示的过程。想象一下,您的模型展开并展平为平面 2D 图像。自然接缝会出现在哪里?在3D模型上,哪里需要最详细的细节?这些是您在创建UV布局时需要考虑的事项类型。

UV 贴图的工作原理

UV贴图在实际应用中的样子

每个 3D 应用程序都有一个 UV 编辑器,您可以使用它来展开和编辑模型的 UV。根据您的 3D 应用程序,3D 模型上的每个面或多边形都与 UV 贴图上的面相关联。UV贴图是一项关键技能,需要掌握在表面上获得准确的纹理。

UV的实际创建是通过投影技术完成的。可以把它想象成一台投影仪在屏幕上放映电影。概念是相同的,只是在 3D 应用程序中,通常有几种不同的 UV 投影类型可供您使用。这些基于简单的几何形状,在开始为单个对象布局 UV 时,通常是一个很好的起点。

三种类型的UV贴图

以下是三种类型的UV贴图和示例:
  1. 球面图
  2. 圆柱形地图
  3. 平面图

请注意,虽然这些投影类型很棒,但它们通常不是每个 UV 布局的多合一解决方案。一旦你开始创建复杂的网格,你很快就会发现,单个平面或圆柱面贴图根本无法创建所需的结果。

幸运的是,网格上的每个面都可以应用自己的投影,并且 UV 本身可以在投影后进行广泛的操作和编辑。这确实可以让您精确控制 UV 的外观,进而控制最终 2D 纹理将如何应用于 3D 模型。

球面图

如果 3D 对象是球形的,则可以对其应用球面投影。这将创建基于缠绕在网格周围的球形的 UV。

圆柱图

圆柱映射基于圆柱投影形状为 3D 对象创建 UV。这对于可以完全封闭且在圆柱体内可见的物体非常有用。所以像胳膊或腿一样的东西。

平面图

平面贴图通过平面将 UV 投影到网格上。此投影类型最适合相对平坦的对象。如果模型形式非常复杂,则平面投影可能会产生重叠且看起来失真的 UV。因此,平面图应该用于非常简单的形状。

处理接缝

UV 贴图中的接缝

在为 3D 对象布置 UV 时,纹理上总会有接缝,因此请计划好接缝的位置。寻找它们可以隐藏或不太可能在 3D 模型上可见的位置。您还可以使用 3D 应用程序中的绘画工具直接在纹理的接缝上绘画。

在 UV 编辑器中正确布局 UV 后,可以使用 UV 快照工具或渲染 UV 工具创建 UV 的快照(根据 3D 应用程序的不同,其名称会略有不同)。基本上,这个工具会拍摄UV布局的照片,并将其保存为您想要的图像格式,以便您可以将其直接导入到您喜欢的2D绘画工具中。这为您提供了一个指南,以查看您在 3D 模型上绘画的位置。

自动映射

自动映射将对象分离到 UV 外壳中

在大多数 3D 应用程序中,都有一个自动映射投影工具。自动映射通过尝试从多个平面投影来找到最佳的 UV 放置,从而为网格创建 UV。当您具有更复杂的形状,其中基本投影不会产生有用的 UV 时,这很有用。通常仍然需要手动编辑 UV,但自动映射是一个很好的起点。

UV外壳

重叠的UV外壳分离

与它们所代表的几何图形一样,UV 点可以连接在一起以形成更大的形状,在 Maya 中称为 UV 外壳,在 Blender 中称为 UV 岛,在 3ds Max 中称为 UV 群集。尽管它们在不同的应用程序中有不同的名称,但它们服务于一个共同的目的。

通常,在处理这些 shell 时,其中一些 shell 可能会在 UV 编辑器中重叠。如果发生这种情况,纹理将重复出现。除非有特殊需要,就像游戏纹理有时一样,否则通常应避免重叠的UV外壳。

UV映射软件解决方案

在 UV 布局中创建的图像

为了帮助您完成纹理和UV布局过程,有一些程序可以帮助加快您的工作流程。 GLTF 编辑器 -NSDT是一款专为 3D 模型绘制纹理而设计的应用程序,不仅可以设置3D模型纹理贴图,还可以设置模型的几何原点、以及对有相同材质属性的mesh进行合并,实现模型轻量化,是一款不可多得的实用型在线模型编辑工具。

转载:了解什么是UV纹理? (mvrlink.com)

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

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

相关文章

CentOS找回root密码

很悲伤,你忘记了root密码。。。 那就来重置它吧~ 1、在启动时选择操作系统:在引导过程中,选择CentOS操作系统并按下键盘上的任意键来停止引导。 2、 进入编辑模式:在启动菜单中,找到并选择要编辑的CentOS条目&…

Prometheus实战篇:Prometheus监控mongodb

Prometheus实战篇:Prometheus监控mongodb 准备环境 docker-compose安装mongodb docker-compose.yaml version: 3 services:mongo:image: mongo:4.2.5container_name: mongorestart: alwaysvolumes:- /data/mongo/db: /data/dbport:- 27017:27017command: [--auth]enviromen…

VMware复制粘贴共享文件夹

win和虚拟机之间,无法复制粘贴,共享文件夹的解决方案。 安装VMware tools 1,先检查虚拟机设置部分。共享文件夹已启用。复制粘贴已启用。 2,安装tools.选择重新安装VMware tools. (此图片为安装过的截图) 成功后会显示如图。…

【2024最新-python3小白零基础入门】No1.python简介以及环境搭建

文章目录 一 python3 简介二 python语言的特点三 python安装四 安装开发工具-pycharm五 新建一个python项目1.新建项目2 配置虚拟环境3 运行项目 一 python3 简介 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&a…

批量置入视频封面:一分钟教程,简单易学

在视频制作过程中,为视频添加引人注目的封面是吸引观众的关键。而当我们需要批量处理多个视频时,如何快速、准确地置入封面就显得尤为重要。本文将为您揭示这一高效技巧,让您在一分钟内学会批量置入视频封面,提升视频的吸引力与观…

vite 如何设置 pwa,让网页类似 app 那样运行,使用插件 vite-plugin-pwa

vite 如何设置 pwa,让网页类似 app 那样运行,使用插件 vite-plugin-pwa 一、概述 情况还是那么个情况,还是原来的项目 vue2 改为 vitetsvue3 遇到的问题,今天这个问题是如何 在 Vite 环境下设置 PWA。 PWA 就是网页应用可以像 a…

java是值传递还是引用传递

1.前言 java是值传递;值传递是指在调用方法时将实际参数拷贝一份传递到方法中,这样在方法中如果对参数进行修改,将不会影响到实际参数;当传的是基本类型时,传的是值的拷贝,对拷贝变量的修改不影响原变量&a…

krpano官网文档翻译-------krpano Action脚本参考文档【krpano Actions / Scripting Reference】

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ ​ ✨ 前言 摘要:本文通过大量代码案例,手把手教你如何使用krpano的Action脚本实现各种交互控制和酷炫…

OpenAI ChatGPT-4开发笔记2024-01:开发环境

ChatGPT发展一日千里。工具、函数少则数日,多则数月就加入了Deprecated行列不再如预期般工作。元旦闲来无事,用最新的ChatGPT重写一下各种开发场景,全部实测通过。 开发环境: 电脑:两台笔记本:HP和MacBoo…

服务端性能测试——性能测试体系

目录: 1.性能测试介绍 性能测试介绍性能体系:性能测试与分析优化:行业流行性能压测工具介绍行业流行性能监控工具介绍行业流行性能剖析工具介绍性能测试流程与方法性能测试计划 计划:DAU,PV(perday),订单量…

HTTP 3xx状态码:重定向的场景与区别

HTTP 状态码是服务器响应请求时传递给客户端的重要信息。3xx 系列的状态码主要与重定向有关,用于指示请求的资源已被移动到不同的位置,需要采取不同的操作来访问。 一、301 Moved Permanently 定义: 服务器表明请求的资源已永久移动到一个新…

Fluids —— Volume VOP

P,当前体素位置;density,此场的值;ix, iy, iz,体素索引(0 ~ res-1);resx, resy, resz,当前volume的精度;center,当前volume的中心点;o…

STM32入门教程-2023版【3-3】gpio输入

关注 星标公众号 不错过精彩内容 大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作! 上两小节我们已经把GPIO的结构和8种输入输出模式都讲完了,到这里还不懂的可以回…

记录汇川:ITP与Autoshop进行仿真连接

1、定义如下程序: 2、ITP新建工程: 3、依次选择,最后修改IP 4、定义两个变量 5、拖一个按钮和一个圈出来,地址绑定:M1 6、地址绑定:Y1 7、PLC启动仿真 8、ITP启动在线模拟器 9、即可实现模拟仿真

力扣——C语言:合并两个有序数组

88. 合并两个有序数组 - 力扣(LeetCode) 这道题有多种方法可以解决 一、暴力求解 这种方法最简单,我们只需要把两个数组合在一起然后在冒泡排序就可以了 代码如下: void merge(int* nums1, int nums1Size, int m, int* nums2…

Redis 过期删除策略

常见的三种过期删除策略: 定期删除;惰性删除;定时删除; 定期删除策略 每隔一段时间「随机」从数据库中取出一定数量的 key 进行检查,并删除其中的过期key。 定期删除的实现在 expire.c 文件下的 activeExpireCycle …

c++在结构(Struct)中使用栈(Stack)

栈实现 1.入栈 2.出栈 3.空栈 4.满栈 5.栈顶 完整栈实现源码: // // myStack.hpp // algo_demo // // Created by Hacker X on 2024/1/9. //#ifndef myStack_hpp #define myStack_

【驱动序列】C#获取电脑硬件之CPU信息,以及它都有那些品牌

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是是《驱动序列》文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识…

DAY2-English Learning

一、积累 1.trunk 案例: i put my luggage in the trunk of the car. 翻译:我把行李放在汽车的后备箱里。 2. solvent 例句:The sovlent is uesd to dissolve the paint. 翻译:溶剂是用来溶解油漆的。 3. 受伤的表达 1.cramp …

人工智能_机器学习091_使用三维瑞士卷数据_KMeans聚类算法进行瑞士卷数据聚类---人工智能工作笔记0131

然后我们首先来构建一下数据 准备瑞士卷数据: import numpy as np 导入数学计算包 import matplotlib.pyplot as plt 导入画图包 #自底向上聚类 from sklearn.cluster import AgglceerativeClustering 导入分层聚类模型 from sklearn.datasets import make_swiss_roll # 瑞士卷…