TIL (Today I Learned)
오늘 해야할 것
- Strong Box C++로 불러오기
- Drawer 안보고 짜보기
- Drawer 보고 분석하기
- Wheel 보고 분석하기 - 두가지 회전 방법 차이, 왜 못했나?
오늘 한 것
- Strong Box C++로 불러오기
- Drawer 코드 분석
GetActorUpVector: Get the up (Z) vector (length 1.0) from this Actor, in world space.
GetActorForwardVector : Get the forward (X) vector (length 1.0) from this Actor, in world space.
GetActorRightVector: Get the right (Y) vector (length 1.0) from this Actor, in world space.
- GetActorUpVector, GetActorForwardVector, GetActorRightVector
get the Actors root component Z (up), X (forward), and Y (right) vectors and convert that to a World Space vector.
These are both converted to World Space and Normalized (magnitude = 1.0). This allows you to get directional information in World Space for actors and individual components attached to that actor easily.
FVector::ProjectOnTo : Gets a copy of this vector projected onto the input vector.
AActor::GetActorLocation : Returns the location of the RootComponent of this Actor (액터 자체의 World Location을 반환)
USceneComponent::GetComponentLocation: Return location of the component, in world space
컴포넌트(Components) 는 액터(Actors) 가 자기 자신에 서브 오브젝트로 어태치할 수 있는 특수한 타입의 오브젝트(Object)
이해하지 못했던 것: 벡터한테 시작점은 없는데 있다고 생각하고 v1을 옮겨서 Projection 해준다는 생각을 못했음.
- World 좌표, Local 좌표 차이
- C++에서 금고 만들 때 meshBody의 위치를 특별한 이유 없으면 0,0,0으로 맞추는게 좋음
- C++(혹은 블루프린트) 안에서 만드는 것은 상대 좌표 기준이고 World(게임씬)으로 나가야 World 좌표를 가질 수 있음
- 그럼 Mesh Body에 딸린 자식들의 위치는 World 좌표로 나갔을 때 바뀌는가?
상대적인 위치는 바뀌지 않고 Rotate 기준을 World로 바꿨을 때 부모가 바뀌면 World 상의 위치는 바뀐다.
- Wheel 코드 분석
UKismetMathLibrary::ProjectVectorOnToPlane: Projects a vector onto a plane defined by a normalized vector (PlaneNormal).
front 는 왜 곱해주나? -> 방향 만들어주려고
acos 범위는 0-180.
cos(θ) = cos(-θ) 라서 θ값을 구분하지 못하는 문제가 있다.
그래서 외적으로 방향을 결정해준다.
- 대표님과 면담
오늘 배운 것
- 벡터 내적은 기하학적으로 두 벡터 중 한 벡터를 포함하는 직선 위에서의 두 벡터의 크기의 곱을 의미
오늘 느낀 것
- 잡생각은 줄이고 눈 앞의 일만 생각하자. 문제를 어떻게 해결할지 접근해보고, 모르면 물어보는데 집중하자.
- 회전을 왜 구현 못했을까 생각해봤는데 처음에는 수학적 개념을 몰랐다고 하더라도 오늘은 공부해가서 아는 상태였다. 하지만 이것 또한 완벽하게 이해하고 있지 않아서 코드 분석에 어려움을 겪었다.
- 예를 들어 내적, 프로젝션을 강의 설명을 이해하는데서 그쳤다. 내적의 경우 '두 벡터를 내적하면 스칼라 값이 나오고, 공식 나오고, cos 값에 따라서 둔각, 예각 등을 판별한다' 라는 강의 내용을 듣고 바로 적용하려 했는데 정확히 어떤 값이 나오는지는 기획자님이랑 얘기하면서 깨달았다.
- 집에 와서 수학 책에서 벡터 내적 부분을 보는데 애매하게 알던 내용들이 잘 정리되어있었다. 필요한 부분들은 책으로 먼저 공부하는게 중요할 것 같다.
앞으로 진행할 것
- 오큘러스 내 빌드 해결
- SCP 914 찾아보기
https://www.youtube.com/watch?v=-9rbYP0cDjU
https://www.youtube.com/watch?v=V2Ps5bM4TwE
'회사 TIL' 카테고리의 다른 글
[TIL] 22.12.15 /World, Local 좌표 이해하기😥, Strong Box 1단계 도전 (0) | 2022.12.16 |
---|---|
[TIL] 22.12.14 / Lever, Drawer, Wheel 구현 (0) | 2022.12.14 |
[TIL] 22.12.12 / 에셋 가져와서 BP, C++ 만들기 (0) | 2022.12.13 |
[TIL] 22.12.09 / 레버 돌리기, 종합 수학 개념들 (0) | 2022.12.10 |
[TIL] 22.12.08 / [UE_LOG] FVector, double [작성중] (0) | 2022.12.09 |
댓글