ARKit SceneKit Metal集成

Nic*_*mas 1 scenekit metal arkit

我正在尝试将SceneKit和Metal中的ARKit对象创建集成在一起。我可以轻松地使用SeneKit创建对象,而其他人可以使用Metal轻松创建对象,因此我希望能够同时使用两者。

例如,使用sceneKit模板创建ArKit项目可通过SceneKit节点放置一艘太空飞船作为演示。另一方面,使用Metal模板时,使用锚点在水龙头中使用ARTAP创建一个立方体。

如何在同一个项目中同时使用两者?例如,通过Metal和使用SceneKit的宇宙飞船创建一个多维数据集。

再举一个例子,有一个MTKView,我想将其包装为一个对象或将其层叠在SceneKit中的对象之上,并且我还使用SceneKit中的PBR创建了其他对象,我想将它们并排放置在其中。 ARKit。如果可能的话。

也许与此?:https : //developer.apple.com/documentation/scenekit/scnprogram

我认为,如果可能的话,这对于成长中的ARKit社区将非常有用。

谢谢!

小智 5

您应该能够同时在场景中使用SceneKit和Metal内容-您可以通过访问渲染器及其currentRenderCommandEncoder属性(https://developer.apple.com/documentation/scenekit/scnscenerendererdelegate)来使用SCNSceneRendererDelegate来实现此目的):

  • renderer(_:willRenderScene:atTime :) -用于在SceneKit之前渲染金属内容
  • renderer(_:didRenderScene:atTime :) -用于在SceneKit之后渲染金属内容

或使用SCNNodeRendererDelegate将节点的内容替换为Metal内容(https://developer.apple.com/documentation/scenekit/scnnoderendererdelegate):

  • renderNode(_:renderer:arguments :)