※ 알아 두자
Use Controller Desired Rotation < Orient Rotation to Movement < Use Controller Rotation Yaw 순으로 옵션이
덮어 씌워지니 적용하고 싶은게 있다면 상위옵션이 꺼져있는지 확인 할것
Component의 Detail값 변경

값을 변경하고 싶은 컴포넌트를 가져와서 Set옵션이름을 사용하여 원하는 수치로 변경 가능
Transform같은 위치값 뿐만 아니라 체크박스같은 옵션도 변경 가능
머티리얼 인스턴스(Material Instance)
기존 머티리얼을 복사로 생성하면 계속 엔진이 머티리얼을 생성하느라 다른곳에 작업을 할당 해야하니
머티리얼의 출력 로직은 같으나 내부 파라미터만 변경하여 여러 머티리얼을 생성하게하는 최적화 방법이다.
파라미터에서 오버라이드 시킬 내용만 체크해주면 그 부분만 오버라이드 시켜 필요없는 작업을 하지않는다.
(기존 머티리얼 우클릭 - 머티리얼 인스턴스 생성)



이렇게 생성시킨 머티리얼 인스턴스를 적에게 적용시켜 플레이어와 구분가능하게한다.
충돌(Coliision)
공격을 구현한다는 것은 내가 조작하는 캐릭터의 무기가 적의 몸에 닿았다는걸 뜻하는데 그것을 충돌 이벤트로 구현한다.
충돌의 종류에는 3가지가있다. A를 캐릭터 B를 벽이라고 가정
- 블록(Block) : 충돌 시 A가 B를 통과 못하게 막힘
- 겹침(Overlap) : 충돌 시 A가 B를 통과하나 그사이 이벤트 발생 가능
- 무시(Ignore) : 충돌 시 A가 B를 통과하고 그사이 이벤트 발생 불가능

부딪히는 두 물체의 콜리전 Generate Overlap Events를 켜야 충돌을 인식한다. 어느 한쪽이라도 꺼져있으면 인식 못함
투명한 벽을 만들고 캐릭터가 부딪히면 부딪힌 컴포넌트의 이름을 출력한다 하면 캐릭터와 검의 컴포넌트 이름이 떠야하는데 캐릭터의 체크박스를 해제하면 충돌해도 검의 이름만 뜬다.


충돌 이벤트는 ActorBeginOverlap이벤트로 발생 시키는데 기본적으로 틱이벤트라서 처음 충돌했을때만 발생시키려면 클래스 디폴트 - Actor Tick - Start with Tick Enabled를 해제 해주면 된다.


몬스터 헌터를 예로 들어 한손검은 검의 절단공격, 방패의 타격공격이 있는데 뭘로 공격했는지 모르면 방패로 공격해도 꼬리가 절단되는 상황이 일어날것이다. 그럴 땐 이벤트의 On Component Begin Overlap 노드를 이용할 수 있다. (반대로 어느 부위를 공격했는지는 무기에서 On Component Begin Overlap을 사용하면 될듯, 현재 노드는 공격을 당하는 개체)
Overlapped Component : 공격을 당하는 몬스터
Other Actor : 공격을 하는 플레이어
Other Comp : 공격을 하는 플레이어의 무기
Other Body Index : 플레이어 또는 무기의 Body Index(충돌 판정을 세분화하기 위해 사용)
From Sweep : Sweep 했는가
Sweep Result : Sweep의 결과(핀 분할 가능)
스윕(Sweep)
물체와 부딪히면 알림을 주는 물체가 A지점에서 B지점으로 고속이동한다고 치고 그사이에 다른 물체가 있었다고 하면
현실에서는 부딪혔기 때문에 알림을 받았겠지만 엔진에서는 텔레포트 한것과 같기때문에 알림을 받지않는다.
그때 Sweep이 켜져있으면 A에서 B까지 가는 사이에 일어나는 충돌은 전부 알림이 뜬다.

이런식으로 사용하는듯하다.
'언리얼 BluePrint 정리' 카테고리의 다른 글
| 06/08 학습 정리(Preset, Apply Damage) (0) | 2023.06.08 |
|---|---|
| 06/07 학습 정리(Hit, Physics, Delta Time) (0) | 2023.06.08 |
| 06/01 학습 정리( 8Way Move Animation, Calculate Direction) (0) | 2023.06.02 |
| 05/31 학습 정리(Dual Weapon, Asset Import, Function Library) (0) | 2023.06.01 |
| 05/30 학습 정리(Notify State, Does Implement Interface) (0) | 2023.05.30 |