언리얼엔진
-
[UE5] 노노그램에 Undo, Redo 기능 추가언리얼엔진/노노그램 2023. 10. 11. 17:53
퍼즐을 푸는 중에 실수를 해서 칸을 잘못 채우는 경우가 종종 발생한다.의도치 않게 칸이 채워진 것이라 어떻게 했는지 기억이 나지 않는 경우도 있다.그럴때 Undo 기능이 유용하게 사용된다.그리고 Undo가 있으면 Redo도 빠질 수 없다. Undo 기능은 간단하게 더블 링크드 리스트로 구현했다.링크드 리스트의 각 노드들은 퍼즐이 어떻게 변했는지에 대한 정보를 가지게 된다.어느 칸들이(좌표) 어느 상태에서(From) 어느 상태로(To) 변했는지를 기억한다. 변경된 상태들을 저장하는 구조체를 하나 추가한다.// PlayLog structstruct FPlayLog{ ECellState From; ECellState To; TArray Cells; FPlayLog() { ..
-
[UE5] 노노그램 플레이 중 피드백에 관해서 - 4언리얼엔진/노노그램 2023. 10. 11. 16:19
이전 글 마지막에서 적었던 약간 아쉬운 부분을 보완하겠다. https://mstone8370.tistory.com/9 [UE5] 노노그램 플레이 중 피드백에 관해서 - 3 이전 글에서 힌트 피드백이 어떻게 작동해야하는지를 정했다. https://mstone8370.tistory.com/8 [UE5] 노노그램 플레이 중 피드백에 관해서 - 2 이전 글에서 이어진다. https://mstone8370.tistory.com/7 [UE5] 노노그 mstone8370.tistory.com 다음과 같은 예시가 있다. 힌트는 [ 1, 4, 2 ] 이다. 이런 상황에 아래와 같이 줄을 채웠다고 가정한다. 이런 상황에 블럭은 [[1, [2, 1], 2] 이렇게 되어있다. 상황을 분석해보면 힌트는 3개, 블럭은 4개 존재..
-
[UE5] 노노그램 플레이 중 피드백에 관해서 - 3언리얼엔진/노노그램 2023. 10. 4. 17:50
이전 글에서 힌트 피드백이 어떻게 작동해야하는지를 정했다.https://mstone8370.tistory.com/8 [UE5] 노노그램 플레이 중 피드백에 관해서 - 2이전 글에서 이어진다. https://mstone8370.tistory.com/7 [UE5] 노노그램 플레이 중 피드백에 관해서 - 1 노노그램 게임들을 해보면 퍼즐을 푸는 중에 칸을 어떻게 채웠는지에 대한 다양한 방식의 피드백을mstone8370.tistory.com다음으로는 그 규칙에 맞게 작동하게 로직을 짜야한다. 먼저 칸들을 블럭으로 구분해야한다.그리고 각 블럭이 가져야 할 정보는1. 블럭의 길이 (또는 시작점과 끝점).2. 줄의 어느쪽 끝에 연결되어있는지.3. 줄의 한쪽 끝에 해당하는지.이다. 다시 한번 설명하면,블럭은 ..
-
[UE5] 노노그램 플레이 중 피드백에 관해서 - 2언리얼엔진/노노그램 2023. 9. 27. 20:50
이전 글에서 이어진다.https://mstone8370.tistory.com/7 [UE5] 노노그램 플레이 중 피드백에 관해서 - 1노노그램 게임들을 해보면 퍼즐을 푸는 중에 칸을 어떻게 채웠는지에 대한 다양한 방식의 피드백을 준다. 몇 가지를 정리해보면 1. 피드백이 없음. 퍼즐을 완료했다는것만 알려주고, 그 외의 모mstone8370.tistory.com 아래의 이미지에 있는 10개의 예시를 하나씩 분석한다. 각 예시에 있는 것은 왼쪽부터 힌트, 칸, 블럭 정보다.게임 화면에 나타나는것은 힌트와 칸이고, 블럭 정보는 한 줄의 칸들을 분석해서 블럭으로 구분한 결과다. 블럭 정보에 나타난 숫자는 블럭의 길이이고, 대괄호는 해당하는 블럭이 줄의 어느쪽 끝에 연결되어있는지를 표현한 것이다.대괄호가 두개 붙..
-
[UE5] 노노그램 플레이 중 피드백에 관해서 - 1언리얼엔진/노노그램 2023. 9. 25. 23:35
노노그램 게임들을 해보면 퍼즐을 푸는 중에 칸을 어떻게 채웠는지에 대한 다양한 방식의 피드백을 준다. 몇 가지를 정리해보면 1. 피드백이 없음. 퍼즐을 완료했다는것만 알려주고, 그 외의 모든것을 직접 확인해야한다. 2. 힌트 하나씩 맞게 채웠는지를 알려준다. 칸이 채워진 상황을 분석해서 힌트에 맞게 채우면 해당하는 힌트가 하나씩 지워지면서 제대로 하고있다는 것을 알려준다. 그래서 칸을 무언가로 채울 때마다 피드백이 제공된다. 3. 한 줄의 모든 힌트에 맞게 칸을 채우면 해당하는 줄의 빈 칸을 모두 X로 막아준다. 난이도가 올라갈수록 확실하게 아닌 칸들을 X로 막는 것은 퍼즐을 푸는 중에 반드시 거쳐야하는 과정이다. 동시에 귀찮은 작업일 수도 있는데 이 귀찮은 작업을 자동으로 해주면서 칸을 맞게 채웠다는 ..
-
[UE5] SCompoundWidget에 Brush 추가, 노노그램 입력개선언리얼엔진/노노그램 2023. 8. 31. 21:51
지난번 포스팅에서 이어진다. https://mstone8370.tistory.com/5 [UE5] Slate를 이용해서 UI의 마우스 입력을 원하는대로 받기 사용자 위젯으로 UI를 만들때 마우스 이벤트를 내가 원하는 대로 받고싶을 때가 있다. 예를 들면 마우스 호버 이벤트를 버튼이 아닌 위젯에서도 받아오고 싶다거나, 클릭 이벤트를 마우스 오른 mstone8370.tistory.com 결과 비교 먼저 결과부터 비교해본다. 왼쪽이 이전에 포스팅 했던 결과고, 오른쪽이 현재 상태다. 변경된점은 다음과 같다. 선택된 영역을 표시하는 방식을 결과 미리 보기에서 외곽선과 색 채우기로 변경했다. 현재 호버링 하고있는 칸을 십자 형태로 강조 표시해서 어느 칸을 가리키는지 쉽게 알아볼 수 있게했다. 이전 상태의 마우스 ..
-
[UE5] Slate를 이용해서 UI의 마우스 입력을 원하는대로 받기언리얼엔진/노노그램 2023. 8. 27. 23:08
사용자 위젯으로 UI를 만들때 마우스 이벤트를 내가 원하는 대로 받고싶을 때가 있다. 예를 들면 마우스 호버 이벤트를 버튼이 아닌 위젯에서도 받아오고 싶다거나, 클릭 이벤트를 마우스 오른쪽 버튼을 눌렀을 때와 왼쪽 버튼을 눌렀을 때에 서로 다르게 작동하게 하고싶은 경우가 있다. 이런 경우 기본적으로 제공하는 위젯을 사용하기보다 위젯을 새로 만들어 원하는대로 입력을 처리하는 것이 더 나을수도 있다. 여러 노노그램 게임에서 아래와 같이 칸을 클릭하고 드래그를 하면 여러 칸을 한번에 채울 수 있는 기능을 제공한다. 위 예시같은 경우 아래 웹사이트에서 플레이 가능하다. http://onlinenonograms.com Nonograms onlinenonograms.com:443 현재 제작중인 노노그램 게임은 위젯..
-
[UE5] 시퀀스 이밸류에이터에 대해언리얼엔진/그 외 2023. 8. 19. 17:25
애니메이션 블루프린트에는 시퀀스 이밸류에이터라는 노드가 있다.노드의 설명은 "지정된 애니메이션의 지정된 단일 프레임을 구합니다." 라고 적혀있다.언리얼 엔진 5의 라이라 샘플이나 공식 문서의 디스턴스 매칭을 보면 시퀀스 이밸류에이터를 사용한 예제를 볼 수 있다. https://docs.unrealengine.com/5.2/ko/distance-matching-in-unreal-engine/ 디스턴스 매칭예시 워크플로 구현을 통해 언리얼 엔진의 디스턴스 매칭에 대해 자세히 알아봅니다.docs.unrealengine.com 시퀀스 이밸류에이터와 가장 비슷한 노드로는 시퀀스 플레이어가 있다. 둘 다 지정된 애니메이션 시퀀스의 포즈를 출력하는 기본적인 기능을 하는데, 두 노드의 차이점을 굳이 비교하면시퀀..