Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Закрома Родины
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77
RedMagic
Цитата(nikita_nz1986 @ 12.08.2015, 09:29) *
Кто знает почему?[error]Description : index is out of range: index requested[12], size of container[12]

Так оно же пишет что размер контейнера 12 элементов, а был запрошен элемент с индексом 12 (которого не существует), и поэтому индекс за пределами диапазона допустимых значений.
PS: На всякий случай уточню что почти везде в программировании нумерация идет с 0. Т.е. в коллекции из 12 элементов последним будет элемент с индексом 11 т.к. первый элемент имеет индекс 0.
MegaNub
Цитата(Shadows @ 11.08.2015, 22:26) *
А действия в точности выполнял?

Наверное нет, вот и не получал ошибку. Надо будет попробовать её воспроизвести, а то какая-то магия выходит, у кого-то она есть, а у меня нет, бред.

Цитата(-StalkMen- @ 11.08.2015, 21:54) *
OPCODE в PhysX

А чего собственно удивительного? Зачем изобретать велосипед, когда можно взять готовый?
nikita_nz1986
А это кто нибудь объяснит?slot_list->ItemsCount()==1
RedMagic
Цитата(nikita_nz1986 @ 12.08.2015, 12:37) *
А это кто нибудь объяснит?slot_list->ItemsCount()==1

Я c++ уже давно не использовал, но вроде это обращение к члену ItemsCount() структуры slot_list которое потом проверяется на соответствие единице.
Shoкer
slot_list это указатель ( * ) на объект какого то класса. Через -> идёт вызов его функции ItemsCount(), и проверяется что её результат равен == 1-ке.
RayTwitty
Никто не знает, как можно получить доступ к громкости динамиков из движка? Чтобы потом менять при необходимости в игре, не сворачивая её (по мультимедийным кнопкам на клаве, которые почему-то не работают).
RedMagic
Цитата(Shadows @ 14.08.2015, 01:26) *
Никто не знает, как можно получить доступ к громкости динамиков из движка? Чтобы потом менять при необходимости в игре, не сворачивая её (по мультимедийным кнопкам на клаве, которые почему-то не работают).

Вроде то что нужно: Endpoint Volume Controls
PS: И работать тут нужно не с движком, а с API самой ОС.
jamakasi
Shadows, В обработке клавиатуры добавить возможность использовать доп кнопки(мультимедия). В движке откопать как задается уровень громкости в настройках и подправить этот метод или вынести возможность бинда кнопки на него.
nikita_nz1986
Что означает m_creation_step =u64(-1) ;?
Neo][
Цитата(nikita_nz1986 @ 14.08.2015, 21:11) *
Что означает m_creation_step =u64(-1) ;?

nikita_nz1986, m_creation_step присваивается uint64 максимальное значение, гугл: целочисленное переполнение.
В данном случае используется скорее всего, для инициализации переменной заведомо "некорректным" значением. Т.к. любое значение(номер шага(?)) может быть корректным, поэтому делают такое допущение.
nikita_nz1986
Цитата(Neo][ @ 17.08.2015, 12:10) *

Цитата(nikita_nz1986 @ 14.08.2015, 21:11) *
Что означает m_creation_step =u64(-1) ;?

nikita_nz1986, m_creation_step присваивается uint64 максимальное значение, гугл: целочисленное переполнение.
В данном случае используется скорее всего, для инициализации переменной заведомо "некорректным" значением. Т.к. любое значение(номер шага(?)) может быть корректным, поэтому делают такое допущение.

Спасибо, хоть кто то пояснил.
abramcumner
Цитата(nikita_nz1986 @ 18.08.2015, 00:52) *
Спасибо, хоть кто то пояснил.

А как же " с божьей помощью разобрался"?
nikita_nz1986
Цитата(abramcumner @ 18.08.2015, 02:37) *
Цитата(nikita_nz1986 @ 18.08.2015, 00:52) *
Спасибо, хоть кто то пояснил.

А как же " с божьей помощью разобрался"?

Самый умный смотрю?
SkyLoader
Исправил Глоу менеджер.
https://www.youtube.com/watch?v=468C36mu3fY
Помимо реализации этого менеджера на динамическом освещении сейчас исправил некоторые проблемы, которые можно заметить в Lost Alpha, а именно:
На динамике в ЛА было резкое исчезновение глоу, когда глоу находится за препятствием, из-за этого больше времени уходило на исчезновение. Сейчас сделано плавное затухание, которое раньше работало только на р1.
Если отвернуться от работающего глоу и повернуться на него, находясь за стеной, он некоторое время будет виден. Особенно этот баг в ЛА мешает в подземельях, когда глоу вечно появлялись за стенами и потом пропадали.

К чему, собственно, этот пост: есть у кого идеи, как сделать, чтобы глоу не рисовались поверх худа? На видео это можно заметить на 0:33 секунде.
Cossack-HD
Цитата(SkyLoader @ 20.08.2015, 17:03) *
Исправил Глоу менеджер.
https://www.youtube.com/watch?v=468C36mu3fY
Помимо реализации этого менеджера на динамическом освещении сейчас исправил некоторые проблемы, которые можно заметить в Lost Alpha, а именно:
На динамике в ЛА было резкое исчезновение глоу, когда глоу находится за препятствием, из-за этого больше времени уходило на исчезновение. Сейчас сделано плавное затухание, которое раньше работало только на р1.
Если отвернуться от работающего глоу и повернуться на него, находясь за стеной, он некоторое время будет виден. Особенно этот баг в ЛА мешает в подземельях, когда глоу вечно появлялись за стенами и потом пропадали.

К чему, собственно, этот пост: есть у кого идеи, как сделать, чтобы глоу не рисовались поверх худа? На видео это можно заметить на 0:33 секунде.

Люто плюсую, глючные glow/flares на r2/r3 дико раздражают.
macron
Цитата(SkyLoader @ 20.08.2015, 16:03) *
есть у кого идеи, как сделать, чтобы глоу не рисовались поверх худа

Может, ковырять шейдер models/model или models/weapons, на котором сделана модель худа...
RayTwitty
QUOTE (SkyLoader @ 20.08.2015, 15:03) *
К чему, собственно, этот пост: есть у кого идеи, как сделать, чтобы глоу не рисовались поверх худа? На видео это можно заметить на 0:33 секунде.

Не только у глоу есть такая проблема, но и у фларов солнца.

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

З.Ы. если это так, то можно пробовать два раза отрисовать худ - сначала до расчета глоу\фларов, но без видимости для актора, а потом уже как обычно. Костыль, да, но других идей пока нет.
SkyLoader
Цитата(macron @ 20.08.2015, 15:19) *
Может, ковырять шейдер models/model или models/weapons, на котором сделана модель худа...

Что там можно сделать? sorting поменять?

Цитата(Shadows @ 20.08.2015, 15:30) *
Не только у глоу есть такая проблема, но и у фларов солнца.

Да, знаю, потом наверное поправлю.

Цитата(Shadows @ 20.08.2015, 15:30) *
Могу предположить, что худ рисуется слишком поздно, поэтому не попадает в расчет.

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

Цитата(Shadows @ 20.08.2015, 15:30) *
З.Ы. если это так, то можно пробовать два раза отрисовать худ - сначала до расчета глоу\фларов, но без видимости для актора, а потом уже как обычно. Костыль, да, но других идей пока нет.

Не совсем понял "но без видимости для актора".
У меня была мысль написать новую функцию рейтресинга, чтобы модель худа попадала в список статики и динамики, за которой не видно глоу, флары, но это довольно не просто.
RayTwitty
QUOTE (SkyLoader @ 20.08.2015, 15:54) *
Не совсем понял "но без видимости для актора".

Ну как с телом-тенью ГГ.

Если изменение порядка отрисовки не помогло, значит, проблема видимо в другом...

Кстати, в ЛА пофиксили позиционирование ГГ в машине после спавна? Если да, то как? Костыль (высадить и посадить обратно на спавне например) или нашли причину бага?
SkyLoader
Цитата(Shadows @ 20.08.2015, 17:26) *
Ну как с телом-тенью ГГ.

Если изменение порядка отрисовки не помогло, значит, проблема видимо в другом...

Ладно, спасибо, посмотрю, что можно сделать.

Цитата(Shadows @ 20.08.2015, 17:26) *
Кстати хотел спросить, в ЛА пофиксить позиционирование ГГ в машине после спавна? Если да, то как? Костыль (высадить и посадить обратно например на спавне) или нашли причину?

Я не нашел, костылем 5 раз после спавна высаживал/садил обратно. Если один раз пересаживать, то не поможет. Только 5 минимум насколько я помню.
RayTwitty
QUOTE (SkyLoader @ 20.08.2015, 17:31) *
Я не нашел, костылем 5 раз после спавна высаживал/садил обратно. Если один раз пересаживать, то не поможет. Только 5 минимум насколько я помню.

Скорее всего, кто-то из них (актор или машина) еще не до конца прогрузились (например физ. оболочки). Кароче, опять сидеть с отладчиком... Если найду причину, сюда напишу.
SkyLoader
Цитата(Shadows @ 20.08.2015, 17:50) *
Скорее всего, кто-то из них (актор или машина) еще не до конца прогрузились (например физ. оболочки). Кароче, опять сидеть с отладчиком... Если найду причину, сюда напишу.


Копать можно начать с того, сбивается ли или правильно заполняется вектор(массив) m_sits_transforms матрицей у машины, так как при аттаче актора:
Код
    IKinematics* K    = smart_cast<IKinematics*>(Visual());
    CInifile* ini    = K->LL_UserData();
    int id;
    if(ini->line_exist("car_definition","driver_place"))
        id=K->LL_BoneID(ini->r_string("car_definition","driver_place"));
    else
    {    
        Owner()->setVisible(0);
        id=K->LL_GetBoneRoot();
    }
    CBoneInstance& instance=K->LL_GetBoneInstance                (u16(id));
    m_sits_transforms.push_back(instance.mTransform);


Позиция гг вычисляется по элементу [0] из вектора m_sits_transforms:
Код
        if(m_pPhysicsShell->isEnabled())
        {
            Owner()->XFORM().mul_43    (XFORM(),m_sits_transforms[0]);
        }


Может в момент m_sits_transforms.push_back(instance.mTransform); элемент [0] уже есть и он некорректен. Я не хотел этим занимался, так как у меня машин в моде не будет.
Я бы вообще переназначил этот массив в одну матрицу и брал ее для ГГ. Это видимо когда еще хотели сажать неписей с ГГ в машину, тогда добавили этот массив, больше он и не используется ни для чего.
Shoкer
Может стоит посмотреть Glow из OGSE последнего? Я сам не играл, но если они не просвечивают сквозь оружие то можно их использовать на R2 и далее. На АМК в какой то теме ОГСЕ исходники в шапке есть.
UPD: Знакомый, что переносил их на ЗП сказал что тоже просвечивают.
RayTwitty
Shoкer, да, там тоже просвечивает. Инфа сотка, точно помню даже скрин кидал K.D.
[Ork]
http://www.moddb.com/mods/ultimate-weapon-...ages/the-holdup
dx12 прикручивают, обещают выложить на гитхабе (в комментариях)
cjayho
QUOTE (SkyLoader @ 20.08.2015, 15:03) *
есть у кого идеи, как сделать, чтобы глоу не рисовались поверх худа? На видео это можно заметить на 0:33 секунде.


Легко. У нас ведь есть z-buffer, что нам еще нужно?
Раньше (в оригинальном ТЧ) глоу рисовался на уровне модели источника света, и спрайт уходил внутрь модели. На тот момент исправили баг с уходом в геометрию, но глоу начал рисоваться поверх худа.
RedMagic
Цитата([Ork] @ 21.08.2015, 11:55) *

http://www.moddb.com/mods/ultimate-weapon-...ages/the-holdup
dx12 прикручивают, обещают выложить на гитхабе (в комментариях)

А давайте еще OpenGL прикрутим, глядишь потом и мультиплатформу доделают totstalkir.gif
PS: лол, там на гитхабе и правда есть ветка opengl biggrin.gif
Stalker_Monolit
Цитата([Ork] @ 21.08.2015, 11:55) *

http://www.moddb.com/mods/ultimate-weapon-...ages/the-holdup
dx12 прикручивают, обещают выложить на гитхабе (в комментариях)

Ого кто то хорошо хочет популяризировать X-Ray totstalkir.gif
MegaNub
Кому-то заняться нечем.
abramcumner
Цитата(MegaNub @ 21.08.2015, 14:53) *
Кому-то заняться нечем.

По большому счету всем, кто моддит сталкера, заняться нечем biggrin.gif
Stalker_Monolit
Цитата(abramcumner @ 21.08.2015, 14:57) *
кто моддит сталкера, заняться нечем

Это хобби не надо перекручивать на безделье!!! punish.gif
SkyLoader
Цитата(cjayho @ 21.08.2015, 12:01) *
Легко. У нас ведь есть z-buffer, что нам еще нужно?
Раньше (в оригинальном ТЧ) глоу рисовался на уровне модели источника света, и спрайт уходил внутрь модели. На тот момент исправили баг с уходом в геометрию, но глоу начал рисоваться поверх худа.

Видимо в первых патчах так было. В 1.0007 код такой же, как и в ЗП :\ Если спрайт рисуется перед камерой, то как можно повлиять на него изменением z-буфера?


Цитата([Ork] @ 21.08.2015, 11:55) *

http://www.moddb.com/mods/ultimate-weapon-...ages/the-holdup
dx12 прикручивают, обещают выложить на гитхабе (в комментариях)

Смысел в нем? Если фичи dx12 онли не прикрутят? Вот для dx11 есть тесселяция и бокэ, а для дх12? По-моему бесполезная трата времени.
-StalkMen-
Цитата(SkyLoader @ 21.08.2015, 16:22) *
Смысел

z_7.gif z_5.gif
*Имхо
Cossack-HD
Цитата(SkyLoader @ 21.08.2015, 18:22) *
Цитата(cjayho @ 21.08.2015, 12:01) *
Легко. У нас ведь есть z-buffer, что нам еще нужно?
Раньше (в оригинальном ТЧ) глоу рисовался на уровне модели источника света, и спрайт уходил внутрь модели. На тот момент исправили баг с уходом в геометрию, но глоу начал рисоваться поверх худа.

Видимо в первых патчах так было. В 1.0007 код такой же, как и в ЗП :\ Если спрайт рисуется перед камерой, то как можно повлиять на него изменением z-буфера?


Цитата([Ork] @ 21.08.2015, 11:55) *

http://www.moddb.com/mods/ultimate-weapon-...ages/the-holdup
dx12 прикручивают, обещают выложить на гитхабе (в комментариях)

Смысел в нем? Если фичи dx12 онли не прикрутят? Вот для dx11 есть тесселяция и бокэ, а для дх12? По-моему бесполезная трата времени.

Смысл в многопоточной обработке графона - это, по сути, вся суть смысла DX12 laugh.gif
Только фиг знает как хорошо это поможет на деле, но я с нетерпением жду результатов.
cjayho
QUOTE (SkyLoader @ 21.08.2015, 16:22) *
QUOTE (cjayho @ 21.08.2015, 12:01) *
Легко. У нас ведь есть z-buffer, что нам еще нужно?
Раньше (в оригинальном ТЧ) глоу рисовался на уровне модели источника света, и спрайт уходил внутрь модели. На тот момент исправили баг с уходом в геометрию, но глоу начал рисоваться поверх худа.

Видимо в первых патчах так было. В 1.0007 код такой же, как и в ЗП :\ Если спрайт рисуется перед камерой, то как можно повлиять на него изменением z-буфера?


Не изменением а выборкой данных оттуда. В пиксельном шейдере делаем проверку - если на позиции данного пикселя координата Z геометрии меньше допустимой, ставить альфу в ноль или делать clip. Тогда по крайней мере поверх рук и оружия спрайты глоу отрисовываться не будут.

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

Собственно вот тема на форуме с более подробным обсуждением - http://www.gameru.net/forum/index.php?showtopic=27415

То есть отрисовка глоу поверх всего - это не баг а фича в некотором роде smile.gif.
RayTwitty
Почитал тот топик - примерно понял, о чем была речь.



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



В 2205 билде глоу вполне нормально отрисовывается и не "обрезается" в геометрии. И показывается только тогда, когда надо.

Правда просвет через худ тоже есть.
RayTwitty

В финалке кстати через худ не просвечивает, в прошлом посте немного ошибся. Значит, разрабы выбирали между просветом через худ и обрезанием в стенке. Выбрали второе.
sergy172
Цитата(Shadows @ 21.08.2015, 20:21) *
Выбрали второе.

И это странно.
1. Во всех билдах первое, ну может в самых последних второе.
2. По идее худ могли сделать не в одной очереди со стенкой, так как у большинства игр с глоу проблем нет.
RayTwitty
sergy172, в версии шейдера cjayho из этого поста глоу работает точно также как в 2205, проверил сейчас.



Разве что яркость я бы поднял:


QUOTE (sergy172 @ 21.08.2015, 21:00) *
По идее худ могли сделать не в одной очереди со стенкой

Там видимо идет трассировка, как говорил SkyLoader, т.е. проверяется в кадре ли точка центра спрайта и не перекрывается ли она чем-то. Вот в эту трассировку надо добавить худ оружия, тогда всё будет норм.
Tron
Как движок работает с SLI?
-StalkMen-
Tron,
Вроде очень даже хорошо.
Tron
http://www.nvidia.ru/object/sli-technology-games-ru.html
тут в списках нету ЗП, странно.
Наверно там все в драйвере включается.
У кого есть такая возможность протестируйте пожалуйста

-StalkMen-
Tron,
Я не проводил сравнения, но у меня обе видяхи грузились.
*В логе->
Код
* Starting rendering as 2-GPU.

Цитата(Tron @ 22.08.2015, 04:36) *
Наверно там все в драйвере включается.

+, ещё и режим выбирать можно.

В чём собственно суть?
Tron
Да меня этот пост смутил.


Что-то у себя не могу найти эту строку..

Up:

Нашел работу с NVAPI в HWCaps.


Да есть NDA версии NV библиотек, в том числе и NVApi там в отличии от публичной есть функции для работы с SLI и т.д
SkyLoader
Цитата(Cossack-HD @ 21.08.2015, 16:47) *
Смысл в многопоточной обработке графона - это, по сути, вся суть смысла DX12 laugh.gif
Только фиг знает как хорошо это поможет на деле, но я с нетерпением жду результатов.

Тогда стоит почитать, может у себя тоже прикручивать стоит, хотя в моих локациях и так ничего не тормозит, так как тормозить нечему))

Цитата(cjayho @ 21.08.2015, 17:13) *
Не изменением а выборкой данных оттуда. В пиксельном шейдере делаем проверку - если на позиции данного пикселя координата Z геометрии меньше допустимой, ставить альфу в ноль или делать clip. Тогда по крайней мере поверх рук и оружия спрайты глоу отрисовываться не будут.

Спасибо, попробую что-нибудь сделать, но в шейдерах я не силен smile.gif
zibit_93
Цитата(-StalkMen- @ 22.08.2015, 05:08) *
* Starting rendering as 2-GPU.

На одной то же самое пишет.
-StalkMen-
zibit_93,
Ноутбук? Встроенная (в CPU) графика?
zibit_93
-StalkMen-, нет, стационар. Встроенной в проц нет.
zibit_93
Ну и встроенная с дискретной вроде не могут вместе работать.
Tron
Цитата(zibit_93 @ 23.08.2015, 20:07) *
Цитата(-StalkMen- @ 22.08.2015, 05:08) *
* Starting rendering as 2-GPU.

На одной то же самое пишет.


Ну вообще судя по коду, он и не активируется, ибо код только выясняет количество плат в матери, потом этот параметр куда-то передает(сейчас не могу проследить)

Поэтому и надо смотреть по нагрузке
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.