사실 Object와 Player간의 interaction을 어떻게 구현할지 고민을 했다.
이 3가지 경우에 대해 고민했고, 일단은 1번으로 결정했다.
1번 구현 방식은 Player Controller에서 ViewPort의 크기를 받아오고,
Actor의 WorldSpace 좌표를 ScreenSpace 좌표로 변환.
이 Screen Space 좌표가
0 < X좌표 < 뷰포트 X축 크기
0 < Y좌표 < 뷰포트 Y축 크기
에 속하는지 확인해주면 된다.
이렇게 개발을 한다면 각 object마다 Tick()함수를 사용해야 할 것인데,,,,
오브젝트가 여러 개로 늘어난다면 Overhead가 많이 발생하지 않을까?
⇒ 이 문제에 대해서는 bCanEverTick 변수의 조정을 통해 보완이 가능할 것 같다.
방 입구에 트리거를 둔다던지 혹은 Player가 진행하고 있는 챕터에 따라서
사용하는 Obejct의 bCanEverTick 변수를 true로 전환하여 사용하고, 그렇지 않다면 false로 유지하는 방식을 사용한다면 충분히 가능할듯
+추가로 개발한 사항 - 가상의 손 부착.
StaticMeshComponent를 해당 위치에 추가하였다.
이것은 이후 Socket으로 item을 쥐고있는것처럼 활용이 가능하도록 할 예정.
자세한 내용은 노션에서,,,,
Unreal 소스 빌드 중 SetUp.bat에서 문제가 생긴다면 (0) | 2024.01.04 |
---|---|
[ProjectDoll : 미정] 개발일지 23/08/22 - Interactable Object의 상호작용 (0) | 2023.08.23 |
[ProjectDoll : 미정] 개발일지 23/08/20 -Body Heaving(숨 헐떡거림) + PlayerState 개선 (0) | 2023.08.21 |
[ProjectDoll : 미정] 개발일지 23/08/19 - 플레이어 심박수 및 Enum을 통한 Player State 설정 (0) | 2023.08.21 |
[ProjectDoll : 미정] 개발일지 23/08/18 -1인칭 이동 및 카메라 조종 (0) | 2023.08.21 |
댓글 영역