一个模拟2d布料/绳子 spine柔性骨骼插件

soft2d柔体模拟

商店地址:https://store.cocos.com/#/resources/detail/2549
文档地址:

模拟2d 绳子,布料,和spine柔性骨骼。
本插件只是模拟表现效果,暂时不支持物理碰撞。

  • 通过单张图片实现绳子或布料效果
  • 对spine骨骼添加柔性效果
  • 实现风力场,绳子或布料随风飘动
  • 尽力优化,性能高效。示例代码如下
applyLine(mp_arr) {
    let exF
    let t = this._t  
    let zoomEnv = this._windPrecision
    let envs = this._strength
    let dirs = this._dirStrength
    let dir = this._directionNormalied
    let dny,dnx
    let px,py
    let get = noise.get
    //向量计算都展开计算,避免函数调用消耗
    //尽量使用了局部变量,避免js index时的hash消耗
    //示例场景在手机浏览器里能达到60fps
    for (let mp of mp_arr) {
        exF = mp.exF
        px = mp.wp.x,py = mp.wp.y 
        dnx = get(t + px * zoomEnv, t + py * zoomEnv) + 1
        dny = get(t + py * zoomEnv, t + px * zoomEnv) + 1
        exF.x =  get(t + px * zoomEnv, t + py * zoomEnv) * envs + dir.x * dirs * dnx
        exF.y = get(t + py * zoomEnv, t + px * zoomEnv) * envs  + dir.y * dirs * dny
    }
}

再顺道安利下之前做的插件:(场景闪电编)
https://yafacex.github.io/CocosCreatorPluginAllInOne/场景闪电编/

15赞

大佬yyds :stuck_out_tongue_winking_eye:

好东西

好东西,mark

强啊!大佬dddd!

:face_with_monocle:
大佬这个真的强
:smile:

mark~~~~~~~~