【问题标题】:Arkit place Button relative to 3d Object - IOSArkit 放置按钮相对于 3d 对象 - IOS
【发布时间】:2018-01-24 20:25:27
【问题描述】:

我正在尝试相对于我的 3d 对象的坐标放置一个 UIButton。谁能帮助我,我如何将UIButton 固定在 3d 对象上。任何帮助,将不胜感激。

【问题讨论】:

  • 您必须使用函数projectPointunprojectPoint。在这件事上查看my post with an answer
  • 这很快吗?无法使用项目点

标签: ios arkit


【解决方案1】:

在 SceneKit 中使用 UIKit 对象并不是一个好主意,因为 UIButton 使用基于 UIKit 的机制来处理用户输入和事件。 渲染 2d 对象(如按钮和手柄触摸)的最简单方法之一是使用 SpriteKit。您可以将 SCNNode 与 SCNPlane 几何体一起使用,并使用材质属性在其上渲染 SKScene。 像这样material.diffuse.contents = skScene

您可以在这个苹果示例代码中找到基于 SpriteKit 的 SceneKit 按钮:https://developer.apple.com/library/content/samplecode/scenekit-2017/Listings/Swift_Shared_UI_Button_swift.html

【讨论】:

  • 谢谢,我正在使用 material.diffuse.contents 为按钮提供材料,我还将这个按钮作为子节点添加到我的根节点并以node.position = SCNVector3(self.nodeModel.worldPosition.x, self.nodeModel.worldPosition.y, self.nodeModel.worldPosition.z - 0.01) 访问坐标但是我是试图将按钮放在特定位置。每次相机加载时,都会通过触摸将根对象添加到世界坐标中,但我无法访问子节点。
  • “UIButton 使用基于 UIKit 的机制来处理用户输入和事件”这是怎么回事? SCNView 是 UIView 的子类,将 UIButton 与 Scenekit 结合使用是个好主意。
  • @BashProCoder,答案在您问题的 cmets 中,在 objC 和 swift 中都有。
猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-18
  • 2019-04-22
  • 2018-02-06
相关资源
最近更新 更多