GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (255 стр.)

Сообщения на форуме пользователя Andrey (255 стр.)

DX9Engine.rar26 авг. 20048:35#21
Paronator
Инструкция по адресу "0x0040df08" обратилась к памяти по адресу "0x00000000"
Память не может быть прочитана

0040DF08 mov ecx,[eax] - вроде в этом месте

Может указатели проверять надо?

Камера не вращается полностью вокруг осей26 авг. 20048:29#5
minorlogic
А где его взять?
Камера не вращается полностью вокруг осей25 авг. 200412:24#3
Uranius
Не помогает!!!!
quaternion -> CreateFromAxisAngle(1, 0, 0, AngleY);//Тут поисходит преобразование в радианы
Камера не вращается полностью вокруг осей25 авг. 200411:49#1
Люди ну помогите пожалуйста!!!
Покритикуйте игру SILENT ATTACK - The Near Danger25 авг. 20048:56#12
scientificman
Вот качаю
Камера не вращается полностью вокруг осей24 авг. 200420:37#0
Привет всем сделал наконец камеру на кватернионах.
Перед этим естественно почитал 2 статьи на этом отличном сайте :).

для вращения камеры используется  код:

//Point2D  - структура из 2 координат типа float для хранени координат мыши
void Camera::Rotate(Point2D &point)
{
          //...
          anX = point.r0;        //Получение приращения координаты X мыши
          anY = point.r1;        //Получения приращения координаты Y мыши

          AngleX += anX;      //Общий угол поворота	в плоскости X0Z
          AngleY += anY;      //Общий угол поворота	в плоскости Y0Z

         //Вот тут как-то надо ограничения ставить пробовал так,но не помогает:
          if (AngleX > 360)
             AngleX -= 360;
          if (AngleX < - 360)
              AngleX += 360;
          if ((AngleX > 90 && AngleX < 270) ||
            (AngleX < - 90 && AngleX > - 270))
             AngleX -= anX;
          else
	AngleX += anX;

         if (AngleY > 360)
             AngleY -= 360;
          if (AngleY < - 360)
              AngleY += 360;
          if ((AngleY > 90 && AngleY < 270) ||
            (AngleY < - 90 && AngleY > - 270))
             AngleY -= anY;
          else
	AngleY += anY;


          quaternion -> CreateFromAxisAngle(1, 0, 0, AngleY);//Создание из осевого угла

          Quaternion q;

          q.CreateFromAxisAngle(0, 1, 0, AngleX);//Создание из осевого угла

          *quaternion = q * (*quaternion);	//Общий поворот произведение кватернионов
          //...
}

Но камера не может полностью вращаться вокруг осей.Не может сделать полный оборот Подскажите в чем дело.
Спасибо всем заранее.
С Уважением Андрей

Покритикуйте игру SILENT ATTACK - The Near Danger24 авг. 200413:09#3
Ок желательно по 1Мб.Наверное это и другим не помешает.
Покритикуйте игру SILENT ATTACK - The Near Danger24 авг. 200412:53#1
scientificman
Я за раз не более 1.5 метра могу скачать я бы с удовольствием скачал и оценил.По скриншотам все красиво.

Правка: 24 авг. 2004 12:57

Зацените фейковое освещение24 авг. 20048:37#54
PC
А вторая еще круче!!!
Зацените фейковое освещение24 авг. 20048:31#53
PC
Молодец!!! (Еще и на ошибки при открытии файла проверяешь) когда я до такого дойду...

Правка: 24 авг. 2004 8:32

Вопрос по кватернионам23 авг. 200420:14#5
wat
>вообще есть две статьи на сайте. Ты читал их?
Я читал статьи на основе их я cделал класс Quaternion
>void Camera::Rotate(Point2D &point), что она делает внутри?

Внутри она вращает камеру.На векторах все работает.

Point2D &point - сюда предаются текущие координаты мыши вычисляя разницу между
координатами получаем угол поворота.

//Вращение сцены
void Camera::Rotate(Point2D &point)
{
	GLfloat kx = mouse -> GetYaw();//Масштаб угла по x
	GLfloat ky = mouse -> GetPitch();//Масштаб угла по у
	anX = point.r0 / kx;
	anY = point.r1 / ky;
//......

		AngleX += anX;
	                AngleY += anY;
//Начиная с этого места конкретно не понятно как вращать камеру на квантерионах
//В плоскости X0Z и Y0Z
		//Поворот в плоскости XOZ

                                //Поворот в плоскости XOZ

Как конкретно повернуть камеру в плоскости X0Z и YOZ?
Получить общий поворот надо перемножение этих поворотов.
Я так понимаю надо повернуть камеру в плоскости XOZ.
потом создать отдельно кватернион.Повернуть камеру в плоскости YOZ
Потом перемножить 2 кватерниона?
Я правильно понимаю?

Правка: 23 авг. 2004 20:16

Вопрос по кватернионам23 авг. 200419:33#2
Народ ну кинте ссылку что-ли если уже тема обсуждалась?Ну не ужели никто не сможет мне помочь?
Вопросы по движку20 авг. 200414:35#20
-= Freeze =-
Спасибо!!!!
Вопросы по движку20 авг. 200414:32#18
Disabled
Вот спасибо теперя я все понял

Спасибо всем!!!

std:vector.erase ошибка20 авг. 200413:03#10
irek
Ты попробовал проверить то что я предложил?
попробуй вместо vector list у меня он прекрасно работает

Следующие темы >>

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