TIL (Today I Learned)
오늘 해야할 것
- 3 x 3 퍼즐 구현
오늘 한 것
- 왼손/오른손 동시 접근 막기
- 왼손/오른손이 퍼즐을 잡고 있을 때 반대쪽 손이 퍼즐을 잡을 수 없다.
- fingerSocket이 왼쪽 상태일 때 오른쪽 상태가 될 수 없다
- 선택할 수 있는 상태는 None 상태에서만 가능하다.
- 왼쪽 상태가 되면 othercomp가 Right이면 Return
- 퍼즐 이동 경로 설정하기
- 퍼즐이 이미 있는 곳/ 판이 아닌 곳은 움직일 수 없다.
- 빈 공간인 경우만 움직일 수 있다.
- 빈 공간이여서 움직였을 때 움직인 곳은 퍼즐이 있는(움직일 수 없는) 공간으로 리셋되고, 떠나온 곳(방금전까지 퍼즐이 있었던 곳)은 움직일 수 있는 상태가 된다.
1. 퍼즐이 이미 있는 곳/ 판이 아닌 곳은 움직일 수 없다.
- 처음에 판의 상태를 읽어오는 것이 필요할 것 같다. (?)
- 언제 읽을 것인가?
- 어떻게 읽을 것인가?
- 어떻게 판의 중심 좌표와 상태를 Sync 시켜 줄 것인가?
- 상태의 종류는 BLOCK(갈 수 없음), EMPTY(갈 수 있음)
- 판의 상태는 초기에 어떻게 세팅해줄것인가?
- 판의 정보 미리 지정한다. EMPTY를 설정해준다.
- 판의 상태는 어떻게 세팅해줄까?
- 2차 배열 형태에 상태를 저장해준다.
2. 빈 공간인 경우만 움직일 수 있다.
- 움직이려 할 때 움직이려 하는 칸의 상태를 먼저 확인한다.
- 언제 확인할것인가?
- 포인팅 되었을 때
- 어떻게 상태를 확인할 것인가?
- 포인팅 되었을 때 포인팅 된 퍼즐 기준의 상,하,좌,우 상태를 확인한다.
- 포인팅한 퍼즐의 위치를 받아오고
- 퍼즐 위치의 index를 받아오고
- for문을 돌려 index(y,x)의 상,하,좌,우의 상태를 확인한다.
- 상,하,좌,우 중 상태가 EMPTY일 때만 움직임을 허가한다.
- 움직임을 어떻게 허가할 것인가?
- CheckBoardPath가 EBoardPathState::EMPTY를 반환했을 때만 Moving 할 수 있다.
- 상태 관련해서 고민
- 선택될때마다 갈 수 있는 EMPTY는 계속 계산한다.
- 선택한 퍼즐과 EMPTY의 상태가 바뀔 때는 버튼이 완전히 움직인 후이다.
- 포인팅 되었을 때 포인팅 된 퍼즐 기준의 상,하,좌,우 상태를 확인한다.
3. 퍼즐이 옮겨간 곳은 BLOCK, 퍼즐이 있었던 곳은 EMPTY
- 퍼즐이 있었던 곳의 정보 필요
- 퍼즐이 옮겨간 곳의 정보 필요
- 어떻게 바꿔줄 것인가?
오늘 배운 것
- Postinitializecomponents vs Beginplay
액터를 스폰(인스턴싱)할 때 따르게 되는 경로
- SpawnActor (액터 스폰)이 호출됩니다.
- PostSpawnInitialize (스폰 초기화 이후)가 호출됩니다.
- PostActorCreated 액터 생성 이후 - 스폰된 액터의 생성 이후에 호출됩니다. 생성자같은 것이 여기에 와야 합니다. PostActorCreated (액터 생성 이후)는 PostLoad (로드 이후)와 상호 배제적입니다.
- ExecuteConstruction (생성 실행):
- OnConstruction 생성시 - 액터의 생성 지점으로, 블루프린트 액터가 컴포넌트를 만들고 블루프린트 변수를 초기화시키는 곳입니다.
- PostActorConstruction (액터 생성 이후):
- PreInitializeComponents 컴포넌트 초기화 이전 - 액터의 컴포넌트에서 InitializeComponent (컴포넌트 초기화)가 호출되기 전에 호출됩니다.
- InitializeComponent (컴포넌트 초기화) - 액터에 정의된 컴포넌트 각각의 생성을 돕는 함수입니다.
- PostInitializeComponents 컴포넌트 초기화 이후 - 액터의 컴포넌트 초기화가 완료된 이후 호출됩니다.
- OnActorSpawned (액터가 스폰되었을 때)가 UWorld 에 방송됩니다.
- BeginPlay (플레이 시작)이 호출됩니다.
- 짠 코드가 잘 되는지 먼저 파악하기!
- Pico 축 설정
내일 진행할 것
- 3 x 3 마무리
앞으로 진행할 것
- 유데미 언리얼 강의 듣기
- UE5 블루프린트 강의 듣기
- R1 Project 커리큘럼 - 유데미 강의 들으면서 러프하게 짜기
- Static Mesh / Skeletal Mesh(애니메이션을 위한) 찾아보기
- Texture / Material(상위개념) 찾아보기
- Pico 빌드
- 서랍, 문 등 다시 잡을 때 손잡이가 앞으로 확 오는 문제 처리하기
- 롤 하기
- Gimmick 가이드 완성하기(for 인프런)
'회사 TIL' 카테고리의 다른 글
[TIL] 23.01.11 / 3 x 3 (0) | 2023.01.12 |
---|---|
[TIL] 23.01.10 / 상태 변화 시켜주기 (0) | 2023.01.10 |
[TIL] 23.01.06 / 언리얼 디버깅 사용 방법 (0) | 2023.01.08 |
[TIL] 23.01.05 / 3 x 3 보정 완료, 왜 못했는지 생각하기2 (0) | 2023.01.05 |
[TIL] 22.01.04 / AddWorldOffset, AddLocalOffset, InverseTransformVector, 퍼즐 보정, 왜 못했는지 생각하기1 (0) | 2023.01.05 |
댓글