有没有办法让SceneKit上的焦点引擎?我正在尝试构建一个3D游戏,玩家必须从许多SceneKit节点中进行选择,但我无法找到一种方法来提供SCNNodes焦点。如何使用tvOS上的遥控器选择个人SceneKit SCNNode
1
A
回答
1
SCNNode
是一个模型对象,而不是UIView
后代(或更准确地说不符合UIFocusEnvironment
),所以我不希望它能够关注。
那么如何选择一个特定的SCNNode
在SCNView
? Apple tvOS SceneKit模板实现了点击测试,但我没有看到用户如何选择他们正在选择的屏幕上的哪个点;没有视觉反馈。模板/演示似乎没有想到。所以这里有一些方法和我前几天讨论过的方法,但没有尝试实现。
该SCNView
可以有一个SpriteKit覆盖的场景,overlaySKScene
。使用一些手势(也许长按或播放按钮)切换到“我即将选择一个节点”模式。这意味着光标出现在overlaySKScene
上,并且可以通过遥控器上的手指移动来移动。用户将光标移动到正确的节点上,然后点击?程序捕获游标的SpriteKit坐标,将其转换回SceneKit命中测试输入,并在场景图上执行命中测试。
@vigneshv指出,Apple不鼓励使用游标。这也是我本周从参加技术会谈的人那里听到的。所以修改的方法可能是在SKScene
上使用不可见光标。随着遥控器上的每次移动,执行命中测试。突出显示不可见光标下的节点,但在获取触控板点击之前不要采取行动。当您第一次切换到节点选择模式时,您甚至可以将不可见光标放在最大或最中心的节点上,以提供一些初步的视觉反馈。
根据您的节点图,这可能会变得复杂。我可以想象根据SCNNode
中心生成Voronoi图,并使用远程手势从多边形移动到多边形。
还有一个想法:使用一个简单的矩形(或十六进制?)网格来跟踪光标,而不是隐藏的隐含Voronoi图。命中测试变得更加复杂:每个网格单元下可以有多个节点。但是网格变得更容易构建,并且更容易导航。
相关问题
- 1. SceneKit - 在另一个SCNNode上添加SCNNode
- 2. SCNNode上的SceneKit applyForce不起作用
- 3. 如何处理tvOS遥控器中的菜单按钮操作
- 4. Apple tvOS UX:使用遥控器浏览视频播放列表
- 5. 使用SceneKit和CoreMotion凝视SCNNode
- 6. 使用SceneKit在ARKit中拖动SCNNode
- 7. tvOS - 通过非Siri遥控器的游戏控制
- 8. 永远动画SCNNode - SceneKit,Swift
- 9. CMMotionData到SceneKit SCNNode方向
- 10. UITapGestureRecognizer&tvOS遥控器用于暂停/播放按钮
- 11. 在Scenekit中如何将一个SCNNode拆分为多个节点?
- 12. 如何在内部遥控器上添加额外的外部Git遥控器?
- 13. 如何使用遥控器将焦点移出Android上的ScrollView?
- 14. 如何使用官方GitHub的应用有多个遥控器
- 15. Jquery.validate.js验证 - 使用2个遥控器?
- 16. SceneKit load dae作为SCNNode的子类
- 17. SceneKit获取当前SCNNode位置形式动画SCNNode
- 18. 如何与GitKraken一起使用多个遥控器
- 19. 如何使用Phabricator Diffusion同步2个遥控器
- 20. 硒遥控器
- 21. tvOS中的日期选择器
- 22. Git与多个遥控器
- 23. 使用手机的电视遥控器
- 24. 使用android的蓝牙遥控器
- 25. 使用Google Tango的Unity遥控器
- 26. 如何使用iphone作为遥控器控制NAS?
- 27. 如何使用earPods遥控器控制AVAudioPlayer?
- 28. 如何将SCNNode指向另一个SCNNode?
- 29. 如何为多个用户使用人员选择器? SharePoint 2013
- 30. 遥控器上的重复标签?
Apple没有不鼓励使用游标吗? – vigneshv