【UE4】(대폭 개량) 혼자 멀티 플레이어

PlayerController를 사용하여 다양성을 제공



이전에 작성했을 때는 아직 기억하고, 레벨 블루 프린트에 직접 쓰고있었습니다.
이것으로는 당연한 일, 레벨이 바뀌면 같은 처리를 써야 하기 때문에,
레벨이 늘어나면 터무니 없게 되어, 설계로서도 이상합니다.
htps : // 이 m / K ぁ 보라와 ry / ms / e bc47bc22fbf9f66

이후 조금 능숙해 초보자부터 초급자 정도가 되었다고 생각합니다.
PlayerController의 사용법을 기억하고 이번에는 이것으로 구현할 수있었습니다.
게다가, 조금만 연출도 있을 수 있었습니다.

필요한 것


필요보다는 이번에 쓴 것은
· PlayerController의 BP
· 애니메이션 BP
뿐입니다. PlayerController의 BP로 이동이나 점프, 그 외의 모든 조작을 기재해, 애니메이션 BP로 그것을 움직입니다.
일반 캐릭터 BP에는 지금은 아무것도 쓰지 않습니다.
지정하는 메쉬나 애니메이션 클래스를 지정하기 위해서만 존재합니다.
물론 제작이 진행되면 기재하는 것도 나온다고 생각합니다만,
무엇이든 간에 캐릭터의 BP에 쓰지 않아도 된다는 것도 조금 알고 왔습니다.

PlayerController의 BP


이것이 전체 다이어그램입니다.

상반부

변신할 명령이 입력되면 GetPlayerCharacter → GetActorLocation을 가져와 캐릭터의 위치에 파티클을 출현시킵니다.
CharacterChange라는 bool 변수를 true로 설정하고 그 사이에 애니메이션 BP를 이동합니다. 그동안 delay합니다.
2초라는 것은 변신하는 사이의 시간입니다. 이것은 변신 동작에 따라 달라집니다. 변신이 끝난 타이밍에 false로 합니다.
여기까지가 전반부. 다음은 후반입니다.

GetPlayerCharacter → GetActorTransform에서 현재 위치를 가져오고 설정합니다.
다음으로 지금 캐릭터를 Destroy합니다.
FlipFlop으로 한 것은, 이번 2개의 캐릭터를 바꾸기 때문에 이것이 편리했습니다만,
캐릭터를 많이 준비하고 있다면 새로운 방법을 생각해야 합니다. 여기는 미래의 내 도전입니다.
이제 캐릭터를 spawn합니다.

컨트롤러를 연결하기 위해 GetPlayerController→Possess라고 합니다.
마지막으로, 파티클을 지우고 완료됩니다.

애니메이션 BP



아래는 이동, 회전, 점프이므로 자주 있는 것입니다만, 이번 관계하는 것은 위의 부분입니다.

GetPlayerController에서 ControllCharacter로 캐스팅합니다.
이동이나 회전과 달리, Character에 캐스팅한 것은 좋지 않았습니다. 이유에 대해서는 공부중입니다.
PlayerController에서 가져온 CharacterChange 변수를 애니메이션 BP의 bool 변수로 설정합니다.
그러면 애니메이션이 움직인다는 것입니다.
2초 후에 CharacterChange가 false가 되므로 애니메이션이 멈추게 됩니다.

아직 기억하는 것이 많이 있고, 또, 모르지만 결과적으로 움직이고 있다고 하는 바람직하지 않은 일도 많습니다만,
조금씩 이해할 수 있으면 좋을까 생각합니다. 앞으로도 잘 부탁드립니다.

UnrealEngine 여기까지 올랐다. #위 4 #UnrealEngine4 피 c. 라고 r. 이 m/8W5wZ5RzYk — 특명 사장 (@tokumeishatyo) May 15, 2020

좋은 웹페이지 즐겨찾기