새 씬 추가하기 - jes79/Unity-AI-Glossary-Playground GitHub Wiki
새 씬 추가하기
씬은 손으로 만들지 않고 에디터 빌더 스크립트로 생성합니다. 그래서 언제든 Build All Scenes로 똑같이 다시 만들 수 있습니다.
자세한 규칙은 저장소의 docs/CONVENTIONS.md에 있습니다.
1. 카탈로그에 항목 추가
Assets/01_Scripts/Common/GlossaryCatalog.Data.cs에 한 줄을 추가합니다. 씬 경로는 id와 이름으로 정해집니다.
new GlossaryEntry("0116", 1, "", "더블 점프", "공중에서 한 번 더 점프", "\"공중에서 한 번 더 점프하게 해줘.\"", "0116_DoubleJump"),
2. 런타임 스크립트 작성
Assets/01_Scripts/01_Movement/DoubleJumpPlayer.cs (네임스페이스 GlossaryDemo.Movement)
- 입력은
GlossaryDemo.DemoInput또는Keyboard.current(구Input.GetKey는 사용 불가, New Input System 전용) - 실시간 값은
GlossaryInfoPanel.Status = "...";로 정보 패널에 표시 - 튜닝 값은
[SerializeField, Range]로 노출
3. 빌더 작성
Assets/01_Scripts/Editor/Scenes/01_Movement/Build0116_DoubleJump.cs
using GlossaryDemo.Movement;
using UnityEditor;
using UnityEngine;
using static GlossaryKit;
public static class Build0116_DoubleJump
{
[GlossaryScene("0116")]
[MenuItem("Tools/Glossary/Build Scene/01 Movement/0116_DoubleJump")]
public static void Build()
{
var ctx = NewScene2D("0116", "A/D : 이동 Space : 점프 (공중에서 한 번 더)");
// 오브젝트 구성, Set(component, "field", value)로 직렬화 필드 연결
Save(ctx);
}
}
| 헬퍼 | 하는 일 |
|---|---|
NewScene3D / NewScene2D / NewSceneUI |
카메라, 조명, EventSystem, 정보 패널까지 넣은 빈 씬 |
Prim, ColorMat, LitMat, CreateMaterial |
프리미티브와 URP 머티리얼 |
CreateSprite, CreateTexture |
픽셀 함수로 PNG 생성 (외부 이미지 없이) |
CreateToneClip, CreateMelodyClip |
절차적 효과음·BGM WAV 생성 |
CreateButtonRow, CreateSlider, OnClick |
데모 UI와 영구 이벤트 연결 |
Set / SetFloat / SetLayerMask … |
직렬화 필드 연결 |
Save(ctx) |
카탈로그 경로에 저장 + Build Settings 등록 |
4. 검사
bash tools/compile-check/check.sh me
Unity를 띄우지 않고 dotnet으로 전체 C#을 컴파일 검사합니다(처음 한 번 tools/compile-check/generate-refs.sh 실행 필요).
그다음 Unity에서 Tools › Glossary › Build Scene › … 실행 후 Validate All Scenes로 점검합니다.