Interior Craft : Настройка квартиры в 3DS Max

🔍Поиск по всей документации — мгновенный поиск по 87 страницам

Все дополнительные файлы лежат в репозитории программы:

C:\Interior Craft - Apartment Editor\pikruntimecontent\3DSMAX

Подробнее можно узнать в видео

Запекание Light Map: https://youtu.be/tuc559jWd7A

Запекание Combined Map (не используется): https://youtu.be/C3hecljAURs

1. Действия до запекания

Действия производятся в сцене: “Название вашей квартиры_Vray” (к примеру, “1EM5_6_6_1_T_A_1floor_Vray”). Подробнее про организацию файлов: Организация системы папок проекта

1.1. Импорт

Используя скрипт “ImportScene”, импортируйте квартиру в 3D Studio Max.

В 3D Max должны стоять единицы измерения - сантиметры!!

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

1.2. Редактирование геометрии

Этот этап необходим, если у вас в сцене присутствуют объекты врезающиеся в пол, либо квартира имеет сложную геометрию, которую невозможно создать в ICraft.

◉ Вырезание участков пола под внутрипольным радиатором/душевым трапом

  1. Выделите пол.

  2. Перейдите в режим редактирования полигонов.

  3. Используя инструмент Sliсe Plane, разрежьте пол по границам конвектора.

  4. Удалите ту часть пола, которая находится под конвектором.

◉ Квартира с лестницей: https://dev.pik3d.ru/doc/files/flat_with_stairs/

1.3. Настройка освещения

Источники света для окон и светильников переносятся из программы автоматически.

С помощью Merge импортируйте в сцену из файла “Освещение для запекания”. Vray Sun (если вы его не добавили на этапе создания квартиры в ICraft), DomeLight_Main, DomeLight_Sadows_Highlighting, VRayLight_Tops_Highlighting.

Настройте интенсивность источников света. О принципах освещения можно прочитать: Настройка освещения

DomeLight_Sadows_Highlighting

Источник света DomeLight_Sadows_Highlighting предназначен для осветления теней в узких местах (промежуток между потолком и шкафом, пространство за открытой дверью и.т.д.) При необходимости скоректируйте его интенсивности так, чтобы тени в таких местах стали светлыми, но не слишком. Обратите внимание, что источник света освещает все поверхности.

Light_02.png

VRayLight_Tops_Highlighting

Для равномерного осветления всех верхних поверхностей мебели, расположенных близко к потолку, добавьте в сцену источник света VRayLight_Tops_Highlighting (либо создайте его сами). Расположите источник света чуть ниже уровня потолка ( 0.5 мм), растяните его, так чтобы он покрывал квартиру полностью. Далее в список Exclude добавьте все объекты мебели, верхние поверхнисти которых необходимо осветлить (шкафы, кондиционеры и.т.д.), с параметром Include. Настройте интенсивность источника света, так чтобы верхние поверхности этих объектов были в меру освещены.

Light_01.pngLight_03.png

Для удобства работы со списком Include можно воспользоваться скриптом vrayLightIncluder.ms. Перетащите скрипт во ViewPort, выделите источник света VRayLight_Tops_Highlighting и все объекты, которые необходимо занести в список Include, нажмите в окне скрипта Add Selected to Light(s).

1.4. Камера

Разместите камеру (присутствует в файле “Освещение для запекания”) в нуле по осям X и Y, отредактируйте ее по оси Z, так чтобы квартира полностью помещалась в кадр.

  • Cam_top - для всех квартир

  • Cam_top_terrace - для квартир с террасами и с высотой потолков более 3200 мм.

1.5. Preset

В зависимости от способа запекания текстур выберите подходящий preset (файлы находятся в git репозитории).

Для запекания Light Map используйте preset: “Preset_Bake_Lightmap_Interior_craft_max2021”.

Для запекания Combined Map используйте preset: “Preset_Bake_CombinedMap_Interior_craft_max2021”. (не используется)

1.6. Тестовый рендер

Сделайте тестовый рендер, чтобы убедиться, что интенсивность освещения выставлена правильно.

Обратите внимание, что при запекании Light Map интенсивность источников света необходимо поднимать в ≈1.7 раз по сравнению с запеканием Combined Map.

Если вы не уверены в результате, согласуйте освещение с проверяющим.

1.7. Запекание текстур

Обратите внимание, что настройка Скрываемый в программе Interrior Craft влияет на скрытие объектов в движке. При запекании текстур, чтобы избежать ненужных теней, необходимо вручную скрывать объекты в 3D Max.

Запеките текстуры, использую скрипт “Bake Light”. Подробнее можно узнать: Запекание текстур

2. Действия после запекания

Действия производятся в сцене: “Название вашей квартиры_Site” (к примеру, “1EM5_6_6_1_T_A_1floor_Site”). Подробнее про организацию файлов: Организация системы папок проекта

2.1. Denoiser

Используя утилиту Denoiser, отредактируйте текстуры. Подробнее об утилите можно узнать: Утилита пост-обработки текстур

2.2. Замена текстур

Используя скрипт “ReplaceMaterials”, замените текстуры ранее запеченными.

Важно! Текстуры должны находиться в одной папке со сценой.

Если вы запекали Light Maps

Полная замена текстур:

  1. Запустите скрипт

  2. Поставьте галочку Keep Diffuse Maps

  3. Нажмите Replace Materials

Частичная замена текстур (Замена текстур на определенных объектах)

  1. Выделите объекты, на которых необходимо заменить текстуры

  2. Запустите скрипт

  3. Поставьте галочку Keep Diffuse Maps

  4. Поставьте галочку Selected objects only

  5. Нажмите Replace Materials

Если вы запекали Combined Maps (не используется)

Полная замена текстур:

  1. Запустите скрипт

  2. Нажмите Replace Materials

Частичная замена текстур (Замена текстур на определенных объектах)

  1. Выделите объекты, на которых необходимо заменить текстуры

  2. Запустите скрипт

  3. Поставьте галочку Selected objects only

  4. Нажмите Replace Materials

2.3. Назначение шовного материала

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

2.4. Изменение соединения стен

Преобразуйте соединения внешних/внутренних стен с учетом требований: Согласование интерактива (Пункт 6)

Способ преобразования соединения внешних стен: Частые проблемы и способы их решения (Пункт 1.1.)

2.5. Редактирование текстур

Все манипуляции с текстурой производим в программе Adobe Photoshop.

После редактирования текстуры должны быть сохранены в режиме: RGB, 8 бит/канал

Отредактируйте текстуры Light map так, чтобы на них не было лишних теней, от пропадающих объектов. Текстуры с большими теневыми участками, можно перезапечь со скрытыми объектами, небольшие тени можно удалить или высветлить в Adobe Photoshop.

Подробнее узнать про тени: Согласование интерактива (Пункт 3.2)

  1. Уберите тень от входной двери на текстуре пола. Если в сцене есть балкон, то тень от балконной двери тоже стоит убрать.

  2. Если в сцене присутствует напольный радиатор, тени от ножек надо убрать.

2.6. Настройка геометрии

2.6.1 Редактирование балконов и лоджий

Если в вашей сцене присутствуют остекленные балконы или лоджии, то им необходимо настроить правильное скрытие. Для этого разверните пивоты объектов, относящихся к балкону, в нужную сторону, и пропишите в Object Properties :

{
  "hideableObject": true,
  "backAxis": "y"
}

Обратите внимание, что осью, по направлению которой скрываются объекты, является ось Y (Зеленая стрелка в 3D Studio Max).

Пример скрытия остекленного балкона и лоджий:

Вариант скрытия зависит от наполненности квартиры мебелью, а также от других обстоятельств. Может меняться в зависимости от ЖК.

Способ скрытия

Применение

Пример

Остекленный балкон

Всегда скрывается

Ссылка

Угловой балкон

Скрывается по двум осям

Ссылка

Лоджия скрывается частично

Квартира с/без мебели, на лоджии есть отделка (плитка) и/или мебель.

Ссылка

Лоджия скрывается полностью

Квартира без мебели, лоджия без отделки (бетон).

Ссылка

Лоджия скрывается полностью (для квартир с мебелью)

Квартира с мебелью, лоджия без отделки (бетон).

Ссылка

Внутренняя угловая терраса, расположенная на углу квартиры

не скрывается

Ссылка

Внутренняя угловая терраса, расположенная не на углу квартиры

скрывается с одной стороны

Ссылка

Терраса прямая

Скрывается

Ссылка

Ссылка

Эркер

Ссылка

Ссылка

Ссылка

Квартиры со стенами под углом

Ссылка

2.6.2 Настройка прозрачных объектов.

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

Теория:

Сортировка объектов задается параметром "renderOrder": X в Object properties прозрачного объекта, где X это число от 100 до 999. Число X выбирается исходя из положения объекта относительно точки просмотра. По умолчанию X = 0, если не прописано обратного.

Refraction_01.png
{
  "hideableObject": true,
  "backAxis": "y",
  "renderOrder": 100
}

или

{
  "renderOrder": 100
}

Самый дальний объект должен иметь меньшее число, чем тот который его перекрывает. К примеру, в сцене есть стеклянная ваза, оконное стекло и стеклянное ограждение за окном. Если взглянуть камерой из помещения сразу сквозь 3 этих объекта, то ваза будет находиться перед всеми объектами, ее renderOrder должен быть самым большим ("renderOrder": 300). Дальше поссередине будет находиться оконное стекло, его renderOrder должен быть меньше чем у вазы и больше чем у стеклянного ограждения ("renderOrder": 200). Дальше всего будет находиться стеклянное ограждение, его renderOrder должен быть самым маленьким из трех объектов ("renderOrder": 100). Либо у стекла можно не прописывать свойство renderOrder, оставив дефолтное значение равное 0.

Практика:

Если в сцене присутствуют стеклянные ограждения за окнами или стеклянные ограждения/остекление балконов, пропишите оконным стеклам "renderOrder": 200 в Object properties. А стеклянному ограждению "renderOrder": 100. Если в квартире присутствуют другие стеклянные объекты, пропишите им "renderOrder": 300.

Refraction_02.png

2.7. Merge вспомогательной сцены

В зависимости от того какой способ создания отражений выбран (с помощью Reflection Probe или при помощи HDRI), импортируйте по средствам Merge в сцену один из двух файлов (файлы находятся в git репозитории):

  • “Объекты сцены для WEB (ReflectionProbe)” (для ReflectionProbe, берем его)

  • “Объекты сцены для WEB (EnvMapDefault)” (для HDRI, пока не используем)

В них вы найдете все дополнительные элементы для настройки сцены под веб движок.

2.8. Источник света.

1. Удалите все Vray источники света из сцены, оставьте источники света стандартных потолочных светильников: Arte_Lamp, Arte_Lamp_S, SpotLight01, Varton_AERO_01. Если вы меняли положение или размер этих источников света ля запекания, верните им первоначальный вид или импортируйте заново из Interior Craft.

2. Используя скрипт Make_lights_dependent (\Interior Craft - Apartment Editor\pikruntimecontent\3DSMAX\Скрипты) преобразуйте источники света одинаковых светильников в instance. Для этого выделите одинаковые источники света и нажмите кнопку скрипта. Повторите данное действие для всех оставшихся источников света.

ezgif.com-optimize_1.gif

3. Измените параметр Multiplier для каждого источника света в зависимости, к какому потолочному светильнику они принадлежат и в зависимости от отделки квартиры. После объединения в instance одинаковых ис скриптом, достаточно изменить интенсивность у одного источника света из группы, остальные изменятся автоматически.

Arte_Lamp

Arte_Lamp_S, Varton_AERO_01

SpotLight01

К-2.0, К.МСК-2.0, WB, Без отделки

1000

3000

10000

СТ.РЕГ-1.0, СТ.МСК-3.1, СТ.МСК-4.0

1000

1000

10000

4. Разместите в сцене источник света (FDirect001), так чтобы он был под 90° к окнам квартиры на виде сверху и под 45°-60° на виде сбоку. Возьмите из файла (смотри пункт 2.7).

2.9. Камеры

Возьмите из файла (смотри пункт 2.7).

Main camera.

Располагается строго X=0.0 Y=0.0 Двигать можно исключительно по оси Z, так чтобы квартира попала в кадр целиком. 

Не меняйте FOV в настройках, это влияет на приближение квартиры в движке после сжатия.

В параметрах “Object properties” камеры можно изменять параметры  "minDistance" и  "maxDistance". Данные параметры отвечают за приближение отдаление квартиры в движке и выставляются относительно того, на какой высоте находится камера.

2.10. NavMesh

Позволяет перемещаться в движке внутри квартиры, в местах, где расположен.

Отредактируйте экспортированный из ICraft NavMesh, ориентируясь на нижеприведенные правила либо создайте новый, используя за основу NavMesh из вспомогательной сцены “Объекты сцены для WEB (ReflectionProbe)”.

Следует размещать на высоте 2см по оси Z (для NavMesh создаваемого в 3Ds Max), в свободных от мебели местах, на предположительном пути движения человека по квартире.

NavMesh должен отвечать следующим требования:

  • В проемах NavMesh необходимо делать тоньше (≈1/3 проема)

  • Расстояние от стен без окон ≈ 400-500 мм.

  • Расстояние от стен с окнами ≈ 1000 мм.

Пример без мебели: https://dev.pik3d.ru/doc/files/NavMesh/1ES2/

Пример с мебелью: https://dev.pik3d.ru/doc/files/NavMesh/1ES4/

2.11. Редактирование Reflection Probe

Особенности размещения reflection probe:

1. Reflection probe не должны сильно выступать за пределы внешних стен. Reflection probe должна выступать за пределы пола и потолка как минимум на 30 см., так чтобы серая внутренняя граница пробы захватывала пол и потолок. Старайтесь не растягивать пробу больше необходимого, чтобы избежать искажения объектов по высоте По высоте центр reflection probe располагается на высоте 1500 мм. от пола. Обращайте внимание, чтобы все элементы, встроенные во внешние стены (двери, окна), были захвачены пробой.

ReflectionProbe9.png

2. Reflection probe ставятся с нахлестом двумя способами (30см.или 60см.) в едином помещении не разделенном стенами, в помещениях с единым напольным покрытием, не разделенном порожками. В других случаях пробы можно не пересекать, а делать в стык. Однако, следует обращать внимание на металлические и сильно отражающие поверхности, попадающие на стык и на зону смешивания проб. Такие объекты могут чернеть или перестать отражать в этих местах.

ReflectionProbe7.png

У reflection probe есть две зоны:

Внутренняя область - зона действия пробы с интенсивностью 100%, ограничена серыми линиями. Все объекты попадающие в эту зону будут иметь 100% интенсивные отражения.

Transition distance (пространство между серой и зеленой линиями) - зона смешивания данной пробы с соседней равная 30 см. Интенсивность отражения пробы падает от 100% на серой линии до 0% на зеленой. Отражения на объектах, попадающих в эту зону, если она не смешивается с другой пробой, будут тусклыми и сходящими на нет к краю пробы.

ReflectionProbe4.png

Способы смешивания проб:

Способ наложения проб друг на друга выбирается визуально.

◉ Пересечение зон смешивания соседних проб. Для этого поставьте соседние пробы с нахлестом 30 см.

ReflectionProbe5.png

◉ Наложение зоны смешивания на внутреннюю область соседней пробы. Для этого поставьте соседние пробы с нахлестом 60 см.

ReflectionProbe6.png

3. На один объект не может действовать больше 4х проб. Посмотреть допустимое ли количество проб действует на объект можно в режиме reflection captures volume, где цвета соответствуют следующим параметрам:

  • зеленый - менее 4х reflection probe

  • желтый - 4 reflection probe

  • красный - reflection probe

Преимущественно все объекты должны быть в зеленом цвете, не допускайте красного. Чтобы понизить количество действующих reflection probe на объект, разделите его на несколько самостоятельных мешей. Более плавные переходы отражений на полу получаются, если весь пол подсвечивается зеленым.

ReflectionProbe8.png

4. При необходимости сместите центр Reflection Probe.

Центр допустимо сдвигать в следующих случаях:

◉ В сложных по конфигурации помещениях, где невозможно обойтись одной пробой. В этом случае центр вспомогательной (меньшей) reflection probe смещается в центр основной reflection probe помещения. Обратите внимания что недопустимо смещать центр пробы одного помещения в пробу другого помещения.

◉ Если в зоне действия reflection probe находится плоский большой сильно отражающий объект, с сильными искажениями в отражениях (зеркало, телевизор и.т.д), перенесите центр пробы максимально близко к отражающей поверхности ( 5 см.) по осям X и Y. По оси Z разместите центр пробы на высоте 150 см. Чем ближе центр пробы к отражающей поверхности, тем меньше искажений в отражениях. Полностью избежать искажений невозможно.

ReflectionProbe10.png

Перед переносом центра пробы оцените существующие отражения со стандартным центром, возможно они достаточно ровные.

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

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

ReflectionProbe11.png

Последовательность действий:

1. Переименуйте Reflection Probe, у которой планируется смещаться центр: ReflectionProbe_nnn. Где nnn изменяемое числовое выражение. К примеру, ReflectionProbe_001, ReflectionProbe_002, ReflectionProbe_003 и. т. д. и. т. д.

2. Создайте дополнительный dummy, с названием ReflectionProbe_nnn_center, где nnn тот же номер, что и у пробы для которой меняется центр. К примеру ReflectionProbe_001_center, ReflectionProbe_002_center, ReflectionProbe_003_center и. т. д.

3. Переместите созданный dummy в место, куда планируется смещать центр пробы.

2.12. Экспорт в FBX

Используя скрипт Export to WEB 4 экспортируйте сцену в новую пустую папку. Все необходимые текстуры скопируются автоматически.

Название папки, название FBX и название квартиры должны совпадать. Все точки, запятые, скобки и пробелы заменяются нижним подчеркиванием.

3. Действия после экспорта в WEB движок

3.1. Проверка

Используя движок, визуально проверьте квартиру на наличие ошибок.

Критерии проверки: Согласование интерактива

Web Pleer:

  1. Скачайте плеер по ссылке: https://dev.pik3d.ru/InteriorCraft/

2. Распакуйте плеер в отдельную папку

3. Создайте папку assets, если ее нет.

4. В паку assets экспортируйте/переместите папку/папки с квартирами.

5. Выйдете из папки assets и нажмите pik-web-player.exe

6. В браузере Web плеер откроет список квартир находящихся в папке assets.

7. Нажмите на нужную квартиру из списка, чтобы открыть ее.

8. Сочетание клавиш Ctrl+M открывает меню настроек для квартиры. После настройки конфига скачайте его, нажав Download Config, переименуйте и замените существующий конфиг квартиры на новый.

WebPleer_01.png

Statistics

Статистика сцены: FPS (количество отрисовываемых кадров в секунду), Triangles (количество полигонов), Draw Call ( количество графических команд, отрисовывающих данный кадр)

View mode

Режимы просмотра:

Lit - основной режим с действующими на материалы источниками освещения

IndirectSpecular - режим для просмотра отражений.

Reflection Capture Volumes

Режим просмотра наложения reflection probe

Camera Setup Frames

Режим просмотра рамок, для настройки камеры

Tone Mapping

Варианты тональной компрессии

Gamma, Gain Color, Offset Color, Offset, Saturation, Burn

Параметры позволяющие сделать постобработку квартиры

Download Config

Скачать измененный конфиг

3.2. Рендер топ вида

После положительного согласования отрендерьте топ вид с дополнительными render elements.

Создайте и загрузите в Cerebro архив:

Для рендера топа используйте preset:

  • Если вы ранее запекали Light Maps, то “Preset_Top_render_Interior_craft_max2021_LM

  • Если вы ранее запекали Combined Maps, то “Preset_Top_render_Interior_craft_max2021_СM” (не используется)

Файл находится в git репозитории C:\Interior Craft - Apartment Editor\pikruntimecontent\3DSMAX\Шаблоны

Подробнее: Рендер Top view

3.3. Архив

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

  • Обратите внимание , что каждый архив содержит папку, в которой собраны файлы. Недопустимо архивировать непосредственно файлы без папки.

  • Все знаки препинания и пробелы в названиях папок и архивов должны быть заменены нижними подчеркиваниями.

  • Архив №1:

Archive1.png
  • Архив №2:

Вариант 1 (для сцен без переключения):

Archive2_1.png

Вариант 2 (для сцен с переключением):

Archive2_2.png174b8cb0-b677-4680-ac18-8aa3ba3c9a27.png
  • Архив №3:

Добавляется только в случае, если квартира имеет переключение сцен. FBX должен содержать в себе одну основную версию квартиры под движок, без второй переключаемой сцены. Основной является сцена с расстановкой мебели в соответствии с PNG.

Archive3.png94fbb499-6e6a-45ac-acb6-63cb40a73db7.png