Главная страница
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.48 MB
Время: 0.023 c
14-1096894068
_Alex_
2004-10-04 16:47
2004.10.24
Вакансия Delphi-программиста.


14-1097150551
Lool
2004-10-07 16:02
2004.10.24
Еще одна задача


1-1097152225
Strimer
2004-10-07 16:30
2004.10.24
TToolBar


3-1095973708
alexda
2004-09-24 01:08
2004.10.24
Чтение и запись из(в) Blob-поля


3-1096105827
Плюс
2004-09-25 13:50
2004.10.24
Проблемы установки