Quick Comparison
backface culling은 삼각형의 앞·뒤 판정에 따라 보이지 않는 면을 rasterization 전에 제외하는 render state입니다. 닫힌 불투명 mesh에는 보통 한쪽 면만 그리지만, 얇은 잎·천·카드처럼 양쪽이 보여야 하는 asset에는 shader의 Cull 설정과 lighting 처리까지 같이 선택합니다.
| asset·문제 | 먼저 설정·확인할 것 | 흔한 실수 |
|---|---|---|
| 닫힌 불투명 mesh | pipeline의 기본 backface culling 유지 | 양면으로 바꿔 fragment 비용만 늘림 |
| 잎·천·한 장 plane | 양면 rendering과 앞·뒤 lighting 결과 확인 | Cull Off만 켜고 그림자·normal 결과를 확인하지 않음 |
| import 뒤 한쪽 면이 사라짐 | mesh winding·normal·material Cull mode | culling을 영구히 끄고 원인을 숨김 |
| 음수 scale object | parent까지 포함한 determinant·winding 영향 | mirror가 항상 rotation으로 대체된다고 가정 |
사라진 면을 볼 때
1. Scene/Game view에서 camera 방향을 바꿔 한쪽 면만 사라지는지 확인
2. material 또는 shader의 Cull mode를 임시로 양면으로 바꿔 winding 문제인지 분리
3. mesh import, normal, parent의 negative scale, render pipeline shader를 차례로 확인
4. 원인을 고친 뒤 필요한 면만 그리도록 Cull 상태를 되돌린다앞면 판정과 Cull state
삼각형의 winding은 camera에서 보이는 정점 순서로 앞면·뒷면을 판정하는 기준입니다. Unity shader에서는 Cull Back, Cull Front, Cull Off 같은 state로 어느 면을 제거할지 정합니다. 실제 기본값과 적용 가능한 설정은 Built-in, URP, HDRP, Shader Graph·custom shader에 따라 달라질 수 있으므로 다른 graphics API의 CCW/CW 기본값을 Unity project의 고정 규칙처럼 옮기지 않습니다.
Cull Off는 앞·뒷면을 모두 그리므로 얇은 geometry를 보이게 만드는 진단 도구이자 표현 선택입니다. 그러나 두 면의 fragment·lighting을 처리할 수 있고, transparent material에서는 sorting·overdraw 비용도 커질 수 있습니다. “mesh가 보인다”만으로 적절한 최종 설정인지 판단하지 말고 target platform에서 Frame Debugger와 GPU frame time을 확인합니다.
normal·음수 scale·asset 경계
winding, normal, tangent, culling은 서로 완전히 같은 데이터는 아니지만 모두 표면의 앞면 해석에 영향을 줍니다. 뒤집힌 mesh는 culling뿐 아니라 normal lighting이나 normal map tangent 처리도 이상하게 보일 수 있습니다. import setting, DCC 원본, procedural mesh의 index order 중 어느 쪽이 owner인지 정하고 그 위치에서 고칩니다.
negative scale은 계층의 handedness를 뒤집을 수 있습니다. 이때 renderer가 뒤집혀 보이거나 shadow·culling·child transform이 예상과 달라질 수 있지만, 모든 mirror asset을 자동으로 금지할 이유는 아닙니다. 해당 prefab, shader, collider, animation에서 필요한 시각·물리 결과를 test하고, scene hierarchy의 parent negative scale도 함께 확인합니다.
진단과 성능 판단
삼각형이 사라질 때는 먼저 Cull Off로 양면이 보이는지 확인합니다. 보이면 winding·Cull state·negative scale을, 그대로 안 보이면 frustum/occlusion culling, layer mask, depth, clipping, renderer disable 등 다른 원인을 봅니다. 원인을 확인한 뒤에는 closed opaque object에 불필요한 double-sided rendering을 남기지 않습니다.
Cull Off는 해결책이 아니라 원인을 가르는 설정일 수 있습니다. 최종 material은 asset이 실제로 양면이어야 하는지, render pipeline과 target device에서 추가 비용이 허용되는지를 보고 결정하세요.
참고 링크
2 sources