vanyfilatov

Создаем новые модели домов для CiM

118 сообщений в этой теме

И так, продолжим ...

Собрав всю изученную информацию про импорт в CIM с этого и других сайтов решил все собрать в этой теме чтобы вы "увидели всю картину целиком"

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

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

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

Вот пример что можно сделать с одниим и тем же лепестком розы пользуясь только smoothing groups

post-396-0-62278200-1322851488_thumb.jpg

Для этого просто выделяем нужные полигоны и назначаем им одну из 32 групп. Или же автоматически, на примере модели нашего здания - выделяем все полигоны/ставим максимальный угол сглаживания 20 градусов/ жмем auto smooth (стыки/грани между полигонами расположенными относительно друг друга больше 20 градусов будут четкие)

post-396-0-61252300-1322851937_thumb.jpg

Для модели Альстома понадобилось всего 3 группы естественно чем меньше групп тем "легче" модель.

post-396-0-58629400-1322854009_thumb.jpg

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

Не менее важная штука это ambient occlusion.

Из википедии :

Ambient occlusion — программная методика по реализации глобального освещения, которая вычисляет свет, достигающий до определённого участка трёхмерной сцены, путём учёта и анализа окружающих этот участок преград.blink.gif

От меня :

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

Окклюжн можно "запечь" в текстуру чем мы и займемся. Будем использовать бесплатный Mental ray renderer который идет в комплекте с не бесплатным 3ds maxlaugh.gif

Назначим стандартный материал к модели здания, без текстуры с белым цветом для диффуза. Откроем окно environment (хоткей цифра 8) или вкладка rendering/environment Назначим белый цвет для background color. Нажмем кнопку 0 или вкладка rendering/render to texsture/выделим модель нажмем кнопку add/выберем Ambient occlusion (MR) впишем размер требуемой текстуры (в пикс)/жмем рендер.

post-396-0-58163500-1322854882_thumb.jpg

Я расставил 4 светильника Skylight вокруг модели т.к по умолчанию в сцене 2 светильника, они отключаются когда ставишь свой "свет"

Получилась черно-белая текстура

post-396-0-22292600-1322855657_thumb.jpg

Смешаем её с обесцвеченной диффузной картой для пущего эффекта.

post-396-0-85800600-1322862526_thumb.jpg

В CIM окклюжн в этом виде работает очень странно (освещает углубления а не затеняет) и я не понимаю как правильно его туда импортировать поэтому мы использовать его не будем biggrin.gif Зря мучались Но рендер модели стал выглядеть немного лучше с добавлением карты окружения (тени отключены)

post-396-0-76420700-1322856271_thumb.jpg

Я нарисовал диффузную карту для здания из существующей текстуры + добавил декали граффити и облупившейся штукатурки тк стена была "голой" и скучной, также нарисовал лестницу, добавил альфа канал (черный цвет в нем будет прозрачен в игре)

post-396-0-61106400-1322856306_thumb.jpg

Сохраняем как nyhouse.dds DXT3 8bpp explicit alfa (все текстуры с альфа каналом сохраняем так же)

post-396-0-09034700-1322856741_thumb.jpg

Закрасим серым цветом (RGB 180-180-180) окна и черным (RGB 0-0-0) , на другом слое, все остальное. Черный цвет будет 0% отражений белый соответственно 100% Сохраняем как

nyhouse_s.dds DXT1 4bpp (без альфа канала)

post-396-0-26633600-1322857512_thumb.jpg

Создадим карту нормалей. Скроем слой с черным цветом, оставим серый чтобы стекла на окнах были ровные. Применим normal map filter. Сохраняем как nyhouse_n.dds DXT1 4bpp (без альфа канала)

post-396-0-36396800-1322858077_thumb.jpg

А теперь импорт! Назовем модель - в окошке над модификаторами, назовем материал так же. Я называю все текстуры и материалы одинаково чтобы не запутаться.

post-396-0-37317000-1322858272_thumb.jpg

Выберем expot selection назовем nyhouse.obj

post-396-0-95915600-1322858556_thumb.jpg

Поставим все эти галочки в окне экспорта, и сохраним настройки/presets чтобы каждый раз не настраивать заново. Жмем экспорт

post-396-0-33273100-1336558180_thumb.jpg

Допишем имя объекта открыв файл блокнотом

post-396-0-42211700-1322859155_thumb.jpg

Запустим командную строку cmd.exe

перейдем на диск D команда D:

сменим рабочую папку, команда сd указать путь

запустим команду экспорта gsobj_import.exe nyhouse.obj

post-396-0-91789100-1322859517_thumb.jpg

gsobj я использую самую первую версию, другие требуют наличия текстур и много чего еще, что усложняет импорт.

Переименуем output.object. Материал удаляем. Создаем структуру мода.

Его папки и их содержание ниже

post-396-0-34580800-1322859657_thumb.jpg

В основном все файлы скопированы из игры и изменены.

Насчет файлов из папки buildings. bmp файл - 1 клетка занимаемая зданием = 4 пикселя в файле. Цвета индексированы, менять нельзя, брать пипеткой, рисовать карандашом. smile.gif

Зеленый цвет -можно ставить кусты, лавки, разную мелочь, человечки могут ходить по зеленому.

Черный - нельзя ходить и ничего ставить.

Белый цвет - подъезд/парадная/дверь куда человечки заходят.

Файл с буквой b на конце для диагонального здания

post-396-0-18971900-1322860681_thumb.jpg

Материал скопирован из игры, инструмент для распаковки игровых файлов найдете на сайте. "Фишка" материалов в том что - модель у которой в игре есть прозрачность имеет материал с прозрачностью, модель со стеклами - материал имитирует стекло.

Важно чтобы имена наших текстур начинались там же где начинались они изначально, лишние буквы/цифры записываем нулевыми байтами в левой стороне НЕХ редактора. Смотрим чтобы имя объекта совпадало с названием файла .object и в конце файла было правильное название материала.

post-396-0-85090900-1322861615_thumb.jpg

Скрипт environment в папке scripts дает "заказ" игре подгрузить новую модель. Скрипты ru и en_US в папке strings содержат инфо о модели и категории в которой она будет лежать.

post-396-0-65399400-1322861939_thumb.jpg

Вот скрипты самого здания - основное и повернутое под 45градусов, которое с b на конце

post-396-0-83745700-1322862062_thumb.jpg

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

Готовую модель можно скачать с главной страницы http://citiesinmotio...ldings/ny-house

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

На этом пока все wink.gif

8

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Огромное спасибо! Я всё-таки как-нибудь соберусь и попробую что-нибудь сделать по этим гайдам. :D Тогда, правда, стоит ожидать десятков не самых умных вопросов. ":D

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

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

как создать свое здание

какой программой можна создать свой дом в игре

Привет а кде вы берете модельки

-1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

как создать свое здание

какой программой можна создать свой дом в игре

Привет а кде вы берете модельки

Ответ в первой части тутораsmile.gif

http://citiesinmotion.ru/forum/index.php/topic/445-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8-%D0%B4%D0%BE%D0%BC%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-cim/

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Начал эксперементы с простой коробки и текстуры, модель даже импортировалсь в игру (без ошибок в log_metro), но ездет без текстур.

Работаю тоже в 3D Max. Собственно два вопроса:

1) Я работаю без плагинов, если накладывать текстуры через назначение материалов, то это должно быть 3 разных материала как тут у меня и у вас в обучалках

post-120-0-30760300-1324331543_thumb.jpg

или в рамках одного и того же материала?

post-120-0-67025900-1324331836_thumb.jpg

2) Где то на форуме говорилось, что в скриптах используется имя материала. На второй моей картинке это имя Bus. Куда его подставлять?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Начал эксперементы с простой коробки и текстуры, модель даже импортировалсь в игру (без ошибок в log_metro), но ездет без текстур.

Работаю тоже в 3D Max. Собственно два вопроса:

1) Я работаю без плагинов, если накладывать текстуры через назначение материалов, то это должно быть 3 разных материала как тут у меня и у вас в обучалках

post-120-0-30760300-1324331543_thumb.jpg

или в рамках одного и того же материала?

post-120-0-67025900-1324331836_thumb.jpg

2) Где то на форуме говорилось, что в скриптах используется имя материала. На второй моей картинке это имя Bus. Куда его подставлять?

Текстурные карты должны быть в одном и том же материале назначенном модели - diffuse, specular и bump, они назначаются в материал эдиторе в списке maps.

На втором скрине мультиматериал, я не думаю что такой материал правильно заработает даже в максе.unsure.gif

Но материалы макса и игры различаются, поэтому текстуры можно вообще не назначать при импорте и потом, в материале игры, прописать нужные текстуры.

И имя материала (в вашем случае Bus ) можно/нужно прописать в файле .object , или проще сразу назначить материал с этим именем в самом максе.

Материалы и объекты лучше называть не используя заглавные буквы и пробелы.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ага, спасибо, т.е. расположение текстур в рамках одного и того же материала должно быть как показано на этой картинке:

post-120-0-94308900-1324367099_thumb.jpg

Осталось вспомнить только куда вставляется текстура для Bump ;). По-моему где то в закладке "Maps" в свойствах материала можно добавлять текстуры Bump (там же где Reflection, Glossines и пр.)

[Обновлено] Упс, собственно так оно и было написано :)

Изменено пользователем akaction
1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Провозился сегодня целый день.

Ни как не могу разобраться в чём проблема. Дело в том, что всё нормально делаю по указанным тут шагам, в игре модель появляется, ошибок в логе игры log_metro.txt нет, но в игре каждая плоскость автобуса разбита на 2 части по диагонали. В одной части есть текстура, а в другой нет. Билс\ - бился но так и не нашёл в чём проблема. Создал даже простой прямоугольник, обтянул его текстурой, но проблема осталась

Выглядит в игре это примерно так:

post-120-0-95105400-1324494751_thumb.jpg

Где есть зелёная плоскость, там текстуры есть, а где нет плоскости, там соответственно и текстуры нет.

Может я где в настройках ошибся?

Вот так у меня выглядит материал и расположение в нем текстур в 3d Max:

post-120-0-85957800-1324494829_thumb.jpg

Вот так настройки текстуры kd:

post-120-0-55620000-1324494881_thumb.jpg

Вот так настройки текстуры ks:

post-120-0-64688200-1324494903_thumb.jpg

Вот так настройки текстуры Bump (в прмерах файл ххх-n.dds):

post-120-0-36127100-1324494977_thumb.jpg

А вот такие у меня настройки Normal map Filter в Photoshop при создании файла ххх-n.dds

post-120-0-37265900-1324495096_thumb.jpg

На всякий случай прикладываю кривую модельку. Может чего в скрипте упустил...

L5256.zip

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Провозился сегодня целый день.

Ни как не могу разобраться в чём проблема. Дело в том, что всё нормально делаю по указанным тут шагам, в игре модель появляется, ошибок в логе игры log_metro.txt нет, но в игре каждая плоскость автобуса разбита на 2 части по диагонали. В одной части есть текстура, а в другой нет. Билс\ - бился но так и не нашёл в чём проблема. Создал даже простой прямоугольник, обтянул его текстурой, но проблема осталась.

Попробуй при экспорте из макса отключить relative numbers, unsure.gif больше мне ничего на ум не приходит

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробуй при экспорте из макса отключить relative numbers, unsure.gif больше мне ничего на ум не приходит

Спасибо, вечером попробую.

Может быть в этом проблема, может нет, но я заметил, что при описании xxx_n.dds файлов была такая фраза: "[объект]_n.dds - подражает незначительным 3-D эффектам. Альфа-уровень этого файла будет использоваться для цвета компании (транспортное средство) или изменчивые цвета (здание);". У меня как раз моя кривая моделька в игре пытается быть в цвете компании (т.е. цвет, который выбрал игрок при старте игры).

У меня, когда я использую в фотошоп NormalMapFilter (в фотошопе Фильтр -> NVIDIA Tools -> NormalMapFilter), картинка просто становится в градации фиолетовых цветов. Я не замечал что в R, G, B цветах появляется ещё Альфа-уровень. Альфа уровень должен появляться сам после применения NormalMapFilter или его нужно в фотошоп создать самому? Что именно в альфа уровне (в дальнейшем файла ххх_n.dds) соответствует применению цвета компании в игре, а что применению цвета изначальной текстуры (которая в ххх.dds)?

Кстати, в поле "ambient" (там же где diffuse, specular, bump) у меня нет текстуры. Это верно?

Моя ссылка

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
У меня, когда я использую в фотошоп NormalMapFilter (в фотошопе Фильтр -> NVIDIA Tools -> NormalMapFilter), картинка просто становится в градации фиолетовых цветов. Я не замечал что в R, G, B цветах появляется ещё Альфа-уровень. Альфа уровень должен появляться сам после применения NormalMapFilter или его нужно в фотошоп создать самому? Что именно в альфа уровне (в дальнейшем файла ххх_n.dds) соответствует применению цвета компании в игре, а что применению цвета изначальной текстуры (которая в ххх.dds)?

После применения NMF на свою текстуру, она и должна становиться в градации фиолетовых, просто всяческие отступы и ребристости на ней приобретают "объём", который и показывает игра. Альфа-канал нужно создать самому, и в нём белым цветом закрасить то, что будет изменять цвет (цвета компании), а чёрным оставить то, что должно быть неизменным.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

После применения NMF на свою текстуру, она и должна становиться в градации фиолетовых, просто всяческие отступы и ребристости на ней приобретают "объём", который и показывает игра. Альфа-канал нужно создать самому, и в нём белым цветом закрасить то, что будет изменять цвет (цвета компании), а чёрным оставить то, что должно быть неизменным.

Ага, значит, если я правильно помню, то в фотошопе справа в окошке Layers/Channels/Paths надо выбрать закладку Channels.

там снизу кнопочка create....или Add... И я создаю новый канал с названием Alpha 1.

Правда, вроде ещё был способ создания Альфа канала - выделить нужные области (например, magic wandом), ткнуть правой кнопкой мыши на выделении и выбрать "Layer via Copy". Потом, когда на правой панели просмотра Layer-oв переключиться с Layer на Палитру, то должен появиться Альфа канал.

Блин, вспомнить бы всё это

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Честно говоря, я обычно просто беру уже созданный файл *_n.dds с готовым альфа-каналом и просто меняю размер\текстуру. ":D

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Методом проб и ошибок нашёл в чём проблема. Диагностировал просто - прогнал через экспорт/импорт модель Икаруса 260. Настройки были 1 в 1 с моими, но текстуры не слетали. И тут меня осинило, а это же гипотенузы, значит, в модели не хватает достаточного количества граний разбиения полигонов.

Короче, если после импорта модели в игру у вас каждая плоскость вашей модели разбивается пополам и видна текстура только части модели необходимо вернутся в 3D Max, загрузить вашу модель. Если у вас в стеке модификаторов всё ещё стоит Unwarp UVW (cм 1), то нужно ткнуть мышью на модель и выбрать пункт "Convert to editable poly" (cм 2):

post-120-0-30253000-1324581299_thumb.jpg

Далее Щелкаем снова по модели и выбираем Element (cм.1), в блоке "Edit Elements" тыкаем по кнопке "Edit triangulation" (см. 2). На модели должна появиться пунктирная линия (см 3)

post-120-0-08941500-1324581431_thumb.jpg

Далее в панели модификаторов выбираем "Subdivide":

post-120-0-28069000-1324581479_thumb.jpg

А дальше снова тыкаем мо модели правой кнопкой мыши и выбраем пункт "Convert to editable poly". Дальше стандартным образом конвертируем модель в формат .obj, прогоняем по процедуре через конвертор gs_import.exe, переименовываем .object файл, загружаем в игру и всё, диагональных пропаданий текстур больше нет!

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

И модель будь на ней хоть 1001 модификатор экспортируется с учетом их всех.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

И модель будь на ней хоть 1001 модификатор экспортируется с учетом их всех.

Я только ЗА того, что бы сократить количество итераций при создании моделей, но такова суровая реальность. Попробуй создать простой прямоугольник. По-умолчанию там не будет разбиения плоскостей на треугольники. Далее идёт процесс экспорта в obj. У меня точно такие же настройки как и тут:

post-120-0-95473200-1324624543_thumb.jpg

Но всё равно половины каждой плоскости отсутствуют, т.к. по-умолчанию тиангуляция не делается. Если я правильно понял то в окне конвертации в .obj за это отвечает раздел Geometry -> параметр "Faces" = Triangles

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кто-то может мне дать ссылку на нормальный 3ds max

-3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

рутрекер

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

народ, подскажите чего ему не нравится?

post-3392-0-77862600-1325262068_thumb.jpg

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

народ, подскажите чего ему не нравится?

post-3392-0-77862600-1325262068_thumb.jpg

exe забыл. Нужно писать gsobj_import.exe

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да не, утилита же запустилась, а вот файла Washington Monument.mtl в рабочем каталоге нет

на его отсутствие ругается

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

exe забыл. Нужно писать gsobj_import.exe

а так ему что не нравится? :unsure:

post-3392-0-75827800-1325305365_thumb.jpg

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а так ему что не нравится? :unsure:

post-3392-0-75827800-1325305365_thumb.jpg

файла MW.mtl нет в папке

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

файла MW.mtl нет в папке

есть такой файл в папке...

а вот, я конвентирую башню банка Китая, не подскажете что за фигня?

post-3392-0-42970400-1325395531_thumb.jpg

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть такой файл в папке...

а вот, я конвентирую башню банка Китая, не подскажете что за фигня?

post-3392-0-42970400-1325395531_thumb.jpg

надо либо перед конвертацией удалить файл BCT.object в папке, полученный от предыдущей конвертации

либо запускать конвертацию с ключом -f

gsobj_import.exe -f BCT.obj

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу