当前位置: 首页 > news >正文

UV贴图和展开初学者指南

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

介绍

这正是本文的主题——UV贴图——登上舞台的时候。大多数 3D 建模软件在创建网格时会创建 UV 布局。但是,这并不意味着您不需要对其进行编辑和调整以适应模型的要求。然后是UV贴图和解包,这是3D建模离不开的。

听起来很难?

如何开始UV映射

尽管如此,这些概念听起来很复杂。实际上,它要简单得多,我们将证明这一点。

什么是UV贴图?

UV 贴图是 3D 对象表面的二维表示。它由与模型信息的顶点相对应的 UV 或纹理坐标构成。每个纹理坐标在 3D 空间中都有一个对应的点 - 顶点。因此,这些坐标用作标记点,用于定义纹理上的哪些像素对应于哪些顶点

如何UV贴图

注意:UV 贴图中的 U 和 V 表示 2D 纹理的水平轴和垂直轴,因为 X、Y 和 Z 已经用于表示 3D 空间的这些轴。

UV 贴图对 3D 工作流程至关重要。因此,当您学习如何进行 3D 建模时,您不会错过它。尽管大多数应用程序在创建模型时都会创建 UV 布局,但不要依赖它来为您完成所有工作。

很多时候,您必须从头开始编辑甚至创建UV贴图。这称为UV展开。

UV 展开:元素

UV 展开是将 3D 几何体展开或展平为 2D 表示的过程,以便 3D 对象的每个多边形和面都绑定到 UV 贴图中的面。

不幸的是,当您对模型进行UV展开时,失真是不可避免的。多边形的大小和形状已经并将会发生变化,以适应展平过程。因此,您必须尽最大努力尽可能少地造成变形,同时将接缝保持在最低限度。

还有其他事情。

接缝

接缝是网格的一部分,您必须将其拆分,以便从 3D 网格中创建 2D UV 贴图。

如果您的纹理没有被拉伸并且对象有硬边,那么分割所有多边形似乎是一个完美的选择。但是,它只会以大量接缝的形式出现缺点。

UV地图接缝金字塔

(来源:YouTube)

有没有办法解决这个问题?

您可以减少接缝的数量,但代价是纹理扭曲,最终不会在对象周围流畅流动。

UV贴图接缝圆形

(来源:YouTube)

不要对自己太苛刻。几乎不可能使接缝不明显。相反,您可以通过遵循某些规则来学习隐藏它们

  • 将接缝隐藏在对象其他部分后面。
  • 使用自动贴图投影工具从多个平面投影UV贴图。
  • 使接缝遵循模型的硬边缘或切口。
  • 将它们创建为位于模型焦点的下方或后面。
  • 直接在 3D 应用程序中的纹理中绘制主题。

专业提示:使用UV编辑器创建UV贴图后,使用软件中的相应工具创建UV贴图的快照。它将为您的UV贴图拍照,并将其保存为首选的图像格式。然后,您将能够在 2D 绘画工具中将其导入并绘制到 3D 模型上。

重叠的 UV

当 UV 映射与 UV 重叠时,您将遇到的另一个陷阱。当您有两个或多个多边形占用相同的 UV 空间时,就会发生这种情况。相应地,重叠的 UV 是指这些多边形彼此叠加并显示相同的纹理。

UV 展开问题 – 重叠

通常,您必须避免重叠的 UV,以便纹理看起来正确且多样。但是,有时如果纹理太基本,您甚至可能会故意使用它来重复网格多个部分的纹理。

注意: 它可以减小纹理的大小,并在需要时使游戏引擎运行更流畅,尤其是当模型用于移动设备时。

UV通道

如果您的 3D 模型需要多个 UV 贴图,尤其是对于游戏引擎,您应该探索 UV 通道。

有时,您的模型可能不需要纹理贴图,但仍然需要用于光照烘焙的 UV 贴图。许多实时引擎,如Unity或虚幻引擎4,都需要它。在这种情况下,没有重叠UV的地方,因为阴影信息将应用于模型的错误部分。

或者,您可以使用 2 个 UV 通道,一个用于纹理的 UV 贴图,另一个用于照明的 UV 信息。

现在我们已经介绍了UV贴图的元素,是时候深入研究如何将其应用于对象了。

UV 映射投影类型

UV 展开是将 3D 模型转换为 2D 表示的过程,而 UV 贴图是将 2D 图像投影到 3D 表面上,以便将 2D 纹理包裹在其周围。

通常,它是通过部署不同UV贴图投影类型的投影技术完成的。它们通常基于简单的几何形状,这是一个很好的开始方式。

球面图

顾名思义,球面投影用于具有球形的物体上,以将纹理包裹在多边形网格周围。

球面UV贴图投影类型

球面投影类型(来源:YouTube)

圆柱图

可以完全封闭且在圆柱体内可见的对象(如腿或手臂)使用圆柱投影类型进行映射。

圆柱UV贴图投影类型

球面投影类型(来源:YouTube)

平面图

如果 3D 对象非常简单且相对平坦,则平面投影是将 UV 贴图投影到其上的最佳选择。否则,如果模型过于复杂,平面投影将导致重叠的UV并扭曲纹理。

圆柱UV贴图投影类型

平面投影类型(来源:YouTube)

我们刚才提到的所有投影类型也是如此。一旦开始 3D 角色建模或任何其他类型的复杂网格建模,您会发现这些投影类型不是很有用。

尽管如此,您仍然可以完全控制 UV 贴图,因为您可以将不同的投影类型应用于网格的每个面以获得更好的效果。此外,您也可以选择某些软件为您提供的一些高级功能。

UV映射的最佳软件

当您掌握UV贴图时,您会发现一些基本功能不足以达到您的目标结果。这时,使用软件是最佳选择,如:

  • GLTF 编辑器 -NSDT 不仅可以设置3D模型纹理贴图,还可以设置模型的几何原点、以及对有相同材质属性的mesh进行合并,实现模型轻量化,是一款不可多得的实用型在线模型编辑工具。

结论

UV贴图是一项需要了解的关键技能,因为它可以让您将纹理平滑地过渡到模型上。此外,它不仅是模型的扁平化拓扑,而且是地图烘焙的基础。

因此,在创建模型时,您必须牢记贴图,因为糟糕的UV贴图会使即使是最好的3D对象看起来也很糟糕。虽然UV贴图是一组概念和术语,一开始可能会让你感到困惑,但随着时间的推移,它开始变得越来越简单。希望本指南能帮助您更接近更好地理解UV贴图。

转载:UV贴图和展开初学者指南 (mvrlink.com)

相关文章:

UV贴图和展开初学者指南

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 介绍 这正是本文的主题——UV贴图——登上舞台的时候。大多数 3D 建…...

解密Path环境变量

解密Path环境变量 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,让我们一起深入探讨程序开发中不可或缺的一项关键技术——“path环境变量”。无论…...

git撤销提交到本地的commit

有些时候,当我们提交代码到本地后,突然发现因为某些原因需要撤销提交本地的代码。 就比如我,因为代码写错了分支,已经提交到本地了,而我需要取消,并且还要把代码搞得另外的分支上。 提交前: …...

使用Adobe Acrobat Pro DC给pdf文件填加水印

前言 GPT4的官方售价是每月20美元,很多人并不是天天用GPT,只是偶尔用一下。 如果调用官方的GPT4接口,就可以按使用量付费,用多少付多少,而且没有3个小时内只能提问50条的使用限制。 但是对很多人来说调用接口是比较麻烦…...

解决:Unity : Error while downloading Asset Bundle: Couldn‘t move cache data 问题

目录 问题: 尝试 问题得到解决 我的解释 问题: 最近游戏要上线,发现一个现象,部分机型在启动的时候闪退或者黑屏,概率是5%左右,通过Bugly只有个别机型才有这个现象,其实真实情况比这严重的多…...

SpringBoot默认配置文件

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot默认配置文件 📚个人知识库: Leo知识库,欢迎大家访问 1.前言☕…...

Flink构造宽表实时入库案例介绍

1. 安装包准备 Flink 1.15.4 安装包 Flink cdc的mysql连接器 Flink sql的sdb连接器 MySQL驱动 SDB驱动 Flink jdbc的mysql连接器 2. 入库流程图 3. Flink安装部署 上传Flink压缩包到服务器,并解压 tar -zxvf flink-1.14.5-bin-scala_2.11.tgz -C /opt/ 复…...

【Kubernetes】K8s 查看 Pod 的状态

K8s 查看 Pod 的状态 [rootk8s-master1 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-3 1/1 Running 2 (34m ago) 14hNAME:Pod 的名称。READY:代表 Pod 里面有几个容器,前面是启动的,后面…...

Linux系统操作命令

Linux管理 在线查询Linux命令: https://www.runoob.com/linux/linux-install.htmlhttps://www.linuxcool.com/https://man.linuxde.net/ 1.Linux系统目录结构 Linux系统的目录结构是一个树状结构,每一个文件或目录都从根目录开始,并且根目…...

大模型学习与实践笔记(五)

一、环境配置 1. huggingface 镜像下载 sentence-transformers 开源词向量模型 import os# 设置环境变量 os.environ[HF_ENDPOINT] https://hf-mirror.com# 下载模型 os.system(huggingface-cli download --resume-download sentence-transformers/paraphrase-multilingual-…...

100个GEO基因表达芯片或转录组数据处理之GSE126848(003)

写在前边 虽然现在是高通量测序的时代,但是GEO、ArrayExpress等数据库储存并公开大量的基因表达芯片数据,还是会有大量的需求去处理芯片数据,并且建模或验证自己所研究基因的表达情况,芯片数据的处理也可能是大部分刚学生信的道友…...

1. Presto基础

该笔记来源于网络,仅用于搜索学习,不保证所有内容正确。文章目录 一、presto基础操作二、时间函数0、当前日期/当前时间1、转时间戳1)字符串转时间戳 (推荐)2)按照format指定的格式,将字符串str…...

ChatGPT可以帮你做什么?

学习 利用ChatGPT学习有很多,比如:语言学习、编程学习、论文学习拆解、推荐学习资源等,使用方法大同小异,这里以语言学习为例。 在开始前先给GPT充分的信息:(举例) 【角色】充当一名有丰富经验…...

20240111在ubuntu20.04.6下解压缩RAR格式的压缩包

20240111在ubuntu20.04.6下解压缩RAR格式的压缩包 2024/1/11 18:25 百度搜搜:ubuntu rar文件怎么解压 rootrootrootroot-X99-Turbo:~/temp$ ll total 2916 drwx------ 3 rootroot rootroot 4096 1月 11 18:28 ./ drwxr-xr-x 25 rootroot rootroot 4096 1月…...

YOLOv5改进 | 检测头篇 | ASFFHead自适应空间特征融合检测头(全网首发)

一、本文介绍 本文给大家带来的改进机制是利用ASFF改进YOLOv5的检测头形成新的检测头Detect_ASFF,其主要创新是引入了一种自适应的空间特征融合方式,有效地过滤掉冲突信息,从而增强了尺度不变性。经过我的实验验证,修改后的检测头在所有的检测目标上均有大幅度的涨点效果,…...

第十三章 接口测试(笔记)

一、接口测试分类 内部接口:测试被测系统各个子模块之间的接口,或者被测系统提供给内部系统使用的接口 外部接口: 1.被测系统调用外部的接口 2.系统对外提供的接口 接口测试重点:检查接口参数传递的正确性,接口功能的正确性,输出结果的正确性,以及对各种异常情况的容错…...

Github搭建图床 github搭建静态资源库 免费CDN加速 github搭建图床使用 jsdelivr CDN免费加速访问

Github搭建图床 github搭建静态资源库 免费CDN加速 github搭建图床使用 jsdelivr CDN免费加速访问 前言1、创建仓库2、开启 gh-pages页面功能3、访问测试 前言 写博客文章时,图片的上传和存放是一个问题,使用小众第三方图床,怕不稳定和倒闭&…...

Airtest-Selenium实操小课②:刷B站视频

1. 前言 上一课我们讲到用Airtest-Selenium爬取网站上我们需要的信息数据,还没看的同学可以戳这里看看~ 那么今天的推文,我们就来说说看,怎么实现看b站、刷b站的日常操作,包括点击暂停,发弹幕,点赞&#…...

Linux chmod命令详解

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令 Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users&#xff09…...

求幸存数之和 - 华为OD统一考试

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C++ 题目描述 给一个正整数列nums,一个跳数jump,及幸存数量left。运算过程为:从索引为0的位置开始向后跳,中间跳过 J 个数字,命中索引为 J+1 的数字,该数被敲出,并从该点起跳,以此类推,直到幸存left个数为止。…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

数据库分批入库

今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

DiscuzX3.5发帖json api

参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...

精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑

精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑 在电子商务领域,转化率与网站性能是决定商业成败的核心指标。今天,我们将深入解析不同类型电商平台的转化率基准,探讨页面加载速度对用户行为的…...