일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고풀자
- 언리얼
- 정글사관학교
- 스마일게이트
- Enhanced Input System
- 게임개발
- 카렌
- 으
- Unseen
- Express
- 언리얼뮤지컬
- node
- VUE
- 데이터베이스
- 디자드
- 레베카
- 마인크래프트뮤지컬
- JWT
- 미니프로젝트
- Bootstrap4
- EnhancedInput
- 스터디
- 파이썬서버
- R
- flask
- 프린세스메이커
- 언리얼프로그래머
- 프메
- Ajax
- Jinja2
- Today
- Total
Showing
[Unreal, VR] VR에서 Item grab(Hold) and Release를 위한 블루프린트 설정 본문
언리얼에서 vr 프로젝트를 할 때, 이미 vr template를 제공하기 때문에 참고해서 만들어볼 수 있다.
grabable Item 이라는 class 통해 블루프린트 class를 만들고, static mesh를 달아준다.
아이템을 '잡음'과 '놓음'에 대한 인터페이스 규약을 만든다.
이때 '잡음'에서는 아이템이 플레이어에게 붙을 때 parent 변경이 일어나야 하므로,
inputs 값에 currnetController(자료형 Motion Component) 변수 하나가 필요하다.
이렇게 만든 인터페이스를 grabable Item 상속해주면
grabable Item에 인터페이스의 함수들이 나타나게 된다.
블루프린트 숙련도 이슈로 찾는데 어려움이 있었는데,
노드 동그라미 우클릭 후 variable로 변환해준다.
이렇게 변환한 변수는 잡음과 놓음을 구현할 때 사용하게 된다.
아이템을 '잡음(Hold)' 구현
플레이어 컨트롤러가 잡으면서 grabable Item의 부모가 되게 한다.
이 Attach actor to component는 사용자의 손에 여러 아이템(무기 등)을 쥐어줄 수 있게 하는 언리얼 핵심 함수이기 때문에 다른 예제도 함께 눈여겨보면 좋다.
USceneComponent::AttachToComponent | Unreal Engine Documentation
Syntax
bool AttachToComponent
(
USceneComponent * InParent, // 부모자리
const FAttachmentTransformRules & AttachmentRules,
FName InSocketName
)
부모가 변경된다는 것은, 부모입장에서는 자식이 계층으로 들어온다는 뜻이 된다.
'놓음' 구현(Release)
역시나 블루프린트 숙련도 이슈로 get is valid 노드를 찾는데 어려움이 있었는데,
current controller 파란색 동그라미 우클릭 후 convert to validated get을 클릭해 노드 구조를 바꿔준다.
즉, 나( grabable Item)를 잡은 손이 있는지 없는지를 검토하는 것이다.
소켓에 붙였으되 뗄 떼는 스테틱 메쉬에서 떼면 된다.
참고 :
'Unreal' 카테고리의 다른 글
[Unreal] 언리얼 버추얼 프로덕션 virtual-production (1) | 2023.12.25 |
---|---|
[Unreal, VR] Custom VR Pawn Blueprint (1) | 2023.12.21 |
[Unreal] Line Trace를 이용하여 3D Player에서 NPC로의 시점 전환 (1) | 2023.11.28 |
[Unreal] Pawn과 Character, EnhancedInput vs InputSystem (0) | 2023.11.24 |
[Unreal] 플레이어 폰 세팅과 이동 애니메이션 (0) | 2023.11.24 |