首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARKit SceneKit金属集成

ARKit SceneKit金属集成
EN

Stack Overflow用户
提问于 2017-09-11 01:20:38
回答 2查看 2.2K关注 0票数 1

我正在尝试将ARKit中的对象创建与SceneKit和Metal集成起来。有些对象我可以很容易地用SeneKit创建,其他也可以用金属创建,所以我希望能够同时使用这两个对象。

例如,使用ArKit模板创建一个sceneKit项目会通过SceneKit节点将一个空间飞船作为演示。另一方面,使用金属模板在ARKit中创建一个多维数据集,并使用锚点进行点击。

我怎样才能在同一个项目中使用这两种方法呢?例如,使用SceneKit创建一个金属立方体和一个宇宙飞船。

另一个例子是,我希望将一个MTKView包装为一个对象或层,它位于SceneKit中的一个对象之上,我还想在SceneKit中使用PBR创建其他对象,我希望在ARKit中并行地使用这些对象。如果可能的话。

也许用这个?:https://developer.apple.com/documentation/scenekit/scnprogram

我认为,如果可能的话,这将对日益增长的ARKit社区非常有用。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-31 11:19:14

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

  • renderer(_:willRenderScene:atTime:) -用于在SceneKit之前呈现金属内容
  • renderer(_:didRenderScene:atTime:) -用于在SceneKit's之后呈现金属内容

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

  • renderNode(_:renderer:arguments:)
票数 5
EN

Stack Overflow用户

发布于 2017-09-11 12:44:58

我怎样才能在同一个项目中使用这两种方法呢?

你必须选择你想要用金属或SceneKit构建你的应用程序,两者都有起起落落。我认为有两种方法你可以采取:

  • 使用SceneKit。由于SceneKit使用金属,你可以增强和改变着色器或程序。也许开始阅读这些文档关于在SceneKit中使用金属。也许您可以在金属中做您想做的事情,同时仍然在可能的情况下使用SceneKits抽象。
  • 使用金属。如果按苹果的意愿在SceneKit中使用金属,你必须用金属构建所有的东西是不够的。要加载复杂的模型,可以使用Apples ModelIO将3D内容加载到金属中。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46147037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档