TIL (Today I Learned)
오늘 해야할 것
- 3 x 3 퍼즐 구현
오늘 한 것
- 퍼즐 여러개 움직이게 하기
- 퍼즐1을 포인팅해서 움직인다(현재 상황)
- 퍼즐2를 포인팅하면 퍼즐2가 움직인다.
현재는 모든 움직임이 _puzzle1 -> 움직임 이런식으로 구현되어있다.
puzzles[i] -> 움직임 이렇게 바꿔주기.
-> 여기서 고민 : 일단 다 움직일 수 있게 for문 돌려서 구현해놓고 상태로 막아줄까?
-> MovePuzzle, CorrectPuzzleLocation 함수 같은 경우, 함수 안에 바로 _puzzle1 -> 이런식으로 구현이 되어 있다.
-> 원하는 퍼즐을 인자로 받아와서 그 퍼즐을 움직이게 구조를 바꿔주자.
-> 인자는 만들어줬다. 이제 이 인자는 어디서 어떻게 넣어줄까?
언제? - 포인팅 되는 시점에 (OnHandBeginOverlap) -> selectedPuzzle로 받아줌
어떻게? - selectedPuzzle을 MovePuzzle, CorrectPuzzleLocation 함수에 넘겨줘서 _puzzle1 대신 사용해준다
시간 딜레이
OnHandBeginOverlap(UPrimitiveComponent* overlappedComponent, AActor* otherActor, UPrimitiveComponent* otherComp, int32 otherBodyIndex, bool fromSweep, const FHitResult& sweepResult)
이유: HandBeginOverlap 함수에서 Overlap 되었을 때 터치되고 있는 Actor를 받아오고 싶은데 otherActor를 받아올지, otherComp를 받아올지도 모르겠고 otherActor, otherComp를 받아왔는데 뭘 받아왔는지 이름도 모르겠고, Actor로 받아왔으면 원하는 형태(_puzzle1의 형태가 UStaticMeshComponent)로 캐스팅 해줬는데 null이 자꾸 떠서 Cast 바꿔보고 otherComp, otherActor 자꾸 바꿔보면서 시간낭비함.
해결: 언리얼 디버깅을 통해 정확한 인자 값들 파악
디버깅 통해서 정확한 인자값들 파악 -> overlappedComponent, otherActor, otherComp이 뭔지 정확히 디버깅이 알려줘서 바로 해결
-퍼즐2를 포인팅하고 있을 때 퍼즐1을 포인팅할 수 없다.(반대도 마찬가지)
- 퍼즐 하나를 잡고 있는 상태에서는 다른 퍼즐을 잡을 수 없다.
- 손 하나가 otherComp로 들어와있으면, 다른 손은 otherComp로 들어갈 수 없다.
- 만약 otherComp가
RightHandPointFingerArea이면
LeftHandPointFingerArea가 들어왔을 때 return;
-퍼즐2와의 포인팅이 끝나면 다른 퍼즐 포인팅을 할 수 있다.
- 현재 퍼즐1, 퍼즐2를 포인팅 하고 있는지 어떻게 알 수 있나?
상태를 줄 수 있을 것 같다.
ex. 퍼즐1 포인팅 상태, 퍼즐2 포인팅 상태
- 한 퍼즐의 포인팅이 끝나면 상태는 아무것도 포인팅하고 있지 않다는 Nothing 상태로 둔다.
오늘 배운 것
- 언리얼 디버깅
0. 언리얼 에디터 끄기
1. 원하는 지점에 브레이킹 포인트 찍고
2. 프로젝트 오른쪽 클릭 -> 디버그 -> 새 인스턴스 시작
3. 프로젝트 오른쪽 클릭 -> 디버그 -> 새 인스턴스 시작
4. 언리얼 에디터 자동 실행
5. 플레이 버튼 누르고 플레이 하면 브레이킹 포인트 찍은 부분에서 모래시계 나오면서 멈춤
6. 코드로 돌아와서 하나씩 줄 넘겨가며 보고싶은 값들에 마우스 갖다 대면 뭐가 담겼는지 보여줌
7. 어렵게 UE_LOG 할 필요가 없음!!
다음주에 진행할 것
- RightHand / LeftHand 상태만 만들어준 상태. 상태 적용 해보기
앞으로 진행할 것
- 유데미 언리얼 강의 듣기
- UE5 블루프린트 강의 듣기
- R1 Project 커리큘럼 - 유데미 강의 들으면서 러프하게 짜기
- Static Mesh / Skeletal Mesh(애니메이션을 위한) 찾아보기
- Texture / Material(상위개념) 찾아보기
- Pico 빌드
- 서랍, 문 등 다시 잡을 때 손잡이가 앞으로 확 오는 문제 처리하기
- 롤 하기
- Gimmick 가이드 완성하기(for 인프런)
'회사 TIL' 카테고리의 다른 글
[TIL] 23.01.10 / 상태 변화 시켜주기 (0) | 2023.01.10 |
---|---|
[TIL] 23.01.09 / Pico 축 설정, 3 x 3 퍼즐 이동 경로 구현중 (0) | 2023.01.10 |
[TIL] 23.01.05 / 3 x 3 보정 완료, 왜 못했는지 생각하기2 (0) | 2023.01.05 |
[TIL] 22.01.04 / AddWorldOffset, AddLocalOffset, InverseTransformVector, 퍼즐 보정, 왜 못했는지 생각하기1 (0) | 2023.01.05 |
[TIL] 23.01.03 / 3 x 3 prepos, pos (0) | 2023.01.04 |
댓글