일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RVO
- 오블완
- Unreal Engine5
- 팰린드롬 만들기
- Frustum
- 백준
- 1563
- C++
- UnrealEngine5
- UnrealEngine4
- algorithm
- UE5
- softeer
- 언리얼엔진5
- C
- directx
- IFileDialog
- 줄 세우기
- 2294
- DeferredRendering
- Programmers
- GeeksForGeeks
- NRVO
- const
- winapi
- 프로그래머스
- DirectX11
- 티스토리챌린지
- RootMotion
- baekjoon
- Today
- Total
목록Nan (2)
Game Develop
예전에 2D포폴했을때는 몬스터->플레이어의 방향벡터를 정규화하는 과정에서 nan값이 발생했었다. 분모에 0이 들어가면 안되는데, 몬스터랑 플레이어랑 거의 겹쳐져버리면 x2-x1값도 0, y2-y1값도 0이라 분모에 루트0값이 들어가버려서 nan값이 발생했었다. 근데 이번에도 몬스터가 증발하길래 열심히 추적해서 해결했다. 먼저 여차저차해서 몬스터의 WorldMatrix값에 nan값들이 포함되어있는걸 확인 -> rotation.y가 nan값이 발생되는걸 확인-> assert이용해서 어떤 함수에서 rotation.y에 nan값이 대입되는지 확인 -> 해당함수 벡터값 다 출력찍어봐서 확인 -> cmath::acos 함수에서 nan값이 리턴(!). acos 관련 글 : https://runebook.dev/ko/..
-nan(ind)값을 발견하게 된 계기 포트폴리오 작업도중 발견한 값이다. 몬스터의 범위 안에 플레이어가 있을 경우, 몬스터는 플레이어의 위치값(x,y)으로 계속 이동하기 때문에 결국 몬스터와 플레이어는 겹치게 되는데 몬스터와 플레이어가 겹쳐질경우 증발해버리는 현상이 발생했다. 원인을 찾기위해 해당 몬스터의 상태값들을 출력을 해봤더니 활성화는 멀쩡히 잘 되어있지만 객체의 Position값에서 -nan(ind) 라는 값이 출력되는걸 확인할 수 있었다. 즉 몬스터 인스턴스는 멀쩡히 살아있지만 위치값이 이상하게 바뀌어버려서 어딘가로 날라가버린것이다. -nan(ind)란? nan은 Not a Number의 약자로, 말 그대로 숫자가 아님을 의미한다. 좀 더 정확히 말하자면 자료형이 float이나 double형 ..