Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Наконец-то выбрался из череды учений и вернулся к блицу!
Реально.
А у меня есть вопрос по камере!
Как настраивать я уже благодаря jimon понял!
1) Как сделать так, что бы камера плавно поворачивалась за игроком (как в примере driver или x-fighter). К сожалению примера driver нет, а xfigter слишком сложный
2) Как заставить камеру при переключении от одного вида (1,2 кнопки на клаве) плавно переходила в другой вид, а не "прыгала"
Очень прошу помочь!

Graphics3D 800,600,32,2
SetBuffer BackBuffer()
Global camera
Global player
Const typeplayer=1
Const typescene=2
Const typecamera=3
scene=CreateCube()
wall1=CreateCube()
wall2=CreateCube()
wall3=CreateCube()
wall4=CreateCube()
camera=CreateCamera()
player=CreateCube()
;------------------------------------------------;
PositionEntity player,25,5,20
TurnEntity camera,30,0,0
FitMesh scene,0,0,0,50,2,50
FitMesh wall1,0,2,0,2,2,50
FitMesh wall2,48,2,0,2,2,50
FitMesh wall3,0,2,0,50,2,2
FitMesh wall4,0,2,48,50,2,2
EntityColor scene ,0,255,0
EntityColor wall1,200,100,100
EntityColor wall2,200,100,100
EntityColor wall3,200,100,100
EntityColor wall4,200,100,100
EntityType scene,typescene
EntityType wall1,typescene
EntityType wall2,typescene
EntityType wall3,typescene
EntityType wall4,typescene
EntityType camera,typecamera
EntityType player,typeplayer
EntityRadius scene,.5
EntityColor player,255,0,0
Collisions typeplayer,typescene,2,3
Repeat
TranslateEntity player,0,-1,0
If KeyDown(75) TurnEntity camera,0,1,0
If KeyDown(77) TurnEntity camera,0,-1,0
If KeyDown(72) TurnEntity camera,1,0,0
If KeyDown(80) TurnEntity camera,-1,0,0
If KeyDown(71) MoveEntity camera,0,0,1
If KeyDown(73) MoveEntity camera,0,0,-1
If KeyDown(200) MoveEntity player,0,0,1
If KeyDown(208) MoveEntity player,0,0,-1
If KeyDown(203)TurnEntity player,0,5,0
If KeyDown(205) TurnEntity player,0,-5,0
If KeyHit(2) Then set_cam(1)
If KeyHit(3) Then set_cam(2)
If KeyHit(4) Then set_cam(3)
If KeyHit(5) Then set_cam(4)
If KeyHit(6) Then set_cam(5)
;ioou;
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End
Function set_cam(camerasrate)
Select camerasrate
;EAIA?A++++++++++++++++++++++++++++++++++++++++++
Case 1
PositionEntity camera,EntityX(player,1),EntityY(player,1),EntityZ(player,1),1
RotateEntity camera,EntityPitch(player,1),EntityYaw(player,1),EntityRoll(player,1),1
EntityParent camera, player,1
Case 2
PositionEntity camera,EntityX(player,1),EntityY(player,1)+5,EntityZ(player,1),1
RotateEntity camera,EntityPitch(player,1)+45,EntityYaw(player,1),EntityRoll(player,1),1
MoveEntity camera,0,0,-10
EntityParent camera, player,1
Case 3
End
Case 4
End
Case 5
End
End Select
End Function
|