← 목록

mLua · Nemotron-CC 리프레이즈 (CPT)

총 8,200개 · 페이지 260/274
🔀 랜덤
불러오는 중…

[task] | diverse_qa [title] | 패키지 스토리지 [category] | Guides [rephrased] | 질문: 코어 버전을 확인하는 메뉴 경로는 무엇인가요? 답변: Edit - Preferences - 만들기 - Version 경로에서 확인할 수 있습니다. 질문: 패키지의 코어 버전과 제작 중인 월드의 코어 버전이 다르면 어떻게 되나요? 답변: 메이커가 정상적으로 동작하지 않을 수 있습니다. 질문: Package Uploader를 여는 방법은 무엇인가요? 답변: Panels - Package Storage를 선택한 뒤 [+] 버튼을 눌러 여는 것입니다. 질문: 패키지 내용을 수정할 때 버전을 변경해야 하는 이유는 무엇인가요? 답 [original] | 코어 버전이란 메이플스토리 월드 메이커의 버전을 의미합니다. 패키지를 저장할 때 코어 버전이 함께 저장됩니다. 코어 버전은 **Edit - Preferences - 만들기 - Version**에서 확인할 수 있습니다. 패키지의 코어 버전과 제작 중인 월드의 코어 버전이 동일하지 않은 경우 메이커가 정상적으로 동작하지 않을 수 있습니다. # 패키지 등록 1. **Panels - Package Storage**를 선택합니다. 2. **[+]** 버튼을 눌러 **Package Uploader**을 엽니다. 3. 패키지에 포함시킬 엔트 [chunk_id] | Guides:1328:1

[task] | wikipedia [title] | Skeleton 리소스 활용하기 [category] | Guides [rephrased] | # Skeleton 리소스 활용하기 크리에이터가 제작한 Skeleton 리소스를 사용하여 메이플스토리 월드에서 다양한 애니메이션을 재생할 수 있습니다. Skeleton 리소스는 Spine 4.1 환경에서 제작된 파일 형식만 지원하며, 월드 내 객체 표현 및 UI 렌더링에 사용됩니다. ## 리소스 등록 메이플스토리 월드에 Skeleton 리소스를 추가하기 위해서는 Spine 4.1로 제작된 리소스가 필수적입니다. Resource Storage에 Skeleton을 임포트할 때, 해당 폴더에는 png, atlas, skel 파일만 [original] | # 학습 과정 소개 크리에이터가 제작한 **Skeleton** 리소스를 사용해 메이플스토리 월드에서 다양한 애니메이션을 재생할 수 있습니다. # Skeleton 리소스 등록하기 **Spine 4.1**로 제작된 리소스만 메이플스토리 월드에 Skeleton 리소스로 추가 가능합니다. Resource Storage에 Skeleton을 추가하기 위해서는 한 폴더에 임포트하고자 하는 **png, atlas, skel** 파일이 있어야 하고, 그 외에 다른 파일이 포함되면 안 됩니다. ![[object Object]](https:// [chunk_id] | Guides:1343:0

[task] | knowledge_list [title] | 리치 텍스트 사용하기 [category] | Guides [rephrased] | 제시된 문서에 포함된 'UI 리치 텍스트' 태그에 대한 핵심 사실을 독립적인 문장 형태로 정리한 목록입니다. 1. `align` 태그는 텍스트의 정렬 방식을 변경하는 데 사용되며, 예시로 `<align="center">` 가 제공됩니다. 2. `allcaps` 태그는 포함된 영어 알파벳 문자를 모두 대문자로 변환하는 역할을 수행합니다. 3. `alpha` 태그는 텍스트의 불투명도(투명도)를 변경하며, 예시로 `<alpha=#80>` 과 같이 값이 지정됩니다. 4. `b` 태그는 태그 내부의 텍스트를 굵은 글씨(Bold)로 표시합니 [original] | | 태그 | 설명 | 예시 | | --- | --- | --- | | align | 정렬을 변경합니다. | `<align="center">` | | allcaps | 영어 알파벳을 모두 대문자로 변환합니다. | `<allcaps>` | | alpha | 불투명도를 변경합니다. | `<alpha=#80>` | | b | 굵은 글씨로 나타냅니다. | `<b>글자 입력</b>` | | br | 문장을 줄 바꿈합니다. | `첫 번째 문장 두 번째 문장` | | color | 색상을 결정합니다. 색상은 헥스 코드(#00000000) 형식으 [chunk_id] | Guides:1327:1

[task] | knowledge_list [title] | Skeleton 리소스 활용하기 [category] | Guides [rephrased] | * `SkeletonAnimationClip`의 `Alpha` 프로퍼티는 다른 트랙과 섞이는 비율을 나타내며 기본값은 1입니다. * `SkeletonAnimationClip`의 `Delay` 프로퍼티는 애니메이션 재생 시작 전 대기 시간을 초 단위로 지정합니다. * `SkeletonAnimationClip`의 `MixDuration` 프로퍼티는 애니메이션 전환 시 이전 애니메이션과 섞이는 시간을 초 단위로 지정합니다. * `SkeletonAnimationClip`의 `TimeScale` 프로퍼티는 애니메이션 재생 속도 [original] | `SkeletonAnimationClip`은 애니메이션의 상세 속성을 나타냅니다. 주요 프로퍼티는 아래와 같습니다. 자세한 내용은 [SkeletonAnimationClip](/apiReference/Misc/SkeletonAnimationClip)를 참고하세요. | 이름 | 설명 | | --- | --- | | Alpha | 다른 트랙과 섞이는 비율을 나타냅니다. 기본값은 1입니다. | | Delay | 애니메이션 재생을 시작하기까지 대기하는 시간입니다. 시간은 초 단위입니다. | | MixDuration | 애니메이션이 [chunk_id] | Guides:1343:1

[task] | diverse_qa [title] | Skeleton 리소스 활용하기 [category] | Guides [rephrased] | 질문: 메이플스토리 월드에 Skeleton 리소스로 추가할 수 있는 제작 도구는 무엇인가요? 답변: **Spine 4.1**로 제작된 리소스만 메이플스토리 월드에 Skeleton 리소스로 추가 가능합니다. 질문: Resource Storage에 Skeleton 리소스를 등록하기 위해 폴더에 포함되어야 하는 파일들은 무엇인가요? 답변: 임포트하고자 하는 **png**, **atlas**, **skel** 파일이 한 폴더에 있어야 하며, 그 외 다른 파일이 포함되면 안 됩니다. 질문: Skeleton 리소스 등록 시 포함 가능한 p [original] | # 학습 과정 소개 크리에이터가 제작한 **Skeleton** 리소스를 사용해 메이플스토리 월드에서 다양한 애니메이션을 재생할 수 있습니다. # Skeleton 리소스 등록하기 **Spine 4.1**로 제작된 리소스만 메이플스토리 월드에 Skeleton 리소스로 추가 가능합니다. Resource Storage에 Skeleton을 추가하기 위해서는 한 폴더에 임포트하고자 하는 **png, atlas, skel** 파일이 있어야 하고, 그 외에 다른 파일이 포함되면 안 됩니다. ![[object Object]](https:// [chunk_id] | Guides:1343:0

[task] | diverse_qa [title] | Skeleton 리소스 활용하기 [category] | Guides [rephrased] | 질문: `SetAttachment()` 함수의 주요 용도는 무엇인가요? 답변: 지정한 슬롯에 어태치먼트를 추가하거나 제거할 수 있는 용도입니다. 질문: 고글 어태치먼트를 "face" 슬롯에 추가하는 코드를 작성해 보세요. 답변: ```lua local skel = self.Entity.SkeletonRendererComponent skel:SetAttachment("face", "goggle") ``` 질문: `SetAttachment()` 함수를 호출하기 위해 접근하는 컴포넌트 이름은 무엇인가요? 답변: `SkeletonRe [original] | `SetAttachment()` 함수를 활용해 지정한 슬롯에 어태치먼트를 추가하거나 제거할 수 있습니다. 아래와 같이 고글 어태치먼트를 추가할 수 있습니다. ```lua local skel = self.Entity.SkeletonRendererComponent skel:SetAttachment("face", "goggle") ``` ## 어태치먼트 제거 어태치먼트를 제거할 때는 `SetAttachment()` 함수의 두 번째 인수인 `attachmentName`에 **nil**을 전달합니다. ```lua local ske [chunk_id] | Guides:1343:2

[task] | distill [title] | Skeleton 리소스 활용하기 [category] | Guides [rephrased] | # Skeleton 리소스 활용 `SkeletonAnimationClip`은 애니메이션 상세 속성을 정의합니다. 상세 API는 [SkeletonAnimationClip](/apiReference/Misc/SkeletonAnimationClip) 참고. ### 주요 프로퍼티 * **Alpha**: 트랙 간 혼합 비율 (기본값: 1) * **Delay**: 재생 시작 대기 시간 (초 단위) * **MixDuration**: 애니메이션 전환 시 이전 애니메이션과 혼합되는 시간 (초 단위) * **TimeScale**: [original] | `SkeletonAnimationClip`은 애니메이션의 상세 속성을 나타냅니다. 주요 프로퍼티는 아래와 같습니다. 자세한 내용은 [SkeletonAnimationClip](/apiReference/Misc/SkeletonAnimationClip)를 참고하세요. | 이름 | 설명 | | --- | --- | | Alpha | 다른 트랙과 섞이는 비율을 나타냅니다. 기본값은 1입니다. | | Delay | 애니메이션 재생을 시작하기까지 대기하는 시간입니다. 시간은 초 단위입니다. | | MixDuration | 애니메이션이 [chunk_id] | Guides:1343:1

[task] | distill [title] | 화면 전환 효과 재생하기 [category] | Guides [rephrased] | # ScreenTransitionService 맵 이동 시 부드러운 화면 전환 연출을 제공하는 서비스입니다. ## 효과 종류 및 규칙 ### Fade In / Fade Out 화면 투명도를 조절해 어둡거나 밝게 전환하는 효과입니다. 재생 시작/종료 시 이벤트가 발생합니다. 주의: **Fade In 재생 중 Fade Out이 시작되면 `FadeInEndEvent`는 발생하지 않습니다.** **주의 사항** * 재생 시간: 최대 **3초** * 재생 중 UI 조작 불가 * 재생 중 `Set()` 계열 함수 호출 시, 재생 완료 [original] | # **학습 과정 소개** 맵 이동할 때 부드러운 화면 전환 연출 기능을 제공하는 **ScreenTransitionService**에 대해 알아봅시다. 한 맵에서 다른 맵으로 이동할 때 전환 효과를 사용하면 플레이어가 명확하게 맵이 달라졌음을 인지할 수 있게 됩니다. ### Fade In, Fade Out **Fade In과 Fade Out**은 맵 이동 시에 사용하는 연출입니다. 두 효과는 화면의 투명도를 조절해 점점 어두워지거나 밝아지다가 새로운 장면이 나타납니다. Fade In/Out 효과 재생과 재생 중단 시점에는 시작 [chunk_id] | Guides:1345:0

[task] | wikipedia [title] | Skeleton 리소스 활용하기 [category] | Guides [rephrased] | `SkeletonAnimationClip`은 애니메이션의 상세 속성을 정의하는 객체로, 주요 프로퍼티로는 `Alpha`, `Delay`, `MixDuration`, `TimeScale`이 있습니다. `Alpha`는 다른 트랙의 애니메이션과 섞이는 비율을 나타내며 기본값은 1입니다. `Delay`는 애니메이션 재생 시작 전 대기 시간을 초 단위로 지정합니다. `MixDuration`은 애니메이션 전환 시 이전 애니메이션과 자연스럽게 섞이도록 하는 시간을 초 단위로 설정합니다. `TimeScale`은 애니메이션 재생 속도를 결정하며 기 [original] | `SkeletonAnimationClip`은 애니메이션의 상세 속성을 나타냅니다. 주요 프로퍼티는 아래와 같습니다. 자세한 내용은 [SkeletonAnimationClip](/apiReference/Misc/SkeletonAnimationClip)를 참고하세요. | 이름 | 설명 | | --- | --- | | Alpha | 다른 트랙과 섞이는 비율을 나타냅니다. 기본값은 1입니다. | | Delay | 애니메이션 재생을 시작하기까지 대기하는 시간입니다. 시간은 초 단위입니다. | | MixDuration | 애니메이션이 [chunk_id] | Guides:1343:1

[task] | extract_knowledge [title] | Skeleton 리소스 활용하기 [category] | Guides [rephrased] | # Skeleton 리소스의 어태치먼트 관리 ## 개념 설명 `SkeletonRendererComponent`는 스크린샷이나 애니메이션 리소스에서 특정 부위(슬롯)에 추가 요소를 붙이는 것을 지원합니다. 이 추가 요소를 **어태치먼트(Attachment)** 라고 부르며, `SetAttachment()` 메서드를 통해 지정된 슬롯에 어태치먼트를 추가하거나 제거할 수 있습니다. ## API 사용법 `SetAttachment()` 메서드는 `SkeletonRendererComponent` 인스턴스에서 호출되며, 두 개의 인수를 받습 [original] | `SetAttachment()` 함수를 활용해 지정한 슬롯에 어태치먼트를 추가하거나 제거할 수 있습니다. 아래와 같이 고글 어태치먼트를 추가할 수 있습니다. ```lua local skel = self.Entity.SkeletonRendererComponent skel:SetAttachment("face", "goggle") ``` ## 어태치먼트 제거 어태치먼트를 제거할 때는 `SetAttachment()` 함수의 두 번째 인수인 `attachmentName`에 **nil**을 전달합니다. ```lua local ske [chunk_id] | Guides:1343:2

[task] | distill [title] | 화면 전환 효과 재생하기 [category] | Guides [rephrased] | **카메라 화면 전환 효과 (Dissolve)** `_ScreenTransitionService`의 `DissolveScreen` 메서드를 사용하여 화면 전환 효과를 재생합니다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { if event.key == KeyboardKey.Y then _ScreenTransitionService:DissolveScreen(3, true, false) end [original] | **Y** 키를 눌렀을 때 Dissolve 효과가 나타나도록 만들어 봅시다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: InputService -- Space: Client ------------------------------------------------------ [chunk_id] | Guides:1345:1

[task] | extract_knowledge [title] | 패키지 스토리지 [category] | Guides [rephrased] | # 메이플스토리 월드 메이커 패키지 스토리지 ## 1. 개념 설명 **패키지 스토리지(Package Storage)** 는 메이플스토리 월드 메이커 내에서 재사용 가능한 자산(엔트리)을 묶어 관리하는 시스템입니다. 패키지는 엔트리와 함께 **코어 버전(Core Version)** 이 저장됩니다. 코어 버전은 메이플스토리 월드 메이커의 버전을 의미하며, `Edit - Preferences - 만들기 - Version` 경로에서 확인할 수 있습니다. 패키지의 코어 버전과 현재 제작 중인 월드의 코어 버전이 일치하지 않으면 메이커가 [original] | 코어 버전이란 메이플스토리 월드 메이커의 버전을 의미합니다. 패키지를 저장할 때 코어 버전이 함께 저장됩니다. 코어 버전은 **Edit - Preferences - 만들기 - Version**에서 확인할 수 있습니다. 패키지의 코어 버전과 제작 중인 월드의 코어 버전이 동일하지 않은 경우 메이커가 정상적으로 동작하지 않을 수 있습니다. # 패키지 등록 1. **Panels - Package Storage**를 선택합니다. 2. **[+]** 버튼을 눌러 **Package Uploader**을 엽니다. 3. 패키지에 포함시킬 엔트 [chunk_id] | Guides:1328:1

[task] | knowledge_list [title] | 화면 전환 효과 재생하기 [category] | Guides [rephrased] | * `InputService`의 `HandleKeyDownEvent` 이벤트 핸들러는 클라이언트(Space: Client)에서 실행되며, `KeyDownEvent` 타입의 `event` 매개변수를 받아 `event.key` 속성으로 눌린 키를 확인합니다. * `KeyboardKey.Y` 상수가 `event.key`와 일치할 경우, `_ScreenTransitionService` 서비스의 `DissolveScreen` 메서드를 호출하여 화면 전환 효과를 트리거합니다. * `_ScreenTransitionService:Dis [original] | **Y** 키를 눌렀을 때 Dissolve 효과가 나타나도록 만들어 봅시다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: InputService -- Space: Client ------------------------------------------------------ [chunk_id] | Guides:1345:1

[task] | diverse_qa [title] | Skeleton 리소스 활용하기 [category] | Guides [rephrased] | 질문: `SkeletonAnimationClip` 객체의 `Alpha` 프로퍼티의 기본값은 얼마이며, 어떤 의미를 가지나요? 답변: `Alpha` 프로퍼티의 기본값은 1이며, 다른 트랙과 섞이는 비율을 나타냅니다. 질문: `Delay` 프로퍼티는 어떤 단위로 설정되며, 어떤 역할을 하나요? 답변: `Delay` 프로퍼티는 초 단위로 설정되며, 애니메이션 재생을 시작하기까지 대기하는 시간을 지정합니다. 질문: `TimeScale` 프로퍼티의 기본값은 무엇인가요? 답변: `TimeScale` 프로퍼티의 기본값은 1입니다. 질문: [original] | `SkeletonAnimationClip`은 애니메이션의 상세 속성을 나타냅니다. 주요 프로퍼티는 아래와 같습니다. 자세한 내용은 [SkeletonAnimationClip](/apiReference/Misc/SkeletonAnimationClip)를 참고하세요. | 이름 | 설명 | | --- | --- | | Alpha | 다른 트랙과 섞이는 비율을 나타냅니다. 기본값은 1입니다. | | Delay | 애니메이션 재생을 시작하기까지 대기하는 시간입니다. 시간은 초 단위입니다. | | MixDuration | 애니메이션이 [chunk_id] | Guides:1343:1

[task] | wikipedia [title] | 화면 전환 효과 재생하기 [category] | Guides [rephrased] | # 카메라 화면 전환 효과 재생하기 `_ScreenTransitionService` 컴포넌트를 활용하여 화면 전환 효과를 제어할 수 있습니다. 이 가이드에서는 **Y** 키 입력 시 **Dissolve** 효과가 실행되도록 구성하는 방법과, 맵 이동 시 발생하는 **Fade In/Out** 효과와의 중첩 규칙을 설명합니다. ### Y 키 입력 시 Dissolve 효과 실행 `InputService`의 `HandleKeyDownEvent` 이벤트 핸들러를 통해 키 입력을 감지하고, **Y** 키가 눌리면 `_ScreenTrans [original] | **Y** 키를 눌렀을 때 Dissolve 효과가 나타나도록 만들어 봅시다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: InputService -- Space: Client ------------------------------------------------------ [chunk_id] | Guides:1345:1

[task] | extract_knowledge [title] | 리치 텍스트 사용하기 [category] | Guides [rephrased] | # UI 리치 텍스트 태그 ## 1. 개념 설명 `TextComponent`는 리치 텍스트(Rich Text) 태그를 지원하여 텍스트의 스타일, 정렬, 색상, 크기 등을 XML 유사 문법으로 제어할 수 있습니다. 각 태그는 `<태그명="값">` 또는 `<태그명>` 형태로 사용되며, 일부 태그는 닫는 태그(`</태그명>`)를 요구하거나 특정 속성 값(헥스 코드, 퍼센트, 숫자 등)을 취합니다. ## 2. API 사용법 (태그 목록) 아래 표는 `TextComponent`에서 사용할 수 있는 리치 텍스트 태그와 그 기능, 예시를 [original] | | 태그 | 설명 | 예시 | | --- | --- | --- | | align | 정렬을 변경합니다. | `<align="center">` | | allcaps | 영어 알파벳을 모두 대문자로 변환합니다. | `<allcaps>` | | alpha | 불투명도를 변경합니다. | `<alpha=#80>` | | b | 굵은 글씨로 나타냅니다. | `<b>글자 입력</b>` | | br | 문장을 줄 바꿈합니다. | `첫 번째 문장 두 번째 문장` | | color | 색상을 결정합니다. 색상은 헥스 코드(#00000000) 형식으 [chunk_id] | Guides:1327:1

[task] | diverse_qa [title] | 화면 전환 효과 재생하기 [category] | Guides [rephrased] | 질문: `Y` 키를 눌렀을 때 Dissolve 효과를 실행하기 위해 어떤 서비스와 이벤트를 처리해야 하나요? 답변: `InputService`의 `HandleKeyDownEvent`를 처리해야 합니다. 질문: 아래 코드는 무엇을 하는 코드인가요? ```lua if key == KeyboardKey.Y then _ScreenTransitionService:DissolveScreen(3, true, false) end ``` 답변: 이 코드는 사용자가 `Y` 키를 눌렀을 때, 지속 시간 3초로 화면을 Dissolve 효과로 전 [original] | **Y** 키를 눌렀을 때 Dissolve 효과가 나타나도록 만들어 봅시다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: InputService -- Space: Client ------------------------------------------------------ [chunk_id] | Guides:1345:1

[task] | knowledge_list [title] | 화면 전환 효과 재생하기 [category] | Guides [rephrased] | * `ScreenTransitionService`는 맵 이동 시 부드러운 화면 전환 연출을 제공하기 위한 서비스이며, `_ScreenTransitionService`라는 언더스코어 접두를 통해 접근합니다. * **Fade In** 효과는 맵 이동 시 화면이 점점 밝아지다가 전환 효과가 사라지는 연출이며, 사용 여부는 크리에이터가 결정해야 합니다. * **Fade Out** 효과는 맵 이동 시 화면이 점점 어두워지다가 전환 효과가 사라지는 연출이며, 사용 여부는 크리에이터가 결정해야 합니다. * Fade In/Out 효 [original] | # **학습 과정 소개** 맵 이동할 때 부드러운 화면 전환 연출 기능을 제공하는 **ScreenTransitionService**에 대해 알아봅시다. 한 맵에서 다른 맵으로 이동할 때 전환 효과를 사용하면 플레이어가 명확하게 맵이 달라졌음을 인지할 수 있게 됩니다. ### Fade In, Fade Out **Fade In과 Fade Out**은 맵 이동 시에 사용하는 연출입니다. 두 효과는 화면의 투명도를 조절해 점점 어두워지거나 밝아지다가 새로운 장면이 나타납니다. Fade In/Out 효과 재생과 재생 중단 시점에는 시작 [chunk_id] | Guides:1345:0

[task] | diverse_qa [title] | 리치 텍스트 사용하기 [category] | Guides [rephrased] | 질문: UI 리치 텍스트에서 정렬을 변경하는 태그는 무엇이며, 예시는 어떻게 되나요? 답변: 정렬을 변경하는 태그는 `align`이며, 예시는 `<align="center">`입니다. 질문: 영어 알파벳을 모두 대문자로 변환하는 태그는 무엇인가요? 답변: 영어 알파벳을 모두 대문자로 변환하는 태그는 `allcaps`와 `uppercase`입니다. 질문: 불투명도를 변경할 때 사용하는 태그와 예시를 들어주세요. 답변: 불투명도를 변경할 때 사용하는 태그는 `alpha`이며, 예시는 `<alpha=#80>`입니다. 질문: 굵은 글 [original] | | 태그 | 설명 | 예시 | | --- | --- | --- | | align | 정렬을 변경합니다. | `<align="center">` | | allcaps | 영어 알파벳을 모두 대문자로 변환합니다. | `<allcaps>` | | alpha | 불투명도를 변경합니다. | `<alpha=#80>` | | b | 굵은 글씨로 나타냅니다. | `<b>글자 입력</b>` | | br | 문장을 줄 바꿈합니다. | `첫 번째 문장 두 번째 문장` | | color | 색상을 결정합니다. 색상은 헥스 코드(#00000000) 형식으 [chunk_id] | Guides:1327:1

[task] | wikipedia [title] | 화면 전환 효과 재생하기 [category] | Guides [rephrased] | # 카메라 화면 전환 효과 재생하기 **ScreenTransitionService**는 맵 이동 시 부드러운 화면 전환 연출을 제공하는 서비스입니다. 한 맵에서 다른 맵으로 이동할 때 전환 효과를 적용하면, 플레이어가 맵이 변경되었음을 명확하게 인지할 수 있습니다. 이 서비스는 주로 Fade In, Fade Out, Dissolve 효과를 통해 시각적 전환을 구현합니다. ## Fade In과 Fade Out Fade In과 Fade Out은 맵 이동 시 화면의 투명도를 조절하여 화면이 점점 밝아지거나 어두워진 후 새로운 장면으 [original] | # **학습 과정 소개** 맵 이동할 때 부드러운 화면 전환 연출 기능을 제공하는 **ScreenTransitionService**에 대해 알아봅시다. 한 맵에서 다른 맵으로 이동할 때 전환 효과를 사용하면 플레이어가 명확하게 맵이 달라졌음을 인지할 수 있게 됩니다. ### Fade In, Fade Out **Fade In과 Fade Out**은 맵 이동 시에 사용하는 연출입니다. 두 효과는 화면의 투명도를 조절해 점점 어두워지거나 밝아지다가 새로운 장면이 나타납니다. Fade In/Out 효과 재생과 재생 중단 시점에는 시작 [chunk_id] | Guides:1345:0

[task] | diverse_qa [title] | 화면 전환 효과 재생하기 [category] | Guides [rephrased] | 질문: ScreenTransitionService는 어떤 기능을 제공하는 서비스인가요? 답변: 맵 이동할 때 부드러운 화면 전환 연출 기능을 제공하는 서비스입니다. 질문: Fade In 효과는 화면에 어떤 변화를 주는 연출인가요? 답변: 맵 이동 시 화면이 점점 밝아지다가 전환 효과가 사라지는 연출입니다. 질문: Fade Out 효과는 화면에 어떤 변화를 주는 연출인가요? 답변: 맵 이동 시 화면이 점점 어두워지다가 전환 효과가 사라지는 연출입니다. 질문: Fade In 효과 재생이 끝나기 전에 Fade Out이 시작되면 어떤 [original] | # **학습 과정 소개** 맵 이동할 때 부드러운 화면 전환 연출 기능을 제공하는 **ScreenTransitionService**에 대해 알아봅시다. 한 맵에서 다른 맵으로 이동할 때 전환 효과를 사용하면 플레이어가 명확하게 맵이 달라졌음을 인지할 수 있게 됩니다. ### Fade In, Fade Out **Fade In과 Fade Out**은 맵 이동 시에 사용하는 연출입니다. 두 효과는 화면의 투명도를 조절해 점점 어두워지거나 밝아지다가 새로운 장면이 나타납니다. Fade In/Out 효과 재생과 재생 중단 시점에는 시작 [chunk_id] | Guides:1345:0

[task] | distill [title] | 오버레이 라이트 제어하기 [category] | Guides [rephrased] | # 광원 오버레이 라이트 제어 `OverlayLightComponent`와 `OverlayLightService`를 사용해 월드에 광원을 생성하고 겹쳐 사용합니다. ## 활성화 및 확인 * **Scene**: `Overlay Light (Scene-Only)` 버튼 활성화 시 확인 가능. * **Play**: 월드 진입 시 `_OverlayLightService:SetOverlayLightEnabled(true)` 호출 필수. * **주의**: 광원이 1개 이상 존재해야 하며, 없으면 월드 전체가 암흑으로 보입니다. [original] | # 학습 과정 소개 Overlay Light를 사용하면 월드에 광원을 만들고, 여러 개의 광원을 겹쳐서 사용할 수 있습니다. **OverlayLightComponent, OverlayLightService**를 활용해 월드에서 다양한 모양의 광원을 만들 수 있습니다. # Overlay Light 확인하기 #### Scene에서 확인하기 **Overlay Light (Scene-Only)** 버튼을 활성화해 Scene에서 Overlay Light를 확인할 수 있습니다. #### Play에서 확인하기 월드에 처음 진입해 Ov [chunk_id] | Guides:1346:0

[task] | knowledge_list [title] | 오버레이 라이트 제어하기 [category] | Guides [rephrased] | 1. `OverlayLightService:SetOverlayLightEnabled(true)` 메서드를 호출해야 오버레이 라이트 기능이 활성화되며, 이 메서드는 `[client only]` 실행 공간에서만 사용 가능합니다. 2. `_SpawnService:SpawnByModelId(string modelId, string name, Vector3 position, Entity parent)` 메서드를 통해 `TransformComponent`만 가진 엔티티를 생성하고, 생성된 엔티티에 `AddComponent(OverlayLigh [original] | TransformComponent만 가진 엔티티를 생성해 맵에 배치하고, OverlayLightComponent를 활용해 광원을 생성하고, 제어해봅시다. #### 광원 생성하기 1. 새로운 모델을 만들고, **TransformComponent**를 추가합니다. 2. 월드에 진입하면 Spot 타입의 광원이 생성되도록 아래와 같이 작성합니다. ```lua Method: [client only] void OnBeginPlay() { -- Overlay Light를 활성화합니다. _OverlayLightService:Se [chunk_id] | Guides:1346:1

[task] | extract_knowledge [title] | Skeleton 리소스 활용하기 [category] | Guides [rephrased] | # Skeleton 리소스 활용 및 애니메이션 제어 ## 1. 개념 설명 메이플스토리 월드에서 **Skeleton** 리소스는 Spine 4.1 기반의 2D skeletal animation 데이터를 의미합니다. 이 리소스를 통해 엔티티(3D/2D 객체)나 UI 요소에 다양한 애니메이션을 적용할 수 있습니다. * **월드(3D/2D 공간) 사용 시**: `SkeletonRendererComponent` 컴포넌트를 사용합니다. * **UI 사용 시**: `SkeletonGUIRendererComponent` 컴포넌트를 사용 [original] | # 학습 과정 소개 크리에이터가 제작한 **Skeleton** 리소스를 사용해 메이플스토리 월드에서 다양한 애니메이션을 재생할 수 있습니다. # Skeleton 리소스 등록하기 **Spine 4.1**로 제작된 리소스만 메이플스토리 월드에 Skeleton 리소스로 추가 가능합니다. Resource Storage에 Skeleton을 추가하기 위해서는 한 폴더에 임포트하고자 하는 **png, atlas, skel** 파일이 있어야 하고, 그 외에 다른 파일이 포함되면 안 됩니다. ![[object Object]](https:// [chunk_id] | Guides:1343:0

[task] | extract_knowledge [title] | 화면 전환 효과 재생하기 [category] | Guides [rephrased] | # 카메라 화면 전환 효과: Dissolve ## 개념 설명 `Dissolve` 효과는 화면 전환 시 적용되는 시각적 연출 방식 중 하나입니다. `InputService`를 통해 사용자 입력(키보드)을 감지하여 `_ScreenTransitionService`의 `DissolveScreen` 메서드를 호출함으로써 실행됩니다. ## API 사용법 ### 1. 이벤트 핸들러 정의 `InputService`의 `KeyDownEvent`를 처리하여 특정 키 입력 시 전환 효과를 트리거합니다. * **서비스**: `_ScreenTr [original] | **Y** 키를 눌렀을 때 Dissolve 효과가 나타나도록 만들어 봅시다. ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: InputService -- Space: Client ------------------------------------------------------ [chunk_id] | Guides:1345:1

[task] | extract_knowledge [title] | 화면 전환 효과 재생하기 [category] | Guides [rephrased] | # ScreenTransitionService: 화면 전환 효과 맵 간 이동 시 플레이어의 인지 혼란을 줄이고 공간적 변화를 명확히 전달하기 위해 **ScreenTransitionService**를 사용합니다. 이 서비스는 화면의 투명도 조절(Fade)이나 픽셀 혼합(Dissolve)을 통해 부드러운 화면 전환을 구현합니다. ## 개념 설명 ### Fade In / Fade Out 화면의 밝기를 제어하는 효과입니다. - **Fade In**: 화면이 점점 밝아지며 새로운 맵이 나타나는 효과. - **Fade Out**: 화면이 [original] | # **학습 과정 소개** 맵 이동할 때 부드러운 화면 전환 연출 기능을 제공하는 **ScreenTransitionService**에 대해 알아봅시다. 한 맵에서 다른 맵으로 이동할 때 전환 효과를 사용하면 플레이어가 명확하게 맵이 달라졌음을 인지할 수 있게 됩니다. ### Fade In, Fade Out **Fade In과 Fade Out**은 맵 이동 시에 사용하는 연출입니다. 두 효과는 화면의 투명도를 조절해 점점 어두워지거나 밝아지다가 새로운 장면이 나타납니다. Fade In/Out 효과 재생과 재생 중단 시점에는 시작 [chunk_id] | Guides:1345:0

[task] | distill [title] | 오버레이 라이트 제어하기 [category] | Guides [rephrased] | # 광원 오버레이 라이트 제어하기 `OverlayLightComponent`(엔티티 기반)와 `OverlayLightService`(서비스 기반)를 통해 광원을 생성 및 제어합니다. ## 1. OverlayLightComponent (엔티티 기반) `TransformComponent`만 가진 모델을 스폰하고, 해당 엔티티에 `OverlayLightComponent`를 추가하여 광원을 생성합니다. ### 광원 생성 기본적으로 `Spot` 타입 광원이 생성됩니다. 활성화 후 엔티티 스폰 및 컴포넌트 추가 순서로 처리합니다. ` [original] | TransformComponent만 가진 엔티티를 생성해 맵에 배치하고, OverlayLightComponent를 활용해 광원을 생성하고, 제어해봅시다. #### 광원 생성하기 1. 새로운 모델을 만들고, **TransformComponent**를 추가합니다. 2. 월드에 진입하면 Spot 타입의 광원이 생성되도록 아래와 같이 작성합니다. ```lua Method: [client only] void OnBeginPlay() { -- Overlay Light를 활성화합니다. _OverlayLightService:Se [chunk_id] | Guides:1346:1

[task] | knowledge_list [title] | 오버레이 라이트 제어하기 [category] | Guides [rephrased] | - `_OverlayLightService:SetOverlayLightEnabled(boolean)` 메서드는 클라이언트 실행 공간에서 호출되며, 오버레이 라이트 시스템의 전체 활성 여부를 제어합니다. - `FreeformTypeOverlayLightInfo(Entity)` 생성자는 클라이언트 실행 공간에서 Freeform 타입의 오버레이 라이트 생성에 필요한 정보 객체를 생성하며, 인자로 대상 `Entity`를 받습니다. - `FreeformTypeOverlayLightInfo` 객체의 `FreeformPoints` 속성은 `Ve [original] | ```lua [client only] void OnBeginPlay() { _OverlayLightService:SetOverlayLightEnabled(true) -- 생성할 Freeform 타입 광원의 정보를 담을 객체를 생성합니다. local overlayLightInfo = FreeformTypeOverlayLightInfo(self.Entity) -- 광원 모양을 만들 점의 정보들을 입력합니다. local freeformPoints = table.create(4) [chunk_id] | Guides:1346:2

[task] | knowledge_list [title] | 오버레이 라이트 제어하기 [category] | Guides [rephrased] | ```lua -- 문서에 제공된 코드 예제는 다음과 같습니다. _OverlayLightService:SetOverlayLightEnabled(true) ``` * **Overlay Light**는 `OverlayLightComponent`와 `OverlayLightService`를 활용하여 월드에 광원을 생성하고, 여러 광원을 겹쳐 사용할 수 있는 기능입니다. * Scene에서 Overlay Light를 확인하려면 **Overlay Light (Scene-Only)** 버튼을 활성화해야 합니다. * Play 모드에서 O [original] | # 학습 과정 소개 Overlay Light를 사용하면 월드에 광원을 만들고, 여러 개의 광원을 겹쳐서 사용할 수 있습니다. **OverlayLightComponent, OverlayLightService**를 활용해 월드에서 다양한 모양의 광원을 만들 수 있습니다. # Overlay Light 확인하기 #### Scene에서 확인하기 **Overlay Light (Scene-Only)** 버튼을 활성화해 Scene에서 Overlay Light를 확인할 수 있습니다. #### Play에서 확인하기 월드에 처음 진입해 Ov [chunk_id] | Guides:1346:0

[task] | distill [title] | 오버레이 라이트 제어하기 [category] | Guides [rephrased] | # 광원 오버레이 라이트 제어하기 `_OverlayLightService`는 클라이언트에서만 사용 가능하며, 오버레이 라이트를 생성 및 제거합니다. ### 광원 생성 `SpawnFreeformTypeOverlayLight` 메서드를 통해 Freeform 타입 광원을 생성합니다. 1. **서비스 활성화**: `_OverlayLightService:SetOverlayLightEnabled(true)` 호출. 2. **정보 객체 생성**: `FreeformTypeOverlayLightInfo(self.Entity)`로 인스턴스 [original] | ```lua [client only] void OnBeginPlay() { _OverlayLightService:SetOverlayLightEnabled(true) -- 생성할 Freeform 타입 광원의 정보를 담을 객체를 생성합니다. local overlayLightInfo = FreeformTypeOverlayLightInfo(self.Entity) -- 광원 모양을 만들 점의 정보들을 입력합니다. local freeformPoints = table.create(4) [chunk_id] | Guides:1346:2

← → 방향키로 페이지 이동 · 숫자 입력 후 Enter로 점프