awpp
offline
Опыт:
846Активность: |
Занос
Народ,как можно сделать занос юнита при повороте, в данном случае автомобиля, при управлении на стрелках...понимаю что это из разряда программирование))но я вроде уже кучу статей по этому поводу перечитал,и кучу раз пробовал,но всё равно выходит как то не реалистично... |
17.09.2010, 19:49 | #1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
laViper
offline
Опыт:
10,883Активность: |
Это из разряда физики :) двигай юнита через вектор скорость, а через вектор ускорения меняй вектор скорости. |
17.09.2010, 20:02 | #2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
H
hello world
offline
Опыт:
130,725Активность: |
векторы + фиктивный угол поворота.
Например при заносе ( когда игрок жмет влево, или вправо ) поворачивай машину на фиктивный угол, а машину двигай в том де направлении что и было при простой езде.
Конечно тебе придется сделать свою систему движения ( стандартная не подойдет ). |
17.09.2010, 20:05 | #3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
awpp
offline
Опыт:
846Активность: |
Ahelhot: ды я вроде уже свою систему и сделал,и пробывал с разными углами,и много очего ещё...Но правд у меня система движения через стандартное,т.е. приказы, но занос я пытался имитировать дополнительно сдвигая авто...)щас попробую как ты сказал |
17.09.2010, 20:24 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
H
hello world
offline
Опыт:
130,725Активность: |
я и говорю, это не покатит. |
17.09.2010, 22:39 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
laViper
offline
Опыт:
10,883Активность: |
Хм, через приказы ведь тоже можно. Только надо запомнить вектор прошлого движения и потом дополнительно сдивать через тригер. Как бы настройка не ломая предыдущую систему. |
17.09.2010, 23:10 | #6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
H
hello world
offline
Опыт:
130,725Активность: |
Она и так будет ломать её, лучше делай с нуля. Если будут вопросы по этому задавай, постараюсь помочь. |
17.09.2010, 23:13 | #7
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
HGL
Phased out.
offline
Опыт:
25,976Активность: |
раскрою написанное здесь чуть подробней
приказы не сработают именно потому, что юнит должен быть повёрнут не туда, куда едет. по сути, тебе нужна некоторая переменная сдвига (проще всего две переменные - сдвиг по х и по у), и угол поворота юнита. при нажатии на A\D следует менять угол поворота, в случае нажатия W\S - изменить сдвиги в соответствии с заданным углом поворота. там через элементарную тригонометрию, не возьмусь писать код-пример просто потому, что не помню, откуда в ск2 начинается отсчёт) скорее всего что-то типа xs+=cos(angle)*acceleration; ys+=sin(angle)*acceleration; xs, ys - скорости по х и у. потом очевидно юнит сдвигается в соответствии со скоростями через триггер мгновенного перемещения со включенным блендом. Что-то вроде этого HGL добавил: ах да, и триггер мгновенного сдвига устроен проще, чем приказы) |
18.09.2010, 00:24 | #8
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
awpp
offline
Опыт:
846Активность: |
Вот что получилось у меня,делал с помощью двух углов...систему потом буду переделывать, под 'систему',а не то что здесь, на ваш взгяд нормально получилось,можно так оставлять?...или как можно сделать лучше)и ещё 1 баг,с этим не разбирался,но всё же,когда едешь камера как то дёргается) |
18.09.2010, 13:39 | #9
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
anaksimandr
offline
Опыт:
1,291Активность: |
Если интересно мое мнение.
Ты, конечно, извини, но код кривой. Машинка едет и боком и задом и вообще как захочется - физическая часть работает не как должна. + дерганье - это, опять же, из за "плохого" кода. |
18.09.2010, 15:22 | #10
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
awpp
offline
Опыт:
846Активность: |
я походу зря добавил деревья,так как обработки столкновение нет,а при столкновени она меняет направление)собственно я знаю что код кривой,но тут именно физика важна,если не врезаться в деревья,в каких случаях у тебя машина едет боком или задом?ещё забыл,на esc если нажать как раз можно отследить угол в который тянет машину |
18.09.2010, 15:35 | #11
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|