Как уменьшить размер файла 3d max

Обновлено: 21.11.2024

При 3D-печати вашего объекта ваша цель — получить наилучший результат. Если вы печатаете конечные части или видимые части, вам может понадобиться получить детализированные объекты с наилучшим возможным качеством и разрешением. Хотя при разработке этих деталей важен выбор технологии и материала для 3D-печати, на самом деле все начинается с качества вашего файла. Но иногда слишком подробные 3D-файлы могут быть слишком тяжелыми для печати!

Здесь мы дадим вам несколько важных советов и расскажем, почему размер вашего STL-файла имеет значение. Узнайте, как уменьшить размер файлов STL без ущерба для качества!

Что такое файл STL?

Если вы хотите использовать 3D-печать для создания трехмерного объекта, вам потребуется специальный файл. Формат файла STL является наиболее часто используемым форматом файла в 3D-печати, но существует множество других форматов файлов, которые вы можете использовать для 3D-печати с помощью нашего онлайн-сервиса 3D-печати, например, формат файла OBJ. Этот 3D-формат представляет необработанную поверхность модели с небольшими треугольниками. Чем больше треугольников будет использовано, тем более подробной и сложной будет ваша структура, но тем тяжелее может быть ваш файл!


Чтобы создать файл STL или OBJ, вам нужно будет использовать программное обеспечение для 3D-моделирования, чтобы начать свой проект.

Разрешение 3D-печати: чем больше 3D-файл, тем лучше?

Размер файла — не единственный фактор, влияющий на разрешение 3D-печати вашего объекта. Например, выборочное лазерное спекание (SLS), SLA или Binder Jetting не будут иметь одинакового разрешения печати. Выбранная вами технология 3D-печати также влияет на общее качество печати, но размер также имеет значение.

Как и при обычной (2D) печати, количество полигонов можно увеличить или уменьшить в зависимости от размера печатаемого объекта. Экспортировать 3D-файл с миллионами полигонов для печати в виде пятисантиметрового объекта не стоит. Теперь, если вы планируете распечатать объект как можно большего размера. Возможно, будет полезно увеличить разрешение файла.

Почему вам следует подумать об уменьшении размера файла STL?

Большой 3D-файл не проблема, но может возникнуть, если вы хотите поделиться им или загрузить его. Если вам нужно изготовить деталь с помощью онлайн-сервиса 3D-печати, лучше получить файл, который можно легко загрузить. Например, в нашем сервисе 3D-печати файлы, которые вы используете, должны весить не более 50 МБ, а каждый отдельный 3D-файл не должен превышать 1 миллион полигонов. Реальных ограничений в системе нет, но имейте в виду, что большой объем может замедлить все ваши действия.

Более того, когда эти файлы настолько тяжелые, детали объектов иногда выходят за рамки того, что мы можем видеть или что на самом деле может напечатать 3D-принтер. Цель здесь не в том, чтобы уменьшить размер вашей части, чтобы получить более низкое качество, а в том, чтобы получить меньший файл с максимально возможным качеством. С большим файлом в лучшем случае ваш объект будет напечатан без видимой разницы, в худшем наша система не справится с огромным файлом. Так что, даже если вы создаете самый великолепный 3D-файл и устанавливаете максимальное разрешение, это не обязательно принесет вам много пользы. Чтобы держать ситуацию под контролем, мы в Sculpteo установили два строгих правила и ряд рекомендаций, которым необходимо следовать:

  • Первое правило – размер 3D-файла не должен превышать 50 МБ.
  • Второе правило заключается в том, что ваш 3D-файл должен содержать менее 1 миллиона полигонов.

Но во-первых, почему эти файлы такие большие? При экспорте 3D-моделей в файлы STL для аддитивного производства они представляются в виде сетки, состоящей из треугольников. Чем больше треугольники, тем менее детализированы детали, но чем меньше и больше треугольников, тем плавнее будут кривые поверхности вашего объекта! Подводя итог, чем больше треугольников, тем больше будет размер вашего файла. Вам нужно будет найти правильный баланс между детализированной 3D-моделью и непиксельным объектом.

Чтобы сжать файл STL, вам нужно найти правильный параметр в программном обеспечении для 3D-моделирования, чтобы уменьшить размер, не влияя на пригодность файла для печати.

Для сохранения файлов, созданных программным обеспечением 3dsMax, всегда требуется много места на жестком диске. Например, вы могли создать десятки файлов с расширением MAX на различных этапах рендеринга и моделирования проекта. Эти файлы, как правило, большие и даже имеют размер в несколько гигабайт.

Поэтому путем простого измерения вы поймете, что ежегодно должны выделять огромное количество места на жестком диске для своих проектов. В результате сжатие этих файлов очень поможет сохранить свободное место на жестком диске, а также снизит затраты на добавление новых дисков, поскольку вам не нужно покупать дополнительные жесткие диски.

В настоящем исследовании анализируется, как максимально сжать эти файлы, и проводится сравнение различных программ для сжатия. Конечно, стоит упомянуть, что существуют различные способы, которые могут сильно помочь уменьшить размер ваших файлов в программном обеспечении 3dsMax, о чем я предпочитаю говорить в другой статье.

Анализ различных алгоритмов

Каждое программное обеспечение для сжатия, в зависимости от поддерживаемых алгоритмов, предоставляет разные результаты для разных файлов; поэтому мы не можем сказать, что определенное программное обеспечение лучше всего подходит для всех типов файлов (например, программное обеспечение, которое хорошо подходит для сжатия файлов .max, может работать намного лучше, когда дело доходит до сжатия текстур - примечание редактора). Мы можем выбирать между WinRAR, BandiZIP, PeaZIP, 7Zip и компрессором Windows, среди которых WinRAR может быть наиболее популярным среди огромного числа пользователей в последние годы, поскольку он обычно предлагает приемлемые возможности, а также соответствующее сжатие. Однако это программное обеспечение не лучший компрессор для файлов Max. Чтобы проанализировать разные алгоритмы в разных программах, я провел эксперимент с громоздким файлом Max, результаты которого показаны в следующей таблице.

Я использовал файл Max размером 4 254 220 КБ (чуть более 4 ГБ).
Время измеряется в секундах программным обеспечением хронометра.
Система, использованная в этом эксперименте, имела 32 ГБ ОЗУ и процессор Intel i7-5960x.

Примечание. Исследование файлов разного размера показало, что порядок результатов в этой таблице обычно одинаков, но степень сжатия может различаться.
Примечание. В программном обеспечении, используемом в этом тесте, доступно гораздо больше алгоритмов. Однако это не включено в эту таблицу из-за меньшего сжатия или очень неразумного времени сжатия, или из-за сходства с алгоритмом в другом программном обеспечении с точки зрения степени сжатия или объема сжатия. Итак, если вы выберете что-то вроде 7Z или ZIPX, вы, скорее всего, найдете их в другом программном обеспечении с такой же степенью сжатия.
Примечание. Вы также можете использовать FreeArc для доступа к ARC, но из-за прекращения его разработки он не включен в таблицу.

Заключение

Что касается результатов в приведенной выше таблице, очевидно, что алгоритм файлов ARC, доступных через программное обеспечение PeaZIP и FreeARC, обеспечивает наилучшее сжатие (более 90%) для файлов 3dsMax. Этот тип сжатия выполняется на нескольких уровнях в диапазоне от 0 до 9 (предустановки), самый высокий из которых выполняется в режиме 9 или Slower, хотя для достижения этого сжатия требуется относительно много времени. Таким образом, уровень 4 этого алгоритма, который имеет разумную скорость и обеспечивает сжатие приблизительно 90%, может быть лучшим выбором. Если вы готовы испытать сжатие на меньший процент, то вы можете использовать уровень 3 этого алгоритма, обеспечивающий большую длительность по сравнению с коэффициентом сжатия, который он делает. Между тем, алгоритмы ZIPX и 7Z также обеспечивают сжатие, доступное соответственно через BandiZIP и PeaZIP; однако эти алгоритмы менее практичны и удобны в использовании, чем время, необходимое для сжатия. Конечно, вы можете самостоятельно выбрать предпочтительный алгоритм в соответствии с приведенной выше таблицей.

Программное обеспечение PeaZIP является подходящей альтернативой WinRAR даже для повседневных задач, поскольку оно поддерживает различные файлы для создания, открытия и извлечения заархивированных файлов. Он обеспечивает даже более широкий диапазон, чем WinRAR, и может поддерживать более 180 типов файлов. Кроме того, его привлекательный современный интерфейс, помимо высоких технических характеристик, а также бесплатность и кросс-платформенность, делают его практичным программным обеспечением для каждого компьютера. Я предлагаю вам установить и использовать это программное обеспечение.

Ассалямуалейкум. Меня зовут Видхи Муттакьен. В этом уроке по 3ds max мы рассмотрим несколько способов экономии места на жестком диске при работе с 3ds Max. Мы рассмотрим три вещи: сжатие файлов, создание экземпляров и прокси-сервер.

Сжатие файлов

Хорошо, сначала о сжатии файлов. Трудно поверить, что многие пользователи 3ds max не знают, что в 3ds max встроена функция сжатия файлов. И эта функция по умолчанию отключена.

Чтобы включить эту штуку, вам нужно перейти в «меню настройки», затем «предпочтения», а затем щелкнуть вкладку «Файлы». Здесь вы найдете опцию «сжать при сохранении». Установите флажок, чтобы включить его.

Теперь, когда вы сохраняете файл, он выглядит так, как будто 3ds max сохраняет его как обычный файл «.MAX», как и раньше, но если вы внимательно посмотрите, размер файла будет значительно меньше, чем раньше.

Например, у меня есть эта сцена из одного из моих проектов.Когда я сохраняю его без сжатия, он занимает около 17 МБ, но с опцией «сжимать при сохранении» в 3ds max можно сохранить файл размером всего около 6 МБ. Это почти треть исходного размера файла. Для одного файла вы можете не получить существенной выгоды, но просто представьте, если у вас есть сотни максимальных файлов, занимающих до 3 ТБ дискового пространства, теперь вы можете сохранить его всего в 1 ТБ, что составляет 2 ТБ дискового пространства. Это огромная разница.

Преимущество этого метода заключается в том, что вам не нужно использовать или устанавливать другое программное обеспечение для сжатия файлов, а ваш файл 3ds max по-прежнему находится в формате dot MAX, а не в другом формате.

Создание экземпляров

Если по сцене разбросаны одинаковые объекты, лучше использовать экземпляр, а не копию. Используя экземпляры, вы в основном указываете 3ds max сохранять геометрию объекта один раз в памяти, но отображать ее несколько раз. Помимо влияния на использование оперативной памяти и время рендеринга, также большое влияние оказывает размер файла. Давайте посмотрим на этот пример.

В этой сцене у меня есть эти 1000 чайников, это редактируемые полиобъекты, и все они независимые объекты, то есть они не являются экземплярами. Когда я сохраняю файл, у меня размер файла 83 МБ.

Сейчас! у нас такая же настройка сцены с 1000 редактируемыми объектами чайника, но сейчас все они являются экземплярами друг друга. Когда я сохраняю файл, он занимает всего около двух мегабайт! Огромная разница, если вы работаете с чрезвычайно большим количеством объектов в вашей сцене. Это связано с тем, что, опять же, как я объяснял ранее, экземпляры позволяют 3ds max сохранять информацию о геометрии только один раз, хотя отображать ее несколько раз.

Хорошо, а теперь как мы можем создавать экземпляры? Мы создаем их при клонировании объектов. Допустим, мы хотим иметь много деревьев из 1 объекта дерева. Просто нажмите, чтобы выбрать его, и, удерживая клавишу Shift, переместите его в другое место. Теперь посмотрите на вариант, который у нас есть копия, экземпляр и ссылка. Если геометрия дерева будет идентична от одного к другому. Мы всегда хотим использовать «экземпляр», а не «копировать».

Позже мы можем без проблем масштабировать каждый экземпляр отдельно, поворачивать или перемещать его. Каждый экземпляр имеет свою уникальную трансформацию. Таким образом, мы можем использовать это как наше преимущество, мы можем перемещать и немного поворачивать их и задавать разные значения масштаба, чтобы у нас было больше вариаций, и сцена выглядела более естественно. Существуют скрипты и плагины, которые могут сделать это за нас, но это будет для другого урока, ин-ша-Аллах.

Прокси

Хорошо! Наше следующее обсуждение в этом руководстве по 3ds Max посвящено прокси. Давайте сначала определим, что такое прокси. с точки зрения 3D-анимации; proxy — это фиктивный объект в нашей сцене, используемый для представления реальной 3D-модели из внешних источников. Мы используем прокси обычно вместе с инстансированием. Поэтому мы используем его для вещей, которые повторяемы в нашей сцене, и используем их снова и снова для разных проектов. Например, в проектах архитектурной визуализации мы используем прокси для 3D-деревьев, 3D-людей или толпы, автомобилей и т. д. Обычно мы устанавливаем прокси для отображения в окнах просмотра в виде объектов с низким разрешением, таких как прямоугольники или облака точек, но когда вы нажимаете кнопку рендеринга, они отображаются как исходные объекты с высоким разрешением. Таким образом, прокси используется в основном для экономии оперативной памяти, но он также очень хорошо работает для экономии места на жестком диске.

Чтобы было понятнее? Допустим, у нас есть файл 3ds max, внутри него сцена с множеством 3d объектов, необходимых для готового проекта. Теперь общий размер файла 3ds max составляет 100 МБ, это число только для примера.

С помощью прокси мы можем вынуть геометрию типа дерева номер 1, поместить в папку библиотеки и заменить объект в сцене прокси-объектом, затем мы делаем то же самое с типом дерева номер 2 и так далее и тому подобное. А потом убираем модели машин и людей и снова заменяем их прокси. Хорошо.

Теперь эта установка будет иметь большие преимущества: во-первых, размер файла 3ds max значительно уменьшился.И затем Если позже мы сохраняем файл на версию 2, затем 3 и так далее; эффект выгоды будет умножен, и будет сохранено больше места на жестком диске, потому что нам не нужно дополнительное место на диске для повторного сохранения этих объектов. А потом… если у нас есть новый проект, в котором используются те же библиотечные объекты деревьев, автомобилей и 3D-людей, что и раньше. Мы просто создаем прокси из этих файлов внешней библиотеки. Как видите, использование прокси в ваших проектах может дать вам массу преимуществ, и одно из них — экономия дискового пространства вашей системы.

Хорошо, следующий вопрос: "Как мы можем создать прокси?" В основном прокси - это технология, предоставляемая механизмами рендеринга. Поэтому, если вы работаете с Mental Ray, вы можете создать прокси-сервер Mental Ray. Если вы используете VRay, вы можете создать прокси VRay. Или, если вы, как и я, выбираете средство визуализации Corona, вы можете создать прокси Corona. Я считаю, что у каждого движка рендеринга есть свой способ создания прокси. Я не буду вдаваться в технические подробности того, как создать этот прокси, достаточно, чтобы мы увидели общую картину и поняли, почему прокси в настоящее время являются важной частью рабочего процесса компьютерной графики.

Видеоурок

Мой курс Udemy

Если вы хотите изучить 3ds max с нуля, вам не нужен предварительный опыт и вы сможете создать эту интерьерную сцену. Обязательно ознакомьтесь с моим курсом Udemy: 3d визуализация для начинающих. У меня есть 50% скидка для вас.

Важно свести размер файла созданного приложения к минимуму, особенно для мобильных устройств или магазинов приложений, в которых установлены ограничения по размеру. Первым шагом в уменьшении размера является определение того, какие активы вносят в него наибольший вклад, потому что эти активы являются наиболее вероятными кандидатами на оптимизацию. Эта информация доступна в журнале редактора сразу после того, как вы выполнили сборку. Перейдите в окно консоли (меню: «Окно» > «Основные» > «Сокращение игровой консоли»
См. в глоссарии), щелкните маленькую раскрывающуюся панель в правом верхнем углу и выберите «Открыть журнал редактора».

Журнал редактора сразу после сборки

В журнале редактора содержится сводная информация об Активах с разбивкой по типам, а затем перечислены все отдельные Активы в порядке их вклада. Как правило, такие вещи, как текстуры, звуки и анимация, занимают больше всего памяти, в то время как скрипты — фрагмент кода, который позволяет вам создавать свои собственные компоненты, запускать игровые события, изменять свойства компонентов с течением времени и реагировать на ввод пользователя любым способом. Дополнительная информация
См. в Глоссарии, Уровни и шейдеры Программа, работающая на графическом процессоре. Дополнительная информация
См. в глоссарии обычно оказывают наименьшее влияние. Заголовки файлов, упомянутые в списке, не являются активами — на самом деле это дополнительные данные, которые добавляются в «сырые» файлы активов для хранения ссылок и настроек. Заголовки обычно очень мало влияют на размер ресурса, но значение может быть большим, если у вас много больших ресурсов в папке ресурсов.

Журнал редактора помогает определить ресурсы, которые вы, возможно, захотите удалить или оптимизировать, но прежде чем начать, вам следует учесть следующее:

Unity перекодирует импортированные активы в свои собственные внутренние форматы, поэтому выбор типа исходного актива не имеет значения. Например, если у вас есть многослойная текстура Photoshop в проекте, она сглаживается и сжимается перед построением. Экспорт текстуры в виде файла .jpg не влияет на размер сборки, поэтому при разработке следует придерживаться наиболее удобного для вас формата.

Unity удаляет большинство неиспользуемых ассетов во время сборки, поэтому вы ничего не получите, удалив ассеты из проекта вручную. Единственные ассеты, которые не удаляются, — это скрипты (которые в любом случае очень маленькие) и ассеты в папке «Ресурсы» (поскольку Unity не может определить, какие из них нужны, а какие нет). Имея это в виду, вы должны убедиться, что в папке «Ресурсы» находятся только те активы, которые вам нужны для игры. Возможно, вы сможете заменить активы в папке «Ресурсы» на AssetBundles — это означает, что Unity загружает активы динамически, тем самым уменьшая размер проигрывателя.

Предложения по уменьшению размера сборки

Текстуры

Текстуры обычно занимают больше всего места в сборке. Первым решением этой проблемы является использование сжатых форматов текстур. Формат файла для обработки текстур во время рендеринга в реальном времени аппаратным обеспечением для трехмерной графики, таким как видеокарта или мобильное устройство. Подробнее
см. в глоссарии. Дополнительные сведения см. в документации по сжатию текстур для конкретных платформ.

Если это не уменьшит размер файла в достаточной степени, попробуйте уменьшить физический размер (в пикселях) изображений текстуры. Чтобы сделать это без изменения фактического исходного содержимого, выберите текстуру в представлении «Проект», а в окне «Инспектор» — окно Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта, что позволяет вам просматривать и редактировать значения. Дополнительная информация
См. в окне Глоссарий, уменьшите максимальный размер. Чтобы увидеть, как это выглядит в игре, увеличьте GameObject. Основной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Дополнительная информация
См. в глоссарии, где используется текстура, а затем отрегулируйте максимальный размер, пока он не начнет выглядеть хуже в сцене. Сцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Дополнительная информация
См. в режиме просмотра глоссария. Изменение максимального размера текстуры не влияет на ваш объект текстуры, а только на его разрешение в игре.

Изменение максимального размера текстуры не влияет на ваш объект текстуры, а только на его разрешение в игре

По умолчанию Unity сжимает все текстуры при импорте. Чтобы ускорить рабочий процесс в редакторе, перейдите в Unity Mesh Основной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Дополнительная информация
См. в глоссарии сжатие Метод хранения данных, уменьшающий объем требуемого дискового пространства. См. Сжатие текстур, Сжатие анимации, Сжатие аудио, Сжатие сборки.
См. Глоссарий, выберите сетку, затем в окне инспектора установите для параметра «Сжатие сетки» значение «Низкое», «Среднее» или «Высокое». Сжатие сетки и анимации Метод сжатия данных анимации для значительного уменьшения размера файла без заметного снижения качества движения. Сжатие анимации — это компромисс между экономией памяти и качеством изображения. Дополнительная информация
См. в глоссарии использует квантование, что означает, что он занимает меньше места, но сжатие может внести некоторые неточности. Поэкспериментируйте с допустимым уровнем сжатия для ваших моделей.

Обратите внимание, что при сжатии Mesh создаются только файлы данных меньшего размера, и при этом не используется меньше памяти во время выполнения. Ключевой кадр анимации Кадр, отмечающий начальную или конечную точку перехода в анимации. Кадры между ключевыми кадрами называются промежуточными.
См. в глоссарии. Сокращение создает файлы данных меньшего размера и использует меньше памяти во время выполнения; как правило, он всегда должен быть включен. См. документацию по анимационным клипам Данные анимации, которые можно использовать для анимированных персонажей или простых анимаций. Это простое «единичное» движение, такое как (один конкретный пример) «Простояние», «Ходьба» или «Бег». Дополнительная информация
Дополнительную информацию см. в Глоссарии.

Читайте также: