Closed Qwertyus3D closed 2 years ago
func_door не поддерживает angles
Формально - нет, а на деле - да. func_door и func_button - это практически одинаковые энтити. В них angles поддерживается, но задаёт не расположение энтити, а направление смещения после активации.
как на счет infoplayer
Это, видимо, единственная точечная энтить, которая в игре работает по той же логике, что и брашевые. Да, она задаёт угол обзора так, как мы видим в редакторе, но это исключение. Другие точечные энтити наклоняются в противоположном направлении, включая любых монстров и трипмину. Любые студиомодели, короче. Не уверен, как ведут себя не-студиомодельные точечные энтити...
Ну, в общем, я пробежался по разным типам энтить. Брашевые, которые поддерживают angles (и infoplayer), соответствуют в редакторе и игре. Студиомодели - инвертированы. Остальные энтити можно оставить, как есть, т. к., если честно, у многих их них angles даже если прописаны в FGD, то по факту не делают ничего, либо работает только Yaw, и всё. Либо сложно проверять (да и большой потребности трогать их вроде нет). Допустим, освещение же не поменяется на карте, если энтить отредактировать. Поэтому предлагаю инверсию сделать для тех энтить, которые относятся к студиомоделям. Т. е. monster, weapon, ammo, item, xen, weaponbox, worlditems, cycler.
Небольшая ошибочка, weapon_ поддерживает только Yaw (т. е. angle, а не angles).
@Qwertyus3D мне кажется если в fgd прописано studio, это не значит что в игре тоже будет так.
Может я сделаю список для этой цели в настройках и заполню его каким-то стандартным значением?
Может я сделаю список для этой цели в настройках и заполню его каким-то стандартным значением?
Я это и предлагал выше
Есть предложение добавить опцию инверсии Pitch, подобно опциям оптимизации.
Только было бы неплохо фильтр по маске сделать. С поддержкой *. Допустим, monster_* - любой монстр, или *item* - любой итем или worlditems, а weaponbox - просто конкретная энтить.
мне кажется если в fgd прописано studio, это не значит что в игре тоже будет так.
studio в FGD обычно используется для замены простого цветного бокса моделью в тех редакторах, которые это поддерживают. Либо для указания спавна определённой модели через энтить. Т . е. никак не означает, что речь должна идти об инверсии Pitch для данной энтити.
Либо можно окончание на "_" трактовать, как маску фильтра, если со звёздочкой проблемы. Тогда список должен быть:
ammo_
cycler
cycler_
item_
monster_
weaponbox
worlditems
xen_
@Qwertyus3D дай прояснить
Во всех моделях идет ROLL YAW PITCH, а в указанных PITCH YAW ROLL ?
Или у всех моделях " ROLL YAW PITCH " а у указанных " -ROLL YAW PITCH "
Во всех моделях идет PITCH YAW ROLL, а в указанных -PITCH YAW ROLL :D
@Qwertyus3D
Вот как углы работают для брашевой модели, именно так отображается в игре. Кто-то кого-то обманывает :(
@Qwertyus3D ааа, или это обман зрения из-за того что стрелка расположена не по той оси? :)
Именно!
@Qwertyus3D да все кажется дошло, а то я все по ней смотрел)
@Qwertyus3D https://github.com/UnrealKaraulov/newbspguy/commit/de3df90ebe43d602301713aa30172f70235b7c9c
пока еще настройку списка не добавил, проверить буде работать или нет
Бинарник не скомпилился...
C env_sprite вообще засада, т. к. там спрайты в нём по-разному ведут себя в зависимости от рендермода и типа спрайта. Но для спрайтов, чётко ориентированных в пространстве, тоже актуальна инверсия по Pitch. Но в других случаях поворот может не происходить, либо углы, указанные в трёх значениях, могут суммироваться друг с другом, а вращение будет строго вокруг одной оси. Вот тут подробнее разбирается: https://the303.org/tutorials/gold_sprite.htm Но всю схему будет сложно реализовать в редакторе :D
Через env_sprite тоже можно вставлять модели, но:
Хотя, кстати, редактор воспроизводит для env_sprite именно указанное поведение, только Pitch не инвертирован.
Хотя, кстати, редактор воспроизводит для env_sprite именно указанное поведение, только Pitch не инвертирован.
так я делал поддержку там все просто было, может быть только pitch забыл инвертировать
работает?
Теперь что-то не то с поворотом модели. Yaw неправильно модель вращает. Нужно смотреть на направляющую, которая из энтити выходит. Она теперь вообще себя ведёт неадекватно.
Убрал из настроек негативный питч, Yaw всё равно модель как-то некорректно разворачивает.
Было:
Стало:
Было: Здесь неправильно только, что направляющая смотрит вверх, должна смотреть вниз.
Стало:
Fix pitch list bug Судя по всему, заработало 👍
@Qwertyus3D отлично :)
тогда закрываю)))
Программа некорректно отрисовывает angles. А именно, поворот по Pitch не учитывает значения Yaw. Независимо от поворота по Yaw Pitch всегда наклоняет энтить в одном направлении. Т. е., например, при Yaw 90 поворот по Pitch визуально суммируется со значением Roll (т. е. как бы тоже крутит по оси Roll). При Yaw 180 поворот по Pitch наклоняет объект в противоположном направлении относительно правильного. При Yaw 270 значение Pitch визуально вычитается из значения Roll (т. е. как бы крутит по той же оси, но в противоположном направлении). Т. е. только когда Yaw = 0, тогда поворот по Pitch корректный.