본문 바로가기
728x90

언리얼엔진49

블루프린트 DataTable 컨텐츠 브라우저- 마우스 우클릭- 기타 - 데이터 테이블 로 가면 생성된다. 이런 행구조 선택을 하면되는데 사전에 구조체나 데이터를 생성해놓으면 그걸로 설정하면 된다. 나는 이런식으로 구조체를 만들어 놨고 데이터 테이블에 들어가서 추가를하면 행이 하나 추가되는데 그걸 클릭해서 이런식으로 플립북을 지정해준다 그리고 블루프린트에서 Get Data Table Row Non이라는 노드를 가져와서 사용한다. 이렇게 원하는 클래스(이 이미지에선 Knight)에 원하는 행을 Data 라는 아까만든 구조체에 셋팅시켜준다. 그 후 이렇게 set Data 를 가져와 핀분할을 해준뒤 애니메이션을 연결해주는데 이것을 당연히 하나의 구조체가 아닌 부모구조체를 만들고 여러개의 자식클래스가 생길때 해주면 관리 하기 편한다. 2023. 3. 21.
Character Movement 폰 이상의 클래스를 만들면 Character movement 라는게 컴포넌트로 생기는데 이것의 디테일을 자세히 보면 뛰기, 날기, 수영하기 등등 여러가지 설정을 할 수 있다. 혹은 블루프린트로 꺼내서 Add Input Vector 또는 Add Movement Input 이라는 노드를 꺼내서 사용한다. 보면 vector는 있지만 시간, 속도 등의 설정이 없는데 그건 Character movement 디테일에서 설정이 가능하다 여기서 X,Y,Z 및 Scale 에 아무리 높은 값을 주더라도 Character movement의 속도대로 움직이는데 이는 해당 좌표 방향으로 간다는 의미이고 ScaleValue 에는 1, -1 등을 줘서 반대방향으로 가게끔 유도하는것이 적절하다. 저번에 프로젝트셋팅-엔진-입력에서 M.. 2023. 3. 18.
Select, State 패턴 Select 노드를 이용해서 저번에 enum 으로 방향값을 가져왔는데 여기서 이 핀들을 선택후 마우스 우클릭- 핀타입 변경 Paper Flipbook 을선택해주면 이렇게 변경되는데 이걸 이용해서 Return Value 값을 Set Flipbook 노드랑 연결해서 사용하면된다. 그리고 Left와 Right일때 방향전환은 이렇게 또 Select 노드를 이용하면되는데 여기서 주의할 점은 핀을 Rotator 로 변환을 해서 사용했다는 점이다. 이렇게 만들면 정상적으로 기존과 같이 잘 작동한다 하지만 bool타입으로 체크하는것이 너무많다. 그래서 현재 상태가 Idle, Move, Skill(attack) 이 있다고 한다면 enum을 하나 만들어주고 3가지를 추가해준다. 그 후 State라는 eState 타입으로 .. 2023. 3. 18.
애니메이션 갱신 blueprint-emum 생성 후 이렇게 4방향을 만들어준다. 그후 지정할 클래스에 가서 변수를 추가후 타입을 방금만든 enum(열거형)타입으로 해준다 그 후에 WASD 입력에 따른 해당 변수 세팅을 해준다 이후 함수를 하나 만들어주고 (UpdateAnimation)이라는 이름을 붙였다. 그 함수 내에 이렇게 방향에 따른 플립북 세팅을 넣어주고 다시 클래스 블루프린트로 돌아와 키가 눌렸는지 안눌렸는지를 KeyboardInput 이라는 변수에 세팅 해준뒤 눌렀을 경우에는 움직이는 플립북을, 그렇지 않은경우에는 그 방향만 보는 플립북으로 지정해주면 완성된다. 2023. 3. 18.
매크로 매크로 생성시 이렇게 입력, 출력을 만들어줄수 있고 함수와 다르게 (실행) 도 추가할 수 있다. 함수와 유사하지만 다른점은 함수는 해당 함수로 들어가 함수의 내용이 실행된다면 매크로는 사용하면 그자리에 복사 붙여넣기가 된다고 생각하면된다. 함수에선 실행이 끝날때까지 함수내에서 시간흐름제어 없이 쭉 실행되지만 매크로를 사용하면 시간의 흐름을 제어해도 된다.(delay 등) 저번 포스팅에 사용했던 Compare 도 매크로중 하나이다. (더블클릭해보면 알 수 있다.) 간단한 기능들, 시간제어가 필요한경우에는 매크로를 사용하면 좋을것 같다. 복잡하거나 기능이 무거우면 복붙이 되는 것이기때문에 성능에 부담을 준다. 2023. 3. 18.
입력 매핑 저번 포스팅에 이어 해당 클래스를 키 입력에 맞춰 이동시켜보도록 하겠다. 해당클래스 더블클릭 후 블루프린트에가서 Set Flipbook 라는 노드가 있는데 그걸 꺼내주면 이런 모양이고 딱봐도 어떤상황에서 어떤 플립북을 쓸지 세팅해주는 기능이란 것이 보인다. WASD키에 맞춰 방향만 회전시킨다면 이렇게 구현 해 볼 수있다. 여기서 Set Relative Rotation 을 사용하는 이유는 A를 눌렀을때 반대방향을 보게하기 위함이다. 또는 편집-프로젝트세팅-엔진-입력 칸에 들어가서 Axis mapping(축 매핑) 칸에서 매핑을 추가한 후 이렇게 키와 방향스케일을 지정해 준다. 그러면 블루프린트에서 아까 만들어준 매핑 노드를 사용할 수있다. 아까 WASD와 직접 연결해준것을 다시 이걸로 연결해보면 이렇게 구.. 2023. 3. 18.
728x90