[task] | extract_knowledge [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | # CameraService를 활용한 카메라 제어 ## 1. 개념 설명 메이플스토리 월드에서 카메라는 기본적으로 플레이어(피사체/타깃)를 따라다니며 화면에 표시합니다. 게임 장르 특성이나 특수 연출을 위해 카메라의 피사체를 플레이어에서 다른 엔티티(예: NPC, 오브젝트 등)로 변경해야 하는 경우가 발생합니다. 이를 위해 `CameraService`의 `SwitchCameraTo()` 메서드를 사용합니다. 이 메서드는 특정 엔티티가 가진 `CameraComponent`를 지정하여 카메라의 추적 대상을 해당 엔티티로 전환하는 기능을 [original] | 사전 설정을 마쳤으니 본격적으로 **CameraService**의 기능에 대해 알아보겠습니다. 먼저 카메라의 타깃 설정 방법을 알아봅시다. ##### void SwitchCameraTo(CameraComponent cameraToSwitch) 게임을 플레이하면 카메라는 기본적으로 플레이어를 피사체(타깃)로 삼아 계속 플레이어를 따라다니며 화면에 비춥니다.그러나 게임 장르 특성 때문에 혹은 게임의 특별한 연출을 위해서 카메라의 피사체(타깃)를 변경하고 싶을 때 CameraService의 `SwitchCameraTo()` 함수를 활 [chunk_id] | Guides:118:1
[task] | knowledge_list [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | - `_CameraService:ZoomReset()` 함수는 변경된 카메라 줌 값을 초깃값(100%)으로 되돌리는 역할을 수행합니다. - `_CameraService:ZoomTo(ratio, duration)` 함수를 통해 줌 값을 변경한 후 `_CameraService:ZoomReset()`을 호출하면 줌 값이 100%로 초기화됩니다. - `_TimerService:SetTimerOnce(callback, delay)` 함수는 지정한 지연 시간(초) 이후에 전달된 콜백 함수를 한 번만 실행하도록 예약하는 데 사용됩니다. - `H [original] | `ZoomReset()`는 변경된 줌 값을 초깃값으로 되돌리는 함수입니다. `ZoomReset()`을 사용하면 `ZoomTo()`를 이용해 줌 값을 변경하더라도, 다시 초깃값으로(100%) 맞출 수 있습니다. `ZoomTo()` 예시에 이어 `ZoomReset()`을 사용해 5초 뒤 줌 값을 100%로 변경하는 예시 코드입니다. 이해를 돕기 위해 **TimerService**를 활용했습니다. [TimerService](/docs?postId=47%7B%22target%22:%22\_self%22%7D) 가이드를 참고하세요. `` [chunk_id] | Guides:118:5
[task] | knowledge_list [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | 제공된 문서 내용만을 기반으로 추출한 핵심 사실 목록입니다. 1. `TranstionBlendType`은 피사체(타깃)로 전환 시 카메라의 움직임을 제어하는 프로퍼티입니다. 2. `SwitchCameraTo()`를 호출하기 전에 `TranstionBlendType`에 `CameraBlendType` enum 값을 할당하여 타깃 전환 시 블렌드 타입을 변경할 수 있습니다. 3. `_EntityService:GetEntityByPath(path)` 메서드는 지정된 경로(예: `/maps/map01/npc-13`)를 매개변수로 받아 해 [original] | **TranstionBlendType**은 피사체(타깃)로 전환 시 카메라의 움직임을 제어할 수 있는 프로퍼티입니다. `SwitchCameraTo()` 호출 전에 **TranstionBlendType**에 CameraBlendType의 enum 값을 할당해 타깃 전환 시 블렌드 타입을 변경할 수 있습니다. 아래는 위 예제에서 **TranstionBlendType**에 CameraBlendType.Linear를 할당하는 코드를 추가하여, 카메라의 움직임을 조금 딱딱하게 변경해보도록 하겠습니다. ```lua [self] HandleT [chunk_id] | Guides:118:3
[task] | extract_knowledge [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | # CameraService를 활용한 카메라 제어 ## 1. 개념 설명 `CameraService`는 게임 내 카메라의 타깃(Target)을 변경하거나 줌(Zoom) 레벨을 조절하여 시점을 연출하는 데 사용되는 서비스입니다. 이 서비스를 통해 캐릭터가 특정 오브젝트에 닿았을 때 NPC로 카메라 시점을 전환하거나, 확대/축소 효과를 적용할 수 있습니다. 또한, 카메라의 위치를 이동시킨 후 지정된 시간이 지난 후 원래 위치로 복귀시키는 시간 기반 제어도 지원됩니다. 이러한 전환 과정에서는 `Blend` 효과를 적용하여 부드러운 시점 [original] | # 학습 과정 소개 게임을 만들다 보면 카메라가 비추는 대상을 변경하거나 확대, 축소를 이용해 연출해야 할 때가 있습니다. 이번 과정에서는 [CameraService](/apiReference/Services/CameraService)를 통해 타깃 카메라를 제어하는 방법과 카메라 연출 효과에 대해 알아보도록 합니다. ##### 참고 가이드 [엔티티와 컴포넌트 참조](docs?postId=164%7B%22target%22:%22\_self%22%7D) [엔티티의 충돌을 감지하는 TriggerComponent](/docs?post [chunk_id] | Guides:118:0
[task] | wikipedia [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | 카메라 제어는 메이플스토리 월드(MapleStory Worlds) 스크립트 언어 mLua에서 `CameraService`를 활용하여 구현합니다. 이 가이드에서는 게임 플레이 중 카메라의 줌 인(확대)과 줌 아웃(축소)을 제어하는 방법을 다룹니다. 실습을 시작하기 전에 이전에 작성했던 코드를 모두 삭제하고, 아래에 제시된 기본 `HandleTriggerEnterEvent` 이벤트 핸들러 구조만 유지한 상태로 진행합니다. 이 이벤트 핸들러는 `TriggerComponent`에서 발생하며, 서버와 클라이언트 양쪽 공간에서 실행됩니다. [original] | 게임 플레이 중에 카메라 줌 인과 줌 아웃을 제어하는 방법에 대해 알아보겠습니다. 위에서 작성한 코드는 필요하지 않기 때문에 모두 지우고, 아래와 같은 상태에서 시작합니다. ```lua [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: TriggerComponent -- Space: Server, Client ---------- [chunk_id] | Guides:118:4
[task] | distill [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | # CameraService: 줌 제어 및 기타 기능 ## 줌 제어 * **`ZoomReset()`** * 현재 줌 값을 기본값(100%)으로 초기화합니다. * **`ZoomTo(number zoomRatio, number duration)`** * 지정된 시간(`duration`) 동안 카메라 줌을 `zoomRatio`(%)로 변경합니다. * **`CurrentZoomRatio` (Property, read-only)** * 현재 카메라 줌 비율(%)을 반환합니다. 기본값은 100입니 [original] | `ZoomReset()`는 변경된 줌 값을 초깃값으로 되돌리는 함수입니다. `ZoomReset()`을 사용하면 `ZoomTo()`를 이용해 줌 값을 변경하더라도, 다시 초깃값으로(100%) 맞출 수 있습니다. `ZoomTo()` 예시에 이어 `ZoomReset()`을 사용해 5초 뒤 줌 값을 100%로 변경하는 예시 코드입니다. 이해를 돕기 위해 **TimerService**를 활용했습니다. [TimerService](/docs?postId=47%7B%22target%22:%22\_self%22%7D) 가이드를 참고하세요. `` [chunk_id] | Guides:118:5
[task] | diverse_qa [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | 질문: `TransitionBlendTime`은 어떤 서비스에서 제공하는 프로퍼티이며, 그 역할은 무엇인가요? 답변: `TransitionBlendTime`은 `CameraService`에서 제공하는 프로퍼티로, 카메라가 목표 피사체로 이동하는 데 걸리는 시간을 설정하는 데 사용됩니다. 질문: 카메라 전환 시간을 설정하기 위해 `TransitionBlendTime` 값을 할당하는 시점은 언제인가요? 답변: `SwitchCameraTo()` 함수를 호출하기 이전에 `TransitionBlendTime`에 시간을 설정해야 합니다. [original] | **TransitionBlendTime**은 **CameraService**에서 제공하는 프로퍼티로 카메라가 목표 피사체로 이동하는데 걸리는 시간을 정할 수 있습니다. **TransitionBlendTime** 시간을 `SwitchCameraTo()` 함수 호출 이전에 설정하면, 설정 시간에 걸쳐 카메라가 목표 피사체로 이동하는 것을 볼 수 있습니다. 따라서 `SwitchCameraTo()` 함수를 호출하기 전에 **TransitionBlendTime에 시간을 설정**하면, **TransitionBlendTime**의 설정 시간 동 [chunk_id] | Guides:118:2
[task] | extract_knowledge [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | # CameraService: 줌 제어 ## 개념 설명 `CameraService`는 게임 플레이 중 카메라의 줌(Zoom) 상태를 제어하는 서비스입니다. 주로 플레이어가 특정 영역(트리거)에 진입했을 때 카메라를 확대(Zoom In)하거나 축소(Zoom Out)하여 연출 효과를 주기 위해 사용됩니다. ## API 사용법 ### `void ZoomTo(number percent, number duration)` 특정 시간 동안 카메라의 줌 값을 변경합니다. * **`percent` (number)**: 변경할 목표 줌 [original] | 게임 플레이 중에 카메라 줌 인과 줌 아웃을 제어하는 방법에 대해 알아보겠습니다. 위에서 작성한 코드는 필요하지 않기 때문에 모두 지우고, 아래와 같은 상태에서 시작합니다. ```lua [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: TriggerComponent -- Space: Server, Client ---------- [chunk_id] | Guides:118:4
[task] | diverse_qa [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | 질문: `CameraService`의 `ZoomTo` 함수는 어떤 역할을 수행하나요? 답변: `ZoomTo` 함수는 특정 시간 동안 카메라의 줌 인(확대)과 줌 아웃(축소)을 제어하는 함수입니다. 질문: `ZoomTo(percent, duration)` 함수에서 `percent` 매개변수가 현재 줌 값보다 크거나 작을 때 각각 어떤 화면 효과가 발생하나요? 답변: `percent` 값이 현재 줌 값보다 크면 화면이 확대(줌 인)되고, 현재 줌 값보다 작으면 화면이 축소(줌 아웃)됩니다. 질문: `ZoomTo` 함수의 두 번째 매 [original] | 게임 플레이 중에 카메라 줌 인과 줌 아웃을 제어하는 방법에 대해 알아보겠습니다. 위에서 작성한 코드는 필요하지 않기 때문에 모두 지우고, 아래와 같은 상태에서 시작합니다. ```lua [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: TriggerComponent -- Space: Server, Client ---------- [chunk_id] | Guides:118:4
[task] | wikipedia [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | # 카메라 제어: CameraService를 활용한 타깃 전환 및 블렌딩 **CameraService**는 게임 내 카메라의 동작을 제어하는 데 사용되며, 특히 피사체(타깃) 전환 시 카메라의 움직임 방식을 정의하는 `TransitionBlendType` 프로퍼티를 제공합니다. 이 프로퍼티를 통해 `SwitchCameraTo()` 메서드를 호출하기 전에 카메라가 새로운 타깃으로 이동하는 과정의 블렌딩(Blending) 효과를 조절할 수 있습니다. `TransitionBlendType`에는 `CameraBlendType` 열거형( [original] | **TranstionBlendType**은 피사체(타깃)로 전환 시 카메라의 움직임을 제어할 수 있는 프로퍼티입니다. `SwitchCameraTo()` 호출 전에 **TranstionBlendType**에 CameraBlendType의 enum 값을 할당해 타깃 전환 시 블렌드 타입을 변경할 수 있습니다. 아래는 위 예제에서 **TranstionBlendType**에 CameraBlendType.Linear를 할당하는 코드를 추가하여, 카메라의 움직임을 조금 딱딱하게 변경해보도록 하겠습니다. ```lua [self] HandleT [chunk_id] | Guides:118:3
[task] | extract_knowledge [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | # 카메라 전환 블렌드 타입 제어 (TransitionBlendType) ## 1. 개념 설명 `TransitionBlendType`은 `CameraService`를 사용하여 카메라가 다른 피사체(타깃)로 전환될 때의 움직임 방식을 제어하는 프로퍼티입니다. 이 값을 설정함으로써 카메라 전환 시의 가속/감속 패턴을 결정할 수 있습니다. `CameraService`는 총 7가지의 블렌드 타입(`CameraBlendType` enum)을 제공합니다. * **Cut**: 즉시 전환 (모션 없음) * **EaseInOut**: 시 [original] | **TranstionBlendType**은 피사체(타깃)로 전환 시 카메라의 움직임을 제어할 수 있는 프로퍼티입니다. `SwitchCameraTo()` 호출 전에 **TranstionBlendType**에 CameraBlendType의 enum 값을 할당해 타깃 전환 시 블렌드 타입을 변경할 수 있습니다. 아래는 위 예제에서 **TranstionBlendType**에 CameraBlendType.Linear를 할당하는 코드를 추가하여, 카메라의 움직임을 조금 딱딱하게 변경해보도록 하겠습니다. ```lua [self] HandleT [chunk_id] | Guides:118:3
[task] | diverse_qa [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | 질문: `ZoomReset()` 함수의 주요 기능은 무엇인가요? 답변: `ZoomReset()`은 변경된 줌 값을 초깃값(100%)으로 되돌리는 함수입니다. 질문: `ZoomTo()`로 줌 값을 변경한 후 원래 상태로 되돌리려면 어떤 함수를 사용해야 하나요? 답변: `ZoomReset()` 함수를 사용해야 합니다. 질문: 아래 코드의 `_TimerService:SetTimerOnce(CallBack, 10)`에서 숫자 10은 무엇을 의미하나요? ```lua _TimerService:SetTimerOnce(CallBack, 10) [original] | `ZoomReset()`는 변경된 줌 값을 초깃값으로 되돌리는 함수입니다. `ZoomReset()`을 사용하면 `ZoomTo()`를 이용해 줌 값을 변경하더라도, 다시 초깃값으로(100%) 맞출 수 있습니다. `ZoomTo()` 예시에 이어 `ZoomReset()`을 사용해 5초 뒤 줌 값을 100%로 변경하는 예시 코드입니다. 이해를 돕기 위해 **TimerService**를 활용했습니다. [TimerService](/docs?postId=47%7B%22target%22:%22\_self%22%7D) 가이드를 참고하세요. `` [chunk_id] | Guides:118:5
[task] | distill [title] | 말풍선 만들기 [category] | Guides [rephrased] | # ChatBalloonComponent 엔티티와 플레이어 아바타에 말풍선을 붙이는 컴포넌트입니다. ## 주요 프로퍼티 | 프로퍼티 | 타입/설명 | | :--- | :--- | | `ChatBalloonRUID` | 말풍선 스프라이트 ID | | `BalloonScale` | 말풍선 크기 (값이 클수록 양옆으로 확장) | | `ArrowChatEnabled` | 꼬리 이미지 표시 여부 (기본: `true`) | | `AutoShowEnabled` | 자동 표시 여부. `true`일 시 `ShowDuration` 동안 표시 후 [original] | # 학습 과정 소개 엔티티와 플레이어 아바타에 말풍선을 간단하게 붙일 수 있습니다. ChatBalloonComponent 사용 방법과 활용 예시를 소개합니다. # 말풍선 붙이기 1. 말풍선을 붙일 엔티티를 선택하고 **ChatBalloonComponent**를 추가합니다. 2. 프로퍼티 값을 변경해 원하는 말풍선을 만듭니다. 주요 프로퍼티 값은 다음과 같습니다. | 프로퍼티 명 | 설명 | | --- | --- | | ChatBalloonRUID | 다양한 말풍선 스프라이트를 이용할 수 있습니다. | | BalloonSca [chunk_id] | Guides:119:0
[task] | distill [title] | UI 에디터 [category] | Guides [rephrased] | # UI 에디터 및 UIGroup UI 에디터는 메이플스토리 월드에서 제공하는 UI 엔티티를 조합하여 인벤토리, 상점 등 다양한 UI를 제작하는 도구입니다. ## UI 에디터 구성 요소 * **Preset List**: 메이커 제공 UI Preset 활용. * **UI 경로 정보**: 선택된 UI 엔티티의 경로 표시. 부모 경로 선택 시 해당 엔티티가 선택됨. * **캔버스**: UI 엔티티 배치/편집 공간. 게임 실행 시 캔버스 배치가 화면 출력으로 반영됨. * **기본 도구**: 이미지, 버튼 등 UI 엔티티 [original] | # 학습 과정 소개 UI를 편집할 수 있는 UI 에디터와 UI Group에 대해 알아봅시다. ##### 참고 가이드 * [UI 엔티티 제어하기](/docs?postId=1154&version=1) * [기본 UI 컴포넌트](/docs?postId=744) * [UI 제작하기](/docs?postId=64) # UI 에디터 소개 UI 에디터는 UI 엔티티를 구성하고, 메이플스토리 월드에서 제공하는 UI 엔티티를 조합해서 인벤토리나 상점 UI를 제작할 수 있습니다. UI 에디터 구성은 다음과 같습니다. | 번호 | 이름 | [chunk_id] | Guides:120:0
[task] | diverse_qa [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | 질문: `TransitionBlendType` 프로퍼티의 주요 역할은 무엇인가요? 답변: `TransitionBlendType`은 피사체(타깃)로 전환 시 카메라의 움직임을 제어할 수 있는 프로퍼티입니다. 질문: `SwitchCameraTo()` 호출 시 블렌드 타입을 변경하기 위해 어떤 값을 어디에 할당해야 하나요? 답변: `SwitchCameraTo()` 호출 전에 `_CameraService.TransitionBlendType`에 `CameraBlendType`의 enum 값을 할당해야 합니다. 질문: 아래 코드에서 `_C [original] | **TranstionBlendType**은 피사체(타깃)로 전환 시 카메라의 움직임을 제어할 수 있는 프로퍼티입니다. `SwitchCameraTo()` 호출 전에 **TranstionBlendType**에 CameraBlendType의 enum 값을 할당해 타깃 전환 시 블렌드 타입을 변경할 수 있습니다. 아래는 위 예제에서 **TranstionBlendType**에 CameraBlendType.Linear를 할당하는 코드를 추가하여, 카메라의 움직임을 조금 딱딱하게 변경해보도록 하겠습니다. ```lua [self] HandleT [chunk_id] | Guides:118:3
[task] | distill [title] | UI 에디터 [category] | Guides [rephrased] | # 기본 UI 엔티티 기본 UI 엔티티는 **이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트** 5가지로 구성되며, 이를 조합하여 커스텀 UI를 제작할 수 있습니다. ## 기본 UI 컴포넌트 구성 | UI 모델 이름 | 기능 | 포함된 컴포넌트 | | :--- | :--- | :--- | | **이미지** | 아이콘 등 이미지 출력 | `UITransformComponent`, `SpriteGUIRendererComponent` | | **버튼** | 클릭/터치 시 액션 실행 | `UITransformComponent`, ` [original] | 기본 UI 엔티티는 UI 제작 시 가장 많이 사용하는 기능을 제공합니다. **이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트**로 구성되어 있습니다. 크리에이터는 여러 개의 UI 엔티티를 조합해 새로운 UI를 만들 수도 있습니다. [기본 UI 컴포넌트](/docs?postId=744) 가이드를 참고하세요. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17132470861160af59286c47f4cdfb9012301dfc3d0c1.png "4") | 아이콘 | UI [chunk_id] | Guides:120:1
[task] | knowledge_list [title] | UI 에디터 [category] | Guides [rephrased] | 제시된 문서의 내용만 바탕으로 추출한 핵심 사실 목록입니다. 1. 기본 UI 엔티티는 이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트의 5가지 요소로 구성되어 있으며, 크리에이터는 이들을 조합하여 새로운 UI를 제작할 수 있습니다. 2. 이미지 UI 모델은 UI에 원하는 이미지를 출력하는 기능을 제공하며, `UITransformComponent`와 `SpriteGUIRendererComponent`를 포함합니다. 3. 버튼 UI 모델은 클릭 또는 터치 시 특정 액션이나 기능을 수행하도록 하며, `UITransformCompone [original] | 기본 UI 엔티티는 UI 제작 시 가장 많이 사용하는 기능을 제공합니다. **이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트**로 구성되어 있습니다. 크리에이터는 여러 개의 UI 엔티티를 조합해 새로운 UI를 만들 수도 있습니다. [기본 UI 컴포넌트](/docs?postId=744) 가이드를 참고하세요. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17132470861160af59286c47f4cdfb9012301dfc3d0c1.png "4") | 아이콘 | UI [chunk_id] | Guides:120:1
[task] | knowledge_list [title] | 말풍선 만들기 [category] | Guides [rephrased] | - `ChatBalloonComponent`는 엔티티와 플레이어 아바타에 말풍선을 부착하기 위해 해당 엔티티에 추가하여 사용하는 컴포넌트입니다. - `ChatBalloonRUID` 프로퍼티는 다양한 말풍선 스프라이트를 지정하여 사용할 수 있도록 합니다. - `BalloonScale` 프로퍼티는 말풍선 크기를 설정하며, 입력한 값이 클수록 말풍선 크기가 양옆으로 늘어납니다. - `ArrowChatEnabled` 프로퍼티는 말풍선 꼬리 이미지의 부착 여부를 설정하며, 기본값은 꼬리가 붙은 상태(true)입니다. - `AutoShowEn [original] | # 학습 과정 소개 엔티티와 플레이어 아바타에 말풍선을 간단하게 붙일 수 있습니다. ChatBalloonComponent 사용 방법과 활용 예시를 소개합니다. # 말풍선 붙이기 1. 말풍선을 붙일 엔티티를 선택하고 **ChatBalloonComponent**를 추가합니다. 2. 프로퍼티 값을 변경해 원하는 말풍선을 만듭니다. 주요 프로퍼티 값은 다음과 같습니다. | 프로퍼티 명 | 설명 | | --- | --- | | ChatBalloonRUID | 다양한 말풍선 스프라이트를 이용할 수 있습니다. | | BalloonSca [chunk_id] | Guides:119:0
[task] | wikipedia [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | # CameraService를 활용한 카메라 제어 `CameraService`는 게임 내 카메라의 줌(Zoom) 기능을 제어하기 위해 사용됩니다. 이 서비스는 줌 값을 변경하거나 초기 상태로 되돌리는 함수를 제공하여, 플레이어의 시야를 동적으로 조절할 수 있게 합니다. ## 줌 초기화: ZoomReset() `ZoomReset()` 함수는 변경된 줌 값을 시스템의 초깃값으로 되돌리는 역할을 합니다. `ZoomTo()` 함수를 사용하여 줌 값을 임의로 변경한 이후에도, `ZoomReset()`을 호출하면 줌 값은 다시 기본값인 [original] | `ZoomReset()`는 변경된 줌 값을 초깃값으로 되돌리는 함수입니다. `ZoomReset()`을 사용하면 `ZoomTo()`를 이용해 줌 값을 변경하더라도, 다시 초깃값으로(100%) 맞출 수 있습니다. `ZoomTo()` 예시에 이어 `ZoomReset()`을 사용해 5초 뒤 줌 값을 100%로 변경하는 예시 코드입니다. 이해를 돕기 위해 **TimerService**를 활용했습니다. [TimerService](/docs?postId=47%7B%22target%22:%22\_self%22%7D) 가이드를 참고하세요. `` [chunk_id] | Guides:118:5
[task] | knowledge_list [title] | UI 에디터 [category] | Guides [rephrased] | 제시된 원문 문서에 포함된 정보만 바탕으로 핵심 사실을 정리한 목록입니다. **1. UI 에디터의 기능과 구성** UI 에디터는 메이플스토리 월드가 제공하는 UI 엔티티를 조합하여 인벤토리나 상점 UI를 제작할 수 있으며, 상단 메뉴의 `[UI]` 버튼을 눌러 전환 시 Scene 화면이 UI 에디터용 화면으로 변경됩니다. UI 에디터는 Preset List(메이커 제공 UI Preset 활용), UI 경로 정보(선택된 엔티티의 경로 및 부모 경로 확인), 캔버스(UI 엔티티 배치 및 편집 작업 공간, 게임 실행 시 해당 모습으로 [original] | # 학습 과정 소개 UI를 편집할 수 있는 UI 에디터와 UI Group에 대해 알아봅시다. ##### 참고 가이드 * [UI 엔티티 제어하기](/docs?postId=1154&version=1) * [기본 UI 컴포넌트](/docs?postId=744) * [UI 제작하기](/docs?postId=64) # UI 에디터 소개 UI 에디터는 UI 엔티티를 구성하고, 메이플스토리 월드에서 제공하는 UI 엔티티를 조합해서 인벤토리나 상점 UI를 제작할 수 있습니다. UI 에디터 구성은 다음과 같습니다. | 번호 | 이름 | [chunk_id] | Guides:120:0
[task] | wikipedia [title] | UI 에디터 [category] | Guides [rephrased] | # 기본 UI 엔티티 기본 UI 엔티티는 메이플스토리 월드(MapleStory Worlds)에서 UI를 제작할 때 가장 많이 사용되는 핵심 기능을 제공합니다. 이 엔티티는 **이미지(Image), 버튼(Button), 스크롤 뷰(ScrollView), 텍스트(Text), 입력 텍스트(Input Text)** 다섯 가지 기본 요소로 구성되며, 크리에이터는 이러한 개별 UI 엔티티를 조합하여 새로운 형태의 사용자 인터페이스를 설계할 수 있습니다. 각 요소의 세부적인 동작 방식과 활용법에 대해서는 [기본 UI 컴포넌트](/docs?po [original] | 기본 UI 엔티티는 UI 제작 시 가장 많이 사용하는 기능을 제공합니다. **이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트**로 구성되어 있습니다. 크리에이터는 여러 개의 UI 엔티티를 조합해 새로운 UI를 만들 수도 있습니다. [기본 UI 컴포넌트](/docs?postId=744) 가이드를 참고하세요. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17132470861160af59286c47f4cdfb9012301dfc3d0c1.png "4") | 아이콘 | UI [chunk_id] | Guides:120:1
[task] | distill [title] | Workspace [category] | Guides [rephrased] | # Workspace 개요 **Workspace**는 폴더 형식의 리소스 관리 공간으로, 기본 위치는 우측 중앙입니다(패널 미노출 시 `Panels - Workspace` 클릭). 효율적인 월드 제작을 위해 필수입니다. ## 구조 Workspace는 다음 상위 엔트리로 구성됩니다. | 이름 | 설명 | | :--- | :--- | | **DefaultPlayer** | `NativeModel`의 Player 정보를 참조. 시작 시 스타트 포인트에 플레이어 아바타 생성. 실제 아바타 엔티티는 World 내부에 속함. | | ** [original] | # 학습 과정 소개 **Workspace**를 이용해 엔티티, 스크립트, 이미지를 효율적으로 관리할 수 있습니다. ##### 참고 가이드 [Entity, Component, Property](/docs?postId=54) [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에 [chunk_id] | Guides:121:0
[task] | extract_knowledge [title] | UI 에디터 [category] | Guides [rephrased] | # 기본 UI 엔티티와 프리셋 ## 1. 개념 설명 기본 UI 엔티티는 메이플스토리 월드에서 UI 제작 시 가장 빈번하게 사용되는 기능을 제공하며, **이미지**, **버튼**, **스크롤 뷰**, **텍스트**, **입력 텍스트**의 다섯 가지 유형으로 구성됩니다. 크리에이터는 이러한 기본 UI 엔티티를 조합하여 새로운 UI를 구성할 수 있습니다. 각 UI 엔티티 유형은 특정 컴포넌트들을 포함하고 있습니다: | UI 모델 이름 | 기능 설명 | 포함된 컴포넌트 | | --- | --- | --- | | 이미지 | UI에 원 [original] | 기본 UI 엔티티는 UI 제작 시 가장 많이 사용하는 기능을 제공합니다. **이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트**로 구성되어 있습니다. 크리에이터는 여러 개의 UI 엔티티를 조합해 새로운 UI를 만들 수도 있습니다. [기본 UI 컴포넌트](/docs?postId=744) 가이드를 참고하세요. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17132470861160af59286c47f4cdfb9012301dfc3d0c1.png "4") | 아이콘 | UI [chunk_id] | Guides:120:1
[task] | diverse_qa [title] | 말풍선 만들기 [category] | Guides [rephrased] | 질문: 엔티티와 플레이어 아바타에 말풍선을 붙이기 위해 추가해야 하는 컴포넌트는 무엇인가요? 답변: ChatBalloonComponent를 추가해야 합니다. 질문: ChatBalloonComponent의 BalloonScale 프로퍼티 값이 커지면 말풍선의 크기는 어떻게 변화하나요? 답변: 입력한 값이 클수록 말풍선 크기가 양옆으로 늘어납니다. 질문: ArrowChatEnabled 프로퍼티의 기본 활성 상태는 무엇이며, 이 프로퍼티의 역할은 무엇인가요? 답변: 꼬리가 붙은 상태가 기본 활성 상태이며, 말풍선 꼬리 이미지를 붙이거 [original] | # 학습 과정 소개 엔티티와 플레이어 아바타에 말풍선을 간단하게 붙일 수 있습니다. ChatBalloonComponent 사용 방법과 활용 예시를 소개합니다. # 말풍선 붙이기 1. 말풍선을 붙일 엔티티를 선택하고 **ChatBalloonComponent**를 추가합니다. 2. 프로퍼티 값을 변경해 원하는 말풍선을 만듭니다. 주요 프로퍼티 값은 다음과 같습니다. | 프로퍼티 명 | 설명 | | --- | --- | | ChatBalloonRUID | 다양한 말풍선 스프라이트를 이용할 수 있습니다. | | BalloonSca [chunk_id] | Guides:119:0
[task] | extract_knowledge [title] | CameraService를 활용한 카메라 제어 [category] | Guides [rephrased] | # CameraService를 활용한 카메라 줌 제어 ## 개념 설명 `CameraService`는 게임 내 카메라의 줌(Zoom) 레벨을 제어하는 서비스입니다. 주요 기능으로 현재 줌 비율을 변경하는 `ZoomTo()`와 초기 상태로 되돌리는 `ZoomReset()`을 제공합니다. `ZoomTo()`는 특정 줌 비율(퍼센트)과 지속 시간을 인자로 받아 카메라 확대/축소 효과를 생성하며, `ZoomReset()`은 변경된 줌 값을 기본값(100%)으로 즉시 복원합니다. ## API 사용법 ### 1. 줌 비율 조회 (Prope [original] | `ZoomReset()`는 변경된 줌 값을 초깃값으로 되돌리는 함수입니다. `ZoomReset()`을 사용하면 `ZoomTo()`를 이용해 줌 값을 변경하더라도, 다시 초깃값으로(100%) 맞출 수 있습니다. `ZoomTo()` 예시에 이어 `ZoomReset()`을 사용해 5초 뒤 줌 값을 100%로 변경하는 예시 코드입니다. 이해를 돕기 위해 **TimerService**를 활용했습니다. [TimerService](/docs?postId=47%7B%22target%22:%22\_self%22%7D) 가이드를 참고하세요. `` [chunk_id] | Guides:118:5
[task] | diverse_qa [title] | Workspace [category] | Guides [rephrased] | 질문: Workspace의 기본 위치는 어디이며, 사용자가 위치를 변경할 수 있습니까? 답변: Workspace 패널의 기본 위치는 우측 중앙이며, 크리에이터의 편의에 따라 원하는 위치로 바꿀 수 있습니다. 질문: Workspace가 보이지 않을 때 활성화하기 위해 클릭해야 하는 메뉴 경로가 무엇입니까? 답변: Panels - Workspace를 클릭하면 됩니다. 질문: Workspace는 크게 어떤 두 가지 주요 부분으로 구성되어 있습니까? 답변: 메이커에서 제공하는 모델과 스크립트 등이 저장된 BaseEnvironment와 [original] | # 학습 과정 소개 **Workspace**를 이용해 엔티티, 스크립트, 이미지를 효율적으로 관리할 수 있습니다. ##### 참고 가이드 [Entity, Component, Property](/docs?postId=54) [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에 [chunk_id] | Guides:121:0
[task] | wikipedia [title] | Workspace [category] | Guides [rephrased] | # Workspace **Workspace**는 메이플스토리 월드(MapleStory Worlds)의 메이커(Maker)에서 엔티티, 스크립트, 이미지 등 다양한 리소스를 폴더 구조로 효율적으로 관리할 수 있게 해주는 패널입니다. 월드 제작 과정에서 필요한 자원을 체계적으로 조직하고 빠르게 찾아 사용할 수 있도록 지원하며, 이를 통해 제작 효율성을 높이는 데 기여합니다. ## 기본 위치 및 구성 **Workspace** 패널의 기본 위치는 화면 우측 중앙이며, 크리에이터의 작업 환경에 따라 원하는 위치로 이동하여 배치할 수 있 [original] | # 학습 과정 소개 **Workspace**를 이용해 엔티티, 스크립트, 이미지를 효율적으로 관리할 수 있습니다. ##### 참고 가이드 [Entity, Component, Property](/docs?postId=54) [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에 [chunk_id] | Guides:121:0
[task] | diverse_qa [title] | UI 에디터 [category] | Guides [rephrased] | 질문: 기본 UI 엔티티는 어떤 5가지 요소로 구성되어 있습니까? 답변: 기본 UI 엔티티는 이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트로 구성되어 있습니다. 질문: '이미지' UI 모델의 주된 용도는 무엇이며, 어떤 컴포넌트를 포함합니까? 답변: '이미지' UI 모델은 주로 아이콘 표시를 위해 UI에 원하는 이미지를 출력하는 데 사용되며, UITransformComponent와 SpriteGUIRendererComponent를 포함합니다. 질문: '버튼' UI 모델은 클릭이나 터치 시 어떤 기능을 수행하며, '이미지' 모 [original] | 기본 UI 엔티티는 UI 제작 시 가장 많이 사용하는 기능을 제공합니다. **이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트**로 구성되어 있습니다. 크리에이터는 여러 개의 UI 엔티티를 조합해 새로운 UI를 만들 수도 있습니다. [기본 UI 컴포넌트](/docs?postId=744) 가이드를 참고하세요. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17132470861160af59286c47f4cdfb9012301dfc3d0c1.png "4") | 아이콘 | UI [chunk_id] | Guides:120:1
[task] | knowledge_list [title] | Workspace [category] | Guides [rephrased] | 제시된 원문에는 mLua 스크립트 문법, API 함수명, 매개변수, 반환 타입, 또는 `[server only]`, `[client only]`와 같은 실행 공간 제약 정보가 포함되어 있지 않습니다. 따라서 해당 요청 사항(코드 블록, API 명세 등)을 충족할 수 없으며, 원문에 명시된 **Workspace UI/리소스 관리 관련 사실**만 추출하여 목록으로 정리합니다. 1. **Workspace**는 폴더 형식의 리소스 관리 공간으로, 기본 위치는 우측 중앙이며 크리에이터의 편의에 따라 위치를 변경할 수 있습니다. 2. **W [original] | # 학습 과정 소개 **Workspace**를 이용해 엔티티, 스크립트, 이미지를 효율적으로 관리할 수 있습니다. ##### 참고 가이드 [Entity, Component, Property](/docs?postId=54) [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에 [chunk_id] | Guides:121:0
[task] | extract_knowledge [title] | UI 에디터 [category] | Guides [rephrased] | # UI 에디터와 UIGroup ## 1. 개념 설명 **UI 에디터**는 메이플스토리 월드에서 UI 엔티티를 구성하고, 제공된 UI 엔티티를 조합하여 인벤토리나 상점 등 복잡한 UI를 제작하는 도구입니다. UI 에디터는 다음과 같은 주요 패널로 구성됩니다. * **Preset List**: 메이커에서 제공하는 다양한 UI Preset을 활용할 수 있는 목록입니다. * **UI 경로 정보**: 선택된 UI 엔티티의 경로 정보를 표시합니다. 부모 경로를 선택하면 해당 엔티티가 선택됩니다. * **캔버스(Canvas)* [original] | # 학습 과정 소개 UI를 편집할 수 있는 UI 에디터와 UI Group에 대해 알아봅시다. ##### 참고 가이드 * [UI 엔티티 제어하기](/docs?postId=1154&version=1) * [기본 UI 컴포넌트](/docs?postId=744) * [UI 제작하기](/docs?postId=64) # UI 에디터 소개 UI 에디터는 UI 엔티티를 구성하고, 메이플스토리 월드에서 제공하는 UI 엔티티를 조합해서 인벤토리나 상점 UI를 제작할 수 있습니다. UI 에디터 구성은 다음과 같습니다. | 번호 | 이름 | [chunk_id] | Guides:120:0