Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FE] [06-04] 별 클릭시 해당 방향으로 카메라 시점 이동하도록 설정 #93

Merged
merged 4 commits into from
Nov 16, 2023

Conversation

bananaba
Copy link
Collaborator

📎 이슈번호

#41

📃 변경사항

  • Galaxy 컴포넌트가 Star 컴포넌트를을 기억하지 않았던 부분을 기억하도록 개선
  • 기존에 직선적인 움직임을 보였던 카메라 움직임을 포물선을 그리며 자연스럽게 움직이도록 개선
  • 은하가 회전함에 따라 카메라와 바라보는 별 사이의 거리가 변하던 문제를 distance를 저장해 유지하도록 수정

📌 중점적으로 볼 부분

  • 카메라 움직임이 충분히 자연스러워 졌는가
  • 카메라와 별 사이의 거리가 일정하게 유지되는가

🎇 동작 화면

2023-11-16.8.49.24.mov

💫 기타사항

  • 카메라와 바라보는 별 사이의 거리가 너무 가까우면 카메라 움직임이 너무 빠른 경우가 있다.
  • 카메라와 바라보는 별 사이의 거리가 너무 가까우면 별이 화면의 가운데서 약간씩 흔들린다.
  • 성능적인 부분을 고려해 추가적인 최적화가 필요할 수 있다.

이백범 added 2 commits November 16, 2023 20:38
- 기존에 저장되지 않던 은하의 별들에 관한 정보를 useMemo를 통해 기억하도록 했다.
- 기존에 직선으로 움직이던 카메라 움직임을 좀 더 자연스럽게 포물선을 그리며 움직이도록 개선했다.
- 카메라와 currentView 사이의 거리를 distance 만큼으로 유지하도록 개선했다.
- 카메라와 물체의 최소 거리를 상수 처리했다.
Copy link
Member

@MinboyKim MinboyKim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생많으셨습니다!! 🫡

- 기존에 일반 함수를 함수 선언식으로 선언 했던 것을 화살표 함수로 바꿔 주었다.
- 의미가 직관적이지 않았던 distance 전역환경변수를 cameraToCurrentView로 바꿔주었다.
Copy link
Member

@MinboyKim MinboyKim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🐧 고생많으셨습니다!! 변경 커밋후엔 re-request review 부탁드려욤

@SongJSeop
Copy link
Collaborator

와 너무 신기하다 최고 최고

@bananaba bananaba requested a review from MinboyKim November 16, 2023 13:17
@bananaba bananaba merged commit c179e78 into fe-develop Nov 16, 2023
@bananaba bananaba deleted the feature/camera-move branch November 16, 2023 13:36
}

export const useCameraStore = create<cameraState>()((set) => ({
currentView: new THREE.Vector3(0, 0, 0),
setCurrentView: (position: THREE.Vector3) => set({ currentView: position }),
targetView: null,
setTargetView: (star: THREE.Mesh | null) => set({ targetView: star }),
cameraToCurrentView: CAMERA_MIN_DISTANCE,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

뭔가 camera에서 CurrentView로 이동해야할 것만 같은 이름인데..
더 좋은 네이밍이 있을 것 같은데 저도 마땅한게 안떠오르네요
DistanceBetweenAandB 형식으로 하면 너무 길 것 같은디..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚡️ Enhancement 성능 개선 FE 프론트엔드
Projects
None yet
4 participants