理解3D场景的基础概念

nothing-sy2024-03-22babylonjs

三大概念

场景

就像在影棚拍摄一样,场景是所有物体的容器。我们可以布置背景,灯光,物体,以及拍摄用的相机等。 将所有的东西都和场景scene绑定,然后交给渲染器渲染

相机

相机是一个重要的概念,观察场景中的内容需要相机,相机决定了观察的角度,距离,以及观察的视角。可以比作为人眼。 babylonjs提供了多种相机,比如FreeCameraArcRotateCameraUniversalCamera等 比如围绕某个物体旋转的相机ArcRotateCamera 比如跟随物体移动的相机FollowCamera 等等,这些相机的类型决定了如何观察场景内容

渲染器

当所有内容,包括相机,场景,灯光等准备就绪后,我们需要将它们渲染到屏幕上。 babylonjs通过创建engine,来实现渲染。

创建场景

import * as BABYLON from 'babylonjs';
// 创建场景
var canvas = document.getElementById('renderCanvas');
var engine = new BABYLON.Engine(canvas, true);
var scene = new BABYLON.Scene(engine);

创建相机

// 创建相机
var camera = new BABYLON.FreeCamera('camera1', new BABYLON.Vector3(0, 5, -10), scene);
camera.setTarget(BABYLON.Vector3.Zero());
camera.attachControl();

创建渲染器

// 创建渲染器
engine.runRenderLoop(function() {
    scene.render();
});
Last Updated 2025-02-20 03:36:19