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

Blender建模:对于模型布线的一些思考

为什么注意模型布线

因为点、线、面是3D软件进行后续计算的单位。在最基本的建模工作结束后,后续的绘制贴图、拓补成高模或低模、模型绑定、制作动画、光线渲染,本质都是在原有模型的基础上进行进一步的图形学计算,而这种计算与点的坐标、面的构成方式有最直接的联系。一个布线合理的模型,会对接下来的工作产生巨大的便利。而不合理的布线,也往往会在后面的工作中导致奇奇怪怪的效果问题。
下面是几个合理布线的基本标准:

  1. 模型中的面只允许出现四边面和三角面,且要尽量减少三角面的使用
  2. 模型的布线要尽量符合运动的流向,方便制作动画效果(这么说有点抽象,更具体的描述可以是受力的方向,运动效果的方向)
  3. 四边面的四个点要尽量在一个平面上
  4. 尽量减少极点,如五极点(或称为五星点)、三极点,或保证极点不再关键转折处。
  5. 布线尽量做到横平竖直,均匀分布,简单美观。
    下面我将结合自己的思考展开讲解。

为什么要减少三角面的出现

四边面和三角面是3D软件表现面的两种最常见的形式。通常,我们在建模时使用四边面进行建模,方便制作人员对模型结构进行理解,并进行编辑调整。但实际在GPU进行底层计算时,读取的都是三角面,原因也很简单,因为三个点确定一个平面。四边形和其他多边形都有可能因为建模人员的失误产生几个顶点并不处于同一平面上的现象,这非常常见,因此在渲染时可能产生各种问题。
但对于建模师在进行建模工作时,减少三角面的出现还是非常必要的,主要原因为:

  1. 三角面会在循环边时断掉,导致不好进行环切操作,也不利于模型细分。
  2. 三角面不利于进行展UV。
  3. 在有形变的动画中,三角面会变形。因此,生物建模(或其他柔体)最好使用四边面,而硬表面由于动画效果大多规律不产生形变,可以有三角面。
    下面我将依次进行解释

循环边的原理

Blender是如何判断循环边的呢?在当前选中的边所构成的平面上,能找到有且只有一个对边的前提下,这个对边就是循环边。
三角形的每个边没有对边,除了四边形以外的其他多边形都有多个对边,因此使用环切工具时,切到这些面上就会自动停止。
如下图所示。
在这里插入图片描述
由于三角面不利于进行环切,模型细分修改器的原理与环切有部分类似,因此三角面过多时不利于进行模型细分,故不推荐在建模时使用过多的三角面。

展UV时遇到三角面(待补充,还没学到展UV)

动画制作中三角面的形变(待补充,还没学到动画制作)

如下图所示,左边的由四边面构成,右边的圆柱体由三角面构成。由于两个模型的段数都很低,因此在弯折时有非常明显的折痕。
在这里插入图片描述
给两个模型都添加上细分修改器,段数x2,则两个模型的转角处看起来都变得光滑。
在这里插入图片描述
但是如果关闭结构线,则会发现左边的模型依旧是光滑的,但右边模型的表面变得凹凸不平。这是因为三角面做细分后的拓补机构比较奇怪,无法保证光滑。
在这里插入图片描述
此外对于人体的关节,不同的布线方法会导致运动后的形变不同,三角面在其中有时能导致更好的效果。如下图所示
在这里插入图片描述

四边面的四个点尽量在同一平面上

法线的计算

在blender中创建一个平面,进入编辑模式,挪动其中一个顶点的位置使之脱离原本的平面。
在这里插入图片描述
从这个角度看,这四个点依旧像是在同一个平面上,没有任何折痕,但是这显然是不符合常识的。如果我们换一个角度,会发现这四个点确实是不在一个平面上了。
在这里插入图片描述
那为什么看起来还是平坦的呢?因为平面的颜色是根据平面的法线计算的,我们打开法线的显示,会发现实际上是用的平均法线,而不是弯折后两个平面的各自的法线。
在这里插入图片描述

面是否平坦节点

blender中有一个网格节点,是“面是否平坦(Face-is-planar)”节点,正如字面意思,可以用来判断面是否平坦。官方文档如下面是否平坦。
如下图所示,打开几何节点面板,然后进行如下操作。
几个节点的位置:
组输入:添加->输入->群组->组输入
组输出:添加->输出->组输出
面是否平坦:添加->网格->读取->面是否平坦
预览器:添加->输出->预览器
在这里插入图片描述
在这里插入图片描述
复制这个平面,在编辑模式,在编辑模式下调整其中一个顶点使之与其他三个顶点不在一个平面上,然后同样的方法查看它是否平坦,发现该面为黑色,说明判定不平坦。
在这里插入图片描述

如何处理不平坦的面

对于下图中四个顶点不在同一平面上的面,有常见的三种方法将它们尽量回到同一个平面上。
在这里插入图片描述

  1. 缩放功能:希望让所有平面都落在由x轴和y轴构成的平面上,则使用快捷键S -> z -> 0,可以达到该效果,效果如下。
    在这里插入图片描述
  2. 顶点平滑:选中需要平滑的顶点,然后右键->平滑顶点,效果如下。
    在这里插入图片描述
  3. 雕刻模式下的平滑笔刷:进入雕刻模式,找到平滑笔刷,刷一刷。本例子中只有一个面,是比较极端的场景,刷了也没什么效果,实际上在复杂的模型中还是挺好用的。
    在这里插入图片描述

建模布线出现了极点

为什么要尽量避免极点的出现

在如下图所示的模型中,被标出位置的点有至少五根边或三根边与之相连,这就是一个五极点/三极点。
在这里插入图片描述

如果对这个模型添加细分修改器,则会出现如下的效果。可以发现,模型的边缘已经完全被平滑掉了,破坏了原本的结构。
在这里插入图片描述

如何避免极点

极点的出现显然是无法避免的,但我们可以通过一些手段,使极点尽量不要出现在模型的关键转折处,而是使之转移到平面上,这样就能保证模型原本的结构没有太大变化。
一种常见的解决方法就是卡边,也就是卡出锐边,步骤如下所示。
使用环切工具,在转折处增加循环边
在这里插入图片描述
然后对转折处进行如下图所示的切割。
在这里插入图片描述
再将一些边容并在一起。可以看到,五极点被转移到平面上了。
在这里插入图片描述

再加上曲面细分修改器,则效果如下。
在这里插入图片描述
其他还有很多避免方法,可以参考下面的教程3dsmax多边形建模五星点详解

http://www.dtcms.com/a/359764.html

相关文章:

  • FPGA设计杂谈之七:异步复位为何是Recovery/Removal分析?
  • 浅谈 SQL 窗口函数:ROW_NUMBER() 与聚合函数的妙用
  • 深入解析数据结构之单链表
  • 人工智能加速漏洞利用,15分钟即可完成概念验证?
  • 网络:相比于HTTP,HTTPS协议到底安全在哪?
  • go 开发环境配置 air + dlv debug 踩坑之旅
  • AI基础学习周报十一
  • 大模型——利用RAG构建智能问答平台实战
  • 图像描述编辑器 (Image Caption Editor)
  • 文字的力量:Qwen-Image如何让AI真正“读懂”中文之美
  • HTTPS -> HTTP 引起的 307 状态码与HSTS
  • ans.1中的对象标识符OBJECT_IDENTIFIER----OID
  • 【开题答辩全过程】以 基于springboot的垃圾分类管理系统为例,包含答辩的问题和答案
  • 力扣热题100:合并区间详解(Java实现)(56)
  • 历史数据分析——寒武纪
  • Android开发-活动页面
  • 20.28 《4bit量化模型预处理揭秘:如何节省75%显存高效微调LLM?》
  • leetcode-hot-100(堆)
  • 金融学-货币理论
  • Kafka应用过程中的高频问题
  • 【Linux基础】深入理解计算机存储:GPT分区表详解
  • 对于牛客网—语言学习篇—编程初学者入门训练—复合类型:BC136 KiKi判断上三角矩阵及BC139 矩阵交换题目的解析
  • uvm验证环境中struct(结构体)和class的区别与联系
  • 使用AdaLoRA 自适应权重矩阵微调大模型介绍篇
  • 接口测试总结-含接口测试和前端测试的区别与比较
  • PyTorch 张量(Tensor)详解:从基础到实战
  • 1.9 初始Memory Profiler Package
  • 面试 八股文 经典题目 - HTTPS部分(一)
  • Qt组件布局的经验
  • 深度学习数据加载实战:从 PyTorch Dataset 到食品图像分类全流程解析