10大主流3D建模技术-程序员宅基地

技术标签: 3d  数字孪生  

在本文中,我将列出 10 种不同类型的 3D 建模。也许可以了解下一个项目将走向何方,或者你可能会像我一样惊讶,究竟有多少 3D 被用作以多种方式进行可视化的工具。这些是我们将讨论和探索的建模类型:

  • 盒子造型
  • 多边形建模
  • Nurbs 和曲线建模
  • 数字3D雕刻
  • 摄影测量
  • 模拟
  • 程序建模
  • 布尔建模
  • Kit Bashing
  • 模块化建模

你可能会争辩说,建模的类型与工具的数量一样多。然而,我选择将自己限制在比我自己更广泛的观众所认可的技术上。我发现有些技术似乎被普遍接受为 3D 建模的技术或类型。

它们都以一种或另一种方式可行。这完全取决于你想要创造什么样的形状和细节。这些类型中的大多数都可以在 Blender 中使用。但这不是 Blender 的独家文章,即使那是我选择的工具。相反,我想鼓励更广阔的视野,看看每种类型的建模带来了什么。

1、盒建模

让我们从盒建模(Box Modeling)开始。使盒建模成为自己的类型的原因是我们从一些原始对象开始,例如立方体或球体,我们使用经典的建模工具从中创建形状。

相关内容:30多种Blender建模工具讲解

我们有一个起点,我们使用低多边形形状来创建我们的对象。这是一种非常机械的常见建模方式,因为我们控制各个面、边和顶点。通过盒建模,我们强调一次操作对象的整个形状和较大部分。

大多数时候,我们处理有四个边的面,我们称它们为四边形。这些很容易使用,因为大多数建模工具都是为使用四边形而设计的。但是在我们使用模型之前,它通常是由用户预先或由后台软件自动进行三角测量的。

这种类型的建模往往最适用于硬表面对象,例如建筑可视化和人造对象或产品。

我们使用挤压、创建循环切割和斜切等工具。箱形建模经常与细分曲面一起使用。

细分曲面是一种在我们使用传统建模工具操作的边、顶点和面之间添加额外几何图形的技术。我们控制的几何形状就像一个笼子,我们用来塑造对象的细分版本。

根据 catmull-clark 算法,细分的低多边形对象变得更加圆润。这可能听起来很技术,但本质上我们只是添加了围绕对象表面的几何形状。

关于如何使用细分曲面有不同的流派。由于这是在我们原始几何体之上添加的一种层,因此有些人说你永远不应该在细分曲面可见的情况下进行建模,因为如果没有添加细分曲面,原始网格可能会变得不可用。限制我们对原始网格的使用。

其他人则认为,更容易看到你在做什么,并且意图仍然是使用具有细分曲面的对象。

2、多边形建模

Polygon Modeling(多边形建模)是一种与盒建模非常相似的 3D 建模。这里的不同之处在于,我们通常从单个顶点或简单形状开始,没有深度。然后我们一块一块地构建我们的模型。我们经常使用与盒建模相同的工具,但我们以一种细节化的方式使用它们。

这里的重点是更多地使用边和顶点。我们使用这种技术创建的对象类型仍然经常是坚硬的表面,但具有更多的有机形状。

多边形建模与盒建模一样,通常强调在拓扑中使用四边形。这是因为许多工具被设计为使用四边形拓扑。

我们用多边形建模创建的这个可能属于硬表面类别。但很多时候,我们创建的模型具有一些有机特征。例如,它可以是雕像或建筑装饰品。

但它也可以是我们用这种技术创造的一些配件、工具或其他装备。

此处也经常使用细分曲面来平滑对象的几何形状。

本质上,盒建模和多边形建模使用的工具是相同的,只是使用方式不同。

3、Nurbs 和曲线建模

Nurbs 代表非均匀有理 b 样条。难怪我们有一个首字母缩略词。通过这种建模,我们切换到一种完全不同的建模。我们创建基于控制点控制的曲面。我们可以用它来创建非常光滑的曲面。

我们既可以在同一曲线内的点之间进行解释,也可以在多条曲线之间建立桥梁。我们可以设置一个曲线网络,充当对象的边缘,然后填充其间的几何形状以创建对象。

这种建模主要用于工程和类似CAD的软件中。说到视觉特效和 3D 的艺术方面,就没有那么多了。

想象一下,如果你有一个想要 3D 打印的对象。在这种情况下,如果你有一个多边形模型,我们使用盒或多边形建模创建了它,然后将其放大。所有这些面和三角形都将开始变得可见,就像你放大基于光栅的图像时一样。

另一方面,使用 nurbs,我们可以放大和缩小模型,曲线将保持平滑。这可以说是相当于二维图形中的矢量图。

因为我们不再使用顶点、面或边,而是使用曲线。这意味着这些工具非常不同。

我们可能有工具可以打开或关闭一条曲线,或者创建一条在另外两条曲线之间进行解释的新曲线。但我们也有非常相似的工具,例如移动控制点、缩放和旋转。

4、数字3D雕刻

雕刻将我们从 3D 建模的工程部分带回到通常更具艺术性的方面。雕刻使用顶点、面和边,就像盒和多边形建模一样。我们使用雕刻将塑造过程与担心单个元素的更多技术细节分开。我们没有根据选择进行操作,而是使用画笔。画笔具有影响区域,并根据画笔类型和设置更有机地重塑几何形状。

雕刻通常与角色、动物或生物设计一起使用。但也可用于雕刻传统盒子和多边形建模难以创建的细节。

有不同类型的雕刻。我们可以按原样在网格上雕刻,这将根据画笔移动顶点、边缘和面以形成形状。使用这种方法,我们需要从一开始就有很多可用的几何图形,否则我们很快就会达到几何图形可以容纳多少细节的极限。

我们称之为多分辨率的下一个技术。它类似于细分曲面,不同之处在于我们可以在多分辨率的每一层之间存储雕刻。一旦我们达到几何体可以容纳多少细节的极限,我们就将多分辨率级别提高。通过这种方式,我们可以根据需要获得更多几何图形,并且可以将雕刻存储在多个细节级别上。

下一个技术迭代称为动态拓扑。至少在Blender中。当我们根据缩放级别或预定义的绝对级别进行绘制时,此功能会动态地将网格细分为三角形。这样,我们只需继续雕刻,几何形状就会适应。

当我们完成雕刻后,我们需要使网格再次可用。在雕刻会话之后,网格在性能和可加工性方面通常处于非常糟糕的状态。

有时我们可以通过不同的重新网格算法自动完成更好的网格,这些算法可以在对象的表面上并在其上应用新的网格。很多时候认为我们必须经历一个称为重新拓扑的过程,并在雕刻对象的顶部手动重新创建网格。

5、摄影测量

摄影测量是另一种生成 3D 模型的完全不同的方式。通过这种技术,我们使用相机并在尽可能均匀的照明条件下从各个角度多次拍摄对象。然后我们将这些图像输入到一个程序中,该程序解释它们并生成对象的 3D 表示。

这里有明显的优点和缺点。我们得到真实世界的数据,这意味着我们创造的任何东西都必然接近现实。很多时候,我们会在此过程中生成纹理和 UV 贴图,因此我们也不必在这些区域上花费太多时间。

然而,就像雕刻网格一样,需要通过重新网格或重新拓扑来重新加工。这意味着我们可能还需要重新创建 UV 贴图。

由于相机不仅可以捕捉到有问题的物体,还可以捕捉到周围的环境,因此还将进行大量的清理工作。

另一个缺点是我们需要有可用的对象来拍摄它,并且我们需要将它放在一个表面上,这意味着我们无法到达对象的一部分。例如,当我们拍摄一块岩石时,它必须躺下,并且在单次拍摄期间无法触及其底部。这将导致我们的网格中出现洞,我们必须以某种方式处理这些洞。

摄影测量是一项相对较新的发明,最近获得了很多关注。我们不能只拍摄小物体。我们还可以使用无人机拍摄整个区域并重建更大的结构。

这对于保护旧建筑或更快地研究一个地区是个好消息。

还有一些扫描仪可用于扫描物体或区域,就像声纳工作一样。然后可以通过软件输入数据以重新创建 3D 地图。

6、模拟

数字模拟有很多种。这里我将列出一些。

  • 物理
  • 柔软的身体
  • 体液
  • 火与烟
  • 海洋
  • 粒子

每一个都有自己的目的。正如你可能想象的那样,它们中的大多数还具有多种用途。当我们模拟某些东西时,我们会创建一个具有不同对象和参数的设置,这些对象和参数将随着时间的推移相互交互。计算机计算事物将如何移动以及我们运行模拟的每一帧会发生什么。

然后,我们可以使用结果来创建动画,也可以基于模拟而不是来自其他建模技术的原始手动输入来创建场景或对象。想象一下,如果你要在岩石上创造一个飞溅的波浪。您可以建模或使用摄影测量来创建岩石,但波浪更难。你也许可以雕刻它,但运行模拟并让它自己飞溅在岩石上会更方便,它会根据诸如波浪撞击岩石的角度、波浪的大小和速度等参数创建形状。波等。

同样,我们可以将物理模拟与软体对象结合使用来创建车祸。无需手动建模每一帧。

另一个例子是布料模拟。你可以为下一个建筑可视化场景雕刻枕头,也可以使用布料模拟来创建包含所有皱纹的枕头。

模拟比 nurbs 更倾向于 VFX。但是我们仍然可以将其视为一种建模技术,因为我们使用它来创建或变形对象。

模拟是一种技术含量更高的 3D 建模类型。因为我们主要是调整和微调参数,而不是直接关注形状。

7、程序化建模

程序化建模有多种形状和大小。我将其分为两种不同类型的建模。第一个是基于工具的。我们或其他人创建了一个工具,旨在通过程序生成一堆相似的对象。例如,我们可以有一个建筑物生成器。然后我们可以输入一堆参数,比如有多少层、天花板应该有多高以及应该有什么样的屋顶形状。然后我们多次运行该程序,每次运行时,都会吐出一个符合我们标准的新模型。

对于特定类型的模型,有很多这样的工具,我们还可以创建自己的模型生成器,并为我们希望工具输出的模型类型公开某些参数。

下一种程序建模与着色密切相关。着色器可以有一个位移输出,通过这个位移我们可以得到一个简单的基元,比如一个球体或一个平面,然后我们使用数学公式将表面变形为一个复杂的对象或表面。

随着越来越多更好的工具可用于通过着色置换几何体,这种趋势已经发展。可以使用在单个上下轴上工作的传统位移和矢量位移。矢量置换可以在所有方向上置换几何,从简单的几何创建非常高级的对象。

8、布尔建模

使用布尔建模,我们从模型开始,然后切掉或添加其他对象以创建新形状。这与盒子建模密切相关,我们经常将这两种技术结合使用。

通常我们用盒子建模来建模基本形状,然后用布尔运算组合不同的形状。我们必须使用的操作是:

  • 区别
  • 联合
  • 相交

差分算子是最常见的。这是从另一个对象中去除一个对象的形状和体积的运算符。

Union 会将两个对象合并在一起,并且 intersect 将仅保存两个对象共享的几何图形。

布尔值可以帮助我们创建形状,否则用其他建模技术模仿这些形状会很耗时。我们可以将圆形或弯曲形状与方形硬表面形状相结合,并将它们切掉或添加在一起。

9、Kit Bashing

这是另一种类型的建模,我们从一组对象开始,我们将这些对象组合成更详细的对象。或者我们可以使用工具包来详细说明使用其他类型建模制作的对象。

在创建坚硬的表面物体时,kit bashing也很常见。它使我们能够探索不同的部分如何组合在一起,而无需完整了解最终部分的外观。

Kit bashing 非常适合详细说明场景。使用kit bashing时,应注意高频细节、中频和低频细节的比例。合成良好的镜头通常在不同的细节分布之间具有良好的混合和排列。

对于硬表面和有机建模都是如此。例如,一个虚构的机器人可能有更多关于应该被视为头部或焦点的细节,而森林可能有不同的植物、树木和蘑菇分布,这取决于每种香料最有效地生长的地方。有些在场景中均匀分布,而另一些则聚集在一起或集中在场景的特定区域。

10、模块化建模

这并不是真正的建模技术,而是一种很好的实践。在创建 3D 资产时,最好记住模块化。我们可能正在创造一个城市景观。我们可能需要对多个看起来相似的建筑物进行建模。在这种情况下,我们应该考虑模块化,以便我们可以在下一栋建筑物中重用建筑物的某些部分。

我们甚至可以对不同的建筑部分进行建模,我们可以以不同的方式重新排列以创造变化。

11、最后的想法

在决定使用哪种类型的建模时,我们需要考虑我们的最终目标是什么。但在大多数情况下,这将是一个组合。特别是如果我们正在创建一个场景。在这些情况下,我们可能有一些对象需要一些技术,而其他对象则需要其他技术。

如果你是初学者,我建议你从盒子建模和多边形建模开始,因为它们使用的工具相同,并且这些技术是所有建模的基础。但是,例如,如果想在 3D 打印领域占据一席之地,那么你应该从 nurbs 建模开始。


原文链接:10 种3D 建模技术 — BimAnt

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shebao3333/article/details/126082097

智能推荐

从零开始搭建Hadoop_创建一个hadoop项目-程序员宅基地

文章浏览阅读331次。第一部分:准备工作1 安装虚拟机2 安装centos73 安装JDK以上三步是准备工作,至此已经完成一台已安装JDK的主机第二部分:准备3台虚拟机以下所有工作最好都在root权限下操作1 克隆上面已经有一台虚拟机了,现在对master进行克隆,克隆出另外2台子机;1.1 进行克隆21.2 下一步1.3 下一步1.4 下一步1.5 根据子机需要,命名和安装路径1.6 ..._创建一个hadoop项目

心脏滴血漏洞HeartBleed CVE-2014-0160深入代码层面的分析_heartbleed代码分析-程序员宅基地

文章浏览阅读1.7k次。心脏滴血漏洞HeartBleed CVE-2014-0160 是由heartbeat功能引入的,本文从深入码层面的分析该漏洞产生的原因_heartbleed代码分析

java读取ofd文档内容_ofd电子文档内容分析工具(分析文档、签章和证书)-程序员宅基地

文章浏览阅读1.4k次。前言ofd是国家文档标准,其对标的文档格式是pdf。ofd文档是容器格式文件,ofd其实就是压缩包。将ofd文件后缀改为.zip,解压后可看到文件包含的内容。ofd文件分析工具下载:点我下载。ofd文件解压后,可以看到如下内容: 对于xml文件,可以用文本工具查看。但是对于印章文件(Seal.esl)、签名文件(SignedValue.dat)就无法查看其内容了。本人开发一款ofd内容查看器,..._signedvalue.dat

基于FPGA的数据采集系统(一)_基于fpga的信息采集-程序员宅基地

文章浏览阅读1.8w次,点赞29次,收藏313次。整体系统设计本设计主要是对ADC和DAC的使用,主要实现功能流程为:首先通过串口向FPGA发送控制信号,控制DAC芯片tlv5618进行DA装换,转换的数据存在ROM中,转换开始时读取ROM中数据进行读取转换。其次用按键控制adc128s052进行模数转换100次,模数转换数据存储到FIFO中,再从FIFO中读取数据通过串口输出显示在pc上。其整体系统框图如下:图1:FPGA数据采集系统框图从图中可以看出,该系统主要包括9个模块:串口接收模块、按键消抖模块、按键控制模块、ROM模块、D.._基于fpga的信息采集

微服务 spring cloud zuul com.netflix.zuul.exception.ZuulException GENERAL-程序员宅基地

文章浏览阅读2.5w次。1.背景错误信息:-- [http-nio-9904-exec-5] o.s.c.n.z.filters.post.SendErrorFilter : Error during filteringcom.netflix.zuul.exception.ZuulException: Forwarding error at org.springframework.cloud..._com.netflix.zuul.exception.zuulexception

邻接矩阵-建立图-程序员宅基地

文章浏览阅读358次。1.介绍图的相关概念  图是由顶点的有穷非空集和一个描述顶点之间关系-边(或者弧)的集合组成。通常,图中的数据元素被称为顶点,顶点间的关系用边表示,图通常用字母G表示,图的顶点通常用字母V表示,所以图可以定义为:  G=(V,E)其中,V(G)是图中顶点的有穷非空集合,E(G)是V(G)中顶点的边的有穷集合1.1 无向图:图中任意两个顶点构成的边是没有方向的1.2 有向图:图中..._给定一个邻接矩阵未必能够造出一个图

随便推点

MDT2012部署系列之11 WDS安装与配置-程序员宅基地

文章浏览阅读321次。(十二)、WDS服务器安装通过前面的测试我们会发现,每次安装的时候需要加域光盘映像,这是一个比较麻烦的事情,试想一个上万个的公司,你天天带着一个光盘与光驱去给别人装系统,这将是一个多么痛苦的事情啊,有什么方法可以解决这个问题了?答案是肯定的,下面我们就来简单说一下。WDS服务器,它是Windows自带的一个免费的基于系统本身角色的一个功能,它主要提供一种简单、安全的通过网络快速、远程将Window..._doc server2012上通过wds+mdt无人值守部署win11系统.doc

python--xlrd/xlwt/xlutils_xlutils模块可以读xlsx吗-程序员宅基地

文章浏览阅读219次。python–xlrd/xlwt/xlutilsxlrd只能读取,不能改,支持 xlsx和xls 格式xlwt只能改,不能读xlwt只能保存为.xls格式xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改xlrd打开文件import xlrdexcel=xlrd.open_workbook('E:/test.xlsx') 返回值为xlrd.book.Book对象,不能修改获取sheett_xlutils模块可以读xlsx吗

关于新版本selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘等问题_unresolved attribute reference 'find_element_by_id-程序员宅基地

文章浏览阅读8.2w次,点赞267次,收藏656次。运行Selenium出现'WebDriver' object has no attribute 'find_element_by_id'或AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'等定位元素代码错误,是因为selenium更新到了新的版本,以前的一些语法经过改动。..............._unresolved attribute reference 'find_element_by_id' for class 'webdriver

DOM对象转换成jQuery对象转换与子页面获取父页面DOM对象-程序员宅基地

文章浏览阅读198次。一:模态窗口//父页面JSwindow.showModalDialog(ifrmehref, window, 'dialogWidth:550px;dialogHeight:150px;help:no;resizable:no;status:no');//子页面获取父页面DOM对象//window.showModalDialog的DOM对象var v=parentWin..._jquery获取父window下的dom对象

什么是算法?-程序员宅基地

文章浏览阅读1.7w次,点赞15次,收藏129次。算法(algorithm)是解决一系列问题的清晰指令,也就是,能对一定规范的输入,在有限的时间内获得所要求的输出。 简单来说,算法就是解决一个问题的具体方法和步骤。算法是程序的灵 魂。二、算法的特征1.可行性 算法中执行的任何计算步骤都可以分解为基本可执行的操作步,即每个计算步都可以在有限时间里完成(也称之为有效性) 算法的每一步都要有确切的意义,不能有二义性。例如“增加x的值”,并没有说增加多少,计算机就无法执行明确的运算。 _算法

【网络安全】网络安全的标准和规范_网络安全标准规范-程序员宅基地

文章浏览阅读1.5k次,点赞18次,收藏26次。网络安全的标准和规范是网络安全领域的重要组成部分。它们为网络安全提供了技术依据,规定了网络安全的技术要求和操作方式,帮助我们构建安全的网络环境。下面,我们将详细介绍一些主要的网络安全标准和规范,以及它们在实际操作中的应用。_网络安全标准规范