🗓️ 오늘 하루 일정
✅ 오전
- 11:35 ~ 12:30
- (팀) 스테이지4 미니맵 초안 완료, 카메라 흔들림 조정
🍽️ 점심시간
✅ 오후
- 12:35 ~ 13:30
- (나) Wall/Door/SteelDoor 피격 SFX 추가, 근접공격 SFX 추가
- (나) Title GIF 자글거림 수정, Store UI 작업 정리
- (팀) feature/player 병합
- 13:35 ~ 14:10
- (나) 프리팹 분리 저장
- (팀) 인게임 무기 이미지에 현재 무기 반영
- 15:35 ~ 16:20
- (팀) 상점 UI 변경, 갈무리체 정상 노출 & Bold 추가
- (팀) 적 데이터 및 equipWeapon 연동
- 16:35 ~ 17:30
- (나) 타이틀 작업(feat 타이틀)
- (나) Enemy Dialog 고정
- (팀) 스테이지5 벽/바닥 적용 및 관련 브랜치 병합
- 17:35 ~ 18:30
- (팀) Stage4Scene 추가, UI 버튼 사운드 추가
- (팀) NPC 스테이지 4·5 선택 기능 추가
- (팀) feature/-bullet → Develop 병합
🍽️ 저녁시간
✅ 저녁
- 19:35 ~ 20:00
- 20:00 ~ 21:00
- (팀 회의) 진행 상황 공유 / 액션 아이템 정리
- 20:17 : (팀) NPC 대사 수정 커밋
✅ 오늘 학습 키워드
UI Toolkit Font Asset 우선순위, unityFontDefinition, TextCore SDF, Physics2D Linecast, 레이어별 SFX 매핑, VideoPlayer(StreamingAssets/RenderTexture)
✅ 오늘 학습 한 내용을 나만의 언어로 정리하기
- 폰트 적용은 Font Asset이 핵심: unity-font-definition이 unity-font보다 우선 → 갈무리 SDF.asset을 .h1/.paragraph(또는 :root)에 지정해야 확실히 적용.
- 불릿 사운드는 레이 히트 지점에서: HandleObstacleHit() 시점에 레이어 분기해서 StructSoundManager 호출.
- 타이틀 영상은 기본 컴포넌트로 충분: StreamingAssets/title.mp4 + VideoPlayer(RenderTexture 출력) + RawImage 전면 배치, isLooping=true.
🧩 학습하며 겪었던 문제점 & 에러
- 폰트가 Inter로 고정되는 문제
- 원인: Theme/다른 USS의 unityFontDefinition이 갈무리를 덮어씀
- 해결 USS 예시:
:root {
-unity-font-definition: url("project://database/Assets/Fonts/Galmuri/Galmuri11 SDF.asset");
}
.h1, .paragraph {
-unity-font-definition: url("project://database/Assets/Fonts/Galmuri/Galmuri11 SDF.asset");
letter-spacing: 0; word-spacing: 0;
}
- 총알 히트 사운드(벽/문/강철문)
// Bullet.cs
public partial class Bullet : MonoBehaviour {
partial void OnBulletObstacleHit(RaycastHit2D hit);
void HandleObstacleHit(RaycastHit2D hit) {
OnBulletObstacleHit(hit);
Destroy(gameObject);
}
}
// Bullet.Sound.cs
public partial class Bullet {
partial void OnBulletObstacleHit(RaycastHit2D hit) {
int L = hit.collider.gameObject.layer;
var p = hit.point;
if (L == LayerMask.NameToLayer("Wall")) StructSoundManager.Instance.PlayWallAttackSound(p);
else if (L == LayerMask.NameToLayer("Door")) StructSoundManager.Instance.PlayDoorAttackSound(p);
else if (L == LayerMask.NameToLayer("SteelDoor")) StructSoundManager.Instance.PlaySteelDoorAttackSound(p);
}
}
- 타이틀 루프 영상(무UI)
vp.source = VideoSource.Url;
vp.url = System.IO.Path.Combine(Application.streamingAssetsPath, "title.mp4");
vp.renderMode = VideoRenderMode.RenderTexture;
vp.targetTexture = rt; // 1920x1080
vp.isLooping = true;
vp.Prepare();
vp.prepareCompleted += _ => vp.Play();
📝 메모
이제 종강까지 얼마 남지 않았다 나머지 기간도 하루하루 화이팅!!!