问题标签 [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.

0 投票
1 回答
1729 浏览

javascript - 如何在 babylon.js 中计算相机位置到屏幕中加载的模型的位置?

我需要引导整个模型完全进入视口。 在此处输入图像描述 因为如果模型的尺寸很大,它并没有完全进入视口,例如:

在此处输入图像描述

为了解决这个问题,我需要设置所需的相机位置:

例如: 测试页

如何自动计算模型将完全进入视口的相机坐标?

0 投票
1 回答
483 浏览

javascript - 将玩家移向鼠标方向?

我正在寻找一行简单的代码或 API,如果它这么简单的话。

我正在使用 BabylonJS 制作在线游戏,但遇到了问题。我在文档中找不到任何内容来支持我的问题。我在用

要锁定鼠标,通常您必须单击并拖动。我也在使用这个运动脚本进行基本运动:

不幸的是,这只在轴上变换。有什么方法可以确定我的鼠标在哪里看并向该点移动,而不仅仅是在固定轴上移动?我似乎找不到任何具有我需要的确切方法的东西。谢谢!

0 投票
1 回答
134 浏览

javascript - 在 BabylonJS 中加载 Blender 场景

我在 Blender 中制作了一个场景,并将其导出为 .babylon,现在我将其导入到游戏中。地图为 351KB,我将其加载到游戏中是这样的:

我试图将所有内容缩小到您应该查看的内容,但我将所有内容都留在那里以防万一我错过了什么。(INIT_GAME 在页面加载时加载)。我的问题是,我认为场景正在加载,但它只是给了我一个奇怪的加载图标,我认为这只是巴比伦试图在我通过它的场景中加载。我的问题是:

  • 我是否正确加载了所有内容?
  • 导入 .babylon 场景的正确格式是什么?
  • 地图的大小对于浏览器来说是否太大,如果是,我该如何压缩它?

如果您需要正面查看结果,我可以提供指向该站点的链接。告诉我,谢谢!

0 投票
1 回答
130 浏览

javascript - 无法在现场移动

我在 Blender 中做了一个场景,现在我的播放器不会移动。加载场景没有问题,但是当我尝试使用方向键移动时,它不起作用。这是代码:

如果你知道我为什么不能动,请告诉我。谢谢!

0 投票
1 回答
161 浏览

javascript - babylonjs 中的场景渲染异常

所以,我已经将我在 Blender 中制作的场景加载到 Babylonjs 中,它会产生一些有趣的效果。基本上,我正在尝试将重力等应用到场景中,将玩家移动到适当的位置,并使整个场景变得明亮可见,但这些都不起作用。这是脚本:

}

我的问题是:

  1. 如何使渲染距离更高,以便可以查看整个场景?
  2. 为什么我的场景属性(重力、运动等)都不起作用?
0 投票
1 回答
922 浏览

design-patterns - 更改在 Angular 2 组件内初始化的 Babylon JS 的实例状态

您好,我正在尝试使用 Angular 2 的 DI 注入变量以更改在 BabylonJs 中初始化的对象的状态。

我曾经[(ngModel)]="Service.var"读取变量并ngModel Change)="methode"在我的组件中调用一个方法。结果是节点服务器的巨大压力和内存的巨大增加。

最好的解释是旧组件没有被删除,每次我触发 DI 时都会重新创建一个新的 Babylon JS 实例。

目标:WebGl 对象从Injectable()类中读取更改而不创建新实例:

我的目标是找到一种方法来更改在巴比伦 JS 引擎调用的内部第一次创建的矩阵对象的状态,createSeane()而不恢复创建的第一个引用并实时查看更改。如果在菜单组件中实现单击,则服务将更改,Babylon JS 组件将检测更改并再次使用新更改再次计算并在画布中绘制新更改。

我怎样才能实现最好的设计模式,我应该如何解决问题并实现我的目标?

0 投票
1 回答
1763 浏览

camera - BabylonJs 目标对象消失

在 BabylonJs 中,如果一个相机被放置在离物体一定距离的地方,那么它的距离与物体的大小成正比,那么整个场景应该是大致相同的。

我创建了这个简单的测试(可以复制并粘贴到http://www.babylonjs-playground.com/以运行),它产生一个大小为 1000 的球体的场景,从位于 (0, 0) 的相机看到, 10000):

请注意,如果球体的大小减小到 100,并且相机的距离也相应减小(因此相机位于 (0, 0, 1000)),场景看起来仍然相同。

如果实验重复减少另一个因素,即球体的大小减少到 10 并且相机定位到 (0, 0, 100),仍然没有任何变化。

到目前为止,一切都很好。但是,如果我尝试增加球体的大小和距离,那么一切都会消失:如果球体的大小为 10000 并且相机定位到 (0, 0, 100000),则场景看起来是空的。为什么?是否有可能改变这种行为?如何?我错过了什么?

谢谢!

0 投票
3 回答
7055 浏览

javascript - Babylon JS - 来自本地文件的 SceneLoader

新巴比伦 JS 用户,希望了解这个出色的框架。玩过沙盒和在线编辑器,使用标准组件(Box、Sphere 等)从头开始构建我自己的编码模型。我的问题与如何加载更复杂的自定义几何图形有关。对 3D CAD - STL/OBJ 文件非常满意,将一些从 Blender 导出为 .Babylon 格式的导出文件很好地导入了 Babylon 的在线沙盒和编辑器。但是,我似乎无法让 SceneLoader 从本地 C:/ 驱动器读取文件。代码摘录如下:

我的模型有一个带有地平面的几何标准框。巴比伦的所有渲染都很棒——直到我添加了 SceneLoader 行。当我添加这个时,我卡在了巴比伦加载介绍启动画面(旋转巴比伦标志)上。如果我注释掉模型上方的最后一行代码,则该框可以很好地呈现。看过各种论坛页面,让我的大脑陷入困境,例如:http ://www.html5gamedevs.com/topic/20924-stlobj-file-loader/ & https://www.eternalcoding。 com/?p=313 我相信谷歌浏览器可能为了安全而锁定了本地文件链接,尝试在 -Allow-Local-File-Access 模式下运行,仍然卡在加载页面上。我需要一个网络服务器(我不知道从哪里开始!)或者我可以在本地运行巴比伦场景吗?

0 投票
1 回答
516 浏览

javascript - 如何将视频的“投影相机映射”模拟到多个 BabylonJS 网格上?

问题:

如何将视频的“投影相机映射”模拟到多个 BabylonJS 网格上?

分解:

在此处输入图像描述

  • 好像相机是投影仪,而网格是空间中的物体?

我正在寻找的结果是视频将更多地用作网格的颜色渐变,或者另一方面是视频本身的失真。

希望这是有道理的,我在我正在考虑的概念上附上了一张来自 Cinema 4d 的简化图像。

在此处输入图像描述

代码:

0 投票
1 回答
207 浏览

javascript - 使用Babylon js 部分加载定制鞋款

我打算用Babylon引擎开发一个3D鞋子定制网站。鞋子可以部分定制。比如,改变前部的形状,从弯曲到尖,改变鞋跟的形状和大小,改变每个部分的纹理等,

为此,创建带有子网格的模型并与之交互以更改材料是否正确?

是否可以在运行时更改子网格,弯曲到尖?

或者代替子网格是否可以加载多个单独的网格(内底,外底,鞋跟等,作为单独的模型网格)并附加它们?

请引导我走正确的道路。