边缘检测 --> CGPath --> SpriteKite 碰撞

Posted

技术标签:

【中文标题】边缘检测 --> CGPath --> SpriteKite 碰撞【英文标题】:Edge Detection --> CGPath --> SpriteKite Collision 【发布时间】:2014-08-05 19:59:15 【问题描述】:

我一直在尝试在 ios 7 的 SpriteKit 中找到获取每个像素碰撞的最有效方法(不过,iOS 8 的 SpriteKit 对此提供支持)。当然我想用一个盒子或圆圈来表示精灵的物理体,但不幸的是游戏的本质要求每个像素碰撞。

我知道我可以在精灵周围手动绘制 CGPath,但我试图为自己节省一些时间/创建一种长期​​使用的方法/学习新东西。由于精灵的图像是在 alpha 背景(png 文件)上绘制的,我想知道是否使用边缘检测或其他方法可以使用 CGPath 跟踪非 alpha 边缘。这将在游戏初始化期间发生,并且 CGPaths 将被转换为物理体并被保存。尽管我确实读到这可能非常棘手,但我在网上找不到太多帮助。

非常感谢任何帮助。谢谢!

【问题讨论】:

【参考方案1】:

据我所知,您无法自动跟踪非 alpha 边缘,我使用 tool 将精灵拖放到框中并单击点来表示物理体。然后,该工具会返回您刚刚定义的路径的代码,在 iOS 8 发布之前,它会让事情变得更简单。

【讨论】:

以上是关于边缘检测 --> CGPath --> SpriteKite 碰撞的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV - 精明的边缘检测无法正常工作

内核大小 > 7 的 Canny 边缘检测器

canny边缘检测 demo

OpenCV探索之路:边缘检测(cannysobellaplacian)

“边缘检测”和“图像轮廓”之间的区别

IOS OpenGL ES GPUImage 图像 XYDerivative 边缘检测 GPUImageXYDerivativeFilter