Одним из относительно простых подходов было бы:
- Иметь цилиндр me sh с довольно большим количеством последовательностей. (Убедитесь, что он помечен для доступа на запись, и что нормали рассчитываются при правильно высоком значении угла сглаживания.)
При вырезании в данной точке вдоль ее длины, бросьте гипотетическую рамку вперед в me sh и возьмите все точки вершины в ней (или возьмите точки, ближайшие к положению длины). Для этого вам нужно
meshFilter -> me sh -> вершины .
Приведите все эти точки ближе к центру, насколько это определено вашим передним ножом. Если хотите сделать результат более резким, оставьте ближайшие точки.
Пересчитайте me sh. Чтобы получить более гладкие нормали, используйте этот скрипт (по моему опыту, нормали все равно не будут выглядеть идеально).
Не уверен, что это лучший подход, но, возможно, это работает для вас. Удачи!