Создание гонок. Глава 2 (3)

0 2

Всем привет! Сегодня мы с вами сделаем эффект выхлопа автомобиля и меню паузы! Начнем!

Эффект выхлопа

Создайте объект Particle System (ПКМ -Effects — Particle System) И настройте его так:

Цвет:

Также необходимо Particle System прикрепить к автомобилю, чтобы они перемещались в месте с автомобилем. Конечно, это не супер реалистично, но скорее всего позже мы улучшим этот эффект.

Итак вот мы и закончили с эффектом выхлопа, теперь мы можем приступить к созданию паузы.

Создание паузы

Теперь давайте создадим паузу, это очень легко! Для этого нам нужно создать Panel, и добавить туда каких нибудь UI-элементов, к примеру:

PausePanel — это сама Panel для паузы. Внутри PausePanel есть кнопки — «В меню» и «Продолжить».

Теперь давайте создадим скрипт и назовем его PauseManager. Откроем его, и впишем это:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class PauseManager : MonoBehaviour
{
    public GameObject pausePanel;

    void Start()
    {
        pausePanel.SetActive(false);
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetKeyDown(KeyCode.Tab))
        {
            pausePanel.SetActive(true);
            Time.timeScale = 0f;
            Cursor.lockState = CursorLockMode.None;
        }
    }

    public void GoMenu()
    {
        SceneManager.LoadScene(0);
    }

    public void Contuine()
    {
        pausePanel.SetActive(false);
        Time.timeScale = 1f;
        Cursor.lockState = CursorLockMode.Locked;
    }
}

Разбор кода:

  1. Создали публичную переменную для нашей Panel.
  2. Говорим при старте, что наша Panel (пауза) отключена.
  3. Если мы нажали на клавишу TAB, то у нас открывается Panel и время стоит на нуле (то есть у нас вся сцена остановится во времени, и мы не сможем нечего делать). И наш курсор будет разблокирован для выбора кнопки.
  4. Публичный метод для кнопки «В меню», если мы на нее нажмем, то мы перейдем на сцену под индексом 0, то есть в меню.
  5. Публичный метод для кнопки «Продолжить», если мы на нее нажмем, то наша Panel (пауза) закроется, время продолжится (то есть мы уже сможем ездить на машине, и взаимодействовать с разными объектами на нашей сцене). Наш курсор опять блокируется, чтобы игроку нечего не мешало

Теперь создайте пустой объект под названием PauseManager, и повешайте туда наш скрипт. Теперь поместите ссылку на нашу Panel (паузу) и теперь осталось повешать функции на наши кнопки. Вот:

Кнопка «В меню»:

Кнопка «Продолжить»:

Не забудьте на кнопке нажать на плюсик, и туда переместить ссылку на наш объект PauseManager. И для каждой кнопки выберите нужную функцию. Теперь вы можете запустить игру, и проверить!

Дополнительно: мини-механика дрифта в Whell Collider

Если вы хотите сделать, чтобы наша машина могла дрифтить? И не хотите писать очень большие скрипты, и тратить более 2 часов? Тогда у каждого Whell Collider измените следующие значения:

Вывод: вот мы с вами и сделали 3 интересных штучки. Добавили эффект выхлопа, паузу, мини-дрифт. Дополнительно: если вы хотите урок с созданием большой карты, что-то типо такой:

То, пишите комментарий с текстом «Хочу карту для гонок». В этой карте мы добавим специальные маркеры, которые будут обозначать места (К примеру: Место прохождения гонок 1, Тюнинг-клуб, Место прохождения гонок 2, и т.д). На этом все, всем пока!

Оставьте ответ

Ваш электронный адрес не будет опубликован.