ARKit에서 빛을 비추면 하나보다 더 낫습니다.
곤란한 일
ARKit로 배치한 3D 오브젝트에 omni 타입(전구의 빛)의 SCNLight를 설정해, 빛을 맞았을 때에 그림자가 너무 강하다고 느끼고 있었다.
구체적으로는 이런 느낌.
하지만 그림자가 너무 강하다고 해서 빛을 비추지 않으면 뻔뻔한 것처럼 보이고 리얼함이 빠져 버린다.
구체적으로는 이런 느낌.
그럴 때는 라이트를 조합하자!
ARKit(SceneKit)에서는 복수 SCNLight를 배치할 수 있는 것 같고, ambient 타입(모든 면을 일정하게 비추는 빛)과 omni 타입의 SCNLight를 배치하면 좋은 느낌이 되었다.
구체적으로는 이런 느낌.
omni 타입의 SCNLight는 위치에 따라 그림자가 붙는 방법이 달라지기 때문에 position을 제대로 설정해야 하지만, ambient 타입의 SCNLight는 어디에 배치해도 빛의 맞는 방식은 변하지 않으므로 자신은 rootNode의 속성으로 설정하고 버리고 있다.
override func viewDidLoad() {
super.viewDidLoad()
// Set the view's delegate
sceneView.delegate = self
// Show statistics such as fps and timing information
sceneView.showsStatistics = true
// Create a new scene
let scene = SCNScene()
// Set the scene to the view
sceneView.scene = scene
// Setup Omni Light
let omniLight = SCNLight()
omniLight.type = .omni
omniLight.intensity = 0
omniLight.temperature = 0
omniLight.castsShadow = true
let omniLightNode = SCNNode()
omniLightNode.light = omniLight
omniLightNode.position = SCNVector3(0,10,1)
sceneView.scene.rootNode.addChildNode(omniLightNode)
// Setup Ambient Light
let ambientLight = SCNLight()
ambientLight.type = .ambient
ambientLight.intensity = 0
ambientLight.temperature = 0
sceneView.scene.rootNode.light = ambientLight
}
SceneKit을 사용하여 AR 앱 개발을 원하는 방향으로 정보를 정리하고 있으므로 여기도 참조하십시오.
Reference
이 문제에 관하여(ARKit에서 빛을 비추면 하나보다 더 낫습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/noby111/items/635e9b903435630fee07텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)