Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 23.06.2009, 18:49   #1
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Смех Глюки камеры блик и вращении её вокруг перса

Задача моя:
Сделать камеру с солнечными бликами и её вращение вокруг персонажа мышкой при зажатой какой нть клавише и при отпускании этой клавиши камера должна возвращаться за спину персонажа.

Делал:
взял код из примера Sun.rar

И вот что получилось:
user_piv=CreatePivot ()
PositionEntity user_piv_emat,-1,2,0
EntityType user_piv,user_col
	Model=CreateCube (user_piv)
	RotateEntity Model,0,0,0
	EntityColor Model,Int(Rnd(255)),Int(Rnd(255)),Int(Rnd(255))


ViewX = GraphicsWidth();<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ViewY = GraphicsHeight();<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ViewAspect# = Float(ViewX)/Float(ViewY);<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


Camera = CreateCamera(Model)
;CameraRange Camera, 1, 5000
spritecamera = Camera;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
spritepivot = CreateSpritePivot(spritecamera,1.01) ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
		CameraClsColor camera,0,0,0
		PositionEntity camera,0,4,-8
		CameraRange camera,0.1,5000

 Sun = CreatePivot()
Light = CreateLight(2, Sun)
PositionEntity Sun, -549, 1015, 33, 1
SetupFlares("lens-flares.jpg") ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
PointEntity Camera, Sun

после Repeat

UpdateFlare(Camera, Sun) ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    mx#=CurveValue(MouseXSpeed()*0.4,mx,11)
	my#=CurveValue(MouseYSpeed()*0.4,my,11)
	MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
	pitch#=EntityPitch(user_piv)
	yaw#=EntityYaw(user_piv)
	pitch=pitch+my
	yaw=yaw-mx
	If pitch>89 pitch=89
	If pitch<-89 pitch=-89
	RotateEntity user_piv,0,yaw,0
	;RotateEntity Camera,0,yaw,0
	TurnEntity Camera,pitch,0,0
Проблема:
Камера при старте где то с боку и вращается вокруг какой та точки до тех пор пока камера не будет опушена взглядом в землю тогда камера оказывается там где должна(позади перса и при движении мыши перс поворачивается)
Если я дописываю код для вращения
Graphics3D 800,600 , 32, 2

Global user_pivot=CreatePivot() ; Создаешь точку

cri=CreateLight ()

cam=CreatePlane()
cam_tex=LoadTexture ("807331659.jpg")
ScaleTexture cam_tex,4,4
EntityTexture cam,cam_tex
	camera = CreateCamera ()
	Model=CreateCube ()
	EntityColor Model,Int(Rnd(255)),Int(Rnd(255)),Int(Rnd(255))

	Model1=CreateCube ()
	EntityColor Model1,Int(Rnd(235)),Int(Rnd(255)),Int(Rnd(215))
	PositionEntity Model1,10,0,1

PositionEntity camera,0,5,-10 ; Ставим камеру в первоначальные  координаты (Относительно твоего игрока ) . Получается , что камера находится чуть вверху и позади . 

;Далее пишешь в цикле 

	b1#=0;предельный угол
While Not KeyDown( 1 )

mx=MouseXSpeed()

PositionEntity user_pivot,EntityX(Model),EntityY(Model),EntityZ(Model) ; Делаем так , чтобы точка всегда была в координатах "YourPlayer" (это твой игрок) . Но не вертелась вместе с игроком . 

If MouseDown (2) ;button = 1: Левая кнопка, 2: Правая кнопка, 3: Средняя кнопка   
RotCamera=1 
Else 
RotCamera=0 
EndIf 

If RotCamera=1 Then 
EntityParent camera,user_pivot ; Прикрепляем твою камеру к созданной точке . 
;TurnEntity user_pivot,0,2,0
TurnEntity user_pivot,0,-mx,0
EndIf

If RotCamera=0 Then
RotateEntity user_pivot,0,0,0
;Abs(EntityYaw#(pivot1))
EndIf 


 

	UpdateWorld()
	RenderWorld()

Text 0,20,"Yaw: "+EntityYaw#(user_pivot)

Flip
Wend
;----------------------------
End
камера двигается по прямой и после отпускания клавиши вращается перс а не поворачиваться

Как лечить этот баг и сделать осмотр персонажа камерой?
(Offline)
 
Ответить с цитированием
Старый 23.06.2009, 20:46   #2
Sleepybear
ПроЭктировщик
 
Аватар для Sleepybear
 
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений
(для 22 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

я напимер не понял ничего, Причем тут Блики солнца и вращение камеры?
(Offline)
 
Ответить с цитированием
Старый 23.06.2009, 21:24   #3
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

В том что все это появилось только после добавление бликов от солнца
(Offline)
 
Ответить с цитированием
Старый 23.06.2009, 22:42   #4
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

что всё это ?
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 14:54   #5
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Смех Ответ: Глюки камеры блик и вращении её вокруг перса

Так, не кто не понял баг.
Тогда смотрите все в живую(кому интересно) тут (архив)
P.S.Использован ньютон(частично)

Последний раз редактировалось Dark_Fox, 24.06.2009 в 16:03.
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 14:57   #6
ArtemkA
ПроЭктировщик
 
Аватар для ArtemkA
 
Регистрация: 09.10.2008
Адрес: Казань
Сообщений: 137
Написано 7 полезных сообщений
(для 9 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

твой перс - это желтый куб? Если да, то он никуда не вращаеться, а стоит как вкопанный.
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 16:05   #7
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

опусти камеру вниз(чуть ли не в землю) и камера встанет на место.
это и есть баг.
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 16:13   #8
Sleepybear
ПроЭктировщик
 
Аватар для Sleepybear
 
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений
(для 22 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

14 метров, качать из за пары строк никто не будет.

вращение вокруг персонажа мышкой при зажатой какой нть клавише и при отпускании этой клавиши камера должна возвращаться за спину персонажа
Graphics3D 1024, 768, 32,1:SetBuffer BackBuffer():User=CreateCube():ScaleEntity User,1,.1,3:EntityColor User,255,255,128:PivotCam=CreatePivot():PivotUser=CreatePivot():Cam = CreateCamera(PivotCam):Plane = CreatePlane():MoveEntity Plane, 0, -1,0:Tex = LoadTexture("textura.JPG"):ScaleTexture Tex, 10, 10:EntityTexture Plane, Tex:FreeTexture tex:While Not KeyDown(1):mx#=CurveValue(-MouseXSpeed()*0.4,mx,11):MoveMouse GraphicsWidth()/2,GraphicsHeight()/2:TurnEntity Cam,0,mx#,0:If MouseDown(2):EntityParent Cam,PivotUser:PositionEntity Cam,0,3,-5:PointEntity Cam,User:TurnEntity PivotUser,0,mx#,0:Else:EntityParent Cam,PivotCam:PositionEntity Cam,0,0,0:RotateEntity Cam,0,0,0:EndIf:PositionEntity PivotUser,EntityX(User),EntityY(User),EntityZ(User):PositionEntity PivotCam,EntityX(User),EntityY(User)+3,EntityZ(User)-5
If KeyDown(17) MoveEntity User, 0, 0, 1
If KeyDown(31) MoveEntity User, 0, 0, -1
If KeyDown(30) MoveEntity User, -1, 0, 0
If KeyDown(32) MoveEntity User, 1, 0, 0
RenderWorld():Flip:Wend:End
Function CurveValue#(newvalue#,oldvalue#,increments )
   If increments>1 oldvalue#=oldvalue#-(oldvalue#-newvalue#)/increments
   If increments<=1 oldvalue=newvalue
   Return oldvalue#
End Function
ты это хотел?
Правый тырк мышем.
Только текстуру подправь там, а то не видно движения
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 16:30   #9
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

от части да.
но главная проблема в камере в обычном режиме(игровом)
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 16:33   #10
Sleepybear
ПроЭктировщик
 
Аватар для Sleepybear
 
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений
(для 22 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

Сообщение от Dark_Fox Посмотреть сообщение
от части да.
но главная проблема в камере в обычном режиме(игровом)
Какая проблема?
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 16:57   #11
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

камера двигается по кругу на определенном расстоянии от перса. и только если я опускаю камеру, так что вижу землю, камера начинает работать нормально( при движении мыши(лево-право) поворачивается персонаж и меняется угол(вперед-назад) обзора)
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 17:08   #12
Sleepybear
ПроЭктировщик
 
Аватар для Sleepybear
 
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений
(для 22 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

Я бы пребложил удалить лишнее из кода и переписать все ручками, а после добавлять физику и блики. Скорее всего у тебя там с переменными путаница
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 17:24   #13
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

все так и сделано.
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 17:35   #14
Sleepybear
ПроЭктировщик
 
Аватар для Sleepybear
 
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений
(для 22 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

Судя по описанием ошибка в коде. (я код не видел)


Или не внимателно писал, или невнимательно копипастил.
(Offline)
 
Ответить с цитированием
Старый 24.06.2009, 17:45   #15
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Глюки камеры блик и вращении её вокруг перса

с кодом блик наверное 2 вариант
а с общим кодом если только 1 вариант
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как убрать черные полосы вокруг Gui Andvrok 3D-программирование 7 30.07.2009 16:58
Формулу вращения вокруг произвольной оси Atomikc C++ 3 31.10.2008 09:02
анимация перса NitE 3D Моделирование 2 09.09.2007 05:09
Посмотрев вокруг, я понял... Жека Болтовня 68 09.05.2006 14:42


Часовой пояс GMT +4, время: 09:10.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com