Я программирую трехмерную игру, в которой пользователь управляет камерой от первого лица, а движение ограничено внутренней поверхностью сферы. Мне удалось ограничить движение, но мне трудно понять, как управлять ориентацией камеры с помощью кватернионов. В идеале вектор вверх камеры должен указывать вдоль нормали сферы к ее центру, и пользователь должен иметь возможность свободно осматриваться - как если бы мы всегда находились внизу сферы, независимо от того, куда он движется.