

두번째 제스쳐인 팬 제스쳐 코드입니다. 마찬가지로 최상단 노드를 찾아 selectedNode로 설정하는 것은 같으나 오브젝트 전체를 드래그 즉 팬제스쳐를 통해 이동시키기 위해서는 최상단 노드를 찾는것으로 충분하기 때문에 추가로 자식노드를 찾는과정은 없습니다. 최상단 노드 , 즉 컨트롤 하기위해 필요한 노드를 찾았다면 팬제스쳐가 시작될때의 위치를 originalNodePosition 변수에서 저장해두었다가, 팬제스쳐가 실행, 즉 changed될때 sceneView에서 제스쳐가 변화된 만큼을 originalNodePosition기준으로 적절하게 계산하여 새로운 위치로 조정해줍니다. 여기서는 0.05를 곱하였고 z 축의 경우에는 따로 2D 좌표계인 제스쳐에서는 계산이 불가하여 적절한 위치로 보이도록 기존 z 축 위치에 y축 변화량을 계산해주는 방식으로 보완하였습니다.
제스처가 끝나는 ended 와 cancelled 의 경우에는 노드와 포지션의 값을 nil로 초기화 시켜줍니다.