feat(BT13-Dev-Map 9-slice): ground_Tileset 23 sub-sprite 자동 분기·자연 연결
PD 직접 발화 "타일맵이 자연스럽게 연결될 수 있도록 구성해줘" (2026-05-19).
본 PM 1단계 — sprite sheet 분석 + .meta slicing:
- 1536×1024 png PIL+scipy flood fill 영역 23 sub-sprite bounding box 실측
- 5행: 잔디위 5·측면/슬로프 5·곡선 4·큰슬로프 4·Bottom 5
- .meta 1차 작성 실패 (serializedVersion 13·spriteSheet.nameFileIdTable
위치 오류·Unity 미인식) → EnemyDeath.png.meta 형식 정합 영역 재작성
(serializedVersion 11·internalIDToNameTable 영역·EnemyDeath 정합
mipmaps/bumpmap/textureSettings 영역)
- PD Reimport 23 sprite 정상 인식
본 PM 2단계 — client-team-lead Opus 4 파일 영역 9-slice 통합:
- MapResourceCatalog.cs +7L
· groundTopVariants[]·groundBottomVariants[] 신규 (variant random)
- MapAssetBootstrap.cs +97L
· BootstrapGround9SliceFromTileset helper
· CreateTileFromSprite (sub-sprite → Tile asset 자동 생성)
· AssetDatabase.LoadAllAssetsAtPath 영역 sub-sprite name parse
· Assets/Tiles/Auto/Ground_<role>.asset 23종 자동 생성
· 9 slot + variant Top×3·Bottom×3 자동 link
- MapApplier.cs +67L PickGroundTile9Slice 헬퍼
· 가장자리 검출: prevSurfaceY/nextSurfaceY 비교 영역
isLeftEdge·isRightEdge·isSurface·isBottom 분기
· 9 slot 자동 선택 (TopLeft/Top/TopRight/Left/Center/Right/
BottomLeft/Bottom/BottomRight)
· Top/Bottom variant random seed = generationSeed ^ x (재현성 보장)
· null 4단계 안전망 (variant → 9 slot → t.tile → skip)
- GroundPlanner.cs 주석만 (fallback 유지·terrain.tile 정합)
회귀 검증:
- MapGeneratorTests MakeCatalog groundCenter만 채움 → null 안전 (모든
9 slot null 시 cat.groundCenter fallback + ?? t.tile 2중 안전망)
- 회귀 위험 0
BT 레포:
- spec §17 v1.10 행 추가
- PD 지시 로그 BT13 "9slice 자동 연결 완료" 갱신
외부 git: PD GitAutoSync 자동 push 위임.
PD 작업 (정합 확인):
1. EerieVillage/Map/Bootstrap Placeholder Assets 클릭 1회
→ Console [Bootstrap] ground_Tileset 9-slice link 완료
2. Catalog Inspector 영역 9 slot + variant 채워짐 확인
3. Assets/Tiles/Auto/ 23 Tile asset 생성 확인
4. Map Preview Generate → Apply
→ Scene 좌 가장자리 TopLeft·우 TopRight·중간 Top variant random
5. Play 시각 검증
잔여 후속:
- SlopeUpRight/SlopeUpLeft (idx 6·8) 자동 삽입 (Perlin surfaceY 변화)
- LeftCurl/RightCurl/Fill (idx 10~13) 표면 굴곡
- BigSlope_A~D (idx 14~17) 대형 슬로프 청크
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b6ae92db7d
commit
c296428258
File diff suppressed because one or more lines are too long
|
|
@ -1167,6 +1167,7 @@ EerieVillage `E:/EerieVillage/Assets/Editor/GitAutoSync/` 영역 영향 X (별
|
|||
| 2026-05-19 | v1.7 — 배경 이미지 등록·반복 배치 기능 | PD 직접 발화 "배경 리소스는 맵 가장 하위 레이어에서 항상 반복해서 배치 + BgImg_1 + 스크롤 맵 배경으로 반복 이어붙여서 재생 + Resource Registry 수정" + client-team-lead Opus 단일 Task — (1) MapResourceCatalog.cs `Sprite backgroundSprite` 단일 슬롯 추가 (75→79L) (2) MapApplier.cs ApplyBackgroundLayer 헬퍼·BG_ROOT_NAME·SpriteRenderer drawMode=Tiled·tileMode=Continuous·sortingOrder=-1000·맵 전체 size (239→283L) (3) MapResourceRegistryWindow.cs F 섹션 신규 (Sprite ObjectField + Preview thumbnail + Set·Clear) (4) MapAssetBootstrap.cs (9) backgroundSprite ← Assets/Resources/Map/BgImg_1.png 자동 link (193→200L) · MCP 컴파일 0·Map 15/15 PASS 회귀 0 | 클라이언트팀장 (client-team-lead) |
|
||||
| 2026-05-19 | v1.8 — 배경 위치 정렬 fix (PD "맵 선택 실행해도 배경 로테이션 안 됨") | 진단: sprite pivot=(0.5,0.5) center + 기존 position.x=0·z=10 → 배경 영역 x ∈ [-60,+60]·지면 영역 x ∈ [0,120] 불일치·맵 우측 절반 빈 화면. fix: position=(lengthTiles/2, (maxY+minY)/2+6, 0) 맵 중심 정합·heightUnits=(maxY-minY)+6+24 점프 H_max 11.24m×2 여유 반영·z=0 (sortingOrder=-1000 우선)·MCP refresh_unity OK·컴파일 0·Map 15/15 PASS 회귀 0 | 총괄PM (pm-general) |
|
||||
| 2026-05-19 | v1.9 — BgImg_1 import 설정 fix (PD "이미지가 여러장 겹쳐서 보임") | 진단: BgImg_1.png import 영역 spriteMode=2 (Multiple)·spriteMeshType=1 (Tight) → drawMode=Tiled + tileMode=Continuous 영역 정합 X (Tight mesh 영역 trapezoidal 정렬·우측 줄무늬). fix: MCP execute_code 영역 TextureImporter API — spriteImportMode=Single·spriteMeshType=FullRect·spriteExtrude=0·spritesheet 정리·SaveAndReimport. 결과: sprite 1999×845 px·pivot center·PPU=100·Continuous Tiled 정합·Stage1 lengthTiles=120 기준 ≈6장 반복 정상 | 총괄PM (pm-general) |
|
||||
| 2026-05-19 | v1.10 — ground_Tileset.png 23 sub-sprite slicing + 9-slice 자동 분기·자연 연결 (PD "타일맵이 자연스럽게 연결될 수 있도록 구성") | 본 PM 직접 분석: PIL+scipy flood fill 영역 1536×1024 png 영역 23 sub-sprite bounding box 실측 (5행: 잔디위 5·측면/슬로프 5·곡선 4·큰슬로프 4·Bottom 5). .meta 1차 작성 실패 (serializedVersion 13·spriteSheet.nameFileIdTable 위치 오류·Unity sprite 미인식) → EnemyDeath.png.meta 형식 정합 영역 재작성 (serializedVersion 11·internalIDToNameTable 영역·EnemyDeath 정합 mipmaps/bumpmap/textureSettings 영역) → PD Reimport 23 sprite 정상 인식. client-team-lead Opus 4 파일: (1) MapResourceCatalog +7L groundTopVariants[]·groundBottomVariants[] 신규 (2) MapAssetBootstrap +97L BootstrapGround9SliceFromTileset·CreateTileFromSprite helper·sub-sprite role parse·Tile asset Assets/Tiles/Auto/Ground_<role>.asset 자동 생성 (3) MapApplier +67L PickGroundTile9Slice 헬퍼 (가장자리 검출: prevSurfaceY/nextSurfaceY 비교·isLeftEdge/isRightEdge·isSurface/isBottom 분기·9 slot 자동 선택·Top/Bottom variant random seed=generationSeed^x) (4) GroundPlanner 주석만 (fallback 유지). null 4단계 안전망 (variant→9 slot→t.tile→skip). MapGeneratorTests 회귀 0. 잔여 후속: SlopeUp 자동 삽입·Curl·BigSlope 슬로프 청크 | 클라이언트팀장 (client-team-lead) + 총괄PM (pm-general) |
|
||||
| 2026-05-19 | v1.10 — Registry 단순화·9방향 지면·발판 2종·monsters 리스트 (PD 명세 4건) | PD 직접 발화 4건 (A↔F 순서 변경·8방향 sprite 등록·게임 오브젝트 단순화·기존 폐기 섹션 제거 + ground.png/AirGround_Type1/Type2 자산 사용 + 임시 center 1종 일관 배치) + client-team-lead Opus 단일 Task. 8 파일 변경 + Tile asset 3종 자동 생성: (1) MapResourceCatalog.cs 전면 재작성 (79→49L·14필드 폐기·11신규 — 9 ground TileBase + platformShort/Long + List monsters) (2) MapResourceRegistryWindow.cs 전면 재작성 (587→357L·4신규 섹션 A 배경/B 9방향 3x3 grid/C 발판 2종/D 게임 오브젝트 ReorderableList) (3) MapAssetBootstrap.cs (200→240L·6 자동 link + EnsureSingleSpriteTile TextureImporter 자동 정정) (4) GroundPlanner.cs (73→74L·groundCenter 일관) (5) PlatformPlanner.cs (160→124L·platformShort/Long 폭 기준 선택) (6) SpawnPointPlanner.cs (228→175L·§15-8 폐기·monsters random) (7) MapApplier.cs (287→280L·goalPrefab 제거) (8) MapGeneratorTests.cs (292→280L·MakeCatalog 정합) + Tile asset 3종 자동 생성 (Tiles/Auto/Ground_Center·Platform_Short·Platform_Long) + ground/AirGround_Type1/Type2 png meta spriteMode 2→1 자동 정정. MCP refresh_unity OK·컴파일 0건·warning 0건·Map 15/15 PASS 회귀 0. 백업 9건 (공유/개발팀_백업/EerieVillage/BT13-Dev-Map_20260519/). 잔여: 9-slice 자동 분기 후속 안건·bossPrefab/goalPrefab 후속 PD 등록 | 클라이언트팀장 (client-team-lead) |
|
||||
|
||||
---
|
||||
|
|
|
|||
Loading…
Reference in New Issue