В прошлой статье мы рассказывали вам как создать анимацию в 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();
Видео:Движение персонажа Unity 2D с нуляСкачать
}
// 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;
}
}
}
В этом скрипте указано, что при нажатии на кнопку 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;
Видео:#2 - Как научить персонажа двигаться в Unity 2DСкачать
// 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);
}
}
}В этом скрипте, в методе Update реализована функция постоянного движения объекта по оси х , но при столкновении этого объекта с другим, у которого тэг barer, нашему объекту присвоится другая позиция на сцене, таким образом наши 4 объекта земли будут зациклены в движении .
Теперь подробнее… Создадим на камере два пустых объекта, один разместим слева и добавим Box Collider 2d и Rigidbody 2d, так же присвоим ему тэг, который указали в скрипте barer, а другой справа. Примерно так…

Видео:Управление 2D персонажем в Unity 2D | Для новичков | Gamedev - Разработка игрСкачать

На объектах «земли» укажем этот объект который справа.
Теперь можно поверить запустив игру

Птица управляется, движение земли создает эффект движения птицы. В следующих уроках можно реализовать рандомное появление объектов на сцене и столкновение персонажа с ними. На это все удачных проектов.
💡 Видео
Как сделать движение персонажем на телефоне | Движение персонажа в юнитиСкачать

Как научить персонажа двигаться в 2D и 3D играх на движке Unity | Уроки по Unity 3D для школьниковСкачать

2D контроллер движения персонажа в Unity - простой урокСкачать

Передвижение персонажа в Юнити 2D(Туториал)Скачать

Делаем 2д игру на Unity №1 Передвижение персонажа и анимацияСкачать

Анимации в Unity 2D | Для новичков | Gamedev - Разработка игрСкачать

КАК ПРИВЯЗАТЬ КАМЕРУ К ГЛАВНОМУ ПЕРСОНАЖУ В UNITY 2D | КОРОТКИЙ ТУТОРИАЛСкачать

[UNITY3D] 4 способа задать движение объектуСкачать
![[UNITY3D] 4 способа задать движение объекту](https://i.ytimg.com/vi/-Bhy8ySbews/0.jpg)
Как заставить объект двигаться вперед в UnityСкачать

СОЗДАНИЕ УПРАВЛЕНИЯ И АНИМАЦИИ ПЕРСОНАЖА В UNITY 2D / КОРОТКИЙ И БЫСТРЫЙ ВИДЕОУРОКСкачать

Top down передвижение в UnityСкачать

УПРАВЛЕНИЕ В UNITY - 2D/2Д. 2023 Гайды, Уроки C#Скачать

Управление персонажем в Unity 2021Скачать

#3 - Анимация персонажа в Unity 2D (знакомимся с Animation и Animator)Скачать

Юнити.Как сделать движение 2д персонажа с нуляСкачать

Как сделать слежку камеры за игроком в 2D (Cinemachine) | Для новичков | Gamedev - Разработка игрСкачать

АНИМАЦИЯ ПЕРСОНАЖА В UNITY #2 || Unity C# Уроки Создание Игр На Андроид 2DСкачать










