|
3D-программирование Вопросы, касающиеся программирования 3D мира |
14.07.2010, 21:19
|
#1
|
AnyKey`щик
Регистрация: 26.12.2009
Сообщений: 9
Написано 0 полезных сообщений (для 0 пользователей)
|
Обзор мыши как в Gothic I-II
всем доброго вечера.
Имееться код
player=CreateSphera()
camera=CreateCamera(player)
....
mxspd#=MouseXSpeed()*0.25
myspd#=MouseYSpeed()*0.25
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
campitch#=EntityPitch(player)+myspd#
If campitch#<-85 Then campitch#=-85
If campitch#>85 Then campitch#=85
RotateEntity player,campitch#,EntityYaw(player)-mxspd#,EntityRoll(player)
Вообщем его суть такова,
Это обзор мышью и куда мышь смотрит туда и поворачиваеться сфера(player),а мне нужно так:
По оси Y идет обзор только camera ,а сфера (player) не крутиться вверх,а По оси X идет обзор и camera и поворачиваеться сфера (player)
|
(Offline)
|
|
14.07.2010, 21:37
|
#2
|
Нуждающийся
Регистрация: 09.07.2008
Сообщений: 57
Написано 11 полезных сообщений (для 26 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
И че проблем? Верти по y только камеру, а не перса. А по оси Х - только перса, т.к. камера припарентненная.
|
(Offline)
|
|
14.07.2010, 21:47
|
#3
|
AnyKey`щик
Регистрация: 26.12.2009
Сообщений: 9
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
Дак я пытался но проблема в том что обзор вопще проподает
|
(Offline)
|
|
14.07.2010, 21:53
|
#4
|
Нуждающийся
Регистрация: 09.07.2008
Сообщений: 57
Написано 11 полезных сообщений (для 26 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
Не ври мне! Кинь весь код, посмотрю...
|
(Offline)
|
|
14.07.2010, 21:55
|
#5
|
AnyKey`щик
Регистрация: 26.12.2009
Сообщений: 9
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
Include"xors3d.bb"
xGraphics3D 640,480,32,0,1
xSetBuffer xBackBuffer()
;Start Constants
T_PLAYER=1
T_TERRAIN=2
;End Constants
;Game Objects
player=xCreateSphere()
camera=xCreateCamera(player)
light=xCreateLight()
terrain=xLoadMesh("content/terrain.3ds")
sky=xCreateSphere()
skytex=xLoadTexture("content/skies01/sky001.jpg")
;End Game Objects
;Start Game Objects Update
xEntityTexture sky,skytex
xEntityFX sky,16
xScaleEntity sky ,50000,50000,50000
xRotateEntity light,90,0,0
xPositionEntity camera,0,1,-5
xScaleEntity terrain ,10,10,10
xPositionEntity terrain ,-300,0,-800
xCameraRange camera,1,500000
;End Game Objects Update
;Start Types
xEntityType player,T_PLAYER
xEntityType terrain,T_TERRAIN
;End Types
;Start Collisions
xCollisions T_PLAYER,T_TERRAIN,2,2
;End Collisions
;Start Main Loop
While Not xKeyDown(1)
;Start SkyBox Event
xTurnEntity sky,0,-.004,0
dxsky#=xEntityX( camera,True )-xEntityX( sky )
dysky#=xEntityY(camera,True )-xEntityY( sky )
dzsky#=xEntityZ( camera,True )-xEntityZ( sky )
xTranslateEntity sky,dxsky#,dysky#,dzsky#
;End SkyBox Event
;Start Mouse Event
mxspd#=xMouseXSpeed()*0.25
myspd#=xMouseYSpeed()*0.25
xMoveMouse xGraphicsWidth()/2,xGraphicsHeight()/2
campitch#=xEntityPitch(player)+myspd#
If campitch#<-85 Then campitch#=-85
If campitch#>85 Then campitch#=85
xRotateEntity camera,campitch#,xEntityYaw(player)-mxspd#,xEntityRoll(camera)
xTranslateEntity player,0,-1,0
;End Mouse Event
;Start Key Event
If xKeyDown(17) Then xMoveEntity player ,0,0,100
If xKeyDown(31) Then xMoveEntity player ,0,0,-1
If xKeyDown(32) Then xMoveEntity player ,1,0,0
If xKeyDown(30) Then xMoveEntity player ,-1,0,0
;End Key Event
xUpdateWorld
xRenderWorld
xFlip
Wend
;End Main Loop
End
Ну посматри похимич) я уже целый день парюсь
|
(Offline)
|
|
14.07.2010, 21:59
|
#6
|
Нуждающийся
Регистрация: 09.07.2008
Сообщений: 57
Написано 11 полезных сообщений (для 26 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
Блин, у тебя ксорс, ну ладно, переделаю. Только у ты кин код с ресурсами (там у тебя меш и террайн), мне лом свои подставлять, да и надежнее будет...
|
(Offline)
|
|
14.07.2010, 22:06
|
#7
|
AnyKey`щик
Регистрация: 26.12.2009
Сообщений: 9
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
Залил суда т.к незнаю как суда файлы кидать
http://www.sharemania.ru/0273133
|
(Offline)
|
|
14.07.2010, 22:23
|
#8
|
Нуждающийся
Регистрация: 09.07.2008
Сообщений: 57
Написано 11 полезных сообщений (для 26 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
Короче, убираешь строку:
RotateEntity camera,campitch#,EntityYaw(player)-mxspd#,EntityRoll(camera)
И пихаешь две эти:
TurnEntity player,0,-mxspd#,0
TurnEntity camera,myspd#,0,0
Ну и переделай маленько ограничения по оси Y...
З.Ы. Ксорса у меня нет, поэтому искы везде я убрал.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.07.2010, 22:38
|
#9
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
Хитрый план:
Делается Pivot.
Ставится в центр перса.
Приаттачивается к персу.
Делается камера. Располагается за спиною перса, поворачивается на него.
К Пивоту аттачится камера.
Потом мышкой крутится пивот => крутится и камера (как в готике)
В зависимости от угла поворота пивота крутится и перс. Можно мгновенно, можно с задержкой — по вкусу.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
14.07.2010, 22:51
|
#10
|
AnyKey`щик
Регистрация: 26.12.2009
Сообщений: 9
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
Агромнейшее спасибо
|
(Offline)
|
|
14.07.2010, 23:13
|
#11
|
AnyKey`щик
Регистрация: 26.12.2009
Сообщений: 9
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
Сообщение от ABTOMAT
Хитрый план:
Делается Pivot.
Ставится в центр перса.
Приаттачивается к персу.
Делается камера. Располагается за спиною перса, поворачивается на него.
К Пивоту аттачится камера.
Потом мышкой крутится пивот => крутится и камера (как в готике)
В зависимости от угла поворота пивота крутится и перс. Можно мгновенно, можно с задержкой — по вкусу.
|
А можно пример кода если не трудно ? я так понял это будет так?
player=CreateSphere()
pivot=CreatePivot(player)
camera=CreateCamera(pivot)
дальше не совсем понял
|
(Offline)
|
|
15.07.2010, 01:11
|
#12
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
тогда перечитай тот пост еще раз !!
АВТОМАТ, так пивот к персу или перса к пивоту атачить ??
В зависимости от угла поворота пивота крутится и перс.
|
|
(Offline)
|
|
15.07.2010, 01:39
|
#13
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
как помне то лучше вобще не атачить пивот к персу и наоборот.
|
(Offline)
|
|
15.07.2010, 03:35
|
#14
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Обзор мыши как в Gothic I-II
В зависимости от угла поворота пивота крутится и перс.
|
Вручную надо крутить.
Если приаттачить камеру прямо к персу и крутить его, то, соответственно, ничего дополнительно крутить не надо. Но Тогда теряются углы обзора по вертикали и нельзя сделать немгновенный поворот персонажа. Не рекомендую так делать.
Пример кода в сей поздний час дать не могу.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:50.
|