问题标签 [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 投票
2 回答
1557 浏览

three.js - 在搅拌机模型上添加物理,three.js Physijs

如何在搅拌机模型上添加物理?我尝试了 ConvexMesh、ConcaveMesh 但没有运气。

截图

0 投票
1 回答
411 浏览

javascript - physijs -> physijs_worker.js -> 错误:“运行时未定义”

我非常熟悉three.js(我在上面教了一门课,否则我不是webdevwiz),我想用physijs添加物理。

复制一个副本并尝试运行 Jenga 示例:这些块出现,然后,在看似可变的时间之后,它们消失了,并且(Chrome)控制台吐出:

“未捕获的 ReferenceError:未定义运行时”我追溯到 physijs_worker.js 中的第 302 行:

world.setInternalTickCallback(Runtime.addFunction(reportInternalTick));

这是我的页面: http ://card.gda.itesm.mx/mark/baldridge/jenga.html

三个小时的网上搜索(和玩弄)让我没有移动一英寸 - 你能帮忙吗?为孩子做!(或荣誉,无论哪种方式!)

我难住了。

  • 马尔科索
0 投票
2 回答
2294 浏览

javascript - Physijs,结合运动和物理

我一直在寻找这个结论,但我似乎无法找到任何解决方案。

我正在尝试创建一个简单的场景,以便使用 THREE.JS 和 PHYSI.JS 进行一些平台操作。我有一个质量为 0 的扁平盒子作为我的作品,还有一个盒子网格作为我的角色。Physijs 的网站似乎建议我将__dirtyPosition变量设置为true. 这里的问题是:__dirtyPosition 与物理相混淆。当我将我的角色从关卡边缘移开时,他并没有摔倒。事实上,当它发生碰撞时,它似乎停止了世界立方体的一半。

当我尝试在不应用的情况下更新位置时__dirtyPosition,立方体被放回原位。它有点颤抖,好像它有轻微的癫痫发作,仅此而已。如果我可以同时使用物理和运动,那就太好了,使用 Physi 进行碰撞感觉有点过分了。这是我现在的做法,显然是错误的方式:

这是创建具有角色和世界的“级别”的功能。关卡对象还包含一个更新函数,它在调用 requestAnimationframe 函数之后和渲染器渲染之前播放。

我知道类似的问题已经出现,但没有一个真正产生令人满意的答案。我真的不知道该做什么,或者我应该使用哪些功能。

编辑 我忘了添加这部分:我一直在使用一个小框架来确定我应该获得一个 THREE.js 对象还是一个 PHYSI.js 对象,作为我的游戏和我的库之间的桥梁。这些遵循与 THREE.js 和 PHYSI.js 相同的参数,我用注释标记了哪个函数返回哪种类型的对象。

0 投票
1 回答
436 浏览

three.js - 如何让 Physijs 和 Threejs 与 tQuery 一起工作

晚上好,

我最近从 EaselJS 切换到 Threejs,太棒了!

我尝试在本教程中包含一个名为 Physijs 的物理引擎,并将其与 tQuery 一起使用,但它不起作用。

头:

Physijs 版本:最新形式 GitHub Threejs 版本 59(包含在 tQuery 中) tquery.physi.js 版本:未知,从教程的源代码中获取,在其他任何地方都找不到)

页面加载完成时调用的 init 函数:

FireBug 给出的错误:

有谁知道我能做些什么来解决这个问题,?也可以随意谈论替代方案!:)

谢谢!

0 投票
1 回答
413 浏览

performance - 如何关闭 Physijs 以提高移动设备的性能?

我正在尝试找到一种方法来提高我的纸牌游戏在移动设备上的性能(使用 Cordova 包装)。

该脚本检测 WebGL 是否可用,如果不支持则回退到 Canvas 2d。但我的三星 Galaxy S4 的帧率很低 5-10fps。

是否可以关闭 Physijs?如果不是,我如何重写 Physijs 函数以仅返回 ThreeJS 对象而不是 Physijs 对象?示例:

一如既往,您的帮助很有价值,谢谢:)

0 投票
0 回答
153 浏览

javascript - 球体内部的球体threejs physijs

我正在尝试制作一种“彩票球”模拟器。

我很难在带有 physijis 的对象中添加对象。

当我将球体添加到场景时物理工作,但是当我将子球体添加到主“彩票”球体时,它失去了物理。

如果有人可以提供帮助,那就太好了。

谢谢

0 投票
1 回答
2381 浏览

javascript - 在 three.js 游戏中使用 cannon.js 进行碰撞检测

我正在使用three.js 做一些事情,我需要一种方法来非常普遍地处理对象之间的冲突。我正在考虑使用 cannon.js,因为它支持我需要的原语,但我并不总是特别需要/想要任何物理开销(比如说检测子弹击中特定敌人),我只是主要想在很多情况下将它用于碰撞检测,因为我对编写自己的通用碰撞检测引擎的兔子洞不感兴趣。

基本上我要问的是是否有一种相对简单的方法来使用 cannon.js,或者可能是其他一些 JavaScript 物理库来测试对象/对象对象/地形碰撞并确定对象是否发生碰撞。如果我能得到像穿透深度、碰撞法线等这样的东西,那就更好了。

如果我真的希望事物与我的three.js 代码紧密有效地集成,我会更好地使用physijs 吗?它似乎也有我需要的东西,但是从其主页上的演示来看,性能似乎很差。

谢谢!

0 投票
1 回答
627 浏览

three.js - Three.js Physijs.BoxMesh rotateOnAxis

Im trying to rotate a BoxMesh around its Axis.

Without Physijs.Scene.simulation() rotateOnAxis works, but with the simulation it doesn't work. With the simulation it does move around its position.

So W,S,Q,E works but A,D doesn't work with Physijs.Scene.simulation(), A,D does work without Physijs.Scene.simulation(). Any ideas?

sourcecode

**Edit solved:

It is obvious that this.player.__dirtyPosition = true; only allows you to change the position, but not the rotation, i looked inside the code and searched for something similar so i found that there is also a this.player.__dirtyRotation = true; which solved my problems! =)

0 投票
1 回答
677 浏览

javascript - 使用 THREE.js、physijs 和 Node.js 的在线游戏

我正在尝试使用 physijs 和 node.js 制作一个简单的网络在线游戏

我从这里找到了一个相关的来源(https://github.com/jjoe64/nodejs-physijs

以下是我要使用的基本服务器端代码。

问题是,我是 node.js 和 socket.io 的初学者,所以我不知道如何将场景从这个服务器端代码导入到客户端的视口。是否有任何客户端示例代码?或者如何使用套接字将场景信息从服务器发送到客户端?我怎样才能显示它们?

0 投票
1 回答
756 浏览

javascript - Three.js Physijs 将网格移向鼠标?

所以我一直在这里筛选帖子和文档,试图弄清楚如何让 BoxMesh 基本上跟随鼠标。最终我会做操纵杆触摸控制,类似于《战利品英雄》或其他使用触摸操纵杆的游戏。但现在我想确保我可以让定向速度正常工作。

所以这就是我在鼠标按下事件中的内容:

但是会发生的是确定的速度似乎来回翻转,所以玩家非常非常紧张。

这是我设置鼠标坐标的方法:

不使用滚动偏移或任何东西,因为场景是全屏的。

编辑

删除了以前的方向代码。使用 atan2 计算角度,然后应用它。类似于我在 2d 游戏中如何做到这一点。