# 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 등 다양한 기능 지원


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jihoon-jungs-organization.gitbook.io/jihoon_engine/introduce.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
