forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Дикие тормоза из-за камеры. (http://forum.boolean.name/showthread.php?t=3827)

Crystal 05.07.2007 14:49

Дикие тормоза из-за камеры.
 
Здравствуйте. Чтото непонятное тварится!
Создал значит я воду дно землю остров и корабль (типа космический)
Ну корабль так пока летает влево вправо вперёд.
Но дело в том чт окамера вызывает дикие тормоза.
Если я ставлю гденить камеру в сторонке и указываю ей следить (тобиш крутиться) за кораблём. То намёка на тормоза нет всё быстро.
А если я привязываю камеру к самому кораблю сздаи (аля вид от третьего лица) то начинаются дикие просто ужасные тормоза.
Я не пойму в чём причина. Толи движок такой слабый, толи я делаю чтото нетак. Помогите пожалуйста. Посмотрите код что нетак. :SOS:

Код:

;---------------------------------------------------WORLD:
Graphics3D 1280, 1024, 32
SetBuffer BackBuffer()

HidePointer



;---------------------------------------------------OCBELLlEHUE:

Global qw = CreateLight() ; CBET

TurnEntity qw,30,20,0

;---------------------------------------------------BODA:
Pl= CreatePlane() ;BODU4KA
EntityAlpha Pl,0.7
tx=LoadTexture("textures\WATER.PNG") ;TEKCTYPA
;PA3MEP TEKCTYPbl:
ScaleTexture tx, 50, 50
EntityTexture Pl,tx
FreeTexture tx


;---------------------------------------------------DHO:

sh= CreatePlane() ; DHO IIOD BODOU

tx=LoadTexture("textures\SAND.JPG") ;TEKCTUPA
;PA3MEP TEKCTYPbl:
ScaleTexture tx,2,2
EntityTexture sh,tx
FreeTexture tx
ScaleEntity sh,5,1,5
MoveEntity sh,0,-20.001,0

;---------------------------------------------------3EMJI9l:

;DEJIAEM 3EMJIl0:
Land = LoadMesh("models\Zemla.3DS")
EntityPickMode Land,2
NameEntity Land,"Land"
te=LoadTexture("textures\TEX37.BMP") ;TEKCTYPA
;PA3MEP TEKCTYPbl:
ScaleTexture te, 0.10, 0.10
EntityTexture Land,te
FreeTexture te


;---------------------------------------------------------------------- GG KOPA6JIb:


;DEJIAEM KOPA6JIb:
ggkor = LoadMesh("models\organik.3DS")
PositionEntity ggkor,0,150,0
RotateEntity ggkor, 0, -90, 0

;---------------------------------------------------TEKCTYPA KOPA6JI9l:
gk=LoadTexture("textures\korabel.jpg") ;TEKCTYPA
;PA3MEP TEKCTYPbl:
ScaleTexture gk, 0.5, 0.5
EntityTexture ggkor,gk
FreeTexture gk

;HA4AJIbHblE IIEPEMEHHblE KOOPDUHAT KOPA6JI9l:
rx#=0; KOOPDUHATA [X] MODEJIU KOPA6JI9l
rz#=0; KOOPDUHATA [Z] MODEJIU KOPA6JI9l
ang=0; YGOJI IIOBOPOTA MODEJIU KOPA6JI9l

;CO3DADUM 6ECKOHE4HblU LLUKJI, KOMAHDbl DJI9l U3MEHEHU9l IIOJIO}I{EHU9l


Repeat


 ;U3MEHEHUE KOOPDUHAT U YGJIA IIOBOPOTA:
 PositionEntity ggkor, rx#, 200, rz#
 RotateEntity ggkor, 0, ang + 180, 0


 ;ECJIU HA}I{ATA KJIABULLIA "BBEPX", IIEPEMELLIAEM KOPA6JIb HA BEKTOP
 ; C DJIUHHOU 15.5 IIOD YGJIOM ang:
 If KeyDown(200) Then
  rx# = rx# + Cos(ang) * 15.5
  rz# = rz# + Sin(ang) * 15.5
 End If

 ;U3MEH9lEM YGOJI IIOBOPOTA MODEJIU IIPU HA}I{ATUU KJIABULLI "BJIEBO" U
 ; "BIIPABO":
 If KeyDown(203) Then ang = ang + 5
 If KeyDown(205) Then ang = ang - 5


 ;BblXODUM, ECJIU HA}I{ATA KJIABULLIA ESC:
 If KeyDown(1) Then Exit

;---------------------------------------------------KAMEPA:

Camera = CreateCamera(ggkor)
PositionEntity Camera,800,120,40
RotateEntity Camera, 0, 90, 0
CameraRange Camera,0.1,10000
UpdateWorld

RenderWorld
Flip

Forever


H@NON 05.07.2007 15:00

Re: Дикие тормоза из-за камеры.
 
Вся проблема в том что ты камеру создаешь в цикле, а ее надо создавать в начале, тобишь перед циклом(перед repeat).

moka 05.07.2007 15:11

Re: Дикие тормоза из-за камеры.
 
Угу, получается ты постоянно создаёшь камеры, и их сотни, потом тысячи! Ты убиваешь блиц! =)
Просто создай при загрузки
Цитата:

перед циклом(перед repeat).
И потом двигай как объект или привязывай и т.п. (привязку тоже при загрузке).
Лучше разбери стандартные примеры, там очень всё хорошо расписано и всё понятно.

Crystal 05.07.2007 15:19

Re: Дикие тормоза из-за камеры.
 
Большое вам человеческое спасибо!

Тер ьвсё летает со скоростью света :super:

moka 05.07.2007 15:29

Re: Дикие тормоза из-за камеры.
 
Цитата:

Большое вам человеческое спасибо!
Всегда рады!
Обращайся ещё.
Да и на заметку: у каждого сообщения в нижнем правом углу есть кнопочка "Thanks", это отблагодарить, многие любят если их отблагодарят такой вот кнопочкой ;)

Crystal 05.07.2007 15:35

Re: Дикие тормоза из-за камеры.
 
Буду активно юзать кнопочку )


Часовой пояс GMT +4, время: 22:49.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot