Obi 6 到 Obi 7 之间的升级

更新点提炼

版本更新改动非常大,效果得到了质的改变,提炼改动点有如下内容:

  1. 使用Computer shader,支持GPU模式,删除Native C++的Oni后台
  2. 优化Burst版本,所有的渲染都移动到Solver backend,解决了内存碎片问题,现在也是physics – render循环的模式(真的不是内置了一个多物理引擎嘛?)
  3. Obi Update(Inlcude. FixedUpdate|LateUpdate|Update)移除,现在直接内置进Obi solver
  4. Cloth 现在可以自动化进行网格绑定,
  5. Rope|Rod 不再使用MeshRender而是自己实现ObiRopeExtrudedRenderer、ObiRopeLineRenderer 和 ObiRopeMeshRenderer进行渲染,绳子的渲染模式发生了重大改变
  6. Softbody 可以自动进行绑定,不需要手动绑定ObiSoftbodySkinner ,优化表面碰撞(surface collide | Simplex)
  7. Fluid (改动非常大)
    1. 渲染方式修改,ObiFluidRenderer 变为 ObiFluidSurfaceMesher 可以更加逼真的处理表面渲染,等值面网络的提取可以更好的额支持SSAO、SSR等
    2. 材料学,粘度算法改用XSPH(旧版本是PBD、SPH这种),使用仿真射线矩阵跟踪每个例子周围的流体变形,统一粘度和涡量,可以模拟卷曲情况,速度更快,涡流停留时间更长
    3. 表面张力(Surface tension) 取消,改用极性(Polarity) 替代(可能是打开化学模拟的一个钥匙),这个效果可以更好的支持不同属性间的粒子混合
    4. 粒子平流(particle advection)
  8. Contraint 约束改动
    1. 新增空气动力学约束(aerodynamic constraint)
  9. Collision 碰撞改动
    1. 新增Force zones 立场(并且可以基于Mesh自定义形状)
    2. wins zone 风场合并改动
    3. surface collision,表面碰撞优化,现在应该是完全体了
  10. scripting 二次开发
    1. Spetial queries 空间查询,之前只是一个射线功能,现在可以查询具体粒子,三角,shape,simplices,AABB,相当于开放了更多的参数(很nice,不需要自己写mesh query的东西了)
    2. constraint 编写,可以自己处理约束,并且添加到合适的batch中,相当于为自己二次开发物理做了一个接口
    3. particles API,粒子接口,第一行就是新增了activation flag做激活标记,现在可以认为的对粒子进行选择处理,让其失活(用自己运动学脚本驱动),并且还增加了生命周期,材质检查等等更方便的FInd函数
    4. scripting actor,官方列出了自己编写rope的二次接口,允许Tear(切断、撕裂)

省流版本
> 1. 性能大大的好,支持GPU了
> 2. 流体基本上重做了
> 3. 增加了一堆开发接口,开发更友好了


0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注