чем открыть расширение 3ds
Как открыть 3DS файлы? 4 простых метода решения таких проблем
Когда вы сталкиваетесь с проблемой с неизвестным файлом 3DS и не знаете, как открыть такой файл, первый шаг, который вы должны сделать, это определить причину данной проблемы. Мы покажем вам, как решить наиболее распространенные проблемы с файлами 3DS и как их решить, в 4 простых шага.
3DS расширение файла
Как открыть файл 3DS?
В некоторых случаях проблемы могут возникнуть при попытке открыть файлы 3DS. Приведенные ниже шаги могут быть полезны для решения таких проблем.
Шаг 1 – Убедитесь, что файл правильно связан с выбранным программным обеспечением
Первое, что пользователь должен сделать, это связать приложение с файлами 3DS. Может случиться так, что даже если в системе установлено приложение, поддерживающее файлы 3DS, оно не будет правильно связано с этим форматом файла. Это можно легко исправить, связав программу с файлами 3DS. Чтобы связать такие файлы с данным приложением, пользователь должен открыть меню файлов (щелкнув правой кнопкой мыши по файлу) и выбрав «Открыть с помощью». Список предлагаемых приложений будет отображаться в верхней части меню. Затем выберите приложение и подтвердите свой выбор, установив флажок «Всегда использовать выбранное приложение для открытия файлов такого типа». Подтвердите свой выбор, нажав ОК.
Чтобы открыть 3DS файл, сфокусируйтесь на шагах 1 и 2
В большинстве случаев для открытия файлов с расширением 3DS должно быть достаточно следующих инструкций на шаге 1 и 2. Прежде чем предпринимать следующие шаги, протестируйте все программы, перечисленные ниже.
Шаг 2 – Установите программу, которая поддерживает 3DS файлы
Если случится так, что раздел с предлагаемыми программами будет пустым, наиболее вероятно, что в системе не будет установлена программа, поддерживающая файлы 3DS. Выберите программу из следующего списка и установите ее:
3DS – Изображение Autodesk 3D Studio (Autodesk 3D Studio Scene)
Расширение 3DS
Чем открыть файл 3DS
В Windows: Autodesk 3ds Max, IMSI TurboCAD Deluxe, Trimble SketchUp, MeshLab, MAXON Cinema 4D, Electric Rain Swift 3D, pmG messiahStudio, CADSoftTools ABViewer, Blender
В Mac OS: IMSI TurboCAD Deluxe, Trimble SketchUp, Cheetah3D, MeshLab, MAXON Cinema 4D, Electric Rain Swift 3D, pmG messiahStudio, SketchUp
Описание расширения 3DS
Популярность:
Разработчик: Autodesk
Расширение 3DS связано программой 3D Studio Max 3D. Файл 3DS содержит атрибуты, конфигурации видовых экранов, растровые ссылки, данные для сглаживания групп, данные сетки, местоположение камеры, а также информацию об освещении и данные анимации объектов.
3DS – это бинарный формат файла. Формат основан на блоках (chunk), причем каждый раздел данных, встроен в блок, который содержит идентификатор блока и длину данных (чтобы обеспечить расположение следующего основного блока), а также сами данные. Это позволяет парсерам пропускать блоки, которые они не распознали, и позволяет расширить формат. Блоки образуют иерархическую структуру, похожую на дерево XML.
MIME тип: application/x-3ds, image/x-3ds
HEX код: 4D 4D
ASCII код: MM
Другие программы, связанные с расширением 3DS
- Файл эмулятора Nintendo 3DS (Nintendo 3DS ROM)
3DS – это файл игры, который используется на эмуляторах для Nintendo 3DS, и содержит копию данных с оригинального картриджа с игрой и может быть воспроизведен на ПК с поддержкой программного обеспечения эмуляции. Относится к разделу Игры.
Популярность:
Файлы формата 3DS открываются специальными программами. Существует 2 типа форматов 3DS, каждый из которых открывается разными программами. Чтобы открыть нужный тип формата, изучите описания файлов и скачайте одну из предложенных программ.
Чем открыть файл в формате 3DS
Формат 3DS градируется на три основных исполнения:
Стандартный 3DS файл содержит набор структурированных данных, которые необходимы для полноценного представления 3D-объекта:
Дополнительно 3DS расширение может включать индивидуальные настойки пользовательского интерфейса, например, конфигурацию окна для визуализации.
Данный формат неприхотлив к конвертации, и, с помощью интегрированного транслятора данных, может быть успешно преобразован (без потери данных и с сохранением геометрии модели) в большое множество расширений, предназначенных для обработки форматирования трехмерных моделей, например, blend, dae, dwg, dxf, fbx, ma, max, mb, и obj.
Данные форматы поддерживаются САПР различного уровня, включая популярные AutoCAD, Unigraphics и SolidWorks.
Стандартный 3DS файл структурирован блочным образом (разбит на блоки данных), в которых информация подается “порциями”. Такие порции хранят свойства формы и параметры визуализации, формирующие 3D-сцену.
Необходимо также отметить, что преемственником 3DS является расширение MAX, используемое в современной версии графического редактора 3ds Max.
Ввиду того, что все игровые программы Nintendo имеют авторскую защиту, незаконное хранение и распространение 3DS образов может вести к серьезным административным взысканиям.
Программы для открытия 3DS файлов
В зависимости от своего практического назначения и конкретной модификации, 3DS расширение может быть сгенерировано и открыто для редактирования с использованием следующих программных комплексов:
Для случаев, когда 3DS файл представляет собой набор структурированных данных, которые необходимы для полноценного представления 3D-объекта (тип геометрии, позиционирование вершин, уровень сглаживания граней и.т.д), форматирование расширения можно выполнить с помощью:
Когда 3DS файл применяется в качестве образа постоянного записывающего устройства (ПЗУ/ROM) для лицензионных цифровых картриджей Nintendo 3DS, он может быть сгенерирован с помощью специального программного обеспечения с ограниченным доступом (пиратский софт), не предназначенного для легального распространения.
Если 3DS формат используется в качестве настройщика просмотра изображений для молекулярно-химических соединений, то для редактирования файла можно использовать программу ACD/3D Viewer.
Если при открытии расширения 3DS возникает ошибка, причины могут заключаться в следующем:
Конвертация 3DS в другие форматы
Несмотря на то, что 3DS расширение имеет несколько основных исполнений и модификаций, его конвертация в другие форматы поддерживается только в случае, кода 3DS – трехмерная модель объекта в Autodesk 3ds Max.
Как уже отмечалось ранее, 3DS имеет возможность интеграции со многими системами автоматизированного проектирования (включая AutoCAD, Unigraphics, SolidWorks и.т.д).
С помощью внутреннего транслятора геометрических данных, 3DS стандарт может быть конвертирован:
При этом может быть использован не только интегрированный в CAD-систему конвертер, но и внешний Интернет-ресурс, например, Yobi3d.
Во всех остальных случаях преобразование формата не поддерживается. Попытки конвертации расширения в другой формат могут не только не дать никаких практических результатов, но и повредить исходный файл.
Почему именно 3DS и в чем его достоинства?
3DS расширение не является востребованным среди обычных пользователей, однако оно эффективно применяется в некоторых узкоспециализированных областях.
3DS формат может выступать в качестве:
Формат 3D-изображения, используемый Autodesk 3D Studio. Содержит данные сетки, атрибуты материалов, ссылки на побитовую графику, сглаженные сгруппированные данные, конфигурации окна просмотра, место размещения камеры и информацию освещения. Может также включать в себя анимационные данные объекта.
Файлы 3DS содержат блоки данных, называемых «порциями», которые включают в себя ID и описание длины. Порции хранят формы, информацию об освещении и просмотре, вместе они образуют трехмерную сцену.
Чем открыть файл в формате 3DS (3D Studio Scene)
Некоторую общую информацию о формате файла можно прочитать, например, в википедии или в demo.design 3D programming FAQ, однако это всё теория (причём, написанная не без ошибок), а здесь мы поговорим о практике, причём применительно к Java и Android.
Чтение файла
По-хорошему, это должен был быть отдельный класс, унаследованный от BufferedInputStream, но в данном случае мне было удобнее делать именно так.
Вот теперь можно приступать к чтению чанков (chunks). Для начала — главный:
Структура загрузчика в целом достаточно однородна: для каждого чанка — своя функция, содержащая информацию о тех под-чанках, которые могут встретиться. Всю нужную нам информацию мы будем загружать, не нужную — перепрыгивать, перемещаясь сразу к следующему чанку. Защита от некорректных файлов тут минимальна.
Материалы
Блок материалов идёт обычно первым, потому как на него потом ссылается блок треугольников.
Материал состоит из нескольких цветов (ambient, diffuse, specular), имени материала, параметров блика, имени текстуры. Как уже отмечено выше, текстуры здесь не грузятся, но это легко добавить при необходимости.
3D-модели
Всю информацию о вершинах мы свалим в один массив float[], храня подряд восемь вещественных чисел для каждой вершины (по три на координаты и нормаль, плюс две текстурных координаты). Пару строчек из прошлой статьи надо будет изменить:
Здесь число 24 поменялось на 32, так как раньше текстурных координат не было, а теперь есть.
Все координаты грузятся функцией ChunkVector, которая заодно меняет местами оси Y и Z:
Ну и вообще, для некоторых стандартных типов, таких как цвета или проценты, используются свои функции.
Список треугольников надо обрабатывать особым образом: во-первых, к граням (а не к вершинам) применяются материалы, а во-вторых, именно по граням можно определить нормали к вершинам. Для этого вычисляем нормаль к каждой грани, прибавляем её к каждой из трёх вершин, после чего (уже в конце, после загрузки всех треугольников) нормализуем. Пачка функций, немного математики — и готово.
Ещё одна особенность списка граней заключается в том, что после чанка с именами материалов могут остаться грани, к которым материал не применили. Для них надо при отрисовке использовать дефолтный материал, примерно так:
Источники света
Бывают всенаправленные и направленные. Про направленные источники света, опять же, пока не будем говорить (хотя совсем несложно написать шейдер, учитывающий направленность), а вот о бликах скажу пару слов. Рассмотрим шейдер для модели из прошлой статьи, и добавим к нему несколько строчек:
Собственно, добавилось вычисление и применение NdotH. uShininess здесь и shininess в Material3D имеют разные размерности, точное соответствие между ними я не подбирал (опять же, если кому-нибудь понадобится — это легко сделать).
Анимация
Ещё один любопытный момент состоит в том, что надо держать в голове две матрицы: преобразование для потомка (result) и преобразование для модели (world). Первая применяется в цепочке иерархии, вторая — при отрисовке модели. В каком же порядке всё это собирается?
Подразумевается, что преобразования применяются к вершине в порядке «справа налево» (как принято в OpenGL). Здесь trmatrix — это матрица, обратная той, что была в чанке 3D-модели. Итого, код вычисления преобразования для заданного момента времени (при загрузке все номера кадров преобразовывались в вещественные числа от 0 до 1):
Всё это было получено путём проб и ошибок на особо изощрённых примерах, но за абсолютную точность и корректность я поручиться всё равно боюсь, слишком уж мощно это всё. И это ещё без использования сплайнов!
Кроме того, цикл по моделям из прошлой статьи теперь выглядит немного иначе:
Далее всё так же, как раньше.
Заключение
Вот и всё, для подавляющего большинства случаев этих знаний вполне достаточно, ну а самые больные грабли я здесь упомянул и обошёл, как мог. Если добавить загрузку текстур, то всё станет совсем хорошо, но это уж я оставлю в качестве домашнего задания.
Ну и, собственно, обещанные готовые исходники: Scene3D (структуры данных) и Load3DS (загрузчик). Обратите внимание, что файлы грузятся из корня карточки памяти («/sdcard/»), настоятельно рекомендую поменять это на что-нибудь более разумное.
Update: Раз уж столько копий сломано о нормали — добавил в исходники код работы с группами сглаживания. Индексные буферы остались 2-байтными, так что остерегайтесь переполнения!
Открытие 3DS файлов
Главная роль файлового расширения .3ds связана с типом и форматом файлов «3D-объект Autodesk 3ds Max» (.3ds). Исторически 3DS был родным форматом старой программы трехмерного моделирования Autodesk 3D Studio для MS-DOS, и его поддержка была сохранена в хорошо известном преемнике 3D Studio — 3ds Max. Несмотря на свои ограничения, 3DS получил широкое распространение в качестве универсального формата и даже стал своего рода стандартом обмена 3D-моделями.
Файл .3ds содержит полное представление 3D-объекта или сцены. Это бинарный файл с магическим числом «MM», в котором в виде упорядоченных сегментов хранятся данные треугольных сеток вершин, материалы и текстуры, а также карты освещенности и отражений. Поскольку формат 3DS понимается практически всеми программами, имеющими отношение к 3D, такие файлы можно открыть/импортировать с помощью целого ряда средств. В Интернете существуют большие библиотеки как бесплатных, так и коммерческих 3D-моделей в формате 3DS. Кроме того, множество автономных и встроенных конвертеров позволяет преобразовывать файлы .3ds в другие 3D-форматы, и наоборот. По причине того, что различные форматы имеют разные возможности и отличные друг от друга структуры данных, не все из них могут быть эквивалентно преобразованы в 3DS.
Кроме того, расширение .3ds встречается в отношении популярных портативных игровых консолей со стереоскопическим экраном Nintendo 3DS производства Nintendo. В данном случае расширение .3ds присваивается файлам с образами ПЗУ (ROM) оригинальных игровых картриджей Nintendo 3DS, сохраненным в специальном двоичном формате. Смысл файлов .3ds состоит в том, чтобы играть в игры Nintendo 3DS без картриджей, используя консоли Nintendo 3DS с модифицированным (программно взломанным с помощью специальных картриджей) системным ПО, а также эмуляторы. Поскольку содержимое всех игр Nintendo 3DS защищено авторским правом, изготовление и распространение образов ПЗУ .3ds в большинстве стран является незаконным.
Еще одна роль расширения .3ds связывает его с типом файлов «Настройки просмотра ACD/3D Viewer» (.3ds). ACD/3D Viewer — бесплатная утилита от Advanced Chemistry Development (ACD/Labs) для визуального представления молекулярных структур химических соединений и просмотра файловых форматов ACD/Labs. В данном контексте файл .3ds служит для сохранения текущих настроек вида, цвета, а также атомных радиусов, которые можно затем применить, повторно открыв файл .3ds в ACD/3D Viewer, или установить в качестве настроек по умолчанию.