forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Камера и Mesh (http://forum.boolean.name/showthread.php?t=5666)

JeSss 28.01.2008 22:40

Камера и Mesh
 
Фсем здрастЬ!:-D Заранее извиняюсь за нубовский вопросИГ!
У меня такой вопрос, как сделать чтобы когда поворачиваеш камеру, игрок (тобиш Меш) поворачивался только вокруг себя, но когда камера идёт вверх или вниз то игрок остаётся в техже координатах, тобиш неподнимаясь...

H@NON 28.01.2008 22:46

Ответ: Камера и Mesh
 
для этого нужен пивот. Игрок будет нашим пивотом. Парентишь( EntityParent ) к пивоту камеру, а дальше в цикле поворачиваешь то что тебе необходимо. Нужно чтобы игрок поворачивался вокруг своей оси, поворачивай по оси Y пивот, если нужно вращать камеру вверх/вниз, то поворачиваешь камеру по оси X.

JeSss 28.01.2008 22:47

Re: Камера и Mesh
 
Можно в куске кода пожалст (если хочеш то можно в кортинке...)
А без пивота кстати не каГ?

H@NON 28.01.2008 23:02

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

Gamer = CreatePivot()
Camera = CreateCamera()
EntityParent camera, gamer
...
; начало главного цикла
While Not KeyHit(1)
If keydown(вверх) then
    rotX = 1
ElseIf Keydown(вниз) then
    rotX = -1
Else
    rotX = 0
EndIf
If keydown(влево) then
    rotY = -1
ElseIf keydown(вправо) then
    rotY = 1
Else
    rotY = 0
EndIf

TurnEntity gamer, 0, RotY, 0
TurnEntity camera, RotX, 0, 0

Renderworld()

Flip
; конец главного цикла
Wend

End

Переменная RotX следит за скоростью поворота по оси X, то есть вверх/вниз, переменная RotY следит за скоростью поворота по оси Y, то есть влево/вправо. В командах keyDown в скобках тебе нужно написать сканкод клавиш, которыми ты будешь нажимать, чтобы вращать игрока. Также можно сделать управление на мыши, но это уже ты сам попробуй. Подсказка: Используй команды MouseXspeed(), MouseYSpeed()

JeSss 28.01.2008 23:19

Re: Камера и Mesh
 
БЛИН! ТОЧНО, забыль сказать...
При поворотах забыл я указать 1, камеру поворачиваеш МЫШКОЙ!

H@NON 28.01.2008 23:23

Ответ: Камера и Mesh
 
Ну так и действуй, просто заместо RotX и RotY подставь MouseXSpeed() и MouseYSpeed() в turnEntity. Убери обработку нажатий клавиш и поставь там обработку мыши:
Код:

mxs# = MouseXspeed()
mys# = MouseYSpeed()


JeSss 28.01.2008 23:28

Мдяяяя, ну чтож, придётся пробовать!..)

Чёто я походу недобрал...
Можно плииииз (извините за ООЧЕНЬ сильное нубство) новый кусок кода но в параметрах мыши..?

Diplomat 29.01.2008 00:00

Ответ: Камера и Mesh
 
Слышны удары пустого по деревянному и крики "Отдайте мне мой пистолет!", это Дипломат в истерике бьётся головой об пол.
Так кто там говорил о неэффективности применения отрицательной стимуляции в педагогике?..

P.S. Hate rap. Kill'em all.

tormoz 29.01.2008 01:51

Ответ: Камера и Mesh
 
Это уже полный край...
H@NON , прекращай давать ему код
совсем.
Пока не займется делом и не пройдет все уроки.
(я б дал ему хороших розг. в педагогических целях)

Bagration 29.01.2008 12:47

Ответ: Камера и Mesh
 
Цитата:

Сообщение от JeSss (Сообщение 75958)
Заранее извиняюсь за нубовский вопросИГ!

Зачем извеняться? Мы уж привыкли... :-D

moka 29.01.2008 13:27

Ответ: Камера и Mesh
 
JeSss, тебе задание на закрепление пользованием функций, работы с переменными, и инпутом с клавиатуры и мышки: создать окно, и главный цикл, написать простую функцию, которая будет рисовать линию.
Затем, модифицировать так, чтобы при нажатии клавишь, эта линия двигалась в направлении от нажатия клавишь.
Модернизировать2: чтобы один конец линии двигать кнопками, а второй бул в позиции курсора.
Выполнишь приходи за следующим заданиме.
Откажешся - скажи.

avel 29.01.2008 14:46

Ответ: Камера и Mesh
 
а я еще в прошлом его посте об этом говорил! (вот, только его зачем-то стерли...) нелбзя ему код давать! он же так совсем отупеет... когда человек не может одну переменную заменить на другую - это клиника...
а если по теме, то на БлицЕтК была статья по этому поводу, где подробно было расписано что и как...

JeSss 29.01.2008 15:00

Re: Камера и Mesh
 
Насчёт БлитцЕтк у меня проблема там, когда я туда захожу мне выдаёт какуето ошибку (непомню какую, т.к. незаходил туда давно) и становится пустая страница...

Diplomat 29.01.2008 18:04

Ответ: Камера и Mesh
 
Видать, журналко тебя шибко боиццо...

JeSss 29.01.2008 20:43

Re: Камера и Mesh
 
ФСё, решил проблемкО!


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot