МАГИСТЕРИУМ в T3Ed:   создать, избавиться, исправить

Автор Tiens, 28 сентября 2009 13:06:40

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Tiens

Savar, пожалуйста:
ТЕЛЕПОРТ В ВИДЕ ДВЕРИ:

Оговорюсь сразу, что:
- В данном случае речь идёт о локальном телепорте (в пределах одной загрузочной зоны). Скрипт для телепорта на другую карту немного отличается.
- В моем примере объектом служит дверь, однако работать телепортом может любой другой объект - окно, картина, драгоценность и т.п.

По шагам:

1) Берем объект (в моем случае это дверь из Static Mesh Browser) и добавляем ему свойства Properties:

* раздел Frob:
- Frob Bias = 16.00
- Is Frobbable = TRUE

* раздел Highlight:
- Highlight Dist = 128

ПРИМЕЧАНИЕ:
Если используемый объект - активный из Actor Browser и уже способен подсвечиваться при выделении, то настраивать перечисленные свойства не нужно. И так всё сработает.

2) Добавляем ему скрипты:

а. Teleport_To_Pub_In:   ->   этот скрипт телепортирует игрока в точку Pub_In

COND.:
- When I am frobbed by player
ACT.:
- Shift screen color from RGBA [0;0;0;0] to RGBA [0;0;0;255] in [0.75] seconds
- Delay [0.75] GAME seconds
- Activate screen tinting to RGBA [0;0;0;255]
- Teleport the object at end of [PLAYER] to Destination Teleporter = [Pub_In]   ->   Pub_In - имя точки приземления
- Delay [0.10] GAME seconds
- Shift screen color from RGBA [0;0;0;255] to RGBA [0;0;0;0] in [0.75] seconds
- Delay [0.75] GAME seconds
- Activate screen tinting to RGBA [0;0;0;0]
- Reset script conditions and actions

ПРИМЕЧАНИЕ:
Непосредственно к телепортации относится только строка "Teleport the object at end of [PLAYER] to Destination Teleporter = [Pub_In]", а остальное - это "красивость", визуальное оформление в стиле Обливиона, когда на момент телепортации экран медленно затемняется до черноты, а потом так же медленно светлеет до первоначального состояния.

b. PickUp_FakeDoor_Sound:   ->   этот скрипт проигрывает звук открывающейся двери

COND.:
- When I am frobbed by player
ACT.:
- Play sound schema [XXX] in 2D Sound   ->   ХХХ - имя звуковой схемы
- Reset script conditions and actions

ПРИМЕЧАНИЕ:
У меня проигрывание звука для имитации открывающейся двери и телепортация разделены на 2 разных скрипта из-за особенностей построения моей миссии. При желании всё можно запихнуть в один скрипт. Тогда в телепортирующем скрипте в ACT. первой строкой будет "Play sound schema [XXX] in 2D Sound", а уже затем - всё остальное.

3) Создаем точку Player Start, куда игрок телепортируется. Добавляем ей в свойства:
* раздел Teleport - Teleport Dest Name = Pub_In   ->   имя ОБЯЗАНО совпадать с тем, что в скрипте!

В принципе, это всё. Для того, чтобы телепортировать игрока обратно, надо создать новую пару "дверь + точка Player Start". Единственный минус этого метода - всякий раз, когда потребуется создать новую телепортирующую дверь с новым местом приземления, придется создавать новый скрипт. В принципе, это не так уж и сложно, поскольку скрипты можно копировать вместе с их содержимым, а потом - перетаскивать и править под свои нужды.
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Savar

Tiens, огромное спасибо, давно ждал этого туториала  :up: А связь от двери к Player Start нужна?

Tiens

Savar, нет, связь не нужна. Сам посмотри - ничего про связи в скрипте нет.
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Savar


Tiens

ЗЕРКАЛО или ИНТЕРАКТИВНОЕ ОТРАЖЕНИЕ в TDS:

Позвольте привлечь ваше внимание к одной очень интересной иллюзии, которую можно легко создать в любой Т3 ФМке. Речь идет о так называемом "интерактивном отражении" с работающими эмиттерами (emitters) и объектами, которые могут исчезнуть или появиться в результате действий игрока. Я уже создавала подобное для своей миссии "The Cabal - Furious Flames", и там это выглядело так:


А вот моя тестовая карта двухлетней давности с чем-то похожим на Дворец Куршоков. В слегка переработанном виде идея "интерактивного отражения" выглядит так:




Я написала эти разъяснения только сейчас, потому что была уверена, что люди уже сами догадались, как именно можно сделать такую иллюзию. Кстати, пусть я пока и первый автор, выпустивший ФМку для TDS с подобной фишкой, по-настоящему эта идея далеко не нова и совсем не моё изобретение. Я уже видела подобное как в нескольких играх, так и в фан-миссиях для Т2.

Признаю, что когда я работала над "The Cabal FF", идея "отражения" была слишком сырой. Даже мои тестеры разделились на две группы: 1) "Ах! Это зеркало! Круто видеть зеркало в Т3!" и 2) "Чё? Этот глюк, типа, зеркало? Извини, не впечатляет." В любом случае, идея очень многообещающая. А пространство "зазеркалья" может быть полностью интерактивным. Благодаря скриптам любые эмиттеры (emitters), источники света или объекты могут исчезать/появляться в тот же самый момент, что и их "оригиналы" в "реальном мире". Как видите, практически всё может быть отражено, ну за исключением самого Гарретта, его оружия и игровых персонажей (NPC). Конечно, NPC могут быть помещены "внутрь зеркала", но у автора ФМки будет куча проблем по синхронизации "оригинала" и "его отражения".

Воплотить эту иллюзию очень легко. Также стоит учесть, что эта техника обмана срабатывает гораздо лучше с бассейнами с водой, чем с зеркалами на стене. Итак, в реальности мы строим двухкомнатное пространство из трех важных составляющих:

1) первая комната - говоря о бассейне, это верхняя комната - та, где игрок может передвигаться.
2) вторая комната - т.е. нижняя - это развернутая на 180 градусов копия предыдущей комнаты с объектами, расположенными так, чтобы все они выглядели "отзеркаленными" (даже эмиттеры).
3) плоский меш из Mesh Browser с текстурой полупрозрачной воды - в середине между комнатами, на манер своего рода "пола" верхней комнаты.

Вот как это выглядит в редакторе:


P.S. Скриншоты можно увеличить через функцию браузера "открыть изображение".
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Tiens

ВОПРОС:   Как сделать так, чтобы коснуться какого-либо предмета можно было только один раз? Чтобы потом он не подсвечивался и не хватался.

Надо добавить этому объекту скрипт типа:

COND.
- When I am frobbed by player
ACT.
- Set [Property] to [Value] on linked objects of [LinkFlavor]   ->   Где [Property] = Highlight, [Value] = 0, а [LinkFlavor] = MYSELF.
- Set [Property] to [Value] on linked objects of [LinkFlavor]   ->   Где [Property] = FrobBias, [Value] = 0, а [LinkFlavor] = MYSELF.
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Tiens

ЦВЕТНОЕ ОТРАЖЕНИЕ на ПОВЕРХНОСТИ ПОЛУПРОЗРАЧНОЙ ВОДЫ:

Позвольте представить еще одну интересную иллюзию - цветное отражение на поверхности полупрозрачной воды. Подчеркну, что это не "настоящее" отражение, генерируемое шейдерами игры, а только его иллюзия. Идеально использовать этот метод, когда достаточно, чтобы какая-либо определенная текстура пару раз "отразилась в воде" в определенном месте. Вот пример того, как это будет выглядеть в игровом режиме:


КАК ЕГО СДЕЛАТЬ:

Этот метод базируется на родном силуэте света от цветного витражного окна из Т3 (например, ОМка "Замок Резерфордов"). Это "отражение" создается за счет источников света типа FL_Spot или FL_Spot_No_Shadows. Чтобы назначить этому источнику света цветную текстуру, надо добавить её имя в свойства Lighting - FL Light Texture - Name property (Внимание! Текстуры типа Normal здесь работать не будут!). Чтобы увеличить размеры отражения, надо использовать Lighting - Light Shape - Light Cone. Чтобы текстура освещалась ярче, надо менять параметр в Lighting - Light Shape - Light Radius. При желании можно даже наложить дополнительный цветовой оттенок освещения - через Lighting - Light Color. Для большей наглядности, на следующих скриншотах показаны все необходимые для иллюзии источники света, а также показаны стрелочками все свойства, что потребуется изменить:


Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Zontik

Минутку, почему "отражение"? Это же проекция рисунка на поверхность.
Дайте глазам отдохнуть! Тёмное место

Tiens

Zontik,

Во первых, речь идёт не об "отражении" как таковом, а об "иллюзии отражения". Это вещи разные.

Во-вторых, я танцую вокруг термина "отражение" по двум причинам:
1) Игроку плевать, что там автор ФМки намудрил. Главное, что в результате мозги игрока видят именно "отражение". Потому и называю эту иллюзию по конечному результату - "отражением".
2) Некий IronEagle усиленно рекламирует себя и вот этот метод, как супер-изобретение "отражения в Т3". Мой туториал - доказательство того, что это НЕ отражение, а иллюзия.

А то, что сейчас текстура "на воде" выглядит как проекция рисунка - ну так сути дела это не меняет. Тот, кто будет воплощать это в жизнь, просто передвинет источник света "под воду" - и получит зеркальное отражение:


Подгонять тщательнее мне лень. И так понятно, что метод работает.
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Zontik

[off]Я, наверное, так и не вник в суть метода. В моем представлении отражение должно быть обязательно перевернутым на 180 градусов, а не на 90, такой уж я ретроград. И еще есть как бы законы оптики: угол падения, угол отражения... Иллюзия, рельность - не имеет значения, если я вижу изображение, гуляющее само по себе - мой мозг говорит мне: это что угодно, только не отражение. То, что я вижу на картинках - это проекция слайда на поверхность мутной воды.
Прошу прощения за офф, больше не буду. Даже если эффект назван неправильно, он все равно интересен.[/off]
Дайте глазам отдохнуть! Тёмное место

Savar

ЦитироватьТЕЛЕПОРТ В ВИДЕ ДВЕРИ: ... а остальное - это "красивость", визуальное оформление в стиле Обливиона, когда на момент телепортации экран медленно затемняется
А что можно посоветовать из эффектов для телепортации? Ну что-то типа плывущего экрана резко в сторону (от быстрого передвежения).

Tiens

Savar,
помимо эффекта затемнения экрана в моем примере, еще можно применять временное смещение цветовой палитры в сторону какого-то одного цвета, а также временное изменение угла обзора игрового пространства. И то, и другое применяется в Шейлбриджской Колыбели в скриптах "перехода в воспоминания о прошлом": цвет смещается в зеленый спектр, а угол обзора расширяется так, что у игрока возникает иллюзия, будто он оказался в аквариуме. При выходе "из прошлого" настройки возвращаются в исходное состояние.

Еще интересно выглядит, когда до телепортации перед игроком (или вокруг игрока) активизируется какой-нибудь эффект (через эмиттер Emitter) типа клубящегося тумана или взрыва (или еще чего-нибудь а-ля магическое заклинание). А если у игрока с точки телепортации имеется обзор на окружающее пространство, то можно прямо перед телепортацией сжать туман на карте до маленького пятачка вокруг игрока.

А вот камерой крутить лучше не надо. Во-первых, это сбивает с толку, поскольку внушает игроку, что направление движения изменилось. Особенно сильно это ошарашит людей с "географическим кретинизмом", а таких немало. Во-вторых, такой финт легко могут принять за глюк. А людей с плохим чувством равновесия, например, как у меня, вообще от таких кульбитов тошнит.
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Tiens

В ПРОДОЛЖЕНИЕ ПОСТА О ЦВЕТНОМ ОТРАЖЕНИИ:

ВОПРОС:   А сколько проекций можно получить от одного такого "отражения"?

Это зависит от того количества поверхностей "воды", которое будет помещено в освещенную зону. Короче, столько, сколько пожелает автор карты:

Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Tiens

#118
Источники света "AMBIENT VERTEX LIGHT" и непрозрачные меши "STATIC MESH":

Позвольте привлечь ваше внимание еще к одному очень интересному визуальному эффекту, который получается, когда источники света типа Ambient Vertex Light освещают меши Static Meshes, покрытые непрозрачными текстурами. Такое освещение создает иллюзию, будто текстура светится сама собой.

Если память мне не изменяет, первым, кто использовал этот трюк в своей миссии, был Judith:



Я также воспроизвела эту идею в своих фонтанах:



КАК ЭТО СДЕЛАТЬ:

Особенностью освещения Ambient Vertex является то, что по-настоящему совершенно неважно, где именно находится источник света по отношению к мешу Static Mesh. В любом случае, свет будет равномерно освещать этот меш. Иными словами, можно разместить источник света ДАЖЕ ВНУТРИ меша, и получится вот это:



Чтобы задействовать этот эффект, в свойствах источника света надо выставить Lighting - Flesh Light Type = FL_AmbientVertex. Также, если требуется, чтобы свет освещал только данный меш и ничего больше, надо в разделе Lighting - Light Shape - подобрать как можно меньшее значение параметру Light Radius: 10, или 16, или еще что-то похожее, в зависимости от размера вашего меша. Пример:


ДОБАВЛЕНО ПОЗЖЕ:

Источник света FL_AmbientVertex особенно хорош тем, что, в отличие от FL_Omni или FL_Spot, он не влияет на производительность и не снижает FPS, поскольку в принципе не имеет способности давать динамические тени. Минус FL_AmbientVertex в том, что освещенные поверхности выглядят довольно неестественно, соответственно, в основном его используют для имитации неяркого отраженного или рассеянного света.
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Savar

ЦитироватьИ то, и другое применяется в Шейлбриджской Колыбели в скриптах "перехода в воспоминания о прошлом": цвет смещается в зеленый спектр, а угол обзора расширяется так, что у игрока возникает иллюзия, будто он оказался в аквариуме.
Я в оригинал играл 3 года назад  :rolleyes: где искать там сие чудо?