-클렌징빔은 LCRC를 누르는 시간동안 생성되고, 손을 떼는 순간 사라진다.
-클렌징빔의 경우 에임에 따라 길이가 변하는 평타와 달리 오히려 일정한 길이의 레이저 빔이 생성된다.
LCRC 클릭: 액션 추가 및 바인딩 수정
-Composite With One Modifier button으로 바인딩을 추가해준다. 동시에 눌러야하기때문이다.
-Modifier 버튼만 눌리면 동작하지 않고, Binding 버튼을 기준으로 동작한다.
-LCRC와 LC액션은 각각 다른 액션이지만 동일한 버튼(Left Button)이 존재한다. 그냥 액션을 생성하면 LCRC액션 시, LC액션도 함께 실행되는 문제가 발생한다. 이를 해결하기 위해 바인딩에 Interactions로 Press를 추가한다.
(즉, 쌍클릭했을때 평타가 나가지는것을 막기 위해서 HollowKnight 개발할때 사용했던 Interaction을 응용했다.)
https://meltingmelvin.tistory.com/124
-쌍클릭할때(performed일때) LC가 Disable되도록한다. 그러나 동작이 끝나면 다시 평타를 쓸 수 있어야 하므로 Press의 ReleaseOnly 시 Enable하도록 코드를 수정한다.
-Press의 Trigger Behavior의 ReleaseOnly는 버튼에서 뗐을때 이벤트가 발생하도록 한다.
PlayerInput의 actions["액션명"]으로 액션에 접근하였다.
클렌징 빔 오브젝트 생성
-클렌징 빔은 눈에서 생성되므로 새롭게 위치를 만들어준다.
-Hold Interaction은 Press Interaction보다 우선권을 가진다. Hold가 실행되는 동안에 Press 인터렉션은 실행되지 않는다.
-Hold가 끝나고 release될때 press interaction이 호출된다.
-CoCleansingBeam 메서드에서 while(isLCRC)을 한 이유는 빔은 제자리에서 있는 것이 아니라 버튼이 press되는 동안 플레이어가 회전한다면 그 각도에 따라 빔이 함께 회전하기 때문이다.
-따라서 CoCleansingBeam이 호출되기 전에는 true가 되어야 하며 release될 때 isLCRC를 false로 돌아와야한다.
-CoOffCleansingBeam을 따로 작성해준 이유는 release될 때 따로 꺼줘야하기 때문이다. release되지 않은 동안에는 켜져 있어야 한다.
'[3D] Cyphers 모작' 카테고리의 다른 글
[Cyphers] 클레어 프리즘(RC) 구현 - 프리즘 오브젝트 생성, 평타(LC) 반사(오브젝트 풀링으로 여러개의 레이저 동시 발사) (0) | 2023.10.07 |
---|---|
[Cyphers] 클레어 클렌징빔 수정 및 충돌처리 추가 (0) | 2023.10.06 |
[Cyphers] 클레어 평타 수정(particleSystem Renderer LengthScale) (0) | 2023.10.04 |
[Cyphers] 클레어 평타 구현 (0) | 2023.10.04 |
[Cyphers] 에임 조준(CrossHair) (0) | 2023.09.27 |