Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OSFM v1.2.0.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

2.5 Основные отличия в скриптинге tes 3 и tes 4

Основные принципы написания скриптов для TES 4 Oblivion остались незыблемыми. Однако различий действительно много, поэтому мы приведем только основные. Первое, что бросается в глаза при взгляде на скрипты Обливиона, это то, что теперь скрипт разделён на исполняемые блоки. В принципе, и в Морровинде делалось то же самое, но в более свободном порядке. Например, если раньше для активации объекта надо было написать:

  if ( OnActivate == 1)     …   endif

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

 begin OnActivate      …  end

В данном случае применяется тип блока OnActivate. Зачем нужен этот блок? Как известно, в игре все скрипты выполняются в каждом игровом фрейме (кадре) и предшествуют обновлению изображения на экране. В Морровинде приходилось принимать специальные меры, чтобы ограничить число выполнения тех или иных операций в тексте скрипта, поскольку это усложняло и без того непростые условия обработки информации и, как следствие, понижало fps.

В приведенном примере блок-тип OnActivate будет выполняться только один раз - в первом же фрейме, в котором выполнилось условие активации, в дальнейшем все, что находится в пределах блока «begin OnActivate … end», выполняться не будет. В первом томе мы более подробно рассмотрим все 30 разновидностей типов блоков. Другое явное отличие видно уже по окну редактора – это наличие трёх типов скриптов:

  • Object script - объектные (локальные) скрипты, "привязанные" к объектам.

  • Quest script - квестовые скрипты. Они прикреплены к квестам и выполняются глобально, пока выполняется квест. Эти скрипты доступны из любой локации, где бы игрок ни находился. Глобальных скриптов в том виде, которые известны нам по игре Морровинд, в Обливионе, увы, нет. Но вместо них мы с успехом можем использовать квестовые скрипты. Как это сделать, будет рассмотрено во втором томе учебника в главе «Полезные примеры, решения и трюки».

  • Magic effect script - магические скрипты. Скрипты, которые связаны с магическими эффектами и магией.

Важным и полезным нововведением является возможность работы с указателями на базовые объекты. Для этого в скриптовый язык был введен новый тип переменной – ref (reference). В связи с введением в игру потребностей в еде и сне была разработана новая система искусственного интеллекта – Radiant AI. Как следствие, это повлекло за собой появление пакетов AI, новой анимации, а также скриптовых функций и консольных команд для управления ими. Поскольку теперь стала необходима и более сложная анимация, возможности управления ею стали гораздо шире. В TES 3, например, все анимационные движения для вида от третьего лица были включены в единый длинный файл base_anim.nif, который содержал 6 с небольшим тысяч фреймов. Множество отдельных движений, которые были включены в него, можно было проигрывать в любой последовательности, используя специальные анимационные функции. Внедрить и проиграть новую анимацию можно было, подключив в конструкторе свой собственный анимационный файл (на самом деле это комплект из трех файлов - *.nif, X*.nif и X*.kf.), однако они могли заменить только девять стандартных анимаций бездействия (idle, idle2...idle9).

В Обливионе уже нет такого длинного файла. Анимация разделена и находится в различных файлах, имеющих формат *.kf новой версии. Теперь можно подключить не один, а множество пользовательских файлов с новой анимацией. К сожалению, Bethesda на момент написания учебника так и не опубликовала новый формат файлов KF. Этим, а также отсутствием официального экспортера/импортера для 3dsMax, и объясняется столь долгое отсутствие плагинов с новой анимацией. Но мир не стоит на месте - усилиями энтузиастов наконец-то появились первые проблески - почти расшифрованы новые форматы, появились неофициальные экспортеры/импортеры и появились первые плагины с новой анимацией. Более подробно анимация будет рассмотрена в третьем томе. Изменения коснулись и формата файлов NIF. Все 3d-модели объектов Обливиона, имеющие новый формат NIF - v20.0.0.5, не открываются в старом конструкторе и привычных каждому модмейкеру программах для игры Морровинд. В связи с этим появляются все новые версии программ, “понимающих” данный формат. Одной из наиболее динамично развивающихся и очень полезных программ является NIFSkope. Но основной программой для создания новых объектов является, безусловно, 3dsMax. Все объекты TES 3 Morrowind были разработаны в 3dsMax v4.2. Работа со старшими версиями этой программы была проблематичной. Развитие 3d-технологий привело к тому, что теперь для моделирования объектов Обливиона можно использовать 3ds Max вплоть до 9-й версии. Необходим только соответствующий плагин для вашей версии программы. Изменения коснулись также и методов управления погодой и освещением. Использование прогрессивной технологии HDR и шейдерных эффектов третьего поколения вызвало необходимость введения для них средств управления (вы наверняка решали вопрос оптимизации настроек для своего компьютера, особенно если он у вас не самый новый или видеокарта не поддерживает “третьи” шейдеры) и новых скриптовых функций. Об озвучивании уже много писалось. Большой минус локализованной Акеллой и 1С русской версии игры – это отсутствие русской речи. Усилиями энтузиастов были реализованы “народные” проекты озвучивания.

Однако с выходом «Золотого издания Обливиона» все стало на свое место, однако теперь плагиностроителям необходимо следить, чтобы создаваемые ими плагины работали корректно, поскольку в новом издании появился русский звук, были изменены диалоги, а также в включен официальный аддон Shivering Isles. Сейчас вполне возможно создавать и свои собственные “озвученные” плагины и использовать для этого средства управления звуком в диалогах. В игре TES 4 Oblivion есть возможность построения осмысленной беседы целой группы персонажей, чего было сложно добиться в TES 3 Morrowind. В третьем томе мы приведем примеры скриптов, показывающих, каким образом это можно реализовать. Это только малая часть отличий. В общем, читайте учебник, сравнивайте, анализируйте, творите…

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]