当前位置: 首页 > news >正文

10 种3D 建模技术

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

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

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

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

1、盒建模

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

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

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

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

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

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

根据 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 建模技术

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

常见的socket函数封装和多进程和多线程实现服务器并发

常见的socket函数封装和多进程和多线程实现服务器并发 1.常见的socket函数封装2.多进程和多线程实现服务器的并发2.1多进程服务器2.2多线程服务器2.3运行效果 1.常见的socket函数封装 accept函数或者read函数是阻塞函数,会被信号打断,我们不能让它停止&a…...

Tomcat架构分析

Tomcat的核心组件 Tomcat将请求器和处理器分离,使用多种请求器支持不同的网络协议,而处理器只有一个。从而网络协议和容器解耦。 Tomcat的容器 Host:Tomcat提供多个域名的服务,其将每个域名都视为一个虚拟的主机,在…...

旧项目集成阿里云滑动验证码(web和H5方式)

简述 旧项目集成阿里云滑动验证码(web和H5方式) 适用于servlet和HTML项目,VUE + springboot请看另一篇文档 前情提示 系统: 一说 部分截图、链接等因过期、更换域名、MD语法等可能不显示,可联系反馈(备注好博文地址),谢谢❤带有​​#号、删除线、不操作、不执行​…...

机器人内部传感器阅读梳理及心得-速度传感器-数字式速度传感器

在机器人控制系统中,增量式编码器既可以作为位置传感器测量关节相对位置,又可作为速度传感器测量关节速度。当作为速度传感器时,既可以在模拟量方式下使用,又可以在数字量方式下使用。 模拟式方法 在这种方式下,需要…...

【vue+element ui】大屏自适应中el-select下拉内容在低分辨率下显示不全问题解决

目录 背景 现象 解决方案 背景 最近要把一个1920px*1080px的大屏改成自适应的;最低适配到1028px*720px; 现象 自适应适配改完之后 将电脑屏幕改成1028px*720px分辨率后,下拉显示正常 通过谷歌浏览器设置Toggle device toolbar为1028px*…...

前端架构: 脚手架之多package项目管理和架构

多package项目管理 1 )多package项目管理概述 通常来说,当一个项目变大了以后,我们就要对这个项目进行拆分在前端当中,对于项目进行拆分的方式,通常把它称之为javascript包管理需要使用一个工具叫做 npm (Node Packag…...

【C# 多线程】如何停止正在运行中的子线程

如何停止正在运行中的子线程 通过协作式取消模式强制终止线程(可能存在资源不能及时释放的泄漏风险) 通过协作式取消模式 在线程函数中,你可以周期性地检查一个标志位,以确定是否应该停止线程。该标记位可以是共享变量&#xff0…...

服务器机房安全守护:五大物理安全实践

服务器机房是数字企业的心脏。无论是企业家还是经验丰富的IT专业人员,都知道服务器机房的安全性至关重要。如果没有采用适当的物理安全措施,其服务器很容易受到盗窃、人为破坏和自然灾害的破坏。 在保护服务器机房的领域内,需要采用多方面的…...

spring boot 修复 Spring Framework URL解析不当漏洞(CVE-2024-22243)

漏洞描述 当应用程序使用UriComponentsBuilder来解析外部提供的URL&#xff08;如通过查询参数&#xff09;并对解析的URL的主机执行验证检查时可能容易受到Open重定向攻击和SSRF攻击&#xff0c;导致网络钓鱼和内部网络探测等。 受影响产品或系统 6.1.0 < Spring Framew…...

VR全景HDR拍摄教程

什么是HDR&#xff1f; HDR可以用在哪里&#xff1f; 书面解释&#xff1a;HDR&#xff08;高动态范围 High Dynamic Range&#xff09;摄影&#xff0c;是摄影领域广泛使用的一种技术。 是不是有点懵&#xff1f; 我们来看一个实际的拍摄现场环境&#xff0c;你就懂了 我们…...

hive执行select count(1)返回0

背景&#xff1a; 做数据质量检核任务的时候&#xff0c;有些数据表有数据&#xff0c;直接查hive执行select count(1) from table返回的值一直是0 问题原因&#xff1a; hive通过select count(1)或者select count(*) 查询的是元数据库里面的rownum,如果数据表数据是通过load、…...

3D Gaussian splatting 协方差矩阵 球谐函数 简单理解

3D Gaussian splatting 是一种图形和视觉处理技术&#xff0c;常用于体积渲染、点云渲染和其他应用中&#xff0c;以便对数据进行平滑或重建。在这个上下文中&#xff0c;高斯分布&#xff08;或高斯“splat”&#xff09;用于表示单个数据点&#xff08;如一个点云中的点&…...

代码随想录算法刷题训练营day27:LeetCode(39)组合总和、LeetCode(40)组合总和 II、LeetCode(131)分割回文串

代码随想录算法刷题训练营day27&#xff1a;LeetCode(39)组合总和、LeetCode(40)组合总和 II、LeetCode(131)分割回文串 LeetCode(39)组合总和 题目 代码 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List;clas…...

docker 容器修改端口和目录映射

一、容器修改端口映射 一般在运行容器时&#xff0c;我们都会通过参数 -p&#xff08;使用大写的-P参数则会随机选择宿主机的一个端口进行映射&#xff09;来指定宿主机和容器端口的映射&#xff0c;例如 docker run -it -d --name [container-name] -p 8088:80 [image-name]…...

echarts鼠标事件

鼠标事件支持方法 ECharts 支持常规的鼠标事件类型&#xff0c;包括 ‘click’、 ‘dblclick’、 ‘mousedown’、 ‘mousemove’、 ‘mouseup’、 ‘mouseover’、 ‘mouseout’、 ‘globalout’、 ‘contextmenu’ 事件 简单实例 // 基于准备好的dom&#xff0c;初始化EChar…...

【北京迅为】《iTOP-3588开发板网络环境配置手册》第2章 电脑、开发板直连交换机或路由器

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…...

6.5 共享数据

本节介绍Android的四大组件之一ContentProvider的基本概念和常见用法&#xff1a;首先说明如何使用内容提供器封装内部数据的外部访问接口&#xff0c;然后阐述如何使用内容解析器通过外部接口操作内部数据&#xff0c;最后叙述如何利用内容解析器读写联系人信息&#xff0c;以…...

SpringBoot之Session新增、删除、获取配置与使用

SpringBoot之Session新增、删除、获取配置与使用 文章目录 SpringBoot之Session新增、删除、获取配置与使用1. SpringBoot版本2. 定义增删查Session的类3. 定义Session的监听器4. 使用 自定义根据sessionId进行session的新增、删除、获取操作 1. SpringBoot版本 <parent>…...

Hive UDF 札记

低版本的udf就不说了&#xff0c;太老了&#xff0c;说现在主流的。 1&#xff1a;initialize 方法的进一步理解&#xff1a; 在Apache Hive中&#xff0c;用户自定义函数&#xff08;UDF&#xff09;的initialize方法是一个可选的方法&#xff0c;它属于Hive UDF的生命周期…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...