编辑器
http://editor.babylonjs.com/
跟Unity还是差的太远了
跨端
基于React Native实现的跨平台。
框架功能
可能是我不了解,感觉这个设计没Unity的好理解和易用,甚至还不如Phaser
资源加载、loading进度、状态管理
Agent这个类有点像Element?
用户输入Input需要自己写,感觉还是不够开箱即用、不够效率。
Tick机制
需要的类里面,有个tick()方法:
1
| public tick(deltaTime: number): void
|
State的设计
比如Victory、Dead都是State
State有个enter()和exit()方法
内部集成工具
将一些常用的功能集成为框架的可选插件包了,比如:
1 2 3 4 5 6 7 8 9 10 11 12
| "dependencies": { "@babylonjs/core": "5.3.0", "@babylonjs/gui": "5.3.0", "@babylonjs/loaders": "5.3.0", "@babylonjs/materials": "5.3.0", "@babylonjs/post-processes": "5.3.0", "@babylonjs/procedural-textures": "5.3.0", "@babylonjs/serializers": "5.3.0", "ammojs-typed": "^1.0.6", "cannon-es": "^0.18.0", "earcut": "^2.2.3" }
|
常用代码片段
加载模型
存放在线模型的方法:
Babylonjs Playground中动态加载自己的glb gltf模型(github、dropbox)_maki077的博客-CSDN博客_babylon 加载模型
加载模型:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| var delayCreateScene = function () {
var scene = new BABYLON.Scene(engine);
BABYLON.SceneLoader.ImportMesh( "", "https://dl.dropboxusercontent.com/s/5exd7si1f1xusi2/", "car.glb", scene, function (meshes) { scene.createDefaultCameraOrLight(true, true, true); scene.createDefaultEnvironment(); } );
return scene; };
|
我的测试demo:
Babylon.js Playground
案例
FPS游戏
renjianfeng (蔬菜土豆泥) · GitHub
《loacl war》Migrating to Babylon.js4.0 - YouTube
Babylon.js的介绍
虚拟展厅
Babylon.js - Glowing Espilit demo
Babylon.js Playground
工具
模型预览:
https://sandbox.babylonjs.com/
牛人
蔬菜土豆泥的个人空间-蔬菜土豆泥个人主页-哔哩哔哩视频