Непривычно слышать нормированный вектор) Чаще в геймдеве вроде нормализованный говорят. Только вот с описание что-то не так. Это значит не то, что его значения не выходят за что-то, а то, что его длина равна 1. Для двумерного вектора (1; 1) его нормализованная версия будет примерно (0,7071; 0,7071). Иначе, скорость при перемещении по диагонали будет быстрее, чем по прямой. ps. отличная подача!
Подскажите, пожалуйста, какая операция будет менее затратна по производительности для нормализации вектора - разделить квадратный вектор на sqrMagnitude или разделить вектор на magnitude, учитывая, что нахождение квадратного корня очень дорогое. То есть в коде первый вариант выглядел бы так : Vector3 sqrDirection = direction * direction; Vector3 normalizedVector = sqrDirection / direction.sqrMagnitude; А второй - вот так: Vector3 normalizedVector = direction.normalized
Возьми направление и подели на квадрат магнитуды, direction /= direction.sqrMagnitude docs.unity3d.com/ru/530/Manual/UnderstandingVectorArithmetic.html
Эх, где ты был 2 недели назад, а то я 4 дня просидел с этими кватернионами и векторами, смотрел кстати и твой ролик, со всякими тоесть, хах. С виртуальными осями еще конкретно затупил, умножал на дельту направление движения мышки на экране, и долго не мог понять почему у меня скорость камеры меняется в билде(спойлер: из-за вертикальной синхронизации). Пока искал в чем проблема наткнулся на новую систему ввода юнити, и слава богу кстати, она намного удобнее, чем Inputы, так что совет новичкам, если вы только начинаете, научитесь пользоваться именно ей, она точно стоит потраченного времени на изучение.
Начал делать сценарий для видосов? Красава! Хотел бы обратить твое внимание на звуковое сопровождение, я думаю нужно выбрать что то более спокойное, ведь это обучающие ролики, и такой шум не помогает концентрации, если ты понимаешь о чем я) В остальном качество роликов стало заметно выше!
у меня есть вопрос: Transform.position осуществляет движение куба за счёт перемещения по координатам(телепортации по координатам), или физическому перетаскиванию?
У меня вопрос не по теме видео. Почему у меня в VS Code нет подсказок, как transform, position и тд.? Есть только подсказки C# и функций юнити. Я много чего делал, но ничего не помогает. В интернете ответ найти не смог.
Закрой VS Code и попробуй его открыть через меню Assets->Open C# Project, потом подожди пока все прогрузится, если не заработает установи Visual Studio, через него открой проект, а потом пробуй снова через VS Code, если не поможет, я даже знаю что еще
Привет! А у тебя в планах есть урок по машине состояний(finite state machine)? Было бы интересно именно у тебя посмотреть. И вообще хотелось бы видосов про ИИ в играх
Скажи а как сделать так, чтобы ИИ пошел за определенным rigidbody предметом и перенес его в склад ( физический перенес ) и чтобы переменная количества предметов на складе после этого увеличилась?
Привет, ты можешь заблокировать ось вращения, тебе надо посмотреть ролик про rigidbody у меня на канале и будет тебе колесо, но для колес в unity есть wheel collider загугли
@@NovaDev-Stormrage А, так это чтобы искючить повторение извлечения по тегу, мы сохраняем это в переменную. Спасибо, не сразу это докатилось! Я то думал трансформ оптимизирован, буду знать, благодарю!
@@NovaDev-Stormrageсть вопрос. Если я заранее создам static class и в конструкторе присвою, допустим, _player = GetComponent, насколько удачно это будет работать, чтобы в дальнейшем не искать? Как бы закешировать это один раз на первом запуске, или даже определить вычисляемые свойства, как синглотны, player => _player ??= getComponent и выполнять поиск не сразу всего, а по требованию, но все так же один раз, а после использовать ссылку уже на найденный ранее объект. Буду рад вашему ответу)
@@evgeniyt.2858 Если у тебя маленький проект то статический класс как у тебя норм, а в целом кэшировать нужные ссылки это вопрос архитектуры твоего проекта, я делаю запуск уровня как в моем последнем видео про машину состояний, там после загрузки я спавню игрока и если нужно сохранить ссылку то я делаю некий сервис где хранятся текущие ссылки или параметры для уровня и записываю туда, а где нужно то получаю их через свой сервис, мб запишу видео на эту тему
@@NovaDev-Stormrage спасибо за ответ! Я думаю в целом там не так много памяти нужно для хранения такого объема, главное очищать на разных сценах. Или можно декомпозировать по неким компонентам, таким образом получится еще более тонко контролировать память и держать в ней только необходимые на данный момент ссылки. И еще если можно вопрос) вы используете события в своих проектах? И если, да, то каким образом вы бы не советовали их использовать?
Как повернуть вектор? Чтобы было как в случае с transform.forward куда не поверни объект синяя стрелка указывает вперед объекта. Как мне поворачивать вектор чтобы менять направление его оси?
@@NovaDev-Stormrage, задача такая есть переменная типа Vector3 в ней хранится предыдущая позиция автомобиля и сравнивается с текущей, так вот нужно повернуть вектор текущей позиции в сторону направления движения автомобиля (это не одно и тоже, что transform.forward машина может скользить в бок, тогда вектор направления будет смотреть в бок автомобиля). Так вот мне нужно повернуть вектор также как это делается с transform если повернуть объект, то вектор учитывает его повороты и соответственно синяя стрелка смотрит туда, куда повернуть объект
Очень круто, реально путался с передвижением, всё четко, лайкос
Очень круто! Самое топовое видео по векторам! Все ясно и доступно) благодарю, подписался)
Найс я теперь понимаю это единственное видео которое я понял за 6 месяцев
Абсолютно с тобой солидарен, автор толково рассказывает и поясняет.
Чувак, это очень круто, лучшие гайды!
Спасибо
Спасибо, помог разобраться😊
Мы ждали тебя!!!!! Спасибо за урок
Ее спасибо мужики
Непривычно слышать нормированный вектор) Чаще в геймдеве вроде нормализованный говорят. Только вот с описание что-то не так. Это значит не то, что его значения не выходят за что-то, а то, что его длина равна 1. Для двумерного вектора (1; 1) его нормализованная версия будет примерно (0,7071; 0,7071).
Иначе, скорость при перемещении по диагонали будет быстрее, чем по прямой.
ps. отличная подача!
Спасибо Олег
бляяяя...ин, столько инфы за раз, голова распухла))))))) но блин интересно) спасибо)))
А ещё спасибо за формулы! Даёшь больше формул!!!!!
Формулы что бы просто были, мб кому то надо, так юнити за нас все считает
Подскажите, пожалуйста, какая операция будет менее затратна по производительности для нормализации вектора - разделить квадратный вектор на sqrMagnitude или разделить вектор на magnitude, учитывая, что нахождение квадратного корня очень дорогое. То есть в коде первый вариант выглядел бы так :
Vector3 sqrDirection = direction * direction;
Vector3 normalizedVector = sqrDirection / direction.sqrMagnitude;
А второй - вот так:
Vector3 normalizedVector = direction.normalized
Возьми направление и подели на квадрат магнитуды, direction /= direction.sqrMagnitude docs.unity3d.com/ru/530/Manual/UnderstandingVectorArithmetic.html
это самое оптимальное
@@NovaDev-Stormrage благодарю
Эх, где ты был 2 недели назад, а то я 4 дня просидел с этими кватернионами и векторами, смотрел кстати и твой ролик, со всякими тоесть, хах. С виртуальными осями еще конкретно затупил, умножал на дельту направление движения мышки на экране, и долго не мог понять почему у меня скорость камеры меняется в билде(спойлер: из-за вертикальной синхронизации). Пока искал в чем проблема наткнулся на новую систему ввода юнити, и слава богу кстати, она намного удобнее, чем Inputы, так что совет новичкам, если вы только начинаете, научитесь пользоваться именно ей, она точно стоит потраченного времени на изучение.
Соглашусь, Unity Input System стоит того, что бы его освоить
Трек в конце топчик)
Подтверждаю, MYTH & ROID「L.L.L.」
Начал делать сценарий для видосов? Красава! Хотел бы обратить твое внимание на звуковое сопровождение, я думаю нужно выбрать что то более спокойное, ведь это обучающие ролики, и такой шум не помогает концентрации, если ты понимаешь о чем я) В остальном качество роликов стало заметно выше!
Спасибо, я все еще ищу, свой стиль подачи материала
у меня есть вопрос: Transform.position осуществляет движение куба за счёт перемещения по координатам(телепортации по координатам), или физическому перетаскиванию?
телепортация по координатам
У меня вопрос не по теме видео. Почему у меня в VS Code нет подсказок, как transform, position и тд.? Есть только подсказки C# и функций юнити. Я много чего делал, но ничего не помогает. В интернете ответ найти не смог.
Закрой VS Code и попробуй его открыть через меню Assets->Open C# Project, потом подожди пока все прогрузится, если не заработает установи Visual Studio, через него открой проект, а потом пробуй снова через VS Code, если не поможет, я даже знаю что еще
@@NovaDev-Stormrage Не помогло ни то, ни то.(
@@farmer2456 А ты все сделал по гайду code.visualstudio.com/docs/other/unity
@@NovaDev-Stormrage Да, только у меня не прописался .NET в PATH, и вручную он прописываться не хочет. Может из-за этого не работает?
@@farmer2456 Переустанови его и при установке поставь галочку прописать в Path
Привет! А у тебя в планах есть урок по машине состояний(finite state machine)? Было бы интересно именно у тебя посмотреть. И вообще хотелось бы видосов про ИИ в играх
Привет, я не знаю будут ли, но это интересно
Скажи а как сделать так, чтобы ИИ пошел за определенным rigidbody предметом и перенес его в склад ( физический перенес ) и чтобы переменная количества предметов на складе после этого увеличилась?
Привет , не скажите как вращающийся объект физический по одной оси , повернуть его по другой , как бы с имитировать колесо автомобиля
Привет, ты можешь заблокировать ось вращения, тебе надо посмотреть ролик про rigidbody у меня на канале и будет тебе колесо, но для колес в unity есть wheel collider загугли
Привет! Какой раздел математики может посоветовать поучить, для того, чтобы уверенно начать использовать вектора? Заранее спасибо за ответ!
Даже не знаю, не интересуюсь таким, можешь просто прочитать книгу "удовольствие от X"
Аналитическая геометрия.
Если бы я хотя бы чуть_чуть больше разбирался в классах и в архитектурах в принципе, то было бы легче.
А так однозначно лайк.
Скоро курс выпущу
Все норм, все думали что "то есть" это оператор
Круто, спасибо.
( ・ω・)☞.
Пожалуйста
А разве transform не является уже доступной переменной изначально для каждого объекта? Зачем заводить доп. переменную и получать ее по тегу?
Я вроде говорил что он каждый раз берет Transform через GetComponent
@@NovaDev-Stormrage А, так это чтобы искючить повторение извлечения по тегу, мы сохраняем это в переменную. Спасибо, не сразу это докатилось! Я то думал трансформ оптимизирован, буду знать, благодарю!
@@NovaDev-Stormrageсть вопрос. Если я заранее создам static class и в конструкторе присвою, допустим, _player = GetComponent, насколько удачно это будет работать, чтобы в дальнейшем не искать? Как бы закешировать это один раз на первом запуске, или даже определить вычисляемые свойства, как синглотны, player => _player ??= getComponent и выполнять поиск не сразу всего, а по требованию, но все так же один раз, а после использовать ссылку уже на найденный ранее объект. Буду рад вашему ответу)
@@evgeniyt.2858 Если у тебя маленький проект то статический класс как у тебя норм, а в целом кэшировать нужные ссылки это вопрос архитектуры твоего проекта, я делаю запуск уровня как в моем последнем видео про машину состояний, там после загрузки я спавню игрока и если нужно сохранить ссылку то я делаю некий сервис где хранятся текущие ссылки или параметры для уровня и записываю туда, а где нужно то получаю их через свой сервис, мб запишу видео на эту тему
@@NovaDev-Stormrage спасибо за ответ! Я думаю в целом там не так много памяти нужно для хранения такого объема, главное очищать на разных сценах. Или можно декомпозировать по неким компонентам, таким образом получится еще более тонко контролировать память и держать в ней только необходимые на данный момент ссылки.
И еще если можно вопрос) вы используете события в своих проектах? И если, да, то каким образом вы бы не советовали их использовать?
довольно понятно но для меня немного быстро
ты можешь замедлить видос)
@@NovaDev-Stormrage да-да я знаю, спасибо
Как повернуть вектор? Чтобы было как в случае с transform.forward куда не поверни объект синяя стрелка указывает вперед объекта. Как мне поворачивать вектор чтобы менять направление его оси?
Не понял вопроса, может опишите свою задачу?
@@NovaDev-Stormrage, задача такая есть переменная типа Vector3 в ней хранится предыдущая позиция автомобиля и сравнивается с текущей, так вот нужно повернуть вектор текущей позиции в сторону направления движения автомобиля (это не одно и тоже, что transform.forward машина может скользить в бок, тогда вектор направления будет смотреть в бок автомобиля). Так вот мне нужно повернуть вектор также как это делается с transform если повернуть объект, то вектор учитывает его повороты и соответственно синяя стрелка смотрит туда, куда повернуть объект
@@rayankrimmer2611 ничем не могу помочь
Умножь на минус 1
чем больше я слушаю , тем больше я чувствую себя идиотом🤣
🤣🤣
Как сделать что бы VS Code работал с юнити? Что бы были подсказки.
code.visualstudio.com/docs/other/unity вот гайд, по другому не знаю как
давай теперь про физическое движение :)
А что там про физическое движение?
Материал нужный, важный... Но чисто объективно: учить - это не твоё. Хотя возможно я ошибаюсь с целевой аудиторией на которую ты ориентируешься.
какой-то нетрадиционный чел дизлайк поставил
Честно говоря очень сложно понимать то что говорится в видосе, но, наверно этот видос не расчитан на чайников
Я пытался)
Аудио пишешь отдельно и потом режешь? Да так лучше
Все верно, видео подгоняю под аудио
Привет:) как дела?)
Здорова, все хорошо, ты как поживаешь? как там проект?