 |
3D-программирование Вопросы, касающиеся программирования 3D мира |
05.07.2007, 14:49
|
#1
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Дикие тормоза из-за камеры.
Здравствуйте. Чтото непонятное тварится!
Создал значит я воду дно землю остров и корабль (типа космический)
Ну корабль так пока летает влево вправо вперёд.
Но дело в том чт окамера вызывает дикие тормоза.
Если я ставлю гденить камеру в сторонке и указываю ей следить (тобиш крутиться) за кораблём. То намёка на тормоза нет всё быстро.
А если я привязываю камеру к самому кораблю сздаи (аля вид от третьего лица) то начинаются дикие просто ужасные тормоза.
Я не пойму в чём причина. Толи движок такой слабый, толи я делаю чтото нетак. Помогите пожалуйста. Посмотрите код что нетак.

;---------------------------------------------------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
|
(Offline)
|
|
05.07.2007, 15:00
|
#2
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Дикие тормоза из-за камеры.
Вся проблема в том что ты камеру создаешь в цикле, а ее надо создавать в начале, тобишь перед циклом(перед repeat).
|
(Offline)
|
|
05.07.2007, 15:11
|
#3
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Дикие тормоза из-за камеры.
Угу, получается ты постоянно создаёшь камеры, и их сотни, потом тысячи! Ты убиваешь блиц! =)
Просто создай при загрузки
перед циклом(перед repeat).
|
И потом двигай как объект или привязывай и т.п. (привязку тоже при загрузке).
Лучше разбери стандартные примеры, там очень всё хорошо расписано и всё понятно.
|
(Offline)
|
|
05.07.2007, 15:19
|
#4
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Дикие тормоза из-за камеры.
Большое вам человеческое спасибо!
Тер ьвсё летает со скоростью света 
|
(Offline)
|
|
05.07.2007, 15:29
|
#5
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Дикие тормоза из-за камеры.
Большое вам человеческое спасибо!
|
Всегда рады!
Обращайся ещё.
Да и на заметку: у каждого сообщения в нижнем правом углу есть кнопочка "Thanks", это отблагодарить, многие любят если их отблагодарят такой вот кнопочкой 
|
(Offline)
|
|
05.07.2007, 15:35
|
#6
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Дикие тормоза из-за камеры.
Буду активно юзать кнопочку )
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:02.
|