Как заставить персонажа двигаться в Unity 2d

2dlogoTransform Уроки Unity 5

В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

На нашей сцене уже имеется заготовка персонажа с анимацией, добавим к ней компоненты Box Collider 2d и Rigidbody 2d и настроим компонент так как на скриншоте

rogibody2d

Далее создадим скрипт к примеру 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 с нуляСкачать

Движение персонажа 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

ground

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

public class TransformGround : MonoBehaviour {


    public Transform GameObjectCamera;

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

Управление 2D персонажем в Unity 2D | Для новичков | Gamedev - Разработка игр
// 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, а другой справа. Примерно так…

gameobject 2d

Видео:#2 - Как научить персонажа двигаться в Unity 2DСкачать

#2 - Как научить персонажа двигаться в Unity 2D

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

Теперь можно поверить запустив игру

transformrigibodi

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

📺 Видео

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

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

Как сделать движение персонажем на телефоне | Движение персонажа в юнитиСкачать

Как сделать движение персонажем на телефоне | Движение персонажа в юнити

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

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

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

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

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

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

[UNITY3D] 4 способа задать движение объектуСкачать

[UNITY3D] 4 способа задать движение объекту

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

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

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

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

Как заставить объект двигаться вперед в UnityСкачать

Как заставить объект двигаться вперед в Unity

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

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

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

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

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

Top down передвижение в Unity

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

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

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

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

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

Управление персонажем в Unity 2021

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

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

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

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

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