Obi 6 到 Obi 7 之间的升级
更新点提炼
版本更新改动非常大,效果得到了质的改变,提炼改动点有如下内容:
- 使用Computer shader,支持GPU模式,删除Native C++的Oni后台
- 优化Burst版本,所有的渲染都移动到Solver backend,解决了内存碎片问题,现在也是physics – render循环的模式(真的不是内置了一个多物理引擎嘛?)
- Obi Update(Inlcude. FixedUpdate|LateUpdate|Update)移除,现在直接内置进Obi solver
- Cloth 现在可以自动化进行网格绑定,
- Rope|Rod 不再使用MeshRender而是自己实现ObiRopeExtrudedRenderer、ObiRopeLineRenderer 和 ObiRopeMeshRenderer进行渲染,绳子的渲染模式发生了重大改变
- Softbody 可以自动进行绑定,不需要手动绑定ObiSoftbodySkinner ,优化表面碰撞(surface collide | Simplex)
- Fluid (改动非常大)
1. 渲染方式修改,ObiFluidRenderer 变为 ObiFluidSurfaceMesher 可以更加逼真的处理表面渲染,等值面网络的提取可以更好的额支持SSAO、SSR等
2. 材料学,粘度算法改用XSPH(旧版本是PBD、SPH这种),使用仿真射线矩阵跟踪每个例子周围的流体变形,统一粘度和涡量,可以模拟卷曲情况,速度更快,涡流停留时间更长
3. 表面张力(Surface tension) 取消,改用极性(Polarity) 替代(可能是打开化学模拟的一个钥匙),这个效果可以更好的支持不同属性间的粒子混合
4. 粒子平流(particle advection) - Contraint 约束改动
1. 新增空气动力学约束(aerodynamic constraint) - Collision 碰撞改动
1. 新增Force zones 立场(并且可以基于Mesh自定义形状)
2. wins zone 风场合并改动
3. surface collision,表面碰撞优化,现在应该是完全体了 - 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 条评论