Game Dev/WarSimulation

GridLine을 UDecalComponent로 변경

AKer 2017. 3. 10. 16:01
반응형

DebugDrawLine으로 그리던 GridLine을 Decal을 사용하여 그리도록 수정하였다. 외관상으로는 깔끔하게 잘 나온다. 고생했던 점은 사용자가 원하는 Material을 UDecalComponent에 설정하려면 해당 Material의 Material Domain이 "Deferred Decal"이어야 한다는 점이다.




아쉬운 점은 UDecalComponent 개수가 너무 많이 생성된다는 것...



그런데 잘 생각해보니 인접 그리드가 있을 때는 라인이 겹치기 때문에 한번만 그려도 될 것 같다. 아주 외곽일 때는 다 그려야겠지만... 어쨌던 이렇게 하면 UDecalComponent 개수는 절반으로 줄어들 수 있을 것 같다.


  • 수정 이전 : 1 Grid Cell = 6 Line = 6 UDecalComponent

  • 수정 이후 : 1 Grid Cell = 3 Line = 3 UDecalComponent (구현 필요)


문제가 하나 더 있는데 DeferredDecal이다 보니까 일반 Mesh에도 Decal이 뭍는다는 점이다. CryEngine에는 Decal을 만들 때 Planar, Terrain, TerrainAndStatic 타입을 정할 수 있었는데 언리얼에서는 아직 찾지 못했다. Mesh에서 Receive Decal 플래그를 설정할 수 있는 것 같기는한데... 리서치 필요.


<일반 Geometry Mesh에도 GridLineDecal이 뭍음>



반응형