오늘은 y깊이에 따라 광물을 배치해보았습니ㅏㄷ



24b0d121e09c28a8699fe8b115ef046f5d44919cac


먼저 마인크래프트의 광물 분포도입니다

저같은 틀은 오른쪽이 더 익숙할텐데요

패치로 왼쪽처럼 바뀌었다고합니다

이걸 이제 염가판으로 구현해보겠습니다


2





먼저 잼미니가 추천해준 Animation Curve를 사용해봤습니다




24b0d121e09c28a8699fe8b115ef046c62f12e49



24b0d121e09c28a8699fe8b115ef0469903ff5bc



필드에서 선언만해주면 인스펙터에 나타나서 편리해욧


24b0d121e09c28a8699fe8b115ef046c65f12846


누르면 이런게 뜨는데 값 설정만해주면 됩니다


저 0.2~0.8범위 밖 값(0.1일때 값)을 특정 값으로 제한하고 싶으면 직접 함수를 짜줘야됩니다

그렇지 않으면 clamp나 loop처리 되어서 원하지 않는 값이 나와요

11








이제 맵데이터는 광물로채웠으니까

uv값을 조절해야합니다


지금까지는 텍스쳐 아틀라스를 사용하지 않아서 uv에 (0,0) (0,1) (1,0) (1,1) 값을 편하게 넣었지만

텍스쳐 아틀라스를 사용할 것이기 때문에 uv좌표 블록에따라 달라질거에요



24b0d121e09c28a8699fe8b115ef046b6d6c9835


왼쪽 하단부터 오른쪽 상단까지 0~15번의 블록인덱스로 채우겠습니다



24b0d121e09c28a8699fe8b115ef046f574a9b9a


CreateFace함수를 변경해줍니다

이제 블록ID를 받아와서 아틀라스의 어느부분을 쓸지 결정해야돼요

나머지와 나눗셈 연산으로 Row, Column을 구해줍니다



24b0d121e09c28a8699fe8b115ef04699439ffbd


그리고 올바른 순서대로 넣어주는 함수 짜주기 (1,1) - (1,0) - (0,0) - (0,1)

size는 1/4입니다







결과



24b0d121e09c28a8699fe8b115ef046f5c4c9a97ac


청크 100 (y1600) 개 짜리 전체 지형




24b0d121e09c28a8699fe8b115ef046f5b4a9e9ba0


석탄,철이 나오는 표면층~중간층



24b0d121e09c28a8699fe8b115ef046f5f49909eac


금, 다이아가 나오는  심층







15


야호









동굴이나 광물 덩어리는 구현못하겠어요

3