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

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

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

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

Ответ
 
Опции темы
Старый 17.06.2009, 21:42   #61
ken park
Оператор ЭВМ
 
Аватар для ken park
 
Регистрация: 17.06.2009
Сообщений: 34
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Камера...

большое спасиба, но мне надо было именно клавишами > и < . ну все равно спасиба
(Offline)
 
Ответить с цитированием
Старый 17.06.2009, 21:51   #62
ken park
Оператор ЭВМ
 
Аватар для ken park
 
Регистрация: 17.06.2009
Сообщений: 34
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Камера...

хм.. (
(Offline)
 
Ответить с цитированием
Старый 17.06.2009, 22:59   #63
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Камера...

imper вошёл в чат
всем прЮвет
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 8 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
ABTOMAT (17.06.2009), Антихрист (18.06.2009), Android (17.06.2009), Arton (10.06.2010), Dzirt (17.06.2009), johnk (18.06.2009), Mhyhr (17.06.2009), newman (17.06.2009)
Старый 17.06.2009, 23:50   #64
ken park
Оператор ЭВМ
 
Аватар для ken park
 
Регистрация: 17.06.2009
Сообщений: 34
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Камера...

хотя не... все таки мышкои... вы просто поимите, мне надо сделать основу, ну как бе движок.. как смешно это не звучало бы, но мне это очень нужно... задумка уже 3 года в голове... так хочется развить, сделать.. очень прошу все таки вашеи помощи.. помогите с мышкои.. код я не однократно кидал.. буду очень благодарен, безумно просто. надо сделать чтобы персонаж поворачивался мышкои, а бегать просто кнопкои вперед или w. я посмотрел то что сделал dzirt, но незнаю как мне внедрить в мои код. прошу очень помощи. спасиба...
(Offline)
 
Ответить с цитированием
Старый 17.06.2009, 23:59   #65
Mhyhr
Бывалый
 
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений
(для 858 пользователей)
Ответ: Камера...

ken park Лады,завтра напишу тебе Хелпь на эту тему с моим любимым обилием комментированного кода. Заглядывай завтра в FAQ...
Зы: Аватар красивый)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ken park (18.06.2009)
Старый 18.06.2009, 00:02   #66
Dzirt
Элита
 
Аватар для Dzirt
 
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений
(для 3,833 пользователей)
Ответ: Камера...

Вот поворот обэкта мышкой и не только
Пользуйся на здоровье если розбереш.
Источник: Blitz et cetera

;CameraMouseView, on 10/10/06

Graphics3D 640,480,0,2
SetBuffer BackBuffer()

camerapivot=CreatePivot() ;pivot
camera=CreateCamera(camerapivot) ;camera on pivot
camerabank=CreateBank(48) ;camera bank variables

light=CreateLight()
RotateEntity light,90,0,0

cube=CreateCube()

While Not KeyHit(1)
 UpdateWorld
 RenderWorld

 CameraMouseView(camerapivot,camera,camerabank)

 Text 0,0,"Press LShift to Zoom, LCtrl to Drag"

 Flip
Wend

Function CameraMouseView(camerapivot,camera,camerabank,speed#=0.05)
 ;camerapivot,camera,camerabank=valid handles, speed#=speed of view

 Local movex,movey,camx#,camy#,camz#,pivx#,pivz#,angle#,xaxis#,zaxis#

 ;error messages for invalid handles
 If camerapivot=0 Then RuntimeError "Pivot entity is zero!"
 If camera=0 Then RuntimeError "Camera entity is zero!"
 If camerabank=0 Then RuntimeError "Bank handle is zero!"

 ;set default values
 If speed#<0.01 Then speed#=0.01 ;min speed
 If PeekFloat(camerabank,36)=0 Then PokeFloat camerabank,36,-10 ;no camz

 ;update mouse variables
 PokeInt camerabank,0,PeekInt(camerabank,8) ;lastx=msex
 PokeInt camerabank,4,PeekInt(camerabank,16) ;lasty=msey
 PokeInt camerabank,8,MouseX() ;msex
 PokeInt camerabank,16,MouseY() ;msey
 PokeInt camerabank,20,MouseX()-PeekInt(camerabank,0) ;movex=msex-lastx
 PokeInt camerabank,24,MouseY()-PeekInt(camerabank,4) ;movey=msey-lasty

 ;fill in the position/rotation variables
 movex=PeekInt(camerabank,20)
 movey=PeekInt(camerabank,24)
 camx#=PeekFloat(camerabank,28)
 camy#=PeekFloat(camerabank,32)
 camz#=PeekFloat(camerabank,36)
 pivx#=PeekFloat(camerabank,40)
 pivz#=PeekFloat(camerabank,44)

 If MouseDown(1) ;Left Mouse button
  If KeyDown(29) ;Left Ctrl key, camera drag
   angle#=camy# : xaxis#=speed# : zaxis#=speed# ;init xz axis
   If angle#>90 And angle#<270 Then zaxis#=-zaxis# ;-z if 90..270
   If angle#>180 Then angle#=360-angle# : xaxis#=-xaxis# ;-x if 180..360
   If angle#>90 Then angle#=180-angle# ;reduce y angle to 90
   angle#=angle#*0.011 ;y as fraction of 1, ie. 90->100
   ;set mouse xy movements by y fraction and add to pivot xz positions
   pivx#=pivx#-(movex*(1-angle#)*zaxis#)-(movey*angle#*xaxis#)
   pivz#=pivz#-(movex*angle#*xaxis#)+(movey*(1-angle#)*zaxis#)
  ElseIf KeyDown(42) ;Left Shift key, camera zoom
   camz#=camz#-movey*speed#  ;-msey sets camera z mt
   If camz#>-3 Then camz#=-3 ;limit zoom to 3mt
  Else ;camera rotation
   camx#=camx#+(movey*10*speed#) ;mousey sets camera x dg
   If camx#>90 Then camx#=90   ;limit x to -90..90
   If camx#<-90 Then camx#=-90
   camy#=camy#-(movex*10*speed#) ;-mousex sets camera y dg
   If camy#>359 Then camy#=0   ;limit y to 0..360
   If camy#<0 Then camy#=359
  EndIf
 EndIf

 ;update position/rotation variables
 PokeFloat camerabank,28,camx#
 PokeFloat camerabank,32,camy#
 PokeFloat camerabank,36,camz#
 PokeFloat camerabank,40,pivx#
 PokeFloat camerabank,44,pivz#

 ;move pivot, rotate and zoom camera
 PositionEntity camerapivot,pivx#,0,pivz# ;drag
 RotateEntity camerapivot,camx#,camy#,0 ;rotate
 PositionEntity camera,0,0,camz# ;zoom

End Function
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mhyhr (18.06.2009)
Старый 18.06.2009, 00:04   #67
ken park
Оператор ЭВМ
 
Аватар для ken park
 
Регистрация: 17.06.2009
Сообщений: 34
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Камера...

Блин, ребята. Вы меня спасаете, огромнеишее спасибо! Я стараюсь вникать и понимать )
(Offline)
 
Ответить с цитированием
Старый 18.06.2009, 00:11   #68
ken park
Оператор ЭВМ
 
Аватар для ken park
 
Регистрация: 17.06.2009
Сообщений: 34
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Камера...

Сообщение от pinqin Посмотреть сообщение
ken park Лады,завтра напишу тебе Хелпь на эту тему с моим любимым обилием комментированного кода. Заглядывай завтра в FAQ...
Зы: Аватар красивый)
спасибо ) буду ждать )
зы: пасиба ^^
(Offline)
 
Ответить с цитированием
Старый 18.06.2009, 08:07   #69
Антихрист
Разработчик
 
Регистрация: 20.01.2007
Сообщений: 485
Написано 182 полезных сообщений
(для 412 пользователей)
Ответ: Камера...

ken park-для спасибо есть кнопочка-полезно!
(Offline)
 
Ответить с цитированием
Старый 18.06.2009, 12:36   #70
pitonms
Знающий
 
Аватар для pitonms
 
Регистрация: 15.06.2009
Адрес: Санкт-Петербург
Сообщений: 291
Написано 36 полезных сообщений
(для 66 пользователей)
Лампочка Ответ: Камера...

ken park Ты просто просишь всех сделать за тебя игру
__________________
Мой сайт : http://lavr-studio.ucoz.ru/
(Offline)
 
Ответить с цитированием
Старый 18.06.2009, 12:41   #71
Sleepybear
ПроЭктировщик
 
Аватар для Sleepybear
 
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений
(для 22 пользователей)
Ответ: Камера...

Сообщение от ken park Посмотреть сообщение
Блин, ребята. Вы меня спасаете, огромнеишее спасибо! Я стараюсь вникать и понимать )
Ты постораяся читать что пишут!!


Не тупо вставлять а хотябы переписовать. Это заставит тебя прочитать.
(Offline)
 
Ответить с цитированием
Старый 18.06.2009, 16:44   #72
Mhyhr
Бывалый
 
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений
(для 858 пользователей)
Ответ: Камера...

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


В атаче Если не будет фоновой текстуры земли то отключи текстуру нафиг или вставь свою )
Да и я не уверен что понял твой вопрос на все сто но если что обращайся)
Вложения
Тип файла: zip vid_.zip (71.9 Кб, 390 просмотров)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Mhyhr за это полезное сообщение:
H@NON (18.06.2009), ken park (18.06.2009)
Старый 18.06.2009, 20:01   #73
Mhyhr
Бывалый
 
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений
(для 858 пользователей)
Ответ: Камера...

Воть тут нашел оч интересный материал

СОЗДАНИЕ ПЛАВНОЙ КАМЕРЫ

Const mousespeed# = 0.4
Const camerasmoothness# = 3

;C числами (0.4 и 3) можете по экспериментировать .
Далее>>>
;Это в главный цикл

u#=75; Предельный угол , можете поменять на свой
mx#=CurveValue(MouseXSpeed()*mousespeed,mx,cameras moothness)
my#=CurveValue(MouseYSpeed()*mousespeed,my,cameras moothness)
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
pitch#=EntityX(Camera)
yaw#=EntityYaw(user)
pitch=pitch+my
yaw=yaw-mx
If pitch>75 pitch=75
If pitch<-75 pitch=-75
TurnEntity camera,pitch,0,0
RotateEntity user,0,yaw,0
If Abs(EntityPitch#(camera))>u# RotateEntity camera,u#*Sgn(EntityPitch#(camera)),0,0

;Так , то что внизу напишите между WEND и END

Function CurveValue#(newvalue#,oldvalue#,increments )
If increments>1 oldvalue#=oldvalue#-(oldvalue#-newvalue#)/increments
If increments<=1 oldvalue=newvalue
Return oldvalue#
End Function

Сайт: maxgames.net.ru
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ken park (18.06.2009)
Старый 18.06.2009, 21:25   #74
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Камера...

хера 5 страниц нафлудили о_0
ну ваще всё проще

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

ставим камеру за челом, парентуем её к пивоту.

просто вращаем пивот с помощью mousexspeed()/mouseyspeed(), так же как мы вращаем камеру в виде от 1 лица (а примеров такой камеры инет полон), при этом камеру поинтим на него.

теперь УЖЕ в результате нехитрых манипуляций мы сможем смотреть вокруг перса. по хорошему конечно можно ещё долго совершенствовать, в большинстве игр движение камеры вокруг перса не идёт тупо по сфере, ну и плюс коллизия камеры должна быть (блицевской коллизией элементарно делается так же как в кастле а вот с физыксом мудренее).

терь чтоб чел ехал в сторону куда мы смотрим делаем как-то так:

TformVector 0,0,1,cam,Character
tx#=tformedx#()
ty#=tformedy#()
tz#=tformedz#()

этим мы трансформируем направление "вперед по z" из пространства камеры в пространство чела. другими словами, если для уезда вперёд камере нужно применить moveentity cam,0,0,1 то для мува в ту же сторону другому объекту нужно конвернуть это значение в его локальную систему.

по идее есть мувить теперь перса на tx,ty,tz он будет мувится туда же куда смотртит камера.
чтоб он не летел вверх и вниз тут надо чето ограничить, во-первых конечно не мувить по у, во-вторых сдаётся мне не использовать дробные значения а то скорость будет всегда разной.
лучше так:
MoveEntity Character,Sgn(tx),0,Sgn(tz)

Sgn возвращает знак числа, т.е хоть у нас 0.5, 0.25 или 0.99 все равно будет 1 (или -1 или 0).

терь по ходу надо чтоб он ротейтился в сторону куда идёт.
ну тут много вариантов, можно самому вычислять, можно припарентить к камере пивот который всегда будет спереди и ПЕРЕД персом и поинтить его туда, обнуляя затем все ротации кроме Y.

а кстати нельзя парентить пивот к персу а то кажется чето не то будет когда он повернётся.
надо просто ставить его в цикле в позицию бошки.

приводит всё это в виде детального рабочего кода мне увы совсем нет времени да и блица на этом компе не стоит, но в теории вышесказанное должно работать)
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
ABTOMAT (18.06.2009), Mhyhr (18.06.2009), Ziro(AL) (02.01.2010)
Старый 18.06.2009, 22:50   #75
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Камера...

А я всё ждал пока афтор сам догадаетцо.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mhyhr (19.06.2009)
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Web камера Randomize Модули для BlitzMax 0 25.09.2009 13:17
Камера Fatalix3d 3D-программирование 2 28.12.2008 15:17
Камера и Mesh JeSss 3D-программирование 15 29.01.2008 21:00
камера из 3дсмакс CRACK 3D-программирование 10 31.07.2007 18:24
Камера smaller 3D-программирование 14 05.04.2007 23:58


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


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