最专业的外贸网站建设/seo人才网
在快节奏的游戏和虚拟/增强现实 (VR/AR) 世界中,3D 模型的优化在提供引人入胜的体验方面发挥着关键作用。 这门学科不仅仅是创造令人着迷的图形结构; 这是视觉质量和游戏流畅性之间的平衡问题,确保细致而流畅的游戏环境。 通过低多边形建模等技术来减少多边形数量、应用物理精确纹理 (PBR) 以及关键的“烘焙”过程来优化 3D 模型,可以提高加载速度、图形渲染和交互性 游戏。
推荐:用 NSDT编辑器 快速搭建可编程3D场景
烘焙是一个将 3D 模型的详细信息(例如高多边形细节)烘焙到 2D 贴图中的阶段,使模型的渲染效率更高。 适当优化的 3D 模型不仅可以改善玩家的体验,还可以扩大游戏的可访问性,使其更适合使用不同类型硬件的用户。 在本文中,我们将探讨优化 3D 模型的重要性,并以美式邮箱 3D 模型为例,展示精心设计的模型如何提高游戏性能。
无论你是游戏开发者、3D 建模爱好者,还是想了解更多有关你喜爱的游戏的技术的游戏玩家,本文都将对 3D 模型优化过程进行详细分析,包括对烘焙的深入讨论。 加入我们的技术之旅,了解我们的美式邮箱 3D 模型如何提升你的游戏项目的质量,将其真实性和性能提升到新的水平。
1、低多边形模型:增强游戏体验的关键
在不断发展的 3D 建模和游戏设计领域,低多边形模型已成为优化性能的关键工具。 但“低多边形”到底是什么意思,为什么它很重要?
低多边形模型,顾名思义,是一种使用最少数量的多边形来表示其形状和结构的 3D 模型。 通过减少多边形数量,我们减轻了渲染模型所需的计算负载,从而提高了各种硬件规格的性能。 但低多边形模型的魔力并不仅仅停留在性能增强上; 通过正确的技术,它们仍然可以拥有高水平的视觉吸引力,使设计师能够在不影响性能的情况下创造出引人入胜且视觉震撼的游戏。
低多边形如何转化为实际的游戏体验? 这里有几种方法:
- 提高加载速度:高多边形模型由于其复杂的结构,可能需要大量时间来加载,从而导致游戏开始之前的等待时间更长。 相比之下,低多边形模型更简单且加载速度更快,使玩家能够更快地进入游戏。
- 减少游戏延迟:游戏延迟可能会让玩家感到非常沮丧,其中一个常见原因是高多边形模型的处理需求。 通过使用低多边形模型,游戏需要更少的处理能力,减少滞后的可能性并确保更流畅的游戏体验。
2、HighPoly 到 LowPoly:3D 建模优化的关键
一旦你了解了低多边形模型在游戏中的价值,下一步就是探索如何将复杂的高多边形模型转换为优化的低多边形版本,同时又不丢失赋予模型真实性和特征的基本细节。 这就是 HighPoly 到 LowPoly 建模和法线贴图烘焙技术发挥作用的地方。
HighPoly 到 LowPoly 建模是 3D 建模中使用的过程,其中将高多边形或高多边形模型重新创建为低多边形或低多边形模型。 目标是保留原始模型的定义特征,同时显着减少其多边形数量。
该技术不仅提高了游戏性能,还使 3D 模型在游戏设计过程中更易于管理和操作。
虽然从高多边形到低多边形的转换降低了模型的复杂性,但它通常会导致精细细节的丢失。 这就是法线贴图烘焙的用武之地。法线贴图是 3D 计算机图形学中使用的一种技术,用于在低多边形模型中模拟高多边形模型的复杂细节。
在此过程中,法线贴图(一种允许我们添加表面细节(例如凹凸、凹槽和划痕)的纹理)从高多边形模型生成,然后应用于低多边形模型。 这会产生深度和细节的错觉,而无需添加额外的多边形。 其结果是模型在性能方面高效,但仍保持高水平的视觉保真度。
通过巧妙地应用这些技术,我们能够创建一个优化且具有视觉吸引力的美式邮箱 3D 模型版本。
无法线贴图的 LowPoly 美式邮箱 3D 模型 Matcap 视图
带法线贴图的 LowPoly 美式邮箱详细视图
应用法线贴图的 LowPoly 美式邮箱的详细 Matcap 视图
3、优化 3D 模型:美式邮箱案例研究
让我们通过一个实际示例深入研究 3D 模型优化:我们的美式邮箱 3D 模型。 这很好地演示了如何优化游戏 3D 模型、平衡性能和视觉质量。
优化 3D 模型首先要将高多边形模型转换为低多边形模型。 技术范围从适用于有机物体或角色的重新拓扑到通过修改器进行抽取或删除修改器(例如细分曲面和斜角)。
之后,3D模型的几何形状进一步细化。对于邮箱模型,我们使用了无损方法,在创建高多边形版本的同时保留了修改器。 这保留了模型的细节,并使我们能够将其优化为低多边形模型。
准备好高多边形版本后,我们创建了优化的低多边形模型。 我们复制了高多边形模型,删除了修改器,并仔细调整了低多边形模型的拓扑。
这一过程大大减少了模型的多边形数量,使其适合游戏应用程序,同时又不牺牲视觉吸引力。 这个案例证明3D模型优化可以有效平衡游戏设计中的性能和美观。
在下面的部分中,我们将深入研究法线贴图烘焙技术如何进一步提高美式邮箱 3D 模型的质量。
4、展开 3D 模型:有效纹理化的关键
在我们进入纹理阶段之前,3D 模型首先需要经历一个称为展开的过程。 这是创建任何用于游戏的 3D 模型(包括我们的美式邮箱)的基本步骤。
3D 展开可以比作剥橙子并将其皮平放。 就像果皮的每个部分对应橙子的特定部分一样,展平 UV 贴图的每个部分对应 3D 模型的特定部分。
这个过程虽然是技术性的,但可以被认为是它自己的一门艺术,因为它需要精确性和对模型几何形状的清晰理解。 对于我们的美式邮箱,展开过程涉及以数字方式“展开”模型的表面以创建 UV 贴图。
模型的每个多边形都被战略性地映射到二维表面上,确保考虑到每个细节。
在 Blender 中创建的美式邮箱模型的 UV 贴图,用于纹理映射过程
展开阶段至关重要,因为它为有效纹理化奠定了基础。 出色的展开将生成一个 UV 贴图,该贴图可以最大化纹理空间、最小化失真并考虑模型的视觉层次结构。
通过小心地展开我们的美式邮箱 3D 模型,我们确保纹理将准确地遵循模型的形状和细节。在下面的部分中,我们将仔细研究下一阶段:通过 使用法线贴图。
Sketchfab 界面中显示带有 UVGrid Checker 的美式邮箱模型
5、烘焙细节:利用法线贴图的力量
如果没有烘焙过程,从高多边形模型到低多边形模型的转变将是不完整的。 这一重要步骤使我们能够从高多边形模型中捕获复杂的细节,并将其应用到低多边形模型上,从而提供两全其美的效果:一个具有视觉吸引力的模型,不会给游戏引擎带来负担。
对于美式邮箱,我们使用了一款名为 Marmoset Toolbag 的强大且高效的软件来进行烘焙过程。
使用 Marmoset Toolbag 进行烘焙的关键部分之一是设置正确的输出设置。 在这里,你可以确定分辨率、抗锯齿质量、位深度以及如何保存输出。 Toolbag 甚至提供了自动填充功能,可将烘焙内容扩展到 UV 边界之外,并根据您的分辨率进行调整。
此外,Toolbag 的“烘焙组”是专用文件夹,带有用于高多边形和低多边形网格的插槽。 这些对于隔离模型的不同元素和防止相交错误特别有用。
Marmoset Toolbag 以其强大的投影工具而闻名,使你能够控制笼子的投影距离和方向。 偏移和倾斜等附加功能有助于提高烘焙质量,而快速加载器可以从网格文件中读取对象名称并自动设置烘焙组。
“偏移”是指偏移贴图的最小(黑色)和最大(白色)范围,而“绘画倾斜”则调整由于离轴投影方向而记录得不理想的细节。 借助 Marmoset Toolbag,你可以使用带有 Photoshop 样式快捷方式的绘画工具以 2D 或 3D 方式绘制偏移和倾斜贴图。
该软件使烘焙过程更加直观、精确和高效,确保高质量的游戏 3D 模型,如我们的美式邮箱。 在下一节中,我们将深入研究创建游戏就绪模型的最后部分:纹理。
美式邮箱模型烘焙过程在Marmoset Toolbag界面中可视化
6、模型纹理:为模型注入活力
纹理是 3D 模型创建过程中的最后一个领域,它真正使模型栩栩如生。 它赋予颜色,传达材料类型,并引入精美的细节,增加模型的真实感和个性。 对于我们的美式邮箱,我们使用了一个功能强大的软件:Substance Painter。
Substance Painter 以其全面且直观的纹理工具套件在 3D 行业中享有盛誉。 凭借其从头开始创建材质并在用户友好的环境中将其应用到 3D 模型的能力,难怪它已成为许多艺术家的首选工具。
纹理不仅仅是简单地将颜色应用于模型。 它是在数字表面上模拟现实生活材料的细微差别。 对于我们的邮箱,我们特别注意金属部件,确保它们真实地反射光线。 红色油漆也有轻微的磨损,暗示它暴露在自然环境中。
借助 Substance Painter 的一系列画笔和程序生成的蒙版,我们成功地复制了现实中复杂的纹理。 从金属的粗糙度到油漆上的细微划痕和缺口,每一种纹理都经过精心制作。
Substance Painter 的另一个重要方面是其 PBR(基于物理的渲染)工作流程。 它可以创建能够准确响应照明条件的材质,这对于实现高水平的真实感至关重要。
除了颜色和材料之外,纹理还涉及向模型添加更精细的细节。 对于我们的邮箱,这包括生锈、灰尘和划痕等小方面。 这些微小的细节可能看起来微不足道,但它们可以极大地增强模型的整体可信度和深度。
总体而言,执行良好的纹理工作不仅仅可以美化模型,还可以使其变得栩栩如生。 它赋予模型特征和历史,使其不仅仅是游戏环境中的静态对象。
在下一节中,我们将讨论美式邮箱的最终渲染以及所有这些步骤如何最终形成可用于游戏的 3D 模型。
邮箱3D模型渲染
7、成果:可用于游戏的优化 3D 模型
将低多边形建模、展开、烘焙和纹理的细致流程结合在一起,我们实现了我们的目标:一个可用于游戏的、优化的美式邮箱 3D 模型。 但这为什么重要呢? 这种优化模型的主要好处是提高游戏性能和更流畅、更身临其境的用户体验。
随着游戏变得越来越复杂,环境越来越大,对象越来越多,对硬件的性能要求也越来越高。 优化的模型(例如我们的邮箱)可以降低性能负担,即使在功能较弱的硬件上也能实现更流畅的游戏体验。 优势不仅仅是技术上的。 优化的模型可确保游戏玩家不会遇到烦人的干扰,例如卡顿、掉帧或加载时间过长。
这带来了更加身临其境的体验,玩家可以沉浸在游戏世界中,而不是与技术故障作斗争。
8、格式转换:面向更多应用场景
优化后的成果也许需要转化成其他格式的3D模型,以便应用到更多的应用场景,或者适应不同的图形引擎。这个问题我们通常使用一个强大的在线工具来解决: NSDT 3DConvert:
https://3dconvert.nsdt.cloud
NSDT 3DConvert可以将你的3D模型转换为GLB、GLTF、OBJ、DAE、PLY等多种格式的需要的格式,也支持将STEP、DXF格式的CAD文件,或者PCD、XYZ、LAS格式的点云文件转换为你需要的格式,而且支持在线预览,超级棒!
9、结束语
在 3D 游戏设计领域,优化不仅是可有可无的,而且是必需的。 正如我们通过美式邮箱模型所演示的那样,优化并不意味着牺牲视觉质量。 相反,它涉及做出明智的设计选择,利用低多边形建模和烘焙等技术,以及执行仔细的纹理工作。
我们希望,无论您是一位有抱负的 3D 艺术家、游戏开发人员,还是对你喜爱的游戏的幕后工作有短暂兴趣的人,对这一过程的深入研究都能让你获得深刻的见解。 但不要相信我们的话——为什么不亲自体验一下呢? 我们邀请你在游戏或 VR/AR 环境中尝试我们的美式邮箱 3D 模型。 亲眼目睹视觉质量和性能优化的无缝融合。 谁知道? 它可能会改变你对 3D 游戏资产的看法。 随着我们不断突破优化和设计的界限,我们期待为你带来更多独特的、适合游戏的模型。 敬请关注!
原文链接:3D模型优化实战 — BimAnt
相关文章:

3D模型优化实战:LowPoly、纹理烘焙及格式转换
在快节奏的游戏和虚拟/增强现实 (VR/AR) 世界中,3D 模型的优化在提供引人入胜的体验方面发挥着关键作用。 这门学科不仅仅是创造令人着迷的图形结构; 这是视觉质量和游戏流畅性之间的平衡问题,确保细致而流畅的游戏环境。 通过低多边形建模等…...

genome comparison commend 2 MCMCtree
仅本人练习使用!!后续会逐渐修改!! mcmctree估算物种分歧时间 - 简书 https://www.cnblogs.com/bio-mary/p/12818888.html 估算系统树分歧时间 —— paml.mcmctree,r8s | 生信技工 http://www.chenlianfu.com/?p2948 4. 使用PAM…...

Linux安装JenkinsCLI
项目简介安装目录 mkdir -p /opt/jenkinscli && cd /opt/jenkinscli JenkinsCLI下载 wget http://<your-jenkins-server>/jnlpJars/jenkins-cli.jar # <your-jenkins-server> 替换为你的 Jenkins 服务器地址 JenkinsCLI授权 Dashboard-->Configure Glob…...

Midjourney学习(一)prompt的基础
prompt目录 sd和mj的比较prompt组成风格表现风格时代描述表情色彩情绪环境 sd和mj的比较 自从去年9月份开始,sd就变得非常或火,跟它一起的还有一个midjourney。 他们就像是程序界的两种模式,sd是开源的,有更多的可能性更可控。但是…...

12 权重衰退
过拟合的应对方法——weight_decay 权重衰退是最广泛使用的正则化方法之一。 模型容量受参数个数和参数范围影响,通过L2正则项限制w的取值范围,权重w每次更新乘以小于1的数,w的数值范围不会太大,从而降低模型复杂度,…...

简化测试流程,提供卓越服务:TestComplete+Salesforce满足不断发展的企业的需求
2015年,一群前Salesforce员工发现了病毒防护市场中的一个空白:Salesforce不会对文档进行威胁扫描。为了填补这一空白,他们创建了一个平台,并以该平台作为中心帮助公司保护所有的企业云SaaS系统,使其免受威胁。这个平台…...

kafka 命令脚本说明以及在java中使用
一、命令行使用 1.1、topic 命令 1、关于topic,这里用window 来示例 bin\windows\kafka-topics.bat2、创建 first topic,五个分区,1个副本 bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --create --partitions 5 --replication-factor 1 -…...

Qt应用开发(基础篇)——文件选择对话框 QFileDialog
一、前言 QFileDialog类继承于QDialog,提供了一个允许用户选择文件或目录的对话框。 对话框窗口 QDialog QFileDialog文件选择对话框允许用户在当前文件系统中选择一个或者多个文件或者文件路径,使用静态函数创建是很简便的方式,比如…...

图像OCR转文字,验证码识别技术太疯狂-UI软件自动化
现在用PYTHON识别图片文字,PaddleOCR,Tesseract,Opencv等很多开源技术。知识大爆炸年代,几年不学习就跟不上时代了。 以前早的时候一个验证码图片上有4个不同颜色字符,带一些杂点,我写点代码按颜色最多的进行提取&…...

Docker:自定义镜像
(总结自b站黑马程序员课程) 环环相扣,跳过部分章节和知识点是不可取的。 一、镜像结构 镜像是分层结构,每一层称为一个Layer。 ①BaseImage层:包含基本的系统函数库、环境变量、文件系统。 ②Entrypoint࿱…...

【Nginx22】Nginx学习:FastCGI模块(四)错误处理及其它
Nginx学习:FastCGI模块(四)错误处理及其它 FastCGI 最后一篇,我们将学习完剩下的所有配置指令。在这里,错误处理还是单独拿出来成为一个小节了,而剩下的内容都放到其它中进行学习。不要感觉是其它的就没用了…...

轮毂电机单位换算-米每秒/转每分
先前写了一篇度/S和RPM的关系 这次补全一点 假设轮毂电机直径20CM 0.2M 周长为0.628M 0.2*3.14 轮子转一圈走0.628M 1RPM的单位是转/分 换成转/S 就除以60 也就是轮子转一圈的速度0.628/60 m/S 0.010467m/S 所以换算如下: 1RPM0.010467 m/S 那么1m/S1/(0.010467) RPM95.5RPM 如…...

博流RISC-V芯片BL616开发环境搭建
文章目录 1、工具安装2、代码下载3、环境变量配置4、下载交叉编译器5、编译与下载运行6、使用ninja编译 本文分别介绍博流RISC-V芯片 BL616 在 Windows和Linux 下开发环境搭建,本文同时适用BL618,BL602,BL702,BL808系列芯片。 1、…...

Weblogic漏洞(三)之 Weblogic 弱口令、任意文件读取漏洞
Weblogic 弱口令、任意文件读取漏洞 环境安装 此次我们实验的靶场,是vnlhub中的Weblogic漏洞中的weak_password靶场,我们 cd 到weak_password,然后输入以下命令启动靶场环境: docker-compose up -d输入以下的命令可以查看当前启…...

15 mysql tiny/meidum/long blob/text 的数据存储
前言 这里主要是 由于之前的一个 datetime 存储的时间 导致的问题的衍生出来的探究 探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储 本文主要 的相关内容是 tiny/medium/long blob/text 类…...

【方案】基于视频与AI智能分析技术的城市轨道交通视频监控建设方案
一、背景分析 地铁作为重要的公共场所交通枢纽,流动性非常高、人员大量聚集,轨道交通需要利用视频监控系统来实现全程、全方位的安全防范,这也是保证地铁行车组织和安全的重要手段。调度员和车站值班员通过系统监管列车运行、客流情况、变电…...

mysql8 修改数据存储位置
1、停止MySQL服务 systemctl stop mysqld2、复制现有的数据库目录到新的位置 默认情况下,MySQL的数据库目录位于/var/lib/mysql。假设您想将数据库目录更改为/home/mysql,您可以使用以下命令来复制数据库目录 cp -R /var/lib/mysql /home/mysql3、修改…...

Qt QSlider样式
滑块控件QSlider,如果设置的垂直样式,其进度颜色和剩余颜色,刚好和横向样式的颜色相反的,不确定这个是否是Qt的BUG,Qt456都是这个现象 QSlider::groove:horizontal{ height:8px; background:#FF0000; }QSlider::add-p…...

Redis五大数据类型
Redis五大数据类型 Redis-Key 官网:https://www.redis.net.cn/order/ 序号命令语法描述1DEL key该命令用于在 key 存在时删除 key2DUMP key序列化给定 key ,并返回被序列化的值3EXISTS key检查给定 key 是否存在,存在返回1,否则返…...

chatGPT训练过程
强化学习基础 强化学习是指智能体在不确定环境中最大化其获得的奖励从而达到自主决策的目的。其执行过程为:智能体依据策略决策从而执行动作,然后感知环境获取环境的状态,进而得到奖励(以便下次再到相同状态时能采取更优的动作),…...

原神角色数据分析项目说明文档
---项目涉及--- 前端html语言,flask框架,excel,MySQL,DataFrame数组,numpy,pyecharts ---实现方式--- 将所有角色数据存储在excel表格中,在需要时读取,当用户想要查看某一项时&…...

【Qt】QML-04:自定义变量(属性)property
1、property 1.1 介绍 property用来自定义属性。 什么是属性?面向对象中,类由方法和属性构成。对于从C语言的过来人,更喜欢称之为变量。 之所以说“自定义”,是因为QML语言本身已有默认定义好的属性,这些属性不可以…...

基于Cadence Allegro无盘设计操作流程
无盘设计 1.因为过孔具有电容效应,无盘设计能最大限度保证阻抗连续性,从而减小反射与插损; 2.减缓走线压力,降低产品成本与风险; SetupConstraintsModelSpacing Models勾选Hole to line SetupUnused Pads Su…...

微信小程序 - 2023年最新版手机号快捷登录详细教程
前言 最近开发公司手机快捷登录的功能,花费了不少时间,这里附上详细教程。 这里以海底捞小程序的图片为例,如有侵权请联系小编删除。 代码如下 <button open-type"getPhoneNumber" getphonenumber"getPhoneNumber"…...

Spring_Bean的自动装配
目录 三种配置机制 测试搭建 byName byType 使用注解 Autowire Qualifer Resource Autowire和Resource的不同 自动装配是使用spring满足bean依赖的一种条件 三种配置机制 在xml中显式配置;在java中显式配置;隐式的bean发现机制和自动装配。 …...

使用boost::geometry::union_ 合并边界(内、外)- 方案一
使用boost::geometry::union_ 合并边界(内、外):方案一 结合 boost::geometry::read_wkt() 函数 #include <iostream> #include <vector>#include <boost/geometry.hpp> #include <boost/geometry/geometries/point_x…...

面向高速公路车辆切入场景的自动驾驶测试用例生成方法
1 前言 自动驾驶汽车为解决“交通事故、交通拥堵、环境污染、能源短缺”等问题提供了新的途径[1]。科学完善的测试验证评价体系对提高自动驾驶汽车的研发效率、健全相关法律法规、推进智能交通发展至关重要[2]。自2009年起,谷歌自动驾驶汽车已经进行了超过560万km公…...

Java:SpringBoot整合SSE(Server-Sent Events)实现后端主动向前端推送数据
SpringBoot整合SSE(Server-Sent Events)可以实现后端主动向前端推送数据 目录 核心代码完整代码参考文章 核心代码 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</a…...

cmd命令行设置 windows 设置环境变量
cmd命令行设置 windows 设置环境变量 参考 51CTO博客 设置用户级别的环境变量 :: 设置新参数 JAVA_HOME1 setx JAVA_HOME1 "c:\test"; exit; echo "%JAVA_HOME1%";:: 追加参数内容 JAVA_HOME1 setx JAVA_HOME1 "%JAVA_HOME1%;c:\test2\;"; exi…...

基于负载均衡的在线OJ实战项目
前言: 该篇讲述了实现基于负载均衡式的在线oj,即类似在线编程做题网站一样,文章尽可能详细讲述细节即实现,便于大家了解学习。 文章将采用单篇不分段形式(ps:切着麻烦),附图文&#…...