Sign up - or - Login

Recover password
×

To recover your password, you must enter the username or e-mail that you used during the registration. After that, a mail with a security code will be sent to your inbox.

Your username or e-mail :

Transmissions - Element 120Transmissions - Element 120

First Person Shooter...

29/03/2015
Stat ( goldsrc patches ), pcs.

Данная статья - перевод урока от OsirisGodoftheDead с ModDB...


  • Description
  • HOW TO INSTALL

Добавление эффектов блеска для энтити (entity)

Данная статья - перевод урока от OsirisGodoftheDead с ModDB...


Author/s of tutorial : OsirisGodoftheDead , The Sam
Views : 994 ( +1 )
Uploader : The Sam
Created : 03/28/2020 8:19:41 PM
Source : https://www.moddb.com/games/half-life/tutorials/using-glowshell
Rating :
 ( 5 ) 
Share :
Tags : effects, entity, урок, ентити, блеск, эффект, как сделать, GoldSRC, goldsrc engine, Half-Life, glowshell


Following translations are available : | russian |

Лично от меня: данный эффект не выглядит особо реалистично, я бы лично его не добавлял в свой мод, но иногда такой эффект все же может пригодиться.

 

Перевод:

В этом туторе я расскажу как добавить эффект блеска для энтити (entity). Этот эффект может быть полезен, когда вы хотите, чтобы энтить была более заметна для игрока, например, оружие в темной комнате.

Мы начнем с добавления этого эффекта к зомби.
Вот зомби из Half-Life. У него нет эффекта блеска по умолчанию.

https://media.moddb.com/cache/images/members/1/640/639321/thumb_620x2000/glowshell_0003.png

Теперь мы рассмотрим код зомби (zombie.cpp в папке dll SDK).

Кода здесь много. Однако для этого урока нам нужно только немного изменить функцию спавна. Итак, перейдите к void CZombie :: Spawn () в строке 270. Это должно выглядеть так:

//=========================================================
// Spawn
//=========================================================
void CZombie :: Spawn()
{
	Precache( );

	SET_MODEL(ENT(pev), "models/system/monsters/zombie.mdl");
	UTIL_SetSize( pev, VEC_HUMAN_HULL_MIN, VEC_HUMAN_HULL_MAX );

	pev->solid			= SOLID_SLIDEBOX;
	pev->movetype		= MOVETYPE_STEP;
	m_bloodColor		= BLOOD_COLOR_RED;
	pev->health			= gSkillData.zombieHealth;
	pev->view_ofs		= VEC_VIEW;// position of the eyes relative to monster's origin.
	m_flFieldOfView		= 0.5;// indicates the width of this monster's forward view cone ( as a dotproduct result )
	m_MonsterState		= MONSTERSTATE_NONE;
	m_afCapability		= bits_CAP_DOORS_GROUP;

	MonsterInit();
}

Перейдите в конец функции и сразу после MonsterInit ();  добавьте этот код:

pev->renderfx = kRenderFxGlowShell

Если вы все сделали правильно, то зомби будет выглядеть примерно так:

https://media.moddb.com/images/members/1/640/639321/glowshell_0007.png

Отлично! Теперь у нас есть светящийся зомби!

Но... Что, если мы хотим сделать свечение другого цвета? Это просто.

Поместите эту часть кода после строки pev-> renderfx = kRenderFxGlowShell :

pev->rendercolor.x = (номер от 1 до 255);
pev->rendercolor.y = (номер от 1 до 255);
pev->rendercolor.z = (номер от 1 до 255);

Это может показаться странным, но это просто значения для цвета в формате RGB.

То бишь:

rendercolor.x - красный
rendercolor.y - зеленый
rendercolor.z - синий

Изменяя эти значения, можно добиться разного цвета блеска/света.

Например, pev-> rendercolor.x = 255; (при условии, что все остальные значения цвета стоят на единице) создаст красный цвет свечения/блеска. При значениях pev-> rendercolor.x = 128; pev-> rendercolor.z = 128; мы получаем фиолетовый цвет свечения/блеска.

Надеюсь, этот урок поможет кому-нибудь.



Similar1. Исходный код снайперки - weapon_sniperrifle с оптическим прицелом
2. И снова наследование классов :) - Казалось бы тема наследования классов давно избита, ан нет всё ещё существуют вопросы, правда про чуть боле сложное наследование.
3. Монстры по сети - Для создания кооперативного мода или просто для включения монстров в сетевой игре
4. Динамическое освещение - этой статье будет описан способ добавления динамических вспышек света, которые можно использовать для еффекта молнии
5. Переключение оружия a la HL2 - Мне не нравится, как переключается оружие в ХЛ. Может, кому-то и интересно тыкать по менюшкам худа, но мне больше нравится реализация переключения в Unreal RTN, Quake Mission Packs и HL2
6. Наследование классов в С++ - В этом туторе я попытаюсь кратко рассказать про наследование классов в С++
7. Неработающие двери :) - Как сделать, чтоб двери не открывались, когда нет света и рядом с ними был индикатор (красн. зел.)
8. Как сделать вортигонта из HL1 другом - Моя первая статья
9. Water Splash - Добавляем брызги при выстреле по воде
pafos alexander 02/18/2023, 12:38:48 PM commented :
#1
а для оружия как сделать?
The Sam 05/01/2023, 12:11:02 PM commented :
#2
Если для оружия на земле то все то же самое - найти функцию спавна оружия на карте и проделать те же самые манипуляции. Я давно не работаю с ванильным хл сдк так что подробнее расписать по памяти вряд-ли смогу.
You cannot comment, because you are not logged-in.
    Book of Demons (Раздача в GOG)
    Book of Demons (Раздача в GOG)
    Invincible Presents: Atom Eve (Раздача в EpicGamesStore)
    Invincible Presents: Atom Eve (Раздача в EpicGamesStore)
    Тайны Музея (Museum Mystery) (Раздача в Steam)
    Тайны Музея (Museum Mystery) (Раздача в Steam)
    The Bridge (Раздача в EpicGamesStore)
    The Bridge (Раздача в EpicGamesStore)