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

  Рет қаралды 126,432

Graphical Design

Graphical Design

Күн бұрын

Пікірлер: 414
@bad___dad4717
@bad___dad4717 5 жыл бұрын
Спасибо очень помог мне. Я долго искал как сделать 2D контроллер движения персонажа в стиле Top-Down. Негде не мог найти и вот та дам и вдруг попалось это видео. Всё просто и понятно спасибо.
@doublek1631
@doublek1631 4 жыл бұрын
Боже, наконец то кто то на русском не просто так говорит надо так сделать, а объясняет
@babich1690
@babich1690 3 жыл бұрын
Маловато объяснений на самом деле
@icevideos7655
@icevideos7655 5 жыл бұрын
Как всегда всё круто. Больше Unity)))
@uragan_27
@uragan_27 5 жыл бұрын
Юху, больше таких уроков, желательно прям все по полочкам ! )
@zippich7495
@zippich7495 4 жыл бұрын
как сделать что бы персонаж поворачивался в сторону мышки
@КотэКотович-у5й
@КотэКотович-у5й 5 жыл бұрын
Зачем Rigidbody2D ставить в kinematic? Можно просто Gravity scale поставить на 0 и Freeze Rotation Z. Если кинематик, то, игрок будет проходить сквозь колайдеры без столкновения..
@Volrest
@Volrest 5 жыл бұрын
В последнее время я заметил,, если столкнуть другой объект с каким-то весом и скоростью с объектом, на котором вместо кинематика выключена гравитация, он начнёт медленно двигаться, как объекты в реальном космосе. Ну и при этом, у двух таких объектов без кинематика, если коллайдеры заезжают друг на друга, то они будут выталкивать друг друга из себя.
@КотэКотович-у5й
@КотэКотович-у5й 5 жыл бұрын
@@Volrest я тоже подобное начал замечать, вроде колайдеры на одних координатах, а вот притормаживает игрок, пытаюсь фиксить
@Volrest
@Volrest 5 жыл бұрын
Armagee у меня в ногах персонажа был бокс коллайдер, я заменил его на полигон и немного срезал углы внизу, чтобы персонаж мог как будто заезжать на маленькие неровности
@dr.respe6t
@dr.respe6t 4 жыл бұрын
@@Volrest да это и надо делать а то надо будет прыгать на малейших неровностях
@pikpokart4828
@pikpokart4828 4 жыл бұрын
Низкий поклон тебя и огромнейшее спасибо, сколько я искала этот простой код для движения по осям x и y, но все было слишком мудреное и мне не подходило, а это именно то, что нужно.
@АнатолийКацы-б9и
@АнатолийКацы-б9и 5 жыл бұрын
теперь...Мне нужно знать как поворачивать объект на курсор :)
@zloy_kak_tus
@zloy_kak_tus 4 жыл бұрын
Вот так будет работать поворот спрайта за курсором Если не хотите чтоб персонаж двигался за курсором, просто оставьте код отвечающий за движение как в этом видеоуроке показано. А именно вот так /////////////////////////////////////////// void Update () { Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); moveVelocity = moveInput.normalized * speed; mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); // Тот самый поворот // вычисляем разницу между текущим положением и положением мыши Vector3 difference = mousePosition - transform.position; difference.Normalize(); // вычисляемый необходимый угол поворота float rotation_z = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg; // Применяем поворот вокруг оси Z transform.rotation = Quaternion.Euler(0f, 0f, rotation_z); } /////////////////////////////////////////////Движение за курсором////////////////////////// private Vector3 mousePosition; public float moveSpeed = 2f; void Update () { mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); transform.position = Vector2.MoveTowards(transform.position, mousePosition, moveSpeed * Time.deltaTime); // вычисляем разницу между текущим положением и положением мыши Vector3 difference = mousePosition - transform.position; difference.Normalize(); // вычисляемый необходимый угол поворота float rotation_z = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg; // Применяем поворот вокруг оси Z transform.rotation = Quaternion.Euler(0f, 0f, rotation_z); }
@ЕгорСкорюкин-х3х
@ЕгорСкорюкин-х3х 5 жыл бұрын
Очень коротко и содержательно! Огромное спасибо!!!
@Shargim822
@Shargim822 4 жыл бұрын
Но с Kinematic коллайдеры не действуют, так что, проще сделать Gravity Scale на 0 и всё!
@kslstep929
@kslstep929 4 жыл бұрын
Благословит господь(сильно помог)
@Shargim822
@Shargim822 4 жыл бұрын
@@kslstep929 всегда пожалуйста
@dr.respe6t
@dr.respe6t 4 жыл бұрын
Спасибо
@yerlen6584
@yerlen6584 4 жыл бұрын
Ты делаешь нашу жизнь легче, подписка и лайк тебе👍
@СаянАубакиров-ч8о
@СаянАубакиров-ч8о 3 жыл бұрын
какой скрипт надо использовать чтобы повернуть персонажа в сторону движения, используя только ось Х?(в других учебных роликах видел как можно использовать функцию Flip, но все равно не получается реализовать задуманное)
@olehkaa1942
@olehkaa1942 3 жыл бұрын
Зделал всье так же но когда вибирать скорость 10 строки нету что делать?
@GGYaroslav
@GGYaroslav 4 жыл бұрын
Блин ты красава единсвенный кто мне помог.Спасибо:)
@ЧевавекЧевавекав
@ЧевавекЧевавекав 2 жыл бұрын
Дай Бог тебе здоровья. Помог очень
@АлексейА-д8д
@АлексейА-д8д Жыл бұрын
Спасибо оооогромное!!! Не мог сделать обзор уровня в 2Д без персонажа, пробовал сделать через Синематик управление камерой, но не вышло. А тут просто накинул скрипт на пустой объект, накинул на него этот скрипт добавил камеру в дочерние и готово. СПАСИБО)))
@tanyusha7018
@tanyusha7018 4 жыл бұрын
Спасибо чтоб просто двигать кусок персонажа подходит, я вот начинающий и пытаюсь делать 2d rpg уже зделал персонажа и создал его анимацию вверх низ лево право, пилю управление под Андроид тоесть нужно зделать 4 кнопки привязать к нему движение и анимацию, как это зделать не понимаю, если есть возможность сними такое видео, весь канал перерыл именно то что нужно не нашел, кто суть уловил , яб с радостью посмотрел на код
@Artim4ik
@Artim4ik 4 жыл бұрын
что там
@cyberwell1907
@cyberwell1907 3 жыл бұрын
Спасибо. Просто и понятно. Но все заработало только когда вписал Raw!
@lastsirafim1135
@lastsirafim1135 5 жыл бұрын
А как сделать чтобы персонаж поворачивался в сторону направления движения?
@antondana2773
@antondana2773 4 жыл бұрын
могу показать, надо?
@interesting4899
@interesting4899 4 жыл бұрын
@@antondana2773 тут напиши, мне надо
@antondana2773
@antondana2773 4 жыл бұрын
@@interesting4899 там просто надо создать переменную: private bool facingRight = true; потом в апдейт или фиксет апдейт пишем: if(facingRight == false && moveInput > 0){ Flip(); } else if(facingRight == true && moveInput < 0){ Flip(); } а потом создаем нов метод: void Flip() { facingRight = !facingRight; Vector3 Scaler = transform.localScale; Scaler.x *= -1; transform.localScale = Scaler; } и готово если что-то не так, я могу записать видео)
@interesting4899
@interesting4899 4 жыл бұрын
@@antondana2773 ok
@Fleshka71
@Fleshka71 4 жыл бұрын
@@antondana2773 так нельзя же else if(facingRight == true && moveInput < 0 - потому что тип инт и вектор2
@Gabriel-hg7fl
@Gabriel-hg7fl 4 жыл бұрын
Раз уж это урок, неплохо было бы объяснять на кой нужно всё что ты делаешь. Цель достигнута, это да. Но от этого код лучше понимать конкретно я явно не стал.
@lphoenixl7771
@lphoenixl7771 4 жыл бұрын
Достаточно знания английского и нормально развитой логики, чтобы это все понять. Код легко читается...
@genjuca6407
@genjuca6407 4 жыл бұрын
мне пишет типо код не компилируемый, поэтому игра не запускается
@c.a.d5412
@c.a.d5412 2 жыл бұрын
Я конечно не уверен но думаю Rigidbody2D rb; должно быть не private а public что-бы перекинуть сам компонент Rigidbody в переменную... Короче, если у вас ошибка: NullReferenceException: Object reference not set to an instance of an object. То попробуйте в коде установить public Rigidbody rb; И в инспекторе перетащить компонент Rigidbody в rb.
@DankeMart
@DankeMart 2 жыл бұрын
У него в функции Start есть строка, которая берёт Rigidbody с объекта, на котором висит этот скрипт, и записывает его в переменную rb
@ДНЕВНИКРАЗРАБОТЧИКА-ю8м
@ДНЕВНИКРАЗРАБОТЧИКА-ю8м 4 жыл бұрын
ВСе круто по по какой-то причине персонаж проходит сквозь стены , то есть сквозь другой колайдер
@egghead7315
@egghead7315 3 жыл бұрын
А́ риджи боди стоит?
@ZvezdaHourNews
@ZvezdaHourNews 4 жыл бұрын
А почему у меня ничего не работает постоянно ошибку выдает какую то...?
@netunika1172
@netunika1172 4 жыл бұрын
+
@gast5476
@gast5476 3 жыл бұрын
+
@globalacademyorigina1
@globalacademyorigina1 Жыл бұрын
Весьма интересный алгоритм, после небольших доработок очень даже легко интегрируется в свою игрю. А есть ли видео о том, как в кинематике 2д реализовать прыжок?
@иксатор-э9ч
@иксатор-э9ч 2 жыл бұрын
Где скрипт посмотреть?
@toxic_waste5307
@toxic_waste5307 4 жыл бұрын
А какие нужны установленные пакеты для visual studio 2019 чтобы он узнавал и подсвечивал этот синтаксис?
@mtfunit1301
@mtfunit1301 3 жыл бұрын
Подсказки от unity
@BastetRa
@BastetRa 2 жыл бұрын
в строке 26 плюс не катит у меня выдаёт ошибку. как исправить?
@Алексей-и5д3в
@Алексей-и5д3в Жыл бұрын
Спасибо за труд. Такой вопрос: как сделать, чтобы персонаж пятился назад
@dekud9595
@dekud9595 5 жыл бұрын
Помогите, как сделать управление в виде джойстика, много способов пробовал, выдает ошибки
@RivaKing
@RivaKing 5 жыл бұрын
Мне бы тоже хотелось узнать
@Romquaa
@Romquaa 5 жыл бұрын
@@RivaKing в Asset Store скачиваешь joustick, бесплатный добавляешь его на сцену - создать, UI - JoyStick, ставишь в любую удобную позицию, и создаешь простой скрипт для него
@Romquaa
@Romquaa 5 жыл бұрын
using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; using UnityEngine.EventSystems; using System.Collections; #if UNITY_EDITOR using UnityEditor; #endif namespace UnityEngine.UI { [AddComponentMenu("UI/Joystick", 36), RequireComponent(typeof(RectTransform))] public class Joystick : UIBehaviour, IBeginDragHandler, IEndDragHandler, IDragHandler { [SerializeField, Tooltip("The child graphic that will be moved around")] RectTransform _joystickGraphic; public RectTransform JoystickGraphic { get { return _joystickGraphic; } set { _joystickGraphic = value; UpdateJoystickGraphic(); } } [SerializeField] Vector2 _axis; [SerializeField, Tooltip("How fast the joystick will go back to the center")] float _spring = 25; public float Spring { get { return _spring; } set { _spring = value; } } [SerializeField, Tooltip("How close to the center that the axis will be output as 0")] float _deadZone = .1f; public float DeadZone { get { return _deadZone; } set { _deadZone = value; } } [Tooltip("Customize the output that is sent in OnValueChange")] public AnimationCurve outputCurve = new AnimationCurve(new Keyframe(0, 0, 1, 1), new Keyframe(1, 1, 1, 1)); public JoystickMoveEvent OnValueChange; public Vector2 JoystickAxis { get { Vector2 outputPoint = _axis.magnitude > _deadZone ? _axis : Vector2.zero; float magnitude = outputPoint.magnitude; outputPoint *= outputCurve.Evaluate(magnitude); return outputPoint; } set { SetAxis(value); } } RectTransform _rectTransform; public RectTransform rectTransform { get { if(!_rectTransform) _rectTransform = transform as RectTransform; return _rectTransform; } } bool _isDragging; [HideInInspector] bool dontCallEvent; public void OnBeginDrag(PointerEventData eventData) { if(!IsActive()) return; EventSystem.current.SetSelectedGameObject(gameObject, eventData); Vector2 newAxis = transform.InverseTransformPoint(eventData.position); newAxis.x /= rectTransform.sizeDelta.x * .5f; newAxis.y /= rectTransform.sizeDelta.y * .5f; SetAxis(newAxis); _isDragging = true; dontCallEvent = true; } public void OnEndDrag(PointerEventData eventData) { _isDragging = false; } public void OnDrag(PointerEventData eventData) { RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, eventData.position, eventData.pressEventCamera, out _axis); _axis.x /= rectTransform.sizeDelta.x * .5f; _axis.y /= rectTransform.sizeDelta.y * .5f; SetAxis(_axis); dontCallEvent = true; } void OnDeselect() { _isDragging = false; } void Update() { if(_isDragging) if(!dontCallEvent) if(OnValueChange != null) OnValueChange.Invoke(JoystickAxis); } void LateUpdate() { if(!_isDragging) if(_axis != Vector2.zero) { Vector2 newAxis = _axis - (_axis * Time.unscaledDeltaTime * _spring); if(newAxis.sqrMagnitude _deadZone ? _axis : Vector2.zero; float magnitude = outputPoint.magnitude; outputPoint *= outputCurve.Evaluate(magnitude); if(!dontCallEvent) if(OnValueChange != null) OnValueChange.Invoke(outputPoint); UpdateJoystickGraphic(); } void UpdateJoystickGraphic() { if(_joystickGraphic) _joystickGraphic.localPosition = _axis * Mathf.Max(rectTransform.sizeDelta.x, rectTransform.sizeDelta.y) * .5f; } [System.Serializable] public class JoystickMoveEvent : UnityEvent { } } } #if UNITY_EDITOR static class JoystickGameObjectCreator { [MenuItem("GameObject/UI/Joystick", false, 2000)] static void Create() { GameObject go = new GameObject("Joystick", typeof(Joystick)); Canvas canvas = Selection.activeGameObject ? Selection.activeGameObject.GetComponent() : null; Selection.activeGameObject = go; if(!canvas) canvas = Object.FindObjectOfType(); if(!canvas) { canvas = new GameObject("Canvas", typeof(Canvas), typeof(RectTransform), typeof(GraphicRaycaster)).GetComponent(); canvas.renderMode = RenderMode.ScreenSpaceOverlay; } if(canvas) go.transform.SetParent(canvas.transform, false); GameObject background = new GameObject("Background", typeof(Image)); GameObject graphic = new GameObject("Graphic", typeof(Image)); background.transform.SetParent(go.transform, false); graphic.transform.SetParent(go.transform, false); background.GetComponent().color = new Color(1, 1, 1, .86f); RectTransform backgroundTransform = graphic.transform as RectTransform; RectTransform graphicTransform = graphic.transform as RectTransform; graphicTransform.sizeDelta = backgroundTransform.sizeDelta * .5f; Joystick joystick = go.GetComponent(); joystick.JoystickGraphic = graphicTransform; } } #endif
@Romquaa
@Romquaa 5 жыл бұрын
@@ДенисШуть-к8х Не проверял) но прыжок можно вынести отдельной кнопкой) добавь строчку еще в свой скрипт управления игроком - public void Move (Vector2 dir) { transform.Translate (dir * Time.deltaTime * speed); после чего добавь на сам джойстик в On Value Change (Vector2) своего персонажа, и выбери вместо no function наш скрипт управления персонажем, и выбери функцию Move, которую ты и вписывал в скрипт управления персонажем) должно все работать
@shuone374
@shuone374 5 жыл бұрын
@@Romquaa Простой скрипт
@minoddein7205
@minoddein7205 4 жыл бұрын
А как сделать,чтобы персонаж не проходил сквозь коллайдер карты из-за кинематики?
@dr.respe6t
@dr.respe6t 4 жыл бұрын
Попробуй дать ему мх
@minoddein7205
@minoddein7205 4 жыл бұрын
@@dr.respe6t , мх?
@dr.respe6t
@dr.respe6t 4 жыл бұрын
Даже не знаю но кинематик не должен проходить если там бокс коллайдер ,посмотри у тя бокс стоит на обеих объектах,на персе и на карте
@minoddein7205
@minoddein7205 4 жыл бұрын
@@dr.respe6t ,у меня на карте бокс,а на персонаже полигон
@minoddein7205
@minoddein7205 4 жыл бұрын
@@dr.respe6t ,это может стать причиной?
@contex1050
@contex1050 3 жыл бұрын
Очень полезное видео! Благодарен за информацию, но как сделать движение только по одной оси (за исключением прыжков И что бы персонаж не проваливался сквозь твердое дело?)
@kekman4364
@kekman4364 2 жыл бұрын
Не появляется параметр "speed", что делать?
@prostovladik6876
@prostovladik6876 Жыл бұрын
тоже самое сейчас,нашел решение ?
@kekman4364
@kekman4364 Жыл бұрын
@@prostovladik6876 нет, к тому же потерял навык переписывания скриптов для юнити
@rernik9109
@rernik9109 8 ай бұрын
Тоже самое, решили что-то?
@design_art_style
@design_art_style 3 жыл бұрын
Всё получилось спасибо а для андроида управление запилите пожалуйста
@c.a.d5412
@c.a.d5412 2 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class move : MonoBehaviour { public float speed; public Rigidbody2D rb; public Joystick joystick; private Vector2 moveVelocity; void Start() { GetComponent(); } void Update() { Vector2 moveInput = new Vector2(joystick.Horizontal, joystick.Vertical); moveVelocity = moveInput.normalized * speed; } void FixedUpdate() { rb.MovePosition(rb.position + moveVelocity * Time.fixedDeltaTime); } } И кстати, что-бы это работало надо из assets store скачать пак joystick. И перекинуть прифаб с джойстиком в скрипт, в инспекторе объекта на котором будет этот скрипт. В поле со скриптом будет строчка joystick и туда надо перекинуть прифаб. Наверное не актуально но если что-то не понятно то пиши.
@c.a.d5412
@c.a.d5412 2 жыл бұрын
грубо говоря я заменил input ("Horizontal/Vertical") на joystick.Vertical/Horizontal
@forestgump2081
@forestgump2081 4 жыл бұрын
Почему перс не ходит? Написал точь в точь, но перс бездействует
@rivanigaming8181
@rivanigaming8181 4 жыл бұрын
Потому что для начала код нужно понимать, а для этого выучи с#
@angelxgodd
@angelxgodd 4 жыл бұрын
@@rivanigaming8181 А нахуй ты сюда заходишь раз ты такой умный
@rivanigaming8181
@rivanigaming8181 4 жыл бұрын
@@angelxgodd c# под консоль учил, поэтому и зашёл
@fortochka5227
@fortochka5227 4 жыл бұрын
У меня не работало потому, что не стояла галочка у персонажа в применении скрипта, там где можно было менять скорость
@AniStoRGom
@AniStoRGom 3 жыл бұрын
хммммм я написал скрипт а он не роботает не чё((( что делать?
@angry956
@angry956 5 жыл бұрын
А как настроить движение персонажа на другие клавиши? Заранее спасибо
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Через Input.GetKeyDown
@kerliaa
@kerliaa 4 жыл бұрын
Или поменять в настройках кнопки, которые установлены по дефолту
@deadwerwolf5167
@deadwerwolf5167 4 жыл бұрын
Можно попробовать этот код: (он для переделки в ускорение и дрифт) using System.Collections; using System.Collections.Generic; using UnityEngine; public class Movie : MonoBehaviour { public float speedObsh; public float speedObshGrd; float speedTank; float speedGrd; public float Trnszdn = 0.4f; //стопорение задней трансмиссии public float Trnsprdn = 0.4f;// ускорение поворота передней трансмиссии Rigidbody2D rd; //физ тело void Start() { rd = GetComponent(); } //Движение (переделать на ускорение) void FixedUpdate() { if (Input.GetKey(KeyCode.W)) { speedTank = speedObsh; // скорость при зажатии W } else if (Input.GetKey(KeyCode.S)) { speedTank = -speedObsh * Trnszdn;//скорость при зажатой клавише S } if (Input.GetKey(KeyCode.S) && (Input.GetKey(KeyCode.D) || (Input.GetKey(KeyCode.A))))//градусный поворот при зажатой клавише S { if (Input.GetKey(KeyCode.A)) { speedGrd = -speedObshGrd * Trnszdn * 2; } else if (Input.GetKey(KeyCode.D)) { speedGrd = speedObshGrd * Trnszdn * 2; } } else if (Input.GetKey(KeyCode.W) && (Input.GetKey(KeyCode.D) || (Input.GetKey(KeyCode.A))))//градусный поворот при зажатой клавише W { if (Input.GetKey(KeyCode.D)) { speedGrd = -speedObshGrd * Trnsprdn; } else if (Input.GetKey(KeyCode.A)) { speedGrd = speedObshGrd * Trnsprdn; } } else //Градусный поворот на месте (А||D) { if (Input.GetKey(KeyCode.D)) { speedGrd = -speedObshGrd; } else if (Input.GetKey(KeyCode.A)) { speedGrd = speedObshGrd; } } transform.Translate(new Vector3(0, speedTank, 0) * Time.deltaTime);//скорость перемещения(от времени) transform.Rotate(new Vector3(0 , 0 , speedGrd) * Time.deltaTime);//Скорость вращения (от времени) speedTank = 0; speedGrd = 0; } }
@никитакаргин-ю2о
@никитакаргин-ю2о 4 жыл бұрын
привет! я занимаюсь созданием 2D Top Dawn для android, а можешь заснять видео как сделать управление джостиком для top Dawn пожалуйста ну мы можем связатся через инс если что !!)) зарание спасибо
@teiffik
@teiffik 4 жыл бұрын
А как сделать такое, только чтобы управлять джойстиком с андроида?
@hybik
@hybik 4 жыл бұрын
сначала создаёшь переменную джойстик. public Joystick joystick; После удали это: Vector2 moveInput = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")); и впиши это вместо: Vector2 moveInput = new Vector2(joystick.Horizontal, joystick.Vertical);
@romaosh_play
@romaosh_play 4 жыл бұрын
@@hybik это сложно. Легче скачать кроссплатформенный SimpleInput к примеру и изменить Input.GetAxis на SimpleInput.GetAxis.
@reddandelion6510
@reddandelion6510 4 жыл бұрын
@@hybik Спасибо, очень сильно помог)
@mr-ganimurat
@mr-ganimurat 4 жыл бұрын
@@hybik привет пж скажи как управлять с кликом он мне очень нужно
@asksoma3450
@asksoma3450 4 жыл бұрын
Простите, есть одна проблема. Я сделал также как было сказано, но персонаж не двигается. Вы немогли бы сказать где ошибка. using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public float speed; private Rigidbody2D rb; private Vector2 moveVelocity; void Start() { rb = GetComponent(); } void Update() { Vector2 moveInput = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")); moveVelocity = moveInput.normalized * speed; } void FixedUpdate() { rb.MovePosition(rb.position * moveVelocity * Time.fixedDeltaTime); } }
@juicefw1051
@juicefw1051 4 жыл бұрын
MonoBehaviour {
@awwhiner
@awwhiner 4 жыл бұрын
rb.MovePosition(rb.position + moveVelocity * Time.fixedDeltaTime);
@ЛіліяВеличко-л3т
@ЛіліяВеличко-л3т 3 жыл бұрын
@@juicefw1051 там нету разницы
@unq1400
@unq1400 4 жыл бұрын
Как сделать чтобы герой не сталкивался с стенами
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Можно перенести их на отдельный слой и в параметрах указать его игнорирование.
@unq1400
@unq1400 4 жыл бұрын
@@graphicaldesign2776 Я решил эту проблему ,но все ровно спасибо
@shadowzain
@shadowzain 5 жыл бұрын
Делаю всё точно так же. Скрипт висит на персонаже, ошибок компиляции нет, но персонаж не двигается ни при каких нажатиях кнопок...
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
может ошибка в именах, или скорость нулевая
@shadowzain
@shadowzain 5 жыл бұрын
@@graphicaldesign2776 скорость менял от 10 до 1000, 0 реакции. Может быть проблемы в настройках Input? Хотя там вроде всё норм. Я даже VS обновил с 2017 до 2019 (+использование в Unity подключил), думал она с кодом как-то неправильно работала. Вот просто игнор любых нажатий со стороны персонажа, WASD и стрелок. Завтра ещё попробую.
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
@@shadowzain или скинь сюда скрипт, гляну
@shadowzain
@shadowzain 5 жыл бұрын
@@graphicaldesign2776 cdn.discordapp.com/attachments/572023170584805419/643519772327149587/unknown.png
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
ZAIN нет переменной FixUpdate) есть переменная FixedUpdate))
@vlpalamar8639
@vlpalamar8639 2 жыл бұрын
а это норма в каждом кадре new вызывать? типа оно же место выделяет
@ДавидКуприянов-т4щ
@ДавидКуприянов-т4щ 3 жыл бұрын
У меня пиксельный перс не движется как так то
@alekseykustov9574
@alekseykustov9574 2 жыл бұрын
Здраствуйте! Огромное спасибо за уроки как раз постигаю все это при помощи их. Может подскажите каким редактором пользуетесь что б была такая же подсветка кода?
@Antogonistick
@Antogonistick 3 жыл бұрын
Не подскажите,почему при движении персонажа может образовываться шлейф за ним?
@michael5792
@michael5792 4 жыл бұрын
Спасибо большое. Не понимаю почему это видео такое малопопулярное.
@plague_karich
@plague_karich 3 жыл бұрын
пожалуйста, сделай видео про джойстик для этого перса, да у тебя уже есть видео про джойстик, но там не то
@mrfire735_1
@mrfire735_1 Жыл бұрын
Спасибо большое!
@slowrunner131
@slowrunner131 4 жыл бұрын
Ребят, а можно файл скрипта для ленивых???
@mikhailsivtsov
@mikhailsivtsov 4 жыл бұрын
Нельзя, нужно учиться все писать самому, так научишься быстрей
@reddandelion6510
@reddandelion6510 4 жыл бұрын
Здраствуйте, у меня есть вопрос: как заставить перса смотреть туда, куда он идет? Нужно для создания TopDown 2D Shooter для мобилок. Буду благодарен если ответете!
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Можно в зависимости от нажатой кнопки, зеркалить или поворачивать через rotate саму картинку.
@JavaSqr
@JavaSqr 3 жыл бұрын
Там есть функция Flip
@thevit1672
@thevit1672 5 жыл бұрын
Когда я пишу например Rigidbody2D У меня в подсказках ничего невыходит
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
мне бы чуть больше информации. В каких подсказках и что должно выходить?
@thevit1672
@thevit1672 5 жыл бұрын
Ну когда вы начинали писать например rb GetComponent у вас высвечивалась та табличка снизу. И в том случае у меня с риджидбади2д ничего не высыечивалось . И вот эти слова Rigidbody2D у вас горели зеленым а у меня белым
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Так, ну либо в основе скрипта есть ошибка, либо проблема в самой студии. У меня так показывается по стандарту, я ничего не менял
@thevit1672
@thevit1672 5 жыл бұрын
@@graphicaldesign2776 А у вас версия студии 2019?
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
2017
@Shergon_41k
@Shergon_41k 2 жыл бұрын
Если скрипт не будет работать и стоит ошибка что то про normlizied, то просто удалите это (я про normalizied). Мне помогло
@FloatStudioGames
@FloatStudioGames 2 жыл бұрын
Как сделвть так чтобы игрок не проходил сквозь объекты
@Griel88
@Griel88 4 жыл бұрын
Кто может подсказать, уже все ролики просмотрел и гугл сломал. Делаю всё точь в точь как у всех на видео в том числе и на этом, но в VS просто не появляются переменные RegidBody, SerializeField и прочие. В чём может быть причина?
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Скрипт не подвязан к Unity. Необходимо загрузить проект. Работать все будет нормально, разве что не будет подсказок на библиотеки.
@Апчхий-и6э
@Апчхий-и6э 4 жыл бұрын
Та же беда, VS с Unity связан, выяснил что не так?
@Апчхий-и6э
@Апчхий-и6э 4 жыл бұрын
Короче это связано с NET.Framework, наверно VSCode не поддерживает самую новую его версию. Мой запрашивал версию NET Framework 4.7.1 Developer Pack: дам ссылку на всякий dotnet.microsoft.com/download/dotnet-framework/net471
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
В самой студии надо сделать Include project
@blindsidar6546
@blindsidar6546 4 жыл бұрын
я все написал точь в точь, и чертов перс не двигается, такая проблема и в 3d. И слово RigidBody 3d у меня не выделяется, в чем проблема - не знаю. Что я делаю не так то. Я новичок и пользуюсь Virtual Studio 2019, норм не
@tigershark73
@tigershark73 3 жыл бұрын
Кхэм... А ничего что складываете разные типы данных? Такой код не скомпилируется...
@4yp4i
@4yp4i 2 жыл бұрын
сделал все также как у тебя, но юнити выдаёт ошибку
@plague_karich
@plague_karich 3 жыл бұрын
Сделай пж как пр крутить к такому персонажу джойстик
@mr.cheeze3106
@mr.cheeze3106 3 жыл бұрын
Помогите пожалуйста, когда я закидываю скрипт на игрока пишет: Can't be add script component 'PlayerControler' because the script class cannot be found. Что делать?
@ginso0
@ginso0 3 жыл бұрын
У меня было то же самое. Тогда я скопировал написанный скрипт, удалил его, и создал новый скрипт уже через инспектор игрока, и вставил в этот новый скрипт написанный код.
@clickclack3375
@clickclack3375 2 жыл бұрын
Скорее всего ты поменял название класса внутри скрипта и юнька не может найти такой скрипт
@x0m4ek
@x0m4ek 4 жыл бұрын
Бро, лучший помог
@Geva265
@Geva265 4 жыл бұрын
а как сделать, чтобы он не переворачивался при столкновении с объектами? А так, урок классный, все получилось, спасибо)))
@ZmastaZz
@ZmastaZz 4 жыл бұрын
Ребята подскажите пожалуйста как сделать чтобы Kinematic не мог проходить сквозь другие объекты(полигон колайдеры сцены)?
@vladuxa_yout9404
@vladuxa_yout9404 5 жыл бұрын
Помогите как сделать стены(тип чтоб этот персонаж не мог пройти через них)
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
достаточно добавить элементу Box Collider, и персонаж прекратит проходить через этот элемент
@vladuxa_yout9404
@vladuxa_yout9404 5 жыл бұрын
@@graphicaldesign2776 я пробовал но персонаж по обычному проходит сквозь стену
@vladuxa_yout9404
@vladuxa_yout9404 5 жыл бұрын
Бокс коллайдер на персонаже и стене
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
хм проверьте галочку is trigger, ее не должно быть
@vladuxa_yout9404
@vladuxa_yout9404 5 жыл бұрын
@@graphicaldesign2776 а что она дает?
@ТапокСергеич
@ТапокСергеич 3 жыл бұрын
Assets\Scripts\PlayerController.cs(20,33): error CS7036: There is no argument given that corresponds to the required formal parameter 'y' of 'Vector2.Vector2(float, float)' ПОМОГИ ПЛИИЗ
@clickclack3375
@clickclack3375 2 жыл бұрын
Скорее всего ты уже ее решил, но напишу все равно. Вообщем для вектора2, там где нужно записать значение для параметра y, значение отсутствует, ты скорее всего забыл прописать туда значение
@AlexNompe
@AlexNompe 4 жыл бұрын
@Graphical Design у меня не работает эта строчка rb2D.MovePosition (rb2D.position + moveVelosity * Time.fixedDeltaTime); пишет NullReferenceException: Object reference not set to an instance of an object PlayerController.FixedUpdate ()
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Кто называет папки на русском?...
@AlexNompe
@AlexNompe 4 жыл бұрын
если что 2b2D я специально поменял ошибка не в этом
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
@@AlexNompe при чем тут это. Что за директория "Скрипты"?
@AlexNompe
@AlexNompe 4 жыл бұрын
@@graphicaldesign2776 это неважно по ошибке скопировал сюда просто скажи в чём ошибка
@AlexNompe
@AlexNompe 4 жыл бұрын
версия unity 5
@golub_zxc5224
@golub_zxc5224 2 жыл бұрын
РЕБЯТ ОЧЕНЬ МАЛО ВРЕМЕНИ ПЖ ДАЙТЕ ЭТОТ СКРИПТ=( А ТО ВРЕМЕНИ НЕТ
@_.nexus._
@_.nexus._ 4 жыл бұрын
Не увидел плавности под конец)
@-_--_-7333
@-_--_-7333 4 жыл бұрын
Ребят помогите делаю все как в видео но ошибка в Unity: all compiler errors have to be fixed before you can enter play mode.. Мой скрипт: using UnityEngine; using System.Collections; using System.Collections.Generic; public class Move : MonoBehaviour { public float speed; public Rigidbody2D rb; private Vector2 moveVelocity; void Start() { rb = GetComponent(); } void Update() { Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); moveVelocity = moveInput.normalized * speed; } void FixedUpdate() { rb.MovePosition(rb.position + moveVelocity * Time.fixedDeltaTime); } }
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Значит проблема не в этом скрипте.
@fckrg415
@fckrg415 4 жыл бұрын
@@graphicaldesign2776 да это скрипт правильно написан
@АртемийСарапулов-ю3ф
@АртемийСарапулов-ю3ф 5 жыл бұрын
Не работает! Делал все символ в символ, и не чего не хочет запускаться!
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Грустно
@MusMoment
@MusMoment 4 жыл бұрын
Может ты не создал компонент скрипта на персонаже? Нужно по моему просто скрипт перетащить в объект перса на сцене и в нем появится компонент script
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
@Assassin какая?)
@zambrsanimations
@zambrsanimations 4 жыл бұрын
@Assassin поставь персонажу "Order in Layer" на 1 больше чем у фона
@vladimirleontiev8867
@vladimirleontiev8867 4 жыл бұрын
А как он узнает какую кнопку мне нужно нажать что бы выполнить передвижение ? Если я к примеру захочу на сенсор перенести управление.
@vladimirleontiev8867
@vladimirleontiev8867 4 жыл бұрын
@ я уже переписал по другому совсем , намного круче скрипт
@asilbekyoldoshbekov5533
@asilbekyoldoshbekov5533 4 жыл бұрын
что делать? помоги плиз. NullReferenceException: Object reference not set to an instance of an object Player.FixedUpdate () (at Assets/Player.cs:22)
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Как помочь то?
@asilbekyoldoshbekov5533
@asilbekyoldoshbekov5533 4 жыл бұрын
@@graphicaldesign2776 NullReferenceException: Object reference not set to an instance of an object Player.FixedUpdate () (at Assets/Player.cs:22) такая ошыбка. Загуглил, ответа нету. Думаю что ты знаеш это!
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
@@asilbekyoldoshbekov5533 ошибка дает краааайне мало информации.
@asilbekyoldoshbekov5533
@asilbekyoldoshbekov5533 4 жыл бұрын
@@graphicaldesign2776 нашел ответ!! спасибо
@Pene4k
@Pene4k 4 жыл бұрын
@@asilbekyoldoshbekov5533 чел пж ответь как , у меня такая же ошибка
@macintoshtermo599
@macintoshtermo599 4 жыл бұрын
Я хотел создать игру похожую на игру "gesundheit".Тоже с видом сверху, но не знал, как сделать, чтоб он не падал вниз. (я только начинающий) спасибо за урок😅
@Semga
@Semga 4 жыл бұрын
Боже! Просто гравитацию отключить! Кстати игру я не нашёл. Может ты неправильно написал название?
@deninanayev8165
@deninanayev8165 3 жыл бұрын
можеш показать как добавить персонажа в unity2d
@ЯнЛазарев-м8у
@ЯнЛазарев-м8у 3 жыл бұрын
Здравствуйте, у меня не получается передвигать персонажа как у вас. Версия Unity 5.5.6f1 (64-bit). Вроде код был переписан точно но, всё равно не получается. Вот код: using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehaviour { public float speed; private Rigidbody2D rb; private Vector2 moveVelocity; // Use this for initialization void Start () { rb = GetComponent(); } // Update is called once per frame void Update () { Vector2 moveInput = new Vector2 (Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); moveVelocity = moveInput.normalized * speed; } void FixedUpdate () { rb.MovePosition (rb.position + moveVelocity * Time.fixedDeltaTime); } } Буду благодарен если ответят (необязательно автор).
@DankeMart
@DankeMart 2 жыл бұрын
Скорее всего в Unity ты назвал скрипт PlayerController, но не переименовал класс в самом скрипте, то есть строка "public class NewBehaviourScript : MonoBehaviour" должна выглядеть так: public class PlayerController : MonoBehaviour
@WNDLESS
@WNDLESS 5 жыл бұрын
Чел, хэлп. Мой персонаж не двигается а просто падает а так спасибо, четко все объяснил
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Возможно в Box Collider надо сменить dinamic на kinematic
@WNDLESS
@WNDLESS 5 жыл бұрын
@@graphicaldesign2776 ок. Ща
@vladuxa_yout9404
@vladuxa_yout9404 5 жыл бұрын
@@WNDLESS ну как работает*
@AlexeySinyushkin
@AlexeySinyushkin 4 жыл бұрын
Что делать, если он стоит на месте? То есть вообще не двигается при нажатии на клавиши. Я добавил 2й объект без скриптов, всё остаётся статичным
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
видимо, что-то не доделал
@AlexeySinyushkin
@AlexeySinyushkin 4 жыл бұрын
@@graphicaldesign2776 а кнопки движения вправо влево вверх и вниз назначаются автоматически?
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
@@AlexeySinyushkin нет, все надо прописать в скрипте, как на видео
@realy686
@realy686 5 жыл бұрын
Здравствуйте были вы связаны с игрой red ball 4 не магу понять как прописать врага квадрат при движение вправа что бы он крутился по часовой стрелки а при движение влево крутился против часовой стрелки у меня он крутится в одну сторону не зависимо в кокую сторону он двигается влево или вправо
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Надо переворачивать персонажа, через скрипт, либо задав условие для поворота, либо физически поворачивать через Rotate
@микроволновка-м3ж
@микроволновка-м3ж 4 жыл бұрын
Крутой урок ,нооо, что делать если когда перетягиваешь скрипт на плеера вылезает(Can't add script)
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Надо исправить все ошибки.
@микроволновка-м3ж
@микроволновка-м3ж 4 жыл бұрын
Спасибо
@микроволновка-м3ж
@микроволновка-м3ж 4 жыл бұрын
Исправил
@rycun5147
@rycun5147 3 жыл бұрын
Подскажите как сделать анимацию для такой игры
@Imudonnn
@Imudonnn 2 жыл бұрын
Что делать если персонаж двигается, но постепенно падает?
@aksolove0
@aksolove0 2 жыл бұрын
Может под ним нет материала?
@void-zl4pp
@void-zl4pp 5 жыл бұрын
Можете весь скрипт скинуть?
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Неа
@ghjcnjxtkjdtr887
@ghjcnjxtkjdtr887 4 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { public float speed; private Rigidbody2D rb; private Vector2 moveVelocity; void Start() { rb = GetComponent(); } void Update() { Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); moveVelocity = moveInput.normalized * speed; } void FixedUpdate() { rb.MovePosition(rb.position + moveVelocity * Time.fixedDeltaTime); } }
@zippich7495
@zippich7495 4 жыл бұрын
скажите пожалуйста как сделать такое же но с джойстиком
@fincoric1093
@fincoric1093 3 жыл бұрын
Эй бро а можно так же зделать только в 3д? Спасибо за ответ!
@cheburek8081
@cheburek8081 4 жыл бұрын
А что делать если скрипт не видит компонент? То есть когда пишу строку private Rigidbody2D rb; компонент не высвечивается другим цветом. Кто-нибудь знает что с этим делать?
@MorPoYT_IloveYou
@MorPoYT_IloveYou 4 жыл бұрын
он не видит его потому что его нужно добавлять на персонажа, и уже после кидать код на персонажа
@ЮНЕСКЙО
@ЮНЕСКЙО 4 жыл бұрын
А если например мы хотим вставить анимацию передвижения своего персонажа?
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Вставляйте смело)
@aristokrat8404
@aristokrat8404 3 жыл бұрын
привет,можете подсказать, я добавил компонент ригидбади2д для перса,но в скрипте его не находит, просто обычный серый текст ,когда я ввожу
@fazuler
@fazuler 3 жыл бұрын
Надо настроить Unity под Visual Studio или через что вы пишите код
@pixl7445
@pixl7445 3 жыл бұрын
Ничиво не получилось игрок не двигаться помоги
@thevit1672
@thevit1672 5 жыл бұрын
Кстати вы удаляли то что было после public class PLC : MonoBehaviour ? Или нужно было это все писать после void Update
@thevit1672
@thevit1672 5 жыл бұрын
Только заместо PLC moveing
@Motiv404lls
@Motiv404lls 4 жыл бұрын
как сделать чтобы самолётик наклонялся в 2д
@haymiritch5939
@haymiritch5939 5 жыл бұрын
Пожалуйста помоги когда я запускаю игру у меня ошибка NullReferenceException: Object reverse not set to an instance of an object Что делать?
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Он не может найти какой-то элемент, нужно перепроверить скрипт на наличие ошибок
@haymiritch5939
@haymiritch5939 5 жыл бұрын
@Graphical Design я проверял все на наличие ошибок никаких ошибок не нашел. Может легче скинуть готовый скрипт?
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Скидывай
@haymiritch5939
@haymiritch5939 5 жыл бұрын
@Graphical Design держи using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public float speed; private Rigidbody2D rb; private Vector2 moveVelocity; void start() { rb = GetComponent(); } void Update() { Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); moveVelocity = moveInput.normalized * speed; } void FixedUpdate() { rb.MovePosition(rb.position + moveVelocity * Time.fixedDeltaTime); } }
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
почему в void start, сам Start с маленькой буквы?
@bbsinkerri8976
@bbsinkerri8976 4 жыл бұрын
У меня не работает, ошибка компилятора, хнык, но всё равно подпишусь
@Low-YT
@Low-YT 4 жыл бұрын
Тоже
@GGradik
@GGradik 4 жыл бұрын
А на телефонах будет работать......
@НатальяБаталова-у6г
@НатальяБаталова-у6г 5 жыл бұрын
плиз дайте код
@LennyGMD
@LennyGMD 3 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Название Скрипта : MonoBehaviour { public float speed; private Rigidbody2D rb; private Vector2 moveVelocity; void Start() { rb = GetComponent(); } void Update() { Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); moveVelocity = moveInput.normalized * speed; } void FixedUpdate() { rb.MovePosition(rb.position + moveVelocity * Time.fixedDeltaTime); } }
@danyan_musicyt7431
@danyan_musicyt7431 5 жыл бұрын
Помоги пожалуйста, когда я отпускаю стрелку движения, персонаж ещё некоторое время продолжает двигаться. Я так понимаю, что это физика движения... Как это отключить? Нужно, чтобы персонаж сразу останавливался. Заранее спасибо)
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
можно попробовать в RigidBody повысить Mass
@potolok777
@potolok777 5 жыл бұрын
хммм... То есть если я не умножу на Time.fixedDeltaTime, то действие не будет повторятся? Time.fixedDeltaTime это время между вызовами функции FixedUpdate. Немного неправильное у вас объяснение. Компьютер и так поймет))
@никитакаргин-ю2о
@никитакаргин-ю2о 4 жыл бұрын
а можешь тоже самое но только для андроид под телефоны
@etek4551
@etek4551 4 жыл бұрын
Приветствую можешь подсказать у меня вылазиет Error CS0029: Cannont implicitly convert type 'UnityEngine.Rigidbody2D[]' to 'UnityEngine.Rigidbody2D' Я сделал в точности как у тебя на видео. Я новичёк и не понимаю вчём проблема помоги пожалуйста. Заранее спасибо.
@c.a.d5412
@c.a.d5412 2 жыл бұрын
ЕСЛИ ЭТО ЕЩЁ АКТУАЛЬНО ТО кинь свой код сюда я посмотрю и отвечу. Даже если он такой же мне будет легче уже точно проверить что нет никаких мелких ошибок.
@Laungy
@Laungy 3 жыл бұрын
Можешь сделать "переход анимаций" в играх 2дтопдовн
@flytkins
@flytkins 3 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public float speed; private Rigidbody2D rb; private Vector2 moveVelocity; void Start() { rb = GetComponent(); } void Update() { Vector2 MoveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); moveVelocity = MoveInput.normalized * speed; } void FixedUpdate() { rb.MovePosition(rb.position + moveVelocity * Time.fixedDeltaTime); } }
@ninjatv7779
@ninjatv7779 3 жыл бұрын
спасибо хехехех
@TheNinji_Minecraft
@TheNinji_Minecraft 2 жыл бұрын
Спасибо
Спрайт маска / Sprite mask  -  Unity
2:36
Graphical Design
Рет қаралды 17 М.
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН
Как подобрать/бросить предмет в Unity 2d
17:57
РУКОПАШНЫЙ БОЙ в Юнити | by Brackeys
19:10
maxvell-game developer
Рет қаралды 42 М.