Three.js - câmera ortogonal

Estou trabalhando em um aplicativo que exibe alguns modelos 3D. Carregamos os modelos, criamos as malhas, adicionamos à cena ... procedimento padrão. Depois que a última malha é adicionada, calculamos a caixa delimitadora para mover a câmera e cobrir toda a cena, usando o tamanho da geometria total e o tamanho da viewport para fazer a matemática.

    if (bounds.bx / bounds.by < camera.aspect) {
        /* Vertical max */
        r = bounds.by / (2 * Math.tan(Math.PI / 8));
    } else {
        /* Horizontal max */
        hFOV = 2 * Math.atan(Math.tan(Math.PI / 8) * camera.aspect);
        r = bounds.bx / (2 * Math.tan((hFOV / 2)));
    }

bounds é um objeto que contém a largura e a altura da caixa delimitadora. Após este cálculo, nós movemos a câmera (mais uma pequena proporção, apenas estética, queremos um pequeno espaço entre a geometria e a borda da tela :)) e renderizar

    camera.position.z = r * 1.05;

Até agora isso é implementado e funciona ok. Isso foi feito com o PerspectiveCamera. Agora queremos mudar isso e usar OrthographicCamera ... acaba por ser uma bagunça. Os modelos são muito pequenos, perdemos o zoom do mouse dos controles TrackBall e o algoritmo para mover a câmera não está mais funcionando. Também não entendo os parâmetros do construtor para a câmera ... essas largura e altura são para a geometria ou a viewport?

questionAnswers(3)

yourAnswerToTheQuestion