Game Dev/WarSimulation

Terrain Elevation 얻어오기

AKer 2017. 2. 28. 09:26
반응형

UE에서 Landscape를 생성한 후 Landscape의 Z 값을 읽어오는 작업을 진행했다. 

Landscape를 만드는 자세한 설명은 생략한다!


CryEngine에서는 GetTerrainZ, GetZ 같은 함수가 있었는데 UE에서는 찾지 못했다. 포럼을 검색해보니 그냥 LineTrace를 해보라고 한다. 많이 느릴 것 같은데 우선 함수 Wrapping을 해서 나중에 구현은 바꿀 수 있도록 하고, LineTrace를 해보았다. 오 대충 되는듯?



몇가지 문제가 있는데


  • Grid의 선분이 Lighting에 영향을 받는다. (나는 단색으로 나오기를 원함)

  • Grid의 선분이 굴곡이 있는 곳에서는 땅 밑으로 들어간다.


두번째 문제의 원인은 Terrain의 Vertex보다 Grid의 Vertex가 더 크기 때문이다. CryEngine에서는 TerrainUnit이라는 Vertex 크기 단위가 있었는데 (기본값 2m) UE에서는 아직 찾지 못했다. 하지만 찾는다고 해도 저렇게 모든 굴곡마다 Vertex를 추가하기에는 부담이 되니까...

Terrain Shader에서 그려버리던지, Terrain Material에 육각형이 포함되어도 좋을 것 같다.



우선은 아래 동그라미 친 부분처럼 Grid의 모서리와 Terrain Vertex가 일치하도록 Grid 크기를 조정해야 할 것 같다.



반응형