본글은 ARKit 동영상 강의를 기반으로 작성한 글입니다. 출처는 아래에서 확인할 수 있습니다.
오역이나 잘못된 정보에 대한 수정은 언제든지 환영합니다 :)
ARKit 을 이용해 직육면체와 구를 생성하고 material로 Image를 적용해보기
1. 우선 이전의 예제와 같이 아래의 세단계를 수행
- import
SceneKit
,ARKit
ARSCNViewDelegate
상속ARSCNView
를 상속받는sceneView
추가
2. SCNScene
객체 생성
let scene = SCNScene()
3. 직육면체 만들기 — SCNBox
와 그에 적용될 Material
을 만들고 SCNNode
에 설정
let box = SCNBox(width: 0.2, height: 0.2, length: 0.2, chamferRadius: 0)let material = SCNMaterial()material.diffuse.contents = UIImage(named : "brick.jpg")let node = SCNNode()node.geometry = boxnode.geometry?.materials = [material]node.position = SCNVector3(-0.1, 0.1, -0.5)
이전에는 material.diffuse.contents = UIColor.red
같이 색상으로 설정했다면, 이번에는 미리 추가해놓은 brick.jpg
이미지로 설정.
3. 구 만들기 — SCNSphere
와 그에 적용될 Material
을 만들고 SCNNode
에 설정
2에서 box 를 만들고 설정하는 것과 동일한 역할을 하지만 조금 더 간결한 형태의 코드
let sphere = SCNSphere(radius: 0.2)sphere.firstMaterial?.diffuse.contents = UIImage(named : "earth.jpg")let sphereNode = SCNNode(geometry : sphere)sphereNode.position = SCNVector3(0.5, 0.1, -1)
구를 만들때는 SCNSphere
클래스가 사용되고,이때 radius
의 단위는 meter
4. scene
의 rootNode
에 생성한 node
와 sphereNode
를 childNode
로서 추가
scene.rootNode.addChildNode(node)scene.rootNode.addChildNode(sphereNode)