블루프린트 33

언리얼 몬스터 죽음

Monster State Death라는 항목 추가 몬스터 블루프린트에서 피격 당할 때 죽으면 Monster State 변수를 Death로 바꾸어준다 그리고 죽으면 Collision이 비활성화 되도록 연결한다.콜리전은 무기에 하나, 몬스터 본체에 하나가 있기 때문에 2개를 연결해서 No Collision상태로 만들어준다 이렇게 하면 몬스터가 죽었을 때 모든 Collision이 비활성화 되므로 애니메이션이 다시 실행되는 일이 없다. 그 뒤로 해당 노드를 붙여주면 3초뒤에 죽은 몬스터 액터는 삭제된다.

언리얼 플레이어 사망모션

캐릭터 블루프린트에서 노드를 다음과 같이 연결 이제 hp가 0보다 작게되면 사망 애니메이션을 실행 할 것이다. IsDeath변수를 추가해서 다음과 같이 노드 연결 죽는 애니메이션이 실행되면 Is Death 변수가 True가 되도록 한다 열겨헝 변수 MonsterState에서 새로운 변수 Idle_Ready를 만들어준다. 이는 플레이어가 죽었을 때 가만히 있는 상태를 나타낼 것이다. 먼저 몬스터 블루프린트에서 Is Death Player 변수를 하나 선언해주고 캐릭터가 죽었을 경우 캐릭터 bp에서 값을 받아와 캐릭터가 죽어 Is Death 가 true가 됐을 때 Is Death Player 변수도 true가 되도록 한다 그 다음 캐릭터가 죽으면 Monster State를 Idle_Ready상태로 바꾸어 쫓..

언리얼 몬스터 AI 플레이어 공격

먼저 무기에 capsule collision을 설정해준다 capsule collision을 클릭하고 오른쪽 하단의 On Component Begin Overlap을 클릭해준다 애니메이션 몽타주에서 나음과 같이 노티파이를 잡아주고 몬스터 애니메이션 몽타주 블루프린트에서 해당 노티파이에 애니메이션이 닿으면 몬스터 블루프린트에 있는 이벤트로 넘어가도록 해준다 다시 몬스터 블루프린트로 와서 다음과 같이 노드를 연결해준다 1.먼저 본인이 아닌 다른 오브젝트와 capsule collision이 만나면 문자를 출력한다 2.첫번째 노티파이에서는 콜리전 활성화, 두 번째 노티파이에서는 콜리전 비활성화가 되도록 한다. 이 때 capsule collision의 Collision Enabled의 디폴트 값은 No Collis..

언리얼 몬스터 공격

몬스터 블루프린트에서 캐릭터와 몬스터와의 거리가 160이하가 되면 Monster State변수를 AttackChar로 바뀌도록 설정한다 그 다음 isAttacking 이라는 변수를 하나 만들어서 공격을 안하고 거리가 160보다 커지면 설정값을 다시 FollowChar로 바꾸어준다 커스텀 이벤트로 이벤트가 실행되면 isAttacking변수가 False가 되도록 새로운 이벤트를 생성한다 애니메이션에 OnAnimEnd_Attack이라는 새로운 노티파이를 생성하고 몬스터 블루프린트에서 애니메이션이 해당 노티파이에 닿으면 방금 생성한 이벤트를 발생시켜 isAttacking을 False로 만든다 다시 몬스터 블루프린트가서 거리가 180보다 크면 FollowChar로 상태를 바꾸어주고 아니라면 공격 애니메이션을 실행..

언리얼 캐릭터 AI 추가

먼저 몬스터 블루프린트로 들어가서 DistancePlayerChar라는 변수를 하나 만들어준다 이 때 기본값은 임의의 큰 값으로 초기화 해둔다. 그런 다음 캐릭터와 몬스터의 거리값의 차를 DistancePlayerChar로 저장하도록 변수에 연결해주고 그 값을 string으로 출력되도록 연결해보면 다음과 같이 출력된다 캐릭터를 향한 방향도 필요하기 때문에 방향 vector형 변수를 하나 추가한다. 캐릭터와 몬스터의 거리뿐만 아니라 방향도 필요하기 때문에 vector를 받아 온다 이 때 vector는 횡스크롤이기 때문에 Y축만 받아오면 된다. 이제 열거형 블루프린트를 하나 만들어준다 열거형 블루프린트 안의 변수는 다음과 같이 설정한다 몬스터 블루프린트에서 tick이벤트 자리에 새로운 이벤트로 SaveDis..

언리얼 몬스터 데미지 처리

캐릭터 블루프린트에서 먼저 Atk 변수를 만들고 35로 설정한다 캡슐 콜리전에 닿았을 때 Apply Damage 노드를 연결해준다 그리고 몬스터 블루프린트로 가서 hp변수를 100으로 설정해주고 노드를 다음과 같이 연결해서 hp가 0 밑으로 떨어지면 죽는 애니메이션 몽타주를 실행하도록 한다 몬스터가 죽는 애니메이션에서 새로운 몽타주 섹션 (Loop)을 만들어 loop의 다음 섹션을 loop으로 체크해 끝 부분이 무한 반복 되도록 한다. 그 다음 몬스터 매쉬를 찾아서 설정을 바꿔준다(맞았을 때 빨간색으로 히트 표시 하기 위함) 매쉬부분을 들어가면 다음과 같이 되어있는데 노드를 이런식으로 바꿔준다 그런 다음 머터리얼 인스턴스를 생성해서 다음과 같이 R에만 1, 나머지 G,B 에는 0 을 주어서 빨간색 머터리..

언리얼 몬스터 추가

먼저 블루프린트 폴더에 부모클래스가 Character인 블루프린트를 하나 생성한다 오른쪽 매쉬 부분에 고블린 매쉬를 찾아서 넣어주고 캡슐에 맞도록 크기를 설정해준다 이후 애니메이션 폴더에 애니메이션 몽타주를 하나 만들어주고 스켈레톤은 고블린으로 설정한다 New State Machine 을 추가하고 안에는 IDLE애니메이션을 추가한다 이제 위에 생성한 몬스터 블루프린트->매쉬 에서 애니메이션을 지정해준다 그리고 뷰포트에 몬스터를 추가하면...

언리얼엔진 점프모션 / 2단점프

캐릭터 블루프린트로 가서 위 키를 누르면 점프가 되도록 노드를 연결한다 그리고 점프 할 때 실행할 점프 애니메이션 몽타주를 연결해준다 캐릭터에게 점프를 시키고 뒤에 SetMaxJumpCount노드를 추가하여 2단 3단 점프를 설정할 수 있다. 아래에 OnLanded 이벤트를 추가해 땅에 있을 떄 Stop Anim Montage를 통해 애니메이션이 멈추도록 만든다.

언리얼엔진 공격모션 애니메이션 블루프린트

공격 애니메이션 우클릭->생성->애님몽타주 생성->이름은 firstAttack으로 한다 이제 캐릭터 블루 프린터로 가서 z키를 눌렀을 때 애니메이션이 실행되도록 노드를 연결해준다. 이 때 Anim Montage는 방금 생성한 애니메이션 몽타주인 firstAttack으로 설정해주어야 한다. 먼저 우클릭으로 branch라는 노드를 생성해주고 왼쪽 변수에서 +버튼을 눌러 isattacking이라는 변수를 생성해주고 노드를 끌어온다 그리고 get isattacking을 branch에 연결, 그리고 branch의 False값을 Set isAttacking에 연결한다 애니메이션이 끝나면 isattacking변수 false로 만들기 다시 방금 만든 firstAttack 애니메이션 몽타주로 돌아가 노티파이를 추가한다 ..