请问是rapier.js这个仓库吗
我是用@dimforge/rapier2d-compat 和 @dimforge/rapier3d-compat
这个包的wasm是base64的,是要先解析保存为wasm文件,然后再instantiate么,还是直接载入rapier_wasm2d_bg.wasm呢
不需要呀, 你调init就好了, 它都帮你处理好wasm文件的处理了
import RAPIER from '@dimforge/rapier2d-compat';
RAPIER.init().then(()=>{
const world = new RAPIER.World({x:0,y:-98});
});
微信小游戏也可以么,我这边有一个WASM的初始化报错ERROR: Error: WXWebAssembly.instantiate: only support file type .wasm or .wasm.br
我是发自家产品webview里的, 没在微信小游戏试过. 按你那报错, 估计 是微信限制了wasm实例方式
我猜你可以先源码里定义一个静态变量, 然后再把代码中这段WebAssembly.instantiate(第一个参数改为读取你定义的静态变量。
然后把.wasm文件放到resouces目录下, 再使用
比如你定在源码定义了一个wasmUrl静态变量
import RAPIER from '@dimforge/rapier2d-compat';
cc.resource.load( xxxx,cc.Asset,(err,asset)=>{
RAPIER.wasmUrl = asset.nativeUrl
RAPIER.init().then(()=>{
this.node.emit('rapier-inited');
});
}
不知能不能行, 但可以试试
测试后微信小游戏平台可以跑通,多谢大佬指点!
你给ta一个微微的角速度呗, 很多物理引擎都是这様,调用rigidbody.setAngvel(你的角速度值)
这个2d,引入就5m了,而且我的是这样的
。在default里面
引入这个物理引擎之后遇到一些奇怪的适配问题.不知道有没有大佬们遇到过类似的问题?在原生浏览器或微信开发者工具中测试没有问题,但是在苹果真机上会出现部分刚体不能触发碰撞穿越过去的情况…我大概同时构造了三百到四百个刚体
补充一下刚体的测试环境中位置和形状都没有问题 刚体也没有休眠 找了一圈没发现是啥原因导致的这个适配问题
Rapier我已经封装成跟引擎类似的刚体控件和碰撞体控件了 貌似这个引擎有些隐藏的多平添适配问题还在处理中 后面网络游戏上线了我公布出来封装的Rapier控件
我也有搞类似的, 但我发现如果要在刚体的子节点下, 比如某部位加一个碰撞器, 父节点旋转时子节点的碰撞器也要旋转, 这个我搞了几次还是有问题, 不知你有没有解决
请问我在苹果真机运行,会提示JS: message: WebAssembly.instantiate(): Out of memory: wasm memory
设备内存不足 
我是在iphone11真机测试的,内存不至于加载个库会爆
想做一个多人在线的台球游戏 ,用这个是否合适? 有没有大佬用过,不知道怎么用
骑灵子那个框架就有台球的,,
打个广告,我这个帧同步游戏就是用的rapier
很不错哦,蛮好玩的,赚钱了没有这个游戏
