David902 发表于 2021-1-7 09:11

请问在Unreal中怎么在runtime实时创建模型,比如用手捏泥巴这样的?

请问在Unreal中怎么在runtime实时创建模型,比如用手捏泥巴这样的?

尘埃416 发表于 2021-1-7 09:15

runtimemesh插件 或者 procedural mesh

风来时狂放 发表于 2021-1-7 09:24

参考CableComponent的DynamicElement……


实在不行的话……我写过几篇对应的博客(UE4中的Marching Cube算法和Metaball),也把Implicit Surface实现过了:
Unreal Engine 4 -- Marching Cube算法的实现与思考游戏《孢子》的思考 -- Metaball的逻辑,实现及对应思考

明绍宗朱聿键鼻 发表于 2021-1-7 09:33

捏泥巴的话,可以用BP做个类似ZBrush 的简单界面,BP有paint 结点,结合shade 里的vertex offset 即可

尘埃416 发表于 2021-1-7 09:41

UE4的ProceduralMesh和CustomMesh 可以支持运行时更改模型,但只是简单的三角面操作。我写过一个文章。
UE4 三角面操作:CustomMesh组件实例,实现自由拉伸的立方体

实现的原理非常简单,控制8个定点的位置,重新绘制12个三角面即可。

一些用UE4做的家装软件支持稍微复杂一点的模型操作,包括你说的布尔运算,但也不会特别复杂。

如果你要一些专业的建模软件功能,我只想说可以实现,但你要先写一个建模软件……

我是来围观的逊 发表于 2021-1-7 09:48

谢邀,具体的实现我也不太清楚,我就把我所知道的说一下哈,也不知对题主有没有帮助。

我觉得可以看下顶点变形方面的东西,你想要实现的,就是想可以像捏泥巴一样,把一个模型捏成自己想要的样子对吧,那么你可以去实时的计算一下模型各个顶点的数据,某个位置受到外力的时候,把该出顶点的数据的移动给给模拟计算出来,附近的各个点也受到牵引移动到哪里,更新一下所有顶点的数据,然后再重新渲染一遍新的模型,那么模型就发生了变化。

这个我是曾经在unity里面看到有人这么实现过,ue4里面暂时没遇到过,也不知道有没有帮助哈~希望题主如果折腾出来了,也能分享一下。

我把我收藏的那个插件放出来给你参考下:
链接:https://pan.baidu.com/s/1i6DiT05 密码:dk03

是个球形受到拉扯变形的,然后受到惯性又恢复了,虽然引擎不同,但是思路还是可以参考的~
页: [1]
查看完整版本: 请问在Unreal中怎么在runtime实时创建模型,比如用手捏泥巴这样的?