【发布时间】:2021-02-25 16:47:59
【问题描述】:
我想将一个网格对象分成至少五个部分。我做了一些研究,这里的一些人在切片时克隆了对象,只是从一个切片中实例化两个对象?
我对 Unity 和 C# 还是很陌生。因此,任何关于从哪里开始或我可以阅读以学习如何切割网格的初学者教程都会很好。比如我应该研究什么功能/方法?切割网格背后的方法是什么?
据我了解,我还没有看到任何实际切割三角形网格的教程或资产?如果有,它是如何完成的?其背后的逻辑是什么?我想我需要帮助理解它背后的逻辑以及如何开始或我应该研究什么?
我的意思是实时切割网格。
编辑:
尝试理解和玩弄代码:
我使用了假切片机 3.0 (http://unitycoder.com/blog/2011/08/09/fake-mesh-slicer-v3-0/) 并包含在示例中,他们有一个切片机可以使用的胶囊。
如果我添加了一个立方体或另一个具有刚体属性和对撞机属性的胶囊,切片器(又名平面)只会克隆对象而不会将其切掉。这是为什么?如何操作上面的代码以适用于各种对象?
我收到此控制台错误,但我不知道这是什么意思:
UnasssignedReferenceException: The variable cutplane of 'Slice_mesh3_js' has not been assigned. You probably need to assign the cutplane variable of the Slice_mesh3_js script in the inspector.
【问题讨论】:
-
投票结束,主题太宽泛,无法快速回答。尝试查看如何计算平面和三角形的交点。我怀疑当你切割你的网格时,你不需要锯齿状的边缘,而是一个干净的切割。这意味着您需要三角形/平面的交点来在切割边界处创建新的三角形。
-
@Jerdak 我不同意你的看法。切片网格的概念非常简单,您只需要从一个对象中制作两个对象。造成困难的是缺乏内置工具,但这不应该成为结束问题的理由。