开源
Babylon.js:一个开源的游戏和渲染引擎
来源:元经纪     阅读:973
网站管理员
发布于 2023-06-19 09:40
查看主页

概述

Babylon.js 是一个强大、美观、简单且开放的游戏和渲染引擎,封装在一个JavaScript 框架中。

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

Babylon.js

入门?使用我们的playground直接使用 Babylon.js API 。它还包含大量示例以学习如何使用它。

内容分发网络

对于预览版,请使用以下 URL:

可以在此处找到附加参考列表。

npm

BabylonJS 及其模块在 npm 上发布,具有完整的类型支持。要安装,请使用:

npm install babylonjs --save

或者,您现在可以依赖我们的ES6 包。使用 ES6 版本将允许 tree shaking 以及其他捆绑好处。

这将允许您完全使用以下方式导入 BabylonJS:

import * as BABYLON from 'babylonjs';

或个别课程使用:

import { Scene, Engine } from 'babylonjs';

如果使用 TypeScript,请不要忘记将“babylonjs”添加到“类型”中tsconfig.json

    ...
    "types": [
        "babylonjs",
        "anotherAwesomeDependency"
    ],
    ...

要添加模块,请安装相应的包。可以在 npm 上的 babylonjs 用户中找到额外包的列表及其安装说明。

官方网站

www.babylonjs.com

用法

请参阅入门

// Get the canvas DOM element
var canvas = document.getElementById('renderCanvas');
// Load the 3D engine
var engine = new BABYLON.Engine(canvas, true, {preserveDrawingBuffer: true, stencil: true});
// CreateScene function that creates and return the scene
var createScene = function(){
    // Create a basic BJS Scene object
    var scene = new BABYLON.Scene(engine);
    // Create a FreeCamera, and set its position to {x: 0, y: 5, z: -10}
    var camera = new BABYLON.FreeCamera('camera1', new BABYLON.Vector3(0, 5, -10), scene);
    // Target the camera to scene origin
    camera.setTarget(BABYLON.Vector3.Zero());
    // Attach the camera to the canvas
    camera.attachControl(canvas, false);
    // Create a basic light, aiming 0, 1, 0 - meaning, to the sky
    var light = new BABYLON.HemisphericLight('light1', new BABYLON.Vector3(0, 1, 0), scene);
    // Create a built-in "sphere" shape using the SphereBuilder
    var sphere = BABYLON.MeshBuilder.CreateSphere('sphere1', {segments: 16, diameter: 2, sideOrientation: BABYLON.Mesh.FRONTSIDE}, scene);
    // Move the sphere upward 1/2 of its height
    sphere.position.y = 1;
    // Create a built-in "ground" shape;
    var ground = BABYLON.MeshBuilder.CreateGround("ground1", { width: 6, height: 6, subdivisions: 2, updatable: false }, scene);
    // Return the created scene
    return scene;
}
// call the createScene function
var scene = createScene();
// run the render loop
engine.runRenderLoop(function(){
    scene.render();
});
// the canvas/window resize event handler
window.addEventListener('resize', function(){
    engine.resize();
});

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
恋爱手游《恋与深空》回应歌手派克特贬损言论:追究到底 法庭见
京东双11明晚正式开场!12大补贴 iPhone 16最高补2249元
腾讯会议全面调整:逐步升级为免费版、专业版、商业版、企业版
儿童家居市场增速迅猛 京东发布三大核心策略助力中国家长“精细养娃”
安全合规为出海全球化保驾护航

首页

分类

定制方案

消息

我的