werr Опубликовано 10 февраля, 2021 Опубликовано 10 февраля, 2021 10.02.2021 01:25:10, Unlimited Cloud сказал(-а): Заметил, что иногда источники света дают тени "в полосочку"... От чего это зависит, как лечится? 10.02.2021 07:12:04, Azazellz сказал(-а): От кривого движка игры это зависит. За это отвечает параметр Shadow Depth Bias в настроках Light Data у референса в окне рендера. Исходно он равен 1. Что многие мододелы не понимают – это то, что недостаточно просто расставлять лампочки на уровне, нужно настраивать и этот параметр. Проще всего его прожать по-умолчанию (кнопка Default). Так же стоит отметить, что благодаря девятому ДиректХ, Creation Engine версии Скайрима может нормально обрабатывать только до 4 источников света типа _Shadow. А вообще вроде бы кнопка "7" включает/отключает панель, в которой видна нагрузка источников света на меши моделей. Если какая-нибудь область горит красным, то с такой поверхности может спонтанно целиком пропадать освещенность. Тогда надо будет передвигать источники света так, чтобы контуры сфер/конусов (которпые обозначают область действия источников освещения) не заходили на проблемную меш. Объяснил как мог. 1 A Random Dude's Story
Unlimited Cloud Опубликовано 10 февраля, 2021 Опубликовано 10 февраля, 2021 10.02.2021 08:31:32, werr сказал(-а): Так же стоит отметить, что благодаря девятому ДиректХ, Creation Engine версии Скайрима может нормально обрабатывать только до 4 источников света типа _Shadow. На всю локацию или "на поле зрения" игрока?
werr Опубликовано 10 февраля, 2021 Опубликовано 10 февраля, 2021 10.02.2021 18:11:25, Unlimited Cloud сказал(-а): На всю локацию или "на поле зрения" игрока?На интерьер, да. A Random Dude's Story
Brannweig Опубликовано 13 февраля, 2021 Опубликовано 13 февраля, 2021 (изменено) Добрый день. Помогите пожалуйста разобраться. Есть у меня замок авторства уважаемого Lazz'а, Винтерстоун, который я по мере сил переделываю с учётом собственных потребностей. И вот проблема в том, что призванный дракон летает сквозь стены. То есть, если я командую приземлиться, он аккуратно садится на правую башенку, затем проваливается в текстуры и высаживает меня на первом этаже башенки. Что выглядит довольно странно. Так вот как этого избежать? Ведь не летают же они сквозь стены винтерхолдской коллегии магов, к примеру. И попутно задам второй вопрос. Есть комната в интерьере, которую желательно в определённые моменты сделать недоступной для НПС, обитающих в замке. Установила дверь. На дверь - засов. За ней - вторую дверь и ещё один засов. Перед первой дверью - коллизию, которая Enabled отдельной кнопкой между дверями. И что бы вы думали? Неписи всё равно (!!!), потолкавшись несколько минут перед засовом, каким-то чудесным образом просачиваются внутрь. То есть, игра их тупо перекидывает к очередному idleMarker'у, невзирая на засов. "Вижу цель - не вижу препятствий". Как вот от этого избавиться? Убирать айдл-маркеры вовсе я не хочу, они в иное время бывают полезны. Изменено 13 февраля, 2021 пользователем Brannweig
werr Опубликовано 13 февраля, 2021 Опубликовано 13 февраля, 2021 13.02.2021 08:20:42, Brannweig сказал(-а):Добрый день. Помогите пожалуйста разобраться.Ведь не летают же они сквозь стены винтерхолдской коллегии магов, к примеру. И попутно задам второй вопрос.Неписи всё равно (!!!), потолкавшись несколько минут перед засовом, каким-то чудесным образом просачиваются внутрь. То есть, игра их тупо перекидывает к очередному idleMarker'у, невзирая на засов. Как вот от этого избавиться?Драконы (они же вертиберды в фоллауте) - это отдельная телега. Они летают и им нужны особые маркеры. Как правило драконы используют дефолтный драконий AI пакет, который заставляет их искать эти особые маркеры и кружить вокруг их. Нужно расположить Xmarker/XmarkerHeading в воздухе и во вкладке Extra отметить, что он Sky Marker. Дальше можно из них составлять маршруты разнообразные как с патрулированием у обычных гуманойдных НПС. Не забудь только перефинализировать навмеши. Без этого драконы будут летать как угодно через стены и коллизии.Касательно второго вопроса, проще всего поместить коллижн-бокс и в настройках в разделе Primitive поменять ему тип взаимодействия с окружением на L_NAVCUT. Такой бокс будет "отсекать" навмеши, что попадают в его область действия (как в триггер). Таким образом НПС не будут видеть навмеши в определенной области и не смогут пройти туда. Затем скриптом этот бокс можно энейблить/дизейблить. 1 A Random Dude's Story
werr Опубликовано 13 февраля, 2021 Опубликовано 13 февраля, 2021 10.02.2021 01:25:10, Unlimited Cloud сказал(-а):Поговорим об освещении... Заметил, что иногда источники света дают тени "в полосочку"... От чего это зависит, как лечится?Я щяс проверил, в ответе ранее я не совсем верно указал насчет дебаггинга освещенности. Кнопка "7" просто включает/отключает отрисовку в режиме wireframe.Дебаг света можно провести так: ПКМ в окне рендера - Render Window Properties - Shaders. И в секции Debug поставить галку напротив # of lights, затем нажать Apply. Вот теперь в цвете видна нагрузка света на локацию. Если какие-то меши горят красным - освещение в игре будет лагать. Соотвественно чтобы в редакторе все это дело нормально отслеживать, нужно, чтобы кнопка FX (Animate Lights and Effects) была прожата. A Random Dude's Story
Brannweig Опубликовано 13 февраля, 2021 Опубликовано 13 февраля, 2021 (изменено) 13.02.2021 14:43:51, werr сказал(-а): Драконы (они же вертиберды в фоллауте) - это отдельная телега. Они летают и им нужны особые маркеры. Как правило драконы используют дефолтный драконий AI пакет, который заставляет их искать эти особые маркеры и кружить вокруг их. Нужно расположить Xmarker/XmarkerHeading в воздухе и во вкладке Extra отметить, что он Sky Marker. Дальше можно из них составлять маршруты разнообразные как с патрулированием у обычных гуманойдных НПС. Не забудь только перефинализировать навмеши. Без этого драконы будут летать как угодно через стены и коллизии. Касательно второго вопроса, проще всего поместить коллижн-бокс и в настройках в разделе Primitive поменять ему тип взаимодействия с окружением на L_NAVCUT. Такой бокс будет "отсекать" навмеши, что попадают в его область действия (как в триггер). Таким образом НПС не будут видеть навмеши в определенной области и не смогут пройти туда. Затем скриптом этот бокс можно энейблить/дизейблить. Премного благодарна за развёрнутый ответ. По драконам: оказывается, всё сложнее, чем я могла предположить, и совсем в неожиданном месте собака зарыта. Не совсем понятно только, где найти в воздухе эти навмеши. Способ с L_NAVCUT попробую, но боюсь, что будет то же, что и с ванильным засовом. Там именно скриптом прописывается навкат, если не ошибаюсь. Я уж думаю, может, вместо всего этого триггер сделать со скриптом скрипт Event OnTriggerEnter(ObjectReferense akActionRef) If ActionRef ==! Game.GetPlayer() If Game.GetFactionOwner(ObjectReference akActionRef) ==! CurrentFollowerFaction ActionRef.Moveto(TargetMarker, 0, 0, 0, true) endIf endIf endEvent objectreference property TargetMarker auto faction property CurrentFollowerFaction auto И этот вот таргет маркер куда-нить подальше вглубь бассейна или в оранжерею... Изменено 13 февраля, 2021 пользователем Brannweig
werr Опубликовано 13 февраля, 2021 Опубликовано 13 февраля, 2021 13.02.2021 15:45:51, Brannweig сказал(-а):Не совсем понятно только, где найти в воздухе эти навмеши.Навмеши на земле. В воздухе маркеры (Xmarker либо XmarkerHeading). Если у них стоит галка Sky Marker, то от них вертикально вниз идет синяя линия, что помогает визуально сориентироваться, куда этот маркер на земле попадает. Игра не знает ничего про высоту и поэтому навмеши можно располагать на любой горизонтальной поверхности, обычно они постелены просто по геометрии локации. A Random Dude's Story
Brannweig Опубликовано 13 февраля, 2021 Опубликовано 13 февраля, 2021 (изменено) 13.02.2021 16:28:08, werr сказал(-а): Навмеши на земле. В воздухе маркеры (Xmarker либо XmarkerHeading). Если у них стоит галка Sky Marker, то от них вертикально вниз идет синяя линия, что помогает визуально сориентироваться, куда этот маркер на земле попадает. Игра не знает ничего про высоту и поэтому навмеши можно располагать на любой горизонтальной поверхности, обычно они постелены просто по геометрии локации. Если я правильно понимаю, то финализировать заново надо будет навмеши именно в тех ячейках, куда попадёт проекция от SkyMarkerа? И ещё кстати. На большом расстоянии замок не виден. То есть, по ходу, автор не сделал ЛОД объектов. Подозреваю, что это мне тоже предстоит. Но в видеоуроках, которые мне удалось найти, речь о ЛОДах для отдельного закрытого мира. А тут нету отдельного мира, замок - на пустошах Тамриэля. То есть, будут пересоздаваться все ЛОДы всех объектов по всему Скайриму. И это как-то напрягает. Есть ли вариант создать ЛОДы объектов только для нескольких ячеек? Изменено 13 февраля, 2021 пользователем Brannweig
werr Опубликовано 13 февраля, 2021 Опубликовано 13 февраля, 2021 13.02.2021 16:57:38, Brannweig сказал(-а):Если я правильно понимаю, то финализировать заново надо будет навмеши именно в тех ячейках, куда попадёт проекция от SkyMarkerа?Да13.02.2021 16:57:38, Brannweig сказал(-а):Есть ли вариант создать ЛОДы объектов только для нескольких ячеек?Нет, только для всего мира. В принципе можно стенам замка поставить галочку Is Full LOD, тогда они всегда будут прогруженными в полной детализации. 1 A Random Dude's Story
Brannweig Опубликовано 13 февраля, 2021 Опубликовано 13 февраля, 2021 (изменено) 13.02.2021 19:00:07, werr сказал(-а): Да Нет, только для всего мира. В принципе можно стенам замка поставить галочку Is Full LOD, тогда они всегда будут прогруженными в полной детализации. Werr, я вас люблю! :))) А вот ещё такой нюанс: я читала на одном форуме пост ещё 2012 года, что без создания ЛОДов объектов дракон не видит размещённый на этом объекте маркер для посадки. Это правда или таки нет? Или просто достаточно будет ввести этот маркер в маршрут патрулирования (т.е. привязать его к предыдущему и последующему XMarkerHeading'у? И если привязать, то при посадке на эту самую башню он будет использовать этот маркер и не будет проваливаться" до уровня террайна? Кстати, посмотрела на винтерхолдский экстериор и не нашла там ни одного SkyMarker'а. Но как-то же дракон там летает и не сквозь, а именно вокруг этой самой башни. Не понимаю, в чём тут дело. Upd: Докладаю. Фокус с IsFullLOD не удался, на большом расстоянии больших объектов не видно, пока не подойдёшь к ним поближе. После чего можно отходить, и они остаются видимыми. Например, после фасттревела замка не видать. Т.е., очевидно, что метод работает не совсем так, как надо. Касательно малых башенок - они вообще не прорисовываются вблизи, будучи помеченными как полный ЛОД. Не знаю, почему так. Фокус с навмешкатом на коллизии тоже не удался, бо если непись нацелился на что-то в моей спальне - он туда попадёт всё равно. Коллизия была толщиной с три тушки непися. Может, надо эту коллизию на всю спальню делать - не пробовала. Скорее всего, цель прописывается в его маршруте согласно АИ пакету песочницы, и игра его туда переносит таки, хоть и с небольшой заминкой. Побочным эффектом стал следующий казус: после деактивации сего навкат-бокса практически все неписи моментально начинают паломничество в открытую вновь зону. А я стою и смотрю на это, ибо откат у фус-ро-ды не позволяет их оттуда выпихнуть. Наверно, таки придётся реализовывать скрипт-вышибалу. Изменено 14 февраля, 2021 пользователем Brannweig
werr Опубликовано 14 февраля, 2021 Опубликовано 14 февраля, 2021 13.02.2021 19:22:55, Brannweig сказал(-а):я читала на одном форуме пост ещё 2012 года, что без создания ЛОДов объектов дракон не видит размещённый на этом объекте маркер для посадки. Это правда или таки нет?Звучит довольно нелогично, потому что когда ячейка прогружена, актер (дракон) спокойно может использовать маркеры; а когда нет - то и самого актера нет. Хотя драконами я никогда не интересовался, поэтому категорично утверждать не стану. Upd:Хмм... А ты это точно на чистом сохранении пробуешь? Прямо из главного меню через "coc id локации" или "cow Tamriel X Y" телепортируешься свежим персонажем? A Random Dude's Story
Azazellz Опубликовано 14 февраля, 2021 Опубликовано 14 февраля, 2021 14.02.2021 11:51:43, werr сказал(-а):Звучит довольно нелогично, потому что когда ячейка прогружена, актер (дракон) спокойно может использовать маркеры; а когда нет - то и самого актера нет. Хотя драконами я никогда не интересовался, поэтому категорично утверждать не стану. Драконы - отдельная штука. Их может быть видно очень издалека. У них даже свои ЛОДы есть. Но как их полет в деталях реализован - я тоже не в курсе.
werr Опубликовано 14 февраля, 2021 Опубликовано 14 февраля, 2021 13.02.2021 19:22:55, Brannweig сказал(-а):Скорее всего, цель прописывается в его маршруте согласно АИ пакету песочницы, и игра его туда переносит таки, хоть и с небольшой заминкой.Очень может быть. Ну тогда решением проблемы может стать создание какой-нибудь фракции (да или даже PlayerFaction взять как вариант), которой будет принадлежать Ownership всех стульев, кроватей, алхимических столов и других маркеров. А когда же тебе будет нужно по квесту, чтобы у НПС туда был доступ, будешь скриптом выдавать им эту фракцию. Так игра разрешит их пакетам юзать эти объекты. 1 A Random Dude's Story
werr Опубликовано 14 февраля, 2021 Опубликовано 14 февраля, 2021 14.02.2021 11:59:37, Azazellz сказал(-а):Драконы - отдельная штука. Их может быть видно очень издалека.У них даже свои ЛОДы есть.Но как их полет в деталях реализован - я тоже не в курсе.Мне даже когда-то попадалась инфа, что ЛОДы самих драконов есть. Но это разве не относится к иксбоксу только? Типа что он так экономил ресурсы, не мог всего дракона на большом расстоянии прогружать? A Random Dude's Story
Azazellz Опубликовано 14 февраля, 2021 Опубликовано 14 февраля, 2021 14.02.2021 12:07:50, werr сказал(-а): Мне даже когда-то попадалась инфа, что ЛОДы самих драконов есть. Но это разве не относится к иксбоксу только? Типа что он так экономил ресурсы, не мог всего дракона на большом расстоянии прогружать? Вот не знаю. В файлах я их точно видел =) Но что драконов видно за пределами прогруженных ячеек - это факт.
Brannweig Опубликовано 14 февраля, 2021 Опубликовано 14 февраля, 2021 (изменено) 14.02.2021 11:51:43, werr сказал(-а): Хмм... А ты это точно на чистом сохранении пробуешь? Прямо из главного меню через "coc id локации" или "cow Tamriel X Y" телепортируешься свежим персонажем? В общем-то нет, портируюсь из соседней локации, но сомнительно, что это может иметь значение. Тем более, если я пешочком иду от замка куда-нибудь в Хелген, то замок виден. А если потом из Хелгена портируюсь в Озёрное - уже всё, пропал. Но, если из Озёрного подойти пешочком чуть поближе, то замок появляется и уже не пропадает. Кстати, передвинула пару скай маркеров чуток подальше от замка (и повыше). Теперь при фасттревеле дракон уже не летает сквозь текстуры (аллилуйя!), по той причине, что радиус его полёта вокруг маркера не пересекает этих самых злополучных текстур. Но если его при этом заагрит какой-нибудь сторонний непись, которые спавнятся неподалёку, то он сбивается с, так сказать, ориентации и начинает летать не вокруг маркеров, а уж как попало. Но скалы-то он не задевает. Наверно, тут как-то задействована карта высот... Ну не шарю я в создании террайнов. Изменено 14 февраля, 2021 пользователем Brannweig
Brannweig Опубликовано 14 февраля, 2021 Опубликовано 14 февраля, 2021 (изменено) 14.02.2021 12:03:07, werr сказал(-а): Очень может быть. Ну тогда решением проблемы может стать создание какой-нибудь фракции (да или даже PlayerFaction взять как вариант), которой будет принадлежать Ownership всех стульев, краватей, алхимических столов и других маркеров. А когда же тебе будет нужно по квесту, чтобы у НПС туда был доступ, будешь скриптом выдавать им эту фракцию. Так игра разрешит их пакетам юзать эти объекты. Спасибо, но там квест не нужен. Там просто жильцы, которых я туда по дури натаскала со всего тамриэля через MHIYH. А теперь они толкаются под ногами и создают видимость обитаемого места в этом громадном помещении. Скрипт чуть переделала, через часик м.б. смогу проверить, что получилосьСпойлерScriptname WS_KickOffFactionRelScript extends ObjectReference Faction Property TriggerFaction Auto {Faction of the NPC who is activating trigger} ObjectReference Property TargetMarker Auto {Marker NPC moves to} EVENT onTriggerEnter(objectReference triggerRef) ; check for correct actor actor actorRef = triggerRef as actor if actorRef != None && actorRef != Game.GetPlayer() && actorRef.IsInFaction(TriggerFaction)==false ActorRef.Moveto(TargetMarker, 0, 0, 0, true) endIf endEvent Upd: Аллилуйя, наконец можно спать спокойно, вышибала тихо делает своё дело. Теперь можно его и на все хартфайровские поместья наложить, чтоб кур моих всякие бандюки не таскали. Вот только не знаю, как сделать, чтоб перезагружался АИ-пакет непися в случае попадания в зону триггера, а то они уже тропу протоптали от маркера обратно до дверей :D: Изменено 14 февраля, 2021 пользователем Brannweig
Brannweig Опубликовано 15 февраля, 2021 Опубликовано 15 февраля, 2021 Столкнулась с таким багом (или не багом?), что если 3 последовательно расположенные на одной прямой (и в почти одной плоскости) комнаты соединены двумя порталами, то под определённым углом, находясь в 1й комнате, наблюдается по всей территории водная поверхность, как бы "отражение" бассейна, который находится в 3й комнате. Порталы границу активатора воды не пересекают. Глючит только под определённым углом к порталу. Как этого избежать? Кто-нибудь сталкивался?
werr Опубликовано 15 февраля, 2021 Опубликовано 15 февраля, 2021 14.02.2021 13:06:41, Brannweig сказал(-а):Вот только не знаю, как сделать, чтоб перезагружался АИ-пакет непися в случае попадания в зону триггера, а то они уже тропу протоптали от маркера обратно до дверей :D:Игра не непрерывно смотрит на текущие аи пакеты, поэтому быстрее будет заставить ее принудительно перепроверить стак пакетов. Если дело действительно в стаке (исходя из того, что ты написала)ObjectReferencePropertyREF.GetActorReference().EvaluatePackage()В общем EvaluatePackage() на актера вызывается. 1 A Random Dude's Story
Brannweig Опубликовано 15 февраля, 2021 Опубликовано 15 февраля, 2021 (изменено) 15.02.2021 12:53:47, werr сказал(-а): ObjectReferencePropertyREF.GetActorReference().EvaluatePackage() В общем EvaluatePackage() на актера вызывается. Вот спасибо! Мне это очень пригодится :good2: Изменено 15 февраля, 2021 пользователем Brannweig
Brannweig Опубликовано 15 февраля, 2021 Опубликовано 15 февраля, 2021 (изменено) Раз тут есть бесценный кладезь информации, спрошу ещё вот что. Мне нужна прозрачная светящаяся ступенька. Проблема в том, что по рисованию у меня двойка. Поэтому я нашла ванильную балясину и скриптом приделала к ней шейдер GhostFXShader. Балясина стала светиться приятным голубеньким цветом, но прозрачной не стала. Подозреваю, что есть некое свойство, которое можно прикрутить скриптом, задающее объекту прозрачность. Не знаете ли, как оно называется? Изменено 15 февраля, 2021 пользователем Brannweig
Azazellz Опубликовано 16 февраля, 2021 Опубликовано 16 февраля, 2021 15.02.2021 20:50:42, Brannweig сказал(-а): Раз тут есть бесценный кладезь информации, спрошу ещё вот что. Мне нужна прозрачная светящаяся ступенька. Проблема в том, что по рисованию у меня двойка. Поэтому я нашла ванильную балясину и скриптом приделала к ней шейдер GhostFXShader. Балясина стала светиться приятным голубеньким цветом, но прозрачной не стала. Подозреваю, что есть некое свойство, которое можно прикрутить скриптом, задающее объекту прозрачность. Не знаете ли, как оно называется? Тут тебе надо файл редактировать. Например, получить такой же эффект, как у призрачного меча драугров, одними скриптами ты не сможешь.
Brannweig Опубликовано 16 февраля, 2021 Опубликовано 16 февраля, 2021 16.02.2021 03:54:50, Azazellz сказал(-а): Тут тебе надо файл редактировать. Например, получить такой же эффект, как у призрачного меча драугров, одними скриптами ты не сможешь. А если СпойлерScriptname GhostItmScript extends object reference EFFECTSHADER PROPERTY pGhostFXShader AUTO Bool property bSetAlphaZero = True auto EVENT onLoad() Actor ActorRef = SELF as Actor SELF.setAlpha(0.3) pGhostFXShader.play(SELF) EndEvent ?
Azazellz Опубликовано 16 февраля, 2021 Опубликовано 16 февраля, 2021 16.02.2021 05:19:24, Brannweig сказал(-а):А если Нет. Не заработает. SetAlpha работает только с актерами. На ступеньку ты его не скастуешь. На самом деле, все что тебе нужно - это настроить шейдеры и текстуры в нифскопе. Ибо всё остальное уже есть в игре. Меч драугров использует только ванильные файлы, те же самые, что и обычный меч - но в другом формате. Ну или всегда можно просто поставить параметр прозрачности объекту на нужное значение. Есть там и такая опция. Открой файл, изучи - там все более-менее понятно, если английского словарного запаса хватает.
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти