Стрельба\отслеживание\дистанция противника в UNITY и C#

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

Graphical Design

Graphical Design

Күн бұрын

Пікірлер
@nocturnalsorrow-
@nocturnalsorrow- 5 жыл бұрын
Вот вроде бы никто не смотрит, но ты даёшь полезную инфу, респект тебе
@NCHedge
@NCHedge 5 жыл бұрын
Ля, не говори, причём я как раз именно такую игру и хочу сделать. Совпадение?
@nocturnalsorrow-
@nocturnalsorrow- 5 жыл бұрын
@@NCHedge просто говорю, что человек старается не имея большого спроса и это похвально
@sembarinbom620
@sembarinbom620 4 жыл бұрын
Согласен с вами. Человек хороший. Даёт хорошую и полезную информацию. Да ещё и лёгкой в усваении. Вот прям огромное ему за это спасибо.
@НазарРадчук-м5щ
@НазарРадчук-м5щ 3 жыл бұрын
Ты единственный кто делает хорошие туториали и я рад этому спасибо тебе большое
@Arkwright-jr9hx
@Arkwright-jr9hx Жыл бұрын
Бесконечная вам благодарочка за такой видеоролик. Прям помог
@kroshka_vseznayka_tv
@kroshka_vseznayka_tv 7 ай бұрын
Отличный урок! Спасибо большое ❤
@Замшелыйбулыжник-д8с
@Замшелыйбулыжник-д8с Жыл бұрын
Лучший
@user-bc5qt9jy5b
@user-bc5qt9jy5b 3 жыл бұрын
Реализация интересная, но я бы убрал проверку на равенство float, достаточно проверки столкновения коллайдера снаряда с коллайдером игрока. Туда же можно добавить и анимированный спрайт или частицы, имитирующие взрыв снаряда, а также расчет урона. У меня в апдаун 2д игре коллайдер игрока сделан только для физики(горизонтальная капсула в районе ног, а на объекте игрока висят еще несколько дочерних gameobject, с разными 2d коллайдерами, которые отвечают за зону урона(капсула) и (только у ботов) дальность взгляда(сфера), а стреляет игрок райкастом(у каждого оружия своя дальность (длина луча)). О, и спасибо за идею, добавлю самонаводящиеся ракеты на вооружение игроку, что-то я про них и не подумал 👍
@monsterclash6790
@monsterclash6790 5 жыл бұрын
огромное спасибо
@realmukaUnity
@realmukaUnity 10 ай бұрын
Всё будет хорошо работать до того момента, пока в игре не появятся препятствия. Почему я не вижу коментариев об этом недочёте? Неужели то, что показано в видео никто не применил на практике. Если вы хотите сделать ии противника лучше, то изучите navigation 2D
@noname-pm6rl
@noname-pm6rl 5 ай бұрын
Подскажи какой-нибудь материал по этой теме
@VladSClad
@VladSClad 22 күн бұрын
@@noname-pm6rl он же написал изучить navigation 2D
@illyagrush5884
@illyagrush5884 4 жыл бұрын
У многих юнити ютуберов 50 - 100к подписчиков, и они в Update обращаются к transform, а у тебя < 20к при этом код качественный, красивый, и полезный.
@developerholygames4617
@developerholygames4617 4 жыл бұрын
Канал TOП!!!!!!!
@user-bc5qt9jy5b
@user-bc5qt9jy5b 3 жыл бұрын
У кого 100500 просмотров, те тупо накручивают через фриланс-сервисы, ну и друзья-друзья друзей помогают. Тоже давно заметил, что у хороших каналов мало подписчиков, зато они настоящие ✌
@sunmaxplay6491
@sunmaxplay6491 2 жыл бұрын
Я бы не согласился с тем что код качественный)
@fantom9419
@fantom9419 4 жыл бұрын
За видео-лайк. С меня подписка
@rycun5147
@rycun5147 2 жыл бұрын
Спасибо, классный ролик. Но вопрос, как сделать что бы снаряд ещё и смотрел в сторону игрока?
@КириллОвчинников-щ2р
@КириллОвчинников-щ2р 5 жыл бұрын
Половину курсовой сделал по твоим видео, просто лучший, огромное спасибо! А как сделать так, чтобы этот скрипт срабатывал тогда, когда противник тебя замечает? Может быть есть видео о механике того, что противник тебя замечал?
@meha-engineer
@meha-engineer 4 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class enemy1 : MonoBehaviour { public float speed; public float stoppingdistance; public float retreatDistance; public Transform player; void Start () { player = GameObject.FindGameObjectWithTag("Player").transform; } // Update is called once per frame void Update () { float direction = player.transform.position.x - transform.position.x; if (Mathf.Abs(direction) < 20){ if(Vector2.Distance(transform.position, player.position) > stoppingdistance){ transform.position = Vector2.MoveTowards(transform.position, player.position, speed * Time.deltaTime); }else if(Vector2.Distance(transform.position, player.position) < stoppingdistance && (Vector2.Distance(transform.position, player.position) > retreatDistance)){ transform.position = this.transform.position; }else if(Vector2.Distance(transform.position, player.position) < retreatDistance){ transform.position = Vector2.MoveTowards(transform.position, player.position, -speed * Time.deltaTime); } } } } //вот держи
@leshalozhkin
@leshalozhkin 2 жыл бұрын
@@meha-engineer спасибо!
@fantom9419
@fantom9419 4 жыл бұрын
Блин чувак большое спасибо
@light7956
@light7956 3 жыл бұрын
А что за игра на 0:20
@Geva265
@Geva265 3 жыл бұрын
А как сделать расстояние на которое может видеть враг?
@liberte_off
@liberte_off 11 ай бұрын
очень хороший видеоролик, но есть один вопрос. При стельбе от бота летят пули на место игрока, а когда игрок убежал, они продолжают стоять на его позиции при выстреле. Хотелось бы сделать, чтобы пули продолжали лететь по своему направлению, когда не попали в игрока. Как я могу это сделать?
@v1ad_edson
@v1ad_edson 5 жыл бұрын
Большое спасибо!
@ЦывильныГурман
@ЦывильныГурман Жыл бұрын
здравствуйте, столкнулся с проблемой, клоны создаються но из не видно, что делать? заранее спасибо
@avduhinplay9286
@avduhinplay9286 4 жыл бұрын
Помогите пж, что делать если я повышаю скорость противника и его колбасит?
@Baga523
@Baga523 3 жыл бұрын
Помоги пожалуйста, когда моя пуля касается игрока она исчезает, но назад не возвращяется и пишет The object of type 'GameObject' has been destroyed but you are still trying to access it. помоги пожалуста!!!
@АлексейКопылов-л8е
@АлексейКопылов-л8е 4 жыл бұрын
error CS0029: Cannot implicitly convert type `UnityEngine.Transform[]' to `UnityEngine.Vector2' Помогите решить данную проблему . Ругается на этот кусок кода target = GameObject.FindWithTag ("Player").GetComponents ();
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Так а что это за кусок? Я даже не знаю к чему он написан.
@dronsan-unity7302
@dronsan-unity7302 3 жыл бұрын
.position добавь к этой ошибочной строке
@Комментатор-ф5ч
@Комментатор-ф5ч 3 жыл бұрын
Андрей скопируй плиз свой скрипт у меня такая же ошибка
@dronsan-unity7302
@dronsan-unity7302 3 жыл бұрын
@@Комментатор-ф5ч я не писал этот код, я просто посмотрел видео, но могу предположить: target = GameObject.FindWithTag ("Player").GetComponents ().position; но по видосу совсем не это написано, Копылов всё перепутал)
@Назар-ъ2щ
@Назар-ъ2щ 5 жыл бұрын
привет, хорошие вещи делаешь, подскажи пожалуйста решение проблемы, я по твоему уроку сделал выстрелы от персонажа к врагу и после того как патрон попадает во врага он умирает, но есть проблема, когда я еще раз нажимаю на кнопку выстрелить(пулька вылетает но она остаеться на месте и ничего не происходит, это выглядит ужасно) смысл в том что бы после уничтожения врага пульки больше не вылетали пока на сцене не появиться новый враг.
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Надо задать условие и отдельные метод на стрельбу. И по сути, надо задать чтоб метод срабатывал только в том случае, если есть хотя бы один объект с тэгом "Enemy", например.
@Назар-ъ2щ
@Назар-ъ2щ 5 жыл бұрын
@@graphicaldesign2776 спасибо большое, но сама проблема в том что я не знаю как задать что бы проверяло есть ли обьект Енеми на сцене, в этом вся проблема)
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Тогда только читать, читать и читать документацию) docs.unity3d.com/ScriptReference/GameObject.Find.html
@Назар-ъ2щ
@Назар-ъ2щ 5 жыл бұрын
@@graphicaldesign2776 спасибо еще раз)
@Назар-ъ2щ
@Назар-ъ2щ 5 жыл бұрын
@@lordtwilight1224 скинь свой вк
@nikitagorin3634
@nikitagorin3634 5 жыл бұрын
Какой способ с отсчетом времени лучше: тот, что в видео, Coroutines или вообще использование таймеров? Какой рекомендуете использовать и почему?
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Таймеры можно делать и через обычные переменные в Update, которые будут уменьшаться, к примеру, каждый кадр. Но как по мне, это лучше переделывать под Coroutines, потому что это является их назначением) И в некоторых компаниях таймер при помощи переменных, может расцениваться как "костыль", потому что это не совсем корректно.
@dmitryshram2682
@dmitryshram2682 4 жыл бұрын
топчик. Я из 2020
@NCHedge
@NCHedge 5 жыл бұрын
А можешь сделать видео урок что бы сам персонаж поворачивался за мышкой TDS если что
@КириллОвчинников-щ2р
@КириллОвчинников-щ2р 5 жыл бұрын
Вставляешь этот код в Update \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Vector3 difference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position; float rotateZ = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg; transform.rotation = Quaternion.Euler(0f, 0f, rotateZ + offset); Скорее всего тебе уже не надо но мало ли)
@illyagrush5884
@illyagrush5884 4 жыл бұрын
@@КириллОвчинников-щ2р Я скопировал)
@cerf14506
@cerf14506 4 жыл бұрын
Прошу прощения если глупый вопрос, но как сделать так, чтобы игрок получал урон при попадании пули
@dronsan-unity7302
@dronsan-unity7302 3 жыл бұрын
в игроке сделай метод получения урона. и там же в игроке может условие запилить, если его коснулись, то этот метод активируй. или в самой пуле, перед уничтожением тоже обратись к этому методу
@miner-7423
@miner-7423 4 жыл бұрын
Ребята подскажите как сделать так что бы пуля удалялась при поподании в предмет
@dronsan-unity7302
@dronsan-unity7302 3 жыл бұрын
при условии достижения добавь дестрой
@Димас-е4п
@Димас-е4п 4 жыл бұрын
Добрый день. А как сделать так, что бы снаряды продолжали лететь после того как достигнут положения персонажа (использую target, а не player.position)
@overlord4565
@overlord4565 3 жыл бұрын
private Vector2 directionToShot; private float speed = 3f; private void Start() { directionToShot = (player.position - transform.position) / (player.position - transform.position).magnitude; BulletRigidbody = GetComponent(); } void Update() { BulletRigidbody.AddForce(directionToShot * speed, ForceMode2D.Impulse); }
@bloodshadow9389
@bloodshadow9389 4 жыл бұрын
У меня персонаж умирает и вылетает ошибка, как можно исправить? как понял "ИИ" не может найти Player missingreferenceexception: the object of type transform has been destroyed и т.д
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Скорее всего, уничтожив персонажа, удаляется и скрипт на этом персонаже, соответственно останавливаются какие-то процессы. Надо просто немного переработать этот скрипт.
@dronsan-unity7302
@dronsan-unity7302 3 жыл бұрын
все действия, которые ссылаются на игрока, проверяй условием player!=null
@karpa2895
@karpa2895 5 жыл бұрын
Определёно лайк! А как можно сделать, чтоб он стрелял на определённой дистанции?
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Проверять приближение противника
@veymatcompany6959
@veymatcompany6959 2 жыл бұрын
Всем привет, вопрос такой - вот скрипт пули, рэй каст работает, но пуля не летит к персонажу. враг только спаунит пулю она на сцене появляется но не двигается. после лай тайм ее убирает. в чем может быть ошибка? public class Bullet : MonoBehaviour { [SerializeField] private float _speed; [SerializeField] private float _lifeTime; [SerializeField] private float _distance; [SerializeField] private int _damage; [SerializeField] private LayerMask _solid; [HideInInspector] public Vector2 Direction; public GameObject destroyEffect; private void Start() { Destroy(gameObject, _lifeTime); } private void Update() { RaycastHit2D hit = Physics2D.Raycast(transform.position, Direction, _distance, _solid); if(hit.collider != null) { if(hit.collider.CompareTag("Player")) { hit.collider.GetComponent().TakeDamage(_damage); } Instantiate(destroyEffect, transform.position, Quaternion.identity); Destroy(gameObject); } transform.Translate(Direction * _speed * Time.deltaTime); } }
@skarabeydm
@skarabeydm 5 жыл бұрын
А есть разница между способом уничтожения из видео и этим: if (условие) { Destroy(gameObject); } ?
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
этот способ правильнее, если объект надо уничтожить не при пересечении, а например через определенное время
@skarabeydm
@skarabeydm 5 жыл бұрын
@@graphicaldesign2776 "когда-нибудь понадобится", понял, спасибо!)
@dronsan-unity7302
@dronsan-unity7302 3 жыл бұрын
@@graphicaldesign2776 и так же в метод удобно музон вставить, чтобы по сто раз не писать строку с музыкой) ну и прочие эффекты
@eliandok
@eliandok 4 жыл бұрын
Доброго времени суток у меня возникла проблема код написал проверил перепроверил наложил на врага указал все параметры но увы он не как не реагирует на плеера и тег проверял вообще ни в какую
@eliandok
@eliandok 4 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Enemy : MonoBehaviour { public float speed; public float stoppingdistance; public float retreatDistance; private float timeBtwShots; public float startTimeBtwShots; public GameObject projectile; public Transform player; public float StartTimeBtwShots { get => startTimeBtwShots; set => startTimeBtwShots = value; } void Start () { player = GameObject.FindGameObjectWithTag("Player").transform; timeBtwShots = startTimeBtwShots; } void Updata () { if (Vector2.Distance(transform.position, player.position) > stoppingdistance) { transform.position = Vector2.MoveTowards(transform.position, player.position, speed * Time.deltaTime); } else if (Vector2.Distance(transform.position, player.position) < stoppingdistance && (Vector2.Distance(transform.position, player.position) > retreatDistance)) { transform.position = this.transform.position; } else if (Vector2.Distance(transform.position, player.position) < retreatDistance) { transform.position = Vector2.MoveTowards(transform.position, player.position, -speed * Time.deltaTime); } if (timeBtwShots
@HALKOMEN
@HALKOMEN 3 жыл бұрын
@@eliandok void Updata написал внесто void Update
@veymatcompany6959
@veymatcompany6959 2 жыл бұрын
Всем привет. Как сделать что бы пули не следовали за главным персонажем. а просто были выпущены в направлении его ?
@jly4uctbly802
@jly4uctbly802 2 жыл бұрын
Вопрос ещё актуален?
@jly4uctbly802
@jly4uctbly802 2 жыл бұрын
12:16 пересмотри пожалуйста этот момент внимательно, тут ответ на твой вопрос
@veymatcompany6959
@veymatcompany6959 2 жыл бұрын
@@jly4uctbly802 я прописал target вместо player.position. и все заработало. Я просто с деревни, до меня долго доходит
@jly4uctbly802
@jly4uctbly802 2 жыл бұрын
@@veymatcompany6959 хорошо что всё работает, не нужно так себя критковать, будто все родились с опытом программирования, все с чего-то да начинают. Кому-то что-то даётся легко а что-то трудно, так было и будет со всеми.
@veymatcompany6959
@veymatcompany6959 2 жыл бұрын
@@jly4uctbly802 благодарю Вас за поддержку)
@UFedor-hf3ys
@UFedor-hf3ys 5 жыл бұрын
Что делать если не создаёт при изменение "startTimeBtwShots"
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Проблема скорее всего в переменной, проверьте правильность написания
@oi6664
@oi6664 5 жыл бұрын
что за музон 2 начале ?
@hleviks4802
@hleviks4802 4 жыл бұрын
есть какой-то способ сделать чтобы пуля продолжала двигаться после того как достигнет позиции
@graphicaldesign2776
@graphicaldesign2776 4 жыл бұрын
Теоретически, да. Не уничтожать ее.
@Димас-е4п
@Димас-е4п 4 жыл бұрын
@@graphicaldesign2776 если не уничтожать её то снаряд просто останавливается (в случае промаха мимо игрока) на месте последнего положения игрока.
@dronsan-unity7302
@dronsan-unity7302 3 жыл бұрын
@@Димас-е4п задай направление пуле и просто движение вперед
@alexzipos4018
@alexzipos4018 3 жыл бұрын
@@dronsan-unity7302 через Translate?
@dronsan-unity7302
@dronsan-unity7302 3 жыл бұрын
@@alexzipos4018 можно, так же можно и через rigidbody
@danilast0st0nvta38
@danilast0st0nvta38 5 жыл бұрын
А как сделать, чтобы пуля удаляется со временем или пролетев некоторое расстояние?
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Добавить свойство Destroy
@hardcode7850
@hardcode7850 5 жыл бұрын
сделай так чтобы игрок сам стрелял пж
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Сам через определенный промежуток времени? Или при клике, чтоб мы могли управлять стрельбой?
@antoniobohachuk573
@antoniobohachuk573 5 жыл бұрын
@@graphicaldesign2776, да, при клике. Можете, пожалуйста, объяснить как сделать так, чтобы когда мой персонаж стрелял пуля летела четко прямо и при развороте он бы уже стрелял с минусовой скоростью, то есть назад. Заранее Спасибо)
@douclyy
@douclyy 5 жыл бұрын
@@graphicaldesign2776 Можно попросить сделать тебя отдельное видео на тему стрельбы из лука в 2д игре с элементами физики? Очень хочется научиться, но ничего годного и понятного в интернете найти не могу :(
@Imudonnn
@Imudonnn 2 жыл бұрын
у меня снаряды не летят на перса, а просто спавнятся на его последнем месте. Что делать? Вод код: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Projectile : MonoBehaviour { public float speed; public Transform player; private Vector2 target; // Start is called before the first frame update void Start() { player = GameObject.FindGameObjectWithTag("Player").transform; target = new Vector2(player.position.x, player.position.y); } // Update is called once per frame void Update() { transform.position = Vector2.MoveTowards(transform.position, target, speed * Time.deltaTime); } }
@Imudonnn
@Imudonnn 2 жыл бұрын
помогите пожалуйста
@feroindiary346
@feroindiary346 2 жыл бұрын
теперь осталось объяснить противнику что у него есть друзья хех и узнать можно ли реализовать тоже самое но физично через addforce if (Vector2.Distance(transform.position, target.position) > StoppingDistance) { var dir = (target.position - transform.position).normalized; rb.velocity = dir * FollowSpeed; } else if (Vector2.Distance(transform.position, target.position) < StoppingDistance && Vector2.Distance(transform.position, target.position) > retreatDistance){ rb.velocity = Vector2.zero; } else if (Vector2.Distance(transform.position, target.position) < retreatDistance) { var dir = (target.position - transform.position).normalized; rb.velocity = dir * -FollowSpeed; }
@feroindiary346
@feroindiary346 2 жыл бұрын
​@JOOSTMMO ну это да, но я не знаю ещё как сделать чтобы он расстояние от друзей держал иначе это очень смешно. Вариант с добавлением триггера на каждого врага по отдельности это бред.
@feroindiary346
@feroindiary346 2 жыл бұрын
@JOOSTMMO я всего лишь написал здесь рабочую версию через физику
@illyagrush5884
@illyagrush5884 4 жыл бұрын
Уай ты не юзаешь FixedUpdate()???
@teamaster636
@teamaster636 5 жыл бұрын
В 3д сильно большая разница?
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
внушительная, так как большее количество осей
@НазарРадчук-м5щ
@НазарРадчук-м5щ 3 жыл бұрын
А эти скрипты работают в 3D на юнити? Если да то есть ли какие то различия?
@juuzua
@juuzua 3 жыл бұрын
а как сделать бота, который будет отслеживать игрока через стену?
@МаксимРазгуляй
@МаксимРазгуляй 5 жыл бұрын
не работает скрипт для того чтобы снаряды просто летели
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Значит Вы сделали что-то не так.
@justpaper4145
@justpaper4145 5 жыл бұрын
Можешь оставлять ссылки на код? Или сам код, так будет проще
@graphicaldesign2776
@graphicaldesign2776 5 жыл бұрын
Что так будет проще?
@t.f_fedos2507
@t.f_fedos2507 5 жыл бұрын
@@graphicaldesign2776 очень
@kroniecraft8339
@kroniecraft8339 4 жыл бұрын
Мне кажется он делает правильно. Когда человек сам пишет, он учиться, делает ошибки исправляет их
@overgamezs
@overgamezs 3 жыл бұрын
@@kroniecraft8339 когда ты пол часа на то чтобы переписать а потом ещё 3 часа на то чтобы понять что ты написал не так это нифига не круто
@kroniecraft8339
@kroniecraft8339 3 жыл бұрын
@@overgamezs учись писать быстрее епт, если тебе нужно 3 часа для 16 строк...
@overgamezs
@overgamezs 3 жыл бұрын
в чем ошибка? using System.Collections; using System.Collections.Generic; using UnityEngine; public class vrag : MonoBehaviour { public float speed; public float stoppingdistance; public float retreatDistance; public Transform player; void Start() { player = GameObject.FindGameObjectWithTag("Player").transform; } void Update() { if(Vector2.Distance(transform.position, player.position) > stoppingdistance) { transform.position = Vector2.MoveTowards(transform.position, player.position, speed * Time.deltaTime); } else if (Vector2.Distance(transform.position, player.position) < stoppingdistance && (Vector2.Distance(transform.position, player.position) > retreatDistance) { transform.position = this.transform.position; } else if (Vector2.Distance(transform.position, player.position) < retreatDistance) { transform.position = Vector2.MoveTowards(transform.position, player.position, -speed * Time.deltaTime); } } }
@darksidemods3134
@darksidemods3134 5 жыл бұрын
топ бот
ИИ врага "Страж" / AI Enemy - Unity легко
17:54
Graphical Design
Рет қаралды 49 М.
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 3,3 МЛН
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,2 МЛН
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
Стрельба по направлению клика в Unity
12:23
Graphical Design
Рет қаралды 25 М.
2D Инвентарь в Unity - легко
13:10
Graphical Design
Рет қаралды 55 М.
How to make AI Turret Bots in UNITY - 2D
14:59
The Game Guy
Рет қаралды 27 М.
СОЗДАНИЕ ШУТЕРА В UNITY. Стрельба Raycast C# | Unity урок by Artalasky
21:52
ARTALASKY CG - Как создать игру
Рет қаралды 176 М.
Самый простой способ создать PROGRESSBAR в Unity
9:07
Алгоритмика Казахстан
Рет қаралды 1,4 М.
2D PATHFINDING - Enemy AI in Unity
23:13
Brackeys
Рет қаралды 828 М.
СТРЕЛЬБА С ВИДОМ СВЕРХУ в Юнити | by Brackeys
18:05
maxvell-game developer
Рет қаралды 20 М.
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 3,3 МЛН