当前位置:资讯 > >正文
转载&翻译:Rig and simulate Hair Curves on Blender 3.3 新头发系统的物理模拟|滚动
2023-01-24 22:02:04    哔哩哔哩

Rig and simulate Hair Curves on Blender 3.3

作者 : SSBB210

来源 : https://blenderartists.org/t/rig-and-simulate-hair-curves-on-blender-3-3/1407111


(相关资料图)

以上为原文信息,可以直接访问

blender 3.3带来的新的曲线头发系统在现阶段的相关信息和教程实在太少,这样一篇不可多得的优质教程,为了方便学习,将全文摘录下来并汉化。

在正式开始之前,提一句题外话

如果使用曲线绘制头发时出现意外的卡顿,可以尝试将Surface Deform节点的视图显示暂时关闭,在需要时再开启。

搅拌机3.3中新头发系统的绑定与物理模拟

概述

绑定和动态头发(使用布料模拟)所必须的几何节点来自于以下链接中的文件里的Hair_deform节点以及generate_proxy节点

https://studio.blender.org/films/heist/gallery/?asset=6072

创建任意网格并添加generate_proxy,然后generate_proxy选择头发曲线并应用它

将Hair_deform放置在头发曲线上,然后Hair_deform选择刚刚生成的代理

(如果对这些对象中的任何一个进行任何修改,则必须重新生成另一个代理,你可以添加任意用于修改或增减曲线的几何节点,但必须在hair_deform下)

此外,生成的网格将有很多顶点,因此需要优化头发曲线并使用几何节点生成更多子对象

参考:https://www.youtube.com/watch?v=dUuRmcUQK_s

作者:Johnny Matthews

本教程与下方教程原理一致

参考:https://www.youtube.com/watch?v=W97e8xIVoqE

作者:Nick Burkard

区别在于,本教程使用的是几何节点

去使用布料物理来模拟头发

需要为代理创建另一个代理并挤出面,否则不会发生任何碰撞。此外,比不可见顶点面在权重绘制时来得容易

详细步骤

Step 0. this guide assumes you have surface deform geometry node already

准备本教程默认你已经拥有surface deform节点

Step1. append the geometry nodes from 

第一步,导入下方链接的几何节点

https://studio.blender.org/films/heist/gallery/?asset=6072

append these nodes too: 

以及下方链接的几何节点

https://johnnygizmo.gumroad.com/l/habifby Johnny Matthews

Step 2. Make a backup of your hair curves. Optimize your curve hair, if you want to have dynamics hair(w/ cloth sim). Use the density brush. Separate the hair into multiple section if you have to.

If you choose to skip this step, you can still rig it, but your proxy mesh will have way too many vertices and your viewport performance won’t be great

第二步,备份头发曲线。如果您希望拥有动态头发(使用布料模拟),请优化曲线头发。可以使用密度笔刷。如果有必要,将头发分成多个部分。

如果选择跳过此步骤,仍然可以继续绑定它,但代理网格将有太多顶点,视口性能将不太好,你会被卡爆

Use the geometry nodes that you just appended to generates children(if you know how to create interpolated children, it would be even better, I don’t know how to do that.)

使用刚刚附加到的几何体节点生成子对象(如果你知道如何创建插值子对象,那就更好了,我不知道怎么做。)

Step 3. Turn off any geometry nodes that can generate children, apply them if you have to(resample can be applied), because the Generate_proxy will create an exact copy of your hair curves with its visible nodes.

Add a hair deform geometry node and move it above. Geometry nodes that can generate or move the curve need to be under hair_deform

第三步,禁用任何可以生成子对象的几何体节点,如果有必要,可以应用它们(可以应用重采样),因为generate_proxy节点会在视窗可见开启下创建头发曲线的精确副本。

添加一个hair_deform几何体节点并将其移动到上方。任何可以生成或移动曲线的几何体节点需要位于hair_deform下

The Hair_deform requires a proxy to work correctly

Turn the visibility off for the hair_deform for now otherwise you cannot use the generate proxy.

Hair_deform需要代理才能正常工作

暂时关闭hair_deform的可见性,否则无法使用生成代理。

Step 4. Create any mesh(Suzanne, Plane, Grid…) and add a geometry node then select the generate_proxy

第四步,创建任意网格(猴头平面立方体…)作为代理网格并添加几何体节点,然后选择generate_proxy

select the hair curves

在代理网格的几何节点generate_proxy下方的object栏中选择头发曲线

apply it

将代理网格中的generate_proxy几何节点应用

Step 5. name your proxy

第五步,将代理网格命名为Hair_tail.proxy

Do not edit the mesh! You can add an armature modifier, but you won’t be able to see your weight paint, because there is no face. you can assign it to the hair_deform and turn back on every nodes that aren’t visible

不要编辑网格!可以添加骨架修改器,但无法看到权重,因为没有代理网格现在没有面。

代理网格分配给头发曲线中的hair_deform几何节点,并打开所有几何节点的视窗可见

Step 6. Duplicate your proxy and name it

第六步,复制你的代理网格并命名为Hair_tail.proxy.proxy(马尾代理的代理-马代中代)

Select the mesh you just duplicated and go in edit mode select everything and extrude by 0.001

选择Hair_tail.proxy.proxy马代中代进入编辑模式,全选并挤出0.001生成面网格

(OPTIONAL for the cloth modifier)Do not let go of your selection. Create a vertex group and assign them, it’s for the cloth modifier

(布料修改器可选)挤出后不要放弃选择。创建顶点组并将选择中的线指定给顶点组,顶点组命名为No_self_collsion(意为每根发丝自身不发生自碰撞),这是给布料修改器准备的顶点组

Add another vertex group and call it whatever you want. I named it “pin” though.

Weight paint it

添加另一个顶点组,并根据需要调用它。不过我给它取名为“pin钉固

赋予它权重

Set the cloth modifier, I am no expert in blender sim, I find it most of the time buggy. maybe someone has a good preset that they can share.

设置布料修改器,我不是搅拌机模拟的专家,我发现它大部分时间都是bug。也许有人有一个很好的预设可以分享。来自百度机翻。

Step 7.Add Surface deform to the original proxy and select the proxy with the cloth modifier.

第七步,给原始代理网格Hair_tail.proxy添加表面形变修改器目标对象为带有布料修改器的马代中代Hair_tail.proxy.proxy。

Make sure to bind it with no deformation, so go back to frame 0 or 1 and bind it. (because of the cloth modifier)

在绑定之前必须确保马代中代没有发生形变,将时间线归零之后点击绑定

(这是因为马代中代有布料修改器的原因)

-

Step 8. TURN OFF ray visibility for cycles and set the viewport display(EEVEE & Cycles) as wire for the the proxies

第八步,在物体属性中可见性里关闭代理网格Hair_tail.proxy的全部射线可见性选项,并将视图显示设置显示为线框

Step 9. Make sure turn back the hair curves and its geometry nodes. if you follow correctly and I didn’t mess up you should at least have something like this, when you add an object with the collision modifer

第九步,确保以上操作无误,那么当你添加一个碰撞体时,你应该得到如下结果

Step 10. If you do not want clipping hair, you can add this geonode:“Curves Aboves” by Johnny Matthews and add these nodes to the geometry node(I have no idea if this is the best way to edit it, Geometry node is still too complicated for me)

第十步,如果不想裁切头发,可以从文件中添加Johnny Matthews提供的“Curves Aboves”几何节点,并将这些节点添加到几何体节点(我不知道这是否是编辑它的最佳方式,几何体节点对我来说仍然太复杂)

you can add a “resample” to make the hair a bit smoother again and reduce hair clipping through mesh.

可以添加一个“重采样”,使头发再次平滑一点,并通过网格减少头发裁切

来自译者:

不明白本段中两个裁切指的什么,本文教程我没有实际操作过,但是通过本次汉化已经大致理解流程。

通过导入现有几何节点经过操作生成两个代理网格,对代理网格进行布料模拟实现效果。

最后 

原文

Sorry I did not cover the rigging part, but it should be like this 

https://www.youtube.com/watch?v=gTdRGZA4TXA

DON’T FORGET to parent the proxies to the “head” bone or Data transfer the vertex group from the body mesh and then assign an armature

If the hair are flying around, then select the vertices from the denser area in edit mode and add some of them into the no_self_collision vertex group or don’t use self collision

Or redo it from Step 2.

译文

抱歉,我没有涵盖绑定的部分,但应该是这样的

https://www.youtube.com/watch?v=gTdRGZA4TXA 

不要忘了将代理与头部骨骼绑定以及从身体网格中使用数据传递修改器传递顶点组,然后指定骨架修改器

如果头发四处乱飞,则在(当前帧)中进入编辑模式从密集区域选择顶点,并将其中一些顶点添加到no_self_collision顶点组中,或者不使用自碰撞

或者从第2步开始重做。

X 关闭

往期话题
最近更新

Copyright ©  2015-2022 世界产业园区网版权所有  备案号:琼ICP备2022009675号-1   联系邮箱:435 227 67@qq.com