Если под OUT вы имеете в виду «вперед», и это всегда перпендикулярно вектору UP, то НЕТ, вы не встретите карданный замок.
Что вы делаете, это создаете матрицу ориентации из векторов ВВЕРХ и ВПЕРЕД и применяете ее для каждого кадра, что является довольно распространенным методом перемещения камеры в пространстве.
Вы не применяете несколько поворотов, используя углы Эйлера, что может быть причиной блокировки карданного подвеса.
Обратите внимание, что для создания матрицы вам также потребуется создать «левый» (или правый) вектор из векторов UP и FORWARD. Хорошее введение в это - здесь - обратите внимание, что этот пример затем применяет повороты к матрице камеры, что является совершенно необязательным шагом.
В Википедии есть хорошее объяснение карданного замка .