PDA

Просмотр полной версии : Рип - оптимизация


TEST

Оlеg75
03.07.2015, 23:41
В этой теме попробую описать процесс оптимизации авэшных построек.
Всё это непосредственно связано с идеей, высказанной в этом посте http://forum.activeworlds.ru/showthread.php?451-Браузер-на-Unity-3D&p=3117#post3117

Итак, буду использовать программы 3D Ripper DX 1.8, 3D Max 2009, Visual Author 7.1, Unity3D 5.1 (иногда 5.0), ну и разумеется, наши миры вечной версии 5.1. Да, и нужно ещё установить старый DirectX 9, иначе 3D Ripper отказывается без него работать.

Поехали...

Оlеg75
03.07.2015, 23:59
Первым делом открываем 3D Ripper. Пути для директорий со сценами, текстурами и шейдерами я оставил по умолчанию, но каждый может поменять их на своё усмотрение.

http://i.imgur.com/YBIAm0W.png

====================================

Теперь меняем кое какие параметры. В верхнюю строку с помощью кнопки Обзор (значок папки справа от строки) вносим путь к нашему браузеру миров. Потом ставим две верхние галочки.

http://i.imgur.com/vdMLWQ4.png

====================================

Потом внизу жмём кнопку Launch. После этого запускаются наши миры, но за всем, что мы там делаем, теперь зорко следит 3D Ripper, о чём сигнализирует в 3D окне миров вверху слева жёлтая строка.

http://i.imgur.com/L7ygry8.png

Оlеg75
04.07.2015, 01:26
Теперь при каждом запуске 3D Ripper можно просто жать на кнопку Launch и попадать в миры. Это будет работать до тех пор, пока не поменяете путь в верхней строке для запуска какой нибудь другой программы с трёхмерной графикой или игры.

Итак, запустили таким образом миры, теперь нужно усвоить главное. Недостаточно просто прийти на нужное место и нажать F12. Сначала ставим в меню Телепорт в браузере миров галку на команде "Запомнить позицию при выходе". Находим нужное место в 3D пространстве. Выходим из миров. Это нужно для того, чтобы камера установилась ровно, и риппер без особых перекосов заснял окружающую сцену. Вручную же поставить аватар на ноги ровно практически невозможно.

Для примера я зашёл в мир Aniwhere, переместился по координатам 39.86N 12.55E 17.08a 334 на место, именуемое в местном каталоге телепортов как "Вершина мира"

http://i.imgur.com/p01k66a.jpg


Выбираем наиболее подходящий ракурс. Выходим из мира.

Оlеg75
04.07.2015, 01:35
Снова запускаем через 3D Ripper браузер миров. Так как была запомнена точка выхода, появляемся на том самом месте, откуда вышли. Но теперь камера (то есть всё, что мы видим) расположена ровно, а точнее перпендикулярно горизонтальной плоскости мира.

Жмём F12. В левом верхнем углу сцены жёлтая надпись на некоторое время сменится информацией о том, что идёт захват 3D-сцены. Чем "тяжелее" сцена, тем дольше будет длиться захват, иногда это может быть несколько минут.

Всё, теперь всё, что мы рипанули, раскидывается по папкам соответственно путям, указанным в программе. Миры пока можно закрыть, теперь будем работать с 3D Max'ом

Оlеg75
04.07.2015, 02:09
Запускаем 3D Max. Жмём File > Import... Выбираем папку Frame с нашей захваченной сценой. Формат файла со сценой имеет расширение 3dr

http://i.imgur.com/WGi4QSk.png

=================================

Жмём "Открыть". Появится вот такое окно:

http://i.imgur.com/hpGKVgw.png

=================================

В поле Recommended Values выбираем из списка предложенный вариант. Обычно там всего один вариант, иногда бывает больше. Жмём Ок.

http://i.imgur.com/BCLFRna.png

=================================

Сцена может загружаться достаточно долго.

http://i.imgur.com/YhIHLZ7.png

Оlеg75
04.07.2015, 02:17
Всё, сцена загрузилась. Далее пойдёт оптимизация сцены - удаление лишних полигонов, поверхностей, текстур и даже объектов. Делать это можно как в самом 3D Max, так и в некоторых других 3D программах. Я для обработки объектов использую программу Visual Author.

http://i.imgur.com/askZyFt.png

Оlеg75
04.07.2015, 02:32
В 3д максе выбираем Файл - Экспорт, указываем папку, куда будем складывать сцены, выбираем формат obj и даём файлу любое имя. Жмём Сохранить. Появится такое окно.

http://i.imgur.com/JjWJgF8.jpg

=====================================

Настройки менять не надо, жмём Export. Процесс экспорта будет отображаться в таком окне:

http://i.imgur.com/ihwrlRt.png

================================

Во время экспорта может вылезти окно с информацией о том, что не найдена текстура 00000000.dds Нажимаем Skip.

http://i.imgur.com/55IljGf.png

==================================

Когда всё завершится, нужно закрыть окно нажатием кнопки DONE

http://i.imgur.com/oJ1dzcn.png

==================================

Закрываем 3D Max.

Оlеg75
04.07.2015, 02:50
Теперь открываем получившийся obj файл в программе Visual Author. Как обрабатывать объекты в этой проге я расскажу позже.

http://i.imgur.com/zIln9lU.png

http://i.imgur.com/Ss80iVR.jpg

http://i.imgur.com/rS0HfAq.jpg

http://i.imgur.com/L35wQCS.jpg

Оlеg75
06.07.2015, 23:29
Поехали дальше. Будем работать с конвертером и обработчиком 3D-моделей SAP Visual Enterprise Author 7.1
Раньше эта программа называлась Deep Exploration.

Запускаем программу. В данном случае у меня открытие файлов obj назначено сразу через Visual Author, поэтому при клике на файле сразу запускается программа. Из предложенных опций выбираем Standard (Стандарт), а язык интерфейса уже каждому как удобно.

http://i.imgur.com/om2TEww.png http://i.imgur.com/WvemsBS.png

==================================

Открывшийся файл в программе будет выглядеть так:

http://i.imgur.com/WbDjTBH.png

==================================

Тек как работаем только с одним файлом, и не вставляем в сцену другие объекты из файлов на компе, можно дерево каталогов и файлов скрыть. Для этого жмём Enter:

http://i.imgur.com/bpJZum5.png

Оlеg75
06.07.2015, 23:43
Для работы с объектом в верхних вкладках выберем вкладку Оптимизировать. Благодаря этому ниже откроется нужный нам набор инструментов

http://i.imgur.com/S0Lb0Ku.png

=================================

Сбоку слева откроем вкладку Информация и посмотрим сведения об объекте. Внизу, там где написано Грани - это количество полигонов.

http://i.imgur.com/FWMvURj.png

Оlеg75
06.07.2015, 23:51
Теперь немного об управлении сценой.

1. Левая кнопка мыши - поворот всей сцены
2. Правая кнопка мыши - приближение или отдаление сцены. Чтобы точнее приблизить или отдалить - достаточно навести курсор на нужный участок объекта на сцене.
3. Зажатое колесо мыши - перемещение сцены по плоскости экрана
4. Прокрутка колеса мыши - грубое приближение - отдаление сцены.

Благодаря этому достаточно быстро подходим к строению на горе.

http://i.imgur.com/Nrf6z0j.jpg

Оlеg75
07.07.2015, 00:03
Ну а теперь по быстрому пытаемся что-либо оптимизировать. Заглядываем под здание, и видим, что там много лишнего

http://i.imgur.com/I3AdCy1.jpg

=====================================

Выделяем какой нибудь объект кликом левой кнопки (в данном случае это подобъект obj файла - кстати соответствует объекту в мире Anywhere). И видим, что он выступает также над землёй, значит его удалять полностью нельзя. Кстати при зажатом Ctrl можно выделять несколько объектов.

http://i.imgur.com/JMekEsR.jpg

http://i.imgur.com/AnAUaQl.jpg

Оlеg75
07.07.2015, 00:11
Тем не менее это безобразие под землёй желательно удалить, что же делать? Снимаем выделение Ctrl+D (убирает выделение везде). Выбираем меню Отображение - Прочее - Прозрачный каркас.

http://i.imgur.com/iB9LaW1.jpg

=====================================

И видим сетку, но при этом сам объект тоже виден.

http://i.imgur.com/chNqsGe.jpg

Оlеg75
07.07.2015, 00:19
Видно, что стена состоит из минимального количества полигонов. Попробуем выделить отдельный полигон. Для этого жмём кнопку (в виде куба) "Выбрать многоугольник сетки". Остальные пиктограммы кубиков - это выделение поверхностей, элементов мешей, и даже отдельных вершин.

http://i.imgur.com/XagmUsY.jpg

====================================

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

http://i.imgur.com/ABLsveh.jpg

Оlеg75
07.07.2015, 00:44
Поэтому решаем вопрос кардинально. Выделяем несколько объектов и поверхность горы. Выделение происходит в обычном режиме (отображается красным). Для этого обязательно отключаем кнопки в виде кубов.

http://i.imgur.com/5iWUwY4.jpg

====================================

Далее идём во вкладку Сцена в окне вверху слева.
В этой вкладке видим один из выделенных объектов. Остальные выделенные объекты в списке не видны


http://i.imgur.com/6fQCuEs.jpg

====================================

Жмём правой кнопкой мыши по одному из выделенных объектов в списке во вкладке Сцена. И выбираем команду Создать группу. Теперь все выделенные объекты оказались в группе.

http://i.imgur.com/43wv4Z1.jpg

====================================

Далее выделяем группу в списке, для этого достаточно кликнуть ПКМ по её названию и нажать команду Выбрать подобъекты, потом снова жмём правой кнопкой мыши по этой группе и выбираем Обратить выделение. Выделится всё, кроме группы. Теперь уже кликаем ПКМ по одному из новых выделившихся объектов и снова выбираем Создать группу. Появится группа под названием Группа1. Кстати группы можно переименовывать

http://i.imgur.com/DTPb1Xb.jpg

===================================

Ну вот, осталось снять галочку с названия второй получившейся группы, и все объекты кроме первоначально выделенных объектов и поверхности горы скроются. Скроются, но не удалятся, и их можно в любой момент снова показать.

http://i.imgur.com/lZoOFi9.jpg

Оlеg75
07.07.2015, 01:11
Сейчас будем срезать лишние куски, резать будем сами полигоны.
Выбираем Инструмент "Разрез"

http://i.imgur.com/CSNQyYM.jpg

=================================

В левом нижнем окне выбираем вкладку Ассистент инструментов.

http://i.imgur.com/EvYCJAt.jpg

=================================

Смотрим на сцену. Появилась коробка

http://i.imgur.com/ozmCoxZ.jpg

=================================

В Ассистенте инструментов включаем галочку Разрезать по области. Теперь можно двигать любую сторону коробки. Наша задача - заключить в коробку только те части объектов, которые нужно удалить. Наводим стрелки на нужные стороны коробки и двигаем коробку, сжимая её до нужного положения и нужных размеров. Так как у нас сложная форма, придётся куски объектов заключать в коробку частями

http://i.imgur.com/dyvJ2fM.jpg

http://i.imgur.com/SlEKxnl.jpg

=================================

В Ассистенте инструментов жмём Вырезать. В общем как-то так...

http://i.imgur.com/TAMNnck.jpg

Оlеg75
07.07.2015, 01:14
В режиме выделения полигонов видно, что разрез проходит именно по самим полигонам.

http://i.imgur.com/t7a3WLG.jpg

Предположим, что объекты мы оптимизировали. Полученных знаний думаю достаточно для дальнейшего самостоятельного копания в программе. Единственное, о чём ещё скажу - это настройки сохранения.

Оlеg75
07.07.2015, 01:30
Для сохранения в формате obj жмём Файл - Экспорт. Выбираем формат, выбираем папку для сохранения, при первоначальных настройках программы (если что-либо сохраняете впервые), жмём кнопку Параметры...

http://i.imgur.com/sj2958K.jpg

=================================

В появившемся окне выбираем вкладку Текстурные карты. Ставим переключатель Преобразовать текстуру, и выбираем просто JPEG. Включить флажок Установить исключения для форматов текстур и выбрать png. Таким образом все исходные png текстуры объекта не будут преобразовываться в формат jpeg. Жмём Ок и Сохранить. Да, кстати, не забываем сделать видимыми объекты из той группы, с которой мы сняли галочку.

http://i.imgur.com/AWwZSHY.jpg

===================================

Всё, в дальнейшем уже будут рассказывать как перенести полученную сцену на движок Unity3D.

Оlеg75
07.07.2015, 01:32
Да, кстати, в данной последовательности действий есть кое-какие ошибки, связанные с прозрачностью текстур, в дальнейшем буду искать решение ошибок и описывать это на форуме.

Оlеg75
07.07.2015, 23:32
Ну что ж, исправление ошибок оставим на потом, а сейчас начнём перебрасывать рип из миров на движок Unity. Для начала нужно скачать установщик этой программы с официального сайта https://unity3d.com/ru

Начиная с пятой версии оба варианта Юнити (и платный и бесплатный) поставляются со всем имеющимся функционалом. Ограничения бесплатной версии для нас несущественны. Это, например, отсутствие возможности вставить свой заставочный экран, отсутствие доступа к бета-версиям, нет доступа к исходному коду и т. д.

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

http://i.imgur.com/YyIt9eX.jpg

Оlеg75
11.07.2015, 23:36
Ладно, как понял нафиг это кому-то вообще нужно)

TAG.Hosting — Хостинг сайтов и Регистрация Доменов