Я думаю, что вы ищете точечный продукт . Найти направление, в котором стоит самолет, довольно легко.
// generic code, actual code depends on your engine.
// BasePlane.GetNormal() would equal to (0,0,1) for the X/Y plane
float dir = YourPlane.GetNormal().Dot(BasePlane.GetNormal());
Если он равен 1
, ваш самолет направлен в том же направлении, что и самолет, с которым вы тестируете. Если он равен -1
, он направлен к плоскости. Значение 0
будет означать, что плоскость стоит ортогонально к тестируемой плоскости. Надеюсь, это поможет.