Показать сообщение отдельно
Старый 10.03.2006, 00:05   #1
Gnom
AnyKey`щик
 
Регистрация: 07.03.2006
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Хорошо

код
;============================================

DefScreenSizeX	=800
DefScreenSizeY=600
DefScreenColorMode=32

Graphics3D DefScreenSizeX, DefScreenSizeY, DefScreenColorMode, 0
SetBuffer BackBuffer()

;============================================

Global player
Global camera
Global camPivot
Global camDest# = 24

;============================================

Function SpawnPlayer()
	px# =0
	py# =0
	pz# =0
	
	player = LoadAnimMesh ("data\models\tmp.b3d")
	camPivot=CreateCamera(player)
	camera=CreateCamera(camPivot)
	PositionEntity player, px#, py#, pz#
	PositionEntity camera, 0, camDest#, camDest# *-1
	
End Function 

Function GroundPlane();test

ground = CreatePlane()
PositionEntity ground, 0, 0, 0
grass = LoadTexture("data\textures\ground01.tga")
ScaleTexture grass, 10, 10
EntityTexture ground, grass

End Function

Function PlayerControl() 
V#=0.5
u#=0
camDest# =camDest# - MouseZSpeed() 

	If camDest# <4 Then camDest# =16 
 If camDest# >64 Then camDest# =32 

TurnEntity camPivot, MouseYSpeed(),0,0
TurnEntity camPivot, 0,-MouseXSpeed(),0

	If KeyDown(200) Then MoveEntity player, 0, 0, 1	
	If KeyDown(208) Then MoveEntity player, 0, 0, -1

 If KeyDown(203) Then TurnEntity player, 0, 5, 0 
	If KeyDown (205) Then TurnEntity player, 0, -5, 0 
	
MoveMouse GraphicsWidth()*0.5, GraphicsHeight()*0.5

PositionEntity camera, 0, camDest# , camDest# *-1
PointEntity camera, player

End Function

;============================================

GroundPlane()
SpawnPlayer()

;============================================
While Not KeyHit(1)=1
PlayerControl()
RenderWorld()
Print EntityPitch#(camPivot)
Print EntityYaw#(camPivot)
Print EntityRoll#(camPivot)
Flip
Wend
End
Проблема:
камера должна вращаться вокруг игрока- она это делает, но при определенном повороте по одной из осей начинается непредсказуемое вращение....
Пробовал ставить ограничения разные на угол поворота- получается резкий скачек при вращении камерой- не красиво.
Подскажите, пожалуста, как сделать нормальное вращение камеры вокруг игрока?
(Offline)
 
Ответить с цитированием