如何使用凹凸贴图和位移贴图制作逼真的模型

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

本教程将解释如何应用这些效应背后的理论。在以后的教程中,我们将研究如何快速使用GLTF 编辑器 -NSDT来实现梦幻般的逼真模型。

第 1 步:两种纹理贴图的简单介绍

1) 图像纹理:可以应用徽标、文本、图像和条形码等图形的地方

·当这些元素应用于模型时,它们称为图像纹理。 我们将经常使用“纹理”一词,因此重要的是要记住,我们指的是图像或图形,而不一定是表面光洁度。

2)凹凸和位移映射:在颜色和物理触感方面完全模仿真实世界的材质

·该技术还使用图像纹理来实现某种颜色或逼真的效果(如上所述),但它也可以包括控制模型其他方面的图像纹理,例如表面高度、反射率、粗糙度等。

·例如,在动画中使用凹凸贴图向计算机渲染引擎提供有关对象应如何与灯光交互的指令。这通常会导致零件从远处看起来非常逼真,但锐角的特写镜头会发现模型几何形状是平坦的。

应用了凹凸贴图的渲染零件,允许光源与零件进行交互

·在3D打印中,我们可以进一步利用这个凹凸贴图,将其变成一个位移贴图,该位移贴图确实改变了零件的表面几何形状,从而产生了一个模仿原始零件的零件,不仅在外观上,而且在实际形貌上。位移将凹凸贴图对这些特征的模拟转换为其实际表面形状。3D打印机可以使用位移来模仿复杂的材料和饰面,如皮革、木材、石材。

渲染零件,凹凸贴图转换为位移

将纹理或凹凸/位移贴图直接应用于 CAD 模型的好处是,您可以利用现有的图形和图像,对曲面几何形状进行重大更改,而无需手动建模任何复杂的曲面。正是软件应用了这些复杂的影响,节省了时间和精力,并实现了原本不可能的细节和成像水平。

下面我们将解释这两种设计技术的工作原理。

第 2 步:纹理,它是如何工作的?

将纹理应用到 3D 网格的整个过程包括在打印之前将纹理(图像、徽标、贴花等)直接映射到网格上。

许多 CAD 软件包都提供此功能。为了最大限度地控制纹理的放置方式,您可以使用 Autodesk®、Maya® 或 3DS Max™ 等设计/动画软件。您还可以使用 Adobe Photoshop 获得非常令人印象深刻的结果,Adobe® Photoshop® 是一个更易于访问的软件包,带有图像编辑工具,可以调整和编辑正在应用的纹理。然后,可以将输出文件导出为 OBJ 或 WRL,并发送到 GrabCAD Print 等预打印软件。

注意:

渲染包通常不设计为输出适合 3D 打印的防水网格。通常,您需要更改模型导出设置和/或在外部/第三方程序中修复文件网格来实现此目的。

应用纹理的主要步骤是:

一个。设计一个 3D 对象,如下所示的立方体。

b.映射并展开 3D 对象的几何图形,使其在 2D 平面中表示。

c. 导入 2D 图像纹理。

d. 对齐几何贴图和纹理图像。

e.将纹理图像叠加到零件的几何贴图上。此过程称为 UV 映射。(UV 是在 2D 图像平面上找到的映射到 3D XYZ 坐标的坐标)

f.使用这些映射的 UV 坐标将 2D 图像“包裹”到原始 3D 几何体上。

从视觉上看,上面的过程看起来像这样:

第 3 步:凹凸映射,它是如何工作的?

正如我们上面所解释的,凹凸贴图通过使用光影来欺骗您的眼睛,让您认为物体具有更复杂的表面,从而产生高度和地形的错觉。实际上,表面保持平坦。

凹凸和位移之间的区别总结如下图所示:

纹理和凹凸贴图 凹凸转换为位移的纹理

那么,凹凸贴图是如何工作的呢?设计软件使用由白色、黑色和灰色组成的凸起/高度图来指示需要显示的高度差。

白色 = 高点

黑色 = 低点

灰度 = 介于两者之间的渐变

只有黑白的高度图会导致高度的突然变化。灰度增加了更平滑的过渡。

此凸起/高度贴图保存为图像文件(例如,JPEG、IMG 等),并以与图像纹理相同的方式应用(请参阅步骤 2 中的立方体图片)。通常,这两个图像(纹理和高度贴图)结合使用,以实现完全逼真的材质效果。

这些凸起/高度贴图最初用于最小化模型文件大小并提高游戏内动画的处理速度。程序员操纵光线和阴影,使模型看起来逼真,同时保持其表面几何形状不变,因此图形引擎可以更轻松、更快速地进行处理。

第 4 步:位移。它是如何工作的?

将此模拟的凸块几何形状更改为已改变的曲面几何形状的过程称为位移。置换贴图将应用为纹理的凸起/高度贴图,并使用它来位移网格几何体的表面,以赋予其真实的高点和低点。

通常,在将凹凸转换为位移时,需要定义的只是位移的严重性,即在位移期间将应用的地图的黑色区域和白色区域之间的高度差。这种高度差通常以毫米为单位。

总结

GLTF 编辑器 -NSDT 是一款专门用于3D模型纹理贴图的工具,它支持3D模型各种材质纹理贴图的编辑修改,包括:颜色、粗糙度、金属度、贴图、顶点颜色、
自发光贴图、透明贴图、凹凸贴图、法线贴图、位移贴图、粗糙贴图、金属贴图、
光照贴图、透明度等;是一个功能强大、易于使用的在线3D模型编辑和查看工具,它支持多种格式的3D模型导入并将模型导出为GLB格式,除了可以对3D模型进行基本属性的修改之外,还支持对模型原点重置以及模型材质纹理修改。对于3D开发者和设计师来说,GLTF 编辑器 是一个非常有用的工具,可以帮助他们更方便地处理3D模型。

转载:如何使用凹凸贴图和位移贴图制作逼真的模型 (mvrlink.com)

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

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

相关文章

腾讯云服务器怎么选?腾讯云服务器最新优惠价格表来了!

腾讯云服务器租用价格表:轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年,540元三年、2核4G5M带宽218元一年,2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月,云服务器CVM S5实例2核2G配置280.8元一年…

Java中实现百度浏览器搜索功能(windows/linux)

要在Java中实现百度浏览器搜索功能&#xff0c;你可以使用Selenium WebDriver。Selenium是一个用于自动化浏览器的工具&#xff0c;WebDriver是Selenium的一个子项目&#xff0c;它提供了一套API&#xff0c;可以直接与浏览器交互。 依赖: <dependencies><dependency…

前端图片适配不同屏幕方案

预备知识&#xff1a; 设备独立像素,以下图的iphone12 Pro为例&#xff0c;390*844表示的就是设备独立像素&#xff08;DIP&#xff09;,也可以理解为CSS像素 物理像素&#xff08;设备像素&#xff09;&#xff0c;就是屏幕的分辨率&#xff0c;显示屏就是由一个个物理像素…

django之drf框架(排序、过滤、分页、异常处理)

排序 排序的快速使用 1.必须是继承GenericAPIView及其子类才能是用排序 导入OrderingFilter类&#xff0c;from rest_framework.filters import OrderingFilter 2.在类中配置类属性 filter_backends[OrderingFilter] 3.类中写属性 ordering_fields [price,id] # 必须是表的…

springboot整合minio做文件存储

一,minio介绍 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等&#xff0c;而一个对象文件可以是任意大小&…

Android ImageView如何使用.svg格式图片

我们知道imageview常用的图片格式是.jpg/.png或者drawable里的部分.xml文件。但有时UI会给过来.svg格式的文件&#xff0c;下面讲解如何使用.svg格式图片文件 step1:AS点击File -> New -> Vector Asset step2:选中要使用的.svg文件&#xff0c;按需要命名和调整&#x…

java itext5 生成PDF并填充数据导出

java itext5 生成PDF并填充数据导出 依赖**文本勾选框****页眉**&#xff0c;**页脚****图片**实际图 主要功能有文本勾选框&#xff0c;页眉&#xff0c;页脚&#xff0c;图片等功能。肯定没有专业软件画的好看&#xff0c;只是一点儿方法。仅供参考。 依赖 <!--pdf-->&…

axios配置请求头content-type 和 get/post请求方式

axios配置请求头content-type https://blog.csdn.net/wojiushiwo945you/article/details/107653962 axios 是Ajax的一个插件&#xff0c;axios虽然是一个插件&#xff0c;但是我们不需要通过Vue.use(axios)来使用&#xff0c;下载完成后&#xff0c;只需在项目中引入即可。(一…

Yapi接口管理平台Centos7部署

文章目录 1.环境准备1.1 关闭透明大页THP1.2 设置最大文件打开数最大进程数 2.Nodejs安装3.安装Mongodb3.1 下载安装3.2 配置3.3 配置环境变量3.4 启动3.5 关闭 4.安装YAPI4.1 离线安装4.2 页面安装&#xff08;本次采用&#xff09;4.3 访问 1.环境准备 1.1 关闭透明大页THP …

OpenEular23.09(欧拉)操作系统为企业搭建独立的K8S集群环境,详细流程+截图

1.环境&#xff1b; win10&#xff0c;vmware16 pro&#xff0c;openeular23.09 集群模式&#xff1a;一主二从 主机硬件配置 主机名IP角色CPU内存硬盘k8s-master01192.168.91.100master4C4G40Gk8s-worker02192.168.91.101worker(node)4C4G40Gk8s-worker03192.168.91.102work…

代码随想录算法训练营day2|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

第一章 数组part02 977.有序数组的平方 &#xff0c;209.长度最小的子数组 &#xff0c;59.螺旋矩阵II &#xff0c;总结 977.有序数组的平方 题目建议&#xff1a; 本题关键在于理解双指针思想 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客…

w7数据库基础之mysql函数

系统函数 1.version() --mysql版本 2.user() --当前登录的数据库用户名system_user() 3.database() --当前使用的数据库名。schema() 4.datadir --数据库路径 5.version_compile_os 操作系统版本&#xff0c;like 后面可以使用%%进行模糊查询。 6.hostname 当前机器…

出现频率高达70%软件测试面试题及答案!——看完面试官:是你面试我还是我面试你啊!

【纯干货&#xff01;&#xff01;&#xff01;】花费了整整3天&#xff0c;整理出来的全网最实用软件测试面试大全&#xff0c;一共30道题目答案的纯干货&#xff0c;希望大家多多支持&#xff0c;建议 点赞&#xff01;&#xff01;收藏&#xff01;&#xff01;长文警告&…

QuestMobile:网易有道词典、美团、知乎等一同入榜2023年“00后喜爱APP”

近期&#xff0c;国内第三方数据机构QuestMobile发布《2023中国互联网核心趋势年度报告》&#xff0c;网易有道词典荣获“2023中国互联网APP TOP50赛道用户规模NO.1”及“00后用户喜爱App”两项殊荣。 据悉&#xff0c;QuestMobile年度“行业用户规模”奖项是以2022年10月-2023…

代码随想录-刷题第三十九天

动态规划理论基础 动态规划的题目由重叠子问题构成&#xff0c;每一个状态一定是由上一个状态推导出来的。这一点就区分于贪心&#xff0c;贪心没有状态推导&#xff0c;而是从局部直接选最优的。 动态规划五步曲 确定dp数组&#xff08;dp table&#xff09;以及下标的含义…

MySQL按月分片

一、按照月分片 使用场景为按照自然月来分片,每个自然月为一个分片,但是一年有12个月,是不是要有12个数据节点才行呢?并不是。例如我现在只有三个分片数据库,这样就可以1月在第一个数据分片中,2月在第二个数据分片中,3月在第三个数据分片中,当来到4月的时候,就会重新开…

w4操作系统之windows上创建隐藏用户

隐藏用户–在windows上创建隐藏用户 1.首先查看现有哪些用户。&#xff08;通过net user 命令&#xff09; 2.然后创建隐藏用户&#xff08;net user client$ 123 /add&#xff09; 此时出现报错信息。原因是登录用户没权限。需要用管理员的权限 3.用管理员身份运行cmd&am…

【数据结构】C语言实现单链表的基本操作

单链表基本操作的实现 导言一、查找操作1.1 按位查找1.1.1 按位查找的C语言实现1.1.2 按位查找的时间复杂度 1.2 按值查找1.2.1 按值查找的C语言实现1.2.2 按值查找的时间复杂度 二、插入操作2.1 后插操作2.2 前插操作 三、删除操作结语 导言 大家好&#xff0c;很高兴又和大家…

代码随想录二刷 | 二叉树 | 最大二叉树

代码随想录二刷 &#xff5c; 二叉树 &#xff5c; 最大二叉树 题目描述解题思路代码实现 题目描述 654.最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左…