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 , 2 months ago
| Milestone: | Comrades alpha → альфа Comrades |
|---|
comment:2 by , 5 weeks ago
Разве в Quake II есть специальная модель обломков стекла? Мне казалось там дебрисы универсальные, их всего три штуки, в отличие от Half-Life.
Я могу включить для них прозрачность, но как игра поймет, что мы разбиваем стекло? В Half-Life в настройках разбиваемого объекта можно было выбрать материал, в том числе там было и стекло. В Quake II такой настройки, очевидно, нет.
comment:3 by , 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 , 4 weeks ago
- добавил func_explosive флаг transparent gibs
- если он включен, то звук бьющегося стекла при взрыве
закрыто
comment:5 by , 4 weeks ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |

Milestone renamed