feat: 보스 가림 시 플레이어 외곽선 표시

- PlayerOcclusionOutline: 보스(Enemy 레이어)가 플레이어를 가릴 때 외곽선 활성화
- Outline.shader: URP 법선 확장 외곽선 셰이더 (Fresnel 기반 알파)
- 외곽선용 별도 SkinnedMeshRenderer를 자식 GameObject에 생성
- ObstacleTransparencyController: Enemy 레이어 장애물 숨김 제외
- PlayerCamera: PlayerOcclusionOutline 초기화 연동

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-04 10:51:10 +09:00
parent c88487ef4c
commit 60275c6cd9
7 changed files with 211 additions and 1 deletions

View File

@@ -68,7 +68,9 @@ namespace Colosseum.Player
private HashSet<Renderer> CollectHits(Vector3 origin, Vector3 direction, float maxDistance)
{
var hits = new HashSet<Renderer>();
RaycastHit[] rayHits = Physics.SphereCastAll(origin, checkRadius, direction, maxDistance, occlusionMask, QueryTriggerInteraction.Ignore);
int enemyLayer = LayerMask.GetMask("Enemy");
int mask = occlusionMask & ~enemyLayer;
RaycastHit[] rayHits = Physics.SphereCastAll(origin, checkRadius, direction, maxDistance, mask, QueryTriggerInteraction.Ignore);
float targetY = targetTransform.position.y;