Anto96WS, тогда попробуй Варпом - гарантированно работает на мобах и волынах.
MyNameIs, вообще-то там написано несколько иначе:
allowing users to set up multiple frames of animation for complex weaponry (dual wielding) and/or HUD elements. This can be called by more than just the weapon; a player or CustomInventory item can also call this function.
А вот насчёт новизны фичи MyNameIs прав - на ранних версиях не пашет. Да, похоже что с A_Overlay желательно(?) также юзать A_OverlayFlags и\или A_OverlayOffset.
UPD: гозза 3.3.2 схавала, но результата не видно
А ты уверен что должен быть Stop а не Loop или Wait? Это должно быть что-то вроде эффекта "вспышки" при подборе брони, да?
1. Ребятушки, просветите что за свойства актора WeaveIndexXY и WeaveIndexZ по отношению к A_Weave? Это что-то типа шанса искривления траектории (weave), или как? И если это шанс то почему такой странный диапазон значений - (0,63)? Как его подбирать?
2. В чём разница между CAUSEPAIN и FORCEPAIN флагами?
1 — Это смещение в sin(). Многие функции, имеющие отношение к хексену, его имеют, в т.ч. ACS (Floor_Waggle например). Используется чтобы анимации были не совсем синхронными.
2 — Они вообще разные: https://zdoom.org/wiki/Actor_flags
1 — Это смещение в sin(). Многие функции, имеющие отношение к хексену, его имеют, в т.ч. ACS (Floor_Waggle например). Используется чтобы анимации были не совсем синхронными.
А можно чуть подробнее и на пальцах? Ну хотя бы эти свойства прописываются в один актор или должны быть указаны в разных дабы проявлялся асинхрон?
Не сочти за грубость, но я, блин, потому и спрашиваю что "смотрю в книгу а вижу фигу". Офк они разные раз вообще существуют, но из-за плохого инглиша я не пойму в чём именно: оба вызывают пэйн даже при нулевом дамаге, оба могут применяться в снарядах.
Void Weaver 2. FORCEPAIN на снаряде увеличивает вероятность перехода в pain state до 100%. CAUSEPAIN при попадании просто не учитывает обстоятельства, блокирующие переход (кроме NOPAIN на цели, который "сильнее" и FORCEPAIN, и CAUSEPAIN; остаются неуязвимость и нулевой урон снаряда), вероятность самого перехода остаётся такой же.
Это из того, что я прочитал на wiki.
1. Свойство общее для всех экземпляров класса. Изменять его, кажется, в runtime нельзя (покопался в исходниках). Через ZScript, конечно, можно.
Weave задаёт синусоидальные колебания как сумму колебаний по горизонтальной (XY) и вертикальной (Z) осям. Это позволяет при постоянном векторе скорости объекта менять его траекторию.
Сам не хочу полностью разбираться, как там индексы переводятся в фазы, скажу лишь, что 64 = 2pi = 360 градусов, и прикреплю собственный pk3 (ссылка), в котором показано, как изменение комбинаций этих параметров влияет на траекторию.
Обрати внимание, что, например, при разности индексов XY и Z, равной 16 или -16, проекция траектории будет окружностью, а вообще это эллипс или его вырожденные случаи.
Моделеры, скажите пожалуйста. Ambient Occlusion map - это просто "реалистичное запеченное дополнение к альбедо/колор или она динамично ведет себя взависимости от того как на модель падает свет, интересует естественно как оно ведет себя в Gzdoom, ведь модели кажется тоже карты поддерживают?
Моделеры, скажите пожалуйста. Ambient Occlusion map - это просто "реалистичное запеченное дополнение к альбедо/колор или она динамично ведет себя взависимости от того как на модель падает свет, интересует естественно как оно ведет себя в Gzdoom, ведь модели кажется тоже карты поддерживают?
Все что знаю: карта АО ведет себя по идее везде одинаково(исключений не знаю) Вот можно вики почитать про АО wiki/Ambient_occlusion
Так вкратце сама по себе карта АО нужна для затенения в углах модели запеченные в отдельную текстуру т.е. затеняются углы в любом случае, падает свет или нет, обычно имеет смысл запекать АО с хайполи модельки т.к. у хай поли будет геометрия рельефнее, а у лоуполи нет, следовательно постэффект SSAO(или современные аналоги HBAO и тд) будут затенять углы только лоуполи.
Карта АО создана что бы показать затенения там где они 100% будут при любом освещении(например угол в комнате\\под мышками у перса и т.д.) + показать что 3д модель объемная, без АО модель кажется более плоской.
Но есть еще шейдер постэффект SSAO который есть в гздуме и накладывается он на всю геометрию
От пбр будет максимальный выхлоп в плане качества графония если использовать все его карты albedo\base color, roughness, specular\metall\ normal, AO и прямые руки.
alekv Хм, в вот допустим я просто все черное из АО накладываю на Альбедо в ФШопе - будет разница как если бы это были две отдельные карты? Результат же один и тот же кажись получится, а так двойная нагрузка на движок будет
PS интересно кстати ты с кроликом не пробовал вручную спекуляр пририсовать, например глаза у Алекса? Интересно каково оно в хендпейнтинге
Хм, в вот допустим я просто все черное из АО накладываю на Альбедо в ФШопе - будет разница как если бы это были две отдельные карты? Результат же один и тот же кажись получится, а так двойная нагрузка на движок будет
Я к сожалению не знаю нюансов пбр, но раньше так и делал АО запекал на дифузке или просто фш накладывал.
Zeberpal_98:
PS интересно кстати ты с кроликом не пробовал вручную спекуляр пририсовать, например глаза у Алекса? Интересно каково оно в хендпейнтинге
Нет т.к. я тогда только учился моделировать, а теперь уже поздно что либо переделывать.
1. Хочу мобу сделать станящую (оглушающую) атаку, и если движение запросто стопить выдачей игроку speed пауэрапа со значением 0, то насчёт того как на декоре временно запретить атакустрельбу соображений нет никаких. Есть идеи? 1.1 Сюда же наводящий вопрос. Есть ли какие-нибудь методы воздействия актор-моба на игрока на уровне декора? Ну типа может ли моб заставить игрока потерять контроль и обратить в бегство (типа флага FRIGHTENING) или там остановить время? Я слышал что где-то существует аж целый имп кидающий FREEZETIME, но подозреваю что он скриптован от и до, офк если вообще существует. 2. Можно ли (и как) прописать актор-мобу в декоре зависимость DamageFactor от skill (сложности)? Ну типа чтобы на первой сложности резистов (DamageFactor) не было, а на 4-5 например включался иммун к огню (DamageFactor Fire, 0.0).
3. Чем можно задать мобу реген во всех стэйтах не прибегая к спауну актора-хилера? Я в курсе что DamageSelf с отрицательным значением идеально подходит для регена, но как это прописать чтобы работало во всех стэйтах? Офк можно соспаунить чилдрен-актор-хилера который будет в лупе юзать отрицательный DamageMaster но я желал бы обойтись другим методом если это возможно. 4. Как прописать вызов A_SpawnItemEx("dummy",ISTARGET) непосредственно на выбранный _TRACER-труп? 5. Как получить в декоре в А_Функцию (в A_DamageSelf например) максимальные хп:
а) цели?
б) себя?
в) трасера?
г) мастера?
пробовал health и GetActorProperty(0,APROP_Health), но выдаёт исключительно текущие и вроде всегда владельца функции.
6. Может ли один и тот же актор иметь несколько Species в своих свойствах? Например Species "undead" и Species "ghost"?
6.1 Можно ли (и чем) проверить в декоре Species для джампа если Species (не)совпадёт? Я походу ослеп: A_CheckSpecies
Добавлено спустя 6 минут 30 секунд:
DOOMGABR А ты не пробовал A_CustomPunch с наследованием от кастета? Там (в А_КастомПанч) можно звук задавать.
Void Weaver Пробовал. Ни черта не работает. Мало того звук удара о вражину исчезает и я не понимаю, что это за хрень. Нужен конкретный код, чтобы его проверить и разобрать ошибки, а тест этой команды с здум вики я итак перетестил вдоволь, но эффекта так и так ноль.
A_CustomPunch (int damage [, bool norandom [, int flags [, string pufftype [, float range [, float lifesteal [, int lifestealmax [, string armorbonustype [, sound meleesound [, sound misssound]]]]]]]]])
Тебе нужен PUFFTYPE - это актор "ДЫМКА" от удара. Создай новый актор для дымка, унаследовав от оригинального например - и в нем укажи нужный тебе звук.
Ребзи, спасибо за ваши рекомендации, но мне нужен конкретный код ванилла кастета, но с поправкой на то, что должен быть удар о стену со звуком DSPUNCH. С этим ебучим (другого слова нет) A_CustomPunch я проебался час-два и так ничего и не вышло
DOOMGABR, ну уменя всё норм на всех гоззах: МычащийКастет. Либо я неправильно понял что ты хотел и тогда, вероятно, тебе стоит склепать звучащий пуфф как советуют выше.
Добавлено спустя 17 минут 56 секунд:
Aaaa, ТОЛЬКО при ударе о стену? Тогда так: КастетОбСтену, да?
Добавлено спустя 1 час 16 минут 16 секунд:
DECORATE
Скрытый текст:
ACTOR MyDoomguy: DoomPlayer
{
Player.StartItem "CFist"
Player.StartItem "Pistol"
Player.StartItem "Clip", 50
Player.WeaponSlot 1, CFist, Chainsaw
}
ACTOR CFist : Fist
{
Weapon.SlotNumber 1
Weapon.SlotPriority 1
States
{
Fire:
PUNG B 4
TNT1 A 0 A_JumpIfInventory("PowerStrength", 1, "Berserked")
Normal:
PUNG C 4 A_CustomPunch(2 * random(1, 10), TRUE, 0, "WallHit", 64, 0, 0, "ArmorBonus", "DoomHit")
Goto FireEnd
Berserked:
PUNG C 4 A_CustomPunch(20 * random(1, 10), TRUE, 0, "WallHit", 64, 0, 0, "ArmorBonus", "DoomHit")
FireEnd:
PUNG D 5
PUNG C 4
PUNG B 5 A_ReFire
Goto Ready
}
}
ACTOR WallHit : BulletPuff
{
AttackSound "DoomHit"
}