Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

GLScene GLNavigator косяк. Кто сталкивался?   Найти похожие ветки 

 
КиТаЯц ©   (2004-06-18 10:51) [0]

Значит так. Налепил мне приятель SMD моделей. Загружаю в GLScene - они все "мордой вниз". Говорю типа "поверни правильно"; он отвечает, что типа это у них, дизайнеров, головняк. Ладно, будем сами поворачивать
procedure TMainForm.CheckBox7Click(Sender: TObject);
begin
if GLActor <> nil then begin
 with GLActor do
 if CheckBox7.Checked
   then begin // повернутая
     Up.z:=-1; Up.y:=0; Up.x:=0;
     GLNavigator.UseVirtualUp:= True; //!!!!!!!!!!!!!!!!!!
     end
   else begin // по умолчанию
     Up.z:=0; Up.y:=1; Up.x:=0;
     GLNavigator.UseVirtualUp:= False;
     end;
end;
end;

Чтобы модель правильно двигалась в свойствах навигатора стоИт GLNavigator.VirtualUp.Y:=1;
Далее...
procedure TMainForm.SpeedButton7Click(Sender: TObject);
begin
if GLNavigator.MovingObject <> nil then
GLNavigator.MoveForward(10);
end;

Так вот, если модель загружена "по умолчанию", то все ОК. Жмем на кнопку - модель движется башкой вперед по оси Z. А вот при включенном GLNavigator.UseVirtualUp куда-то улетает. Проверка
procedure TMainForm.GLSceneViewerDblClick(Sender: TObject);
begin
if GLActor <> nil then begin
showmessage(
"GLActor.Position.X = "+Floattostr(GLActor.Position.X)+#13+
"GLActor.Position.Y = "+Floattostr(GLActor.Position.Y)+#13+
"GLActor.Position.Z = "+Floattostr(GLActor.Position.Z)
);
showmessage(
"GLActor.Position.X = "+inttostr(round(GLActor.Position.X))+#13+
"GLActor.Position.Y = "+inttostr(round(GLActor.Position.Y))+#13+
"GLActor.Position.Z = "+inttostr(round(GLActor.Position.Z))
);
end;
end;

возвращает в первом сообщениии NAN во втором -9223372036851775808 %( Причем TurnHorizontal работает нормально. Кто с подобным косяком сталкивался? В чем дело?


 
kerby ©   (2004-06-18 13:07) [1]

Даешь параметры

GlActor.Direction(x,y,z)

GlNavigator.VirtualUp(x,y,z)


 
КиТаЯц ©   (2004-06-18 13:27) [2]

GlActor.Direction 0 1 0
GlNavigator.VirtualUp 0 1 0
GLNavigator.MoveForward(10); // ошибка


 
kerby ©   (2004-06-21 11:07) [3]

кинь на мыло модель , моно с кодом проги разберемся


 
КиТаЯц ©   (2004-06-21 13:15) [4]

2 kerby ©   (21.06.04 11:07) [3]
Отправил...



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1097485587
aleshap
2004-10-11 13:06
2004.10.24
Как определить, что запустилась "Заставка Экрана"


4-1095880392
BKGG
2004-09-22 23:13
2004.10.24
Как узнать имя класса окна.


4-1095749203
Users
2004-09-21 10:46
2004.10.24
Редакторы RC (аля Resource Workshop )


1-1097423598
dracula
2004-10-10 19:53
2004.10.24
конвертация кодировок


14-1096062906
Мазут Береговой
2004-09-25 01:55
2004.10.24
А такая тема была уже? Про дырку в JPEG.