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

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

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

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

Ответ
 
Опции темы
Старый 14.09.2007, 06:36   #1
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Раз два три присели =)

Подскажите как лучше приседание реализовать?
Опустить всего юзера или тока его камеру?

Думаю если опускать юзера то коллизия взбуянится, и не даст мне его опустить.
А если опускать токо камеру то смысла в приседании небудет ибо из-за той же коллизии нельзя будет пролазить в низкие места.

У меня вообще фпс вид, и юзер тупо сфера.
Может быть лучше сделать 2 сферы одна для ног вторая типа туловище?
Задать коллизии и тому и другому. И вопщем если опускать верхнюю сферу(туловище) вместе с камерой до уровня нижней сферы(ног) то может реализоваться приседание без ругательств со стороны коллизии, и с возможностью лазить под чемто пригнувшись.

Жду ваших мнений и советов )
А можно и примеров )
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 14.09.2007, 06:40   #2
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Re: Раз два три присели =)

так.... просто изменяй EntityRadius и все... допустим, полный рост чела
EntityRadius Sphere , 10,30 , а затем при нажимании пробела его уменьшай.. и как бы получается, что рост становится ниже...

If KeyDown (кнопка_пробела) Then
If X > 10 Then X=X-0.01
Else
If X < 30 Then X=X+0.01
End if

EntityRadius Sphere , 10 , X
(Offline)
 
Ответить с цитированием
Старый 14.09.2007, 11:36   #3
Serendipity
Знающий
 
Регистрация: 05.01.2007
Сообщений: 229
Написано 5 полезных сообщений
(для 3 пользователей)
Re: Раз два три присели =)

If KeyDown (кнопка_пробела) Then
If X > 10 Then X=X-0.01
Else
If X < 30 Then X=X+0.01
End if
Работать не будет! Проверьте пошагово от Х=30 или от Х=10.
Или сразу при Х=20.
А Entity это обязательно сфера или то все-таки может быть элипсоид?
Если вы для сферы измените высоту, то вы измените ее ширину и глубину то же, ведь у сферы один размер - радиус.
Попробуй для начала действительно две сферы, из которых при приседании верхняя дискретно за один шаг смещается в нужное положение. Плавное приседание делашь потом.
(Offline)
 
Ответить с цитированием
Старый 14.09.2007, 12:28   #4
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Re: Раз два три присели =)

Почему работать не будет? если пробел нжат и высота больше 10, то умеьншаем её, а если не нажата и меньше 30, то увеличиваем...
Вот...

Хм.. а почему , допустим, нельзя куб исользовать? вот у мну куб...

З.Ы. опять какую-то чушь сказал я ...
(Offline)
 
Ответить с цитированием
Старый 14.09.2007, 12:59   #5
Черный крыс
 
Сообщений: n/a
Re: Раз два три присели =)

радиус колизионной сферы можно менять по элипсоиду - EntityRadius mesh,radX,[radY] - последний параметр какрас меняет радиус по оси Y.
есть подводный камень.....если радиус уменьшить - то все норм.....но стоит игроку "встать на ноги" - тут будут проблеммы.....игрок упадет вниз сквозь пол....конечно можно сделать ухищрения...но это будет мазахизм. Аффтар - первая мысль - всегда самая близкая к истине....
 
Ответить с цитированием
Старый 14.09.2007, 14:17   #6
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Re: Раз два три присели =)

Ну значит когда дойду до программирования приседаний главному герою, буду использовать 2 сферы.

Данил: а зачем куб? коллизия то всё равно сферическая.
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 14.09.2007, 16:31   #7
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Re: Раз два три присели =)

Черт его знаеь. ступил чет... ещё диея - сделать сферу для коллизий.. и ставить ровно над ней камеру... и над ней в расстоянии Х и его уменьшать / увеличивать
(Offline)
 
Ответить с цитированием
Старый 15.09.2007, 08:20   #8
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Re: Раз два три присели =)

куб, потомучто тогда просто понижаем сверку и все а чел остается сам такойже ну и вообще так вроде должно лучше получится... (ну незнаю ещё как там если он встанет будет....)
(Offline)
 
Ответить с цитированием
Старый 15.09.2007, 11:03   #9
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Re: Раз два три присели =)

Сообщение от NitE
куб, потомучто тогда просто понижаем сверку и все а чел остается сам такойже ну и вообще так вроде должно лучше получится... (ну незнаю ещё как там если он встанет будет....)
чёта я не понял что ты хотел сказать
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 15.09.2007, 13:57   #10
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Re: Раз два три присели =)

)) ну прдстав, человек стойт (в игре) у стены с коллизией шара, он приседает и не тока становится ниже но ещё и к стене придвегается... а если с кубом то прочто куб делаем по оси Х меньше и камеру понижаем, и все...
(Offline)
 
Ответить с цитированием
Старый 15.09.2007, 14:24   #11
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Re: Раз два три присели =)

Бред какойто.
Если у меня сферическая коллизия то пусть у меня объект хоть куб хоть треугольник хоть звезда коллизия будет всё равно сферой.

И с чего ты взял что у стены будет коллизия сферическая?

И что плохого в моей системе приседания где верхняя сфера опускается на уровень нижней?
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 15.09.2007, 17:04   #12
Serendipity
Знающий
 
Регистрация: 05.01.2007
Сообщений: 229
Написано 5 полезных сообщений
(для 3 пользователей)
Re: Раз два три присели =)

Да код действительно верный, меня переклинило чегой-то.
Почему сфера и куб различаются? Что тут не понятного?
Возьми прислони к краю стола футбольный мяч, упри его в стол - не идет. Опусти мяч на 5 см, упять попробуй задвинуть под стол - задвинется не много и дальше не пойдет, опусти еще на 5 см.. и наконец, когда опустишь больше чем на радиус мяча, он пройдет под стол полностью. А с кубом такого не получится, куб надо опустить полностью ниже уроаня крышки стола, чтоб он прошел под этот самый стол.
(Offline)
 
Ответить с цитированием
Старый 15.09.2007, 17:19   #13
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Re: Раз два три присели =)

ВАще у меня реализована , как я раньше сказал. менчю просто У координату при коллии.. и ставлю камеру немного ниже куба (для коллизий)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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