[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Spidy, turBO, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » HELP
HELP
BlitzBestДата: Среда, 27.08.2008, 12:27 | Сообщение # 1
ламер
Группа: Пользователи
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
Как навести мышь и камеру на игрока ?
 
blitz3dДата: Среда, 27.08.2008, 17:52 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 203
Награды: 3
Репутация: 7
Статус: Offline
PointEntity camera,man

перед тобой две таблетки - красная и синяя - какую ты выберешь?
 
BlitzBestДата: Среда, 27.08.2008, 19:51 | Сообщение # 3
ламер
Группа: Пользователи
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
а как мышь навести на игрока ?

Добавлено (27.08.2008, 20:31)
---------------------------------------------
и еще как мне сделать чтобы камера следила за игроком

Добавлено (27.08.2008, 20:51)
---------------------------------------------
или точнее как привязать мышь и камеру к главному герою

Сообщение отредактировал BlitzBest - Среда, 27.08.2008, 19:46
 
DzirtДата: Среда, 27.08.2008, 20:11 | Сообщение # 4
форумовец
Группа: Модераторы
Сообщений: 260
Награды: 2
Репутация: 9
Статус: Offline
При вводі команди PointEntity camera,igrok в головному циклі(!) камера буде автоматично слідкувати за ігроком.

Головне в грі не графіка,а сюжет......хоча без першого його й розуміти не хочеться.)
 
BlitzBestДата: Четверг, 28.08.2008, 19:18 | Сообщение # 5
ламер
Группа: Пользователи
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
я так делал но непомогает.. сам незнаю почему

Добавлено (28.08.2008, 11:41)
---------------------------------------------
Graphics3D 800,600,16,2

SetBuffer BackBuffer()

Global cam_x#,cam_z#,cam_pitch#,cam_yaw#,cam_speed#=0.5
Global dest_cam_x#,dest_cam_z#,dest_cam_pitch#,dest_cam_yaw#
Global ent_x#,ent_z#,ent_pitch#,ent_yaw#,ent_speed#=0.5
Global dest_ent_x#,dest_ent_z#,dest_ent_pitch#,dest_ent_yaw#

orydie = LoadMesh("robotic.3ds")
PositionEntity orydie, -5,-5,300
ScaleEntity orydie, 0.5, 0.5, 0.5
RotateEntity orydie, 0, 0, 0

Dom = LoadMesh("ESTACI_L.3DS")
ScaleEntity Dom, 0.02, 0.02, 0.02
PositionEntity Dom,30,30,30
RotateEntity Dom, 0, 100, 0

Dom2 = LoadMesh("STORY_M.3DS")
ScaleEntity Dom2, 0.02, 0.02, 0.02
PositionEntity Dom2,30,30,500
RotateEntity Dom2, 0, 0, 0

cam=CreateCamera()
PositionEntity cam, 64, 64, 500
RotateEntity cam, 0, 0, 0
l = CreateLight()
RotateEntity l, 0, 45, 45

ground = CreatePlane()
PositionEntity ground, 0, -8, 0
grass = LoadTexture("3.jpg")
ScaleTexture grass, 1, 1
EntityTexture ground, grass

Repeat

PointEntity cam,orydie

If KeyDown(1) Then Exit

mouselook(cam)
If KeyDown(17) Then MoveEntity orydie ,0,0,1
If KeyDown(31) Then MoveEntity orydie ,0,0,-1
If KeyDown(30) Then MoveEntity orydie ,-1,0,0
If KeyDown(32) Then MoveEntity orydie ,1,0,0

UpdateWorld
RenderWorld

Flip

Forever

End

Function mouselook(cam)
mxs=MouseXSpeed()
mys=MouseYSpeed()

mouse_shake=Abs(((mxs+mys)/2)/1000.0)

dest_cam_yaw#=dest_cam_yaw#-mxs
dest_cam_pitch#=dest_cam_pitch#+mys

cam_yaw#=cam_yaw+((dest_cam_yaw-cam_yaw)/5)
cam_pitch#=cam_pitch+((dest_cam_pitch-cam_pitch)/5)

RotateEntity cam,cam_pitch#,cam_yaw#,0
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
End Function

Добавлено (28.08.2008, 11:41)
---------------------------------------------
вот весь код может так легче будет ответить тебе.. а то я незнаю в чем причина

Добавлено (28.08.2008, 20:18)
---------------------------------------------
блин кароче я все испробовал я упровляю игроком но камера за ним не следит. кто нибудь скажите почему

Сообщение отредактировал BlitzBest - Четверг, 28.08.2008, 11:20
 
blitz3dДата: Пятница, 29.08.2008, 09:40 | Сообщение # 6
Admin
Группа: Администраторы
Сообщений: 203
Награды: 3
Репутация: 7
Статус: Offline
Ты хочешь чтобы камера вращалась или следила за игроком?

Если тебе надо чтобы камера следила за игроком просто отключи процедуру mouselook(). В ней ты строго задаешь поворот камеры и ее экспозицию:

Code
RotateEntity cam,cam_pitch#,cam_yaw#,0


перед тобой две таблетки - красная и синяя - какую ты выберешь?
 
BlitzBestДата: Пятница, 29.08.2008, 10:56 | Сообщение # 7
ламер
Группа: Пользователи
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
типо функцию удалить ?
Function mouselook(cam)
mxs=MouseXSpeed()
mys=MouseYSpeed()

mouse_shake=Abs(((mxs+mys)/2)/1000.0)

dest_cam_yaw#=dest_cam_yaw#-mxs
dest_cam_pitch#=dest_cam_pitch#+mys

cam_yaw#=cam_yaw+((dest_cam_yaw-cam_yaw)/5)
cam_pitch#=cam_pitch+((dest_cam_pitch-cam_pitch)/5)

RotateEntity cam,cam_pitch#,cam_yaw#,0
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
End Function

Добавлено (29.08.2008, 11:43)
---------------------------------------------
если я удалю функцию то я мышью управлять не смогу

Добавлено (29.08.2008, 11:56)
---------------------------------------------
и еще ладно допустим я так сделал. но я делаю игру от 1 лица. и как мне сделать чтобы камера как бы ездила за игроком ?

Сообщение отредактировал BlitzBest - Пятница, 29.08.2008, 10:39
 
DzirtДата: Пятница, 12.12.2008, 14:31 | Сообщение # 8
форумовец
Группа: Модераторы
Сообщений: 260
Награды: 2
Репутация: 9
Статус: Offline
Просто ти не так виразився.....чи то ми тебе не так зрозуміли... wink
Якщо хочеш щоб камера мала координати меша головного героя,то просто введи в головному циклі :
PositionEntity Camera,entityX(tvoja_model),entityY(tvoja_model),entityZ(tvoja_model)
Ну впринципі і все.Камера буде завжди слідкувати за мешом,і в той самий час ти зможеш її повертати як тобі схочеться за допомогою вище вказанної функції.


Головне в грі не графіка,а сюжет......хоча без першого його й розуміти не хочеться.)
 
DzirtДата: Пятница, 12.12.2008, 14:32 | Сообщение # 9
форумовец
Группа: Модераторы
Сообщений: 260
Награды: 2
Репутация: 9
Статус: Offline
Або ще краще,я тобі викладу семпл кода як це реалізувати....

Головне в грі не графіка,а сюжет......хоча без першого його й розуміти не хочеться.)
 
hitnerДата: Воскресенье, 11.01.2009, 14:36 | Сообщение # 10
ламер
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Quote (BlitzBest)
или точнее как привязать мышь и камеру к главному герою

Привязать камру к герою очень просто!
cam=CreateCamera(имя переменной героя)
tongue

 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » HELP
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: