Главная страница
Навигация по странице:

  • Sugo, таким образом я просто тянул это от Проектной группы в область Шрифта в Текстовом компоненте GUI

  • Instructions Text в группе Иерархии, и пойдите в Компонент | Сценарии | Аниматор.

  • Instructions Text

  • Add Current

  • , Строят Параметры настройки теперь, и смотрят по вариантам, которые Вы имеете. Вы должны видеть различные варианты, упомянутые ранее 243 В Построить Параметрах настройки

  • PowerPC

  • Автор Will Goldstone Источник Unity Game


    Скачать 7.66 Mb.
    НазваниеАвтор Will Goldstone Источник Unity Game
    АнкорUnity Game Development Essentials RUS.pdf
    Дата28.01.2017
    Размер7.66 Mb.
    Формат файлаpdf
    Имя файлаUnity Game Development Essentials RUS.pdf
    ТипДокументы
    #746
    страница14 из 17
    1   ...   9   10   11   12   13   14   15   16   17

    (
    www.packtpub

    . com/files/code/8i8i_code.zip). Определите местонахождение пакета, названного volcanoPack. unitypackage от наших извлеченных файлов, и затем переключитесь назад на Unity. Пойдите в Активы | Пакет Импорта, проведите к файлу, который Вы только загрузили на своем компьютере, и выбирать его как пакет, чтобы импортировать. Подтвердите это, когда Вам покажут список активов, включенных, и Вы найдете, что Вы добавили папку Вулкана к своему проекту. В этой папке Вы найдете Структура для дыма вулкана Звуковой файл, чтобы представить грохочущую лаву вулкана Файл структуры вызвал белого, которого мы будем использовать позже для нашего постепенного появления изображения уровня Создание материала дыма Теперь, когда мы импортировали соответствующие активы, мы должны будем сделать материал для нашей структуры дыма вулкана. Чтобы оставить вещи опрятными, мы создадим эту внутреннюю часть папка Вулкана. Выберите папку Вулкана в Проектной группе, и затем нажмите на кнопку Create, выбирая Материал из опускаться меню. Переименуйте этот новый материальный Материал Дыма Вулкана, и гарантируйте, что он отобран в Проектной группе, чтобы видеть ее параметры настройки в Инспекторе. От Shader опускаются меню, выбирают, Частицы | Умножаются. Это установит стиль предоставления для материала к одному подходящему для частиц - Умножаются, покажет прозрачный фон структур частицы и смягченные края. Drag and drop перетащили и опустили) volcano_smoke файл структуры от папки Вулкана на пустую щель направо от урегулирования Структуры Частицы, оставляя параметры Черепицы и Погашения в их неплатежах. Теперь тяните Материал Дыма Вулкана от папки Вулкана в Проектной группе, и понизьте это на систему частицы Дыма Вулкана в Иерархии, чтобы применить это. Параметры настройки системы частицы Как с любым визуальным эффектом, особенно относительно систем много частицы экспериментирования необходимо, чтобы достигнуть эффекта, что Вы лично чувствуете хорошие взгляды. С этим в памяти, я рекомендую

    225 Вам просто использовать параметры настройки, которые я предлагаю здесь как гид, и затем не тороплюсь, чтобы попытаться приспособить несколько параметров настройки, чтобы достигнуть эффекта что Вам нравится вид Работы хорошо со стилем рта вулкана Вы создали на своем ландшафте. Отметьте, что параметры настройки, перечисленные здесь, являются только теми, которые были приспособлены от неплатежа. Эллиптические параметры настройки Эмитента Частицы Размер Минуты 40
    Макс Сайз: 60
    Энергия Минуты 10 Макс Энерджи: 40 Эмиссия Минуты 2 Макс Эмишен: 8 Мировая Скоростная Ось Y: 30 Параметры настройки Аниматора Частицы Цветная Мультипликация [0]: Оранжевый цвет, 5%-ая Альфа Цветная Мультипликация [1]: Красный цвет, 25%-ая Альфа Цветная Мультипликация [2]: Середина Серого цвета, ой Альфы Цветная Мультипликация [3]: Более темный Серый цвет, 25%-ая Альфа Цветная Мультипликация [4]: Черный цвет, 5%-ая Альфа Размер Растет 0.15 Сила Rnd: (25, 0, 25) Сила (1, 0, 1) Теперь не торопитесь, чтобы приспособить эти параметры настройки, чтобы заставить частицы удовлетворить Вашему ландшафту a

    226 немного лучше. Добавление аудио к вулкану Чтобы закончить эффект подлинного вулкана, мы добавим звуковой источник теперь с нашей вулканической звуковой петлей, играющей на этом. Как отмечено ранее, наш вулкан не фактический объект игры, таким образом в этом случае также, мы не можем добавить компонент к нему из-за этого факта. Однако, у нас действительно теперь есть объект в пункте центра нашего вулкана - система частицы. Это означает, что мы можем использовать тот объект как тот, чтобы добавить наш звуковой компонент к. Гарантируйте, что объект Volcano Smoke отобран в Иерархии и затем идти в Компонент | Аудио | Звуковой Источник Это добавляет звуковой исходный компонент к основанию списка компонентов в Инспекторе. Поскольку у системы частицы уже есть несколько компонентов, заставляющих это работать, Вы, возможно, должны прокрутить вниз в Инспекторе, чтобы найти Звуковой Источник Назначьте volcano_rumble звуковую скрепку от папки Вулкана до Звукового параметра Скрепки, и гарантируйте, что Игра На Активном отобрана - это гарантирует, что звук не будет нуждаться в вызове, но просто играет, когда сцена будет загружена. Регулируйте Громкость и параметры Макса Вольюма оба к 200. Это гарантирует что Звук вулкана достаточно громок, чтобы пересилить звук стерео окружения склона, относился к ландшафту Звук достигает этого уровня, когда игрок околозвукового источника, то есть, стендов рядом с вулканом Мы оставим Объем Минуты на 0, поскольку это означает, что звук может полностью исчезнуть, если игрок достаточно далек от вулкана. Затем, мы можем определить, как далеко далеко игрок должен быть для звука, чтобы постепенно исчезнуть, регулируя урегулирование Фактора
    Rolloff. Намоем ландшафте урегулирование 0.025 является хорошим количеством - с этим урегулированием, чем выше ценность, тем ближе игрок должен быть источнику прежде, чем услышать это так при использовании низкой ценности, поскольку я имею, этот звук, несет для большого расстояния, поскольку Вы ожидали бы, что звук грохочущего вулкана сделает. Начните с этой ценности, и попробуйте различные параметры настройки, когда Выиграете тест игра коротко. Наконец, выберите коробку для Петли, чтобы гарантировать, что звук продолжает играть неопределенно

    227 Тестирование вулкана Теперь, когда наш вулкан полон, мы должны проверить его эффективность. Во-первых, пойдите в Файл |, Экономят Сцену, чтобы гарантировать, что мы не теряем неспасенного продвижения. Тогда нажмите кнопку Play, и попытайтесь идти от текущего местоположения Вашего игрока, к вулкану. Частицы должны повышаться в воздух. Поскольку Вы приближаетесь к вулкану, объем звука вулкана должен стать громче. Если это недостаточно громко, просто tweaked (щипнуть) ценности в областях Объема, или если звук не несет достаточно далеко, то понижает ценность для Фактора Rolloff в Звуковом Исходном компоненте. Помните, что сделанное использование любых изменений Инспектора вовремя тестирования игры будет уничтожено, как только Вы поражаете кнопку Play снова, чтобы прекратить проверять. Просто используйте это как буквальный период тестирования, и гарантируйте, что Вы помещаете ценности, на которые Вы обосновываетесь в Инспекторе снова, когда Вы прекратили проверять игру. Это стоит отмечать, что для того, чтобы проверить цели, Вы можете желать увеличить скорость Первого Диспетчера Человека, который позволит Вам идти вокруг Вашего острова более быстро. Чтобы сделать это, в то время как Вы - тестирование игры, выбирает объект First Person
    Controller в Иерархии. Установите Variables участника общественности Скорости FPSWalker (сценарий, компонент к Вашей желательной ценности - помнит, что это просто для того, чтобы проверить, таким образом нереалистичные скорости прекрасны Поскольку Выделаете это вовремя тестирования, это урегулирование Иерархии вернется назад, как только Вы нажимаете кнопку Play снова, чтобы остановить испытательное значение, Вы не будете терять свою оригинальную намеченную скорость. Кокосовые следы Затем мы добавим некоторый талант к нашей кокосовой застенчивой игре, добавляя полоски света к нашим кокосовым prefab. Делая это, когда игрок бросает их, они будут видеть, что полоска света следует за траекторией снаряда, который должен дать хороший визуальный эффект. Редактирование Prefab Чтобы осуществить это изменение, мы должны будем возвратиться к нашему кокосовому prefab от Главы 6, как След компонент Renderer, который мы будем использовать, должен быть присоединен к этому объекту. Откройте папку Prefab в Проектной группе, и определите местонахождение Кокосового Заранее приготовленного актива. Тяните это в сцену так, чтобы мы могли воздействовать на эти-активы, может работаться на непосредственно от их местоположения в Проектной группе, но чтобы анонсировать и проверить эффект, который мы создаем,

    228 лучше тянуть их в сцену, и видеть то, что мы делаем "в действии. Помните, что, нажимая F с Вашим курсором по виду Сцены, Вы можете изменить масштаб изображения прямо к местоположению отобранного объекта. Тащите компонент Renderer
    Чтобы добавить компонент, гарантируйте, что Кокосовый Prefab все еще отобран в группе Иерархии, и идти в Компонент | Частицы | След

    Renderer. Выбудете побуждены, объясняя, что Вы теряете связь с prefab, просто продолжаете в этом пункте - мы обновим prefab, как только мы закончили делать наш след. Этот компонент просто тянет образующую дугу векторную линию, готовя ряд очков от объекта, поскольку он перемещается через трехмерный мир. Определяя длину, материал, и начало/конец widths линии, мы будем в состоянии достигнуть эффекта, который мы хотим. Чтобы видеть установку по умолчанию следа renderer, нажмите кнопку Play теперь, и наблюдайте кокосовое падение к основанию, оставляя след позади этого. Вы должны видеть, что противное широкое черное пятно предоставлено - нехороший
    Во-первых мы обратимся к некоторым проблемам работы - для Unity Про пользователи версии, способность использовать динамические тени прибывает как стандарт однако, поскольку мы не нуждаемся в линии, чтобы бросить или получить любые тени, отсейте первые два параметра на компоненте в Инспекторе. Тени вообще дороги, и поскольку сам след renderer добавляет к напряжению, надевает власть обработки компьютера игрока, что-нибудь, что мы можем сделать, чтобы уменьшить напряжение, определенно хорошая идея. Затем расширьте параметр Материалов, чтобы видеть Размер и Элемент

    0 параметров настройки. Здесь мы можем поручить структуре использовать для следа. Поскольку мы уже сделали материал пламени, мы снова используем это, потому что это использует соответствующий тип shader для следа - (мягкая) Добавка. Откройте папку Особенности Огня в Проектной группе, и определите местонахождение материала Пламени, затем drag and drop (перетащили и опустили) это на Элемент 0 урегулирования для Следа компонент Renderer в Инспекторе Теперь, гарантировать след не чрезмерно длинно, установите параметры
    Time (Времени) к ценности 1. Это означает, что след - вторые длинные пункты в конце следа, удалены после того, как они существовали за это количество времени. Теперь установите Ширину Начала в 0.25 и Ширину Конца кони определяют ширину предоставленного материала с обоих концов следа, и, вообще говоря, имеет смысл делать начало шире чем конец, чтобы сузиться след. Наконец, расширьте параметр Цветов так, чтобы Вы могли видеть каждую коробку для цвета. С этим мы можем оживить появление следа через цвет и также видимость, используя альфа-параметры настройки. Поскольку у насесть цвет в нашей структуре пламени, мы оставим цвета этих

    229 параметров настройки, но просто заставим след исчезнуть к его концу. Нажмите на каждый Цветной блок в свою очередь. При использовании Альфа) ценность, ценность набора от 80 процентов вниз к 0 процентам в течение каждого из них Продолжите входить в эти параметры настройки, пока у Вас нет кое-чего как показанный ниже Остающиеся параметры настройки можно оставить в их неплатежах - Расстояние Вершины Минуты просто определяет то, чем самое короткое расстояние между двумя пунктами в линии может быть - чем больше подарка пунктов, тем более детальный линия, но также и более дорогостоящее, которое это обрабатывает мудрый. Авторазрушьте не должен быть позволен также, поскольку у самого объекта есть сценарий, обращающийся с удалением этих prefab от мира - Кокосовый орех Приводит в порядок сценарий, который мы написали в Главе 6. Обновление prefab Поскольку мы эффективно воздействуем на случай prefab, который потерял его связь с оригинальным активом следовательно предупреждение, когда мы добавили, что след мы должен применить изменения, мы сделали к оригинальному активу, чтобы иметь все новые случаи prefab, чтобы показать этот след.

    230 Чтобы сделать это, у Вас есть два варианта или выберите Кокосовый

    Prefab в Иерархии и пойдите в GameObject |, Применяют Изменения кили используют кнопку Apply наверху Инспектора для этого объекта Теперь, когда Вы обновили оригинальный заранее приготовленный актив, мы больше не нуждаемся в случаев сцене. Таким образом мы просто выбираем это и удаляем это использующий сокращенную Команду клавиатуры +, Клавиша Backspace (Mac) или Изменение + Удаляет
    (PC). Чтобы видеть эффект, игра проверяет игру теперь, и испытывает кокосовую застенчивую миниигру. Вы должны видеть, что пылающие следы следуют за каждым кокосовым орехом, который Выбросаете Работа tweaked (щипнуть В этой секции мы будем смотреть на пути, которыми Вы можете повысить работу своей игры как продукт конца. Также известный как оптимизация, этот процесс крайне важен, чтобы сделать, как только Вы гарантировали, что Ваша игра работает как ожидалось. Самолеты Скрепки Камеры и туман Чтобы добавить более хорошее визуальное появление к нашему острову, мы позволим туман. В Unity туман может быть позволен очень простои может использоваться в соединении с Далеким урегулированием Самолета Скрепки Камеры, чтобы приспособить расстояние ничьей - то, чтобы заставлять объекты вне определенного расстояния не быть предоставленным. Это улучшит работу. Включением тумана Выбудете в состоянии замаскировать сокращение предоставления отдаленного предоставления объектов менее неуклюжее чувство к исследованию острова. Мы обсуждали Далекие параметры настройки Самолета Скрепки в Главе 3, когда мы вскрывали противоречия в Первом Диспетчере Человека. Теперь, давайте приспособим ценность далекого самолета, чтобы улучшить работу, сокращая расстояние, на котором объекты все еще предоставлены камерой. Расширьте Первую группу родителя Диспетчера Человека, щелкая ее серой стрелкой налево от ее имени в группе Иерархии. Выберите детский объект, названный Главной Камерой В Инспекторе, найдите компонент Камеры, и установите Далекий Самолет Скрепки оцените 600. Это - более короткое расстояние, описанное в метрах, и хотя это сокращает визуальное расстояние взгляда нашего игрока, это будет

    231 замаскировано туманом, который мы собираемся добавить. Пойдите, чтобы Отредактировать |, Отдают Параметры настройки. Это поднимает, Отдают Параметры настройки вместо Инспектора. Просто выберите коробку для Тумана здесь, и затем нажмите на Цветной блок направо от Цвета Тумана, чтобы открыть параметры настройки для Цвета и Альфы. Установите Альфа-ценность (A) приблизительно в 60 %, как показано ниже, и затем установите ценность Плотности Тумана в 0.004: Мы устанавливаем альфу Цвета Тумана и Плотность Тумана к нижнему значению, поскольку неплатежи более высокие ценности маскируют вид настолько хорошо, что частицы от вулкана стали бы невидимыми до стендов игрока весьма близко к вулкану. Окружающее освещение В Отдают Параметры настройки, Вы можете также установить Рассеянный свет сцены. В то время как наш Направленный Свет обращается с главным действием освещения как с солнцем в этом примере
    - рассеянный свет позволит Вам устанавливать общую полную яркость, означая, что Вы можете создать сцены, которые похожи на определенное время ночи или дня. Попытайтесь приспособить это урегулирование теперь, нажимая на цветной блок направо от урегулирования и экспериментирования с цветным сборщиком. Сцена инструкций Чтобы закончить нашу игру, мы закончим меню, которое мы сделали в Главе 8, создавая сцену Инструкций для пользователя, чтобы читать. В этом мы осуществим некоторую мультипликацию, используя scripting, и мы изучим новую команду, которую мы не использовали еще названный линейной вставкой, или lerp для короткого. Поскольку наша сцена Инструкций должна подражать остальной части меню, мы начнем со сцены Меню как основание. Прежде, чем мы сделаем это, однако, гарантирует, что сцена Уровня Острова спасена, идя в Файл |, Экономят Сцену. Дублируйте сцену Меню, выбирая это в Проектной группе и используя сокращенную Команду клавиатуры + D (Mac) или Ctrl +
    D (PC). Это дублирует сцену Меню, и даст ей название Меню 1, переименовать это Инструкции, и открыть ее, щелкая два раза на его изображении теперь. Добавление текста экрана Мы должны будем написать наши инструкции для игрока на этом экране, таким образом мы используем объект Text GUI с этой целью. Пойдите в

    232
    GameObject |, Создают Другой | Текст GUI. Это создает новый объект с Текстовым компонентом GUI под названием Текст GUI в Иерархии. Выберите это и переименуйте это Текст Инструкции Затем, чтобы поддержать последовательность, назначьте шрифт, который Вы имели обыкновение к настоящему времени в Вашей игре как шрифт для Структуры GUI использовать. Я использовал свободное, чтобы загрузить шрифт, Sugo, таким образом я просто тянул это от Проектной группы в область Шрифта в Текстовом компоненте GUI. Затем напишите в коротком параграфе, объясняя цель игры игроку. Они должны осветить походный костер спичками, чтобы выжить, таким образом я написал Вы заблудились на необитаемом острове и нуждаетесь в костре Найдите походный костери найдите способ запалить его, или Вы конечно замерзнете, прибывают сумерки Чтобы написать в тексте на многократных линиях в Текстовой области этого компонента, просто закончите свою линию, и двиньтесь в следующую линию при использовании сокращенного Высокого звука клавиатуры +, Вступают (Mac и PC). Наконец, поместите этот текст, помещая следующие ценности в область позиции Трэнсформа - (0.5, 0.55, 0). Я хотел помещать свой текст в три линии так, чтобы он визуально выстроился в линию с эмблемой наверху экрана, который похож на это Текстовая Мультипликация, используя Линейную Вставку (Lerp)

    233 Затем мы оживим этот текст, используя сценарий, так выберите папку Меню в Проектной группе и нажмите, Создают, выбирая Javascript из опускаться меню. Переименуйте NewBehaviorScript, который Вы создали, вызывая это
    Аниматор. Теперь щелкните два раза изображением сценария, чтобы начать это в редакторе сценария. Мы начнем, устанавливая некоторые общественные variables участника, которые мы можем использовать в Инспекторе, чтобы управлять поведением нашей текстовой мультипликации. Добавьте следующий к вершине Вашего сценария var startPosition : float = -1.0; var endPosition : float = 0.5; var speed : float =
    1.0; private var StartTime : float; Мы будем использовать эти variables в следующей части сценария, номы назвали их основанными на том, что они делают - начало и заканчивают,
    Variables позиции отвечают за позицию в координатах экрана следовательно позиция начала по умолчанию, означая от экрана. Учитывая, что они - общественные variables участника, мы будем в состоянии приспособить их в Инспекторе.
    Variables скорости будет просто использоваться, чтобы умножить скорость мультипликации в течение долгого времени, таким образом неплатеж будет 1. Наконец, мы включаем Variables по имени StartTime, Variables плавающей запятой, который только используется в пределах сценария и поэтому объявлен как частный. Мы будем использовать этот Variables, чтобы сохранить ценность по умолчанию времени, когда сцена будет загружена. Если мы не делаем этого, после того, как первая погрузка этой сцены, любые посещения возвращения экрана инструкций покажут инструкции уже относительно экрана, как ценность времени в Unity, мы собираемся использовать счет от первого груза игры. Затем, чтобы настроить наше назначение этого Variables, мы захватим команду времени Unity, когда сцена загрузит, добавляя следующий
    Functions: Теперь, когда сцена загружает, захваты StartTime та ценность. Мы будем использовать это, устанавливая мультипликацию. Теперь, переместите заключительную вьющуюся скобу Update () function вниз несколькими линиями так, чтобы Вы могли добавить некоторый код к Functions. Добавьте следующую линию transform.position.x = Mathf.Lerp(startPosition, endPosition, (Time. time-StartTime)*speed);

    234 Здесь мы выбираем определенную ось ценностей позиции компонента transform (преобразовать, поэтому transform.position.x Тогда мы заставляем это равняться Functions-Mathf Математики - названный Lerp, который является Functions что линейно интерполир-путешествия непосредственно - между двумя ценностями. Ценности, которые мы посылаем этому Functions, определены нашими, таким образом Functions Lerp обеспечит число для X позиций оси между теми двумя числами. Третий параметр для Functions Lerp - количество, чтобы интерполировать - ценность 1 означала бы, что ценность возвратила путешествия полностью изначала, чтобы закончить ценность, и ценность 0 не будет означать изменения. Мы хотим, чтобы эта вставка произошла в течение долгого времени здесь, таким образом вместо отдельной ценности, мы используем
    Unity, построил в команде Time.time, чтобы подсчитать и вычитание ценности startTime, который мы устанавливаем ранее - эффективно сброс его ценности так, чтобы это могло рассчитать от 0. Наконец, мы изменяем время, умножаясь нашим Variables скорости. В настоящее время Variables скорости установлен в 1.0, таким образом никакое изменение не будет произведено, но никакая ценность, более чем 1 увеличит скорость, и ценности ниже чем 1 уменьшат это. Эта команда должна быть сделана в Update () function, поскольку это требует возрастающего изменения - который наш lerp обеспечивает - каждая структура, таким образом помещая это в Начало (), Functions, например, не работал бы. Чтобы перепроверить Ваш сценарий, здесь это закончено var startPosition : float = -1.0; var endPosition : float = 0.5; var speed : float
    = 1.0; private var StartTime : float; function Start(){
    StartTime = Time.time;
    } function Update () { transform.position.x = Mathf.Lerp(startPosition, endPosition,
    (Time.time-StartTime)*speed); Пойдите в Файл |, Экономят в редакторе сценария теперь, и переключаются назад на Unity. Теперь мы применим сценарий и приспособим параметры настройки общественных variables участника в Инспекторе, чтобы гарантировать, что он делает то, что мы хотим. Выберите объект Instructions Text в группе Иерархии, и пойдите в Компонент | Сценарии | Аниматор.

    235 Это добавляет сценарий как компонент. В параметрах настройки общественных variables участника Вы должны видеть ценности по умолчанию, установленные в сценарии, который Вы только написали Чтобы видеть этот эффект в действии, мы должны будем играть сцену, но сначала, мы должны удалить меню, которое было перенесено от дублирования оригинальной сцены меню. Если Вы выбирали меню
    Texture-based GUI, то Вы должны будете проверить все три объекта кнопки. Если Вы используете меню GUI-scripted, то просто проверяют объекту которого есть тот сценарий как компонент. Чтобы напомнить себе о дезактивации, см. предыдущую главу. Как только Вы дезактивировали меню, возвратитесь к объекту
    Instructions Text. В составляющем Тексте GUI
    , Якорь набора Среднему Центру и Выравнивание к Левому. Теперь нажмите кнопку Play, чтобы видеть эффект мультипликации. Ваш текст должен переместиться в X осей от за кадром левого к центральной позиции 0.5. Нажмите Игру снова, чтобы закончить Ваш тест перед продолжением. Если Вы хотели бы, чтобы мультипликация произошла от за кадром права, то Вы могли заменить Variables участника общественности Позиции Начала к числу выше чем 1.0 - поскольку это - правильный край экрана. Однако, если бы Вы хотели, чтобы мультипликация произошла в Оси Y, то Вы должны были бы возвратиться к Вашему сценарию, и изменить ось эффекта там. Например, transform.position.y = Mathf (...) Возвращение меню Поскольку мы воздействуем на сцену, которая является отдельной к нашему меню, мы должны будем включать кнопку, чтобы возвратить пользователя сцене Меню непосредственно. Иначе они застрянут на экране Instructions! Для этого мы будем использовать GUI scripting техника, обсужденная в предыдущей главе, и экономить некоторое время, дублируя часть существующей работы, которую мы уже сделали. В папке Сценариев Проектной группы, определите местонахождение сценария
    MainMenuGUI2, и дублируйте это использующий сокращенную Команду клавиатуры + D (Mac) или Ctrl + D (PC). Как объекты чисел Unity и активы, которые это производит, Ваш дубликат назовут MainMenuGUI3, так что переименуйте этот BackButtonGUI. Тогда щелкните два раза его изображением, чтобы начать это в редакторе сценария. В первом, если утверждение onGUi () Functions, приспособьте текст на кнопке, чтобы ответить вместо Игры. В звонке в OpenLevel () Functions,

    236 набор последовательность, чтобы сказать Меню, вместо Уровня острова. Это должно быть похожим на это if(GUILayout.Button ("Back")){
    OpenLevel("Menu");
    } Поскольку мы только хотим, чтобы этот сценарий произвел одну кнопку, удалил другие два если утверждения, оставляя Вас столько отдельным, чтобы возвратиться к сцене Меню. Единственная другая проблема здесь - расположение кнопки. Поскольку мы используем screenY Variables от нашего сценария MainMenuGUI2 - это помещает нашу область GUI, чтобы потянуть кнопку в центре экрана. Поскольку наш текст будет в пути этого, мы идеально должны отдать кнопку ниже вниз. Чтобы обойти это, просто исправьте учреждение Variables ScreenY, чтобы использовать немного нижнее значение вар ScreenY = ((Screen.height / 1.7) - (areaHeight / 2)); Это поместит кнопку ниже чем учебный текст. Законченный сценарий BackButtonGUI должен быть похожим на это var beep : AudioClip; var menuSkin :
    GUiSkin; var areaWidth : float; var areaHeight : float; function OnGUi(){
    GUI.skin = menuSkin; var ScreenX = ((Screen.width / 2) - (areaWidth / 2)); var
    ScreenY = ((Screen.height / 1.7) - (areaHeight / 2));
    GUILayout.BeginArea (Rect (ScreenX,ScreenY, areaWidth, areaHeight)); if(GUILayout.Button ("Back")){
    OpenLevel("Menu");
    }
    GUILayout.EndArea();
    }
    function OpenLevel(level : String){ audio.PlayOneShot(beep); yield new WaitForSeconds(0.35);

    237
    Application.LoadLevel(level);
    }
    @script RequireComponent(AudioSource) Пойдите в Файл |, Экономят в редакторе сценария, и переключаются назад на Unity теперь. Как со всеми подготовленными элементами интерфейса, мы должны приложить сценарий к объекту для этой кнопки, чтобы появиться. Создайте новый пустой объект игры, чтобы жить, этот сценарий, идя в
    GameObject | Создают Пустой. С новым объектом, отобранным в Иерархии, переименуйте это Назад Кнопка. Приложите сценарий мы только сделанный, идя в Компонент | Сценарии | Обратная Кнопка GUI. Поскольку Вы заметите, общественные variables участника назначения потребности сценария, таким образом Вы должны будете сделать следующее Тяните звуковую скрепку menu_beep от папки Меню в Проектной группе к Variables участника Звукового сигнала Тяните Главный актив Меню кожи от папки Меню до Variables Меню Кожи Установите Variables Ширины Области в 200 Установите Variables Высоты Области в 75, поскольку у настолько есть отдельная кнопка на сей раз Теперь, когда наша Обратная кнопка полна, мы можем проверить все меню. Но сначала мы должны добавить, что сцена Инструкций к проекту Строит Параметры настройки, для Unity, чтобы загрузить это вовремя тестирования. Пойдите в Файл |, Строят Параметры настройки, и нажимают на кнопку Add Current. Ваш список уровней в Построить Параметрах настройки должен теперь быть похожим на это Закройте Построить диалог Параметров настройки, и Вы готовы проверить. Нажмите кнопку Play, чтобы проверить сцену - Обратная

    238 кнопка должна появиться, и текст должен оживить в. Щелкните Обратной кнопкой, и Вы должны быть взяты к сцене Меню. Если любое из этого не работает, то перепроверьте те свои спички сценария упомянутые выше изменения. Ваш экран инструкций должен смотреть кое-что как это Теперь прекратите проверять сцену, и пойдите в Файл |, Экономят Сцену, чтобы обновить это. Постепенное появление изображения уровня острова Чтобы освободить игрока в окружающую среду, когда они входят в игру, мы создадим постепенное появление изображения вначале нашего фактического уровня игры, используя структуру GUI, которая покрывает экран и постепенно исчезается, в течение долгого времени используя технику Lerp, которую мы только что изучили. Щелкните два раза изображением Уровня Острова, чтобы открыть ту сцену. Теперь, в папке Вулкана Вы импортировали ранее, Вы найдете файл структуры названным белым. Эта структура, плоский белый цвет, созданный в Фотомагазине, имеет размер 64x64 пикселы; это может казаться довольно маленьким, чтобы покрыть экран, но поскольку это - просто плоский цвет, это не должно быть большим - мы просто протянем это к размеру экрана. Выберите структуру теперь ив Инспекторе, отсейте, Производят Карты

    Mip в компоненте Импортера Структуры, чтобы мешать Unity отдать меньшие версии этого для трехмерной прессы использования тогда кнопка Apply в основании, чтобы подтвердить изменение. Мы будем

    239 использовать эту структуру с далее UnityGUI и Lerp scripting, чтобы протянуть это к полному экрану и исчезнуть это, когда сцена начнет - это заставит вид игры усилиться от белого. Выберите папку Сценариев, и нажмите на кнопку Create, выбирая
    Javascript из опускаться меню. Переименуйте этот сценарий FadeTexture. Щелкните два раза изображением сценария, чтобы начать это в редакторе сценария. Начните, устанавливая два variables, один общественный участники другой частный Variables: var theTexture : Texture2D; private var
    StartTime : float; Первый Variables здесь будет считать белый актив структуры готовым быть протянутым по экрану, и вторым является число с плавающей запятой, которое мы будем использовать, чтобы сохранить ценность времени. Затем, захватите ценность Time.time в Variables StartTime, когда уровень загружает, добавляя следующий Functions к Вашему сценарию ниже variables, Вы только добавили function OnLevelWasLoaded(){
    StartTime = Time.time; Мы должны использовать этот Variables, чтобы захватить текущее законченное количество времени, потому что Time.time начинается с того, когда первая сцена загружена - то есть, меню. Поскольку игрок рассмотрит меню сначала, мы знаем, что Time.time не будет равняться 0, когда сцена Уровня Острова будет загружена. Мы будем использовать этот Variables коротко, чтобы вычесть из текущего чтения времени и таким образом заставить пункт рассчитывать от. Теперь в Update () function, поместите в следующем коде if(Time.time-StartTime >= 3){
    Destroy(gameObject);
    } Это, если утверждение проверяет ценность Time.time, минус время, это было в том, когда текущая нагруженная сцена - и если это больше чем или равно 3, тогда мы разрушаем объект игры, что этот сценарий присоединен. Это просто удаляет объект игры, к которому что мы приложим этот сценарий после спустя три секунды как после того, как исчезнуть эффект произойдет, мы больше не нуждаемся в объекте в сцене. Предоставление структуры UnityGUI
    Установите новый OnGUI () Functions в Вашем сценарии, и место в

    240 следующих линиях кода функционируйте OnGUI () {
    GUI.color = Color.white;
    GUI.color.a = Mathf. Lerp (1.0, 0.0, (Time.time-StartTime));
    GUI.DrawTexture (Rect (0, 0, Screen.width,
    Screen.height), theTexture); Здесь мы обращаемся к Classes GUI непосредственно. Впервой линии мы обращаемся к цветному параметру, устанавливая это во встроенную ссылку Цветного Classes, названного "белым. Тогда с этим цветным набором, мы обращаемся к его альфа-параметру - его видимости - говоря GUI.color.a. Мы используем тот же самый Mathf. Lerp приказывают, чтобы мы имели обыкновение оживлять наш объект Text
    GUI ранее, интерполируя альфу от 1.0 (полностью видимый) к 0.0 невидимый. Третий параметр в петле - количество, чтобы интерполировать - потому что мы используем Time.time-StartTime здесь, мы эффективно начинаем прилавок от 0.0, который увеличится как проходы времени, таким образом Lerp произойдет в течение долгого времени, создавая исчезновение. Третья линия фактически отдает структуру непосредственно, используя команду DrawTexture Classes GUI. Определяя Rect (прямоугольное место) для этого, чтобы быть оттянутыми, начинаясь в 0,0 - верхний левый из экрана - мы удостоверяемся, что эта структура простирается, чтобы заполнить экран при использовании Screen.width и Screen.height. Это делает исчезнуть работу в том, какой бы ни решение, в котором игрок управляет игрой, поскольку это автоматизирует размер структуры на экране. Пойдите в Файл |, Экономят в редакторе сценария, и возвращаются к Unity теперь. Назад в Unity, пойдите в GameObject |, Создают Пустой. Это создает новый объект в Иерархии по имени GameObject. Переименуйте это к Микшеру теперь. Добавьте сценарий, который Вы только что написали, идя в Компонент |, Сценарии | Исчезают Структура. Это добавляет сценарий как компонент. Теперь, просто drag and drop (перетащили и опустили) белую структуру от папки Вулкана в Проектной группе к общественному
    Variables участника theTexture в Инспекторе Теперь нажмите кнопку Play, и Вы должны видеть, что экран усиливается от белого и что белый объект игры в Иерархии удален после трех секунд. Прекратите проверять, и пойдите в Файл |, Экономят Сцену, чтобы обновить проект теперь. Уведомление победы игры

    241 Как заключительный последний штрих, мы скажем игроку, что они успешно выиграли игру, когда огонь был зажжен, поскольку это - цель нашей игры. Откройте сценарий PlayerCollisions в папке Сценариев Проектной группы, и свиток к основанию. Последний Functions в сценарии - lightFire (), ив это мы добавим еще некоторые команды перед его правом завершения вьющаяся скоба. Спустите несколько линий от потока последняя линия
    Destroy(GameObject.Find("matchGUI")),-- И место в следующих командах
    TextHints.textOn=true;
    TextHints.message = "You Lit the Fire, you'll survive, well done!"; yield new WaitForSeconds(5);
    Application.LoadLevel("Menu"); Здесь мы переключаемся назад на нашем TextHints GUI от ранее, и посылаем сообщение, "Вы Зажгли Огонь" как последовательность текста, чтобы показать на экране. Мы тогда используем команду урожая, чтобы остановить сценарий в течение 5 секунд, и затем загрузить уровень Меню игры, так, чтобы игрок мог играть снова. Теперь нажмите кнопку Play, и игру через целую игру. Вы должны быть в состоянии собрать три батареи, выиграть четвертую батарею от кокосовой застенчивой миниигры, войти в заставу, собрать спички, и зажечь огонь. Когда огонь зажжен, Вы должны быть уведомлены, и взяты к главному экрану меню. Как только Вы проверили это, прекратите проверять, и пойдите в Файл

    |, Экономят сцену, чтобы обновить проект. Резюме В этой главе мы смотрели на различные последние штрихи для Вашей игры. Визуальные эффекты, освещение, и мультипликация, обсужденная здесь только, царапают поверхность того, что Вы можете сделать снов то время как Unity облегчает добавлять эти особенности полировки, чтобы заставить Вашу игру действительно выделиться, крайне важно иметь ввиду, что их нужно только рассмотреть, как только gameplay Вашего проекта - зат-последние-штрихи, отличный способ закончить Ваш проектно пригодность для игры должна всегда быть на первом месте. Теперь, когда мы закончили игру, мы потратим следующее смотрение главы на здание, тестирование, и восстановление, и значения развертывания Вашей игры. Мы будем также смотреть на дальнейшую оптимизацию для Вашей игры и обсуждать получение Вашей игры, замеченной как независимый разработчик.

    242 10 Здание и Разделение Чтобы взять нашу игру от простого примера кое до чего, мы можем поделиться с тестерами игры, мы должны рассмотреть различные платформы развертывания и как мы можем приспособить игру, которая будет экспортироваться в Сеть. Лучший метод для Вас как разработчик должен разделить Вашу работу. Унити учитывает различные весы финала, строят из Вашей игры и сожмет структуры и различные другие активы как соответствующие для Вас. Вы должны также знать об обнаружении платформы для сети, строит, чтобы приспособить определенные параметры настройки, когда развертывание онлайн, в противоположность полному автономному рабочему столу строит. Стандартная Индии Про выпуски Unity предлагают Вам шанс построить для рабочего стола Mac, рабочего стола Windows, как Виджет для Mac средство Приборной панели'
    X OS, и как плагин web-браузера. В этой последней главе мы будем смотреть на тот, как настроить активы, чтобы создать сеть, строят, и автономный рабочий стол строят. Мы затронем следующие темы Работа со Строит Параметры настройки, чтобы экспортировать Вашу игру Построение сети и автономной версии Вашей игры Обнаружение платформы, чтобы удалить элементы из сети строит Пути, которыми Вы можете поделиться своими играми с другими и получить дальнейшую помощь с Вашим развитием Unity Постройте Параметры настройки В Unity, пойдите в Файл
    |, Строят Параметры настройки теперь, и смотрят по вариантам, которые Вы имеете. Вы должны видеть различные варианты, упомянутые ранее

    243 В Построить Параметрах настройки
    Mac строит, отмечены приставкой
    OS X - текущее поколение операционной системы. Mac строит, также дают Вам различные варианты, поскольку есть различные поколения компьютера Mac, чтобы рассмотреть - старшее поколение, бегущее на процессоре PowerPC, и текущем поколении построенный вокруг процессоров Интела. Универсальное Двойное урегулирование построит
    OS X наборов из двух предметов, которые управляют на обоих старшими системами PowerPC также как новыми системами Интела. Это приводит к большему файлу, поскольку Вы эффективно включаете две копии своей игры водном применении. В нашем примере Построить Параметры настройки показывают список сцен, которые мы добавили к нашему проекту пока, начиная со сцены Меню. Важно иметь первую сцену, которую Вы хотели бы, чтобы Ваш игрок видел как первый пункт в Сценах, чтобы построить список. Если Ваше меню или первая сцена не являются первыми в списке, то Вы можете просто тянуть названия сцен, чтобы переупорядочить их. Давайте начнем, смотря на различные варианты в большей глубине и что Вы прошли бы построение каждой опции.

    244 Игрок Сети Помещая любое основанное на плагине содержание на Сеть, это должно быть включено как объект, который вызывает установленный плагин. Зрители сети Unity строят, будет обязан загружать плагин для их браузера почти таким же способом, поскольку содержание Adobe Flash требует, чтобы пользователи загрузили Игрока Вспышки. Игрок сети строит, создают файл игры с расширением, который вызывает плагин Игрока Сети Unity, наряду с сопровождающим файлом HTML, содержащим необходимый объемлющий код. Этот объемлющий HTML может тогда быть взят наряду с файлом игры и включен в веб-страницу Вашего собственного проекта. Параметры настройки Игрока Поскольку игроки сети полагаются на программное обеспечение браузера, чтобы загрузить HTML, содержащий звонок в плагин, любой компьютер, управляющий Вашей игрой, поскольку игрок сети уже израсходовал власть обработки на браузере. С этим в памяти, это может помочь обеспечить Вашу игру при более низком решении, чем Выбыли бы для рабочего стола строить. Мы проектировали нашу игру к настольному решению начального уровня 1024x768 пикселы. Однако, когда развертывание в сеть строит, размер экрана должен быть уменьшен кое до чего меньшего, такой как 640x480. Это делает грузна центральном процессоре менее интенсивным, поскольку меньшие структуры оттягиваются, таким образом давая лучшую работу. Чтобы приспособить параметры настройки, такие как это, мы должны будем смотреть на Параметры настройки Игрока. Пойдите, чтобы Отредактировать | Проектные Параметры настройки | Игрок теперь, чтобы переключить группу Инспектора, чтобы показать параметры настройки для проекта. Когда Выстроите свою игру, Вы эффективно помещаете свой законченный проект в Игрока - на Сети, файл игрока, вызывающий плагин непосредственно. В Параметрах настройки Игрока Вы можете определить определенные элементы - такие как размер экрана
    - для игрока, чтобы использовать.

    245 На этом экране Вы должны начать, заполняясь в деталях для Вашего проекта. Добавьте в Названии компании и Названии продукта, которое на этой стадии не должно быть ничем формальным. Тогда заполнитесь в Ширине Экрана По умолчанию и Высоте с 1024x768, мы первоначально проектировали для. Теперь заполнитесь в Ширине Экрана Сети По умолчанию и Высоте си соответственно, как показано в предыдущем скриншоте. Единственное другое урегулирование, относящееся к нашему развертыванию игрока сети, является урегулированием для Первого, Тек Уровень С Ресурсами, который позволяет Вам выбирать первый уровень в Вашем строящего список, у которого есть ряд активов, чтобы загрузить в. С этим Вы можете создать экраны всплеска, который segway в Вашу игру. Если бы это имело место, то Вы использовали бы это урегулирование, чтобы выбрать специфический уровень, который сначала показывает активы, сообщая его число в заказе построить списка. В нашей игре первый экран меню содержит активы - остров - и мы можем счастливо оставить эту установку по умолчанию на 0. Мы возвратимся к Параметрам настройки Игрока коротко, когда мы будем смотреть на рабочий стол, строит. Игрок Сети Тек Игрок Сети, Текший отдельный, строит опцию в списке - позволяет Вам строить развертывание сети, которое не вынуждает игрока ждать слишком долго бара погрузки, чтобы закончить. Сталкиваясь любой ждет онлайн, это характерно для пользователей, чтобы быть нетерпеливыми важно, что Вы ограничиваете времена ожидания в

    246 максимально возможной степени, когда создание сети строит из Вашей игры. Используя Сеть Игрок Тек средства, что Ваша игра может начать играться перед полнотой ее активов загружены тогда, поскольку игрок взаимодействует с первой сценой, остальная часть активов игры продолжают загружать. Этот фактор абсолютно крайне важен, представляя Вашу игру участкам двери игр, такой как www.shockwave.com
    1   ...   9   10   11   12   13   14   15   16   17


    написать администратору сайта