什么是3D建模中的“高模”和“低模”?
3D建模中什么是高多边形和低多边形?
高多边形建模和低多边形建模之间的主要区别正如其名称所暗示的那样:您是否在模型中使用大量多边形或少量多边形。
然而,在决定每个模型的细节和多边形级别时,还需要考虑其他事项。最值得注意的是您在材质中使用的纹理。
本文将探讨每种类型的差异、优点和缺点,以及为什么您应该在开始建模之前决定要使用哪种技术!
我应该使用高多边形还是低多边形?
这个问题的答案很大程度上取决于模型完成后您打算如何使用它。
如果您正在制作打算在游戏中使用的模型,或者在实时引擎(例如 Unreal 或 Unity)中渲染,那么您需要大量使用低多边形建模。
低多边形模型往往使用较少的计算能力来渲染,因此它们更适合需要快速计算模型在虚拟环境中如何反应的此类引擎。
但是,如果您要生成高质量的渲染,也许出于营销原因,那么您通常会使用高多边形建模。
如果您要制作静态镜头甚至视频,则渲染帧所需的时间或多或少无关紧要。因此,您可以生成计算机更难以计算的模型,因为最终结果一旦完成就不需要再计算。
每种风格的优点和缺点
上一节简要介绍了低多边形建模的主要优势:易用性。如果您正在进行大量的即时渲染(游戏开发中常见),这些模型的轻量级尺寸可以使它们更容易使用。
这对您和您的工作站也很重要。低多边形模型可以更轻松地在计算机上加载、查看和编辑。这通常也会导致更快的渲染时间。
从建模的角度来看,这些模型也更容易处理。与具有数百万个多边形的网格相比,编辑不太复杂的网格通常更容易。
低多边形网格的缺点是很难在成品中实现您可能想要的高水平细节。由于使用的多边形较少,因此可操纵成某些形状的几何体也较少。这意味着诸如衣服上的折痕之类的东西无法在网格中形成。
不过,有一种方法可以解决这个问题。使用法线贴图和高度(或位移)贴图可以模拟光线在渲染中的对象上的行为方式。这可以给人一种细节直接在模型上的错觉。
如果做得正确,这看起来和详细建模一样好。
制作低多边形模型时需要考虑的最后一件事是您使用的纹理,例如法线贴图,但同样重要的是用于向完成的网格添加颜色的漫反射贴图。
您在纹理贴图中使用的图像的大小和数量只会增加您的 PC 需要计算的资源。请记住,低多边形非常好,因为它可以减少资源占用!
因此,您很少会想在低多边形模型中使用大于 4096×4096 的图像,并且可能希望将多个贴图压缩为单个纹理表(包含所有贴图的单个图像,这些贴图将适合UV 展开)模型)。
如果您正在为手机制作游戏,这一点尤其重要,因为与游戏机或游戏 PC 设备相比,手机的计算能力要低得多。
低多边形建模的另一个好处是它可以帮助您练习优化技能,因此即使您选择专门从事高多边形建模,低多边形技术仍然可以使您在整个职业生涯中受益。
高多边形建模也有其自身的优点和缺点。而它们可以很容易地概括为低多边形模型的对立面!
您可以在基础网格中获得更多细节,这可以在最终渲染中获得更好的模型,但代价是渲染需要数小时才能完成。
他们也可能更难合作。如果您的工作站使用较旧的硬件,那么处理模型可能会成为一件苦差事。在视口中移动是一个缓慢的过程,并且由于网格的密度,编辑可能需要很长时间。
您还可以使用非常高分辨率的图像。并根据需要为材质使用尽可能多的图像,这可以使纹理稍微更容易并提供更高的保真度结果。
总的来说,熟悉这两种建模风格是个好主意,因为它们都有各自的用途。
即使在低多边形建模的情况下,一种越来越流行的制作方法是对低多边形基础网格进行建模,然后制作一个克隆,并在其上添加高多边形细节。
您可以使用Substance Painter等软件将高多边形网格细节烘焙到低多边形网格上作为法线贴图。你做得越多,事情就越容易。
这将为您提供与高多边形模型相当的结果,但具有低多边形模型的所有优点!请注意,这需要精通两种建模方法,这也是您应该考虑练习这两种方法的一个重要原因。
相关文章:

什么是3D建模中的“高模”和“低模”?
3D建模中什么是高多边形和低多边形? 高多边形建模和低多边形建模之间的主要区别正如其名称所暗示的那样:您是否在模型中使用大量多边形或少量多边形。 然而,在决定每个模型的细节和多边形级别时,还需要考虑其他事项。最值得注意的…...

python数据结构与算法-04_队列
队列和栈 前面讲了线性和链式结构,如果你顺利掌握了,下边的队列和栈就小菜一碟了。因为我们会用前两章讲到的东西来实现队列和栈。 之所以放到一起讲是因为这两个东西很类似,队列是先进先出结构(FIFO, first in first out), 栈是…...

从理论到实践:深度解读BIO、NIO、AIO的优缺点及使用场景
文章目录 BIO优缺点示例代码 NIO优缺点示例代码 AIO优缺点示例代码 总结 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 BIO、NIO和AIO是Java编程语言中用于处理输入输出(IO…...
Mysql Innodb Cluster集群搭建 - docker
Mysql Innodb Cluster集群搭建 - docker 背景搭建环境架构图3台机器如下:修改三台机器的ip域名映射如下,并重启网络使其生效部署mysql server实例通过docker启动三台mysql server实例,需要映射数据请自行更改配置加入-v启动第一台mysql-server启动第二台mysql-server启动第三…...

如何在 macOS 中删除 Time Machine 本地快照
看到这个可用82GB(458.3MB可清除) 顿时感觉清爽,之前的还是可用82GB(65GB可清除),安装个xcode都安装不上,费解半天,怎么都解决不了这个问题,就是买磁盘情理软件也解决不了…...

mysql的sql_mode参数
msql修改了这个参数,首先mysql需要重新才能生效,还有就是java连接的springboot项目也需要重新启动。之前是遇到了下面的这个报错。只需要把sql_mode设置为空,重启mysql和服务就行 报错 In aggregated query without GROUP BY, expression #1…...

模拟业务流程+构造各种测试数据,一文带你测试效率提升80%
📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…...
【linux】 Shell函数返回值
概述 return 返回 shell中通过return返回是有限制的,必须是数字,最大返回255,超过255,则从0开始计算。 通常仅返回0或1;0表示成功,1表示失败。通过echo 直接返回。 在没有return 语句,函数将以…...

面试:容器技术
目录 为什么需要 DevOpsDocker 是什么?Docker 与虚拟机有何不同?什么是 Docker 镜像?什么是 Docker 容器?Docker 容器有几种状态?解释一下 Dockerfile 的 ONBUILD 指令?什么是 Docker Swarm?如何…...

在Linux中nacos集群模式部署
一、安装 配置nacos 在Linux中建立一个nacos文件夹 mkdir nacos 把下载的压缩包拉入刚才创建好的nacos文件中 解压 tar -zxvf nacos-server-1.4.1\.tar.gz 修改配置文件 进入nacos文件中的conf文件的cluster.conf.example 修改cluster.conf.example文件 vim cluster.conf.exa…...

7天入门python系列之爬取热门小说项目实战,互联网的东西怎么算白嫖呢
第七天 Python项目实操 编者打算开一个python 初学主题的系列文章,用于指导想要学习python的同学。关于文章有任何疑问都可以私信作者。对于初学者想在7天内入门Python,这是一个紧凑的学习计划。但并不是不可完成的。 学到第7天说明你已经对python有了一…...

产品经理墨刀学习----注册页面
我们做的产品是一个校园论坛学习开发系统,目前才开始学习。 (一)流程图 (二)简单墨刀设计--注册页面 (1)有账号 (a)直接登录: (b)忘…...

算法通关村——归并排序
归并排序 1、归并排序原理 归并排序是一种很经典的分治策略。 归并排序(MERGE-SORT)简单来说就是将大的序列先视为若干小的数组,分成几个比较小的结构,然后是利用归并的思想实现的排序方法。将一个大的问题分解成一些小的问题分别求解ÿ…...

SDL2 播放音频数据(PCM)
1.简介 这里以常用的视频原始数据PCM数据为例,展示音频的播放。 SDL播放音频的流程如下: 初始化音频子系统:SDL_Init()。设置音频参数:SDL_AudioSpec。设置回调函数:SDL_AudioCallback。打开音频设备:SD…...

优秀智慧园区案例 - 重庆AI PARK智慧创意园区,先进智慧园区建设方案经验
一、项目背景 1、智慧园区是国家实现经济增长、产业升级的载体 智慧园区建设是城市智慧化创新发展的核心,在数智化升级和低碳化转型的经济发展双引擎的驱动下,十四五、数字经济的政策大力支持,以及人工智能、5G、大数据、区块链等技术的不断…...

如何编写一个Perl爬虫程序
要编写一个Perl爬虫程序,首先需要安装LWP::UserAgent模块。你可以使用cpan命令来安装该模块: cpan LWP::UserAgent 安装完成后,可以使用以下代码来编写爬虫程序: use LWP::UserAgent; use HTML::TreeBuilder; my $proxy_host …...
linux查看当前目录大小及磁盘大小
1、查看当前目录大小 du -sh ./*-h:以K,M,G为单位,提高信息的可读性 -s:仅显示总计 ./*:列出当前目录下的子项 2、查看磁盘大小 df -h还可以加个路径,仅查看当前目录所在的磁盘。例如&#x…...

windows系统pycharm程序通过urllib下载权重https报错解决
报错内容: raise URLError(unknown url type: %s % type) urllib.error.URLError: <urlopen error unknown url type: https> 解决办法记录: 1. 下载 pyopenssl : pip install pyopenssl 此时, import ssl 可以通过提示指导你安…...

Python数据结构: 列表(List)详解
在Python中,列表(List)是一种有序、可变的数据类型,被广泛用于存储和处理多个元素。列表是一种容器,可以包含任意数据类型的元素,包括数字、字符串、列表、字典等。本文将深入讨论列表的各个方面࿰…...
查找py源代码目录
要查找Python源代码目录,你可以按照以下步骤进行操作: 打开终端或命令提示符窗口。输入以下命令来查找Python源代码目录: python -m site该命令将显示Python安装位置的相关信息,包括site-packages目录路径。该目录通常包含Pytho…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...