Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
1 / 1 / 1
Регистрация: 30.09.2017
Сообщений: 29
1

Как правильно вращать камеру свайпами?

01.01.2019, 22:22. Показов 3459. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
делаю вращение камеры через свайпы, и вот столкнулся с таким косяком что камера у меня вращается по локальным координатам, а мне надо по мировым (наверное) после того как первый раз повращал камеру, второй раз начинает гулять ось Z, думаю по гифке будет лучше ясна проблема (надо сделать так чтобы ось Z всегда была на 0), вот код

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public class cam : MonoBehaviour,IPointerDownHandler,IDragHandler,IPointerUpHandler{ 
 
private Vector2 Origin;
private Vector2 Direction;
 
 
public GameObject camera;
public float sensX = 3f;
public float sensY = 3f;
private Quaternion OriginalRot;
 
private void Awake() 
{ 
Direction = Vector2.zero; 
OriginalRot = camera.transform.localRotation; 
}
public void OnPointerDown(PointerEventData eventdata) { 
Origin = eventdata.position; 
} 
 
public void OnPointerUp(PointerEventData eventData) 
{ 
OriginalRot = camera.transform.localRotation; 
Direction = Vector2.zero; 
 
} 
 
public void OnDrag(PointerEventData eventData) 
{ 
Vector2 currentPozition = eventData.position; 
Vector2 directionRaw = currentPozition - Origin; 
Direction = directionRaw; 
 
} 
// 
void Update() 
{ 
 
Quaternion Xqua = Quaternion.AngleAxis( Direction.x, Vector3.up); 
Quaternion Yqua = Quaternion.AngleAxis(Direction.y, Vector3.left); 
camera.transform.localRotation = OriginalRot * Xqua * Yqua; 
 
 
 
} 
}
ссылка на гифку https://vk.com/unity_engine?w=... 4140%2Fall
очень нужна помощь, пока не сделаю вращение камеры не могу продвинутся дальше
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.01.2019, 22:22
Ответы с готовыми решениями:

Как реализовать управление свайпами для раннера-2D?
Помогите , объясните или дайте ссылку с примером. Есть объект , на него с верху летят блоки и...

Почему надо вращать не камеру, а весь "мир"
http://forum.startandroid.ru/viewtopic.php?t=7035 видимо связано с тем что расчетов меньше надо...

Как правильно отключать веб-камеру от USB когда она не используется?
Как правильно отключать веб-камеру от USB когда она не используется? Есть веб-камера Genlus eFace...

Вращать сферу вокруг центра координат, и одновременно вращать ее вокруг своей оси
Всем привет! Долблюсь о стену второй день ( Суть в том, что мне необходимо вращать сферу вокруг...

1
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
02.01.2019, 02:28 2
Просто вращения должны быть в разных системах: горзонтальное в мировых, вертикальное в локальных.
0
02.01.2019, 02:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2019, 02:28
Помогаю со студенческими работами здесь

Как вращать треугольник?
Начал изучать openGl. Собрал небольшой код, рисующий треугольник. Не могу додумать и применить...

Как вращать полигон?
Вот код: #include "stdafx.h" #include <gl\glut.h> int a = 1; void dis() { ...

Как вращать фигуру по оси
Здравствуйте! Возник такой вопрос. Как можно просто вращать фигуру вокруг определённой оси?...

Смена вкладок свайпами
Нашел туториалы для переключения между вкладками при помощи свайпов, но во всех этих примерах...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru