在SpriteKit(或SceneKit)中更新几何

时间:2016-01-07 15:13:41

标签: ios sprite-kit scenekit metal

我们正在向SpriteKit移植游戏,而且我遇到了一些问题。我们游戏中的一些物体附有三角形条带。当对象在世界中移动时,轨迹的顶点缓冲区会不断更新,以创建无缝且流动的效果(缓冲区中有多少顶点以及发射新顶点的频率有限制。)

在前面的实现中,只要我们发出新的顶点,我们就会更新相应缓冲区中受影响的顶点。在SceneKit中,似乎我无法更新几何源,除非我使用geometrySourceWithBuffer:vertexFormat:semantic:vertexCount:dataOffset:dataStride:。但要做到这一点,似乎我需要一个Metal设备,命令队列和编码器,以便能够在渲染之前提交更新缓冲区的命令。

我有什么方法可以使用普通SCNView执行此操作,还是必须使用CAMetalLayer手动执行所有操作,创建自己的金属设备等?

本质上,我们需要的所有,条形码这个轨迹几何体在SpriteKit中可用,所以我希望有一些方法可以保存SKView使用的金属设备和命令队列并简单地使用它来上传我的几何。这会使事情很多更简单。

1 个答案:

答案 0 :(得分:0)

我使用了粒子系统来获得类似的效果。粒子发射器附着在移动物体上,粒子设置为淡出并最终死亡。您可能需要将发射器的0.95设置为场景,具体取决于您想要的效果。

targetNode