Резка сетки в реальном времени

Я хочу разрезать объект-сетку как минимум на пять частей. Я провел некоторое исследование, и некоторые люди здесь клонировали объекты при нарезке и просто создавали экземпляры двух объектов из одного среза?

Я новичок в 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. 

person Kala J    schedule 24.10.2013    source источник
comment
Голосование за закрытие, тема слишком широка для быстрого ответа SO. Попробуйте посмотреть, как вычислить пересечение плоскости и треугольника. Я подозреваю, что когда вы нарезаете свою сетку, вам нужны не зубчатые края, а чистый срез. Это означает, что вам нужны точки пересечения треугольника и плоскости, чтобы создать новые треугольники на границе разреза.   -  person Jerdak    schedule 24.10.2013
comment
@Jerdak Я с тобой не согласен. Концепция нарезки сетки довольно проста, вам просто нужно сделать два объекта из одного. Сложность заключается в отсутствии встроенных инструментов, но это не должно быть причиной для закрытия вопроса.   -  person Logman    schedule 25.02.2021


Ответы (2)


Вы пробовали актив Turbo Slicer?

https://www.assetstore.unity3d.com/#/content/4169 На их сайте есть демо.

Есть способы добиться того, чего вы хотите, однако упомянутый актив может быть самым простым.

Стоит искать активы для нарезки, разбивки на части:

Также вы можете:

  1. Используйте предпочитаемую программу моделирования и моделируйте объект по частям и с помощью анимации нарезайте объект в результате определенного действия.
  2. Программно исчезает весь объект и появляются фрагменты, используя, возможно, систему частиц для улучшения эффекта.
person VicM    schedule 29.10.2013
comment
Я не хочу покупать актив, просто хочу получить общее представление о том, как начать работу и что мне следует изучить? - person Kala J; 03.12.2013

Вы можете увидеть новый здесь http://u3d.as/qSN Этот актив имеет очень быстрые алгоритмы для 3D-моделей. и по сравнению с его альтернативами у него гораздо более чистый код.

  • Он поддерживает асинхронный слайс, если вас не устраивает скорость. Но мои тесты показывают, что это не обязательно, достаточно быстро сделать это в основном цикле.
  • Он нарезает коллайдеры, преобразовывая их в MeshCollider-ы.
  • И это легко настроить.

введите здесь описание изображения

person Stas BZ    schedule 08.01.2018