Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

name README
description Unity 표준 예제 프로젝트 모음 — CBT 지향 커리큘럼, macOS 동작 검증
date 2026-07-12

Examples

Unity 6.0 LTS(6000.0.78f1) 기반 표준 예제 프로젝트 모음. 목적은 게임이 아닌 CBT(Computer Based Training) 제작 기반 확보. 폴더 넘버링은 두 자리(00.~) 체계, 주제 흐름 순으로 정렬. 설계 SSOT: _doc_arch/examples-curriculum.md.

  • 형식: 모든 예제 = 완성(스크립트·씬 포함, 프로젝트 열면 씬 자동 오픈 → Play 즉시 동작). 완성전(실습) 코드는 각 예제의 _pre/ 폴더에 보관 — 전환 방법은 각 예제 README 의 "실습 (_pre → 완성)" 섹션 참조 (Issue10 — 구 _done 정답 아카이브 구조 반전·폐지)
  • 클릭 실행: 폴더 이동 없이 README 열기·Unity 즉시 실행은 LAUNCHER.md 참조

예제 목록

범주 폴더 형식 내용
기초·템플릿 00.HelloUnity 완성 정적 큐브 1개 최소 씬. Unity 입문 표준 "hello world"
01.dice 완성 주사위 예제
02.Universal2d 완성 URP 2D 템플릿 기반 예제. Lib/kr.finfra.core file: 참조 배선
03.Universal3d 완성 URP 3D 템플릿 기반 예제
04.Hd3d 완성 HDRP 3D 템플릿 기반 예제
에셋 쇼케이스 05.Objects 완성 텍스처·머티리얼·프리팹·스카이박스를 전부 코드로 생성하는 절차적 쇼케이스
입력 06.KeyboardEvent 완성 키보드 — WASD/방향키 이동, KeyDown·KeyUp 로그
07.MouseEvent 완성 마우스 — 큐브 클릭·호버(OnMouseXXX), 버튼·좌표 로그
08.MouseDrag 완성 마우스 드래그 — 큐브 끌어 이동(Screen→World)
09.InputCombo 완성 마우스+키보드 복합 — Space·좌클릭이 같은 동작(점프+색)
10.FormInput 완성 폼 사용자 입력 — IMGUI TextField·Button → 인사말
이벤트 11.EventBasics 완성 이벤트 감지 인트로 — 아무 입력 1회 감지 → 색 순환 (최소 형태)
12.EventLogging 완성 입력 로깅 상세 — 키/마우스 → Console+OnGUI 로그
C# 13.CSharp_apply 완성 C# 스크립트 작성 → GameObject 적용(부착) from-scratch 실습
오브젝트 조작 14.ObjectMoveToggle 완성 오브젝트 조작 — Space 토글로 객체 왕복 이동 on/off
15.ObjectPicking 완성 Raycast 클릭 선택 + 하이라이트 (CBT "부품 클릭" 기반)
카메라 16.CameraSetup 완성 카메라 설정 — FOV 프리셋·원근/직교 토글·배경색
17.CameraMoving 완성 orbit/zoom/pan 카메라 (장비 관찰 패턴)
UI 18.UiBasics 완성 uGUI 기초 — Canvas·Button·Text·Image + 클릭 배선
씬·메뉴네비 19.SceneAdd 완성 씬 추가 + Build Settings 등록
20.SceneTransition 완성 씬 전환 + 데이터 유지 (DontDestroyOnLoad)
21.MenuNavigation 완성 목차/메뉴 네비 — 메뉴 노드 → 선형(prev/next) → 목차 복귀 ★
미디어·슬라이드 22.AudioPlayback 완성 AudioSource 재생 제어 (내레이션 패턴, 자체 제작 음원)
23.VideoPlayback 완성 VideoPlayer 로 finfra.kr mp4 URL 스트리밍 (파일 미포함)
24.SlidePlayer 완성 슬라이드 노드 — 제목+본문+이미지 자리, 이전/다음 재생 ★
데이터·평가·추적 25.ScenarioData 완성 시나리오 데이터 분리 — ScriptableObject vs StreamingAssets JSON
26.QuizAssessment 완성 퀴즈·채점·결과 저장 (PlayerPrefs + JSON) — CBT 평가 핵심
27.XapiTracking 완성 xAPI 학습추적 — statement 구성·로그, i5 ExperienceAPI 연동 ★
통합 캡스톤 28.ProcedureSim 완성 절차 시뮬레이터 캡스톤 (15+18+22+25+26 통합)
29.DataDrivenBuilder 완성 데이터 주도 Builder — manifest.json → 노드 주입 씬 생성 ★
물리·스폰·툴킷 30.PrefabSpawner 완성 런타임 프리팹 스폰 — Space → Instantiate/Destroy 수명 관리
31.Box2dSimple 완성 초간단 Box2D(2D 물리) — Rigidbody2D 박스 중력 낙하
32.Box2dControl 완성 조작 Box2D — 플레이어 박스 좌우 이동 + 점프
33.PhysXSimple 완성 초간단 PhysX(3D 물리) — Rigidbody 큐브 중력 낙하
34.PhysXControl 완성 조작 PhysX — 플레이어 큐브 WASD 이동 + 점프
35.I5Toolkit 완성 i5 Toolkit(OpenUPM) 배선 + Spawner 데모 — Space 스폰·FIFO
렌더 심화 36.HdrpKnifeOutline 완성 HDRP 나이프 외곽선 — DrawRenderers Custom Pass + Inverted Hull

★ = CBT 파이프라인 보강 신규 예제 (MenuNavigation·SlidePlayer·XapiTracking·DataDrivenBuilder).

부록: 91~94 (통합·CBT 물리)

0036 의 선형 커리큘럼과 별개로, "여러 기능을 실제로 조립하면" 을 보여주는 부록 예제. 9N 번호대를 써서 본편 순서(0036, 향후 37+ 확장 여지)와 섞이지 않게 분리했다.

폴더 형식 내용
91.Universal2d_all 완성 05~30(물리 제외) 26개 기능을 메뉴 허브 하나로 통합한 2D 종합 예제
92.Universal3d_all 완성 05~30(물리 제외) 26개 기능을 메뉴 허브 하나로 통합한 3D 종합 예제
93.Box2dExample 완성 CBT용 Box2D — 부품을 드래그해 소켓에 조립하는 2D 물리 상호작용
94.PhysXExample 완성 CBT용 PhysX — 부품을 드래그해 소켓에 조립하는 3D 물리 상호작용
  • 91/92: 개별 예제 26개를 다시 배우는 게 아니라 "메뉴 허브 패턴"(하나의 씬에서 여러 기능을 SetActive/enabled 로 전환) 을 배우는 캡스톤. 상세: 각 프로젝트 README "만드는 방법"
  • 93/94: 31~34(Box2D/PhysX 기초) 다음 단계로, 물리 엔진을 CBT 조립 훈련 시나리오("드래그→정답 판정→오답 시 재시도")에 적용하는 방법을 보여준다. 93↔94 는 2D/3D API 대응표를 README 에 나란히 정리

주제 흐름

기초·템플릿(0004) → 에셋 쇼케이스(05) → 입력(0610) → 이벤트(1112) → C#(13) → 오브젝트 조작(1415) → 카메라(1617) → UI(18) → 씬·메뉴네비(1921) → 미디어·슬라이드(2224) → 데이터·평가·추적(2527) → 통합 캡스톤(2829) → 물리·스폰·툴킷(3035) → 렌더 심화(36).

  • 입력(0610) vs 이벤트(1112): 입력 = 입력원(키·마우스·폼)별 처리, 이벤트 = 입력원 무관 이벤트 감지(11)·로깅(12) 일반. 06~10 도 이벤트 방식(GetKeyDown 등)이나 입력원 기준으로 분류
  • C#(13) 위치: 06~12 완성 예제로 스크립트 사용을 먼저 보고, 13 에서 from-scratch 작성 실습. "사용 → 작성" 순서 (설계 SSOT 참조)

CBT 파이프라인 보강 (★ 신규)

cbt-production-pipeline.md 가 정의한 노드타입·Builder·추적을 예제화:

  • 21.MenuNavigation — menu 노드 + 선형/복귀 네비
  • 24.SlidePlayer — slide 노드 재생기(제목·본문·이미지 자리)
  • 27.XapiTracking — 학습 추적 xAPI statement (i5 ExperienceAPI 연동 안내)
  • 29.DataDrivenBuilder — 파이프라인 핵심 ④: manifest → 결정론적 씬 생성

물리·스폰·툴킷 (30~35)

  • 엔진 대응: Unity 2D 물리 = Box2D(Rigidbody2D+Collider2D), 3D 물리 = NVIDIA PhysX(Rigidbody+Collider). 3133, 3234 가 같은 패턴을 두 엔진으로 대응
  • 30.PrefabSpawner = 런타임 객체 생성(Instantiate/Destroy) 기초
  • 35.I5Toolkit = i5 Toolkit(RWTH Aachen, MIT) OpenUPM 배선 + Spawner 데모. 검증에 에디터+네트워크(패키지 resolve) 필요

렌더 심화 (36)

36.HdrpKnifeOutline = 04.Hd3d HDRP 스캐폴드 복제. HDRP 는 내장 outline 없음 → Custom Pass(DrawRenderers) + Inverted Hull 셰이더로 나이프만 선택 강조. 04.Hd3d 와 상호 참조. 검증에 에디터 필요.

05.Objects 재구성 (Issue14_2)

원래는 Unity 공식 "에디터 내 튜토리얼" 프로젝트의 콘텐츠를 그대로 담고 있었으나, 재배포 권한이 없어 전량 제거하고 절차적 생성 방식으로 재구성했다. 텍스처·머티리얼·프리팹·스카이박스를 BuildScript.cs 가 코드로 만들어 저장하므로 반입 에셋이 없다.

오디오는 저장소 자체 제작 음원(sh/gen-audio.py 신디사이즈)이며, 22.AudioPlayback·28.ProcedureSim·91·92 가 같은 음원을 공유한다.

HelloUnity 빌드·실행

sh/build_example_mac Projects/Examples/00.HelloUnity   # 결과: 00.HelloUnity/Build/HelloUnity.app
open Projects/Examples/00.HelloUnity/Build/HelloUnity.app
  • 검증: BuildResult.Succeeded (101,257,156 bytes), engine 6000.0.78f1 초기화 + Mono/Physics 로드 확인

다른 예제 추가 시

Unity Editor GUI 에서 새 프로젝트를 Projects/Examples/ 하위에 만들거나 공식 샘플 repo 를 clone. 폴더명은 NN.이름 두 자리 넘버링. 빌드 자동화는 BuildScript.cs 패턴(씬 코드 생성 + BuildPipeline.BuildPlayer) 재사용.