티스토리 뷰
애플 예제에 있는 scn파일들을 가져와서 썼었는데,
scn파일 (SceneKit Scene File) 을 직접 만들어보겠습니다.
[1] scnassets폴터에서 new File 하기

그러면 이런 파일이 하나 생깁니다.

저는 파일이름을 hello로 바꿔주겠습니다.
현재 Scene graph를 보면 카메라 밖에 없어요

[2] container 노드 만들기
+ 버튼을 누르면 이렇게 라이브러리?가 뜹니다.

container 역할을 해줄 empty node를 끌어옵니다.
scene graph에 untitled이 생겼네요
untitled 이름을 container로 바꿔주세요


그리고 container의 postion을 0, 0, 0으로 해주세요

저는 카메라도 0,0,0 으로 설정해줬어요-! (근데 애플 예제보면 0,0,0 아니더라구요..)
[3] child 노드들 만들기
그 다음 box랑 cone이랑 3D Text를 container 안으로 끌어옵니다.
이때 카메라 위치를 잘 맞춰야해요...!
그리고 text node는 폰트바꿔도 실제 돌리면 기본폰트로만 나옵니다.

그 다음 돌려주세요~
import UIKit | |
import SceneKit | |
import ARKit | |
class ViewController: UIViewController { | |
@IBOutlet var sceneView: ARSCNView! | |
override func viewDidLoad() { | |
super.viewDidLoad() | |
setupSceneView() | |
} | |
override func viewWillAppear(_ animated: Bool) { | |
super.viewWillAppear(animated) | |
} | |
override func viewDidAppear(_ animated: Bool) { | |
super.viewDidAppear(animated) | |
resetTracking() | |
} | |
override func viewWillDisappear(_ animated: Bool) { | |
super.viewWillDisappear(animated) | |
} | |
private func setupSceneView() { | |
sceneView.delegate = self | |
} | |
private func resetTracking() { | |
let configuration = ARFaceTrackingConfiguration() | |
sceneView.session.run(configuration, | |
options: [.resetTracking, .removeExistingAnchors]) | |
} | |
} | |
extension ViewController: ARSCNViewDelegate { | |
func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? { | |
guard anchor is ARFaceAnchor else { return nil } | |
let resourceName = "hello" | |
let contentNode = SCNReferenceNode(named: resourceName) | |
return contentNode | |
} | |
} | |
얼굴위치로 잘나옵니다
하지만 face traking이 반대방향으로 됩니다...
(왼쪽으로 고개 돌리면 상자는 오른쪽으로 감....)
카메라 포지션을 잘못잡아준것같은데ㅠㅠ 찾아봐야겠음--!

[추가] 노드에 texture 넣어보기
1) box.scn 파일을 만들기

2) scn파일에 있는 카메라 transform 설정

3) box노드를 추가하고 transform 설정!
- 카메라보다 z축으로 더 뒤로가라고 z = -0.5로 해주기
- 그냥 돌리면 너무 커서 스케일을 0.5로 해주기

4) texture로 준비한 사진을 scnassets에 넣어주기
** 참고로 texture란 3D 노드를 감싸는 평평한 이미지라고 할수있겠습니다 **

5) box.scn에 texture를 끌어오면 끝-!

6) 참고로 texture는 Diffuse에서 확인하거나 해제할 수 있음!

'🍏 > ARKit' 카테고리의 다른 글
[ARKit] Face Tracking 앱 만들기 (4) - ARSCNFaceGeometry, SCNMaterial (0) | 2020.06.09 |
---|---|
[ARKit] Xcode에서 dae파일을 scn파일로 convert하기 (0) | 2020.05.31 |
[ARKit] Face Tracking 앱 만들기 (3) - eye tracking, blendShapes (0) | 2020.05.29 |
[ARKit] Face Tracking 앱 만들기 (2) - ARFaceAnchor, SCNReferenceNode, renderer (0) | 2020.05.28 |
[ARKit] Face Tracking 앱 만들기 (1) - ARFaceTrackingConfiguration (0) | 2020.05.26 |
- Total
- Today
- Yesterday
- flutter 앱 출시
- Flutter Clipboard
- Django Heroku Scheduler
- 장고 Custom Management Command
- github actions
- DRF APIException
- Django Firebase Cloud Messaging
- Flutter Text Gradient
- Dart Factory
- flutter build mode
- ribs
- 플러터 얼럿
- 플러터 싱글톤
- Sketch 누끼
- flutter dynamic link
- Python Type Hint
- Flutter getter setter
- METAL
- Flutter 로딩
- flutter deep link
- 장고 URL querystring
- drf custom error
- PencilKit
- 구글 Geocoding API
- cocoapod
- SerializerMethodField
- Django FCM
- Watch App for iOS App vs Watch App
- ipad multitasking
- Flutter Spacer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |