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=7413)

FrankH 04.12.2008 23:03

Пассивная коллизия
 
Всем привет, сел опять за свой проЭкт и не знаю как пофиксить баг, при большом дельтатайме блитц странно считает коллизии. Проблема такова что в игре орудие юнита находится под его щитом(внутри колизионного эллипсоида), при быстрой обработке цикла патроны вылетают наружу и коллизия не происходит, но при увеличении дельтатайма в определенный момент снаряд выходит за предел радиуса еще в первом цикле а во втором обьект догоняет свой же снаряд. Проблема может быть и в неправильной формуле скоростиснаряда+обьекта, но суть остается, хочу отключить коллизию для того кто выпускает снаряд и она отключается, но при этом снаряды начинают выскакивать за щит по сторонам или прилипать к нему.:wallbash:

Вопрос в следуюем: можно ли обявить коллизию без ответа, т.е. чтоб проверить факт коллизии можно было, но при этом двиг не предпринимал попыток остановить или сдвинуть обьект? :SOS:

Может ответ очевиден, но давно не садился за блитц, не помню. Ничего похожего на форуме не нашел.

FrankH 06.12.2008 02:25

Ответ: Пассивная коллизия
 
Решил проблему присвоив счетчик каждому снаряду, по достижении определенного расстояния от эмиттера снаряду присваивается тип коллизии. Согласен что через Ж, но проще не придумал.
Если кто сталкивался и решил хотелось бы услышать..

HolyDel 09.12.2008 16:57

Ответ: Пассивная коллизия
 
эээ???
Цитата:

const бла-бла-бла

collisions my_bullet_type,enemy_type,бла-бла-бла
collisions enemy_bullet_type,my_shield_type,бла-бла-бла
т.е. назначать своим пулям другой тип коллиззии. и чтобы не была включена коллизия между типом своей пули и своим щмтом.

tormoz 09.12.2008 20:17

Ответ: Пассивная коллизия
 
При создании пули сразу направляй ее двигай на радиус коллизии (или чуть больше) потом назначай тип коллизии.
И будет тебе счастье

FrankH 10.12.2008 00:27

Ответ: Пассивная коллизия
 
Цитата:

т.е. назначать своим пулям другой тип коллиззии. и чтобы не была включена коллизия между типом своей пули и своим щмтом.
90 юнитов = (90*(90-1) типов коллизий для снарядов)*90 столкновений с кораблями, а это все еще проверять перебором, в моем случае не покатит.:mad:
Цитата:

При создании пули сразу направляй ее двигай на радиус коллизии (или чуть больше) потом назначай тип коллизии.
И будет тебе счастье
так и делаю, но: 1) у юнита до 5ти пушек, все они находятся на немного разных расстояниях от точки прострела щита; 2) дельтатайм имеет некоторый разброс, т.к. основан на предыдущем цикле.
Все это делает невозможным стрельбу вупор, а оно как раз для ближних дистанций. :mad:
Еще у кого-то есть идеи?


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

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