Как я могу сохранить холст в фокусе (в центре) камеры, когда размер экрана браузера изменяется при использовании Babylonjs?

#javascript #reactjs #canvas #size #babylonjs

#javascript #reactjs #холст #размер #babylonjs

Вопрос:

Пользователь может изменять размер экрана, и это искажает размер созданного нами холста и, следовательно, фокус изображения камеры. Чтобы решить эту проблему, нам нужно написать код фокусировки.

Ответ №1:

   relocateCamera_CanvasSize = () => {
        this.engine = this.scene.getEngine();
        this.engine.onResizeObservable.add(() => {
            if (this.scene.getEngine().getRenderHeight() > this.scene.getEngine().getRenderWidth()) {
                camera.fovMode = Camera.FOVMODE_HORIZONTAL_FIXED;
            }
            else {
                camera.fovMode = Camera.FOVMODE_VERTICAL_FIXED;
            }
        });
    }