问题标签 [babylonjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 来自地狱的巴比伦天空盒
我正在阅读 babylonjs 的教程,我一直在为很多事情努力。我在第一个环境教程中,我正在尝试让我的天空盒渲染。假设文件路径正确,问题可能是什么?
three.js - 在 Babylon.js 中绘制自定义形状
我一直在网上搜索一种在 babylon.js 中绘制自定义 3d 形状的方法。如果有人可以提供一个工作示例,我将不胜感激。例如,3d 不规则五边形、三角形扇形或楔形。
javascript - 在屏幕上移动网格而不处于撕裂动画中
你能告诉我为什么这在浏览器中不起作用,尽管我认为这是在屏幕上移动网格而不被撕裂(撕裂动画)的正确方法?
它开始正确移动网格,但过了一会儿,网格在没有逻辑的情况下四处飞行。设置和清除时间间隔对浏览器来说是个问题吗?
谢谢你。
javascript - 使用 Babylon.js 渲染在 Blender 中创建的场景,而不使用 Babylon.js 默认的闪亮材质
我在 Blender 中创建了一个非常简单的场景,其中包含一个平面、一个立方体、一个太阳(AKA 定向光)和一个相机:
渲染后,它看起来像这样:
我的问题是,当我将此场景导出为 .babylon 文件格式并将其加载到 Babylon 时,它看起来根本不像这样。似乎巴比伦为我的所有网格设置了一种高光闪亮的怪异材质:
我想要一个“哑光”(我的意思是,不透明和粗糙的)材质,就像在 Blender 的渲染中一样,在我的巴比伦场景中也是如此,或者至少抑制镜面反射的东西,使网格看起来像粗糙。不幸的是,我还没有在互联网上遇到像我这样的案例。
关于我正在使用的一些信息:
- 搅拌机 2.74
- Blender to Babylon exporter(前两天下载的,我觉得是最新的,还是不知道是什么版本)
- 巴比伦.js v2.1
- 适用于 MacOSX 的谷歌浏览器
我正在使用 python localhost 服务器,所以我无法提供一个工作示例,但至少这是我的 .babylon 场景和我的 html 代码:
提前致谢 !
glsl - 使用 GLSL 在平面上渲染平滑的参考网格
我正在尝试编写一个 GLSL 片段着色器,它在平坦的地平面上呈现参考网格。我正在使用 BabylonJS 创建一个 WebGL 应用程序。
代码可以在这里看到:
http://www.babylonjs.com/cyos/#IBHRN#2
结果还不是很平滑,我想知道如何去除线条中的脊,并最终得到完美的抗锯齿线条。
blender - Babylon.js 中网格之间的父子链接
我在搅拌机中创建了一个场景,由不同的网格组成。每个网格都有我添加的子约束。当这个场景被导出到 .babylon 文件并使用时,没有保留父子约束。我是单独添加这个约束还是有什么方法可以从搅拌机中使用这个约束?
如果我必须单独添加约束,那么如何?
javascript - 在 Babylon.js 中用 3 个向量创建一个平面
如果我有 3 个坐标,如何在 Babylon.js 中创建一个以这 3 个向量为角的平面?
我知道我可以创建这样的飞机:
var plane = BABYLON.Mesh.CreatePlane("plane", 500.0, scene);
并且有一个类似的功能
var plane1 = BABYLON.Plane.FromPoints(new BABYLON.Vector3(0,0,0), new BABYLON.Vector3(0,50,0), new BABYLON.Vector3(0,0,50));
但是我如何让 plane1 进入场景呢?
javascript - 如何使用 JavaScript/FileApi/XHR 加载从搅拌机导出的 *.babylon?
我很好地使用.babylon文件格式。为 Blender 3D 编辑器开发的导出器完美运行,如果使用以下代码加载导出的模型:
运行良好,浏览器中的 WebGL 渲染器显示了我的模型。
但是,如果我不想将模型加载为必须保存在 HTTP 服务器(IIS、Apache、lighttpd、nginx 等)的公共文件夹中的静态文件怎么办。
例如,我想从用户端加载一个.babylon文件,或者在我的后端保护对.babylon文件的访问。
好吧,让我们看看情况,如果我在我的网络应用程序中提供某种上传器(使用浏览器中的文件 API),用户将能够从他们的 PC 或其他设备加载 3D 模型。
我正在尝试像这样加载模型:
文件上传(change
输入文件事件)效果很好:
处理几何图形并添加到场景:
它工作正常!但!!!没有材料...
我从上传的数据中发现了多材料:
但是如果使用下一个代码:
这对这个示例完全有效,它会引发下一个错误:
我什至不知道下一步该做什么,有什么想法吗?
3d - 从巴比伦跑——重力,对撞机,这一切都不起作用
所以,我在使用 babylon.js 时遇到了麻烦。我试图做一个简单的例子,我在我的玩家对象和地面上有盒子碰撞器,并应用了重力和碰撞的物理。对于我可能做错的事情,我已经没有想法了。请帮忙!我将提供游乐场链接,因为人们不认为我们使用它,以及原始代码。
链接:http ://www.babylonjs-playground.com/#1PK6ED#1
原始代码: