×
Menu

About interior meshes set and fake mirrors

Создание псевдо зеркального пола.
Все довольно просто.
Создается перевернутая копия помещения под полупрозрачной поверхностью.
Часть деталей можно сделать в максе, например статуи, если их просто перевернуть в КС, то некоторые детали окажутся с другой стороны, что испортит правильность отображения.
Все прочее собирается непосредственно в ТЕС КС: стены, потолки, мелкие детали.
Жаль игрока не получится отразить, но возможно создать тень в виде пятна под оным, передвигаемую скриптом согласно координатам ГГ.
 
Примечание.
Нельзя использовать воду! Увы, вода под полом портит его прозрачность, а над полом - не проверялось, но тоже сомнительно.
 
Примечание (от 06 2020).
Дополнительно, можно добавить к моделям свойства трафарета.
Это позволит ограничить ренедеринг таких объектов одной поверхностью.
Что, может повысить фпс.
А также, позволит разместить отражения и на стенах.
При этом, объекты могут находиться в любом месте сцены.
Проходимость для игрока, можно сделать через экстра свойства NC, или CollisionSwitch ноду.
 
Примечание.
*по примечанию тов. Николая Ставрогина (С). 15 09 2014.
Весь "секрет" в полу!
Т.е. он должен иметь прозрачность на уровне 60-80% и, бамп с блеском.
Теперь, все что остается,  это сделать:
Перевернутую копию помещения под прозрачным блестящим полом, таким образом были реализованы зеркальные полы в Serious Sam(С).
Поправка.
На деле там все иначе, OpenGl позволяет создавать проекции объектов в перевернутом виде.
В теории такое же можно делать и в МВ, тем более!
Что
тени проецируются именно таким образом, как это можно найти в примерах по работе с кодом OpenGl.
Но не суть, давайте посмотрим вариант с простейшим псевдо отражением помещения на поверхности пола, который не требует знания коддинга.
 

2015
2022 и никаких "этихвашихъ" шейдеров!
 

Примечание о создании статиков.
Внутренних деталей помещений сиречь, комнаты, залы и пр.
Если при создании целой Залы, либо уникального набора заточенного под одну локацию, как выше, можно лепить все "на глазок", то при создании набора "широкого профиля" придется соблюдать математическую точность!
 
Цельная Зала одной моделью.
 
Самый простой вариант, все делается в МАХе.
Главное, что бы размер был не слишком большим!
Объекты более 2048 длины начинают сбоить и теряют правильность освещения от игровых светильников.
Также, могут просаживать ФПС!
А слишком большие (более 8096) могут блокировать загрузку локации и не отображаться!
При этом кол-во полигонов не важно!
Имеет смысл опираться на готовые модели, см. храм Альмы из Триба и тому подобное.
Что-то более значительное по размерам, создавать не стоит!
Меньше можно больше нет.
К сожалению, движок МВ весьма плохо переваривает крупные объекты.
 
Оптимальные размеры деталей 256, 512 максимум 2048.

Цельная зала из запчастей.
 
Это компромисс, между гигантизмом и фпс.
В максе создается Эпичная Зала - затем, режется на отдельные фрагменты меньшей длинны.
После шинкования, все детали выделяются и... Выравниваются в нулевых координатах сцены!
Align to World 0 0 0 - т.е. все объекты получают точку опоры в нуле сцены.
Теперь - экспорт по очереди выделенного, создание в КС новых статиков и локации...
Куда разом переносятся все объекты новой Залы!
Поскольку, все они имели точку опоры в одном месте, то готовое здание (зал) сразу появляется идеально подогнанным и в сборе!
Добавить мелкие элементы и плагин готов.
Фпс и работа света в полном порядке.
 
*Не забывайте добавлять Коллизии для объектов! Помимо доп. блокировки прохождения, коллизии,
используются для расчета стыковки объектов в КС.
Т.е. если включен режим угловой привязки.
Помимо этого, как отмечалось, наличия колиженов  в Статиках МОЖЕТ повышать фпс в сцене.
 
Примечание.
Тов. Николаем, также было отмечено следующее:
 
На краях объектов, должно быть как можно меньше полигонов!
Это приводит к рассеиванию света на сторонах объекта, что позволяет лучше маскировать стыки.
Избыток полигонов увеличивает проблемы с работой света на стыках объектов в игре!
Т.е. приводит к появлению более резкой линии между двумя объектами в игре.
 
См. примечания о специфике работа света в МВ.
Стоит заметить, что в первую очередь это касается объектов для "новых наборов" некоего архитектурного стиля,
нежели собираемого из ЗапЧастей.
Поскольку, здесь, все полигоны и вертексы находятся в совместимых позициях по отношению друг ко другу.
А значительные размеры деталей прячут стыки в тумане на границе видимости игрока.
 
Также, следует учитывать, что "не ровные" поверхности могут создавать "тени" за счет контрастного света Игры, работающего
по полигонам.
Т.е. разного рода выступы и вмятины оказывают влияние на освещенность поверхности.
Это может быть как минусом, так и плюсом.

Создание нового сета архитектуры.
Под стать уже имеющимся наборам.
 
Вот здесь и начинается Геморрой! ^-^
 
Поскольку даже 0.00Х отклонения значения от «правильного» приведет к щелям и нестыковкам объектов в КС!
С одной стороны все ОК, а с другой ЩЕЛЬ в полметра!
Что бы этого избежать, придется работать в 3д макс с математической, можно сказать, точностью!
 
Дефолтные объекты имеют диаметр 512 ед, значит стоит ориентироваться именно на этот размер.
*сразу стоит заметить, что коридоров (аля двемерские) это не так сильно касается, поскольку у них только два конца, так сказать. Но у «комнатных» статиков уже 4 стороны! И малейшая неточность в одной из них, приведет к щелям!
 
В этом случае придется создавать объекты используя точные значение, а не от «на глазок», как это делается обычно!
"Математическую" сборка сцены в ТЕС КС - см. здесь.
 
–     используйте keyboard entry  в меню создания примитивов.
–     Используйте Extrude в меню Edit Edges, что позволяет задавать точные дистанции экструзий Граней.
–     Смотрите на позиции вертексов! При выделение оных, XYZ внизу экрана позволяют их редактировать, в крайнем случае.
–     Используйте Boolean, для добавления в объект новых деталей и создания новых объектов из уже имеющихся!
–     Используйте ровные значения 23, 64, 128 и пр.
–     Используйте Face  Extrude Modifier, для извлечения полигонов и создания структуры поверхности жестко заданного размера.
Главное, соблюдайте точность позиционирования!
Ни один вертекс не должен быть за приделами 512 ед. базовой плоскости!
Собственно это главное, ровные позиции вертексов и точка опоры всех объектов  в нулевых координатах.
 
Примечание.
Если, какие-то вертексы оказались смещенными относительно Точных Координат, можно воспользоваться нифскопом,
для редактирования их позиций.
См. раздел НиТриШейпДата.

Свойства трафаретов на службе отражение!
И под полом уже ничего нету!
Т.е. можно сделать ярус ниже без лишних скриптов!