3D模型轻量化处理教程【Blender】

news2024/11/22 23:43:46

在本文中,我们将介绍三种在 Blender 中网格轻量化的方法,并以一些提示和技巧作为结尾,供你在处理网格和对象时使用。
在这里插入图片描述

1、网格轻量化概述

无论你是想创建简单还是复杂的 3D 设计,Blender 都是拟工具箱中的一个很棒的程序。 它是开源软件,完全免费,并具有一套强大的设计和动画工具。

使用这些工具可以创建一个网格,它基本上是由几个点组成的任何形状,在 3 维空间中称为顶点(单数:vertex)。 空间中的 2 个顶点创建一条线,3 个创建一个三角形,4 个创建一个“四边形”。

虽然有更复杂的形状,通常称为 N-Gons,但大多数软件的形状完全由三角形或四边形组成。 每个网格称为一个“对象”,拟的成品可能由几个不同的、独立的对象组成。

许多用户,甚至是经验丰富的专业人士,有时会得到一个他们希望以某种形式简化的网格,无论是删除不需要的几何体、减少面的数量,还是确保给定多边形中的所有顶点都是 在同一平面上。 简化网格意味着拟最终会得到更清晰的几何体、更容易的 UV 展开以及总体上更好的模型。

幸运的是,Blender 提供了多种清理网格的解决方案。 虽然没有任何名为“简化网格”的单一工具,但 Blender 2.8 及更高版本在“清理”选项下确实有一些网格简化工具。 这些工具允许用户根据需要减少面数、清理边缘和简化网格。

警告:一些简化工具可能具有破坏性,因此你需要创建网格的备份副本,以便在发生不可预见的问题时轻松恢复它。

2、布尔修改器

在这里插入图片描述

布尔修改器允许你将零件和网格组合成一个网格对象。 虽然用户可能需要单个成品网格有多种原因,但最主要的原因之一是 3D 打印和将成品对象发送到切片机的过程。

为了在切片器中获得最佳效果,你可能希望移除任何内部几何体。 例如,如果你需要连接两个网格化的球体,它们重叠的任何地方都会在球体内创建一个内部网格,从而产生内部几何体。
在这里插入图片描述

Blender 的布尔修改器允许你采用单独的对象并将它们以移除任何内部几何体的方式连接在一起。

方法如下:

1.选择任何接触另一个的物体

2.找到修饰符选项卡并选择布尔修饰符
在这里插入图片描述

  1. 选择“union”

4.用选择器工具选择第二个对象

5.点击“apply”

在这里插入图片描述

这会修改第一个对象以包含第二个对象。 将留下第二个对象的副本。 如果需要,你可以删除这个额外的副本,或在别处使用它。

新网格将不包含任何内部几何体。

3、编辑模式:清理工具

在这里插入图片描述

如果你选择了一个对象并处于编辑模式,则可以通过依次单击“网格”和“清理”来找到一系列网格简化工具。 这些工具减少了网格中的多边形数量,同时仍保留细节。

这些工具可以在我们稍后将讨论的重新网格化修改器之前或之后使用,但在重新网格化之后使用它们通常会提供最好的结果。

让我们来看看每个可用的工具:

  • Delete Loose:删除松散点。这只会删除不属于面的松散顶点。

  • Decimate Geometry:简化几何体。这是最先尝试的工具之一,因为它减少了网格中多边形的数量。
    在这里插入图片描述

  • Limited Dissolve:受限消融。这是另一个值得一试的好工具。 Limited Dissolve 清理面(四边形),这些面(四边形)创建一个小角度定义的平坦或接近平坦的形状。 例如,如果你有一个由多个三角形或四边形组成的平坦区域,这会将它们缩小为由给定角度定义的单个平坦形状。 小于你选择的角度的任何东西都将合并到一个面中。

  • Degenerative Dissolve:退化消融。此工具移除没有距离或区域的边和面。
    在这里插入图片描述

  • Make Planar Faces:制作平面。如果你正在寻找 3D 打印,这一步是必须的。 作为一般规则,由四个或更多顶点组成的面应该使所有这些顶点都在同一平面上。 此工具在平面中移动顶点,这样如果一个或多个顶点未对齐,它们将移动以创建一个平面多边形。 注意:此工具仅适用于由四个或更多顶点组成的面。

  • Merge By Distance:按距离合并。这个方便的工具可以删除可能相互接触或彼此非常接近的顶点。 这将根据你选择的距离定义将重叠或附近的顶点相互焊接。

  • Fill Holes:填充孔。如果你的网格有任何由多边定义的开放孔,这将自动填充它们。 选择孔必须具有的边数,Blender 将在任何空的相邻边之间缝合一个新面。

4、抽取和重新网格化对象修改器

在这里插入图片描述

如果你在对象模式下工作,请找到“对象修改器”选项卡。 在这里,你会发现两个工具在编辑模式下的工作方式与上述工具非常相似。

5、Decimate Geometry

Decimate Geometry几何体精简修改器提供了几种模式:

  • Collapse:坍塌。这与编辑模式下的“精简几何”选项卡非常相似。 坍塌减少网格中的面数,同时仍尝试保持对象的大致形状。 调整滑块可让你实时查看网格的变化方式。
    在这里插入图片描述

  • un-subdivide:取消细分。如果你在编辑模式下应用了一个简单的细分,或者正在使用细分曲面对象修改器,此工具将删除你在给定迭代次数上应用的细分。

  • Planar:平面化。此工具可移动平面中的顶点,因此如果一个或多个顶点未对齐,它们将移动以创建平面多边形。

6、Remesh

在这里插入图片描述

Remesh 完全重新定义任何网格的拓扑结构并尝试将其分解为四边形。 在处理更简单的形状时,这可能是一个强大的工具,但保持复杂的几何形状可能是一个挑战。 正确使用此工具处理复杂的形状意味着将形状分解成许多小的、等距的面。

在复杂的形状上使用这个工具,比如 Blender 的内部测试对象 Suzanne,会产生奇怪的结果。 但是,如果调整得当,在诸如文本之类的东西上使用效果将提供很好的效果。
在这里插入图片描述

Remesh 修改器在清理将文本对象或曲线转换为网格时创建的面时特别有用。

一些参数可以设置如下:

Octree Depth:八叉树深度。此工具设置迭代级别,因此设置网格中的细节。

Mode:模式,提供如下选项:

  • Sharp:锋利。试图保持锋利的接缝
  • Smooth:平滑。在锐角区域之间创建更平滑的过渡
  • Blocks:块。将对象变成平面块的集合
  • Scale:比例。设置用于重新创建对象的四边形的大小。

7、技巧和窍门

在这里插入图片描述

  • 不要丢失细节

在 Blender 中简化网格的艺术涉及更改网格的结构,因此你可能会丢失重要的细节。 要保留这些细节,你可以通过仅选择要处理的部分将不同的方法应用于网格的不同区域,或者将它们均匀地应用于整个网格。

有时,将清理工具或对象修改器应用于整个网格可能会以最少的调整提供你正在寻找的结果。 其他时候,你可能需要尝试一下并处理特定区域。

  • 尝试不同的方法

网格代表你在 3D 空间中创建的想法,但在获得最终产品的过程中可能意味着网格可能变得杂乱无章。 Blender,即使是一个强大的 3D 建模工具,在试图简化网格时也无法读懂我们的想法。

你的网格越复杂,Blender 就必须使用更多的猜测来尝试弄清楚你想要保留哪些细节以及丢失哪些细节。 由于网格的复杂性,没有一种万能的工具。

使用各种清理工具可以产生惊人的效果。 不要害怕尝试!

这些工具可以很好地处理平面形状,并允许你采用平衡的方法来使弯曲或复杂的形状尽可能接近原始形状。 与任何工具一样,你使用它们的次数越多,它就会变得越容易。


原文链接:Blender模型轻量化教程 — BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/168815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nessus 高级扫描

系列文章 Nessus介绍与安装 Nessus Host Discovery Nessus高级扫描 1.启动nessus cd nessus sh qd_nessus.sh2.进入nessus网站,点击【new Scan】 https://kaliip:8834/3.选择【adVanced Scan】 4.输入Name【高级扫描】,Description【高级扫描】&…

深度学习基础——填充(padding)与步幅(stride)

填充(padding) 在上图中,输入图片尺寸为333\times333,输出图片尺寸为222\times222,经过一次卷积之后,图片尺寸为222\times222,经过一次卷积之后,图片尺寸变小。卷积输出特征图的尺寸…

SQLServer 2016 备份

1、下载并安装SQLServer2016服务器端, 下载地址:https://www.microsoft.com/zh-cn/evalcenter/download-sql-server-2016 2、下载并安装SSMS管理工具, 下载地址:https://download.microsoft.com/download/8/a/8/8a8073d2-2e00-…

渗透学习-CTF篇-web-BUUCTF

文章目录前言一、[WesternCTF2018]shrine前言 随着学习的不断深入,为了防止自己忘记之前所学的内容,于是我决定再不断的向下学习的同时做一些ctf的题来唤醒自己的记忆!! 一、[WesternCTF2018]shrine 这一关主要是SSTI的内容&…

Docker安装部署sql审计平台Archery1.9.1版本

安装dockercurl -fsSL https://get.docker.com -o get-docker.sh | sudo sh安装docker composesudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod x…

chrono_Time_point (三)

chrono_time_point (三) 文章目录chrono_time_point (三)模板参数源码解析构造函数:成员函数time_since_epoch()例子timepoint提供的操作timepoint的溢出C和POSIX提供的Date/Time函数演示案例(timepoint和日历时间的转换&#xff…

SpringMVC | 使用Xml或注解进行开发

一、Spring MVC简介Spring MVC(全称 Spring Web MVC)是 Spring 框架提供的一款基于 MVC 模式的轻量级 Web 开发框架。MVC架构(1)示意图(2)各层职责Model:负责对请求进行处理,并将结果…

计算机SCI论文怎么发表?有哪些建议? - 易智编译EaseEditing

一般论文的水平是这样:普刊<核心<SCI。 不同的专业都可以发SCI,只是影响因子高低不用而已,有的领域分值高,有的偏低。 就是说不同领域SCI期刊,影响因子一样,但水平是一样的。 怎样…

三、元素操作

1、切片和索引 ndarray对象的内容可以通过索引或切片来访问和修改,与Python中list的切片操作一样 ndarray数组可以基于0-n的下标进行索引,切片对象可以通过内置的slice函数,并设置start,stop及step参数进行,从原数组…

【Java寒假打卡】Java基础-反射

【Java寒假打卡】Java基础-反射概述获取Class对象的三种方式反射-获取Constructor对象利用Constructor数组创建对象获取Field对象反射获取成员变量并且使用反射获取成员对象反射获取成员对象并运行概述 Java反射机制:是在运行状态中,对于任意一个类&…

使用VS code快速搭建一个Golang项目

文章目录前言安装go语言环境了解Go开发相关的环境变量熟悉Go Module创建一个go项目项目迁移前言 VC code是一款巨好用的编辑器,使用vs code开发项目需要进行一些配置。项目中需要用到很多的包,无论是自己建的还是第三方的。由于go语言的生态环境没有jav…

【路由器连接天翼网关2.0问题解决思路】

文章目录一. 天翼网关如何切换新账号?背景操作流程1. 拔掉光纤2. 重置光猫3. 管理员页面进行认证4. 重新插上光纤,管理员页面会显示认证成功二、路由器连接光猫无网如何解决?背景操作流程1. 登陆普通管理员2. 获取超级管理员3. 登陆超级管理页…

SOLIDWORKS Electrical 2023新功能

电气工程师在完成电气原理图设计的同时,还需要频繁地修改、导出各报表,使得大量时间浪费在重复性的手动工作上。即便如此,也无法保证百分百准确无误;电气设计部门和机械设计部门虽然在设计同一产品,但不同部门之间互相…

云原生|kubernetes|2022年底cks真题解析(11-16)

前言: 接上一篇文章:云原生|kubernetes|2022年底cks真题解析(1-10)_晚风_END的博客-CSDN博客 2022年底的csk真题第二部分 11题到16题 十一, Trivy 扫描镜像安全漏洞 题目: Task 使用 Trivy 开源容器扫…

神奇的HTML系列专栏总目录

📋 前言 🖱 博客主页:在下马农的碎碎念✍ 本文由在下马农原创,首发于CSDN📆 首发时间:2023/01/16📅 最近更新时间:2023/01/16🤵 此马非凡马,房星本是星。向前…

《Linux性能优化实战》学习笔记 Day02

02 | 内存池:如何提升内存分配的效率? 原文摘抄 在 Linux 系统中,用 Xmx 设置 JVM 的最大堆内存为 8GB,但在近百个并发线程下,观察到 Java 进程占用了 14GB 的内存。为什么会这样呢? 绝大部分高级语言都…

【图论】「极简复习版」最短路径 Java/C++ 实现

文章目录Dijkstra —— 单源最短路讲解图解Java朴素使用堆优化C朴素使用堆优化Floyd —— 多源最短路讲解JavaCDijkstra —— 单源最短路 讲解 时间复杂度 朴素 Dijkstra:O(n2)O(n^2)O(n2) ,nnn 是顶点数。堆优化 Dijkstra:O(mlogn)O(m\ l…

第五届字节跳动青训营 前端进阶学习笔记(三)CSS基本概念

文章目录前言CSS是什么1.CSS基本结构2.在面中使用CSS的方式3.CSS是如何工作的选择器1.通配选择器2.标签选择器3.id选择器4.类选择器5.属性选择器6.伪类选择器7.选择符颜色1.RGB颜色2.HSL颜色3.alpha透明度字体1.font-family2.font-size3.line-height4.text-align5.space6.text-…

从头搭建pytorch Docker镜像

目录前言正文从docker hub下载镜像创建容器并运行更新容器*安装python*安装anaconda安装pytorch参考文献:前言 此文不需要前言,请从正文开始 开始搭建 正文 默认大家都是有一定docker基础的,没有的话建议去花个20分钟学一下基础知识。相对…

如何利用极狐GitLab 轻松管理NPM依赖发布与更新?

本文来自: 任治桐 极狐(GitLab) 前端工程师 NPM 是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展。本文将分享如何通过极狐GitLab,让 NPM 依赖发布更新更加快速和自动化,让你轻松管理依赖,拥有更多时间专注于核…