Я не понимаю, как работает масштабирование узлов на узлах.
Я пытаюсь понять, как работает код в Образце проекта Apple Face Based AR Experiences .В частности, я пытаюсь понять файл TransformVisualization.swift и преобразования, примененные к его узлам.
Вызывается метод addEyeTransformNodes (), а узлы левого и правого глаза масштабируются с использованием свойств simdScale.Это та часть, в которой я запутался.
Я пытался масштабировать один и тот же узел, используя свойства .scale и .simdScale, но оба они ничего не сделали.
Более того, более запутанным является тот факт, что, хотя значения для .simdPivot больше 1, узел сокращается.Я ожидал, что узлы будут масштабироваться.
Зачем нам нужно устанавливать .simdPivot для масштабирования узлов, а не свойства .scale и .simdScale?
Вот функция, о которой я говорю.
func addEyeTransformNodes() {
guard #available(iOS 12.0, *), let anchorNode = contentNode else { return }
// Scale down the coordinate axis visualizations for eyes.
rightEyeNode.simdPivot = float4x4(diagonal: float4(3, 3, 3, 1))
leftEyeNode.simdPivot = float4x4(diagonal: float4(3, 3, 3, 1))
anchorNode.addChildNode(rightEyeNode)
anchorNode.addChildNode(leftEyeNode)
}
Вот что я попробовал:
func addEyeTransformNodes() {
guard #available(iOS 12.0, *), let anchorNode = contentNode else { return }
// Does nothing
rightEyeNode.simdScale = float3(3, 3, 3)
// Does nothing
leftEyeNode.scale = SCNVector3(x: 3, y: 3, z: 3)
anchorNode.addChildNode(rightEyeNode)
anchorNode.addChildNode(leftEyeNode)
}
Я ожидал масштабировать узел так, как я это сделал, но ничего не произошло.
С нетерпением жду ваших ответови помощь.