У меня есть GameObject.Plane в заданной позиции для визуальных целей. Исходя из этого, учитывая вращение и положение самолета в мировом пространстве, я должен сделать математическую плоскость для использования в следующих расчетах, но что-то не так.
я пытался сделать
new Plane(go.transform.InverseTransformDirection(-go.transform.right), go.transform.InverseTransformPoint(go.transform.position));
где go – примитивный плоский объект. Его положение в мировом пространстве кажется хорошим, судя по более поздним результатам, но вращение - нет.
Примитивная плоскость (go) повернута на 90 градусов, поэтому вместо того, чтобы смотреть вверх, она смотрит в сторону.
Что здесь не так?
Изменить. Текущая настройка
go.transform.InverseTransformDirection(-go.transform.right);
return new Plane(go.transform.up, go.transform.position);
void OnDrawGizmos()
{
Gizmos.color = Color.magenta;
Gizmos.DrawLine(planePrimitive.transform.position, planePrimitive.transform.position + plane.normal * 3f);
}