언리얼 개발 일지 03.04
엄청 공들여서 썼는데 날라가서 다시쓴다 ㅜㅜ
우선 이번 주에도 이어서 튜토리얼 기능을 개발하고 카메라 움직임을 키보드로 조절할때도 막히도록 해달라고 요청이 들어와서 이 부분에 대해서 개발했다.
우선 블루프린트 SET에 대해서 배웠는데 SET은 컴포넌트를 참조할 수 있게 해주고, 값 갱신, 변경이 필요없는 경우에는 사용하지 않아도 된다고 한다. 쓸데없이 사용할 경우 괜히 불필요한 연산을 하기 때문에 최적화를 하기 위해 없애주는 것이 좋다고 한다.
또한 Axis Input은 연속적인 입력이고, Action Input은 딱한번 값이 변경되는 경우로 대표적으로는 마우스 휠이있다.
pawn은 언리얼 엔진의 레벨에 배치할 수 있는 요소
actor는 AI나 플레이어가 조작할 수 있는 모든 액터의 베이스 클래스
GetControlledPawn: Return the Pawn that is currently 'controlled' by this PlayerController, Target is Controller
Get Player Pawn: Returns the pawn for the player controller at the specified player index. This will not include pawns of remote clients with no available player controller, you can use the player states list for that.
Target is Gameplay Statics
둘중에 하나로 통일하는 것이 좋고 반복해서 get을 호출할 필요가 없다는 것을 배웠다.
그리고 몇일동안 오래 고민한 튜토리얼에 대한 방법으로는
Enum을 만들어 튜토리얼의 각 부분을 구별하고
Classification index를 만들어서 변수 2개를 저장할수 있는 걸로 만들어서 startindex, endindex를 담아서 이를 Enum과 연결하여서 각부분의 시작과 끝을 구별할 수 있도록 하였다.
그리고 Enum을 받는 함수를 만들어서
startindex=Classficiationindex[enum].X
endindex=Classficationindex[enum].Y
currentindex=startindex
로 처리를 하게 만들고
그리고 UpdateEnum함수를 만들어서
if currentindex==startindex면 해당되는 버튼인 > 버튼만 나오게 만들고
if currentindex==endindex면 해당되는 버튼인 <,X 버튼이 나오게 만들고
이 상황이 아닌 중간 부분일 경우 <, > 버튼이 출력되도록 만들었다.
많이 고민했었는데 선배에게 물어보니 바로 나와서 대단하시기도 하고 고민했는데 이러한 방법이 있구나 하고 신기하기도했다. 이러한 아이디어를 나도 생각할 수 있도록 더 공부해야겠다는 생각이 들었다.
그런데 현재 처음 실행할 경우 모든 버튼이 출력되는 문제가 있어서 이부분에 대해서 오류를 수정하고 있다.