| Движение сферы плеером | 
|  | 
| 
| 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 |  |   был не раз Сейчас нет на сайте | Спасибо всем за помощь! А подскажите как сделать так что бы персонаж постоянно был на позиции в одной и той же точке?
 |  |  |  |  |