Автор Тема: Grand Theft Auto Vice City Quaesitum City (мод с русскими постройками)  (Прочитано 20118 раз)

Оффлайн daniltk2

  • Призрак
  • Сообщений: 48
  • Репутация: +5/-0
    • Просмотр профиля
Там прикол в том, что под определенным углом лагает альфа на деревьях и стеклах
Это бывает и в обычной игре с деревьями
Вдруг выпустили скрипт, который это фиксит
Да, самого бесит эта проблема, но я даже не знаю, где начинать копать в поисках её решения...
Иногда спасает комбинация флагов 4 и 64 (68), но не во всех случаях  :(

Самый бесячий баг 3D GTA
На пс2 такого ни в одной части нет, видимо просто движок приспособлен полноценно только для консольки

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Если имеется ввиду контур вокруг альфы, то его можно уменьшить увеличением размера и качества самой текстуры, но убрать совсем не получится. На хороших деревьях его почти не заметно.


У тебя похоже контур слишком толстый из-за низкого разрешения текстуры кустов

Оффлайн daniltk2

  • Призрак
  • Сообщений: 48
  • Репутация: +5/-0
    • Просмотр профиля
Если имеется ввиду контур вокруг альфы, то его можно уменьшить увеличением размера и качества самой текстуры, но убрать совсем не получится. На хороших деревьях его почти не заметно.


У тебя похоже контур слишком толстый из-за низкого разрешения текстуры кустов
Ты не совсем прав
Лагает "серая" альфа, то есть полупрозрачности
То есть под определенным углом перестаёт она правильно читаться и просвечивает все объекты
Если убрать полупрозрачности, то альфа будет почти идеальна
Стекло полупрозрачное - дефект
Вокруг текстуры листвы полупрозрачность - дефект

Оффлайн DK

  • Новичок
  • **
  • Сообщений: 234
  • Репутация: +328/-0
    • dk22pac
    • Просмотр профиля
Чтобы обьект-статика не "просвечивался" на фоне других обьеков - надо у обьекта с прозрачностью выставить флаг DRAW_LAST.
Если обьект-статика "просвечивается" на фоне себя же - надо отделять куски с прозрачностью и ставить им флаг DRAW_LAST. В случае с деревом надо отделить все ветки (каждую желательно в отдельный обьект). Каждый обьект надо нормально "отцентрировать" (выставить т.н. pivot в центр геометрии обьекта).


Ты, наверное, недоумеваешь от такой картины, а я тебе её очень просто обьясню: у тебя в сцене сначала рисуется трава (ландшафт), далее кусты и деревья, и далее дом.
И вот когда рисуется дом, и когда тексель из текстуры дома хочет залезть в пиксель, в который записана информация о цвете куста/дерева, буфер глубины ему отвечает: - "Тут занято". - "Но там же полупрозрачный пиксель?!". - "А мне пофигу, для меня вы все черно-белые".
« Последнее редактирование: Октябрь 22, 2018, 06:04:12 pm от DK »
Plugin-SDK https://github.com/DK22Pac/plugin-sdk

Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Я у себя такой проблемы не замечал в таких масштабах. Деревья нормальные, объекты за ними видно, стекла просвечивают как положено, много интерьеров с видом и внутрь и на улицу, у всех флаг 132. Была по началу проблема исчезновения за двойными стеклами, когда видно через дом насквозь, но я ее решил разделением на внутренние и внешние стороны стекла. Ни разу стекла не глючили, как тут описано.

Оффлайн aleks926820

  • Проверенный
  • *
  • Сообщений: 27
  • Репутация: +7/-0
    • Просмотр профиля
Если имеется ввиду контур вокруг альфы, то его можно уменьшить увеличением размера и качества самой текстуры, но убрать совсем не получится. На хороших деревьях его почти не заметно.


У тебя похоже контур слишком толстый из-за низкого разрешения текстуры кустов

Иногда спасает прогон альфа канала через пеинт путем сохранения как "монохромный рисунок". Альфа читается гораздо лучше, но при этом теряются ч\б оттенки.

Оффлайн daniltk2

  • Призрак
  • Сообщений: 48
  • Репутация: +5/-0
    • Просмотр профиля
Чтобы обьект-статика не "просвечивался" на фоне других обьеков - надо у обьекта с прозрачностью выставить флаг DRAW_LAST.
Если обьект-статика "просвечивается" на фоне себя же - надо отделять куски с прозрачностью и ставить им флаг DRAW_LAST. В случае с деревом надо отделить все ветки (каждую желательно в отдельный обьект). Каждый обьект надо нормально "отцентрировать" (выставить т.н. pivot в центр геометрии обьекта).


Ты, наверное, недоумеваешь от такой картины, а я тебе её очень просто обьясню: у тебя в сцене сначала рисуется трава (ландшафт), далее кусты и деревья, и далее дом.
И вот когда рисуется дом, и когда тексель из текстуры дома хочет залезть в пиксель, в который записана информация о цвете куста/дерева, буфер глубины ему отвечает: - "Тут занято". - "Но там же полупрозрачный пиксель?!". - "А мне пофигу, для меня вы все черно-белые".
Я уж не настолько тупой, флаги все перепробовал
У меня альфа нормально работает, но если смотреть под определённым углом, то вся альфа, независимо от флагов и текстур, просвечивает всё
Это происходит только в одном ракурсе и со всеми моделями
Белое и черное отображается нормально, но края и серая альфа имеют такое свойство конкретно на движке VC
Да и смысл мне что-то слушать от человека, который разбирается в SA, а не Вайсе
Так что не нужно делать из себя умного и объяснять как ребёнку про флаг 4, как будто я вообще ничего не знаю

Оффлайн daniltk2

  • Призрак
  • Сообщений: 48
  • Репутация: +5/-0
    • Просмотр профиля
Я у себя такой проблемы не замечал в таких масштабах. Деревья нормальные, объекты за ними видно, стекла просвечивают как положено, много интерьеров с видом и внутрь и на улицу, у всех флаг 132. Была по началу проблема исчезновения за двойными стеклами, когда видно через дом насквозь, но я ее решил разделением на внутренние и внешние стороны стекла. Ни разу стекла не глючили, как тут описано.
Флаг 132 делает лучше, но не совсем то
У меня всё хорошо, бегаю, всё работает, а только под одним углом абсолютно вся альфа с полупрозрачностями имеет дефект
На деревьях не особо заметно, потому что в стандартной игре такая же проблема, а вот балконы сразу заставляют глаза плавиться

Это при всех ракурсах

А это перед одним единственным, под этим углом похоже все флаги просто перестают работать, по другому объяснить невозможно


Вот сама альфа в txd

Оффлайн DK

  • Новичок
  • **
  • Сообщений: 234
  • Репутация: +328/-0
    • dk22pac
    • Просмотр профиля
Цитировать
Я уж не настолько тупой
Из твоих постов как раз такое впечатление о тебе. Тем более, если ты "пробовал все флаги". Твой путь - сделать наугад и надеяться, что заработает.

Я попытался объяснить корень причины - неправильный порядок рендера обьектов. Какое объяснение у тебя? "Мистика, что-то в движке, альфа в txd...".

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

Цитировать
Да и смысл мне что-то слушать от человека, который разбирается в SA, а не Вайсе
Я даже больше скажу - я никогда не занимался моделированием/маппингом для Vice City - т.е. не создавал модели и не вставлял их в игру. Но когда возникают такие проблемы, я знаю, где искать их причины, могу целый список составить - куда надо смотреть и что проверить. А ты предлагаешь на текстуру посмотреть в txd-workshop'е. Почему так?
Plugin-SDK https://github.com/DK22Pac/plugin-sdk

Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
daniltk2, откуда столько негатива? Здесь никто так себя не ведет, как ты. Предъявляешь претензии, что твой мод не так поддерживают, огрызаешься на обсуждения проблем. Если тебе какая-то информация кажется "детской", то может другим прочитавшим она будет полезна, это все-таки форум. Тебя никто не пытается здесь обидеть, воспринимай информацию адекватно. И насчет знаний DK ты сто раз не прав. Он знает и умеет побольше, чем все здесь вместе взятые, можешь просто поизучать его посты, программы и моды или просто посмотри на его репутацию. Так что давай в дальнейшем без истерик, будем уважать друг друга.

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

В качестве предложения - выложи мод и подробное описание проблемного места для воспроизведения бага, может кто-то потестирует, скажет как у него проявляется и что-то подправит.
« Последнее редактирование: Октябрь 23, 2018, 05:01:38 am от xanser »

Оффлайн daniltk2

  • Призрак
  • Сообщений: 48
  • Репутация: +5/-0
    • Просмотр профиля
Цитировать
Я уж не настолько тупой
Из твоих постов как раз такое впечатление о тебе. Тем более, если ты "пробовал все флаги". Твой путь - сделать наугад и надеяться, что заработает.

Я попытался объяснить корень причины - неправильный порядок рендера обьектов. Какое объяснение у тебя? "Мистика, что-то в движке, альфа в txd...".

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

Цитировать
Да и смысл мне что-то слушать от человека, который разбирается в SA, а не Вайсе
Я даже больше скажу - я никогда не занимался моделированием/маппингом для Vice City - т.е. не создавал модели и не вставлял их в игру. Но когда возникают такие проблемы, я знаю, где искать их причины, могу целый список составить - куда надо смотреть и что проверить. А ты предлагаешь на текстуру посмотреть в txd-workshop'е. Почему так?
Кстати, похоже реально такое происходит из-за количества объеков, всё же заменю эти текстуры балконов
Прости, что наехал на тебя, потому что обидно - обращаюсь с конкретной проблемой, а мне советуют поставить флаг 4. Мои познания не настолько малы

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
и ни под какими углами у меня не проявляется пропадание

Да, но у тебя всё же были аномалии, связанные с камерой. Я имею в виду, что в игре действительно есть какая-то фигня с переполнением лимитов в зоне видимости камеры(сам баг с альфой редко, но встречается и в оригинальной игре без модов: 1, 2).
Причем авторы PC порта это знали: это видно на примере удаленных пальм в отеле. В "data\maps\hotel\hotel.ipl" строки с пальмами "выкинули" в 0 интерьер. Если вернуть интерьер на 1, пальмы возвращаются, ровно как и баг с альфой: 1, 2.

Почему я написал "авторы PC порта"? Да потому, что в оригинале на PS2 никаких проблем с пальмами и их отображением нет(есть еще такое видео, оно с PS4, по словам автора), а на PC баг виден еще со входа. Судя по этой и многим другим проблемам PC версии игры, авторы порта многие проблемы решали таким образом - просто удаляли к чертям всё, вместо нормального фикса.

P.S. Насчет DK полностью согласен. Иногда я понимаю смысл написанного им лишь через несколько месяцев(лет), после того, как я это прочитал))
« Последнее редактирование: Октябрь 24, 2018, 03:24:21 am от Shagg_E »

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Попробую воспроизвести с интерьером, надо разобраться до конца. Проблемы по приведенной ссылке у меня были связаны с кривым объявлением функций, когда я использовал структуры вместо классов. Потом я сделал в точности, как предлагал DK, и проблем не стало. Припоминаю еще проблемы исчезновения с краю камеры, но вроде бы все решилось расширением рендера по сторонам

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Проблемы по приведенной ссылке у меня были связаны с кривым объявлением функций, когда я использовал структуры вместо классов.
Да, я помню, но всё равно же странно, что проблема зависела от положения камеры. Мне кажется, это где-то рядом с проблемой альфы.

Припоминаю еще проблемы исчезновения с краю камеры, но вроде бы все решилось расширением рендера по сторонам
Буду очень признателен, если где-нибудь опубликуешь решение. Сам очень давно ищу способ разобраться с этой проблемой.
« Последнее редактирование: Октябрь 23, 2018, 06:44:41 pm от Shagg_E »

Оффлайн daniltk2

  • Призрак
  • Сообщений: 48
  • Репутация: +5/-0
    • Просмотр профиля
Проблема со стеклами отчасти зависит от габаритов кола объекта
Увеличил границу кола и сразу окна стали реже исчезать
Нашёл странность еще в том, что на некоторых блочных пятиэтажках у меня используются балконы с затемнёнными стеклами и там альфа работает безупречно
Всё таки это отчасти зависит и от того, что "моргающие" балконы поставлены отдельным объектом
Так что всяких предпосылок для появления этого бага можно найти
Всё же это реально важная тема для обсуждения, потому что можно часто встретиться с этой ситуацией в глобальном моде, где используется много текстур с альфа каналом
Скрипт бы был какой-нибудь, который это исправлял, но это уже зависит от самой платформы игры, ведь на ps2 такой беды нет и в помине