← SEARCHABLE ARCHIVE
Unreal Engine · 2026-07-12

육각 타일을 StaticMesh로 구성한 이유

ProceduralMesh가 항상 필요한 것은 아니다

INTERACTIVE READING MODE →

본 블로그 작성 글들은, 강의를 목표로 하고 제작되었습니다. 또한 작성된 글의 정보도 틀렸을 수 있으니, 주의해주세요.

육각 타일을 런타임에 직접 계산해서 ProceduralMesh로 만들 수도 있다. 하지만 모양이 고정되어 있다면 매번 정점과 인덱스를 생성할 이유가 없다.

ProjectTB에서는 타일 표시를 UStaticMeshComponent 기반으로 바꿨다.

UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
TObjectPtr<UStaticMeshComponent> TileMesh;

UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
TObjectPtr<UStaticMeshComponent> TileOutlineMesh;

UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
TObjectPtr<UStaticMeshComponent> CenterIconMeshComponent;

StaticMesh가 어울리는 경우

  • 타일 모양이 실행 중 바뀌지 않는다.
  • 에디터에서 만든 Mesh와 LOD를 재사용한다.
  • 충돌과 Material Slot을 자산에서 관리한다.
  • 같은 Mesh를 여러 타일이 공유한다.

ProceduralMesh는 지형 자체가 변형되거나 사용자 입력으로 도형을 생성할 때 의미가 있다. 고정 육각형을 단순히 크기와 색만 바꿀 때는 StaticMesh가 더 단순하다.

시각 상태와 게임 규칙은 분리한다

bool bIsMovementRangeHighlighted = false;
bool bIsAttackRangeHighlighted = false;

void SetRangeHighlights(
    bool bMovement,
    bool bAttack,
    FLinearColor MovementColor,
    FLinearColor AttackColor
);

이동 가능 여부는 Grid 규칙이 결정하고, 타일은 결과에 맞춰 Material 색을 바꾼다. Mesh Component가 있다고 타일 Actor 안에 경로 탐색까지 넣을 필요는 없다.

타일 수가 훨씬 많아지면 Actor와 Component 개수 자체가 부담이 될 수 있다. 그 단계에서는 InstancedStaticMesh나 HierarchicalInstancedStaticMesh로 묶는 방향을 검토해야 한다.