Всем привет! Сегодня мы с вами сделаем эффект выхлопа автомобиля и меню паузы! Начнем!
Эффект выхлопа
Создайте объект 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;
}
}
Разбор кода:
- Создали публичную переменную для нашей Panel.
- Говорим при старте, что наша Panel (пауза) отключена.
- Если мы нажали на клавишу TAB, то у нас открывается Panel и время стоит на нуле (то есть у нас вся сцена остановится во времени, и мы не сможем нечего делать). И наш курсор будет разблокирован для выбора кнопки.
- Публичный метод для кнопки «В меню», если мы на нее нажмем, то мы перейдем на сцену под индексом 0, то есть в меню.
- Публичный метод для кнопки «Продолжить», если мы на нее нажмем, то наша Panel (пауза) закроется, время продолжится (то есть мы уже сможем ездить на машине, и взаимодействовать с разными объектами на нашей сцене). Наш курсор опять блокируется, чтобы игроку нечего не мешало
Теперь создайте пустой объект под названием PauseManager, и повешайте туда наш скрипт. Теперь поместите ссылку на нашу Panel (паузу) и теперь осталось повешать функции на наши кнопки. Вот:
Кнопка «В меню»:
Кнопка «Продолжить»:
Не забудьте на кнопке нажать на плюсик, и туда переместить ссылку на наш объект PauseManager. И для каждой кнопки выберите нужную функцию. Теперь вы можете запустить игру, и проверить!
Дополнительно: мини-механика дрифта в Whell Collider
Если вы хотите сделать, чтобы наша машина могла дрифтить? И не хотите писать очень большие скрипты, и тратить более 2 часов? Тогда у каждого Whell Collider измените следующие значения:
Вывод: вот мы с вами и сделали 3 интересных штучки. Добавили эффект выхлопа, паузу, мини-дрифт. Дополнительно: если вы хотите урок с созданием большой карты, что-то типо такой:
То, пишите комментарий с текстом «Хочу карту для гонок». В этой карте мы добавим специальные маркеры, которые будут обозначать места (К примеру: Место прохождения гонок 1, Тюнинг-клуб, Место прохождения гонок 2, и т.д). На этом все, всем пока!