Если вам все равно, превратится ли ваше исходное изображение в размытое месиво, тогда, конечно, используйте любой метод 2D-масштабирования/преобразования, который вы хотите. Попробуйте повернуть текстуру с низким разрешением на угол, не кратный 90 градусам, и посмотрите, что произойдет — это уродливо.
Если вы хотите, чтобы результат выглядел идеально до пикселя, вам нужно использовать (достаточно приличный) 3D-рендерер для проекции и отключить сглаживание.
Я готов поспорить, что Blender может сделать это, и это будет бесплатно, хотя я не пробовал делать это в Blender. Вероятно, есть способ сделать это с помощью любого 3D-рендерера, который позволяет полностью настроить камеру. Вы помещаете исходную квадратную текстуру на квадратную плоскую 2D-поверхность, затем визуализируете ее с помощью созданной камеры, настроенной на орфографическую (не перспективную) и под соответствующим углом — в вашем случае, поскольку плитки выглядят для меня диметрическими, повернутыми в любую сторону на 45 градусов. а также 30 градусов вниз. Это даст вам идеальный пиксельный рендеринг, который вы можете просто сохранить в файл или скопировать в буфер обмена для редактирования в любом программном обеспечении для обработки изображений, которое вы хотите - вам все равно нужно будет добавить к нему альфа-канал, например.
Если вы выберете правильные углы камеры, вам просто нужно немного поиграть с расстоянием до камеры, чтобы ваш исходный объект + текстура поместились в окне рендеринга, а высота — для его центрирования — но это не длительный и сложный процесс, поскольку вы уже знаете, какого размера вы хотите, чтобы он был, и центрирование тоже не сложно. Даже на слишком большом расстоянии он все равно будет выглядеть в основном правильно — просто слишком маленьким. Итак, затем вы просто перемещаете камеру ближе к целевому объекту (в локальных координатах, чтобы углы не менялись) и повторно выполняете рендеринг и повторяете по мере необходимости. Вам нужно сделать этот шаг только один раз вручную, после чего вы загружаете сохраненную сцену в Blender/3ds Max/Maya/Что угодно и меняете текстуру.
Вот хороший онлайн-учебник по тому, как делать именно то, что вы хотите в 3dsmax, но опять же, я думаю, что он в значительной степени будет работать в любом реальном 3D-рендерере, который дает вам полный контроль над камерой:
http://www.pixelpilot.dk/isometric.htm
Обратите внимание, что если ваша плитка имеет высоту выше плоскости 0 (в вашем примере это так), вам придется принять это во внимание - возможно, вы захотите начать с чего-то более простого, заставить это работать и сначала понять это, прежде чем решать высоту.
Это действительно единственный способ сделать это правильно и получить неизменно хорошие результаты. Единственными альтернативами являются: а) быть одаренным художником и просто рисовать свои спрайты вручную б) иметь спрайты с таким низким разрешением, что это не требует какого-либо заметного уровня навыков.
В противном случае, как и все мы, вы сначала моделируете его в 3D, а затем визуализируете, чтобы получить проекцию, а затем вручную подправляете его в редакторе изображений после того, как тяжелая работа сделана.
Надеюсь, это поможет.
person
Daemonjax
schedule
06.02.2019