Я создаю мобильное приложение в Unity, которое позволяет пользователю масштабировать объекты во всех трех измерениях (в настоящее время используется LeanTouch). Все это прекрасно работает, но, очевидно, когда вы масштабируете родительский игровой объект, все масштабируется в этом измерении. Я бы предпочел, чтобы на самом деле масштабировались только определенные сетки, содержащиеся в игровом объекте, исходя из масштабируемого измерения.
Например, если у меня есть таблица, и пользователь хочет увеличить ширину объекта на лету (т.е. масштабировать в направлении X), я хочу масштабировать верхнюю часть блока, но толщину отдельные ноги остаются прежними. Прямо сейчас, если вы масштабируете ширину, сами ножки увеличиваются в толщине.
Это изображение иллюстрирует проблему. Чем шире стол, тем больше и ноги. Я бы хотел, чтобы ширина ножки B оставалась такой же, как и у ножки A, несмотря на то, что столешница «растягивалась» в направлении X.
Эти модели сделаны с отдельными сетками для каждого компонента, поэтому я не пытаюсь сделать это с одной сеткой.
Есть ли способ указать (или в скриптах), что сетка или игровой объект могут масштабироваться только в двух измерениях (например, ножки стола могут масштабироваться по Y и Z, но не по X)? Я считаю, что это называется «Плоская блокировка» в Blender.
Прямо сейчас я использую Blender для импорта DXF, который я конвертирую в .obj или .fbx, однако я полный нуб.
Спасибо за любые предложения