Naninovel - это расширение для игрового движка Unity, поэтому настоятельно рекомендуется, по крайней мере, изучить основы использования движка, прежде чем начинать с Naninovel.
В случае, если вы не собираетесь создавать какой-либо пользовательский игровой процесс за пределами Naninovel, не стесняйтесь вообще игнорировать информацию, связанную со сценой, поскольку Naninovel позаботится об этом.
#Основные концепции
Прежде чем настраивать и использовать Naninovel, давайте кратко рассмотрим некоторые основные концепции. Важнейший из них, с которым вы постоянно будете сталкиваться в остальной части руководства, - это актер.
Актер - это сущность, описываемая идентификатором (ID), внешним видом, положением в пространстве (сцена) и некоторыми другими параметрами.
Актер является абстрактной сущностью и не может существовать напрямую; вместо этого используются специализированные версии с различными дополнительными параметрами:
Рассмотрим типичную установку визуального романа, где персонаж изображен поверх фона. В терминах Naninovel это будет представлено следующим образом.
Теперь, допустим, вы хотите, чтобы персонаж "Кохаку" выглядел счастливым. У вас есть несколько текстур (изображений) этого персонажа, каждая из которых изображает разные эмоции. В Naninovel такие текстуры называются внешностью актера. Чтобы достичь цели, мы должны изменить внешность персонажа-актера.
Аналогично, чтобы заставить "MainBackground" отображать что-то еще, мы должны изменить внешний вид этого фонового актера. Действующие лица и их параметры управляются (направляются) с помощью команд, указанных в сценариях naninovel.
Другим широко используемым понятием является пользовательский интерфейс (UI). Пользовательские интерфейсы используются игроком для взаимодействия с актерами и остальной частью игры. Это включает в себя различные меню (заголовок, сохранение-загрузка, настройки и т.д.) и панели управления (переключение режима автоматического чтения, пропуск текста и т.д.).
Элементы пользовательского интерфейса по умолчанию расположены поверх актеров. Текстовые принтеры и обработчики выбора считаются как действующими лицами, так и элементами пользовательского интерфейса, что означает, что они обладают общими качествами действующих лиц и могут управляться с помощью сценариев naninovel, в то же время используемых.
- Создание нового проекта Unity
Имея в виду основные концепции, давайте начнем первоначальную настройку. Первое, что вам понадобится, - это проект Unity. Обратитесь к руководству Unity о том, как его создать. При создании проекта вы, вероятно, захотите использовать 2D шаблон для настройки редактора в режиме 2D поведения, чтобы изображения по умолчанию импортировались как ресурсы sprite и вам не пришлось вручную изменять настройки импорта. Вы можете изменить режим работы редактора позже, используя настройки проекта. Когда вы создаете новый проект, Unity автоматически добавит пример сцены с двумя игровыми объектами внутри нее: "Основная камера" и "Направленный свет". Naninovel полностью независим от сцены, поэтому вы можете удалить эти два объекта со сцены, чтобы они не создавали ненужных накладных расходов на производительность. Вы также можете удалить саму примерную сцену, хотя рекомендуется иметь хотя бы одну сцену в проекте, чтобы некоторые функции редактора работали корректно.
TIP
Disable Reload Domain and Reload Scene options under "Enter Play Mode" project settings to enter play mode faster
- Установка Naninovel
Перетащите Naninovel.package на панель проекта редактора Unity (или импортируйте пакет через меню Asset Store, если вы приобрели его в магазине) и дождитесь начальной компиляции скриптов и процесса импорта активов. При желании вы можете переместить папку пакета Naninovel в любое место внутри каталога ресурсов вашего проекта.
В процессе использования Naninovel ряд ресурсов (конфигурация, настройки, сохранения и т.д.) будет автоматически сгенерирован в папке Assets/NaninovelData. В отличие от папки пакета, вы не должны вручную перемещать папку данных (она будет автоматически восстановлена). Если вы хотите изменить расположение папки данных, отредактируйте свойство сгенерированного пути к данным в меню конфигурации движка.
Уведомление
Вы можете создавать и хранить сценарии naninovel (а также все другие ресурсы Naninovel) в любой папке проекта и организовывать их любым удобным вам способом; именование также зависит от вас. Приведенная выше иллюстрация - это всего лишь пример.
Сценарии Naninovel - это текстовые документы (расширение .nani), в которых вы управляете тем, что происходит в сценах. Вы можете открывать и редактировать их с помощью текстового редактора по вашему выбору, например Microsoft Word, Google Docs или VS
Вы также можете использовать визуальный редактор сценариев для редактирования сценариев naninovel. Выберите созданный ресурс сценария, и вы увидите, что визуальный редактор автоматически откроется в окне инспектора.
Чтобы добавить новую строку в скрипт, либо щелкните правой кнопкой мыши место, куда вы хотите вставить строку, либо нажмите Ctrl +Пробел (вы можете изменить привязки клавиш по умолчанию в меню конфигурации ввода) и выберите нужную строку или тип команды. Чтобы изменить порядок строк, перетащите их, используя метки с номерами. Чтобы удалить строку, щелкните по ней правой кнопкой мыши и выберите "Удалить".
Когда вы измените сценарий с помощью визуального редактора, вы увидите звездочку (*) над именем сценария в заголовке инспектора. Это означает, что ресурс загрязнен и его необходимо сохранить; нажмите Ctrl+S, чтобы сохранить ресурс. В случае, если вы попытаетесь выбрать другой ресурс во время работы скрипта, появится диалоговое окно, позволяющее либо сохранить, либо отменить изменения.
Визуальный редактор автоматически синхронизирует отредактированный сценарий, если вы обновите его извне, так что вы сможете беспрепятственно работать со сценариями как в текстовом, так и в визуальном редакторах.
уведомление
В остальной части этого руководства мы будем использовать текстовый редактор, но вы можете повторить все те же действия с визуальным редактором.
Откройте созданный скрипт в текстовом редакторе и добавьте следующий текст:
Hello World!
@stop
В первой строке будет напечатан текст "Привет, мир!" при запуске игры, а вторая требуется для корректной остановки выполнения скрипта.
Войдите в режим воспроизведения и начните новую игру, чтобы увидеть результат.
уведомление
Все доступные встроенные команды скрипта, поддерживаемые параметры и примеры использования перечислены в справочнике API. Также возможно добавлять пользовательские команды; смотрите руководство для получения дополнительной информации.
В случае, если кнопка "НОВАЯ ИГРА" в меню заголовка не активна, убедитесь, что свойство Start Game Script в конфигурации скрипта (Naninovel -> Configuration -> Scripts) равно имени созданного скрипта. Свойство заполняется автоматически при создании первого скрипта через меню create asset, но это может не сработать, если вы скопируете какой-либо существующий скрипт в проект.
Добавить персонажа
Персонажи в Naninovel могут быть основаны на обычных и нарезанных кубиками спрайтах, анимированных моделях Live2D или Spine и 3D-сетках; вы также можете добавить свои собственные реализации. Для целей этого руководства мы будем использовать реализацию sprite.
Каждый персонаж представлен идентификатором и набором внешностей. Чтобы добавить персонажа, используйте графический интерфейс менеджера персонажей, доступный через меню Naninovel -> Ресурсы -> Персонажи, добавьте новую запись актера персонажа, указав ее идентификатор, затем дважды щелкните запись (или нажмите кнопку в и записи) и добавьте все спрайты внешнего вида в список ресурсов. Как и в случае со сценариями naninovel, вы можете перетащить несколько ресурсов и папок в список.
Давайте предположим, что добавленный идентификатор персонажа - "Кохаку". Отредактируйте сценарий naninovel, чтобы показать добавленный символ:
@char Kohaku
Hello World!
@stop
Запустите игру, и вы увидите один из спрайтов внешнего вида персонажа в центре экрана. Если вы не укажете внешний вид, по умолчанию будет выбрано либо имя, равное идентификатору персонажа, либо "По умолчанию". Чтобы выбрать определенный внешний вид, добавьте его название после идентификатора персонажа, разделенного точкой, вот так:
@char Kohaku.Happy
Hello World!
@stop
Учитывая, что для персонажа "Кохаку" добавлен внешний вид с именем "Хэппи", теперь вместо стандартного будет показан соответствующий спрайт.
Теперь вы можете связать печатный текст с символом, добавив его идентификатор, за которым следует двоеточие перед текстом:
@char Kohaku.Happy
Kohaku: Hello World!
@stop
Также можно объединить внешний вид персонажа с печатным текстом, чтобы сэкономить время на вводе текста:
Kohaku.Happy: Hello World!
@stop
To hide a character (or any other actor, like background, text printer, etc), use @hide command followed by actor ID:
Kohaku.Happy: Hello World!
@hide Kohaku
@stop
Добавить фон
Подобно персонажам, фон в Naninovel может быть представлен несколькими способами: спрайт, универсальный объект, видео и сцена; также возможны пользовательские реализации.
Хотя вы можете создать несколько независимых фоновых актеров, в обычной виртуальной игре вы обычно используете только одного и меняете его внешний вид. Чтобы упростить процедуру, актер MainBackground по умолчанию добавляется в список фоновых актеров, и вам не нужно каждый раз указывать идентификатор, чтобы изменить его внешний вид в сценариях naninovel.
Добавьте фоновые спрайты через меню Naninovel -> Ресурсы -> Фоны. Запись MainBackground откроется автоматически, но вы все равно можете вернуться к списку участников и создать других, если хотите.
Давайте предположим, что добавленный спрайт фонового внешнего вида называется "Город". Чтобы отобразить фон, используйте команду @back, за которой следует название внешнего вида фона:
@back City
При переключении между фонами по умолчанию будет использоваться эффект перекрестного затухания. Чтобы изменить эффект, укажите тип перехода после названия внешнего вида:
@back City
@back School.RadialBlur
Это позволит преобразовать "Город" в "школу", используя эффект перехода "RadialBlur".
Чтобы ссылаться на фон, отличный от основного (например, в случае, если вы хотите наложить несколько фонов друг на друга), укажите идентификатор актера. Например, учитывая, что фоновый актер с идентификатором Flower существует рядом с основным, следующие команды изменят его внешний вид на "Распустившийся", а затем на "Увядший".:
@back Bloomed id:Flower
@back Withered id:Flower
Добавьте музыку и звуковые эффекты
Чтобы добавить ресурс BGM (фоновая музыка) или SFX (звуковой эффект), используйте меню Naninovel -> Ресурсы -> Аудиоредактор. Вы можете использовать любые аудиоформаты, поддерживаемые Unity.
Давайте предположим, что добавленное имя файла BGM - "ThePromenade". Чтобы воспроизвести этот трек в качестве фоновой музыки, используйте команду @bgm, за которой следует название трека:
@bgm ThePromenade
Эффект перекрестного затухания будет автоматически применен при переключении музыкальных дорожек. Музыка будет воспроизводиться по умолчанию, хотя вы можете изменить это, а также громкость и длительность затухания с помощью параметров команды.
Напротив, звуковые эффекты по умолчанию не будут зацикливаться. Предполагая, что вы добавили "взрывной" SFX, используйте команду @sfx для его воспроизведения:
@sfx Explosion