官方物理引擎例子中如何使用demo中cutting-objects 裁剪一张真正的图片?

请问如何使用demo中cutting-objects 裁剪一张真正的图片?

githubhttps://github.com/2youyou2/physics-example

1.点击下面地址

Online demo:http://2youyou2.com/physics-example/

2.点击demo中cutting-objects,想把物理碰撞组件添加个Sprite,如何才能裁剪Sprite?

有大神吗?

没有:6:

@panda 用2.0 的RenderTexture 可否实现?

第二天

三个办法

  1. 通过顶点在 Sprite bounding box 中的相对位置,计算 uv,创建新的 SpriteFrame,将这些 uv 作为 mesh uv 设置进去,最后设置这个 SpriteFrame 到 Sprite 中。这个方法性能比较好
  2. 使用 Mask 组件,在 mask 初始化之后延迟一帧可以获取 mask._graphics,然后通过这个 graphics 组件渲染物理中的 triangles,作为遮罩来剪裁原始的 Sprite,这个方法性能比较差
  3. 用 CustomIA 来组织数据的提交,可以参考 2.0 测试例中的 CustomIA 用例,比较复杂一些,每个节点的渲染数据完全自己组织(pos, uv, color 等),组装好直接用于提交渲染,可能是比较好实现的,但是节点之间无法批处理(custom ia 的数据提交是独立的)(另外,这部分文档还没有,抱歉)

这些是很简略的步骤,总的来说都需要对渲染数据进行干预,实现起来有一定的难度,也需要阅读引擎的源码才能真正理解,后面我们会提供一些文档来帮助用户做渲染定制,目前疲于修复 bug,提升稳定性

感谢大神,抽空回复,第一种方法如何创建SpriteFrame?我没找到相关的方法,是否要升级到2.0才可以?

遇到了同样的裁剪问题 求救!

顶这个问题,据说可以用遮罩达到效果,不过切割的N多块,都遮罩合适吗

求教,楼主最后有实现吗?

楼主可以分享下最终解决方案的demo么?

这真是一个老坟了,最近在看物理引擎部分,纹理切割感觉第一种方式和第三种方式都可以,目前也只是知道大致思路,要实现起来,还是要看看源码,这部分连文档都木有,有难度

mark

使用第二种方法已经实现

前几天正好再弄这个,大概就是获取到新的刚体点添加mask

请问,有工程源码吗?能否上个工程源码呀

请问,有工程源码吗?能否上个工程源码呀

请问,有工程源码吗?能否上个工程源码呀