![]() |
Re: RPG
Спасибо :super:
Много чего узнал :teach: |
Re: RPG
ну помогите с камерой ПОЖАЛУЙСТА только это осталось сделать в моей РПГ
|
Re: RPG
излогайте всю проблему пожалуйста.
камера привязанна к игроку и должна крутиться юез игрока (т.е. просто менять обзаор). тогда так: Код:
До главного цикла припарентиваем пивот к игроку и крутим ЕГО. Притом камеру привязываем именно к этому пивоту (тогда она будет крутится вокруг игрока). P/S/ возможно прийдется поставить минус куда нибудь. |
Re: RPG
спасибо но это не то.попробую подробно обьяснить свою проблему:
вот твой код для того чтобы игрок переместился в точку пика: Graphics3D 640,480,16,2 SetBuffer BackBuffer() pl=CreatePlane() PointEntity cam,pl EntityPickMode pl,2 ;устанавливаем режим пика на 2 - т.е. полигональное cub=CreateCube() EntityColor cub,255,0,0 cam=CreateCamera(cub) PositionEntity cam,0,30,-50 piv=CreatePivot() While 1 If MouseHit(1) e=CameraPick(cam,MouseX(),MouseY()) ;пик по позиции мыша PositionEntity piv,PickedX(),PickedY(),PickedZ() ;ставим пивот в точку пика PointEntity cub,piv EndIf If EntityDistance(cub,piv)>1; если далеко до пивота, то двигаем куб MoveEntity cub,0,0,1 EndIf RenderWorld Flip If KeyDown(1) Then Exit Wend она нормально работает но когда перемечаешь игрока(пиком) то камера поворачивается вместе с игроком и не понятно куда двигаешся. по подсказке mr.DIMAS я поставил в цикл эту строчку PositionEntity cam,EntityX(Cub),10,EntityZ(Cub)-20 и все заработало.потом я хотел сделать поворот камеры относительно игрока когда нажимаешь на правую кнопку мыши, вот код: Graphics3D 640,480,16,2 SetBuffer BackBuffer() lit=CreateLight() cub=CreateCube() EntityColor cub,255,0,0 ;устанавливаем режим пика на 2 - т.е. полигональное campiv=CreatePivot(cub) campivx=CreatePivot(campiv) campivy=CreatePivot(campivx) cam=CreateCamera(campivy) PositionEntity cam,0,30,-50 pl=CreatePlane() PointEntity cam,pl EntityPickMode pl,2 piv=CreatePivot() While 1 If MouseDown(2) mx=MouseXSpeed() my=MouseYSpeed() MoveMouse GraphicsWidth()/2, GraphicsHeight()/2 TurnEntity campivx,0,-mx/10,0 TurnEntity campivy,my/10,0,0 EndIf PositionEntity cam,EntityX(Cub),10,EntityZ(Cub)-20 If MouseHit(1) e=CameraPick(cam,MouseX(),MouseY()) ;пик по позиции мыша PositionEntity piv,PickedX(),PickedY(),PickedZ() ;ставим пивот в точку пика PointEntity cub,piv EndIf If EntityDistance(cub,piv)>1; если далеко до пивота, то двигаем куб MoveEntity cub,0,0,1 EndIf RenderWorld Flip If KeyDown(1) Then Exit Wend но камера не следит за игроком а когда убрать строчку PositionEntity cam,EntityX(Cub),10,EntityZ(Cub)-20 все работает но не понятно куда двигается куб т.к. камера поворачивается вместе с кубом .вот моя проблема и я уже незнаю как это исправить ну помогите пожалуйста |
Re: RPG
Расперло эту тему аж на пять страниц, а все началось с вопроса klopmaks'a. Ну ладно. Я постораюсь помочь.
Воть рабочий код RPG слизанный с моей рпг (Смотреть тему "Оцените") :teach: :ok: |
Re: RPG
извини конечно но это тоже не то я это уже пробовал. если никто мне не сможет помощь наверное на худой конец так сделаю
|
Re: RPG
:mda: Блин ну как же. Если честно то ни врубаюсь. Воть держи мою РПГ мож чего поймешь. А так не могу помочь.:user:
|
Re: RPG
спосибо за попытки я уже сам разобрался вот код из ГА и немного доработанная мною
Function CreatPlayer(x,y,z) player=CreateCube() PositionEntity player,x,y,z pivot=CreatePivot() PositionEntity pivot,EntityX(player),EntityY(player),EntityZ(play er) End Function Function CreateCam() cam=CreateCamera(pivot) PositionEntity cam,0,90,-150 End Function Function UpdateCam() If Abs(EntityPitch#(campivy))>u# RotateEntity campivy,u#*Sgn(EntityPitch#(campivy)),0,0 mx=MouseXSpeed() my=MouseYSpeed() PositionEntity pivot,EntityX(player),EntityY(player),EntityZ(play er) If MouseDown(2) Then TurnEntity pivot,0,-mx,0 EndIf End Function |
Ответ: RPG
Цитата:
|
Ответ: RPG
Пивот от камеры перенти так в цикле до рендерворл
PositionEntity Пивот,EntityX(Какоито месш),Entityy(Какоито месш),EntityZ(Какоито месш), а камеру уже сам |
Ответ: RPG
Вложений: 1
Великолепно копнул, пустя каких-то 3 года чел наконец-то узнал решение!
Вложение 9777 |
Часовой пояс GMT +4, время: 06:55. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot