#swift #xcode #augmented-reality #scenekit #arkit
#swift #xcode #дополненная реальность #scenekit #arkit
Вопрос:
Я использую базовый пример ARKit, и если я использую две лицевые сетки, одну с каркасом (сзади) и одну с белыми рамками (спереди), я получаю нечетный результат при использовании режима наложения материала multiply. Как вы можете видеть на изображении, полупрозрачные пиксели заставляют заднюю сетку терять альфа в этих областях (красные стрелки). Полностью белый и полностью прозрачный пиксели смешиваются, как и ожидалось.
Я попробовал этот же тест и в примере SceneKit по умолчанию, и там задний объект отображается черным в полупрозрачных пикселях. Код довольно прост для материалов…
let m: SCNMaterial = SCNMaterial()
m.lightingModel = .physicallyBased
m.blendMode = SCNBlendMode.multiply
m.metalness.contents = 0.0
m.roughness.contents = 0.7
m.diffuse.contents = #imageLiteral(resourceName: "atest")
p.firstMaterial = m
Я бы ожидал, что в режиме многократного наложения все белые и белые пиксели исчезнут (как в photoshop). Если кто-нибудь сможет подтвердить такое поведение и ожидания, это было бы здорово. Спасибо.
- (Проект ARKit) https://drive.google.com/file/d/1TEPzBMTz83PdV_XrwjzKXRVnIQ4Xov72/view?usp=sharing
- (Проект SceneKit) https://drive.google.com/file/d/1lGButxh9SfHg-0akniqKDKlL5qMCrk1P/view?usp=sharing
АРКит
Сценарный план