> For the complete documentation index, see [llms.txt](https://jihoon-jungs-organization.gitbook.io/jihoon_engine/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jihoon-jungs-organization.gitbook.io/jihoon_engine/introduce.md).

# Introduce

{% embed url="<https://youtu.be/kh5B659Ge1o>" %}

## <mark style="background-color:blue;">**사용한  라이브러리**</mark>

* Direct11&#x20;
* DirectXMath&#x20;
* SimpleMath&#x20;
* DirectXTex&#x20;
* ImGUI&#x20;
* ImGuizmo

## <mark style="background-color:blue;">**주요 기능**</mark>

* <mark style="background-color:yellow;">**통합 에디터 인터페이스**</mark>
  * ImGUI를 활용하여 직관적인 인터페이스로 코드 작성 없이 게임 요소를 시각적으로 구성 및 편집
  * Inspector, Hierarchy, Scene View 등을 통해 게임 객체를 직관적으로 편집 가능
* <mark style="background-color:yellow;">**컴포넌트 기반 설계**</mark>
  * Inspector 창을 통해 게임 오브젝트의 속성과 컴포넌트를 실시간으로 조작 및 수정
  * 기본 컴포넌트(Transform, MeshRenderer, Collider, Animator, Camera, Light) 지원
* <mark style="background-color:yellow;">**사용자 정의 컴포넌트 지원**</mark>
  * 개발자가 직접 만든 컴포넌트를 엔진에 등록하고, 컴포넌트 팩토리에서 관리하여 UI에서 쉽게 추가할 수 있도록 함
* <mark style="background-color:yellow;">**동적 함수 등록 및 이벤트 처리**</mark>
  * 컴포넌트 내의 함수를 이벤트 처리용으로 등록하여 애니메이션 이벤트나 UI 버튼 등에서 드롭다운으로 선택하고 동적 호출 가능
* <mark style="background-color:yellow;">**Transform**</mark>
  * 부모-자식 관계 설정(유니티 유사), UI 상에서 직관적인 오브젝트 배치 및 수정
* <mark style="background-color:yellow;">**씬 관리**</mark>
  * XML 포맷으로 씬 데이터를 저장·로드하여 다양한 씬 구성을 간편하게 관리
* <mark style="background-color:yellow;">**Model & Animation Load**</mark>
  * Assimp 라이브러리를 통해 Mesh와 애니메이션 정보를 Binary파일로 추출하여 게임 내에서 효율적으로 사용 가능하도록 지원
* <mark style="background-color:yellow;">**Animator**</mark>
  * 노드 기반으로 클립 연결, Loop·Speed·Duration 설정, Event 처리 지원
* <mark style="background-color:yellow;">**Terrain**</mark>
  * LOD와 Frustum Culling을 적용해 최적화된 지형 렌더링
* <mark style="background-color:yellow;">**Particle System**</mark>
  * 입자의 텍스처, 속도, 형태 등을 제어하여 다양한 파티클 효과 연출
* <mark style="background-color:yellow;">**Shadow Map**</mark>
  * 빛 방향을 유지하며 카메라를 추적해 항상 안정적인 그림자 표시
* <mark style="background-color:yellow;">**모드 전환**</mark>
  * Edit, Play, Pause 모드를 제공해 자유롭게 개발 환경을 전환
* <mark style="background-color:yellow;">**충돌 처리**</mark>
  * Collider를 사용한 충돌 처리 지원
* <mark style="background-color:yellow;">**기타**</mark>
  * Lighting, Skybox, Environment Map, Skeletal Animation 등 다양한 기능 지원
