Стрижка SCNPlane с помощью ARKit - PullRequest
0 голосов
/ 13 июня 2018

Я хочу сдвинуть SCNPlane, как показано на рисунке ниже, но затем по оси Y.Таким образом, B и C перемещаются вверх вместо A и B вправо.Я знаю, что для этого необходима матрица преобразования, поэтому я попытался создать такую ​​матрицу преобразования, как фрагмент кода ниже.Но ни один из возможных вариантов не дает желаемого результата.Кроме того, SCNPlane вращается на -90 вокруг оси X.Может быть, кто-то может показать мне, что я делаю неправильно.

var transformMatrix = matrix_float4x4()
transformMatrix.columns.0 = [1.0, tan(60), 0.0, 0.0]
transformMatrix.columns.1 = [0.0, 1.0, 0.0, 0.0]
transformMatrix.columns.2 = [0.0, 0.0, 1.0, 0.0]
transformMatrix.columns.3 = [0.0, 0.0, 0.0, 1.0]

let newTransform = matrix_multiply(transformMatrix, simd_float4x4((transformPlane?.transform)!))
transformPlane?.simdTransform = newTransform

Я получил матрицу преобразования из ответа на этот вопрос (номер 3).

enter image description here

...