Gunner Tracker

Opened 2 months ago

Closed 4 weeks ago

#26 closed enhancement (fixed)

прозрачность и освещение гибов

Reported by: deex Owned by: g-cont
Priority: minor Milestone: альфа Comrades
Component: Comrades Version:
Keywords: Cc:

Description

куски от разбитых стекол, с новым освещением выглядят как камни
нельзя для них отключить освещение - сделать их ярче и мб добавить прозрачность?

+ падают они тоже бесшумно. Надо добавить какой-то звук, но очень-очень тихий

Change History (5)

comment:1 by deex, 2 months ago

Milestone: Comrades alphaальфа Comrades

Milestone renamed

comment:2 by g-cont, 5 weeks ago

Разве в Quake II есть специальная модель обломков стекла? Мне казалось там дебрисы универсальные, их всего три штуки, в отличие от Half-Life.
Я могу включить для них прозрачность, но как игра поймет, что мы разбиваем стекло? В Half-Life в настройках разбиваемого объекта можно было выбрать материал, в том числе там было и стекло. В Quake II такой настройки, очевидно, нет.

comment:3 by g-cont, 4 weeks ago

Основная сложность тут в том, что материалам нельзя динамически включать прозрачность, но выход есть - можно переназначить материалы уже существующим моделям.
Для этого на сервере мы грузим сами модели следующим образом:

PRECACHE_MODEL ("models/objects/debris1.model|models/objects/debris1/trans");
Путь после вертикальной черты - это имя переназначаемого материала. Разумеется и в SetModel нужно тоже указать этот полный путь. Теперь нам надо объявить сами материалы, открываем materials\alias_models.mat, находим описание "models/objects/debris1/skin" и добавляем рядом новый материал:

"models/objects/debris1/trans"
{
renderMode modulate
addSkinSingle( "models\objects\debris1\skin" );
}

По аналогии делается и для debris2, debris3. Отлично, теперь у нас есть специальные полупрозрачные гибы для стёкол. В настройках нашего func_explosive надо завести новый спаунфлаг, который будет спавнить полупрозрачные гибы. Ну а сами гибы выбрасываются вот так:

CDebris::ThrowDebris( "models/objects/debris1.model|models/objects/debris1/trans", spd, org, m_velocity );

Нам останется только сделать для них соответствующие звуки. В самом классе гибов уже есть наборы pMetalSounds, pFleshSounds, по аналогии надо добавить pGlassSounds, ну и завести тип GIB_GLASS. Хотя там вроде для дебрисов и гибов два разных класса, но по аналогии можно соориентироваться, я подсветил только неочевидные места.

comment:4 by deex, 4 weeks ago

  • добавил func_explosive флаг transparent gibs
  • если он включен, то звук бьющегося стекла при взрыве

закрыто

comment:5 by deex, 4 weeks ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.