babylonjs vite
时间: 2025-01-04 07:36:46 浏览: 8
### 如何在 Vite 项目中使用 BabylonJS
#### 创建 Vite 项目
为了创建一个新的 Vite 项目,在终端中输入如下命令,这会初始化一个基于模板的新项目[^1]:
```bash
npm create vite@latest my-babylon-app --template vanilla
cd my-babylon-app
```
#### 安装 BabylonJS
进入项目的根目录后,通过 npm 或 yarn 安装 BabylonJS 库及其相关依赖包:
```bash
npm install @babylonjs/core
```
对于想要利用 TypeScript 的开发者来说,还可以安装类型定义文件以便获得更好的编辑器支持和编译时检查:
```bash
npm install --save-dev @types/babylonjs
```
#### 配置 Vite
通常情况下,默认配置已经足够让 BabylonJS 正常工作。然而如果遇到任何加载问题,则可以在 `vite.config.ts` 中调整优化设置:
```typescript
import { defineConfig } from 'vite';
export default defineConfig({
optimizeDeps: {
include: ['@babylonjs/core']
}
});
```
#### 编写 BabylonJS 场景代码
接下来可以开始编写 BabylonJS 渲染逻辑了。假设有一个 HTML 文件名为 index.html:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<title>BabylonJS Example</title>
<style>
canvas{
width:100%;
height:100vh;
}
</style>
</head>
<body>
<canvas id="renderCanvas"></canvas>
<script type="module" src="/main.js"></script>
</body>
</html>
```
对应的 main.js 文件内容可能是这样的:
```javascript
// Importing BabylonJS core library
import * as BABYLON from '@babylonjs/core';
const canvas = document.getElementById('renderCanvas');
const engine = new BABYLON.Engine(canvas, true);
var createScene = function () {
var scene = new BABYLON.Scene(engine);
// Adding camera and light here...
const camera = new BABYLON.ArcRotateCamera(
"camera",
Math.PI / 2,
Math.PI / 4,
3,
BABYLON.Vector3.Zero(),
scene
);
camera.attachControl(canvas, true);
const hemiLight = new BABYLON.HemisphericLight(
"hemiLight",
new BABYLON.Vector3(0, 1, 0),
scene
);
// Creating a simple sphere mesh
let sphere = BABYLON.MeshBuilder.CreateSphere("sphere", {}, scene);
sphere.position.y = 1;
return scene;
};
let scene = createScene();
engine.runRenderLoop(function() {
scene.render();
});
window.addEventListener('resize', function(){
engine.resize();
});
```
此示例展示了如何在一个简单的场景里添加相机、光源以及基本几何体。
阅读全文