微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Unity3D 中使用 NVIDIA FleX 制作软体果冻球?

如何解决如何在 Unity3D 中使用 NVIDIA FleX 制作软体果冻球?

我目前正在 Unity3D 中使用 NVIDIA FleX package 来创建柔软的果冻对象。我仅将 Unity 用于动画,而不是游戏开发。

我的目标是制作一个透明的果冻球,它可以保持球形的弹性。

我尝试实现这一目标的第一种方法是使用 Flex Array + 流体设置。我一直在玩这些设置,但我无法让它保持一个球体,它只是变成了一个或多/少粘稠的流体斑点。

第二种方法是使用 Flex Soft + 流体设置。它在物理学方面要好得多,但即使“拉出粒子”也被关闭,但水滴是分开的,而不是一个果冻球。

This is what it looks like before hitting play,左边是Flex Array,右边是Flex Soft。 Array 的粒子可见,但 Soft 的粒子不可见。 This is after hitting play,其中 Array 变成了一种粘性流体,但不是球体,而 Soft 非常像果冻,但水滴都分开了。

对于这两种方式中的任何一种的解决方案将不胜感激!

解决方法

标准方法是首先创建一个 Nvidia Flex 控制器... Add flex container

那么您还应该创建一个 Flex Soft Asset... Add flex soft asset

然后您应该创建或选择一个游戏对象,并通过游戏对象检查器中的添加组件选项卡,找到 Flex Soft Actor 组件[请参阅下图中加载的内容]...

enter image description here

确保您之前提到的 Soft Actor Asset 在检查器选项中选择了您所需的网格类型 [我在此处的图像中选择了球体] 并检查它是否与下图类似,以确保...

Add Flex soft actor component to game object

所以在那之后,希望你可以按下播放键,看看它在为你下降和扭曲时的动作。

如果没有,我已经创建了一个快速示例供您下载为统一包。

它可能仍需要使用包管理器进一步解决,因为 Flex 插件已经在我在这里提供的包中[使用 Unity 2020.3.5f1] Flex in unity package

无论如何,希望这能让您开始使用 Flex 并朝着您的目标迈进。 作为奖励,我添加了一个小脚本来移动 flex 对象,因为这超出了通常的方法,因为我们必须调用所选的 NVidia Flex 组件类并调用 ApplyImpulse 方法。

干杯:)

编辑:NV Gameworks 提供了 3 组关于将插件与 Unity 集成并举例说明一些内容的小教程 - 这个“东西”包含在我上面提供的可下载包中。 这是 3 组的 youtube 链接:

Nvidia Gameworks FleX tutorials on Youtube

编辑 2:重读你的问题让我觉得我并没有真正给你关于使用布料 actor 和让网格渲染器通过 flex 布料变形组件变形的明确答案。 我在这里提供了另一个统一包的另一个链接,该链接将在此处显示此操作,还允许您查看游戏对象以及来自 NVIDIA Flex 的布料组件如何与标准网格过滤器和网格渲染器配合使用。希望这更准确地回答您的问题:) Example also using Cloth Actors as well as Soft Actors in NVIDIA FleX

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。