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

在线工具推荐: 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://www.mfbz.cn/a/275745.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】初识C语言

本章节主要目的是基本了解C语言的基础知识,对C语言有一个大概的认识。 什么是C语言 在日常生活中,语言就是一种人与人之间沟通的工具,像汉语,英语,法语……等。而人与计算机之间交流沟通的工具则被称为计算机语言&am…

任务调度-hangfire

目录 一、Hangfire是什么? 二、配置服务 1.配置Hangfire服务 2.添加中间件 3.权限控制 三、配置后台任务 1.在后台中调用方法 2.调用延时方法 3.执行周期性任务 四、在客户端上配置任务 1.在AddHangfire添加UseHangfireHttpJob方法 2.创建周期任务 3.创建只读面板 总…

硅像素传感器文献调研(三)

写在前面: 引言:也是先总结前人的研究结果,重点论述其不足之处。 和该方向联系不大,但还是有值得学习的地方。逻辑很清晰,易读性很好。 1991年—场板半阻层 使用场板和半电阻层的高压平面器件 0.摘要 提出了一种…

低代码,前端工程化项目的未来

一、前言 在软工圣经《人月神话》一书中,作者Brooks指出了软件发展的一个僵局:在落后的项目中增加人手,只会使进度更加落后。 为了更快完成项目,开发团队会发展的极其庞大,以致于所有的时间都花费在沟通和变更决策上&a…

软件测试面试中90%会遇到的问题,面试前刷提高百分之60的通过率

面试的时候,遇到这样的提问,很多人的都会感觉脑子一下一片空白,或者星星点点,不知道从何说起。 一方面不知道面试官问这个问题的意图是什么?也不知道他想得到的答案是什么? 更加不知道该从哪些方面来回答…

vue3 根据用户权限控制左侧菜单和路由拦截

目录 前言 整体思路 详细开发 1.左侧菜单的显隐控制 2.控制路由权限 补充权限控制 总结 前言 我这里是vue3开发的一个后台管理系统,所以涉及用户权限管理,以及页面权限等,其他模块部分可以查看专栏,这里只对怎么实现根据用…

异步通知

文章目录 一、异步通知1、应用场景2、执行流程(基于读取按键值的情景)2.1、应用程序具体做什么?2.2、驱动程序具体做什么? 三、程序1、驱动程序2、测试应用程序 三、总结 一、异步通知 1、应用场景 当应用程序不想休眠时&#x…

记录一下亿级别数据入库clickhouse

需求背景 公司的业务主要是广告数据归因的,每天的pv数据和加粉数据粗粗算一下,一天几千万上亿是有的。由于数据量大,客户在后台查询时间跨度比较大的数据时,查询效率就堪忧。因而将数据聚合后导到clickhouse进行存储,…

数据库系统原理例题之——SQL 与关系数据库基本操作

SQL 与关系数据库基本操作 第四章 SQL 与关系数据库基本操作【例题】一 、单选题二 、填空题三 、简答题四 、设计题 【答案&解析】一、单选题二、填空题三、简答题四、设计题 【延伸知识点】【延伸知识点答案&解析】 第四章 SQL 与关系数据库基本操作 【例题】 一 、…

视频美颜SDK趋势畅想:未来发展方向与应用场景

当下,视频美颜SDK正不断演进,本文将深入探讨视频美颜SDK的发展趋势,探讨未来可能的方向和广泛的应用场景。 1.深度学习与视频美颜的融合 未来,我们可以期待看到更多基于深度学习算法的视频美颜SDK,为用户提供更高质量…

国标标准和行业标准使用介绍

场景 我现在所在行业是交通行业,主要做城市交通信控相关的工作,后续可能会涉及高速、收费站、稽核收费等业务场景在做产品开发时,我们需要有一个标准可以参考,这些标准必须是公认的,这时就用到了 国家标准、行业标准等…

Python流星雨完整代码

文章目录 环境需求完整代码详细分析环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.blog.csdn.net/arti…

企业数据可视化-亿发数据化管理平台提供商,实现一站式数字化运营

近些年来,国内企业数据化管理升级进程持续加速,以物联网建设、人工智能、大数据和5G网络等新技术的发展,推动了数字经济的蓬勃发展,成为维持经济持续稳定增长的重要引擎。如今许多国内中小型企业纷纷摒弃传统管理模式,…

linux基础开发工具使用

文章目录 一. yum命令yum的使用 二.vim命令(写代码)各模式的互相转化命令模式光标移动的命令复制,粘贴,剪切,撤销撤销字符的转换字符的添加和删除查找注释清除注释 替换模式视图模式 裸的vim也可支持多文本编译vim 报错…

Cookie的详解使用(创建,获取,销毁)

文章目录 Cookie的详解使用(创建,获取,销毁)1、Cookie是什么2、cookie的常用方法3、cookie的构造和获取代码演示SetCookieServlet.javaGetCookieServlet.javaweb.xml运行结果如下 4、Cookie的销毁DestoryCookieServletweb.xml运行…

docker学习(十九、network使用示例bridge)

文章目录 一、容器网络分配情况1.启动容器2.查看容器的network3.容器网络分配 二、bridge1.bridge详细介绍2.实践bridge两两匹配3.创建network,默认bridge network相关内容: docker学习(十八、network介绍) docker学习&#xff08…

浅学Vue3

安装 vue项目 npm init vuelatest 回车装包 npm install 路由 安装 Router npm install vue-router4 -S项目根目录新建 router --> index.js vue2中 index.jsimport Vue from vue; import VueRouter from vue-router; import Home from ../views/Home.vue;Vue.use(V…

Linux操作系统极速入门[常用指令](安装jdk,MySQL,nginx),以及在linux对项目进行部署。

linux概述: Linux是一套免费使用和自由传播的操作系统 我们为什么要学,Linux? 主流操作系统: linux系统版本: 内核版: 由linux核心团队开发,维护 免费,开源 负责控制硬件 发行版&…

Vulnhub-Al-Web-1.0 靶机复现完整过程

一、信息收集 1.主机发现 arp-scan -l2.端口扫描 nmap -sV -p- 192.168.200.16PORTSTATESERVICEVERSIONMAC Address80/TCPOpenhttpApache httpd00:0C:29:C4:1B:78 (VMware) 3.目录扫描 python dirsearch.py -u http://192.168.200.16扫描出来这两个文件,首先先…

关于SQL时间盲注(基于sleep函数)的手动测试、burpsuite爆破、sqlmap全自动化注入

SQL时间注入是一种常见的SQL注入攻击方式,攻击者通过在SQL语句中注入时间相关的代码,来获取敏感信息或者执行非法操作。其基本原理如下: 攻击者向Web应用程序中输入一段恶意代码,通过SQL语句查询数据库,并注入时间相关…