不知道大家小时候有没有玩过四驱车。现在有不少商场都有专门的四驱车赛道。我们既可以用自己的车。也可以租车来跑圈。每次路过的时候我都会多看几眼。所谓“男人至死是少年”可真是一点不假……那么问题来了。作为Blender小能手。我不禁想问问大家。在Blender里。我们也可以制作这种沿路奔跑的玩具车效果么?
第一步:设计玩具车模型并构建“赛道”路径
要做四驱车赛车效果。首先要满足车和赛道这两个基本元素。咱们可以简单制作一个玩具车的3D模型。当然。也在网上下载现成的汽车模型。这个就风俭由君了。不过建议大家不要找高精度模型。因为咱们的几何节点设计会让玩具车模型大量出现。精度太高会增加预览和渲染硬件开销。
在得到玩具车3D模型后。接下来我们需要设计一个赛道。这个设计很简单。可以利用单顶点不断挤出来获得。完成后记得把赛道转换为曲线。因为在几何节点里我们将利用曲线功能来进行设计。第一步的设计结果如图1所示。
第二步:制作赛道并添加车辆
为我们的赛道曲线添加几何节点功能。然后在“组输入”和“组输出”之间添加“圆角曲线”。这个功能可以让曲线的直角边转换为圆弧角。类似于添加了倒角功能。然后通过“曲线转网格”。以曲线直线为轮廓曲线。让曲线的每个点都以线段的形式“扫描”过去。就能形成如图2的效果了。这也就是我们的赛道模型啦。
接下来就需要让我们的玩具车模型在赛道上跑起来啦。基本思路是让一条线段沿着赛道曲线移动。这样我们就能给线段的每一个点赋予车辆模型作为实例。形成车辆随路径疾驰的效果了。
因此我们先要获取曲线的位置信息。因为曲线并不像网格那样。每个点都有位置信息。所以我们要先“采样曲线”。然后把“网格直线”从“网格到点”。这样直线上的每个顶点都独立显示了。然后在通过设置位置。来让这些点都成功放置到曲线上。
这时候你会发现。为什么无论我设置多少个“网格直线”的数量。都只能显示一个点呢?这是因为“采样曲线”的系数是一个恒定数。所有的点都被放在了同一个位置。所以我们需要给系数添加“随机值”。这时候你就能看到所有的点均匀分布在直线上了。然后通过一系列的运算。我们就可以得到直线顶点在曲线“赛道”上以些许不同速度奔跑的效果了。具体设置可参考图3。
第三步:设置多车道和正确行进方向
但这时候还是有一个小问题:所有的点都非常规矩地以“单车道”的形式沿曲线运动。我们如果想要获得更多的“车道”。其实就是为直线每个顶点的位置添加随机值。这时候可以通过噪波纹理来实现。设置思路就是让“采样曲线”的“位置”添加一个“噪波纹理”。具体的设计可以参考图4。
当然。也可以直接“矢量相加”“采样曲线”的法向。并用“矢量乘法”来乘一个随机值。通过调整随机值的正负范围。也能起到相同的效果。
这时候虽然我们的玩具车在赛道上以多车道的形式跑了起来。但问题在于它们没有沿着正确的方向旋转。逻辑上来看。玩具车的旋转值应该与赛道曲线的切向对齐。而正好在“采样曲线”时我们就获得了曲线的切向。因此只需要通过设置“对齐欧拉到矢量”。就能让玩具车的旋转值以切向正确运作了。如果你跟我一样设置了坡道的话。记得要额外再加一个“对齐欧拉到矢量”来调整玩具车对应坡道时的俯仰。具体轴心要参考玩具车模型的轴向来进行设置。当然。全试一遍也能得到正确答案。并不复杂。具体设置可参考图5。
小结:从节点的复杂程度不难看出。这次的教学内容其实是有一定难度的。但这也是目前实现这一效果的最佳途径。而且几何节点最大的优点就是超高的调整自由度。我们可以直接修改玩具车的数量、位置、速度。也能在调整赛道曲线时让玩具车的行进方向和车头朝向无缝匹配。这都是传统跟随路径方案比较难以实现的。所以。难是难了点。但值得学!
本文地址:https://www.zgqzhs.com/76378.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!