Четверг, 28 Марта 2024, 13:12

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Движение сферы плеером
Движение сферы плеером
SiomonLДата: Понедельник, 22 Июня 2020, 14:32 | Сообщение # 1
был не раз
Сейчас нет на сайте
Доброго времени суток! Подскажите пожалуйста, как в Unity реализовать движение сферы плеером?
Что бы когда плеер начинал движение и тут же начинала вращаться наша сфера. Примерно по принципу белки в колесе, только мы на сфере и в 3D.
Или я совсем не умею пользоваться гуглом, или я совсем упоролась уже. Подскажите в какую сторону копать.
Заранее благодарю.
drcrackДата: Понедельник, 22 Июня 2020, 14:50 | Сообщение # 2
старожил
Сейчас нет на сайте
Плеер это игрок что ли?
SiomonLДата: Понедельник, 22 Июня 2020, 15:11 | Сообщение # 3
был не раз
Сейчас нет на сайте
Да.
Правда, это может быть или машина, или персонаж.
IlyaKosДата: Понедельник, 22 Июня 2020, 16:10 | Сообщение # 4
участник
Сейчас нет на сайте
Ну можно например так:

Знаем вектор движения плеера - vector
Получаем ось вращения: axis = Vector3.Cross (vector, Vector3.up)

сфера.Rotate (axis.normalized * speed)


Сообщение отредактировал IlyaKos - Понедельник, 22 Июня 2020, 16:11
tdukДата: Понедельник, 22 Июня 2020, 21:35 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Это как хомячок в шаре?

SiomonLДата: Вторник, 23 Июня 2020, 06:02 | Сообщение # 6
был не раз
Сейчас нет на сайте
Цитата IlyaKos ()
наем вектор движения плеера - vector
Получаем ось вращения: axis = Vector3.Cross (vector, Vector3.up)

сфера.Rotate (axis.normalized * speed)

Пасиб, сейчас попробую так.

Цитата tduk ()
Это как хомячок в шаре?

Да, только мы на шаре.
IlyaKosДата: Вторник, 23 Июня 2020, 07:32 | Сообщение # 7
участник
Сейчас нет на сайте
Цитата SiomonL ()
Ну можно например так:

Гоню я,
здесь чтобы ось вращения получить, нужно векторное произведение взять такое
Vector3 axis = Vector3.Cross (playerVector, NORMAL), где normal - нормаль к поверхности (можно получить например лучом от игрока)

и

сфера.RotateAround (сфера.position, axis.normalized, * Time.deltaTime * speed)


Сообщение отредактировал IlyaKos - Вторник, 23 Июня 2020, 07:33
SiomonLДата: Среда, 24 Июня 2020, 12:28 | Сообщение # 8
был не раз
Сейчас нет на сайте
Спасибо всем за помощь!
А подскажите как сделать так что бы персонаж постоянно был на позиции в одной и той же точке?
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Движение сферы плеером
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг