Расширенный поиск с использованием childNode в Swift - PullRequest
1 голос
/ 17 июня 2020

Я использую функцию swift childNode(withName: String, recursively: Bool) для поиска дочернего узла в родительском узле на моей 3D-карте.

Итак, моя карта загружается правильно, и я пытаюсь использовать эту функцию.

Я пробовал на одном узле EntranceGround, и это сработало, да!

Но когда я попытался использовать расширенный поиск, чтобы собрать дочерний primitive_0 в родительском узле Scene, это вообще не сработало, и я не знаю почему.

Документация для расширенного поиска: Документация Apple

Вот пример простого поиска :

if let screenbox = map.childNode(withName: "EntranceGround", recursively: true) 
 {
   /// Function called to create a object Zone
   _ = self.createZone(name: "Hall", in: screenbox)
 } else {
   /// I use NSLogger to have a better console log, its the equivalent of print()
   Logger.shared.log(.app, .error, "Didn't find the Hall node")
 }

и вот ответ на консоли, он работал хорошо, мой объект был создан

Zone of Hall : Size --> <SCNBox: 0x28326c380 | width=21.345 height=1.194 length=28.079 chamferRadius=0.000> || Center --> SCNVector3(x: 0.0037841797, y: -0.5817822, z: 10.556584)

Теперь я использую сложный поиск, чтобы посмотреть primitive_0 в Scene:

if let screenbox = map.childNode(withName: "//Scene/primitive_0", recursively: true) {
  _ = self.createZone(name: "Hall", in: screenbox)
} else {
  Logger.shared.log(.app, .error, "Didn't find the primitive_0 node")
}

и вот ответ, система не нашла мой объект: Didn't find the primitive_0 node

Если кто-то может помочь мне найти, что я делаю не так:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...