Предыдущие сообщения, похоже, не решили мою проблему.
Я пытаюсь заставить камеру перемещаться вокруг определенной точки, называемой «цель». Цель — это пустой игровой объект, расположенный в центре моей игры. Идея состоит в том, что камера не будет приближаться к цели или удаляться от нее, а будет просто вращаться вокруг цели, как если бы она двигалась по невидимой сфере. Камера всегда должна быть направлена на цель. Transform.LookAt(target) отлично справляется с наведением камеры на цель, но я не могу добиться правильного движения. Двигаюсь ли я по горизонтальной или вертикальной оси, он всегда движется по спирали прямо к цели, а не просто движется вокруг нее. Есть идеи?
public class CameraController : MonoBehaviour {
public float speed;
public Transform target;
void Update () {
transform.LookAt(target);
if(Input.GetAxis("Vertical") != 0)
{
transform.Translate(transform.up * Input.GetAxis("Vertical") * Time.deltaTime * speed); //.up = positive y
}
if(Input.GetAxis("Horizontal") != 0)
{
transform.Translate(transform.right * Input.GetAxis("Horizontal") * Time.deltaTime * speed); //.right = positive x
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/431 ... t-in-unity
Перемещение камеры вокруг объекта в Unity ⇐ C#
Место общения программистов C#
1735956869
Anonymous
Предыдущие сообщения, похоже, не решили мою проблему.
Я пытаюсь заставить камеру перемещаться вокруг определенной точки, называемой «цель». Цель — это пустой игровой объект, расположенный в центре моей игры. Идея состоит в том, что камера не будет приближаться к цели или удаляться от нее, а будет просто вращаться вокруг цели, как если бы она двигалась по невидимой сфере. Камера всегда должна быть направлена на цель. Transform.LookAt(target) отлично справляется с наведением камеры на цель, но я не могу добиться правильного движения. Двигаюсь ли я по горизонтальной или вертикальной оси, он всегда движется по спирали прямо к цели, а не просто движется вокруг нее. Есть идеи?
public class CameraController : MonoBehaviour {
public float speed;
public Transform target;
void Update () {
transform.LookAt(target);
if(Input.GetAxis("Vertical") != 0)
{
transform.Translate(transform.up * Input.GetAxis("Vertical") * Time.deltaTime * speed); //.up = positive y
}
if(Input.GetAxis("Horizontal") != 0)
{
transform.Translate(transform.right * Input.GetAxis("Horizontal") * Time.deltaTime * speed); //.right = positive x
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/43187019/moving-camera-around-an-object-in-unity[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия