четверг, 20 июня 2019 г.

Руководство по Fungus. Рассказать историю.

Вот несколько шагов, знакомящими вас с функциями повествования в Fungus.

Добавление Персонажей

Мы можем связать слова, сказанные Командой Say, с определенным Персонажем(Character). Рассмотрим сцену с Томом и Джерри:

[Tom] Where is that mouse?
[Jerry] Where is that cat?
[Tom] Aha...
[Jerry] Arrrrggggggg!!!!!!!

Для реализации вышеперечисленного, нам нужно создать и назвать два Персонажа. Сделайте следующее:
  • (настройка) Создайте новую сцену и Блок-Схему. Выберите Блок.
  • Переименуйте Блок на "cat and mouse".
  • Выберите меню: Tools | Fungus | Create | Character:

        Меню создания персонажа
  • Теперь вы должны увидеть новый игровой объект «Character» в окне Hierarchy с именем Character.
     новый персонаж

  • Убедитесь, что выбран «Character», и измените его свойства в окне Инспектор. Переименуйте в «Character1 - Tom», затем в его компоненте Character (Script) установите для Name Text «Tom», а для Name Color - красный:

 персонаж Tom Red

  • Повторите предыдущие два шага, чтобы создать второго персонажа «Character2 - Jerry», затем в его компоненте Character (Script) установите для Name Text значение «Jerry», а для Name Color - синий:

 персонаж  jerry blue
  • Теперь у нас есть два игровых объекта для Персонажей, и мы можем назначить им любые команды Say.
  • Создайте Команду Say для Тома с текстом «Where is that mouse?», Установив для Character команду Say «Character1 - Tom»:
 Том сказал, Where is that mouse
   
  • Повторите вышеуказанный шаг для 3 оставшихся операторов, для:
    • Джерри "Where is that cat?"
    •  Tom "Aha..."
    • Jerry "Arrrrggggggg!!!!!!!"  Назначайте соответствующего Персонажа для каждой команды Say из меню Персонажей в окне Hiearchy.
  • Теперь у вас последовательность из 4 команд Say в вашем Блоке:
      
   разговор Тома с Джерри
   
  • Когда вы запускаете сцену, вы должны увидеть последовательность предложений, четко показывающих, кто что говорит - и имя персонажа окрашено в соответствии со свойствами, которые мы установили для Персонажа (красный для Тома и синий для Джерри):
 выходной разговор Тома с Джерри

Изображения для Портрета Персонажа


Если вы добавляете одно или несколько изображений портрета Персонажа, то каждая команда Say для него может определить, какое из этих изображений должно отображаться вместе с (цветным) именем персонажа.

Чтобы добавить изображения портрета персонажа, сделайте следующее:
  • (настройка) Создайте новую сцену, Создайте Блок-Схему и выберите Блок на Блок-Схеме.
  • Переименуйте Блок-Схему «The case of the missing violin»(Дело о пропавшей скрипке).
  • Создайте Персонажа, и в окне Инспектор дайте вашему персонажу Name Text (мы выбрали «Sherlock») и Name Color.
  • Теперь в окне Инспектор нажмите кнопку «Add Portrait» (знак «+»), чтобы получить «слот» для добавления портретного изображения:
 добавить портрет
  • Перетащите соответствующее изображение на ваш новый слот (на этом скриншоте мы использовали изображение «condident» из примера проекта Sherlock). Также установите направление, куда направлено изображение (влево / вперед / вправо):
  изображение Шерлока
  • Создайте второго Персонажа (например, John, Name Color - синий и изображение «annoyed»).
  • Теперь выберите свой Блок на Блок-Схеме, чтобы вы могли добавить несколько команд для выполнения ...
  • Создайте команду «Say» для своего персонажа Sherlock, говоря: «Watson, have you seen my violin?»(Ватсон, ты видел мою скрипку?) и выбрав портрет «confident» (так как он единственный, который мы добавили к Персонажу):
 Шерлок команда Say
  • Добавьте вторую команду «Say», на этот раз для Character John, сказав «No, why don't you find it yourself using your amazing powers of deduction...»(Нет, почему бы вам самим не использовать свои удивительные силы дедукции ...) и выбрать «annoyed» портрет для John.
 вторая команда Say
  •  Когда вы запускаете сцену, вы должны увидеть последовательность предложений, четко показывающих, кто говорит, как с (цветным) имени, и с изображением портрета, которое вы выбрали для каждой команды Say:
 выход Шерлока
   
   
выход Джона
  • Как вы можете видеть в некоторых примерах Fungus Example, многие игры будут иметь широкий спектр различных портретных изображений для каждого Персонажа, чтобы обеспечить полный диапазон визуального выражения эмоций для поддержки текста команд Say:
 список изображений Шерлока

Character Stage


Портретные изображения в Fungus, могут быть использованы двумя способами.
  • Они могут быть показаны как часть команд Say в Say Dialog.
  • В качестве альтернативы портреты могут отображаться и перемещаться по экрану сцены внутри Fungus Stages, используя команду «Portrait».

Создайте простой stage, охватывающий все окно игры, следующим образом:
  • (настройка) Создайте новую сцену, добавьте к ней Блок-Схему и выберите Блок.
  • Переименуйте Блок в «stage demo».
  • Создайте Fungus Stage, выбрав в меню: Tools | Fungus | Create | Stage:
 меню добавить Stage
  • Теперь вы должны увидеть новый gameObject "Stage", добавленный в окне Иерархия.
  • Если вы выберете его, то увидите его свойства в окне Инспектор. Мы можем оставить настройки по умолчанию, так как они предназначены для сцены, чтобы покрыть все окно игры. Внутри сцены есть несколько дочерних gameObjects(Игровых объектов), но вам не нужно об этом беспокоиться, если вы не проделали расширенную настройку Stage для определенного игрового эффекта.
gameObject stage

Теперь, когда вы добавили Stage в свою сцену, вы сможете заставить большие изображения портретов появляться / перемещаться за пределы экрана с помощью команды Portrait в Блоках Блок-Схем...

Команда Portrait


Как только у вас есть Fungus Stage и Персонаж, вы можете поручить Fungus отобразить / переместить на экране изображения Портрета Персонажа. Чтобы изображения персонажей отображались как часть сцены, выполните следующие действия:
  • (настройка) Создайте новую сцену, добавьте к ней Блок-Схему и выберите Блок на Блок-Схеме.
  • Переименуйте Блок Блок-схемы "sherlock enters dramatically"(Шерлок входит резко).
  • Создайте игровой объект Fungus Stage на сцене, выбрав в меню: Tools | Fungus | Create | Stage.
  • Создайте нового персонажа, назовите «Character1 - Sherlock», установите Name Text на «sherlock», а Name Color на зеленый. Добавьте к этому Персонажу портрет (мы использовали изображение sherlock-confident из примера «Sherlock»). И установите изображение, обращенное к соответствующей стороне (в нашем случае: слева):
 изображение Шерлока
  • Чтобы добавить команду Portrait, нажмите кнопку «Add Command» (знак «+»), затем выберите меню: Narrative | Portrait:
добавить команду Portrait
  • Теперь вы увидите вашу новую команду «Portrait» в верхней части окна Инспектор, а ее свойства «Command» - в нижней половине Инспектора. Обратите внимание на красный восклицательный знак справа от выделенной (зеленой) строки команд - это указывается, когда команда имеет одно или несколько обязательных свойств, которые не были установлены. Мы видим сообщение об ошибке * "No character selected" *(Персонаж не выбран):

новая команда Portrait
  • Установите для персонажа портрет «Character1 - sherlock» и установите следующие свойства:
    • Portrait: confident
    • Facing: <– (left)
    • Move: Yes (check the checkbox)
    • From Position: Offscreen Right
    • To Position: Right

команда Portrait для Шерлока
  • Когда вы запустите сцену, изображение Шерлока должно переместиться в поле зрения, начиная с «Вне экрана» - «Справа». Изображение останавливается, когда на экран попадает примерно треть:
    портрет Шерлока
Обратите внимание на общую последовательность команд:
  • чтобы ввести Персонаж на экран (команда Portrait),
  • затем пусть этот персонаж скажет что-то (команда Say),
  • затем введите другой Персонаж (команда Portrait),
  • а затем этот второй Персонаж говорит что-то (команду Say).

Вот как раз такая последовательность для сценария с двумя предложениями «Дело о пропавшей скрипке», описанного в рецепте обучения умению создавать Персонажи в Fungus (рецепт: перечисление портретных изображений для использования Персонажами):



Здесь мы видим, как пользователь Режима Игры выводит результаты запуска этого рабочего процесса:



портрет Шерлока во время разговора

 портрет Джона во время разговора

Играть Музыку


Музыкальные аудиоклипы зацикливаются, поэтому они перезапускаются после завершения воспроизведения. Часто первая команда в Блоке - это команда воспроизведения музыки. Добавьте музыку в Блок следующим образом:
  • (настройка) Создайте новую сцену, добавьте к ней Блок-Схему и выберите Блок.
  • Чтобы добавить команду воспроизведения музыки в текущий Блок, нажмите кнопку «Add Command» (кнопка со знаком «+») в окне Инспектора, а затем выберите меню: Audio | Play Music.
  • Убедитесь, что в верхней части окна Инспектора выбрана команда «Play Music» (зеленая подсветка), а затем перетащите нужный файл музыкального клипа в свойство «Music Clip» в нижней части окна Инспектора:
Добавить команду Play Music
  • Измените громкость по желанию (по умолчанию 1, значения находятся в диапазоне от 0,0 до 1,0, что соответствует процентам объема от 0% до 100%).
  • Воспроизведите свою сцену - музыкальный клип должен воспроизводиться и продолжать цикл.

ПРИМЕЧАНИЕ. Если вы хотите начать воспроизведение музыкального клипа с известного момента времени (а не с начала), введите желаемый момент времени в свойстве Inspector «At Time» для команды «Play Music».

Ветвление повествования


Давайте воспользуемся приведенной выше командой Say, чтобы задать сложный математический вопрос, и продемонстрируем команду Menu, предложив пользователю выбор «правильных» и «неправильных» ответов. Команды меню передают управление другому Блоку - поэтому нам нужно добавить 2 новых Блока, соответствующие 2 ответам. Сделайте следующее:
  • (настройка) Создайте новую сцену, добавьте к ней Блок-Схему Fungus и выберите Блок на Блок-схеме.
  • Переименуйте Блок в Блок-Схеме на «Question».
  • Создайте команду Say в Story Text, чтобы задать вопрос: «Is 2 + 2?».
  • Снимите флажок «Wait For Click» (это так, что мы видим пункты меню сразу после того, как команда Say отобразила вопрос):
  • Создайте новый Блок с именем «Correct», содержащий команду Say с текстом «Well done, you are very mathematical!». Нажмите кнопку со знаком плюс в окне Блок-Схемы, чтобы добавить новый Блок, переименуйте его в «Correct» и добавьте команду «Say»:


  • Выберите Блок «Question» и добавьте команду Menu, нажав кнопку «Добавить» в Инспекторе, а затем выберите меню: Narrative | Menu.
  • С помощью новой команды Menu, выделенной (зеленым) в верхней половине окна Инспектора, установите для Text значение «Yes», а для Target Block - новый Блок «Correct»:

  • Теперь вы должны увидеть, как «поток» команд может измениться с Блока «hello» на Блок «Correct» в окне Блок-Схемы:

  • Добавьте второй новый Блок с именем «Wrong», содержащий команду Say с текстом «Bad luck, perhaps consider a non-mathematical career path...»


  • Теперь нам нужно добавить еще одну команду Menu в наш Блок «hello», предлагая пользователю ответ «No» на наш математический вопрос и передавая управление Блоку «Wrong», если они не согласны с тем, что 2 + 2 = 4. Выберите «hello» и добавьте команду Menu. С помощью этой новой команды Menu, выделенной (зеленый) в верхней половине окна Инспектора, установите для Text значение «No», а для Target Block - новый Блок «Wrong».
  • Теперь вы должны увидеть в окне Блок-Схеме, как Блок «hello» может передать управление Блоку «Correct» или Блоку «Wrong» - в зависимости от того, какой ответ меню выбирает пользователь.

  • Запустите сцену, и вы должны увидеть вопрос Say в нижней части экрана, а также две кнопки меню «Yes» и «No» в центре экрана. Нажатие «Yes» затем запускает команду Блока «Correct», а нажатие «No» запускает команды Блока «Wrong»:

Изменить Цвет Фона

Камеры Unity определяют, что видит пользователь во время запуска сцены. Когда во всем или части прямоугольника камеры ничего не присутствует, отображается сплошной цвет «Background». Камеры Unity имеют фон по умолчанию среднего темно-синего цвета. Вы можете изменить это следующим образом:
  • (настройка) Создайте новую 2D-сцену, если у вас еще нет сцены для работы.
  • Выберите Основную Камеру(Main Camera) в окне Иерархии.
  • В окне Инспектор выберите другое значение для свойства «Background» - часто хорошо работает черный цвет.
цвет фона камеры 
  • Теперь, когда часть прямоугольника камеры (frustrum) не показывает gameOjects, цвет Background будет тем, что видит пользователь.

Фоновый Спрайт

Чтобы добавить любой файл изображения спрайта из папки проекта Unity в текущую сцену, просто перетащите ссылку на файл изображения спрайта из окна проекта в окно сцены и поверните / измените размер. Спрайт появится в виде нового gameObject (с тем же именем, что и файл изображения проекта Sprite) в окне Иерархии:

спрайт в сцене

ПРИМЕЧАНИЕ. Возможно, вы не сможете увидеть спрайт, поскольку то, что мы видим, зависит от текущих настроек камеры. То, что показывает камера, как она движется и т. д., можно контролировать с помощью Fungus Views и Commmands, относящихся к Видам(Views).

Использование Видов

То, что Main Camera сцены показывает пользователю, как она движется и т. д., можно контролировать с помощью Fungus Views и Fungus Commmands, относящихся к Views. Fungus View - это особый игровой объект в Иерархии, он отображается в виде зеленого прямоугольника, обведенного контуром, с двумя заполненными зелеными прямоугольниками слева и справа. Соотношение выделенного внутреннего прямоугольника составляет 4: 3. Соотношение внешнего прямоугольника (который включает в себя два заполненных зеленого прямоугольника слева и справа) составляет 16: 9. Эти два соотношения охватывают практически все распространенные соотношения ширины и высоты экрана телефона, планшета и компьютера. Таким образом, расположение представления таким образом, чтобы фоновое изображение Sprite выглядело хорошо как для внутренних, так и для внешних прямоугольников вида, в значительной степени гарантирует, что ваша игра будет хорошо выглядеть на любом устройстве. Установка цвета фона камеры на что-то вроде черного цвета также означает, что на редком устройстве с нечетным соотношением, показывающим контент за пределами внешнего прямоугольника вида, игра все равно должна выглядеть вполне приемлемо.

Чтобы добавить представление к текущей сцене, выполните следующие действия:
  • (настройка) Создание / редактирование сцены с фоновым изображением Sprite gameObject
  • Выберите меню: Tools | Fungus | Create | View:
меню новый вид 
  • Переименуйте этот View как «View1».
  • Используйте два белых квадрата, чтобы изменить размер вида (он сохраняют свои пропорции). Используйте контур центрального квадрата или вертикальные и горизонтальные стрелки для перемещения вида вокруг окна сцены.
перемещать и изменять размеры вручную

новый взгляд
  • Убедитесь, что View выбрано в окне Иерархии, затем расположите его так, чтобы оно было приблизительно отцентрировано на фоновом изображении спрайта.
  • Измените размер (и при необходимости измените положение) View, чтобы оно было как можно большим, но при этом убедитесь, что его внешний прямоугольник остается в границах фонового спрайта. (Обратите внимание, что мы подкрасили Sprite красным, чтобы зеленые прямоугольники View было легче увидеть на этом скриншоте):
изменить размер View

ПРИМЕЧАНИЕ: Вы также можете вращать вид с помощью инструмента Unity Rotate
ПРИМЕЧАНИЕ. Пока вы не добавите команду «Fade To View», вы все равно не сможете увидеть Sprite в окне «Game» во время воспроизведения сцены, поскольку Основная Камера не была ориентирована для изменения размера и выравнивания с View.

Команда Fade To View


Если у вас есть сцена, содержащая некоторые фоновые спрайты и Views, вы можете использовать команды, связанные с камерой, для управления тем, что видит пользователь. Простейший элемент управления камерой - сделать так, чтобы окно Игры постепенно переходило от сплошного цвета к размеру основной камеры, располагался (и, при необходимости, поворачивался), чтобы показать заданный View. Сделайте следующее:
  • (настройка) Создание / редактирование сцены, содержащей фоновое изображение Sprite и Fungus View, которое было расположено так, чтобы отображать все / некоторые из Sprite.
  • В Блок-Схеме Fungus переименуйте Блок «Camera Control».
  • Добавьте новую команду «Fade to View» в Блок. Сначала нажмите кнопку «Плюс» в нижней половине окна Инспектор, чтобы добавить новую команду, затем выберите меню: Camera | Fade To View:
меню Fade to View
Теперь перетащите View1 из окна Иерархия в свойство «Target View» команды «Fade to View» в окне Инспектора:


    назначить Target View
  • (Мы будем сохранять значения по умолчанию в 1 секунду From Color цвета черного).
  • Когда вы запускаете сцену, окно Игры должно начинаться с черного цвета, а затем постепенно фоновое изображение спрайта внутри прямоугольника View должно исчезнуть.
  • Теперь перетащите «View1» из окна Иерархии в
меню Fade to View

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.