问题标签 [physijs]

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 投票
0 回答
491 浏览

javascript - Three.js Physijs 中的软体接触点

在物理场景中,我有一个柔软的身体和一个刚硬的身体。不幸的是,文档很薄,我知道 ammo.js/physijs 所基于的子弹物理具有此功能。

当我移动刚体时,如何确定软体上的接触点?

这样我就可以通过对接触点应用速度来使该区域的柔体变形。

0 投票
0 回答
158 浏览

model - three.js 和 physijs 无法 JSONLoad 动画模型,单独在三个上工作

使用 three.js r68/r70 在插入 physijs 之前,我成功地导入了这两个模型,但是现在我有了 physijs scene(),我在 JSON 上遇到了错误。我会上传整个项目,希望有人能找到一种方法来解决这个问题。

这是 .rar 文件的链接 https://drive.google.com/file/d/0B_5Q46w85ZaddEE3MFJrWDhIRlk/view?usp=sharing

正如 jsfiddle 所建议的那样,我不确定这是否正确完成。

https://jsfiddle.net/jjagy5w4/

在此先感谢,达科

0 投票
0 回答
805 浏览

javascript - Physijs 处理组中的网格碰撞

我试图确定我创建的两个网格之间何时发生碰撞。问题是其中一个网格嵌套在一堆THREE.Object3D对象中,因此没有检测到碰撞。当我将另一个对象直接添加到场景 ( scene.add(myObject)) 时,会识别该对象与场景顶部的另一个对象之间的碰撞。但是,仍然没有检测到THREE.Object3D.

有没有办法让 Physijs 检测作为scene对象的直接子级的网格与作为子级的网格之间的碰撞,这是子级THREE.Object3D的父级?

谢谢!

0 投票
1 回答
501 浏览

three.js - Physijs 在哪里阅读有关函数的信息?

不明白在哪里可以知道 physijs 函数的作用。有许多函数,如 applyImpulse、applyForce 等,但没有针对它们的文档。

0 投票
1 回答
1048 浏览

javascript - 在 THREE.Geometry 对象上设置顶点后,THREE.Shape.Utils.triangulateShape 失败并显示 TypeError

我创建了一个由 THREE.JS 和 Physijs 制作的游戏。我制作了一个名为 addBlock2 的函数,它在场景中添加了一个三角金字塔。它设置了适当的顶点,但是当涉及到 triangulateShape 时,它​​会失败并出现以下错误:

game.js:210 是“triangulateShape”行。

这是代码:

0 投票
0 回答
272 浏览

three.js - Physijs 场景导出/导入

目前我以 JSON 格式存储我的 three.js 应用程序场景,并将它们加载到应用程序中,使用THREE.ObjectLoader()它返回一个可以使用的THREE.Scene对象。

根据Physijs 的 基本设置页面,我必须使用

Physijs.Scene 代替 THREE.Scene

代替 THREE.Mesh,选择最佳物理网格,例如 Physijs.BoxMesh、Physijs.SphereMesh 或 Physijs.ConvexMesh

如何将现有的THREE.Scene使用 three.js 网格转换为Physijs.Scene使用Physijs网格?有没有办法从 JSON以Physijs方式加载场景?

0 投票
1 回答
161 浏览

javascript - Raycaster 不移动 BoxMesh 对象

我正在将 Physijs 脚本用于引力等物理学。我想使用脚本中的 Raycaster 移动场景中的对象THREE.js。我的问题是 Raycaster 只移动声明如下的对象(简单框):

但是在这里物理学不起作用。仅当我将其声明为:

但是在这里 Raycaster / 移动不起作用。

这两者之间的区别在于,第一个它只是Mesh,第二个它是BoxMesh

有谁知道为什么这不起作用?我需要BoxMesh为了使用重力和其他物理。

添加多维数据集的代码

0 投票
1 回答
805 浏览

javascript - 物理碰撞事件

我有两个盒子。一个生成在地面上,另一个掉落在上面。重力开启。我试图让碰撞事件监听器在地面上的底部盒子上触发。但是,没有记录任何内容。

我无法弄清楚我做错了什么 - 可能是因为__dirtyPosition

编辑:我在没有的情况下对其进行了测试,clone()并重新创建了第二个框,但这并没有什么不同。

编辑 2:值得一提的是,模拟运行良好,我只是无法让听众工作。

0 投票
1 回答
104 浏览

javascript - 使用 Three.js 和 Physijs 查看映射材料的背面

我使用 Three.js 和 Physijs 创建了一个非常基本的立方体。我正在映射一个具有透明度的纹理,我想通过透明度看到立方体另一侧的纹理。现在,我通过透明度看到背景,但看不到立方体背面的纹理。

使用的纹理:

在此处输入图像描述

结果:

在此处输入图像描述

如您所见,背景通过立方体显示,而不是背面的纹理。我猜想看不到 2d 纹理的背面,但无论如何我都可以将纹理应用到每张脸的两侧呢?

这是我第一次使用 Threejs,看起来有很多东西要吸收,所以我希望我没有错过一些明显的东西 :)

0 投票
0 回答
19 浏览

javascript - 没有从匿名函数javascript块中传输全局变量的值

我得到了一段javascript代码:

在我看来,在这个匿名函数内部,全局变量只处理另一个变量,函数完成后所有副本都被处理掉。我如何在这个匿名函数之外传输变量和对象的值?