본문 바로가기

전체 글

(236)
19. Weapon 교체 로직 / 선택(Select) Tip! 마켓 플레이스에서 애니메이션 설명을 보면 어떤 Skeleton을 지원하는지 볼 수 있음. 무기 선택할 때 Root가 어디에 잡혀있는지 꼭 확인해볼 것. 무기 A를 장착 / 해제를 하는 모습 현재까지 무기 A를 장착 / 해제하는 로직까지 만들었다. 하지만 앞으로 무기를 하나만 쓰는 것이 아니라 2개를 바꿔가며 사용할 것이기 때문에 수정이 좀 더 필요하다. WeaponNow 변수를 통해 현재 무기의 장착 여부를 자주 판별하게 되므로, BP_CharacterInterface에서 무기 장착 여부를 확인해줄 함수 IsArmed를 생성하였다. 나중에 외부에서 대상이 무장 중인지 판단하기 위해 인터페이스로 추가하였다. 해서 이벤트그래프에 있던 WeaponNow의 NotEqual 검사를 이런식으로 해당 Is ..
05/25_ 보호되어 있는 글입니다.
18. Notify(노티파이) BP_Weapon 클래스에서 특정 State에 대한 특정 Index의 MontageParameter를 받아올 수 있는 Get StateMontage 함수를 만들었다. 외부의 값을 변경하지않고 입력받아서 반환만 하는 역할이라 퓨어로 지정했다. BP_Character에서 현재 어떤 무기를 끼고 있는지 확인할 변수 WeaponNow(BP_Weapon type)를 만들었다. 그래서 WeaponNow가 none값인지 아닌지에 따라서 나올 애니메이션이 달라지도록 했다. 애니메이션 몽타주 Notify - Notify : '알리다'라는 뜻으로, 애니메이션 재생 중에 특정 지정에서 알림을 보낼 수 있는 기능이다. 여기서 여러가지 Notify를 만들 수 있다. 스켈레톤 노티파이, 애니메이션 노티파이, 몽타주 노티파이 3개..
5/24_Notify 보호되어 있는 글입니다.
17. Getter함수 생성 / Montage 애니메이션 섹션 BP_MontageDataAsset이 틀이고 SwordArimingData가 실제 데이터이다. - Assert : 단언하다, 주장하다라는 뜻으로 조건식에 맞다면 무사히 실행되지만 틀리면 거기서 오류가 발생하며 멈춘다. 이처럼 프로그램을 일부러 터뜨리는 이유는 이 조건이 잘못되었을 경우, 이 이후에 전부 문제가 발생하기 때문이다. Is Valid를 사용하는 이유와 같다고 볼 수 있다. cpp와 비교해서 블루프린트에서 제한되는 기능들 - 기본 자료형에 대한 참조를 받을 수 없다. = (인티저 포인터 같은 것) - 복합 자료를 사용할 수 없다. = (2차원배열이 안된다.) - 참조의 반환이 불가능하다. = (입력을 통해 받아온 변수에 참조전달은 가능하다. 하지만 출력에는 참조반환이 안된다.) - 구조체의 상속..
5/23_ 보호되어 있는 글입니다.
16. 매크로 라이브러리 / 구조체 / DataAsset 오늘꺼 너무 어렵따....ㅠ 입력된 방향에 맞춰 Roll 애니메이션 구현하기 현재 Roll의 방향은 캐릭터의 전방으로 나간다. 따라서 입력된 방향키에 맞춰서 캐릭터의 전방을 회전시켜주면 된다. BP_Character에서 Character Movement를 받아올 때 캐릭터의 전방을 입력된 키에 맞춰 회전시킨다. Make Rot from X 노드를 통해서 Character Movement에 마지막으로 입력된 Vector값을 X축으로 삼는 Rotator를 만든다. 그리고 만들어진 Rotator를 현재 캐릭터(Actor)의 Rotation에 적용시켜주면 해결이 된다. 이렇게 입력된 방향에 맞게 Roll 애니메이션이 바로바로 적용되도록 수정해봤다. 소켓에 생성한 무기 붙이기 BP_Weapon에서 변수 2개를 만..
5/22_구조체/IsValid/데이터애셋 보호되어 있는 글입니다.