Мне нужно масштабировать набор 3D-объектов до одинакового размера и разместить их на расстоянии 1 м от iPad. У меня есть прозрачное изображение на экране чуть выше ARSCNView, и я пытаюсь перекрыть 3D-объект точно позади прозрачного изображения, и размер также должен совпадать. Любая ссылка ИЛИ предложения высоко ценятся. Заранее спасибо.
Масштабирование 3D-объектов до одинакового размера и размещение их на расстоянии ровно 1 м от камеры iphone/ipad с помощью Arkit.
Ответы (1)
Предполагая, что вы уже знаете размер своих активов (т. е. если вы сами создали модели), вы можете изменить свойство .scale
в корневом каталоге SCNNode
для каждого объекта, чтобы результирующие размеры были одинаковыми.
i.e:
node.scale = SCNVector3Make(0.1, 0.2, 0.8)
Если у вас есть один объект размером n1 = (1, 2, 1) (в метрах), а другой размером n2 = (2, 2, 2), то вы можете масштабировать первый на node.scale(2.0, 1.0, 2.0)
— теперь оба объекта будут одинакового размера. , однако очевидно, что первый будет искажен, поскольку вы изменили его размеры.
Чтобы разместить узлы на расстоянии 1 м от источника, вы используете:
node.position = SCNVector3Make(0, 0, -1) // x = 0, y = 0, z = -1
Я не совсем понимаю, о чем вы говорите, когда упоминаете прозрачное наложение, но если вы объясните это немного подробнее, я или кто-то другой сможет вам помочь.
Надеюсь это поможет.
node.position
должно делать именно то, что вы хотите. Затем просто масштабируйте объекты, чтобы они поместились в оправе очков. Вы имеете в виду, что хотите, чтобы объекты двигались, когда вы перемещаете камеру?
- person Jordan; 12.04.2018