В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».
На нашей сцене уже имеется заготовка персонажа с анимацией, добавим к ней компоненты Box Collider 2d и Rigidbody 2d и настроим компонент так как на скриншоте
Далее создадим скрипт к примеру TransformPlayer с таким кодом:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class TransformPlayer : MonoBehaviour { private Transform _transform; private Rigidbody2D _rigibody; // Use this for initialization void Start () { _transform = GetComponent(); _rigibody = GetComponent();} // Update is called once per frame void Update () { if (Input.GetKey(KeyCode.W) && this._transform.localPosition.y <= 5f) { _rigibody.gravityScale = -0.5f; } else { _rigibody.gravityScale = 0.5f; } } }Видео:Движение персонажа Unity 2D с нуляСкачать
В этом скрипте указано, что при нажатии на кнопку w значение гравитации у персонажа меняется, а при отпускании, клавиши значение восстанавливается, таким образом, персонажа всегда падать, если не нажимать кнопку w.
Далее, как токового движения вперед у нас не реализовано, но симуляцию движения можно реализовать при помощи фоновых объектов.
Добавим на сцену спрайты земли и продублируем 4 раза, на каждый компонент вешаем те же компоненты Box Collider 2d и Rigidbody 2d, создадим еще один скрипт TransformGround
using System.Collections; using System.Collections.Generic; using UnityEngine; public class TransformGround : MonoBehaviour { public Transform GameObjectCamera;// Update is called once per frame void Update() { this.gameObject.transform.localPosition = new Vector3(this.gameObject.transform.localPosition.x - 0.1f, this.gameObject.transform.localPosition.y, this.gameObject.transform.localPosition.z); } public void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "barer") { this.transform.position = new Vector3(GameObjectCamera.transform.position.x, GameObjectCamera.transform.position.y, GameObjectCamera.transform.position.z); } } }Видео:Управление 2D персонажем в Unity 2D | Для новичков | Gamedev - Разработка игрСкачать
В этом скрипте, в методе Update реализована функция постоянного движения объекта по оси х , но при столкновении этого объекта с другим, у которого тэг barer, нашему объекту присвоится другая позиция на сцене, таким образом наши 4 объекта земли будут зациклены в движении .
Теперь подробнее… Создадим на камере два пустых объекта, один разместим слева и добавим Box Collider 2d и Rigidbody 2d, так же присвоим ему тэг, который указали в скрипте barer, а другой справа. Примерно так…
Видео:#2 - Как научить персонажа двигаться в Unity 2DСкачать
На объектах «земли» укажем этот объект который справа.
Теперь можно поверить запустив игру
Птица управляется, движение земли создает эффект движения птицы. В следующих уроках можно реализовать рандомное появление объектов на сцене и столкновение персонажа с ними. На это все удачных проектов.
📺 Видео
Как научить персонажа двигаться в 2D и 3D играх на движке Unity | Уроки по Unity 3D для школьниковСкачать
Как сделать движение персонажем на телефоне | Движение персонажа в юнитиСкачать
Делаем 2д игру на Unity №1 Передвижение персонажа и анимацияСкачать
2D контроллер движения персонажа в Unity - простой урокСкачать
Передвижение персонажа в Юнити 2D(Туториал)Скачать
[UNITY3D] 4 способа задать движение объектуСкачать
Анимации в Unity 2D | Для новичков | Gamedev - Разработка игрСкачать
КАК ПРИВЯЗАТЬ КАМЕРУ К ГЛАВНОМУ ПЕРСОНАЖУ В UNITY 2D | КОРОТКИЙ ТУТОРИАЛСкачать
Как заставить объект двигаться вперед в UnityСкачать
СОЗДАНИЕ УПРАВЛЕНИЯ И АНИМАЦИИ ПЕРСОНАЖА В UNITY 2D / КОРОТКИЙ И БЫСТРЫЙ ВИДЕОУРОКСкачать
#3 - Анимация персонажа в Unity 2D (знакомимся с Animation и Animator)Скачать
Top down передвижение в UnityСкачать
УПРАВЛЕНИЕ В UNITY - 2D/2Д. 2023 Гайды, Уроки C#Скачать
Юнити.Как сделать движение 2д персонажа с нуляСкачать
Управление персонажем в Unity 2021Скачать
АНИМАЦИЯ ПЕРСОНАЖА В UNITY #2 || Unity C# Уроки Создание Игр На Андроид 2DСкачать
Как сделать слежку камеры за игроком в 2D (Cinemachine) | Для новичков | Gamedev - Разработка игрСкачать