유튜브 보면서 노이즈랑 색 지정하도록 했는데 영상에서는 height 인 0 ~ 1 사이값으로 땅을 구분하는데 내가한건 왜 0 ~ 1값이 아닐까?
그래서 땅을 구분하는데 아래처럼 값이 엄청 높네..
똑같이 했는데...
noiseHeight += perlinValue * amplitude;Octaves for문 때문에 noiseHeight 값이 올라가서 그런가
그럼 유튜브에서는 어떻게 0 ~ 1로 되는거지?
혹시 문제가 뭔지 찾은사람 있으면 알려줘 ㅜㅜ
영상에서는 InverseLerp 쓰네
아 lerp가 선형 값이고 저건 비율구하는거네 고마웡
윗댓 말대로 영상에선 InverseLerp 사용해서 0~1사이의 값으로 보간해주네 minNoiseHeight=10 maxNoiseHeight=200 일때 니가 구한 값이 130이라 치면 InverseLerp(minNoiseHeight, maxNoiseHeight, 130) 결과값은 0.63 이런식으로 나오겠지
너는 그냥 Lerp를 썼는데 저렇게 하면 Lerp(10, 200, 130) 일때 세번쩨 파라미터 Alpha가 클램프 되어있으면 1로 들어갈테고 그게 아니면 엄청 큰 수가 나올거야 10에서 200까지 13000%나 이동하는거니까 정리하자면 Lerp는 a에서 b까지 0~1사이의 alpha 비율만큼 간 거리를 계산하는거고 (0.5면 중간값임) InverseLerp는 반대로 시작값 a에서 최대값 b사이에 alpha의 위치를 0~1로 (비율로) 만들어주는거임
오 자세하게 알려줘서 고마워