![]() |
Ответ: Камера...
ken park Лады,завтра напишу тебе Хелпь на эту тему с моим любимым обилием комментированного кода. Заглядывай завтра в FAQ...;)
Зы: Аватар красивый) |
Ответ: Камера...
Вот поворот обэкта мышкой и не только ;)
Пользуйся на здоровье если розбереш. Источник: Blitz et cetera Код:
;CameraMouseView, on 10/10/06 |
Ответ: Камера...
Блин, ребята. Вы меня спасаете, огромнеишее спасибо! Я стараюсь вникать и понимать )
|
Ответ: Камера...
Цитата:
зы: пасиба ^^ |
Ответ: Камера...
ken park-для спасибо есть кнопочка-полезно!
|
Ответ: Камера...
ken park Ты просто просишь всех сделать за тебя игру
|
Ответ: Камера...
Цитата:
Не тупо вставлять а хотябы переписовать. Это заставит тебя прочитать. |
Ответ: Камера...
Вложений: 1
Воообщем сегодня у меня времени нет совсем:mad: как оказалось, но что то я сделал и решил тут выложить,
Смотри по теории думаю по картинке всё станет ясно: Код мало комментировал но думаю вникнешь... ![]() В атаче Если не будет фоновой текстуры земли то отключи текстуру нафиг или вставь свою:crazy: ) Да и я не уверен что понял твой вопрос на все сто но если что обращайся) |
Ответ: Камера...
Воть тут нашел оч интересный материал
СОЗДАНИЕ ПЛАВНОЙ КАМЕРЫ 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 |
Ответ: Камера...
хера 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. а кстати нельзя парентить пивот к персу а то кажется чето не то будет когда он повернётся. надо просто ставить его в цикле в позицию бошки. приводит всё это в виде детального рабочего кода мне увы совсем нет времени да и блица на этом компе не стоит, но в теории вышесказанное должно работать) |
Ответ: Камера...
А я всё ждал пока афтор сам догадаетцо.
|
Ответ: Камера...
Цитата:
|
Ответ: Камера...
Вложений: 1
Вот смотри на скрин и думай как это самому сделать, я догодался сам ибо есть HELP и GOOGLE:cool: и я изучаю BlitZ3D месяц!!!
|
Ответ: Камера...
ээ.. подскажите.. я понял что поворот куба там, или модельки производиться с помощью TurnEntit... а вот как именно... мне надо сделать поворот обьекта мышкою.. а вот как хз) помогите) вот код
Код:
Graphics3D 1024,768,32,2 |
Ответ: Камера...
и после того как я повернул куб, потом после нажатия кнопки вверх (как бе идти вперед) он бежал в ту сторону, в которую сейчас лицом как бе. если не сложно. пасиба
|
Ответ: Камера...
Цитата:
С мышки тебе понадобятся MouseXSpeed и MouseYSpeed Чтобы он шёл в ту сторону куда он лицом - это MoveEntity Как получить прерывания клавиш - надеюсь, знаешь |
Ответ: Камера...
а как вот это все реализовать..
|
Ответ: Камера...
У тебя че подобных примеров чтоль нет?
Вот вращение объекта мышью: mxs#=MouseXSpeed() ; скорость мыши по X mys#=MouseYSpeed() ; скорость мыши по Y CubeXRot#=CubeXRot#+mys#*0.2 CubeYRot#=CubeYRot#+mxs#*0.2 ; Вставляешь ети две переменные в функцию RotateEntity RotateEntity cube,CubeXRot#,CubeYRot#,0 |
Ответ: Камера...
Вложений: 1
Может поможет (WASD - перемещение, мышь - вращение камеры)
|
Ответ: Камера...
пасибааа, офигенная вещь... это.. а как сделать чтобы на до конца вверх можно было поворачиваться камеру, а чтобы на середине останавлявалось. ну чтобы короче нельзя на вернхнюю часть куба посмотрить
|
Ответ: Камера...
вот меня эти значения:
If dest_yang<-85 Then dest_yang=-85 If dest_yang>85 Then dest_yang=85 |
Ответ: Камера...
ken park, отличная идея ! я придумал как решить все твой вопросы/проблемы - воспользоватся мозгом ! ... он ведь всётаки не просто так тебе дан
|
Часовой пояс GMT +4, время: 20:55. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot