Главная страница
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.027 c
14-1097074167
Knight
2004-10-06 18:49
2004.10.24
Вопрос к москвичам... у которых даже Мегафон не как у всех...


1-1097581743
New
2004-10-12 15:49
2004.10.24
Скажите пожайлуста, для чего служат


1-1097323298
sasha_progman
2004-10-09 16:01
2004.10.24
круглый компонент Image


3-1096293073
AlexanderSK
2004-09-27 17:51
2004.10.24
Отключение от сервера БД


14-1096659940
Piter
2004-10-01 23:45
2004.10.24
А есть процедура, которая удаляет элемент динамического массива?