---
title: 드래그 표시선을 화면 좌표의2D Canvas 선으로 수정
date: 2026-11-06T16:04:28.757Z
version: v1.0.0
status: 진행
state: progress
project: growingcity
type: 버그
report_kind: bug
category: 버그 추적
summary: 3D 경계·고도 계산을 사용하던 표시선을 씬 Canvas의2D 선과 화살촉으로 교체했습니다. 독립127개와 컴파일·씬 검사는 통과했으며 실제 화면 검증은 미실행입니다.
format: tracefolio-v2
priority: normal
severity: normal
reporter: 미기록
assignee: 미지정
workflow: in_progress
payload: ../assets/submissions/2026-11-06-bug-20261106160428757-v1.0.0.json
---

## 작업 결과

화면 위에서 시작점과 현재 포인터를 잇는2D 선·화살표를 표시하도록 구현했습니다. 선 표시에서는 지면·카메라 투영·비행 고도 계산을 제거했고 실제 폭격 경로 계산은 별도로 유지했습니다.

## 변경 내용

### 재현 조건

Unity6000.0.83f1 / URP17.0.4 / City Prototype 씬 / Screen Space Overlay Canvas

### 재현 순서

사용자 보고: 도시에서 화면을 드래그하면 표시선이 이상하게 나타남. 이후 표시선은3D가 아닌2D 화면 좌표로 요청함. 에이전트의 동일 Play 재현은 화면 조작 금지로 미실행.

### 기대 동작

시작점과 현재 포인터를 화면 좌표의 일반2D 선으로 연결하고 방향 화살촉을 표시한다.

### 실제 동작

사용자의 선 이상 관찰을 사실로 수용했다. 기존 소스는 표시선에도 DirectionalTargets의3D 경계/고도 좌표를 사용했다. 에이전트의 실제 화면 관찰·동일 증상 재현은 미실행이다.

### 원인

확인된 구조: 기존 표시선이3D 비행 구간 계산에 결합되어 있었다. 실제 보였던 이상 현상의 정확한 모양과 직접 원인은 Play로 재현하지 않아 미확인이다.

### 적용 내용

- 기존 LineRenderer 표시선 생성과 프리뷰 머테리얼 필드/씬 연결을 제거했습니다. 과거 프로젝트 소유 셰이더 자산은 이력용으로 보존하되 현재 표시선에서 사용하지 않습니다.
- Canvas에 Image3개(선1개·화살촉2개)를 직접 저장했습니다. 기본 색·높이4·비활성 상태·Raycast Target 비활성·부모/앵커를 씬에 저장했으며 화살촉 크기18은 Inspector의 Drag Arrow Head Size로 편집 가능합니다. 런타임 UI 생성·폰트 대입은 없습니다.
- ScreenPointToLocalPointInRectangle로 시작/현재 포인터를 Canvas 좌표로 옮기고 길이·각도·화살촉을 갱신합니다. 표시 함수는 지면 좌표·프러스텀·비행 고도를 사용하지 않습니다. 지면과 교차하지 않는 위치에서도2D 표시 자체는 동작하도록 입력 표시와 공격 유효성 판단을 분리했습니다.
- 짧은 드래그·UI 위·화면 밖에서는 표시를 숨기고, 해제·ESC·일시정지·포커스 이탈·초기화에서도 숨깁니다. 실제 출격은 기존 지면 유효성 조건을 유지합니다.

## 검증

독립127개 시나리오 통과: 기존122개와 신규5개(시작/현재 포인터 끝점 보존, 화살촉 방향/대칭,360방향의 끝점·역방향 화살촉, 짧은 선의 화살촉 축소,0길이 거부). 설치된 Unity 실제 참조 어셈블리 대상 Runtime·Editor 컴파일 통과.
씬219개 오브젝트·466개 로컬 참조·122개 외부 참조·9개 버튼 이벤트와 Overlay Canvas·Image3개·높이4·비활성/Raycast 설정을 확인했습니다. 표시 함수의 Screen→Canvas 전용 좌표, 기존3D LineRenderer 제거와 UI 생성 코드 없음도 확인했습니다. 외부 원본5840개 파일 해시 변경0건입니다.
컴퓨터 유즈·Unity 실행/Play·씬 재열기·전후 캡처는 사용자 제한으로 미실행입니다. 가짜 화면을 만들지 않았으며 표시 문제 해결 완료/버그 종료로 처리하지 않았습니다.
교훈 검토: 사용자 명시적2D 요구를 반영했고 기존 UI 직접 저장·검증 범위 구분 규칙으로 충분하여 전역 변경 없음.

## 남은 사항

실제 Unity 표시·터치/마우스 조작·크기/해상도 변화·가독성·취소 상태·씬 재열기·전후 화면은 미검증입니다. 버그는 실제 표시 검증 전까지 진행/검증 대기 상태입니다.

## 작업 시간

- 제안 시간: 5~10분
- 실제로 완료된 시간: 시작2026-11-07 00:57:38 KST. 구현·독립 검사약5분, 실제 표시와 공개 확인 별도.
- XERJ: 미사용 — XERJ 도구 제공 없음 — rg·현재 소스·씬·독립 실행 검사 사용
