Ресурсы из Heroes® of Might & Magic® III: HD Editon |
Здравствуйте, гость ( Вход | Регистрация )
Ресурсы из Heroes® of Might & Magic® III: HD Editon |
06 Feb 2015, 16:18
Сообщение
#41
|
|
Etoprostostatus Сообщений: 8 527 Спасибо сказали: 15833 раза |
И я не понял - Так в HD Edition все таки есть полупрозрачность? Есть. Издержки 32-битности)) -------------------- Etoprostopodpis'
|
|
|
06 Feb 2015, 16:19
(Сообщение отредактировал Axolotl - 06 Feb 2015, 16:25)
Сообщение
#42
|
|
I must gather my party before venturing forth Сообщений: 5 071 Спасибо сказали: 17752 раза |
И я не понял - Так в HD Edition все таки есть полупрозрачность? Есть. Издержки 32-битности)) Хмм..а подробнее, в каком виде? Полноценно? Везде? -------------------- |
|
|
06 Feb 2015, 16:34
Сообщение
#43
|
|
Etoprostostatus Сообщений: 8 527 Спасибо сказали: 15833 раза |
Ну, бОльшая часть спрайтов без фона, в смысле, прозрачность полная. Тени - чёрные кляксы с полупрозрачностью. В то же время, там, где очень нужна полупрозрачность - её нет. Вот пример спрайтов тени в анимации голема и заклинания медлительности. Казалось бы, заклинание должно угасать, то есть появляться полупрозрачность, нарастающая до прозрачности, но нет, тупой апскейл дырок в кадре.
-------------------- Etoprostopodpis'
|
|
|
06 Feb 2015, 16:38
Сообщение
#44
|
|
Сообщений: 2 042 Спасибо сказали: 8090 раз |
Стоп, тени не генерируются находу, а сохранены в отдельных дефах? WTF, оптимизация 80 lvl.
|
|
|
06 Feb 2015, 16:42
Сообщение
#45
|
|
Immortal Сообщений: 7 869 Спасибо сказали: 16061 раз |
Ты ещё не видел 8 копий всех ассетов интерфейса под каждый цвет игрока.
|
|
|
06 Feb 2015, 16:44
Сообщение
#46
|
|
Immortal Сообщений: 2 459 Спасибо сказали: 3611 раз |
Цитата Стоп, тени не генерируются находу, а сохранены в отдельных дефах? WTF, оптимизация 80 lvl. По моему динамическое освещение в 2d относительно недавнее явление, это же чертовски ресурсоемко для машин девяностых и начала нулевых. |
|
|
06 Feb 2015, 17:11
(Сообщение отредактировал DrSlash - 06 Feb 2015, 17:14)
Сообщение
#47
|
|
Сообщений: 2 042 Спасибо сказали: 8090 раз |
По моему динамическое освещение в 2d относительно недавнее явление, это же чертовски ресурсоемко для машин девяностых и начала нулевых. Но мы то говорим про переиздание 2015 года, у которого и системные требования соответствующие... Да и к тому же, точно помню, что в софтинах по работе с дефами есть возможность автоматической генерации теней. Там всего-то нужно растянуть проекцию спрайта под нужным углом. Не намного сложнее эффектов от заклинаний (жажда крови и т.п.). Тем более, не обязательно же всё генерировать в реальном времени - можно некое подобие кэша задействовать и генерировать все необходимые тени при начале боя, например. Ты ещё не видел 8 копий всех ассетов интерфейса под каждый цвет игрока. Видел. Разбил лицо ладонью от эпичного фэйспалма. Даже если там надо было менять больше одного оттенка (т.е. не как с флагами двеллингов), то могли бы накрайняк запилить маски, по которым можно было бы определять зону спрайта, у который должен меняться цвет. |
|
|
06 Feb 2015, 17:18
(Сообщение отредактировал Axolotl - 06 Feb 2015, 17:22)
Сообщение
#48
|
|
I must gather my party before venturing forth Сообщений: 5 071 Спасибо сказали: 17752 раза |
Стоп, тени не генерируются находу, а сохранены в отдельных дефах? WTF, оптимизация 80 lvl. Это как раз все правильно. Делать нормальные тени из 2д спрайта почти невозможно. Кривые тени можно сгенерить, а для нормальных нужна инфа о глубине объекта. Есть методы, типа использования Depth Buffer'а, но это тоже возможно только с пререндерами, т.е. не имея 3д сцен это тоже невозможно. Да даже этот метод хоть и дает ряд нужных возможностей, но в плане оптимизации - напротив, более ресурсоемок. Цитата Там всего-то нужно растянуть проекцию спрайта под нужным углом. Вот-вот - нужна инфа о глубине. Попробуй таким методом сгенерить тень для объекта типа стола с четырьмя ножками так, чтобы тень от всех ножек попадала правильно. Цитата Ну, бОльшая часть спрайтов без фона, в смысле, прозрачность полная. Тени - чёрные кляксы с полупрозрачностью. В то же время, там, где очень нужна полупрозрачность - её нет. Вот пример спрайтов тени в анимации голема и заклинания медлительности. Казалось бы, заклинание должно угасать, то есть появляться полупрозрачность, нарастающая до прозрачности, но нет, тупой апскейл дырок в кадре. А не пробовал сам сделать один из спрайтов полупрозрачным? А то вдруг работает? Тени же как-то работают. От них всего можно ждать.... -------------------- |
|
|
06 Feb 2015, 17:20
Сообщение
#49
|
|
Immortal Сообщений: 7 869 Спасибо сказали: 16061 раз |
Дак там по идее несколько строчек кода - и вуаля, полупрозрачность есть. Но я не думаю, что это впилено.
|
|
|
06 Feb 2015, 17:24
Сообщение
#50
|
|
Immortal Сообщений: 23 594 Спасибо сказали: 19753 раза |
Это как раз все правильно. Делать нормальные тени из 2д спрайта почти невозможно. Кривые тени можно сгенерить, а для нормальных нужна инфа о глубине объекта. Стоп-стоп-стоп. Это всё было бы справедливо в случае множества источников света, сложного ландшафта, отбрасывания теней поверх объектов и т. п. — однако в трёшке на экране боя и на карте все тени имеют одинаковый не меняющийся угол от одного источника света, отбрасываются исключительно на условную плоскость и не накладываются на объекты, не относящиеся к ландшафту (который считается плоским). Сгенерированный условных теней в подавляющем случаев более чем достаточно, а когда недостаточно — проще всего просто подправить нужные фрагменты самостоятельно.Есть методы, типа использования Depth Buffer'а, но это тоже возможно только с пререндерами, т.е. не имея 3д сцен это тоже невозможно. Да даже этот метод хоть и дает ряд нужных возможностей, но в плане оптимизации - напротив, более ресурсоемок. P.S. Раз уж зашла речь о сложных освещении и тенях в 2д-играх — хочется напомнить о Nox, где с 2д пререндеренной графикой разработчики реализовали великолепное динамическое освещение без хранения информации о глубине составляющих спрайта и тому подобных новых для 2д-игр технологий. -------------------- |
|
|
06 Feb 2015, 17:30
(Сообщение отредактировал Axolotl - 06 Feb 2015, 17:31)
Сообщение
#51
|
|
I must gather my party before venturing forth Сообщений: 5 071 Спасибо сказали: 17752 раза |
Это как раз все правильно. Делать нормальные тени из 2д спрайта почти невозможно. Кривые тени можно сгенерить, а для нормальных нужна инфа о глубине объекта. Стоп-стоп-стоп. Это всё было бы справедливо в случае множества источников света, сложного ландшафта, отбрасывания теней поверх объектов и т. п. — однако в трёшке на экране боя и на карте все тени имеют одинаковый не меняющийся угол от одного источника света, отбрасываются исключительно на условную плоскость и не накладываются на объекты, не относящиеся к ландшафту (который считается плоским). Сгенерированный условных теней в подавляющем случаев более чем достаточно, а когда недостаточно — проще всего просто подправить нужные фрагменты самостоятельно.Есть методы, типа использования Depth Buffer'а, но это тоже возможно только с пререндерами, т.е. не имея 3д сцен это тоже невозможно. Да даже этот метод хоть и дает ряд нужных возможностей, но в плане оптимизации - напротив, более ресурсоемок. Нет, дело не только в отбрасывании тени на другую, сложную геометрию. Дело именно в информации о глубине объекта. Я там вше P.S.нул пример про стол с четырьмя ножками - тут никак не узнать о том, на какой глубине дальние ножки. Как ни настраивай, таким методом, либо одни не будут попадать - либо другие. -------------------- |
|
|
06 Feb 2015, 17:34
Сообщение
#52
|
|
Immortal Сообщений: 23 594 Спасибо сказали: 19753 раза |
Нет, дело не только в отбрасывании тени на другую, сложную геометрию. Дело именно в информации о глубине объекта. Я там вше P.S.нул пример про стол с четырьмя ножками - тут никак не узнать о том, на какой глубине дальние ножки. Как ни настраивай, таким методом, либо одни не будут попадать - либо другие. В случае трёшки это в любом случае неактуально. В бою — угол существ и отбрасываемой тени делает проблему неактуальной в принципе. На карте же приключений, где генерация может не справиться — можно, например, отдельно сгенерировать тень для каждой из ножек, сгенерировать или нарисовать тень от столешницы и самостоятельно собрать это воедино; но это в любом случае в конечном счёте будет всего несколько фреймов в не очень высоком разрешении, так что как раз их хранение отдельно будет не столь сильно отражаться на оптимизации, как в случае "боевых" теней.
-------------------- |
|
|
06 Feb 2015, 17:35
Сообщение
#53
|
|
Etoprostostatus Сообщений: 8 527 Спасибо сказали: 15833 раза |
А не пробовал сам сделать один из спрайтов полупрозрачным? А то вдруг работает? Тени же как-то работают. От них всего можно ждать.... Для того, чтобы его проверить в игре, нужно уметь не только распаковывать *.pak-архивы игры, но и запаковывать их. Дак там по идее несколько строчек кода - и вуаля, полупрозрачность есть. Но я не думаю, что это впилено. Впилено, по-моему, не зря ж все текстуры 32-битные, даже те, где нет прозрачности. -------------------- Etoprostopodpis'
|
|
|
06 Feb 2015, 17:39
Сообщение
#54
|
|
Immortal Сообщений: 23 594 Спасибо сказали: 19753 раза |
Вдогонку к предыдущему моему посту: в любом случае, что мешает сохранить тень вместе с основным спрайтом — просто выделив её диапазон цветов под затенение? Или поступить как DotEmu, реализовав тень тупо в виде чёрной заливки с альфа-каналом — но при этом сделать её частью основного спрайта, в котором в любом случае есть альфа, а не выделять в отдельный.
-------------------- |
|
|
06 Feb 2015, 17:51
(Сообщение отредактировал Axolotl - 06 Feb 2015, 17:55)
Сообщение
#55
|
|
I must gather my party before venturing forth Сообщений: 5 071 Спасибо сказали: 17752 раза |
Нет, дело не только в отбрасывании тени на другую, сложную геометрию. Дело именно в информации о глубине объекта. Я там вше P.S.нул пример про стол с четырьмя ножками - тут никак не узнать о том, на какой глубине дальние ножки. Как ни настраивай, таким методом, либо одни не будут попадать - либо другие. В случае трёшки это в любом случае неактуально. В бою — угол существ и отбрасываемой тени делает проблему неактуальной в принципе. Как раз именно в Героях (с его углом) и именно в бою у существ это актуально. Любое четвероногое, особенно с сильно расставленными ногами будет иметь такой дефект, если тень сгенерить автоматом.. В Героях, при стандартном разрешении, единственное, что этот дефект будет мало заметен из-за маленького размера спрайтов, там если и тень начнет отставать, то макс. на пару пикселей (но все равно это заметно бы было). Но чем больше масштаб тем сильнее отставание и заметнее дефект. Цитата На карте приключений — можно, например, отдельно сгенерировать тень для каждой из ножек, сгенерировать или нарисовать тень от столешницы и самостоятельно собрать это воедино. Вручную конечно можно, это само собой, там хоть кисточкой можно нарисовать. Но речь шла об автогенерации, да еще и "на ходу". Вдогонку к предыдущему моему посту: в любом случае, что мешает сохранить тень вместе с основным спрайтом — просто выделив её диапазон цветов под затенение? Или поступить как DotEmu, реализовав тень тупо в виде чёрной заливки с альфа-каналом — но при этом сделать её частью основного спрайта, в котором в любом случае есть альфа, а не выделять в отдельный. А вот это ХЗ. В других проектах так и поступали. P.S. Скорее всего, такой способ как-то связан с необходимостью генерации обводки. Но это просто догадка. -------------------- |
|
|
06 Feb 2015, 17:59
(Сообщение отредактировал Etoprostoya - 06 Feb 2015, 17:59)
Сообщение
#56
|
|
Etoprostostatus Сообщений: 8 527 Спасибо сказали: 15833 раза |
Вдогонку к предыдущему моему посту: в любом случае, что мешает сохранить тень вместе с основным спрайтом — просто выделив её диапазон цветов под затенение? Или поступить как DotEmu, реализовав тень тупо в виде чёрной заливки с альфа-каналом — но при этом сделать её частью основного спрайта, в котором в любом случае есть альфа, а не выделять в отдельный. Кажется, я ввёл некоторых людей в заблуждение. Нет разницы между спрайтами с тенями и без теней - на одной текстуре могут разместиться и тени и простые кадры, но отдельно друг от друга. -------------------- Etoprostopodpis'
|
|
|
06 Feb 2015, 18:06
(Сообщение отредактировал Axolotl - 06 Feb 2015, 18:07)
Сообщение
#57
|
|
I must gather my party before venturing forth Сообщений: 5 071 Спасибо сказали: 17752 раза |
Ну это, по сути мало что меняет, все равно же они оторванные...вот попробовать бы сделать сам спрайт существа полупрозрачным, посмотреть что будет. А что там с запаковкой назад, я думал там все просто?
Правда что это дает? Я, конечно же, думал о том, чтобы если там это таки впилено, то может как-то этот код к трешке нормальной можно приспособить. -------------------- |
|
|
06 Feb 2015, 18:29
Сообщение
#58
|
|
Etoprostostatus Сообщений: 8 527 Спасибо сказали: 15833 раза |
Ну это, по сути мало что меняет, все равно же они оторванные... Насколько я помню, сначала отрисовывается тень объекта(ов), а потом сам(и) объект(ы), чтобы тени не налезали на отрисованные до них объекты. Код не сильно менялся, поэтому тени и отдельно от своих "хозяев". В оригинальных дефах тени и из "хозяева" в одном кадре, но разделены специальными цветами палитры. В УГ "дефах" нет палитры, поэтому тени и "хозяева" разделены физически. Очередной костыль, да. -------------------- Etoprostopodpis'
|
|
|
06 Feb 2015, 18:36
(Сообщение отредактировал Axolotl - 06 Feb 2015, 18:39)
Сообщение
#59
|
|
I must gather my party before venturing forth Сообщений: 5 071 Спасибо сказали: 17752 раза |
Ну это, по сути мало что меняет, все равно же они оторванные... Насколько я помню, сначала отрисовывается тень объекта(ов), а потом сам(и) объект(ы), чтобы тени не налезали на отрисованные до них объекты. Код не сильно менялся, поэтому тени и отдельно от своих "хозяев". В оригинальных дефах тени и из "хозяева" в одном кадре, но разделены специальными цветами палитры. В УГ "дефах" нет палитры, поэтому тени и "хозяева" разделены физически. Очередной костыль, да. Так в том и дело, что там нету палитры. Т.е. движок в HD Edition рендерит полупрозрачные тени именно из альфа канала. Тем более, что и сами спрайты на фоне альфы, хоть и без полупрозрачных кусков. Мне кажется маловероятным, что рендер теней там сделан отдельным куском кода, чем рендер спрайтов. Поэтому, думается, если сделать спрайт полупрозрачным - то большой шанс, что он таким в игре и будет. Полупрозрачным. Т.е. полупрозрачность там вероятно впилена, но графически не реализована. -------------------- |
|
|
06 Feb 2015, 18:53
Сообщение
#60
|
|
Etoprostostatus Сообщений: 8 527 Спасибо сказали: 15833 раза |
Мне кажется маловероятным, что рендер теней там сделан отдельным куском кода, чем рендер спрайтов. Тем не менее, это так.Цитата Поэтому, думается, если сделать спрайт полупрозрачным - то большой шанс, что он таким в игре и будет. Полупрозрачным. Т.е. полупрозрачность там вероятно впилена, но графически не реализована. Не сомневаюсь в этом.
-------------------- Etoprostopodpis'
|
|
|
Текстовая версия | Сейчас: 25 April 2024 - 02:46 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |