Блог Vadakuma Контролираща система от частици с нереален скрипт

Неделя, 7 април 2013 г

Контрол на системата за частици с нереален скрипт

система

В настройките щракнете върху триъгълника срещу Distribution и изберете DistributionVectorParticleParameter. Стойността, която променяме, ще бъде вектор, т.е. ефектът може да бъде разтегнат, разширен или обратното стеснен по по-гъвкав начин от използването само на един цифров параметър. (Имайте предвид, че ако параметърът е бил конфигуриран преди, след като следвате описаната процедура, всичко ще бъде нулирано!)

блог

Прозорецът с настройки ще се промени:

система

1.За достъп до този параметър от код, трябва да посочите име на параметър.2-3.Въведете необходимия диапазон за промяна на размера на ефекта.4.Специално ляво DPM_Normal . В този режим, когато относителна стойност от 0 до 1 идва от кода (посочен в MinInput/MaxInput), самият параметър ще се промени в диапазона, определен в MinOutput/MaxOutput.5.Коя относителна стойност на параметъра ще се използва по подразбиране, когато ефектът е активиран. (1 - взема се максимална стойност)

vadakuma

Същата процедура трябва да се направи с останалите модули. Можете да посочите същото име на параметър в тях, както в първия модул, тогава промяната в параметъра Size ще се случи в няколко модула, т.е. възможно е да се контролира размерът на дима, дори ако той се състои от съставни части. Направете същото с модулите, отговорни за пожара, освен че променете името на параметъра на подходящото име, ако има нужда да контролирате огъня отделно от дима.

Забележка: процедурата беше извършена с векторен параметър, векторен параметър също ще дойде от кода. Ако контролираният параметър не е вектор, нищо не се променя, само типът ще се промени. ДА СЕнапример, ако параметърът е само стойност с плаваща запетая, тогава типът е float и изборът ще бъде DistributionFloatParticleParameter.

Сега нека да разгледаме кода. Алгоритъмът за управление е взет от източниците на UT3, тук има разлики, но самата същност остава непроменена. Например, нека създадем клас Пешка, който ще светне, когато бъдат нанесени достатъчно щети, а огънят с дим ще се увеличи с повече щети. Когато се нанесе щета (събитие TakeDamage), функцията CheckDamageSmoke() се задейства, която проверява колко ниско е съотношението Life/MaxLife и ако прагът DamageSmokeThreshold бъде преминат, ефектът на огъня (от тага DamageSmoke) в CreatePawnEffect() се активира и се прикрепя към гнездото BirdHead, след което количеството огън се регулира чрез SetPawnEf fectParms() с всяко следващо увреждане.

vadakuma

Видео с резултат:

Класът CPSPlayerController съдържа функции за изпълнение, които могат да бъдат извикани чрез конзолата. SpawnBird - ражда се птица. BirdStrike - "удряне" на създадената птица, причинявайки щети. В архива има и пакет с модифициран ефект и птиче с добавен сокет.

PS. Пишете, ако намерите грешки, недостатъци и т.н. в предложения материал. - Ще го оправя.