跳转到内容

Blender 3D:菜鸟到专业/毛发

来自 Wikibooks,开放世界中的开放书籍

使用 Blender v2.40 创建的此页面的较早版本。

(注意:新增:标记

为较新版本添加的说明。我不是专家,但它们似乎有效。)

图 1:本教程的结果:某种毛茸茸的东西

本教程涉及毛发,即覆盖身体的许多相对较短的毛发。我们将使用粒子来创建毛发,并在此讨论一些方面

  • 如何确定毛发的长度和粗细。
  • 如何确定毛发生长的位置。
  • 如何为毛发着色。
  • 如何高效地渲染。

粒子系统过于复杂,在本教程中无法展示超过一种方法。您可以通过不同的方式实现此处显示的许多相同效果。


发射器

[编辑 | 编辑源代码]
图 2a:添加粒子系统。
  • 删除立方体。
  • 添加一个UVSphere。这将成为我们的发射器。
  • 切换到对象按钮中的粒子按钮(图 2a)。新增:在较新版本中看起来像
  • 点击添加新新增:在较新版本中,点击
  • 将粒子系统重命名为“毛发”。
  • 将粒子系统类型更改为毛发

毛发粒子系统有很多特色,最重要的是,如果需要,我们可以手动编辑粒子“运动”。除此之外,正常的粒子物理学适用,所以粒子所能做的一切,毛发也能做,反之亦然。粒子毛发会立即显示粒子在其生命周期内的路径。为了高效地完成此操作,并非渲染每个帧作为点,而是计算一定数量的控制点。在这些控制点之间,将绘制一条插值路径。控制点的数量等于段数 + 1。


图 2b:粒子系统设置

对于毛发,您需要很多粒子,例如 1,000,000 个以上。如果我们必须在 3D 窗口中处理如此多的粒子并希望渲染它们,这会给我们带来很大困扰。因此,我们将使用所谓的“子粒子”来创建大量粒子,它们会模仿父粒子的行为。父粒子的数量应尽可能少,但您需要一定数量来控制毛发的分布。我们还将使用尽可能少的控制点,三个段应该足以用于短毛发。

  • 数量设置为 1000。
  • 段数设置为三。新增我在 2.69 中找不到此项。新增 2 在 2.7x 中,它位于您刚刚选择的粒子系统类型(发射器或毛发)旁边,在种子滑块下方。
  • 从以下位置发射:新增我在 2.69 中找不到此项。新增 2 在 2.7x 中,您必须选中段数滑块附近的高级框才能看到它。
    • 随机
    • 均匀 :随机

这将创建一个美观、均匀的分布。

让毛发生长 - 毛发显示粒子路径

  • 法线设置为 0.05。新增:发射下的毛发长度。新增 2 在 2.7x 中,您必须选中高级框才能看到速度面板并调整法线随机滑块。如果您更改法线值,毛发长度将自动设置为 0.2。
  • 随机 0.005

这里没什么特别的:毛发沿面法线方向生长。长度和方向略微随机。

如果您选择毛发粒子系统,可视化类型将自动更改为路径类型。如果现在渲染,您将不再能看到发射器对象。

  • 可视化面板中激活发射器新增:在渲染面板中。
  • 激活发丝渲染新增:在渲染面板中。

发丝渲染(我将其命名为关键点发丝以区别于“普通”多边形发丝)非常高效地渲染发丝,速度比普通发丝快很多倍。它是处理大量毛发方面唯一可行的解决方案。但它有一些缺点

- 它们不会被光线追踪看到,因此您不会获得光线追踪反射和光线追踪阴影。您可以使用环境贴图来计算反射,并使用带缓冲阴影的聚光灯来计算阴影。
- 如果毛发非常浓密(例如 1 BU),有时形状不正确。
  • 激活从面生成子粒子新增:我在子粒子中选择了插值。插值在制作毛发时已知会产生更好的效果。简单可能可以用一种颜色起作用,但我们将使用图像中的两种颜色。
  • 数量:5 这是每个父粒子生成的子粒子的数量。
  • 渲染数量:50 这是渲染期间的粒子数量。
  • 粗糙度 2:0.1 新增:我使用粗糙度> 随机来设置此项。粒子的形状的随机变化。因此,毛发不会笔直竖立,而会看起来有点卷曲。

默认情况下不渲染父粒子,因此现在在我的旧机器上,我有 5000 个粒子在 6 秒内渲染完毕。如果我们使用 1000 个子粒子,我们将有 1,000,000 个粒子,大约需要 1 GB 的 RAM,渲染时间为 1 分 42 秒。如果使用从面生成子粒子来渲染关键点发丝,您还可以使用子粒子简化,这将自动减少远离摄像头的物体上的粒子数量。新增:使用子粒子 - 简单时看不到此项,使用子粒子 - 插值时,您会在整个渲染部分看到它。但是,使用标准设置的结果非常糟糕。


图 2c:第一次渲染,没有材质。

现在我们应该更改灯光以获得预览。

  • 选择灯。
  • 切换到按钮。
  • 将灯类型更改为聚光灯
  • 将阴影类型更改为缓冲阴影
  • 将缓冲阴影类型更改为经典-中途

这是一种很棒的阴影类型,它可以非常出色地渲染关键点发丝,并且产生的伪影比经典阴影少(在我看来)。我在第一次渲染中插入了另外两盏灯,并使用了经典的三点式照明(图 2c)。

点击图像查看更大的版本。

新增

以下是我使用的设置和我得到的渲染结果。(点击放大图像并阅读设置。)


在材质按钮中,您可以设置发丝的不同方面

- 它们的宽度和形状
- 使用的着色器
- 基础颜色
- 沿发丝的纹理
- 不同的粒子属性,例如长度、密度或粗糙度
  • 向发射器添加材质。
  • 将材质命名为“毛发”。

发丝着色器

[编辑 | 编辑源代码]
图 3a:材质按钮中的发丝设置。

图 3a 中显示了关键点发丝的默认发丝设置。请参阅发丝手册以了解所有设置的说明。

  • 末端值更改为 0.25,这将使毛发更加尖刺(图 3a 中未显示)。新增在 2.7x 中,它称为尖端开始已变为根部
Note:

表面漫反射:如果您选中表面漫反射,可能更容易实现良好的照明环境。如果启用了表面漫反射,毛发不会显示那么多高光,而没有它可能太亮了。我见过很多使用此参数的毛发示例。但是,您必须在开始时就决定是否要使用它,因为它会影响所有其他材质设置。这是您自己必须决定的问题。


赋予毛发基础颜色

[编辑 | 编辑源代码]
图 3b:毛发颜色纹理

发丝使用底层面/顶点的材质进行渲染,包括使用 UV 纹理进行着色。由于您可以为每个面分配多个材质,因此每个粒子系统可能具有自己的材质,并且底层面的材质可能与发丝的材质不同。我们将使用 UV 纹理,并将其用于发射器的表面以及毛发的颜色。

  • 在 3D 窗口中切换到正面视图(视图->正面)。
  • 确保您处于正交视图模式(也在视图菜单中)。
  • 切换到球体的编辑模式。
  • U进行展开,选择从视图展开球体。这是一种快速且有效的将球体以简单方式正确展开的方法。

您不需要在UV/图像编辑器中分配纹理,我们现在只需要坐标。

图 3c:具有颜色纹理的发射器。
  • 向材质添加纹理,将其命名为“毛发颜色”。
  • 贴图输入设置为UV
  • 转到纹理按钮并将纹理类型设置为图像
  • 加载图像纹理。我使用了图 3b 中的图像。

通常我会就此停止,我认为材料已经足够好了。但是,如果你想让毛皮更蓬松柔软,你应该在毛发上添加第二种纹理,它会改变 Alpha 值。新:为了让这生效,你必须在粒子系统的Children面板中选择Interpolated而不是Simple


图 3d:沿毛发设置纹理。

如果你想这样做

  • 激活ZTransp
  • 添加第二种纹理。
  • Map Input: Strand
  • Map To: AlphaSpecDVar=0
  • 使用混合纹理(LinearQuad

你可以用这种方式更改所有其他属性,例如沿毛发的颜色(漂白尖端)。


用纹理改变毛发长度

[编辑 | 编辑源代码]

首先我会向你展示如何使用与毛发不同的材质渲染发射器网格。然后我会展示如何用纹理半交互式地改变毛发长度。

  • 切换到编辑按钮。
  • 切换到编辑模式。
  • 链接和材质面板中,点击材质部分的新建(参见图 4a)。
    图 4a:要点击的按钮
  • 确保所有顶点都被选中。
  • 点击分配
  • 切换回物体模式。

现在发射器拥有第二种材质。

  • 返回材质按钮。
  • 链接和管道面板中,点击材质名称旁边的X删除到此数据块的链接)。
  • 添加一个新的材质。
  • 将其命名为Emitter

现在你的发射器物体上有一个新的材质。由于粒子系统使用材质编号 1,你可以对发射器使用不同的设置。

图 4b:纹理绘画

我们已经解开了发射器的包裹,这对于任何真实模型来说都是可能的情况。现在我们将使用 UV 图像和纹理绘画来确定毛发长度。

  • 分割 3D 窗口。
  • 将右侧更改为UV/图像编辑器窗口。
  • 切换到发射器物体的编辑模式。
  • UV/图像编辑器中使用图像->新建...并确认默认设置。这将创建一个新的图像,我们将在上面绘画。
  • 点击UV/图像编辑器窗口的窗口标题栏中的包图标。确认。
  • 将物体更改为纹理绘画模式。新手提示:在 3D 窗口中,点击下拉菜单。将其更改为纹理绘画

现在你在物体上看到纹理。

  • 在物体上绘制一个结构。
  • 切换回物体模式。
  • 转到材质按钮。
  • 将活动材质更改为Fur(点击链接和管道按钮中显示2 Mat 2的箭头)。
图 4c:使用纹理设置粒子长度的材质设置。
  • 创建另一个纹理。将其命名为FurLength
  • 贴图输入设置为UV
  • 设置Map To
    • 关闭Col
    • PAttr
    • Length
    • DVar=0 纹理上的所有白色区域将产生 0 的粒子长度。
  • 加载我们绘制的图像纹理。


图 4d:用纹理控制粒子:结果

结果如图 4d 所示,你也可以在 3D 窗口中看到粒子发生变化。

在 Blender 2.7x 中,情况发生了变化。我按照步骤一直做到将活动材质更改为 Fur。然后,我转到纹理选项卡,并点击材质纹理按钮旁边的粒子纹理按钮(或者你可以点击粒子选项卡按钮 ,然后点击纹理选项卡按钮)。我添加了一个新的纹理,打开了我在UV/图像编辑器中刚刚绘制的纹理,将坐标设置为UV(在映射面板中)。最后,我在影响面板中启用了密度,并将它的值设置为-1.001.00的效果相反 = 纹理白色区域上的毛发)。结果应该与上面相同。

还有其他方法可以实现这个结果,例如使用顶点组或粒子编辑。但我喜欢使用纹理,因为你可以非常精确地控制它,并且可以随时更改效果的强度。顶点组不允许这样精确的控制,或者你可能需要在发射器中使用大量的顶点。粒子编辑(我们将在下一步进行)如果你之后更改了基本粒子设置,就会丢失,而且你不能轻易更改它的效果。


梳理它!

[编辑 | 编辑源代码]
图 5a:粒子模式下梳理

一个经常被低估的效果是,在自然方向上梳理毛皮的重要性。毛皮不会简单地直立起来,也不会遵循重力(或者只遵循一小部分)。所以回到粒子系统!

  • 切换回粒子按钮
  • 粒子系统面板中点击设置为可编辑
  • 切换到粒子模式

粒子模式只有在你将粒子系统设置为可编辑时才会出现,而且只有毛发系统可以设置为可编辑。在粒子模式下工作时,有一些救命稻草需要知道。

- 你只能编辑控制点(记住本教程开头段数设置)
- 你只能编辑父粒子,所以你需要足够的父粒子才能获得良好的控制
  • 激活将选择限制为可见
  • 激活点选择模式以获得更精细的控制。

这两个设置都在 3D 窗口的窗口标题栏中。

  • 使用 3D 窗口中的N键打开粒子编辑属性面板。
  • 选择梳理

你在粒子模式下可以使用很多不同的工具,参见粒子模式手册.

  • 按照自然流动梳理毛发。

在我这里使用的示例球体上,很难判断自然的流动应该是什么样子;-)。所以我只是非常小心地梳理了一些地方,并且稍微改变了一些地方的长度。你在图 1中可以找到渲染结果,Blend 文件链接在下面。


  • 一个德语教程,展示了如何使用非常相似的方法创建.
  • 这里展示了令人惊叹的毛皮:老虎
华夏公益教科书