Страница 1 от 1

пресичане на OBB

Публикувано: 10 юни 2011 17:52
от KosSiO
Престраших се и аз да напусна раздела "за начинаещи".Най сетне реших да изоставя сферите и да използвам по-точен метод за колизиите.

Това е един клас който определя дали 2 кутии(с съответните им транслации, ротации, скалации) се пресичат или не.
ето кода е тук : http://www.mediafire.com/?3n42km5dvc6lyxy
Да отбележа че използвам математическите функции на d3dx9, но лесно можете я промените да използва вашите.

Използват се лесно.Ето как :
Правите кутия по този начин OBB3D Box(sx , sy , sz); където sx е широчина, sy е височина, sz е дължина.
Прилатате трансформации на кутийката чрез : Box.SetTransform(TransformMatrix);(параметъра е матрица тип D3DXMATRIX);
Проверявате дали има пресичане чрез OBB3DCollide(Box , Box2); връща false ако няма пресичане и true ако има.