ARKit — 10. 물리법칙 적용하기

naljin
3 min readNov 9, 2018

--

본글은 ARKit 동영상 강의를 기반으로 작성한 글입니다. 출처는 아래에서 확인할 수 있습니다.

오역이나 잘못된 정보에 대한 수정은 언제든지 환영합니다 :)

이전 게시글에서 addBox(hitResult:)함수를 통해 박스 모양 노드를 평면에 추가함.

평면에 물체 놓기 보러가기

해당 게시글에서는 이렇게 생성한 노드에 물리 법칙을 적용시킬 것

  1. 노드의 physicsBody 프로퍼티 사용

physicsBody 프로퍼티는 노드가 물리적 특성을 가진것처럼 만들어줌. physicsBody의 typeshape 을 정해줘야함.

boxNode.physicsBody = SCNPhysicsBody(type: .dynamic, shape: nil)

typestatic, dynamic, kinematic세 종류가 있음. dynamic 은 압력이나 충돌에 영향을 받고 static은 받지 않음.

shapenil 로 두면 자동으로 SceneKit이 가장 이상적인 모양을 찾아서 적용. 앞서 만든 박스는 간단한 정육면체 모양으로 복잡하지 않으므로 nil 로 둬도 무방하지만 울퉁불퉁한 돌같은 모양에서는 geometry를 따로 설정하는게 좋음.

cf) static — A physics body that is unaffected by forces or collisions and cannot move.

dynamic —A physics body that can be affected by forces and collisions.

kinematic —A physics body that is unaffected by forces or collisions but that can cause collisions affecting other bodies when moved.

실제 구동 화면

출처

이전 글 👈🏻

다음 글 👉🏻

--

--

No responses yet