有沒有辦法讓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