[UE虚幻] UE4 - Rope Physics 迷你教程

查看:1232 |回复:3 | 2020-10-9 10:55:13

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 凌乱痕 于 2020-10-9 10:57 编辑

绳索物理迷你教程



最终效果:

1.gif

大家好,这里有一个小教程,介绍如何使用摆约束创建一些绳索物理。


1.使用空模板创建新的Niagara发射器。
2.将您的发射器状态循环行为设置为一次,并将持续时间设置为无限:
2.jpg

3.添加Spawn Burst模块并将生成数设置为10

4.从“粒子生成”部分中删除“初始化粒子”。
5.取消选中“粒子状态”节点中的杀死粒子,并将其设置为在停用发射极时死亡。


6.删除精灵渲染器并将网格渲染器添加到S_Arrow(来自插件内容)

7.之后,将摆锤节点添加到“粒子更新”部分的“ 摆锤设置”和“摆锤约束”(按修复问题,以便它也将添加“计算准确速度”节点)。
8.在“钟摆设置”中启用“弹簧驱动约束”,并使用以下参数更新模块:


9.同时在“摆约束”节点中启用“计算和输出势能”。

10.将“定向网格”添加到“矢量”模块,然后将方向设置为“摆轴”:

整体发射器现在应该看起来像这样:

如果从中创建系统,您将能够看到将跟随发射器运动的简单受弹簧约束的粒子。

现在让我们为绳子创建具有基本逻辑的模块。
关键是将“摆锤枢轴”设置为上一个粒子的结尾。

              1. 让我们创建新的Niagara模块脚本并将其命名为NGMS_FindTip。
              2. 将使用标志设置为“粒子更新”,不要忘记将其公开给库:

                  3. 首先,我们需要获取链中先前粒子的信息,因此让我们为其添加“ ParticleAttributeReader ”,然后将其命名为“ RopeAttributeReader” (我确实使用Emitter名称空间进行了挖掘)
                  4.  现在,我们可以通过获取先前的粒子的索引并减去1来读取其属性:


                  5.让我们为近似的粒子长度添加模块输入变量,并进行一些计算以获得粒子尖端的最终位置向量:

                   6.现在剩下的就是将我们的第一个粒子尖端设置为发射器位置,并创建新变量来设置TipPosition向量:


整体节点应如下所示:



让我们回到我们的发射器。

现在,我们可以将新模块添加到粒子更新中:


之后,我们需要设置RopeAttributeReader参数以引用我们的发射器:

由于我们未指定Emitter Name,因此您会立即看到错误,因此请对其进行修复:

(同样,您应该编译一次以消除!符号,即使在修复后它也可能会留下来)

之后,剩下的就是在Pendulum设置和“计算精确速度”模块中更新一些参数:


好了,现在一切正常,您可以在水平仪中测试我们的绳索了:

我知道它并没有提供真正的物理原理,但是它是一个很好的起点。希望你喜欢!


评分

参与人数 2活跃度 +34 展开 理由
knightzzz + 14 【喜欢】看到这么好的帖如同回到初恋的年代!
微凉. + 20 【给力】阅贴无数,楼主最强!

查看全部评分

2020-10-9 10:55:13  
 赞 赞 0

使用道具 登录

3个回答,把该问题分享到群,邀请大神一起回答。
2#
学到了~感谢楼主分享!
回复 收起回复
2024-11-11 22:07:28   回复
 赞 赞 0

使用道具 登录

3#
回复 收起回复
2024-11-11 22:07:31   回复
 赞 赞 0

使用道具 登录

CG 游戏行业专业问题

图文教程技术文章技术文库节点可视化
显示全部 10
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表