Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Windows Build
- Specular
- Toon Shader
- working set
- Private Bytes
- 작업 집합
- Cell Look
- Virtual Byte
- URP
- 3d
- OculusMotionVectorPass
- 메모리 누수
- Cell Shader
- Cartoon Rendering
- Three(Two) Tone Shading
- 벡터
- ColorGradingLutPass
- ASW(Application SpaceWarp)
- C언어
- AppSW
- 가상 바이트
- 개인 바이트
- 게임 수학
- URP로 변경
- Rim Light
- VR
- 프로그래밍 기초
Archives
- Today
- Total
WinCNT
Picking 본문
Picking
3D 게임에서 뭔가를 집으려면?
2D의 경우
마우스 위치와 스크린의 해상도가 일치함
즉 좌표계가 1:1로 대응하므로 쉬움
3D의 경우
3D에서는 프러스텀, 보이는 영역 안에서 집는 것
Near, Par로 봐도 되고, 카메라의 전방 벡터로 해도 되고...
Picking Ray
피킹 지점에서 레이를 쏴서 집는다
깊이에 따라 여러 개가 교차 가능하며
보통은 카메라와 거리 계산을 통해 가장 가까운 것을 잡도록 한다
계산
Screen 좌표계 -> NDC
여기서 Near-Far 반직선을 구함
NDC -> World
월드 공간에서 교차를 구하면 된다
주의점들
직접 구현할만한 것은 Shere와 AABB정도라고 한다
OBB는 상당히 복잡한듯...
(함수 쓰자)
SSS
'게임 프로그래밍(학습 내용 정리) > 3D Game Programming' 카테고리의 다른 글
깊이 버퍼(Depth Buffer) (0) | 2022.05.18 |
---|---|
Normal Mapping (0) | 2022.05.06 |
Skinning (0) | 2022.04.29 |
Animation2 (0) | 2022.04.27 |
Animation (0) | 2022.04.19 |