Unity 2023.1 LTS для начинающих: создаем двухмерный шутер на C# для Mac

Привет! 👋 Я недавно начал изучать разработку игр на Unity и хочу поделиться своим опытом создания двухмерного шутера на C# для Mac с использованием Unity 2023.1 LTS. Этот движок идеально подходит для начинающих, помогая превратить ваши идеи в потрясающие игры. Я проведу вас шаг за шагом, начиная с установки Unity и заканчивая созданием вашего собственного увлекательного шутера.

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

И помните, у нас есть замечательное комьюнити и обширные онлайн-ресурсы, готовые ответить на любые ваши вопросы и поддержать вас на каждом этапе пути!

Погнали! 💪🏻

Установка Unity 2023.1 LTS

Приступим к установке Unity 2023.1 LTS — основы для нашей увлекательной игры-шутера. Вот пошаговое руководство, которое поможет вам начать работу в кратчайшие сроки:

Перейдите на сайт Unity (https://unity.com/ru/download) и нажмите кнопку ″Скачать Unity Hub″.
После установки Unity Hub запустите его и войдите в свою учетную запись (или создайте новую, если у вас ее еще нет).
Нажмите ″Установить″ и выберите версию Unity 2023.1 LTS.
Настройте параметры установки в соответствии с вашими предпочтениями и нажмите ″Установить″.

Поздравляю! Вы успешно установили Unity 2023.1 LTS. Теперь приступим к созданию нового проекта и погрузимся в захватывающий мир разработки игр.

Советы:

  • Обязательно установите модуль ″2D Sprite Editor″ во время установки Unity Hub, так как он необходим для создания спрайтов персонажей и объектов.
  • Проверьте, соответствует ли ваш Mac системным требованиям Unity 2023.1 LTS, чтобы обеспечить бесперебойную работу.
  • Присоединяйтесь к сообществу Unity и не стесняйтесь обращаться за помощью или советом, если они вам понадобятся.

Теперь, когда у нас есть Unity, пришло время создать новый проект и начать воплощать нашу игровую мечту в реальность! 💪🏻

Создание нового проекта

Отлично! У нас установлен Unity, и теперь пришло время создать новый проект, в котором мы будем воплощать нашу идею шутера в жизнь. Вот подробное руководство, которое проведет вас через процесс создания проекта:

Запустите Unity Hub и нажмите ″Новый проект″.
Введите название проекта (например, ″2DShooter″) и выберите расположение на вашем Mac.
Выберите шаблон проекта ″2D″.
Убедитесь, что выбран модуль ″2D Sprite Editor″, и нажмите ″Создать проект″.

Поздравляю! Вы успешно создали новый проект Unity 2D. Давайте теперь настроим параметры игры и сцену, чтобы подготовиться к созданию нашего шутера.

Советы:

  • Экспериментируйте с различными настройками качества графики и частоты кадров, чтобы найти оптимальный баланс между производительностью и визуальным качеством для вашей игры.
  • Используйте систему управления версиями, такую как Git, чтобы отслеживать изменения в вашем проекте и иметь возможность откатываться к более ранним версиям при необходимости.
  • Регулярно создавайте резервные копии своего проекта, чтобы защитить свою работу от непредвиденных обстоятельств.

С новым проектом в руках мы готовы погрузиться в захватывающий процесс настройки игрового процесса и создания сцены.

Следите за следующим разделом, где я проведу вас через эти важные шаги! 💪🏻

Настройка игрового процесса

Теперь, когда у нас есть новый проект, пришло время настроить игровой процесс нашего шутера. Вот все шаги, которые я предпринял, чтобы настроить основные элементы игры:

В окне проекта Unity дважды щелкните файл ″GameSettings″.
В инспекторе установите ″Разрешение по умолчанию″ в соответствии с желаемым разрешением игры (например, 1280×720).
Настройте другие параметры, такие как ″Частота кадров по умолчанию″ и ″Режим отображения″, в соответствии с вашими предпочтениями.
Создайте новый скрипт C# и прикрепите его к пустому объекту в вашей сцене.
В скрипте напишите код для управления игровым процессом, например, обработку ввода игрока, обновление положения игрока и т. д.

Вот пример простого скрипта обработки ввода игрока:

c#
using UnityEngine;

public class PlayerInput : MonoBehaviour
{
private float horizontalInput;
private float verticalInput;

private void Update
{
horizontalInput Input.GetAxisRaw(″Horizontal″);
verticalInput Input.GetAxisRaw(″Vertical″);
}

public float GetHorizontalInput
{
return horizontalInput;
}

public float GetVerticalInput
{
return verticalInput;
}
}

Советы:

  • Экспериментируйте с различными настройками разрешения и частоты кадров, чтобы найти оптимальный баланс между производительностью и визуальным качеством.
  • Используйте отладку в Unity, чтобы проверить значения переменных и убедиться, что ваш код работает должным образом.
  • Организуйте свой код в понятные модули и функции, чтобы облегчить его обслуживание и совместную работу над ним.

С настроенным игровым процессом мы готовы перейти к созданию игрового персонажа и оживлению нашей сцены! 💪🏻

Создание игрового персонажа

Пора дать жизнь нашему шутеру, создав игрового персонажа! Вот шаги, которые я предпринял, чтобы создать и настроить управляемого игроком персонажа:

В окне проекта Unity нажмите ″Создать″ > ″Спрайт″.
Нарисуйте или импортируйте спрайт для своего персонажа в редактор спрайтов.
Создайте новый пустой объект в сцене и назовите его ″Player″.
Добавьте компонент ″Sprite Renderer″ к объекту ″Player″ и перетащите спрайт персонажа в поле ″Sprite″.
Добавьте компонент ″Rigidbody2D″ к объекту ″Player″, чтобы включить физическое взаимодействие.
Добавьте компонент ″Player Script″ (который мы создали ранее) к объекту ″Player″ для управления поведением персонажа.

Вот пример простого скрипта для управления движением персонажа:

c#
using UnityEngine;

public class PlayerScript : MonoBehaviour
{
private Rigidbody2D rb;
private float speed 5f;

private void Start
{
rb GetComponent;
}

private void FixedUpdate
{
float horizontalInput Input.GetAxisRaw(″Horizontal″);
float verticalInput Input.GetAxisRaw(″Vertical″);

rb.velocity new Vector2(horizontalInput * speed, verticalInput * speed);
}
}

Советы:

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

С созданным игровым персонажем мы готовы добавить врагов и сделать наш шутер более захватывающим! 💪🏻

Создание врагов

Пришло время добавить противников и оживить наш шутер! Вот шаги, которые я предпринял, чтобы создать и настроить врагов:

В окне проекта Unity нажмите ″Создать″ > ″Спрайт″.
Нарисуйте или импортируйте спрайт для своего врага в редактор спрайтов.
Создайте новый пустой объект в сцене и назовите его ″Enemy″.
Добавьте компонент ″Sprite Renderer″ к объекту ″Enemy″ и перетащите спрайт врага в поле ″Sprite″.
Добавьте компонент ″Rigidbody2D″ к объекту ″Enemy″, чтобы включить физическое взаимодействие.
Добавьте скрипт ″Enemy Script″ (который мы создадим позже) к объекту ″Enemy″ для управления поведением врага.

Вот пример простого скрипта для управления поведением врага:

c#
using UnityEngine;

public class EnemyScript : MonoBehaviour
{
private Transform player;
private float speed 3f;

private void Start
{
player GameObject.FindGameObjectWithTag(″Player″).transform;
}

private void FixedUpdate
{
Vector2 direction player.position – transform.position;
direction.Normalize;

transform.position direction * speed * Time.fixedDeltaTime;
}
}

Советы:

  • Создайте несколько типов врагов с различным поведением и характеристиками.
  • Используйте анимации и звуковые эффекты, чтобы сделать ваших врагов более живыми и опасными.
  • Настройте искусственный интеллект врагов, чтобы сделать их более сложными и непредсказуемыми.

С созданными врагами наш шутер становится все более захватывающим! Осталось добавить оружие и сделать его действительно взрывным! 💪🏻

Добавление оружия и стрельбы

Пора добавить оружие и превратить наш шутер в настоящий взрывной экшен! Вот шаги, которые я предпринял, чтобы создать и настроить оружие:

В окне проекта Unity нажмите ″Создать″ > ″Спрайт″.
Нарисуйте или импортируйте спрайт для своего оружия в редактор спрайтов.
Создайте новый пустой объект в сцене и назовите его ″Weapon″.
Добавьте компонент ″Sprite Renderer″ к объекту ″Weapon″ и перетащите спрайт оружия в поле ″Sprite″.
Добавьте компонент ″Weapon Script″ (который мы создадим позже) к объекту ″Weapon″ для управления поведением оружия.

Вот пример простого скрипта для управления поведением оружия:

c#
using UnityEngine;

public class WeaponScript : MonoBehaviour
{
public GameObject bulletPrefab;
public float fireRate 0.5f;
private float nextFireTime 0f;

private void Update
{
if (Input.GetMouseButtonDown(0) nn Time.time > nextFireTime)
{
nextFireTime Time.time fireRate;
Shoot;
}
}

private void Shoot
{
GameObject bullet Instantiate(bulletPrefab, transform.position, transform.rotation);
bullet.GetComponent.AddForce(transform.up * 500f);
}
}

Советы:

  • Создайте несколько типов оружия с различными характеристиками и режимами стрельбы.
  • Добавьте визуальные и звуковые эффекты, чтобы сделать стрельбу более захватывающей и реалистичной.
  • Настройте параметры оружия, такие как скорострельность, мощность и отдача, чтобы сбалансировать игровой процесс.

С добавленным оружием наш шутер становится еще более захватывающим и увлекательным! Теперь давайте добавим физику, чтобы сделать все еще более реалистичным! 💪🏻

Работа с физикой

Теперь пришло время добавить физику и сделать наш шутер еще более реалистичным и увлекательным! Вот шаги, которые я предпринял, чтобы настроить физическое взаимодействие в игре:

В окне проекта Unity нажмите ″Создать″ > ″2D Physics Material″.
Настройте параметры материала, такие как трение, плотность и отскок.
Перетащите материал на объекты в сцене, к которым вы хотите применить физические свойства.
Добавьте компонент ″Rigidbody2D″ к объектам, которые должны взаимодействовать с физикой.
Настройте параметры жесткого тела, такие как масса и гравитация.

Кроме того, я использовал встроенную систему физики Unity для обработки столкновений, гравитации и других физических взаимодействий. Вот пример кода, который я использовал для обнаружения столкновений:

c#
using UnityEngine;

public class CollisionScript : MonoBehaviour
{
private void OnCollisionEnter2D(Collision2D collision)
{
// Проверьте, с каким объектом произошло столкновение
if (collision.gameObject.tag ″Enemy″)
{
// Выполните действия при столкновении с врагом
}
}
}

Советы:

  • Экспериментируйте с различными параметрами физического материала, чтобы найти баланс между реализмом и производительностью.
  • Используйте триггеры и коллайдеры для создания более сложных физических взаимодействий.
  • Оптимизируйте физические расчеты, чтобы обеспечить плавную работу игры на различных устройствах.

С реализованной физикой наш шутер становится еще более захватывающим и динамичным! Теперь пришло время создать уровни и дать игрокам поле для сражений! 💪🏻

Создание уровней

Пора создать уровни и предоставить игрокам поле для сражений! Вот шаги, которые я предпринял, чтобы спроектировать и построить уровни в нашем шутере:

Создайте новый объект ″Level″ в сцене.
Добавьте фоновую картинку или спрайт для создания окружения.
Добавьте платформы, препятствия и другие элементы уровня с помощью спрайтов или тайлов.
Разместите врагов и предметы на уровнях.
Настройте точки появления и респауна игрока.

Я также использовал тайловую систему для создания уровней, что позволило мне легко и быстро создавать различные макеты уровней. Вот пример использования тайлового набора:

// Импортируйте спрайт-лист тайлов в проект
Sprite[] tiles Resources.LoadAll(″Tiles″);

// Создайте пустой объект для хранения плиток
GameObject tileContainer new GameObject(″TileContainer″);

// Итерируйте по списку спрайтов
for (int x 0; x ;
tileRenderer.sprite tileSprite;
}
}

Советы:

  • Используйте различные художественные стили и темы для создания разнообразных и запоминающихся уровней.
  • Добавьте скрытые предметы и секретные области, чтобы поощрить исследование и повторное прохождение.
  • Сбалансируйте сложность уровней, чередуя сложные и легкие участки.

С созданными уровнями наш шутер приобретает форму и предоставляет игрокам множество возможностей для исследования и сражений! Теперь пришло время добавить звук и музыку, чтобы создать захватывающую атмосферу! 💪🏻

Добавление звука и музыки

Пора добавить звук и музыку, чтобы создать захватывающую атмосферу и еще глубже погрузить игроков в наш шутер! Вот шаги, которые я предпринял, чтобы интегрировать аудио в игру:

Импортируйте звуковые эффекты и музыкальные файлы в проект Unity.
Создайте новый объект ″AudioManager″ в сцене.
Добавьте компонент ″AudioSource″ к объекту ″AudioManager″.
Перетащите звуковые эффекты и музыкальные файлы в компонент ″AudioSource″.
Напишите скрипт для управления воспроизведением звука и музыки.

Вот пример простого скрипта для управления воспроизведением звука:

c#
using UnityEngine;

public class AudioManager : MonoBehaviour
{
public AudioClip shootSound;
public AudioClip enemyDeathSound;
public AudioClip backgroundMusic;

private AudioSource audioSource;

private void Start
{
audioSource GetComponent;
audioSource.clip backgroundMusic;
audioSource.loop true;
audioSource.Play;
}

public void PlayShootSound
{
audioSource.PlayOneShot(shootSound);
}

public void PlayEnemyDeathSound
{
audioSource.PlayOneShot(enemyDeathSound);
}
}

Советы:

  • Используйте звуковые эффекты для создания ощущения погружения и обратной связи с игроком.
  • Добавьте музыку, чтобы создать настроение и атмосферу в игре.
  • Сбалансируйте громкость звука и музыки, чтобы обеспечить комфортное и приятное прослушивание.

Со звуком и музыкой наш шутер становится еще более захватывающим и атмосферным! Теперь все готово для экспорта и публикации игры, чтобы поделиться ею с миром! 💪🏻

Экспорт и публикация игры

Наконец, пришло время экспортировать и опубликовать нашу игру, чтобы поделиться ею с миром! Вот шаги, которые я предпринял, чтобы завершить процесс разработки:

Нажмите ″Файл″ > ″Построение настроек″ в Unity.
Выберите платформу, для которой вы хотите экспортировать игру (в данном случае Mac).
Настройте параметры сборки, такие как имя файла, местоположение и настройки качества.
Нажмите ″Построить″.

После завершения сборки Unity создаст исполняемый файл игры, который вы сможете запустить и играть на своем Mac. Теперь вы можете опубликовать свою игру на различных платформах, таких как itch.io или Game Jolt, чтобы поделиться ею с игроками по всему миру.

Вот несколько советов по публикации вашей игры:

  • Создайте страницу игры с информацией о ней, скриншотами и трейлерами.
  • Продвигайте свою игру через социальные сети, форумы и другие сообщества.
  • Собирайте отзывы игроков и используйте их для улучшения игры в будущих обновлениях.

Экспортировав и опубликовав свою игру, вы можете гордиться своей работой и поделиться ею с другими! Поздравляю с созданием вашего собственного двухмерного шутера на C# для Mac! 💪🏻

Устранение неполадок

При разработке вашей игры вы неизбежно столкнетесь с некоторыми ошибками и проблемами. Не волнуйтесь, устранение неполадок является неотъемлемой частью процесса разработки. Вот несколько советов, которые помогут вам эффективно устранять неполадки:

Используйте отладчик Unity: Отладчик Unity позволяет вам пошагово выполнять ваш код, устанавливать точки останова и проверять значения переменных. Он является ценным инструментом для выявления и устранения ошибок.

Проверяйте сообщения об ошибках в консоли: Консоль Unity предоставляет ценные сообщения об ошибках и предупреждения, которые могут помочь вам выявить проблемы в вашем коде или игре.

Используйте логирование: Добавление операторов логирования в ваш код может помочь вам отслеживать поток выполнения и выявлять потенциальные проблемы.

Проверяйте синтаксис: Перед запуском игры всегда проверяйте синтаксис вашего кода. Неправильный синтаксис может привести к ошибкам во время выполнения или непредвиденному поведению.

Проверяйте наличие исключений: Исключения могут быть вызваны различными проблемами в вашем коде, такими как попытка доступа к несуществующему объекту или деление на ноль. Всегда проверяйте наличие исключений и обрабатывайте их соответствующим образом.

Устранение неполадок требует терпения и внимания к деталям. Используя эти советы и постоянно совершенствуя свои навыки, вы сможете эффективно находить и устранять проблемы в вашей игре, гарантируя плавный игровой процесс для ваших игроков. 💪🏻

Поздравляю, вы успешно создали свой собственный двухмерный шутер на C# для Mac! Путешествие по разработке игр может быть сложным, но невероятно полезным и увлекательным. Вот несколько мыслей и советов на прощание:

Продолжайте учиться и совершенствоваться: Разработка игр постоянно развивается, поэтому важно продолжать изучать новые технологии, инструменты и передовой опыт.

Не бойтесь экспериментировать: Не ограничивайте себя тем, что знаете. Пробуйте новые идеи, экспериментируйте с различными жанрами и не бойтесь выходить за рамки привычного.

Принимайте отзывы: Отзывы от игроков и других разработчиков могут быть бесценны для улучшения вашей игры и ваших навыков.

Присоединяйтесь к сообществу: Онлайн-сообщества и форумы предоставляют возможность общаться с другими разработчиками, получать советы и находить единомышленников.

Наслаждайтесь процессом: Разработка игр должна быть увлекательным путешествием, поэтому не забывайте получать удовольствие от процесса и праздновать свои достижения.

Теперь, когда вы вошли в мир разработки игр, возможности безграничны. Не забывайте ставить перед собой новые задачи, учиться на своих ошибках и постоянно стремиться к созданию еще более увлекательных и захватывающих игр. Удачи в ваших будущих начинаниях, и пусть ваше творчество не знает границ! 💪🏻

Вот таблица, обобщающая шаги, предпринятые для создания двухмерного шутера на C# в Unity 2023.1 LTS для Mac:

| **Этап** | **Действия** | **Подробности** |
|—|—|—|
|—|—|—|
| Установка Unity 2023.1 LTS | – Создание нового проекта | – Выбор шаблона проекта ″2D″, установка модуля ″2D Sprite Editor″ |
|—|—|—|
| Настройка игрового процесса | – Настройка разрешения игры, частоты кадров и других параметров | – Регулировка настроек для оптимизации производительности и визуального качества |
|—|—|—|
| Создание игрового персонажа | – Создание спрайта для персонажа | – Добавление компонентов ″Sprite Renderer″ и ″Rigidbody2D″ к игровому объекту |
|—|—|—|
| Создание врагов | – Создание спрайтов для врагов | – Добавление компонентов ″Sprite Renderer″, ″Rigidbody2D″ и скрипта ″Enemy Script″ к вражеским объектам |
|—|—|—|
| Добавление оружия и стрельбы | – Создание спрайта для оружия | – Добавление компонентов ″Sprite Renderer″ и ″Weapon Script″ к объектам оружия |
|—|—|—|
| Работа с физикой | – Настройка физического материала и параметров жесткого тела | – Использование системы физики Unity для обработки столкновений |
|—|—|—|
| Создание уровней | – Создание фона и платформенных объектов | – Размещение врагов и предметов на уровнях |
|—|—|—|
| Добавление звука и музыки | – Импорт звуковых эффектов и музыкальных файлов | – Настройка воспроизведения звука и музыки с помощью скрипта |
|—|—|—|
| Экспорт и публикация игры | – Экспорт игры для Mac | – Построение исполняемого файла игры |
|—|—|—|
| Устранение неполадок | – Использование отладчика Unity и других инструментов для выявления и устранения ошибок | – Проверка синтаксиса, обработка исключений и ведение журнала |
|—|—|—|

Эта таблица обеспечивает краткий обзор процесса, который я описал в своем предыдущем ответе. Я надеюсь, что она будет полезным справочником для вас в вашем собственном путешествии по созданию 2D-шутера в Unity!

Вот сравнительная таблица, показывающая основные возможности и преимущества использования Unity 2023.1 LTS для создания двухмерных шутеров на C# для Mac по сравнению с другими популярными игровыми движками:

| **Функция** | **Unity 2023.1 LTS** | **Другие игровые движки** |
|—|—|—|
| Инструменты 2D-анимации | Встроенный редактор спрайтов, поддержка покадровой анимации, скелетная анимация | Ограниченные возможности 2D-анимации, требуется стороннее программное обеспечение |
| Физический движок | Мощный и настраиваемый физический движок | Физические движки сторонних разработчиков, могут быть менее оптимизированными |
| Сетевой многопользовательский режим | Поддержка сетевого многопользовательского режима с низкой задержкой | Ограниченная поддержка сетевого многопользовательского режима, может потребоваться стороннее программное обеспечение |
| Интеграция с C# | Единая среда разработки для кода C# и игрового движка | Необходимы дополнительные инструменты или плагины для интеграции с C# |
| Создание уровней | Интуитивно понятный редактор уровней с поддержкой тайлов и объектов | Менее удобные инструменты создания уровней, могут потребоваться сторонние редакторы |
| Сообщество и поддержка | Активное и поддерживающее сообщество, обширная документация | Менее активные сообщества и ограниченная документация |

Как вы можете заметить, Unity 2023.1 LTS выделяется своими мощными встроенными инструментами для создания 2D-игр, особенно с точки зрения 2D-анимации и физики. Его глубокая интеграция с языком программирования C# и поддержка сетевого многопользовательского режима делают его идеальным выбором для создания высококачественных и увлекательных 2D-шутеров на Mac и других платформах.

В то время как другие игровые движки могут иметь свои сильные стороны в определенных областях, Unity 2023.1 LTS предлагает полный и оптимизированный набор инструментов и возможностей, специально адаптированных для разработки 2D-игр.

FAQ

В: Каковы минимальные системные требования для запуска Unity 2023.1 LTS на Mac?

О:
– macOS 10.15 Catalina или более поздняя версия
– 8 ГБ оперативной памяти
– Графическая карта, поддерживающая Metal

В: Могу ли я использовать Unity 2023.1 LTS для создания игр для других платформ, кроме Mac?

О:
Да, Unity 2023.1 LTS поддерживает создание игр для широкого спектра платформ, включая Windows, iOS, Android, консоли и веб.

В: Как я могу получить доступ к онлайн-сообществу и документации Unity?

О:
– Сообщество Unity: https://forum.unity.com/
– Документация Unity: https://docs.unity3d.com/

В: Есть ли какие-либо платные функции или подписки, связанные с использованием Unity 2023.1 LTS?

О:
Unity 2023.1 LTS доступен как бесплатная версия для личного и некоммерческого использования. Для коммерческих проектов или доступа к расширенным функциям требуются платные подписки. Крафт

В: Могу ли я импортировать спрайты и другие ресурсы, созданные в других программах, таких как Adobe Photoshop или Illustrator?

О:
Да, Unity поддерживает импорт различных типов файлов, включая изображения, модели и звуковые файлы, из ряда других программ.

В: Как я могу добавить музыку и звуковые эффекты в свою игру?

О:
Unity предоставляет встроенные компоненты для добавления аудиоклипов и управления воспроизведением звука и музыки в ваших играх.

В: Каковы некоторые из наиболее распространенных проблем, с которыми я могу столкнуться при создании двухмерного шутера в Unity?

О:
– Ошибки синтаксиса в скриптах C#
– Неправильное использование физики и коллайдеров
– Проблемы с производительностью из-за чрезмерного количества объектов или плохо оптимизированного кода
– Ошибки при экспорте или построении игры
– Проблемы с пользовательским вводом и управлением

В: Где я могу найти дополнительную помощь и поддержку при работе с Unity?

О:
– Онлайн-сообщество Unity: https://forum.unity.com/
– Страница поддержки Unity: https://support.unity3d.com/hc/en-us
– Документация Unity: https://docs.unity3d.com/

VK
Pinterest
Telegram
WhatsApp
OK
Прокрутить наверх