스프라이트 소켓 사용하기

페이퍼 2D 스프라이트에 정의된 소켓에 오브젝트를 붙이는 방법입니다.

Windows
MacOS
Linux

이 글에서는 스프라이트에 오브젝트를 붙일 수 있는 소켓을 추가한 뒤 블루프린트 안에서 그 소켓에 접근하는 법에 대해 알아보겠습니다. 스프라이트 소켓에서 파티클 이펙트를 스폰(하여 불붙은 캐릭터를 표현)한다든가, 캐릭터의 손에 (총이나 칼같은) 무기를 붙이는 등, 스프라이트의 소켓에 붙이거나 스폰할 수 있는 것은 여러가지 있습니다.

이 예제에서는 캐릭터의 머리에 모자를 붙여보도록 하겠습니다.

스프라이트에 소켓을 추가하려면:

  1. 소켓을 추가하고자 하는 스프라이트를 찾아 엽니다.

  2. 디테일 패널에서 Sockets 옆의 + 를 클릭하셔 소켓을 추가합니다.

  3. Socket Name 을 입력하고 Local Transform 또는 뷰포트내 위젯을 사용하여 소켓을 옮깁니다.

    AddingSocket.png

    뷰포트 안에서 소켓을 옮기려면, 먼저 줌인한 뒤 소켓을 클릭해야 할 수 있습니다.

참고로 소켓에 짓는 이름이 중요합니다. 위에서 HatSocket 이라는 이름의 소켓을 만들어 캐릭터에 2D 모자를 씌우고자 했습니다. 위 단계에서는 스프라이트 하나만 다뤘지만, idle 애니메이션에는 스프라이트가 8 종 있으므로, 그 스프라이트 각각에도 소켓을 추가해 줘야 합니다.

프로퍼티 매트릭스 를 사용하면 그 작업을 빠르게 할 수 있습니다.

다수의 스프라이트에 소켓 추가:

  1. 콘텐츠 브라우저 에서 소켓을 추가하고자 하는 플립북 애니메이션 내 스프라이트 각각을 선택합니다.

  2. 스프라이트에 우클릭 한 다음 애셋 액션 아래 프로퍼티 매트릭스... 를 선택합니다.

    PropteryMatrix.png

    프로퍼티 매트릭스 를 열면 이 스프라이트 전부를 동시에 변경할 수 있어 시간이 절약됩니다.

    8 개의 프레임 전부가 선택되도록 이미 참고삼아 소켓을 추가했던 스프라이트도 선택했습니다.

  3. 프로퍼티 매트릭스 안에서 (소켓이 없는) 스프라이트 각각을 선택한 다음 + 를 클릭하여 소켓을 추가합니다.

    AddSockets.png

  4. 엘리먼트 0 을 펼친 다음 Socket Name 아래 이름을 첫째 스프라이트와 똑같이 지어줍니다 (우리 예제에서는 HatSocket 입니다).

    AddSockets2.png

  5. Local Transform이동 을 펼친 다음 XYZ 값을 첫 스프라이트와 똑같이 설정합니다.

    AddSockets3.png

  6. 애니메이션 내 각 스프라이트를 열어 소켓이 잘 추가됐는지 확인합니다.

    AddSockets4.png

    각 프레임마다 위치가 제대로 됐는지 확인하기 위해 스프라이트별로 소켓 위치를 조정해줘야 할 수도 있습니다.

플립북 각 프레임에 소켓을 붙였으니, 블루프린트더러 소켓 위치에 액터를 스폰시키라 할 수 있습니다.

블루프린트를 통해 스프라이트 소켓 접근하기:

  1. 캐릭터 블루프린트 안에서 내 블루프린트 창의 눈 아이콘과 Show Inherited Variables (상속된 변수 표시)를 클릭합니다.

  2. 캐릭터의 Sprite 컴포넌트를 좌클릭 후 끌어 놓습니다.

    Blueprint1.png

  3. Event Begin Play 노드에서 Spawn Actor from Class 노드를 추가한 다음 원하는 액터 클래스로 설정합니다.

  4. Spawn Transform 에는 Make Transform 노드를, Return Value 에는 Attach To 노드를 사용합니다.

  5. Sprite 컴포넌트를 In Parent 에 연결하고, In Socket Name 에는 만들어 둔 소켓 이름을 입력합니다.

    Blueprint2.png

    구성이 위와 비슷할 것입니다. 예로 캐릭터에 아까 만든 HatSocket 위치에 모자 스프라이트 컴포넌트가 들어있는 블루프린트 Hat_BP 를 스폰하여 붙이고 있습니다. Idle 프레임에도 위와 똑같은 프로세스를 적용하여, 게임에서 (아래와 같이) 모자를 쓰고 있는 캐릭터가 만들어지게 되었습니다.

  6. 컴파일 후 에디터에서 플레이하면, 스폰되는 액터 클래스는 소켓 위치에 스폰되어 붙을 것입니다.

스프라이트에 소켓을 추가하면 그 소켓에 여러가지 것들을 붙일 수 있으며, 스프라이트가 플립북의 일부인지와는 상관없이 애니메이션이 적용될 뿐만 아니라, 소켓에 무엇이 들어가는지도 전적으로 여러분에게 달려있습니다.

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼