Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Unity что означает эта строчка ?

. . Ученик (142), на голосовании 4 месяца назад
rb.MovePosition(rb.position + moveVector * speed * Time.deltaTime);

rb - rigidbody
movevector - vector3

что означает эта строчка кода (это передвижение персонажа). Я понял только передвижение влево-вправо, но я не понимаю почему он ходит благодаря этой строчке... Помогите пожалуйста
Голосование за лучший ответ
соня огузкова Знаток (290) 5 месяцев назад
хз, но это программа для приложений (наверное)
. .Ученик (142) 5 месяцев назад
moveVector.x = Input.GetAxis("Vertical");
moveVector.z = Input.GetAxis("Horizontal");
rb.MovePosition(rb.position + moveVector * speed * Time.deltaTime);

это если полностью. Но все равно ничго не понимаю, первые 2 строчки понятно только
mustachioedWimp Гуру (3731) . ., тут вероятно перегружена операция +, поскольку как я понял moveVector это объект класса и у него есть члены: x,z. Где y?)
. .Ученик (142) 5 месяцев назад
y это же верх, мне надо прямо - назад =). moveVector объект, сейчас посмотрел. Но я все равно не понимаю в чем смысл умножать position на moveVector * скорость и дельтатайм. + у movevector не выделена ось, тоесть, он будет умножаться по всем осям ?
mustachioedWimp Гуру (3731) . ., смотря как операторы перегружены. Это же объект или у вас в C# как то по другому?)
mustachioedWimp Гуру (3731) 5 месяцев назад
а что конкретно не понятно?
. .Ученик (142) 5 месяцев назад
moveVector.x = Input.GetAxis("Vertical");
moveVector.z = Input.GetAxis("Horizontal");
rb.MovePosition(rb.position + moveVector * speed * Time.deltaTime);

первые 2 строчки понятны, но я не понимаю как персонаж двигается вперед-назад благодаря этой строчке. Также у меня возник баг - W - назад S - вперед, и я не знаю как это пофиксить, хотя должно быть наоборот. Возможно виновата эта строчка но я не особо понимаю что к чему в ней. Почему написано + moveVector хотя у меня есть два вектора, и как тут связана скорость, если в первых строчках ее нет
mustachioedWimp Гуру (3731) . ., посмотри определение класса объекта moveVector, что даёт перегрузка операции +
Похожие вопросы