Как ПРАВИЛЬНО сделать передвижение в Unity? Нормали поверхностей + Чистый код на C#

  Рет қаралды 188,886

Роман Сакутин

Роман Сакутин

Күн бұрын

Пікірлер: 518
@rsakutin
@rsakutin 3 жыл бұрын
2000 лайков под видео и делаем крутые мультяшные прыжки!
@ahehejejei37ehehheeh
@ahehejejei37ehehheeh 3 жыл бұрын
веп разработчики все говнокодеры ; там без этого навыка ни куда
@Elef228
@Elef228 3 жыл бұрын
Когда будет продолжение 2D PixelArt RPG в Unity?
@divizitin4462
@divizitin4462 3 жыл бұрын
Просто шикарный видос
@andreypan1608
@andreypan1608 3 жыл бұрын
Лучший
@-LordEK-
@-LordEK- 3 жыл бұрын
Непонимаю. Ну покритиковал, культурно указал на ошибки, недочёты, показал лучшие варианты.., но обсирать людей- то зачем)? Такой вроде, как бы не глупый, а способов повысить свой рейтинг в глазах зрителей, не обсирая конкурентов, придумать не можешь. Ну выложи что-то своё и критикуй.
@koogel2025
@koogel2025 3 жыл бұрын
С самого начала у Абрахама была тактика, получить бесплатно часть курса Ромы
@ХомичЮрий-я6ф
@ХомичЮрий-я6ф 3 жыл бұрын
ахахахахах Классс!!!
@__-qj1ux
@__-qj1ux 3 жыл бұрын
199 лайков тык 200 лайков ЫЫЫЫЫЫЫЫЫЫЫ
@perkunas87
@perkunas87 3 жыл бұрын
Переиграл
@alexwhite8040
@alexwhite8040 3 жыл бұрын
У меня была какая то тактика и я её использовал )
@alex_konor2197
@alex_konor2197 2 жыл бұрын
@@alexwhite8040 *и я ей придерживался
@DEnis_Programm
@DEnis_Programm 6 ай бұрын
Как только я начал изучать японский язык, он оказался гораздо более понятным, чем это объяснение.
@ГосподинИнквизитор
@ГосподинИнквизитор 2 жыл бұрын
"все новички поймут, что тут написано" Я, который нихрена не понял: - Ну... Ладно...
@CrazyTyan201
@CrazyTyan201 6 ай бұрын
Жиза жизненная...
@RUMAN-r1u
@RUMAN-r1u Жыл бұрын
как я заметил хауди отрицает ошибки и обзывается а макстер признает ошибки и всем рекомендует просмотр видео романа.уважение макстеру +10000
@shert3061
@shert3061 3 жыл бұрын
ООО... Вот и годнота подъехала. Согласен , новичков нужно обучать изначально правильному.
@ДенисКошкаров-м3в
@ДенисКошкаров-м3в 2 жыл бұрын
Как по мне Хауди красавчик! Даже если он написал говно код, его ролик стал поводом для создания этого ролика. И потом всегда будет то, кто пишет код лучше, я бы не стал на этом зацикливаться. Роман, тоже молодец, ведь полезно разобрать на примере, как можно сделать лучше. Но если бы Хауди, не записывал свои видосы, я думаю намного меньше людей стали бы интересоваться программированием.
@hexagon4326
@hexagon4326 3 жыл бұрын
Вот это качественный контент. Сперва обосрал плохое, а потом показал как делать нужно. Прям душа радуется.
@shert3061
@shert3061 3 жыл бұрын
Согласен
@GamDevRus
@GamDevRus 3 жыл бұрын
@@shert3061 всегда можно обосрать чужой код, это любой программист с опытом знает
@mudrus9355
@mudrus9355 3 жыл бұрын
@@GamDevRus чел ты не до конца прочитал комментарий сверху
@ZickJohnson
@ZickJohnson 3 жыл бұрын
Вау, даже картинки к объяснению прилагать начал. Спасибо за проделанную работу.
@zenbi6478
@zenbi6478 Жыл бұрын
ГАСПАРД ДА ВОТ ЖЕ ОНО! Спасибо огромное за видео. Только начал обучатся, сделал свой проект (крохотный). Очень долго изголялся над передвижением персонажа, он стопорился или и вовсе застревал при переходе на другие поверхности или при хождении по наклонных поверхностях. Пересмотрел множество гайдов но НИГДЕ нет ничего по тому, что такое нормали и как с ними работать, вот теперь моя болванка не вырывает глаза от своего дёрганого передвижения. Ещё раз спасибо. Помог на удивление чат JPT - дал название видео, но не дал ссылку...
@mikoma4077
@mikoma4077 2 жыл бұрын
В первые 10 секунд видео я осознал что ты мой мессия и в скором времени я создам культ поклонения тебе.
@ДмитрийВолков-н8е
@ДмитрийВолков-н8е 2 жыл бұрын
Отлично работает код. СУПЕР отлично. 200 настроек уровня, 400 дополнительных настроек кода, и теоретически, он будет работать. ТЕОРЕТИЧЕСКИ. Удачи споткнутся об любую поверхность с коллайдером, на которой вам не надо передвигаться.
@АлександрКарпов-ъ1я
@АлександрКарпов-ъ1я 2 жыл бұрын
Привет А почему обновление физики не в FixedUpdate ? Если частота кадров больше, чем частота обсчёта физики, то либо будут лишние вычисления либо… рывки?
@ИванДовлатов-х3ж
@ИванДовлатов-х3ж 10 ай бұрын
Тот же вопрос, кстати
@fillion6288
@fillion6288 6 ай бұрын
Это математика, не физика. По такой схеме происходить рывков не должно
@fantraiFox
@fantraiFox 9 ай бұрын
Один инфоцыган бьет другого инфоцигына. Эта битва будет легендарной
@darudev
@darudev 3 жыл бұрын
Стой стой стой, ты забыл вот это #ОтПрофессионала Не благодари ;)
@fada9238
@fada9238 Жыл бұрын
Чёта я попробовал переписать код из видео, дабы поиграться, а он не робит у меня :) Сначала ругается на KeyboardInput в строке 16 с исключением NullReferenceException - добавляю в Movement любого рода "заглушку" Начинает ругаться на 13 строку в PhysicsMovement в строке 13 с исключением NullReferenceException. Вряд ли мой коммент заметят, но я даже предположить не могу - что я сделал не так? :)
@philipinhoi8091
@philipinhoi8091 3 жыл бұрын
Главное чтобы Ромчик думал что он отличается от хауди)
@ОлегНахаев-у7с
@ОлегНахаев-у7с 3 жыл бұрын
Не сторонник хауди и даже не смотрел его видео на час, но твой обзор чекнул. Придрался ко всему, к чему только можно, но при этом сам делаешь не очень: 1) Не убрал не использованные директивы 2) Присутствие магических чисел 3) Почему не сократил методы, состоящие из 1 строчки через лямбду? Глаза режет. По поводу правильности, да, этот подход к движению мне больше симпатичен, но он заставляет задуматься да и не хило. А видео было предназначено для новичков. Какой смысл новичку смотреть и думать о нормалях, когда уже есть метод AddForce? Да и по поводу твоего курса, реально везде его суешь, хотя имеешь на это полное право, но ты даже поленился объяснить про скалярное произведение векторов, а взял старое видео, красавчик. Короче, был лучшего о тебе мнения
@jiulh
@jiulh 3 жыл бұрын
"Не убрал не использованные директивы" - это что-то типа мема на данном канале, из-за того что он забывает про это?
@m.r.pengvin4901
@m.r.pengvin4901 9 ай бұрын
он сам при каждом обзоре чужого когда жалуется на это у других
@Eistrp
@Eistrp 3 жыл бұрын
а почему не использовать character controller? в нем же уже все это просчитано
@НиколайМартынов-р2е
@НиколайМартынов-р2е 2 жыл бұрын
В целом согласен в предложенном варианте код лучше . Но подозреваю что оппонент возможно намерено сделал код через адфорс дабы продемонстрировать новичкам физику движка. п.с. Обьяснения у Хауди зашло на ура , тут же пересмотрел ролик раза 3 , прежде чем догнать суть о нормалях и скалярном произведении векторов. Хотя повторюсь предложенный Романом вариант кода лучше.
@epiccipe
@epiccipe 2 жыл бұрын
Просто Хауди хочет показать быстрый вариант решения без особых затрат времени, он не учит программировать так, как нужно, он завлекает в этот процесс, а дальше уже самому можно пойти разобраться в более качественном решении проблемы. Если честно я реально уважаю Хауди Хо, потому что он привлёк множество подростков (да и не только), к IT сфере, благодаря ему я сейчас активно изучаю Unity и пусть сейчас я и не нуждаюсь в просмотре его видео, я считаю, что он умеет интересно подать материал, пусть и самым простым и иногда плохим способом
@zeroQuantumNull
@zeroQuantumNull 2 жыл бұрын
@@epiccipe уважения хауди не достоин, но должное ему отдать можно. У него чисто попсовый развлекательный контент, а слово "профессионал" в названиях видосов не более чем шутка. Но если назвался профи, так будь добр лезь в кузов. Ладно бы это, но он ещё к тому же даёт советы в тех областях, где не шарит вовсе, а где он вообще шарит? Чисто на отьебон видос сделал и норм, а человек потом будет мучаться, штудировать от корки до корки шилдта, так и застряв на базовом уровне, дай боже чтобы не забросил, но скорее всего тупо выгорит. А так особых претензий не имею, пусть делает что хочет, лишь бы не вредил.
@dunybollox804
@dunybollox804 Жыл бұрын
​​@@zeroQuantumNullЧел сейчас много людей становятся программистами смотря хауди потаму что он мотивирует людей он две когда просто видосы делает всё там разжёвывает потаму что знает что его в основном смотрят подростки которые тоже хотят стать прогером и за такую матевацию а не простите просто рекламу ему огромный респект
@dunybollox804
@dunybollox804 Жыл бұрын
​@@zeroQuantumNull Роман да лучше чем хауди в гейм деве потаму что у Романа больше 10 лет опыта и работы в гейм деве а хауди чтобы ты понимал только 7 лет занимаеться программированием и всё ещё учиться и то эти 7 лет он не задротит лишь в гейм дев
@subdmndline
@subdmndline Жыл бұрын
@@dunybollox804бро, тебе на урок русского пора 💀💀
@igorshlyakov9321
@igorshlyakov9321 3 жыл бұрын
Все супер ждем видос с прыжками!
@zevs1373
@zevs1373 2 жыл бұрын
Нашел один баг в данном решении, когда происходит столкновение со "стеной" в векторе нормали по одной из координат x или z принимает отрицательное значение, в следствии чего блокируется движении в противоположном направлении, разрешается движении только вдоль плоскости. при столкновении с наклонной поверхностью отрицательное значение сбрасывается в 0 и движение вновь доступно.
@sushkahacker9762
@sushkahacker9762 2 жыл бұрын
в SurfaceSlider надо поменять private void OnCollisionEnter(Collision cln){ _normal = cln.contacts[0].normal; } на private void OnCollisionStay(Collision cln){ _normal = cln.contacts[0].normal; } Этот баг происходит, когда игрок сталкивается с 2 коллизиями. Когда это происходит, то игрок считывает столкновение с последней поверхностью и "забывает" первую, то есть землю. А OnCollisionStay считывает не то, с какой поверхностью мы столкнулись, а стоим ли мы вообще. Минус - это то, что в прыжке мы теряем скорость. Надеюсь норм объяснил.
@sergeykadantsev9217
@sergeykadantsev9217 2 жыл бұрын
Есть такой момент, если двигать объект с rigitbody через translate, то будут просадки в производительности, так как движек будет постоянно просчитывать физику при изменении translate.
@romancynic8688
@romancynic8688 3 жыл бұрын
Хауди Хо: Ну обосрался и обосрался, чего бубнить то?👍
@AlexNaz-OF
@AlexNaz-OF 3 жыл бұрын
Просто хайп манит
@tivjnb
@tivjnb 3 жыл бұрын
либо я тупой либо скрипт имеет пару проблем: 1) кубик намертво липнет к отвесной стене(двигается вдоль неё до столкновения с другим коллайдером) 2) дергано пытается забраться на почти отвесные стены 3) проваливается под землю когда попадает под наклоненную стену
@tivjnb
@tivjnb 3 жыл бұрын
PS рома все равно молодец, вероятно именно я тупой, а хауди тот ещё дибил
@Даниелкушбаев
@Даниелкушбаев 7 ай бұрын
у меня баг: про косании с объёктом кубик перестает двигатся по одной из горизонталей
@nekodgd
@nekodgd 3 жыл бұрын
Очень крутое видео получилось! Хотелось-бы побольше подобного контента, где показывается как не надо делать и твоё решение этой проблемы. Это реально, очень полезно!
@nmotion55
@nmotion55 3 жыл бұрын
Реально Бро, чтоб это понять, надо сначала понять это все хотя бы на уровне хауди-хо.
@amogus330
@amogus330 2 жыл бұрын
Согласен, если слишком туп для этого
@mistake7855
@mistake7855 3 жыл бұрын
Я - инфо-цыган и продаю курсы... кстати, записывайтесь
@artemfost6836
@artemfost6836 3 жыл бұрын
Хм, видео называется "как правильно", а с чего ты взял что так правильно? Это верно только для случая когда ты у себя в голове сформировал ТЗ и решил для себя что физика тебе не нужна, буду просто двигать тело без учетов трения и прочих штук, опять же, возникает вопрос "А С ЧЕГО ТЫ ВЗЯЛ ЧТО ЭТО ПРАВИЛЬНО?" и почему это правильнее чем вариант с AddForce()? Просто потому что ты так видишь игру у себя в голове? Охеренный подход, я тоже могу взять тетрис, сказать что в нем не учитывается физика тел и показать как "правильно" его реализовать
@nikitas3160
@nikitas3160 3 жыл бұрын
Почему на фрагменте курса такой шум? Неужели так во всем курсе?
@Fturman
@Fturman 8 ай бұрын
Есть в интернете хоть один гайд, где есть полная разработка с нуля. Т.е создание персонажа, добавление его в движок, анимация, добавление физ свойств и т.д, проработка всех мезаник как пример и затем уде создание Грэй бокса, что бы затестить усе это дело. Где такое найти..
@FOX3490-z7u
@FOX3490-z7u 3 жыл бұрын
Для такой херни не лучше ли character controller встроенный использовать? Будет гораздо проще
@terachannel1154
@terachannel1154 6 ай бұрын
А почему бы не использовать метод ProjectOnPlane, который как раз возвращает вектор вдоль поверхности, который принимает вектор направления и вектор нормали поверхности?
@k4rnageee
@k4rnageee 6 ай бұрын
Я кстати этого вообще не понял. Вектор нормали плоскости по идее - это вектор up обьекта. Соответственно, вектор forward обьекта и будет единичным вектором скольжения по плоскости. Зачем тогда все эти расчеты? Или в юнити нет возможности получить локальные оси обьекта, как в анриле?
@SkyGround-mj9tf
@SkyGround-mj9tf 2 жыл бұрын
эти видосы я так понимаю что бы хауди научился программировать и заснял ремейк 1 час изучаем юнити от профессионала
@pro100deskree
@pro100deskree 3 жыл бұрын
То самое чувство когда ХаудиХо забайтил тебя на видео урок :DDD
@L0g0Z0g0
@L0g0Z0g0 2 жыл бұрын
А что в скрипте Axis? (Юнити выдает ошибку на отсутствие имени...)
@ВладиславЯндульский
@ВладиславЯндульский Жыл бұрын
Как вектора D(-0,75;0,25) и N(-0,25;-0,25) перпендикулярны? Если скалярное произвидение не равняется нулю? А это у нас получается истинный вектор движения игрока который поидеи должен быть паралелен плоскости и перпендикулярен нормали, но как не крути не получается, чтобы он был перпендикулярен по этой формуле.
@itayra2133
@itayra2133 Жыл бұрын
ХаудиХо сделал видео для новичков, где всё просто и понятно. А тут куча сложных и во многом не нужных новичку манипуляций. Например, зачем новичку вычислять нормали, векторы и т.д, если можно просто написать AddForce. Это тоже самое, что говорить "Велосипед - это гавнотранспорт, есть же машина".
@Bushido_Cat
@Bushido_Cat 2 ай бұрын
Зачем вообще думать если можно жить без мозгов и не напрягаться
@gamemoments8183
@gamemoments8183 3 жыл бұрын
я новичок вопрос : а почему нельзя просто писать : transform.Translate(Vector3.forward * Speed * Time.deltaTime);
@ИгорьМорозов-ы2ы
@ИгорьМорозов-ы2ы 3 жыл бұрын
Пока для твоей игры это не создаёт проблем - можешь писать. Когда задача сложнее, как в видео, уже приходиться по другому подходить.
@yargee11
@yargee11 3 жыл бұрын
если перемещение без физики, то можно, а если с физикой, то могут возникать проблемы при коллизиях, типа застревания в объекте или проходе через стены, по сути это не движение а телепорт в координату
@Phyksar
@Phyksar 3 жыл бұрын
Конкретно по твоему вопросу, transform.Translate меняет положение объекта не учитывая возможных столкновений с твердыми объектами, т.е. аналогично телепортации. Для определения столкновений необязательно использовать полную физическую симуляцию, можно предварительно вызывать Physics.Boxcast (или любая другая форма) или Rigidbody.SweepTest (учитывает активную модель столкновений)
@rumpelstilzchen6366
@rumpelstilzchen6366 2 жыл бұрын
Самый действенный аргумент - "Ой, вот только давай без (пассивной)агрессии!"
@olil2489
@olil2489 Жыл бұрын
А почему бы вместо метода Project было не использовать стандартный Vector3.OrthoNormalize? Считаю, что так было бы гораздо нагляднее
@terachannel1154
@terachannel1154 6 ай бұрын
Я тебе больше скажу, есть метод ProjectOnPlane, который как раз возвращает вектор вдоль поверхности, ему нужен вектор направления и вектор нормали поверхности
@gregorygorbov4669
@gregorygorbov4669 2 жыл бұрын
4:19 Я извиняюсь, это что вектор нормали к поверхности, который лежит на поверхности??
@batpyiiikob7245
@batpyiiikob7245 3 жыл бұрын
Так почему куб на наклонной поверхности не меняет угол наклона относительно нормали?
@ProfessorProkopski
@ProfessorProkopski 3 жыл бұрын
Присоединяюсь к вопросу. Иначе толку от такой реализации...
@NickProkhorenko
@NickProkhorenko 2 жыл бұрын
Это можно сделать используя кватернионы юнити. Мне вот, к примеру, он понадобились, когда я делал ходьбу персонажа по сферической планете, и его нужно было поворачивать.
@batpyiiikob7245
@batpyiiikob7245 2 жыл бұрын
@@NickProkhorenko я знаю, что можно.. вопрос - почему здесь не сделано, но преподносится как верное решение! Получается - обосрался не только ХаудиХо но и Роман Сакутин
@ua1024
@ua1024 2 жыл бұрын
@@batpyiiikob7245 Ты просто не выкупаешь ничего
@mishQasim
@mishQasim 3 жыл бұрын
Помогите разобраться плз. Искомый вектор "projected forward fp" мы находим как разность двух векторов "Player Forward f" и вектора, который является проекцией вектора "Player Forward f" на вектор нормали, тобишь "component parallel to n" "Player Forward f" у нас есть (в коде forward) а вектор проекции мы находим как Vector3.Dot(forward, _normal)*_normal. Такая формула из-за того что вектора уже нормализованные, иначе пришлось бы делить скалярное произведение векторов Vector3.Dot(forward, _normal) на длинну вектора _normal еще (потому что длинна проекции равна forward * cos(угол между forward и normal)). Всё так? Когда дописал сообщение, уже потратил 2ч. на то чтобы разобраться, мб кому то поможет *facepalm*
@wowyomad
@wowyomad 11 ай бұрын
Со схожим вопросом полез в комментарии :( Жаль что не не помогли.
@dmitriyobidin6049
@dmitriyobidin6049 3 жыл бұрын
А надо ли еще сам объект развернуть на угол = 180 - ∠D^F ? Чтобы объект тоже находился под нужным углом к поверхности?
@basvalan
@basvalan 3 жыл бұрын
Тогда предыдущие вычисления пойдут по пизде.
@adekakz9794
@adekakz9794 2 жыл бұрын
тогда должен сам разработать формулу движения
@OkaToka
@OkaToka 2 жыл бұрын
После просмотра этого видео я понял почему в туторах для новичков показывают метод с физикой.
@vld7395
@vld7395 2 жыл бұрын
Физика очень важна
@OkaToka
@OkaToka 2 жыл бұрын
@@vld7395 да просто ничерта не понятно новичку в методе, описанном в этом видео. Невозможно такой материал объяснить начинающему, чтобы он реально понял, что он делает и как это работает.
@Daniel-mo1iy
@Daniel-mo1iy 2 жыл бұрын
@@OkaToka ну логично, к этому нужно идти постепенно. Это как новичку объяснять про pool в обертках, не объяснив про ссылочные типы данных )) никто ниче не поймёт :)
@vlader776
@vlader776 7 ай бұрын
@@OkaTokaесли человек проходил в универе векторную алгебру и физику, то ему точно будет понятно
@abik8988
@abik8988 2 жыл бұрын
Ужасное объяснение, вообще ничего не понятно. Не рассказал куда цеплять эти скрипты, не рассказал как их настроить. "Любой новичок поймёт что здесь сказано" - я новичок и не понял вообще как это использовать.
@Bushido_Cat
@Bushido_Cat 2 ай бұрын
чел видео не про то как цеплять и что делать а про скалярное произведение векторов для движения объектов по разным наклонам. Если ты пока еще тупой то не нужно прыгать выше головы иди изучай базу по unity, по C#, тригонометрии и математики, а потом вернись и посмотри этот ролик как это работает на unity
@danielluko7635
@danielluko7635 2 жыл бұрын
а почему нельзя силу просто применить к локальным координатам куба? На официальном сайте Unity learn перемещения делают точно также, неужели это ошибка?
@outhander3941
@outhander3941 3 жыл бұрын
в своём ответе хаудихуцй сначала такой "роман - агрессор и токсик", а буквально 5 строчек спустя "ну я же не программист и этим не занимаюсь"
@vor_pobed6108
@vor_pobed6108 3 жыл бұрын
Извините, сударь, можете указать, где он конкретно это сказал?
@outhander3941
@outhander3941 3 жыл бұрын
@@vor_pobed6108 это я очень сильно утрировал, поэтому ты найти не можешь
@yanmandev
@yanmandev 3 жыл бұрын
Ждем следующий видос
@tapa_5642
@tapa_5642 3 жыл бұрын
Только при просмотре этого ролика в голову закралась мысль о том, что стоит объяснить почему и для чего делаются классы, содержащие один метод. Я сейчас учусь в университете, косвенно изучаем программирование, но есть ребята, которые всерьёз хотят видеть себя в этой науке. А поскольку мои навыки куда выше навыков этих ребят, они частенько спрашивают совета у меня. Людям, которые только начинают изучать программирование очень сложно понять все концепты методик SOLID и им подобных. К примеру, была задача: разпихать данные по разным файлам, алгоритм записи в файл один, а пути к файлам разные. Я решил сделать следующее - Выставить несколько публичных методов, в которых в метод для работы с файлом передавался уже заготовленный путь константой, дабы не писать путь в мейне каждый раз через строковые литералы. (Надеюсь, хоть что-то тут было понятно) Итог - никто не понял, зачем это нужно, все говорили, что в мейне проще и быстрее, и вся программа видна на одном экране, и много чего ещё. Я это к тому, что многие новички, особенно те, которые учат программирование не на специализированных курсах с кучей практики, а на ютубе, или в университете не видят задач объёмом кода более, чем на один экран. А те, кто знает про SRP, видят его лишь как разделение большого метода на несколько маленьких, а в рамках класса или выше не смотрят. Да, я просто хочу, чтобы автор сделал ролик, который я смогу пересылать тем, кто пытается понять, зачем столько разделений вместо того, чтобы объяснять каждому отдельно. Та и, как мне кажется, многие люди, которые смотрят как на этом канале поливают говном код их любимых "сеньоров", таки поддержат аргумент "это всё для простоты, а ты вон сколько интерфейсов для одного метода нафигачил, а потом иди разбирайся с этим", если им не сказать, что, как и для чего P.S.: Сори за огромное количество воды, но рефакторить этот текст я уже не хочу(
@metalkefir591
@metalkefir591 2 жыл бұрын
У вас очень плохой вуз, у нас средняя лаба была на пару тысяч строк кода и далеко не один файл.
@motyamiracle9788
@motyamiracle9788 2 жыл бұрын
Все скрипты нужно привязывать к Player или нет? У меня ошибку выдает NullReferenceException: Object reference not set to an instance of an object KeyboardInput.Update () (at Assets/Scripts/KeyboardInput.cs:14). Вроде как переписал точь в точь, но почему то мой объект не хочет двигаться
@MrVoronaExtra
@MrVoronaExtra 2 жыл бұрын
Так назначь в инспекторе во всех незаполненных полях объект игрока (тупа перетащи объект в поле) и назначь скорость
@yakonick
@yakonick 3 жыл бұрын
В последнем примере (14:41 или в этом роде) подход неправильный же. Судя по тому, что нормаль (0.5, 0.5), угол между склоном и поверхностью 135 градусов (3 пи / 4). Соответственно, звездочка должна двигаться в том же направлении (вдоль поверхности же). Но результат этой сверх математики (итоговое направление движения (F - N)) не соответствует этому углу. Или я чего-то не понимаю? Я просто под пивом
@yakonick
@yakonick 3 жыл бұрын
А так, видос очень даже понравился
@rsakutin
@rsakutin 3 жыл бұрын
Я там просто вектора неправильно записал
@yakonick
@yakonick 3 жыл бұрын
@@rsakutin ну да, вектор нормали нормированный же должен быть, не сразу вспомнил. Не (0.5, 0.5), а (1 / sqrt(2), 1 / sqrt(2)). Тогда всё сходится Спасибо, что обратил внимание!)
@taylonmcfly
@taylonmcfly 2 жыл бұрын
@@rsakutin говнокод! Над английский учить там и срача нема и инфоцыганов
@taylonmcfly
@taylonmcfly 2 жыл бұрын
@@rsakutin кстати ты кажется удаляешь комментарий число комментариев ошибочное от оригинала то есть если посчитать вообщем сколько комментариев то их больше чем на счётчике комментариев
@devoltres7246
@devoltres7246 2 жыл бұрын
у меня проблема:когда персонаж прислоняется к бокс колайдеру-он перестает ходить по горизонтали. подскажите, что делать.
@ShadVert
@ShadVert 3 жыл бұрын
А что если пишет ошибку "The class script cannot be found"? (p.s. раньше у меня такого не было а в инете не понятно как это исправить ведь показывают как исправить в старых версиях а мне надо в версии 2019)
@Георгий-ъ8б9ж
@Георгий-ъ8б9ж 3 жыл бұрын
Ну так себе реализация. Почему KeyboardInput еще объект двигает, разве это его задача, с чего он вообще об этом должен знать? Почему не используется райкаст вниз, лень проверять, но OncollisionEnter выглядит ненадежно и больше как какой-то костыль.
@nikolaiii3
@nikolaiii3 3 жыл бұрын
У меня ктрл-шифт не работает. Причем давно читал об этом в документации, но тогда не работало, и сейчас не сработало.
@ivanaksenov2829
@ivanaksenov2829 3 жыл бұрын
Сделай обзор на metanit
@maksonix722
@maksonix722 2 жыл бұрын
ну Абрахам получается всех переиграл - не знал как правильно сделать, сделал неправильно, придал огласке, и нашелся таки добрый и неравнодушный человек, что объяснил как правильно. И получается бесплатный урок. Современные проблемы...
@turalaliyev1764
@turalaliyev1764 2 жыл бұрын
Правильно ли вызывать метод Move в Update а не Fixed Update? Учитывая что там rigidbody.MovePosition() ?
@enzis
@enzis Жыл бұрын
при фпс >100 будет выглядеть криво то что перемещение в 100 фпс
@thedoctor5753
@thedoctor5753 3 жыл бұрын
Как говорил известный персонаж - J.P. :"Sience beach!"
@icu4
@icu4 3 жыл бұрын
Погнали данный формат на постоянку канала
@orange_wanna_sleep
@orange_wanna_sleep 3 жыл бұрын
Кстати небезызвестный Brackeys тоже использовал add force для перемещения
@Marcusthedawg7722
@Marcusthedawg7722 Ай бұрын
Спасибо, всё понятно.
@valentyn4367
@valentyn4367 2 жыл бұрын
вот такого контента побольше бы
@degit
@degit 2 жыл бұрын
Я один не понимаю по названию метода Project что он должен делать? И это хороший нэминг?
@claudiff5581
@claudiff5581 2 жыл бұрын
Это не его метод, гений
@kommiraikoni
@kommiraikoni 3 жыл бұрын
Сложно говорить что то о хауди, начинал давным давно с него, но понимаю что благодаря той простате я сам начал интересоваться программированием, и соответственно разбираться тоже сам. Поэтому вряд ли стоит так критично относится к нему, все же это не платные годовые курсы "отскиллбокса", а бесплатное видео в общедоступном формате, и если говорить о грамотности написания кода-у каждого своя колокольня, и если уж хочешь разобраться в Unity-вперед читать литературу) а видео неплохое очень даже, видно что человек в курсе своих действий, и, как говорит мой хороший друг, "умеет читать то что пишет")
@Avgureee
@Avgureee Жыл бұрын
потом люди делают код уровня Yandere Simulator))0)
@vmavlyanov
@vmavlyanov 3 жыл бұрын
Как всегда, четко!
@communism8037
@communism8037 2 жыл бұрын
Как у новичка мозг конечно очень тяжело воспринимает это видео, сразу куча различного кода, части которого не ясны соверщенно. И сразу из каши начинать пытаться вникать. Уххх. Ну хоть основная мысль ясна xd Это видео явно не для новичков :( upd: но справедливости ради если пересмотреть по второму разу и прогуглить каждое непонятное понятие в коде, то будет всё понятно. upd2: а чо не поворачиваешь куб, чтобы он и визуально нормально двигался по поверхности?
@vklymenko
@vklymenko 3 жыл бұрын
Бил Гейтс говорил: "Я выберу ленивого работника, чтобы сделать тяжелую работу. Ленивый всегда найдет самое простое решение проблемы."
@8O0Aa.1q3S0.
@8O0Aa.1q3S0. 3 жыл бұрын
Попросту ее не делать
@arteecool1140
@arteecool1140 2 жыл бұрын
Нет, не так: "Я найму ленивого работника, потому что ленивый сделает быстрее и качественнее что бы опять не переделывать"
@Atomnyi
@Atomnyi Жыл бұрын
ничего не понятно - замечательный код! Замечательное обьяснение... А нет - отвратительный код, ничего не понятно из обьяснений. В общем то китайский гораздо понятнее, чем все что сделал автор. В итоге, Хауди Хо сделал видео действительно для новичков, которое является и понятным, и мотивирующим. Данный же критик сделал полную тарабарщину с точки зрения новичков. О чем он говорит, что он пишет? А х-р знает. Пропускаем видео мимо.
@slevinsaint9284
@slevinsaint9284 2 жыл бұрын
А что находится в классе "Axis"?
@bf1005
@bf1005 3 жыл бұрын
В примере со звездочкой расчеты странные, что это за вектор получился -0.75, 0.25 ? Вычитать не нормализованный вектор -0.25, -0.25 из нормализованного? Возможно результат операции * нормализованный вектор?
@mrlimen9709
@mrlimen9709 10 ай бұрын
вы как 2 электрика, те тоже хейтят работу друг друга, ну я думаю кто постарше, имел дело с электриками, знает о чем я пишу ) А терь немного запоздалого на 2 года монолога. Хз на кой я это вообще пишу, делать нехрен. Не спорю, да, хреновый код, на тот момент, однако, если чуток посматривать за творчеством хауди, то в то время как раз он только начал изучать unity как место для разработки каких-то идей. Возможно было лишним так рано записывать урок, однако же, он так или иначе сам разобрался позднее и написал так кили иначе много годного. Взять того же 3д дино или что он там ещё делал. Ютуберы ведут свое шоу (общая масса), это их работа. Хоть ролик не про профессиональное программирование, но будем честны, даже он полезен. Есть "кодеры" куда хуже, ну да ладно. И да, вероятно этот комментарий никто даже не прочитает, но почему бы нет. ))
@maximgasai1349
@maximgasai1349 3 жыл бұрын
Ради господа бога перестань читать английские слова, имитируя английское произношение. Ты мало того, что неправильно произносишь некоторые слова, так еще и жуешь их так, что вообще непонятно, что ты прочитал, видимо, чтобы никто и не услышал ошибок. Читай ты их с обычным рязанским акцентом, будет проще и тебе, и людям
@FadeToEvil
@FadeToEvil 2 жыл бұрын
Да, это бесит
@xztreme
@xztreme Жыл бұрын
Чел он все нормально произносит, это непривычно, потому что он в основном на русском говорит, к тому же у него акцент
@EugeniiShernovitskiu
@EugeniiShernovitskiu 7 ай бұрын
​@@FadeToEvilу него просто прокачанное английское произношение ;) тебе не понять
@FadeToEvil
@FadeToEvil 7 ай бұрын
@@EugeniiShernovitskiu нет, конечно, не понять. Я же не общаюсь на работе только на английском вот уже 10 лет как. Так жуют только коренные англичане, хочется сказать: выплюнь каку и разговаривай нормально!
@onecommandkristopher3000
@onecommandkristopher3000 3 жыл бұрын
Жду обзор кода C# Романа Сакутина от Романа Сакутина, а-то не понимаю кому верить в данном вопросе - Роману Сакутину или Роману Сакутину.
@neaf1sss
@neaf1sss 2 жыл бұрын
Я украл твою шутку
@АрцёмСенькеаич
@АрцёмСенькеаич Жыл бұрын
Вопрос может глупый, но у меня есть вопрос, я новичок, как сделать тут правильную связку кода с моими обьектами, кто знает подскажите сильно поможете
@АртемНиколаевич-о7п
@АртемНиколаевич-о7п Жыл бұрын
На ваш обьект добавляете скрипт как компонент (add component... и пишите название скрипта).
@АрцёмСенькеаич
@АрцёмСенькеаич Жыл бұрын
@@АртемНиколаевич-о7п спасибо, но я уже разобрался, но блогадарю за ответ
@kazumashitory3918
@kazumashitory3918 17 күн бұрын
Так такой метод передвижения не физичен и из за этого могут возникнуть проблемы в виде того, что игрок сквозь стены проходить сможет и другие объекты
@Ninada_O_o
@Ninada_O_o 3 жыл бұрын
После столкновения с поверхностью 90 градусов могу двигаться только в доль этой поверхности)
@vovan_na_kyhne
@vovan_na_kyhne Жыл бұрын
А еще если угол больше 90 градусов, то ты проваливаешься под землю) попробовал исправить это через ограничения максимального угла наклона поверхности при получении нормали при столкновении, но получил проблему что ты начинаешь проходить сквозь поверхности их-за того что используется _rb.position =\ Если будет вариант решения проблемы пните пожалуйста. Метод перемещения через нормали мне нравится в результате больше чем обычное физическое, но с такими нюансами придется думать и искать другой метод.
@mynamearch
@mynamearch 3 жыл бұрын
Это что, Фредгитарист от мира программирования?
@noitoro2698
@noitoro2698 3 жыл бұрын
лол, а ведь и правда
@АрцёмСенькеаич
@АрцёмСенькеаич Жыл бұрын
И вопрос у меня одного ничего не происходит?
@Чехлыст
@Чехлыст 3 жыл бұрын
как сделать такуюже воду??
@dodtoo4473
@dodtoo4473 3 жыл бұрын
А КАК работает Unity character controller ? ))
@notagriffer007
@notagriffer007 3 жыл бұрын
Если ты прав, но все говорят, что ты не прав, ты не безумец!
@GDisclaimer
@GDisclaimer 3 жыл бұрын
Чта? Пж можно попонятней?
@RYMediaProduction
@RYMediaProduction 3 жыл бұрын
А как изуучить юнити можете дать совет? Прям совсем новичку изучившему недавно изучившему основы c#, документации читать так себе
@quadroninja2708
@quadroninja2708 3 жыл бұрын
Почему так себе? Я тоже новичок, а документация хорошо помогает
@amogus330
@amogus330 2 жыл бұрын
@@quadroninja2708 Посоветуй пж
@quadroninja2708
@quadroninja2708 2 жыл бұрын
@@amogus330 читать документацию, а если непонятно, то нужно подучить сам язык (C#) и общие понятия в программировании. Для первого - metanit, хороший сайт, пишут понятно. А второе, наверное, в учебнике информатики 9-11 класс
@amogus330
@amogus330 2 жыл бұрын
@@quadroninja2708 Окей, попробую
@nickwilde5876
@nickwilde5876 2 жыл бұрын
а почему класс Axis не показал?
@rechw769
@rechw769 3 жыл бұрын
хауди пишет так только на видео, так как вне видео он не пишет на с# вовсе:_
@seregga3936
@seregga3936 3 жыл бұрын
А на чем он пишет вне видео?
@rechw769
@rechw769 3 жыл бұрын
@@seregga3936 он веб-разработчик вроде
@MrDarts-ff6jq
@MrDarts-ff6jq 3 жыл бұрын
А зачем он тогда делает уроки по C#, если вне видио он на нем не пишет?
@rechw769
@rechw769 3 жыл бұрын
@@MrDarts-ff6jq откуда ж мне знать?)
@semyondyachenko4183
@semyondyachenko4183 3 жыл бұрын
То, что было в его видео, показывают не то, что он не умеет писать на c#, а то, что он впринципе в школе не учился, т.к он при взаимодействии с физическими объектами, где все работает по строгим законам и формулам, говорит давайте по-экспериментируем, и просто начинает вбивать рандомные значения, даже не понимая зачем они, и на что влияет их изменение.
@panarth1142
@panarth1142 2 жыл бұрын
Всегда говнокод пишу и не жалуюсь. И передвижение физикой делаю, так объект живее себя ведёт, путь торможения и разгона есть
@kekwait7959
@kekwait7959 3 жыл бұрын
Про вставку с математикой - вообще-то в школе вектором единичной длины был (1/sqrt(2);1/sqrt(2)), тк там метрика это корень из сумм квадратов (евклидовая). У тебя же метрика - сумма модулей. Ну и косинус очевидно у тебя неевликлидовым будет. В курсе было бы неплохо это разъяснить, а то челы будут каждый раз в квадраты возводить да корни извлекать
@SblPPP0K
@SblPPP0K 2 жыл бұрын
код простой.... я который уже 20 раз пересматриваю чтоб хоть что-то понять, и сопоставить с речью автора...
@markusnotfound3007
@markusnotfound3007 2 жыл бұрын
Пока ты сам не будешь кодить на практике в вижуал студио, юнити на языке c# ты никогда не поймешь что они кодят.
@k1aldgames275
@k1aldgames275 3 жыл бұрын
Теперь жду видео как правильно учить математику программисту!
@ИванДовлатов-х3ж
@ИванДовлатов-х3ж 10 ай бұрын
Ахахахахпххаха. Ну как... Начни со школодрома. Тригонометрия, логарифмы, уравнения, неравенства. Любой нормальный учебник возьми и фигачь. А потом в вышмат дуй. В зависимости от того, что ты там программировать собираешься нужна разная математика. Но что точно пригодится: 1) матан. Хотя бы до определенных интегралов доучи. Много где нужен матанчик-братанчик 2) линал. Мастхев и классика. 3) ангем. Очевидно, что полезная вещь для юнити, ибо геометрия она как бы геометрия Это база. Дальше зависит от потребностей Рекомендую ресурс teach-in. Полно лекций и семинаров из МГУ. Хочешь с мехмата, хочешь с вмк, хочешь с физфака. Смотришь кто больше нравится и херачишь. Лучший варик: лекция 2-3 штука + семинары по теме прорешать и похожие задачи в задачнике посмотреть и разобраться. Далее: ежик в матане. Есть группа в вк и канал на ютуб с кучей годной инфы. В группе вк есть чат. Заходи и спрашивай че угодно. Скорее всего, на простые вопросы будут хамить, но тебе то какое дело? Твое дело научиться. П.с. ну и в универ поступил бы на соответствующее направление. Лучше на математическое, ибо прога в универах слабая везде, кроме ТОП вузов. Как вариант, можно в МГУ. Там на ВМК легко поступить, всего баллов 420-460/500 нужно набрать по ЕГЭ, а это изи катка. Если жесткий, то можно на Физтех глянуть или вышку-отрыжку. Питер хз. Питерские вузы не шарю за них ваще
@superworldyt130
@superworldyt130 2 жыл бұрын
А что в скрипте Axis?
@imronneiz4794
@imronneiz4794 3 жыл бұрын
Еееее наконец-то
@gotthard24
@gotthard24 3 жыл бұрын
Вот это я понимаю контент. Красава. В таких видосах видна экспертность. А от видосов в стиле "Тут мудак, тут говнокод" противно.
@amogus330
@amogus330 2 жыл бұрын
Не знаю, как по мне довольно сложно. Не мой уровень
@bersefker3653
@bersefker3653 2 жыл бұрын
А неужели в Юнити нет готового решения для мувемента, вроде того, что есть в анриале?
@rsakutin
@rsakutin 2 жыл бұрын
Есть, работает по такой же системе
@bersefker3653
@bersefker3653 2 жыл бұрын
@@rsakutin Спасибо! А еще вопрос: а зачем делать три отдельных скрипта для реализации перемещения? Почему нельзя все в одном скрипте "Перемещение" реализовать?
@fanlinp
@fanlinp 2 жыл бұрын
@@bersefker3653 принципы солид о единой ответственности, первый скрипт - ввод человеком команд, второй перемещение, третий просчет вектора движения
@cole7316
@cole7316 Жыл бұрын
@@fanlinp Бессмысленно делать отдельный скрипт под одну три строчки(условно), даже если они выполняют разные функции
@MrToga94
@MrToga94 3 жыл бұрын
было бы отличный идея сделать гавнокод для симулятора гавно и срать на адекватный расширения и настраивность и на конце игры рейд босс сам Роман Саукутин. ради развличению наверно )) Челлендж началось! ПС: видос норм, один лайк от меня!
@lordorbit
@lordorbit 3 жыл бұрын
Он должен тебя пропиарить. Он сказал, что если кто-то сделает лучше, он его пропиарит, могу пруфы скинуть
@nekodgd
@nekodgd 3 жыл бұрын
Какие люди! ;)
@lordorbit
@lordorbit 3 жыл бұрын
@@nekodgd и тебе привет)
@21-52
@21-52 3 жыл бұрын
1:00 И тут ХаудиХо записывается на курс)
@it-world6814
@it-world6814 3 жыл бұрын
Сколько раз ты переписывал код перед роликом?
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 7 МЛН
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
НЕЙРОСЕТЬ УНИЧТОЖИЛА ДЖУНА
31:47
Роман Сакутин
Рет қаралды 177 М.
Физика в Unity - 1. Rigidbody
19:06
Eccentric Games
Рет қаралды 131 М.
Я сделал игру, которая играет сама в себя!) | Нейроэволюция на Python
10:52
Хауди Хо™ - Просто о мире IT!
Рет қаралды 530 М.
Обзор кода от Unity! Я нашёл там лютый позор...
22:48
Роман Сакутин
Рет қаралды 69 М.
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 7 МЛН