Начало создание игры
Создание игры начинается с идеи. Возьми для начала ручку, карандаш, лист, распиши, что хочешь создать. Продумай каждую деталь, будет эта игра 2D или 3D? Когда определишься выбери жанр игры, это может быть разный жанр игры от какой-нибудь бродилки, до шутера с элементами рпг. После того как всё продумаешь можно переходить непосредственно к делу.
ЛАЙФХАК: если нет идеи, какую игру делать, то предлагаю посмотреть разные игры, поиграть в них и вот так ты найдешь, то что хотел бы сделать. Самое главное в этом НЕ КОПИРОВАТЬ ПОЛНОСТЬЮ ВСЁ , а сделать своё на подобии.
Создание персонажа
Создание персонажа происходит в обычном paint или в векторных программах Inkscape или других которых вам понравятся (это для тех кто хочет создать 2D персонажа ), так же используют программы Blender, 3D MAX и другие (это для персонажей 3D). Я использую Inkscape для создание 2D персонажа, освоится с этой программой не сложно, но сейчас не об этом.
Как только ты создал персонажа следует закинуть его в Unity в окно Project, после чего закинуть его в произвольное место в окне Scene ( не волнуйся потом ты можешь исправить позицию в любой момент).
Ура, ты добавил модельку своего персонажа в игру, но проблема в том что управлять ты им не можешь и т.д.
Для этого создай скрипт, кликнув свободной области в окне Project и создай скрипт C# и обзави его как душе угодно, но чтоб ты понял, что это управление.
Открываем скрипт и вписываем такое (код я взял который сам использую):
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour {
public RigidBody2D rd // это прописано для 2D модельки
public float speed = 20; // задаём скорость передвижения
void Start () {
rb = GetComponent <Rigidbody2D> (); // получаем компоненты rigidbody2d
}
void Update () {
float moveX = Input.GetAxis ("Horizontal"); // это нам нужно для того чтоб по X было либо 1 либо -1 при нажимании A или D
float moveY = Input.GetAxis ("Vertical"); // это нам нужно для того чтоб по X было либо 1 либо -1 при нажимании W или S
if (Input.GetKey(KeyCode.W) | Input.GetKey(KeyCode.S) && ! Input.GetKey(KeyCode.D) | Input.GetKey(KeyCode.D)) { // здесь у нас условие того то при нажатии W или S, но не нажата клавиша D или DСам в шоке от того, что написал
rb.MovePosition ( rb.position + Vector2.up * moveY * speed * Time.deltaTime ); // Это применяет силу, чтоб персонаж двигался вверх или вниз, это сделано для 2D моделей
}
else if (Input.GetKey(KeyCode.D) | Input.GetKey(KeyCode.A) && ! Input.GetKey(KeyCode.W) | Input.GetKey(KeyCode.S)) { // здесь у нас условие того то при нажатии D или A, но не нажата клавиша W или S
rb.MovePosition ( rb.position + Vector2.right * moveX * speed * Time.deltaTime ); // Это применяет силу, чтоб персонаж двигался влево или вправо, это сделано для 2D моделей повторюсь
}
else {
//здесь пустаю потому что, если начал условие то нужно закончить его else
}
//Ниже я делал чтоб персонаж двигался по диагонали, может понадобится
if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.D)) {
rb.MovePosition ( rb.position + ((Vector2.up +Vector2.right)/2) * speed * Time.deltaTime );}
else if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.A)) {
rb.MovePosition ( rb.position + ((Vector2.up +Vector2.left)/2) * speed * Time.deltaTime );
}
else if (Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.D)) {
rb.MovePosition ( rb.position + ((Vector2.down +Vector2.right)/2) * speed * Time.deltaTime );
}
else if (Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.A)) {
rb.MovePosition ( rb.position + ((Vector2.down +Vector2.left)/2) * speed * Time.deltaTime );
}
else{
}
}
После того как вписали это всё, наш персонаж до сих пор не двигается т.к мы не поставили на него Rigidbody2D и не закинули на него скрипт.
Это очень легко исправить, перетаскиваем скрипт на персонажа в окне Hierarchy, это мы сделали скрипт.
Rigidbody2D добавляется тоже очень легко, нажимаем на нашего персонажа в окне Hierarchy, в окне inspector появились все параметры нажимаем на кнопку Add Component, после чего в поисковике ищем Rigidbody2D или Rigidbody(это если ты брал 3D разработку игры, только нужно будет изменить, чтоб двигались по координатам y и z пересмотри код и измени )
После того как запустим, нажав на кнопки Play можно увидеть что у нас персонаж начал двигаться. Яху!!!!
Думаю на этом закончим, в следущем разскажу больше.