Appearance
三大属性 场景 相机 渲染引擎
第一步先获取 canvas
javascript
const canvas = document.querySelector('canvas')
canvas.height = window.innerHeight
canvas.width = window.innerWidth第二步创建 engine、scene、camera
javascript
// 创建渲染引擎
const engine = new BABYLON.Engine(canvas, true),
// 创建场景
scene = new BABYLON.Scene(engine),
// 创建相机 弧形旋转相机
// 参数1定义相机的 name,
// 参数2定义相机沿y轴的旋转弧度,
// 参数3定义相机沿x轴的旋转弧度,
// 参数4定义相机与目标的距离,
// 参数5定义相机的目标,
// 参数6定义相机所属的场景
camera = new BABYLON.ArcRotateCamera(
'camera',
-Math.PI / 2,
Math.PI / 2,
2,
new BABYLON.Vector3(0, 0, 0),
scene
)
// 可以通过鼠标旋转视角
camera.attachControl(canvas, true)
// 停止通过鼠标旋转视角
camera.detachControl()
// 相机的滚轮速度,数值越大,前进后退速度越慢
camera.wheelPrecision = 30
// babylon.js默认左手坐标系,转成右手,因为游戏引擎的坐标基本上都是左手坐标系
// 左右手坐标系的X、Y方向都是一样,左手坐标系的Z的正方向是向前,右手则相反
scene.useRightHandedSystem = true第三步循环渲染场景 以及监听浏览器窗口变化
javascript
engine.runRenderLoop(() => {
scene.render()
})
window.addEventListener('resize', () => {
engine.resize()
})