SCNNode в положении камеры

Я пытаюсь сделать так, чтобы мой узел начинался с той же позиции, которую я нажимаю в игре, но не могу понять

вот мой код, где разместить узел. Я получаю свое местоположение от распознавателя жестов касания:

let myLocation = recognizer.location(in: self.view)

Затем я получаю положение x и y в значение с плавающей запятой:

    let myx = Float(myLocation.x * 0.01)
    let myy = Float(myLocation.y * 0.01)

Затем я устанавливаю положение узлов (камера установлена ​​на 30)

shapeNode.position = SCNVector3(x:myx, y:myy, z: 30.0)

Позиция сильно смещена, и я не могу понять, почему...

Кто-нибудь, пожалуйста, помогите


person Jordan Heath    schedule 14.04.2018    source источник


Ответы (1)


Сначала вам нужно преобразовать местоположение из 2D на экране в 3D в реальном мире, используя hittest() для размещения объекта в реальном мире.

person mahmoud farag    schedule 01.03.2019