Я хочу создать реалистичную пиццу и позволить пользователю взаимодействовать с ней.
Что я хочу:
Что я создал:
Я создал модель пиццы (8 штук) в Blender, а затем импортировал ее в Unity. Кусок пиццы выглядит очень искусственно, в основном потому, что это «жесткий треугольник».
Как сделать так, чтобы сыр растягивался и ломался, когда пользователь перемещал кусок?
Ответы:
Простой Путь
Добавьте четырехугольник, который соединяет соседние кусочки друг с другом. Текстурируйте это с хорошей, плавленной сырной структурой, полной отверстий. Когда срез будет удален, квад будет естественно растягиваться и, таким образом, растягивать и искажать текстуру.
Это должно выглядеть разумно, хотя перерыва не будет. Что нужно сделать, это сделать эту текстуру анимированной. Выполняйте итерацию анимации на основе площади квадратов (или только расстояния между срезами) вместо времени. По мере продвижения вверх все больше дыр появятся из-за анимации.
В конце концов, когда порог расстояния достигнут, разделите четырехугольник на два, программно уменьшите два четырехугольника в направлении их прикрепленных срезов, чтобы немного уменьшить их и сохранить анимацию, которая показывает привязку. Заморозить анимацию в конце.
Для большей динамики вы можете прикрепить квад к двум слайсам, используя соединение в физическом движке.
Трудный путь
Используйте физический движок мягкого тела или напишите его. Определите участок ткани между ломтиками и текстурируйте его с сыром. Разрешить физическому движку моделировать динамику растяжения и привязки материала.
Это гораздо более интенсивный, но в целом более применимый метод. Это также может быть очень неконтролируемым, но может быть в целом более убедительным эффектом.
источник
Использование предустановленной анимации:
Поэтому создайте предустановленную анимацию в программном обеспечении для 3D-моделирования, таком как Maya / Blender, в котором есть такие функции, как мягкие тела и ткань, которые могут хорошо имитировать разрывание пиццы. Экспортируйте и текстуру пиццы, и анимацию модели в Unity (возможно, как набор моделей .obj или что-то подобное).
Анимация модели представит, как сыр растягивают и разрывают, используя множество треугольников, которые вы можете загрузить как набор тримешей в Unity. Они представляют собой совокупность множества ячеистых состояний, каждое из которых представляет собой пиццу с сыром в разных местах растяжения. В зависимости от того, где пользователь разместит ломтик пиццы, вы перейдете к этому «состоянию сетки» и отобразите эти треугольники.
Конечно, есть несколько проблем. Взаимодействие с пользователем немного ограничено. Если сыр уже порвался, вы не можете вернуться в состояние «не повреждено» для этой области сыра. Если предустановленная анимация удаляет срез 1, а затем 2, пользователь будет вынужден удалить срезы в этом порядке. Размер экспортируемых данных может стать довольно большим, в зависимости от гранулярности меша и продолжительности анимации разрыва.
Но это может выглядеть очень реалистично, если художник-модель хорошо работает при создании предустановленной анимации. И вам не нужно реализовывать симулятор мягкого тела.
Используя Unity:
Но в случае, если вам интересно, Unity реализует свою собственную ткань Skinned и компоненты Interactive . Интерактивное полотно поддерживает разрыв. Но поддержка для них ограничена только несколькими платформами, последний раз я проверял.
Используя вас:
В конце концов, вы всегда можете реализовать свой собственный симулятор мягкого тела. Вот пример исследовательской работы, которая довольно популярна. Это очень весело :). Удачи.
источник
Ответы @ originalDaemon хорошие! Я думаю, что есть средний путь, который может дать лучший результат, чем первый подход, и потребует разумного количества усилий (возможно, в отличие от подхода «Трудного пути»).
То, что я предлагаю, слишком на самом деле моделирует сырную «паутину», для меня это выглядит как сталактиты. Модель несколько кусков эластичного сыра. Расположите их случайным образом по краям треугольника восхитительности и масштабируйте их до 0,
y-axis
а когда треугольник удаляют из его компаратов, медленно масштабируйте их по оси Y до нужного размера.Возможно, вам придется выбрать другую ось вместо того,
y
чтобы планировать немного отодвинуть треугольник. В любом случае, я чувствую, что хотя плоская текстура будет намного проще и экономичнее, моделирование сыра может оказаться более реалистичным для крупного плана, хотя текстура тоже может сработать. Если вы выбираете текстуру, возможно, используйте более одного слоя, чтобы получить более реалистичное ощущение. Также не забудьте добавить немного пара, чтобы подчеркнуть жаркость пиццы в кадре.Еще одна вещь, которую я заметил, это то, что пепперони - это всего лишь текстура. Я бы определенно рассмотрел возможность его моделирования или добавления некоторых деталей в этой области к существующей модели. Вы могли бы заставить это скользить вниз с эластичным сыром для дополнительного реализма.
источник