Створення рідин (вода, кислота, лава,
кров і т.п.) за допомогою класу water zone.
Напевно, всі хто грали в руну, пам'ятають одну із стандартних карт - DM-AcidChamber.
У центрі цієї карти - озеро кислоти. Це озеро здійснено за допомогою waterzone. Вивченням властивостей цього класу ми і займемося на цьому уроці. Вивчивши цей посібник, ви зможете створювати на своїх картах басейни з водою, лавою, кислотою, і взагалі, з будь-якою рідиною, якої побажаєте.
Для початку, створимо просту карту.
Я зробив одну велику кімнату 1024 * 1024 * 1024, і помістив в ній на підлогу 4 куба по 256 * 256 * 256. Ще я додав один блакитний джерело світла (тому що спочатку я буду робити воду, кімната повинна бути відповідного кольору) Вийшло так:
Монахов я додав, щоб ви усвідомлювали розмір кімнати, вам цього робити не обов'язково.
Ця кімната і буде основою для наших експериментів. Тепер створимо площину, яка буде обмежувати воду. Це повинна бути площину, повністю перекриває зону води від повітря (згадайте урок про арену, як ми відокремлювали nokillzone).
Задайте кімнаті такі властивості:
Scale: Simple Scaling 2 (ми будемо піклується не тільки про те, щоб працювало, але і щоб прикольно виглядало)
Effects: 2Sided, Portal, Translucent.
Invisible, як у nokillzone, робити не треба, тому що ми просто не побачимо водну гладь.
Тепер текстура.
Завантажте стандартний пакет з текстурами Fluid. У ньому є безліч текстур для різних рідин. Зверніть увагу, є в наявності не тільки кольорові текстури води, лави, але і чорно-білі. Чорно-білим за допомогою освітлення можна задати будь-який колір (цей прийом використаний в DM-AcidChamber, зверніть увагу - кольоровий кислоти в пакеті немає, але про це пізніше.)
Мені сподобалася текстура WAT9PROC (ви можете вибрати іншу, але я рекомендую для першого разу робити як ать як я).
Застосуйте текстуру, і запустіть рівень на тест. Ось що ви побачите:
Вже непогано. Тепер ми підійшли до найголовнішого. Треба задати відокремленій зоні властивості води.
Відкриваємо Classes-> Info-> Zone info.
Вибираємо актор waterzone.
Додаємо його під площину з водою.
Не поспішайте тестувати рівень, спочатку налаштувати waterzone.
Відкриємо ZoneInfo вкладку. Поки чіпати нічого не будемо, змінимо тільки одне. Відкрийте ZoneVelocity і в поле Z впишіть 5. Це потрібно для того, щоб вода трохи виштовхувала Рагнар (Рагнар не тоне: D), тобто якщо опуститися на дно і завмерти, ви почнете
повільно підніматися вгору. Чим більше це число - тим швидше Рагнар виштовхне. А якщо
зробити це число з мінусом, то Рагнара навпаки засмокче на дно (можна робити такі пастки): D.
Тепер йдемо в ZoneLight.
Встановлюємо світло зони за замовчуванням (HBS вам знаком по уроку освітлення)
AmbientBrightness: 255
AmbientHue: 150
AmbientSaturation: 10
Для повної краси потрібно зробити туман.
Встановіть параметри туману так:
FogBrightness: 255
FogDistance 3000
FogHue: 150
FogSaturation: 10
Запускаємо рівень на тест. Дивимося, що вийшло. У мене картинка така:
Тепер лава.
Міняємо FogHue і AmbientHue на 0.
У zoneinfo ставить bPainZone true.
Трохи нижче, впишемо в DamagePerSec значення 40, а в DamageType - слово fire.
І, звичайно, змінимо текстуру води на лаву.
Якщо ви використовували кольорове освітлення, то не забудьте змінити його hue на 0.
Дивимося. Пробуємо стрибати. Згорає. D
Тепер кислота.
Прибираємо DamageType (залиште порожній рядок).
DamagePerSec ставимо поменше (наприклад, 10).
Hue всюди міняємо на 50.
І міняємо текстуру лави на будь-яку чорно-білу.
Я поставив текстуру BigLava1. Дивимося результат.
Висновок. Туман і освітлення зони можна використовувати не тільки на Waterzone.
Досить додати zoneinfo, і ви можете створювати атмосферні ефекти.
Дада а ось і код ADMIN SET ZONEINFO BWATERZONE TRUE і в результаті весь вохдух на карті стає водою! Струму є один недолік у цього коду коли перетворюєш воду назад в повітря то там де спочатку на карті була вода вона пропадає