forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Раз два три присели =) (http://forum.boolean.name/showthread.php?t=4444)

Crystal 14.09.2007 06:36

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

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

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

Жду ваших мнений и советов )
А можно и примеров ) :crazy:

Данил 14.09.2007 06:40

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

Serendipity 14.09.2007 11:36

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 это обязательно сфера или то все-таки может быть элипсоид?
Если вы для сферы измените высоту, то вы измените ее ширину и глубину то же, ведь у сферы один размер - радиус.
Попробуй для начала действительно две сферы, из которых при приседании верхняя дискретно за один шаг смещается в нужное положение. Плавное приседание делашь потом.

Данил 14.09.2007 12:28

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

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

З.Ы. опять какую-то чушь сказал я ...

Черный крыс 14.09.2007 12:59

Re: Раз два три присели =)
 
радиус колизионной сферы можно менять по элипсоиду - EntityRadius mesh,radX,[radY] - последний параметр какрас меняет радиус по оси Y.
есть подводный камень.....если радиус уменьшить - то все норм.....но стоит игроку "встать на ноги" - тут будут проблеммы.....игрок упадет вниз сквозь пол....конечно можно сделать ухищрения...но это будет мазахизм. Аффтар - первая мысль - всегда самая близкая к истине.... ;)

Crystal 14.09.2007 14:17

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

Данил: а зачем куб? коллизия то всё равно сферическая.

Данил 14.09.2007 16:31

Re: Раз два три присели =)
 
Черт его знаеь. ступил чет... ещё диея - сделать сферу для коллизий.. и ставить ровно над ней камеру... и над ней в расстоянии Х и его уменьшать / увеличивать

NitE 15.09.2007 08:20

Re: Раз два три присели =)
 
куб, потомучто тогда просто понижаем сверку и все а чел остается сам такойже ну и вообще так вроде должно лучше получится... (ну незнаю ещё как там если он встанет будет....)

Crystal 15.09.2007 11:03

Re: Раз два три присели =)
 
Цитата:

Сообщение от NitE
куб, потомучто тогда просто понижаем сверку и все а чел остается сам такойже ну и вообще так вроде должно лучше получится... (ну незнаю ещё как там если он встанет будет....)

чёта я не понял что ты хотел сказать

NitE 15.09.2007 13:57

Re: Раз два три присели =)
 
)) ну прдстав, человек стойт (в игре) у стены с коллизией шара, он приседает и не тока становится ниже но ещё и к стене придвегается... а если с кубом то прочто куб делаем по оси Х меньше и камеру понижаем, и все...

Crystal 15.09.2007 14:24

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

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

И что плохого в моей системе приседания где верхняя сфера опускается на уровень нижней?

Serendipity 15.09.2007 17:04

Re: Раз два три присели =)
 
Да код действительно верный, меня переклинило чегой-то.
Почему сфера и куб различаются? Что тут не понятного?
Возьми прислони к краю стола футбольный мяч, упри его в стол - не идет. Опусти мяч на 5 см, упять попробуй задвинуть под стол - задвинется не много и дальше не пойдет, опусти еще на 5 см.. и наконец, когда опустишь больше чем на радиус мяча, он пройдет под стол полностью. А с кубом такого не получится, куб надо опустить полностью ниже уроаня крышки стола, чтоб он прошел под этот самый стол.

Данил 15.09.2007 17:19

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


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

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