Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Получить forward?

Получить forward?

Страницы: 1 2 Следующая »
monobogdanЗабаненwww23 авг. 20179:54#0
Пытаюсь получить forward камеры умножая позицию на поворот камеры но получаю что угодно но не forward.
Вообще правильно умножать позицию на матрицу поворота, только вот доступа к матрице поворота у меня нет.
Как всё таки получить forward?
E-ConeУчастникwww23 авг. 201710:18#1
Вращение камеры умножь на вектор (0,0,1)
monobogdanЗабаненwww23 авг. 201710:36#2
E-Cone
спасибо! С позицией я протупил, согласен.
В Unity было проще :)
monobogdanЗабаненwww23 авг. 201711:31#3
    D3DXVECTOR3 up = D3DXVECTOR3(0.0f, 0.00f, 1.0f);
    forward.x = rot.x * up.x;
    forward.y = rot.y * up.y;
    forward.z = rot.z * up.z;
    pos.x = forward.x + 0.1f;
    pos.y = forward.y + 0.1f;
    pos.z = forward.z + 0.1f;

получаю странное летание туда сюда.
rot - поворот по euler angles.

Правка: 23 авг. 2017 11:32

g-contПостоялецwww23 авг. 201721:44#4
monobogdan
а зачем ты умножаешь углы эйлера на вектор?
monobogdanЗабаненwww23 авг. 201721:50#5
g-cont
я уже вот так попробовал:
yrotrad = (ry / 180 * 3.141592654f); 
    xrotrad = (rx / 180 * 3.141592654f); 
    pos.x += float(sin(yrotrad));
    pos.y -= float(sin(xrotrad));
    pos.z += float(cos(yrotrad));
Но камера перевернутая т.е нажимаю вперед иду куда то назад, и влево/вправо перевернуты.
war_zesПостоялецwww24 авг. 20173:31#6
monobogdan
> Но камера перевернутая т.е нажимаю вперед иду куда то назад, и влево/вправо
> перевернуты.
ну так поменяй знак. вместо += пиши -= и наоборот
monobogdanЗабаненwww24 авг. 201710:51#7
war_zes
Это уже создает искажения.
g-contПостоялецwww24 авг. 201711:48#8
monobogdan
ты хочешь камеру от третьего лица сделать?
monobogdanЗабаненwww24 авг. 201712:48#9
g-cont
от первого
DimichПостоялецwww24 авг. 201719:54#10
monobogdan
> pos.x += float(sin(yrotrad));
> pos.y -= float(sin(xrotrad));
> pos.z += float(cos(yrotrad));
А где ты эту формулу нашёл?
http://www.songho.ca/opengl/gl_anglestoaxes.html

Правка: 24 авг. 2017 19:56

monobogdanЗабаненwww24 авг. 201720:18#11
Dimich
Погуглил, и нашёл.

Правка: 24 авг. 2017 20:19

monobogdanЗабаненwww24 авг. 201720:26#12
Вот так ведет себя камера
https://giphy.com/gifs/l4FsuXDbfF5ooqQ7e
DimichПостоялецwww24 авг. 201720:43#13
monobogdan
Ссыль мою почитал?
g-contПостоялецwww25 авг. 201712:16#14
monobogdan
а зачем тогда на forward умножаешь?
Страницы: 1 2 Следующая »

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр