[task] | two_turn [pass] | ⏳ 미판정 [title] | UI 에디터 [question] | 기본 UI 엔티티에는 어떤 종류가 있으며 각각 어떤 컴포넌트로 구성되어 있나요? [answer] | 기본 UI 엔티티는 이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트의 5가지 종류로 구성됩니다. 각 엔티티의 기능과 포함된 컴포넌트는 다음과 같습니다. 1. **이미지** - **기능**: UI에 원하는 이미지를 출력하며, 주로 아이콘 표시를 위해 사용합니다. - **포함된 컴포넌트**: `UITransformComponent`, `SpriteGUIRendererComponent` 2. **버튼** - **기능**: 클릭 또는 터치 시 특정 액션이나 기능을 수행하도록 합니다. - **포함된 컴포넌트**: [followup] | 스크롤뷰(ScrollLayoutGroupComponent)를 사용할 때, 리스트 형태와 그리드 형태 중 하나를 선택하는 구체적인 설정 방법이나 예외가 있나요? [followup_answer] | 제공된 참고 문서에는 스크롤뷰가 리스트 형태 또는 그리드 형태로 정보를 정렬할 수 있다는 기능 설명만 포함되어 있으며, 두 형태 중 하나를 선택하는 구체적인 설정 방법이나 예외에 대한 정보는 없습니다. 따라서 제공된 문서만으로는 리스트와 그리드 형태를 전환하는 구체적인 API나 설정 방법을 답변할 수 없습니다. [scores] | [judge_reason] | [source_doc] | 기본 UI 엔티티는 UI 제작 시 가장 많이 사용하는 기능을 제공합니다. **이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트**로 구성되어 있습니다. 크리에이터는 여러 개의 UI 엔티티를 조합해 새로운 UI를 만들 수도 있습니다. [기본 UI 컴포넌트](/docs?postId=744) 가이드를 참고하세요. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17132470861160af59286c47f4cdfb9012301dfc3d0c1.png "4") | 아이콘 | UI
[task] | code [pass] | ⏳ 미판정 [title] | CameraService를 활용한 카메라 제어 [question] | CameraService를 활용해 OnUpdate에서 카메라 위치를 매 프레임 이동시킨 후 5초 대기하여 원위치로 복귀하는 스크립트를 작성해줘 [answer] | ## CameraService를 이용한 카메라 위치 이동 및 복귀 스크립트 `CameraService` API 문서에는 `SwitchCameraTo` 메서드를 통해 카메라의 타깃을 다른 엔티티의 `CameraComponent`로 변경하는 방법을 제공하고 있습니다. 그러나 **카메라의 위치(Position)나 회전(Rotation) 값을 직접 매 프레임 이동시키는 메서드(예: `MoveCameraTo`, `SetCameraPosition` 등)는 제공된 문서에 없습니다.** 따라서, `CameraService`를 사용하여 카메라의 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 게임을 만들다 보면 카메라가 비추는 대상을 변경하거나 확대, 축소를 이용해 연출해야 할 때가 있습니다. 이번 과정에서는 [CameraService](/apiReference/Services/CameraService)를 통해 타깃 카메라를 제어하는 방법과 카메라 연출 효과에 대해 알아보도록 합니다. ##### 참고 가이드 [엔티티와 컴포넌트 참조](docs?postId=164%7B%22target%22:%22\_self%22%7D) [엔티티의 충돌을 감지하는 TriggerComponent](/docs?post
[task] | code [pass] | ⏳ 미판정 [title] | CameraService를 활용한 카메라 제어 [question] | `HandleTriggerEnterEvent` 내에서 `_CameraService`의 `TransitionBlendTime` 프로퍼티에 3.0을 할당하고, `_EntityService`를 통해 `/maps/map01/npc-13` 경로로 엔티티를 가져와 `CameraComponent`를 넘겨 `SwitchCameraTo`를 실행하는 스크립트를 작성해줘. [answer] | 요청하신 동작을 수행하는 스크립트는 다음과 같습니다. 트리거에 진입하면 카메라 전환 시간을 3.0초로 설정하고, 지정된 경로의 NPC 엔티티를 가져와 해당 엔티티의 `CameraComponent`를 타깃으로 카메라를 전환합니다. ```lua Event Handler: [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: TriggerCompon [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **TransitionBlendTime**은 **CameraService**에서 제공하는 프로퍼티로 카메라가 목표 피사체로 이동하는데 걸리는 시간을 정할 수 있습니다. **TransitionBlendTime** 시간을 `SwitchCameraTo()` 함수 호출 이전에 설정하면, 설정 시간에 걸쳐 카메라가 목표 피사체로 이동하는 것을 볼 수 있습니다. 따라서 `SwitchCameraTo()` 함수를 호출하기 전에 **TransitionBlendTime에 시간을 설정**하면, **TransitionBlendTime**의 설정 시간 동
[task] | single_turn [pass] | ⏳ 미판정 [title] | CameraService를 활용한 카메라 제어 [question] | 캐릭터가 트리거에 닿는 순간 카메라가 즉시 확대되는 것이 아니라 5초에 걸쳐 점진적으로 확대되는 효과를 주려면 어떤 코드를 작성해야 하나요? [answer] | 캐릭터가 트리거 영역에 들어가는 순간 카메라가 5초에 걸쳐 점진적으로 확대되도록 하려면, `HandleTriggerEnterEvent` 이벤트 핸들러 안에서 `_CameraService:ZoomTo()` 함수를 호출하면 됩니다. `ZoomTo(percent, duration)` 함수의 첫 번째 매개변수 `percent`는 목표 줌 비율(%)이고, 두 번째 매개변수 `duration`은 해당 비율에 도달하는 데 걸리는 시간(초)입니다. 현재 줌 값보다 큰 `percent`를 전달하면 줌 인(확대)이 수행됩니다. 아래는 캐릭터가 트 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 게임 플레이 중에 카메라 줌 인과 줌 아웃을 제어하는 방법에 대해 알아보겠습니다. 위에서 작성한 코드는 필요하지 않기 때문에 모두 지우고, 아래와 같은 상태에서 시작합니다. ```lua [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: TriggerComponent -- Space: Server, Client ----------
[task] | instruction_following [pass] | ⏳ 미판정 [title] | UI 에디터 [question] | UI Preset이 배치될 때 MyDesk에 추가되는 대상과 배치 후 크리에이터가 수행할 수 있는 작업을 3문장 이내로 요약해서 설명하세요. [answer] | UI Preset을 배치하면 해당 프리셋에 포함된 컴포넌트가 MyDesk에 추가됩니다. 배치 후 크리에이터는 제작 중인 월드의 목적에 맞게 UI와 스크립트를 수정할 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 기본 UI 엔티티는 UI 제작 시 가장 많이 사용하는 기능을 제공합니다. **이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트**로 구성되어 있습니다. 크리에이터는 여러 개의 UI 엔티티를 조합해 새로운 UI를 만들 수도 있습니다. [기본 UI 컴포넌트](/docs?postId=744) 가이드를 참고하세요. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17132470861160af59286c47f4cdfb9012301dfc3d0c1.png "4") | 아이콘 | UI
[task] | single_turn [pass] | ⏳ 미판정 [title] | Workspace [question] | DefaultPlayer 폴더 안에 있는 Player 정보는 실제 월드에서 생성되는 플레이어 아바타와 어떻게 다른가요? [answer] | DefaultPlayer 폴더 안의 Player 정보는 실제 월드에서 생성되는 플레이어 아바타 엔티티와 다음과 같이 다릅니다. 1. **성격의 차이**: DefaultPlayer는 NativeModel에 있는 Player의 정보를 **참조**하는 역할만 합니다. 반면, 실제 플레이어 아바타는 월드가 시작될 때 스타트 포인트에 **실제로 생성**되는 엔티티입니다. 2. **소속 위치의 차이**: 실제 생성된 플레이어 아바타 엔티티는 **World** 안에 속합니다. DefaultPlayer는 Workspace의 리소스 관리 공간 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Workspace**를 이용해 엔티티, 스크립트, 이미지를 효율적으로 관리할 수 있습니다. ##### 참고 가이드 [Entity, Component, Property](/docs?postId=54) [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에
[task] | instruction_following [pass] | ⏳ 미판정 [title] | UI 에디터 [question] | '입력 텍스트' UI 모델에 포함된 컴포넌트 목록을 단계별 번호 목록으로 나열하되, 각 항목은 컴포넌트 이름만 표기하세요. [answer] | '입력 텍스트' UI 모델에 포함된 컴포넌트는 다음과 같습니다. 1. UITransformComponent 2. SpriteGUIRendererComponent 3. TextComponent 4. TextInputComponent [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 기본 UI 엔티티는 UI 제작 시 가장 많이 사용하는 기능을 제공합니다. **이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트**로 구성되어 있습니다. 크리에이터는 여러 개의 UI 엔티티를 조합해 새로운 UI를 만들 수도 있습니다. [기본 UI 컴포넌트](/docs?postId=744) 가이드를 참고하세요. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17132470861160af59286c47f4cdfb9012301dfc3d0c1.png "4") | 아이콘 | UI
[task] | single_turn [pass] | ⏳ 미판정 [title] | Workspace [question] | Workspace 검색창에서 특정 모델이 안 나올 때 원인이 될 수 있는 조건은 무엇인가요? [answer] | Workspace 검색창에서 특정 모델이 검색되지 않을 수 있는 원인은 다음과 같습니다. 1. **검색 기준이 이름으로만 한정되어 있음**: Workspace 검색은 리소스 또는 모델의 **이름(name)** 을 기준으로만 작동합니다. 이름에 검색어가 포함되어 있지 않으면 결과가 나타나지 않습니다. 2. **검색 범위 제한**: 검색 범위는 **Workspace 전체**이지만, 해당 리소스가 실제로 Workspace(특히 `MyDesk`나 `BaseEnvironment`) 내에 존재하지 않으면 검색되지 않습니다. 3. **리소스 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Workspace**를 이용해 엔티티, 스크립트, 이미지를 효율적으로 관리할 수 있습니다. ##### 참고 가이드 [Entity, Component, Property](/docs?postId=54) [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에
[task] | two_turn [pass] | ⏳ 미판정 [title] | 스프라이트 색상 조정 [question] | 스프라이트(Sprite)와 웹 스프라이트(Web Sprite)를 배치하고 리소스를 적용하기 위해 각각 어떤 모델과 프로퍼티(SpriteRUID, Url)를 사용해야 하나요? [answer] | 스프라이트(Sprite)와 웹 스프라이트(Web Sprite)를 배치하고 리소스를 적용하는 방법은 다음과 같습니다. **1. 스프라이트(Sprite) 배치 및 리소스 적용** * **모델**: `Workspace`에서 `NativeModel` > `MapObject` 모델을 선택하여 배치합니다. * **프로퍼티**: 배치한 엔티티의 `SpriteRendererComponent`를 사용합니다. * 리소스를 적용하려면 `SpriteRendererComponent`의 **`SpriteRUID`** 프로퍼티에 사용할 스 [followup] | 메이플스토리 월드 리소스의 RUID를 복사해 SpriteRendererComponent의 SpriteRUID 프로퍼티에 입력하는 절차와, 외부 이미지 URL을 WebSpriteComponent의 Url에 입력하는 절차를 비교하여 설명해 주세요. [followup_answer] | 메이플스토리 월드 리소스의 RUID를 사용하는 스프라이트(Sprite)와 외부 이미지 URL을 사용하는 웹 스프라이트(Web Sprite)의 배치 및 리소스 적용 절차는 다음과 같이 비교할 수 있습니다. **1. 메이플스토리 월드 리소스(RUID)를 사용하는 스프라이트(Sprite) 절차** * **모델 배치**: `Workspace`에서 `NativeModel` > `MapObject` 모델을 선택하여 Scene에 배치합니다. * **리소스 준비**: 리소스 검색창에서 원하는 리소스를 검색하여 고유 ID인 RUID 값을 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 스프라이트를 간단하게 여러 색상으로 변경할 수 있습니다. 스프라이트와 웹스프라이트의 차이점과 스프라이트 색상 변경 방법을 알아보겠습니다. # 스프라이트 2D 이미지를 스프라이트(Sprite)라 칭합니다. 스프라이트는 위치, 크기, 회전 등을 변경할 수 있습니다. 스프라이트마다 고유한 RUID 값을 갖고 있습니다. RUID 값을 이용해 간편하게 빈 모델에 스프라이트를 넣거나, 변경할 수 있습니다. 크리에이터가 직접 제작한 이미지 파일을 메이커에 업로드하면 RUID 또한 자동으로 발급됩니다. > Tip. >
[task] | single_turn [pass] | ⏳ 미판정 [title] | Workspace [question] | WorldConfig의 PlayerEntityAuthorityCheck를 활성화하면 스크립트 실행에 어떤 보안적 변화가 생길까요? [answer] | `PlayerEntityAuthorityCheck` 설정을 활성화하면, 플레이어 엔티티에 속해 있는 컴포넌트(Component)들의 **Server 함수**에 대한 호출 권한이 제한됩니다. 구체적으로 다음과 같은 보안적 변화가 발생합니다: 1. **호출 주체 제한**: 해당 플레이어 엔티티에 속한 컴포넌트의 Server 함수는 **해당 플레이어의 로컬 클라이언트(LOCAL CLIENT)에서만 호출**할 수 있게 됩니다. 2. **타 클라이언트 차단**: 다른 플레이어의 클라이언트나 서버 측에서 해당 플레이어의 컴포넌트 Ser [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Workspace**를 이용해 엔티티, 스크립트, 이미지를 효율적으로 관리할 수 있습니다. ##### 참고 가이드 [Entity, Component, Property](/docs?postId=54) [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에
[task] | instruction_following [pass] | ⏳ 미판정 [title] | UI 에디터 [question] | 문서에 명시된 기본 UI 엔티티 5가지(이미지, 버튼, 스크롤뷰, 텍스트, 입력 텍스트)를 'UI 모델 이름'과 '포함된 컴포넌트' 두 가지 열로만 구성된 표로 정리해서 출력하세요. [answer] | | UI 모델 이름 | 포함된 컴포넌트 | | --- | --- | | 이미지 | UITransformComponent, SpriteGUIRendererComponent | | 버튼 | UITransformComponent, SpriteGUIRendererComponent, ButtonComponent | | 스크롤뷰 | UITransformComponent, SpriteGUIRendererComponent, ScrollLayoutGroupComponent | | 텍스트 | UITransformComponent, SpriteGUIR [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 기본 UI 엔티티는 UI 제작 시 가장 많이 사용하는 기능을 제공합니다. **이미지, 버튼, 스크롤 뷰, 텍스트, 입력 텍스트**로 구성되어 있습니다. 크리에이터는 여러 개의 UI 엔티티를 조합해 새로운 UI를 만들 수도 있습니다. [기본 UI 컴포넌트](/docs?postId=744) 가이드를 참고하세요. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17132470861160af59286c47f4cdfb9012301dfc3d0c1.png "4") | 아이콘 | UI
[task] | single_turn [pass] | ⏳ 미판정 [title] | CameraService를 활용한 카메라 제어 [question] | TransitionBlendTime 값이 0일 때와 1.0일 때 카메라 전환 방식에 어떤 차이가 있으며, 부드러운 전환을 위해 이 값을 어떻게 설정해야 하나요? [answer] | 참고 문서에 `TransitionBlendTime`이 0일 때와 1.0일 때의 구체적인 동작 차이(예: 즉시 전환 여부 등)에 대한 설명은 포함되어 있지 않습니다. 문서에는 이 값이 "카메라가 다른 타깃으로 전환되는 시간"을 설정하는 용도임을 명시하고 있으며, 예제 코드에서는 `1`로 설정하여 전환 시간을 지정하는 방법을 보여줄 뿐, 0과 1.0의 비교 분석은 제공하지 않습니다. 부드러운 전환을 위해 이 값을 어떻게 설정해야 하는지에 대한 구체적인 가이드라인(예: "0.5초 이상으로 설정하세요" 등) 또한 문서에 명시되어 있지 않 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 사전 설정을 마쳤으니 본격적으로 **CameraService**의 기능에 대해 알아보겠습니다. 먼저 카메라의 타깃 설정 방법을 알아봅시다. ##### void SwitchCameraTo(CameraComponent cameraToSwitch) 게임을 플레이하면 카메라는 기본적으로 플레이어를 피사체(타깃)로 삼아 계속 플레이어를 따라다니며 화면에 비춥니다.그러나 게임 장르 특성 때문에 혹은 게임의 특별한 연출을 위해서 카메라의 피사체(타깃)를 변경하고 싶을 때 CameraService의 `SwitchCameraTo()` 함수를 활
[task] | single_turn [pass] | ⏳ 미판정 [title] | Workspace [question] | MyDesk와 BaseEnvironment 폴더의 차이점이 뭔가요? [answer] | Workspace의 상위 폴더인 `BaseEnvironment`와 `MyDesk`는 리소스의 출처와 용도에서 명확한 차이가 있습니다. **BaseEnvironment** * 메이커(MapleStory Worlds Maker)에서 기본적으로 제공하는 리소스가 저장된 폴더입니다. * 기본 Component, Service, Logic, Event 등이 포함되어 있습니다. * 크리에이터가 직접 추가한 것이 아니라 시스템에서 미리 준비해 둔 것들이므로, 주로 참조나 기반이 되는 용도로 사용됩니다. **MyDesk** * [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Workspace**를 이용해 엔티티, 스크립트, 이미지를 효율적으로 관리할 수 있습니다. ##### 참고 가이드 [Entity, Component, Property](/docs?postId=54) [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에
[task] | single_turn [pass] | ⏳ 미판정 [title] | CameraService를 활용한 카메라 제어 [question] | 기본적으로 플레이어를 따라다니는 카메라에서 특정 연출 구간만 NPC를 바라보게 하고, 연출이 끝나면 다시 원래의 플레이어 타깃으로 복귀시키는 방법은 무엇인가요? [answer] | 기본적으로 카메라는 플레이어를 타깃으로 삼아 따라다니지만, 특정 연출 구간에서만 NPC를 바라보고 이후 다시 플레이어 타깃으로 복귀하려면 `CameraService`의 `SwitchCameraTo()` 함수와 `TimerService`를 조합하여 사용하면 됩니다. 구현 방법은 다음과 같습니다. 1. **타깃 변경**: 트리거 영역에 들어왔을 때(`TriggerEnterEvent`), `_EntityService:GetEntityByPath()`로 NPC 엔티티를 조회한 뒤, `_CameraService:SwitchCameraT [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 사전 설정을 마쳤으니 본격적으로 **CameraService**의 기능에 대해 알아보겠습니다. 먼저 카메라의 타깃 설정 방법을 알아봅시다. ##### void SwitchCameraTo(CameraComponent cameraToSwitch) 게임을 플레이하면 카메라는 기본적으로 플레이어를 피사체(타깃)로 삼아 계속 플레이어를 따라다니며 화면에 비춥니다.그러나 게임 장르 특성 때문에 혹은 게임의 특별한 연출을 위해서 카메라의 피사체(타깃)를 변경하고 싶을 때 CameraService의 `SwitchCameraTo()` 함수를 활
[task] | two_turn [pass] | ⏳ 미판정 [title] | CameraService를 활용한 카메라 제어 [question] | ZoomTo 함수를 사용하여 특정 시간 동안 카메라 줌을 변경하는 예시 코드를 작성해 주세요. [answer] | `_CameraService:ZoomTo(percent, duration)` 함수를 사용하면 특정 시간 동안 카메라 줌을 변경할 수 있습니다. * **percent**: 변경할 줌 값(퍼센트). 현재 값보다 크면 줌 인(확대), 작으면 줌 아웃(축소)됩니다. * **duration**: 목표 줌 값에 도달하기까지 걸리는 시간(초). 아래는 트리거에 진입할 때 5초 동안 카메라를 150%로 확대하는 예시 코드입니다. ```lua Event Handler: [self] HandleTriggerEnterEvent (Trigg [followup] | 5초 동안 캐릭터를 150%로 확대하는 예시 코드에서 _CameraService:ZoomTo(150, 5) 호출 시 어떤 결과가 나타나며, 이 코드를 TriggerEnterEvent 핸들러에 어떻게 적용하나요? [followup_answer] | `_CameraService:ZoomTo(150, 5)`를 호출하면 카메라가 캐릭터(타깃)을 중심으로 5초 동안 점점 확대(줌 인)되는 결과가 나타납니다. 이 코드를 `TriggerEnterEvent` 핸들러에 적용하는 방법은 다음과 같습니다. 트리거에 진입할 때 해당 함수를 호출하도록 이벤트 핸들러 본문에 추가합니다. ```lua Event Handler: [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Send [scores] | [judge_reason] | [source_doc] | 게임 플레이 중에 카메라 줌 인과 줌 아웃을 제어하는 방법에 대해 알아보겠습니다. 위에서 작성한 코드는 필요하지 않기 때문에 모두 지우고, 아래와 같은 상태에서 시작합니다. ```lua [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: TriggerComponent -- Space: Server, Client ----------
[task] | code [pass] | ⏳ 미판정 [title] | 말풍선 만들기 [question] | ChatBalloonComponent의 AutoShowEnabled를 true로 설정하고 ShowDuration은 2초, HideDuration은 1초로 지정하여 말풍선이 주기적으로 깜빡이는 효과를 내도록 하는 스크립트를 작성해줘 [answer] | 참고 문서의 `ChatBalloonComponent` 프로퍼티 설명에 따르면, `AutoShowEnabled`가 `true`일 경우 `ShowDuration` 동안 말풍선이 보이고 `HideDuration` 동안 말풍선이 사라지는 동작을 반복합니다. 따라서 요청하신 주기적 깜빡임 효과를 위해 해당 프로퍼티 값만 설정하면 됩니다. ```lua Method: [server only] void OnBeginPlay () { local chatBalloon = self.Entity.ChatBalloonComponent if [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 엔티티와 플레이어 아바타에 말풍선을 간단하게 붙일 수 있습니다. ChatBalloonComponent 사용 방법과 활용 예시를 소개합니다. # 말풍선 붙이기 1. 말풍선을 붙일 엔티티를 선택하고 **ChatBalloonComponent**를 추가합니다. 2. 프로퍼티 값을 변경해 원하는 말풍선을 만듭니다. 주요 프로퍼티 값은 다음과 같습니다. | 프로퍼티 명 | 설명 | | --- | --- | | ChatBalloonRUID | 다양한 말풍선 스프라이트를 이용할 수 있습니다. | | BalloonSca
[task] | single_turn [pass] | ⏳ 미판정 [title] | UI 에디터 [question] | UI Groups 패널에서 그룹 이름을 변경하면 Hierarchy에도 바로 반영된다고 하는데, 반대로 Hierarchy에서 이름을 바꿨을 때 UI Groups 패널에도 동시 수정이 되나요? [answer] | 제공된 문서에는 UI Groups 패널에서 이름을 변경하면 Hierarchy에도 반영된다는 내용만 명시되어 있습니다. 반대로 Hierarchy에서 이름을 변경했을 때 UI Groups 패널에도 동시에 수정되는지에 대한 정보는 문서에 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 UI를 편집할 수 있는 UI 에디터와 UI Group에 대해 알아봅시다. ##### 참고 가이드 * [UI 엔티티 제어하기](/docs?postId=1154&version=1) * [기본 UI 컴포넌트](/docs?postId=744) * [UI 제작하기](/docs?postId=64) # UI 에디터 소개 UI 에디터는 UI 엔티티를 구성하고, 메이플스토리 월드에서 제공하는 UI 엔티티를 조합해서 인벤토리나 상점 UI를 제작할 수 있습니다. UI 에디터 구성은 다음과 같습니다. | 번호 | 이름 |
[task] | code [pass] | ⏳ 미판정 [title] | 말풍선 만들기 [question] | ChatBalloonComponent의 Message를 "안녕하세요!"로 설정하고 ShowDuration을 3초로 지정하여 OnBeginPlay 시점에 한 번만 표시되도록 하는 스크립트를 작성해줘 [answer] | ChatBalloonComponent의 `Message`를 "안녕하세요!"로 설정하고, `ShowDuration`을 3초로 지정하여 `OnBeginPlay` 시점에 한 번만 표시되도록 하려면 `AutoShowEnabled`를 `false`로 유지해야 합니다. `AutoShowEnabled`가 `true`일 경우 `ShowDuration`과 `HideDuration`을 반복적으로 적용하기 때문입니다. 또한, `Message`가 비어 있으면 말풍선이 표시되지 않으므로 반드시 문구를 설정해야 합니다. ```lua Method: [se [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 엔티티와 플레이어 아바타에 말풍선을 간단하게 붙일 수 있습니다. ChatBalloonComponent 사용 방법과 활용 예시를 소개합니다. # 말풍선 붙이기 1. 말풍선을 붙일 엔티티를 선택하고 **ChatBalloonComponent**를 추가합니다. 2. 프로퍼티 값을 변경해 원하는 말풍선을 만듭니다. 주요 프로퍼티 값은 다음과 같습니다. | 프로퍼티 명 | 설명 | | --- | --- | | ChatBalloonRUID | 다양한 말풍선 스프라이트를 이용할 수 있습니다. | | BalloonSca
[task] | instruction_following [pass] | ⏳ 미판정 [title] | Workspace [question] | BaseEnvironment에서 '잠겨 있는 폴더'와 관련된 제약 사항을 1문장 이내로 서술하세요. [answer] | 잠겨 있는 폴더에서는 콘텍스트 메뉴가 열리지 않습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | | 목록 | 설명 | | --- | --- | | Duplicate | DefaultPlayer를 복제한 모델을 생성합니다. | | Open | Player의 상태 혹은 변경 점을 확인하기 위해 사용합니다.| | Add Component | DefaultPlayer에 컴포넌트를 추가합니다. | | Add New Component | 새로운 컴포넌트를 생성한 후 DefaultPlayer에 추가합니다. | | Extend | DefaultPlayer의 확장 모델을 생성합니다. | | Copy Entry ID | DefaultPlayer
[task] | code [pass] | ⏳ 미판정 [title] | 말풍선 만들기 [question] | ChatBalloonComponent의 FontSize를 2.0으로 설정하고 FontColor를 #FF0000으로 변경하여 빨간색으로 큰 글씨체가 보이도록 하는 스크립트를 작성해줘 [answer] | `ChatBalloonComponent`의 `FontSize` 프로퍼티를 `2.0`으로, `FontColor` 프로퍼티를 `#FF0000`으로 설정하면 말풍선의 글자가 빨간색으로 크게 표시됩니다. 아래 스크립트는 엔티티에 `ChatBalloonComponent`가 없으면 추가하고, 해당 프로퍼티 값을 원하는 대로 설정하는 예시입니다. ```lua Method: [server only] void OnBeginPlay() { local chatBalloon = self.Entity.ChatBalloonComponent [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 엔티티와 플레이어 아바타에 말풍선을 간단하게 붙일 수 있습니다. ChatBalloonComponent 사용 방법과 활용 예시를 소개합니다. # 말풍선 붙이기 1. 말풍선을 붙일 엔티티를 선택하고 **ChatBalloonComponent**를 추가합니다. 2. 프로퍼티 값을 변경해 원하는 말풍선을 만듭니다. 주요 프로퍼티 값은 다음과 같습니다. | 프로퍼티 명 | 설명 | | --- | --- | | ChatBalloonRUID | 다양한 말풍선 스프라이트를 이용할 수 있습니다. | | BalloonSca
[task] | two_turn [pass] | ⏳ 미판정 [title] | 스프라이트 색상 조정 [question] | SpriteRendererComponent와 WebSpriteComponent의 Color 프로퍼티를 통해 스프라이트의 색상, 명도, 채도, 투명도를 어떻게 조정할 수 있나요? [answer] | SpriteRendererComponent와 WebSpriteComponent의 `Color` 프로퍼티는 스프라이트 이미지의 색, 명도, 채도, 그리고 투명도를 조정하는 데 사용됩니다. `Color` 프로퍼티는 `Color(r, g, b, a)` 함수를 통해 값을 설정하며, 각 파라미터는 0.0부터 1.0 사이의 값을 가집니다. * **r (Red), g (Green), b (Blue)**: 색상을 결정합니다. 값이 1.0에 가까울수록 해당 색의 강도가 높아지고, 0.0에 가까울수록 해당 색이 제거됩니다. 이를 통해 명도와 채 [followup] | 헥스코드(HexCode) 값을 직접 입력해 특정 색상(예: ff53a1)으로 변경하는 구체적인 방법과, 투명도를 0-100 사이에서 조정할 때의 효과는 무엇인가요? [followup_answer] | 헥스코드(HexCode) 값을 직접 입력하여 스프라이트 색상을 변경하는 구체적인 방법과 투명도 조정 효과는 다음과 같습니다. ### 1. 헥스코드(HexCode)로 색상 변경하기 프로퍼티 에디터의 색상 조정 패널에서 **헥스코드(HexCode)** 입력란에 원하는 16진수 색상 코드를 직접 입력하면 해당 색상으로 스프라이트가 변경됩니다. * **방법**: 색상 패널의 헥스코드 입력란에 `ff53a1`과 같은 값을 입력합니다. * **효과**: 입력된 헥스코드 값에 해당하는 색상(예: `ff53a1`인 경우 분홍색 계열) [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 스프라이트를 간단하게 여러 색상으로 변경할 수 있습니다. 스프라이트와 웹스프라이트의 차이점과 스프라이트 색상 변경 방법을 알아보겠습니다. # 스프라이트 2D 이미지를 스프라이트(Sprite)라 칭합니다. 스프라이트는 위치, 크기, 회전 등을 변경할 수 있습니다. 스프라이트마다 고유한 RUID 값을 갖고 있습니다. RUID 값을 이용해 간편하게 빈 모델에 스프라이트를 넣거나, 변경할 수 있습니다. 크리에이터가 직접 제작한 이미지 파일을 메이커에 업로드하면 RUID 또한 자동으로 발급됩니다. > Tip. >
[task] | single_turn [pass] | ⏳ 미판정 [title] | CameraService를 활용한 카메라 제어 [question] | ZoomTo 함수의 Percent 매개변수에 150을 넘기면 화면이 확대되는 이유와 50을 넘기면 축소되는 원리가 어떻게 작동하나요? [answer] | `ZoomTo(number percent, number duration)` 함수에서 `percent` 값이 화면 확대(줌 인)와 축소(줌 아웃)를 결정하는 방식은 현재 카메라의 줌 값과 비교하는 것입니다. * **150을 넘길 경우 (확대):** 현재 카메라의 줌 값보다 **큰 값**이 넘어오면 카메라가 타깃(보통 플레이어 캐릭터)을 중심으로 화면을 **확대**합니다. 즉, 시야가 좁아지고 대상이 더 크게 보입니다. * **50을 넘길 경우 (축소):** 현재 카메라의 줌 값보다 **작은 값**이 넘어오면 카메라가 화면을 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 게임 플레이 중에 카메라 줌 인과 줌 아웃을 제어하는 방법에 대해 알아보겠습니다. 위에서 작성한 코드는 필요하지 않기 때문에 모두 지우고, 아래와 같은 상태에서 시작합니다. ```lua [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: TriggerComponent -- Space: Server, Client ----------
[task] | instruction_following [pass] | ⏳ 미판정 [title] | Workspace [question] | MyDesk의 'Create Scripts' 하위 목록에 포함된 8가지 생성 항목을 단계별 번호 목록으로 나열하세요. [answer] | MyDesk의 'Create Scripts' 하위 목록에 포함된 8가지 생성 항목은 다음과 같습니다. 1. Create Component 2. Create EventType 3. Create ItemType 4. Create BTNodeType 5. Create StateType 6. Create StructType 7. Create Logic 8. Create Script [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | | 목록 | 설명 | | --- | --- | | Duplicate | DefaultPlayer를 복제한 모델을 생성합니다. | | Open | Player의 상태 혹은 변경 점을 확인하기 위해 사용합니다.| | Add Component | DefaultPlayer에 컴포넌트를 추가합니다. | | Add New Component | 새로운 컴포넌트를 생성한 후 DefaultPlayer에 추가합니다. | | Extend | DefaultPlayer의 확장 모델을 생성합니다. | | Copy Entry ID | DefaultPlayer
[task] | single_turn [pass] | ⏳ 미판정 [title] | CameraService를 활용한 카메라 제어 [question] | ZoomTo 메서드와 ZoomReset 메서드 중 특정 줌 값으로 이동한 후 초기 상태로 되돌리려면 어떤 순서로 호출해야 하나요? [answer] | 특정 줌 값으로 이동한 후 초기 상태로 되돌리려면 먼저 `_CameraService:ZoomTo(percent, duration)` 를 호출하여 원하는 줌 값으로 변경하고, 그 다음 `_CameraService:ZoomReset()` 을 호출해야 합니다. 즉, 호출 순서는 다음과 같습니다: 1. **`ZoomTo` 호출**: 원하는 퍼센트 값과 도달까지 걸리는 시간(초)을 인자로 전달하여 카메라 줌 인/아웃을 수행합니다. 2. **`ZoomReset` 호출**: 줌 작업이 완료된 시점에 카메라를 초기 상태로 되돌립니다. 두 메 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 게임 플레이 중에 카메라 줌 인과 줌 아웃을 제어하는 방법에 대해 알아보겠습니다. 위에서 작성한 코드는 필요하지 않기 때문에 모두 지우고, 아래와 같은 상태에서 시작합니다. ```lua [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: TriggerComponent -- Space: Server, Client ----------
[task] | two_turn [pass] | ⏳ 미판정 [title] | 스프라이트 색상 조정 [question] | 게임 분위기(예: 어둠에 묻힌 세계)에 맞춰 모든 엔티티의 명도를 조정하여 어두컴컴한 느낌을 주고 싶을 때, 스프라이트 색상 조정을 어떻게 활용할 수 있나요? [answer] | 어둠에 묻힌 세계와 같은 어두컴컴한 분위기를 연출하려면 스프라이트의 `Color` 프로퍼티를 활용하여 명도(밝기)와 채도를 낮추고, 필요에 따라 투명도를 조정하면 됩니다. `SpriteRendererComponent` 또는 `WebSpriteComponent`의 `Color` 프로퍼티는 `Color(r, g, b, a)` 형식으로 값을 설정할 수 있으며, 각 값은 0.0부터 1.0 사이의 부동소수점 숫자를 사용합니다. 1. **명도 조정 (R, G, B 값 감소)**: - 원래 흰색(1.0, 1.0, 1.0, 1.0)인 경 [followup] | Color 프로퍼티에서 명도(HSV/RGB 등 색 공간) 값을 어떻게 조절해야 기존 스프라이트의 색상을 유지하면서 전체적으로 어두운 분위기로 변경할 수 있는지 구체적인 예시를 들어 설명해 주세요. [followup_answer] | 참고 문서에 따르면, `SpriteRendererComponent`와 `WebSpriteComponent`의 `Color` 프로퍼티를 통해 이미지의 색, 명도, 채도, 투명도를 조정할 수 있습니다. 문서의 색상 조정 인터페이스 설명에는 "HSV, RGB, Lab 색 공간에 맞는 값을 입력해 원하는 색을 찾을 수 있다"고 명시되어 있습니다. 기존 스프라이트 색상을 유지하면서 전체적으로 어두운 분위기를 만들기 위해서는 **명도(Value/Lightness) 값을 낮추는** 것이 핵심입니다. 이를 위해 RGB 값을 균등하게 감소시키거나 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 스프라이트를 간단하게 여러 색상으로 변경할 수 있습니다. 스프라이트와 웹스프라이트의 차이점과 스프라이트 색상 변경 방법을 알아보겠습니다. # 스프라이트 2D 이미지를 스프라이트(Sprite)라 칭합니다. 스프라이트는 위치, 크기, 회전 등을 변경할 수 있습니다. 스프라이트마다 고유한 RUID 값을 갖고 있습니다. RUID 값을 이용해 간편하게 빈 모델에 스프라이트를 넣거나, 변경할 수 있습니다. 크리에이터가 직접 제작한 이미지 파일을 메이커에 업로드하면 RUID 또한 자동으로 발급됩니다. > Tip. >
[task] | two_turn [pass] | ⏳ 미판정 [title] | UI 에디터 [question] | UI 에디터의 캔버스에 배치된 UI 엔티티가 게임 실행 시 화면에 출력되는 원리와 Hierarchy의 부모-자식 관계가 UI 렌더링 순서에 영향을 주는지 궁금합니다. [answer] | 제공된 문서에 근거하여 질문하신 두 가지 사항에 대해 설명드립니다. **1. UI 에디터 캔버스와 게임 실행 시 화면 출력 원리** UI 에디터의 **캔버스(Canvas)** 는 UI 엔티티를 배치하고 편집하는 작업 공간입니다. 게임이 실행될 때, 캔버스에 배치된 모습 그대로 게임 화면에 UI가 출력됩니다. 즉, 에디터에서 캔버스 영역 내에 배치한 위치와 크기가 실제 게임 내 렌더링 결과로 직접 반영되는 구조입니다. **2. Hierarchy의 부모-자식 관계와 UI 렌더링 순서** 문서에 따르면, **UIGroup**은 일종의 [followup] | Hierarchy에서 특정 UI 엔티티의 부모-자식 구조를 변경하여 다른 UI 엔티티 위로 겹쳐 보이게 하려면 어떤 컴포넌트 속성을 조정해야 하나요? [followup_answer] | 제공된 참고 문서에는 Hierarchy의 부모-자식 구조 변경이나 UI 렌더링 순서(겹쳐 보이는 순서)를 제어하는 구체적인 컴포넌트 속성(예: Z-index, Sorting Order 등)에 대한 정보가 포함되어 있지 않습니다. 문서에는 다음과 같은 내용만 명시되어 있습니다. * **UIGroup**은 폴더 역할을 하므로 Hierarchy와 UI Groups에서의 순서 영향을 받지 않습니다. * Hierarchy에서는 UI 엔티티의 컴포넌트를 편집하거나 부모-자식 관계를 변경할 수 있습니다. * `UIGroupComponent`의 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 UI를 편집할 수 있는 UI 에디터와 UI Group에 대해 알아봅시다. ##### 참고 가이드 * [UI 엔티티 제어하기](/docs?postId=1154&version=1) * [기본 UI 컴포넌트](/docs?postId=744) * [UI 제작하기](/docs?postId=64) # UI 에디터 소개 UI 에디터는 UI 엔티티를 구성하고, 메이플스토리 월드에서 제공하는 UI 엔티티를 조합해서 인벤토리나 상점 UI를 제작할 수 있습니다. UI 에디터 구성은 다음과 같습니다. | 번호 | 이름 |
[task] | two_turn [pass] | ⏳ 미판정 [title] | CameraService를 활용한 카메라 제어 [question] | 카메라 줌 인과 줌 아웃을 제어하기 위해 CameraService의 ZoomTo 함수를 어떻게 사용하나요? [answer] | `_CameraService:ZoomTo(percent, duration)` 함수를 사용하여 카메라 줌 인과 줌 아웃을 제어할 수 있습니다. **매개 변수 설명:** * **percent**: 변경할 줌 값(퍼센트)입니다. * 현재 줌 값보다 **큰 값**을 전달하면 **줌 인**(화면 확대)이 발생합니다. * 현재 줌 값보다 **작은 값**을 전달하면 **줌 아웃**(화면 축소)이 발생합니다. * **duration**: 현재 줌 값에서 지정된 `percent` 값까지 도달하는 데 걸리는 시간(초)입 [followup] | ZoomTo 함수의 Percent 매개변수가 현재 줌 값보다 크고 작을 때 각각 어떤 동작을 수행하며, Duration 매개변수는 어떤 의미를 가지나요? [followup_answer] | `ZoomTo` 함수의 매개변수 동작과 의미는 다음과 같습니다. **Percent 매개변수 동작** * **현재 줌 값보다 큰 값**: 화면을 확대하는 **줌 인(Zoom In)** 동작을 수행합니다. * **현재 줌 값보다 작은 값**: 화면을 축소하는 **줌 아웃(Zoom Out)** 동작을 수행합니다. **Duration 매개변수 의미** * 현재 줌 값에서 `Percent` 매개변수로 전달된 값까지 도달하는 데 걸리는 **시간(초)**을 의미합니다. [scores] | [judge_reason] | [source_doc] | 게임 플레이 중에 카메라 줌 인과 줌 아웃을 제어하는 방법에 대해 알아보겠습니다. 위에서 작성한 코드는 필요하지 않기 때문에 모두 지우고, 아래와 같은 상태에서 시작합니다. ```lua [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: TriggerComponent -- Space: Server, Client ----------
[task] | single_turn [pass] | ⏳ 미판정 [title] | UI 에디터 [question] | UI 에디터에서 캔버스에 배치한 UI 엔티티의 위치가 게임 실행 시와 다르게 보이는 경우, 주로 어떤 원인이 있을 수 있나요? [answer] | 제공된 문서에는 UI 에디터 캔버스에 배치한 UI 엔티티의 위치가 게임 실행 시와 다르게 보이는 구체적인 원인(해상도, 스케일, 앵커 설정 오류 등)에 대한 설명이 포함되어 있지 않습니다. 문서에서 확인 가능한 내용으로는, UI 에디터의 캔버스는 "게임 실행 시 캔버스에 배치된 모습대로 게임 화면에 출력된다"는 원칙만 명시되어 있을 뿐, 위치가 달라지는 기술적 원인이나 해결책은 기재되어 있지 않습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 UI를 편집할 수 있는 UI 에디터와 UI Group에 대해 알아봅시다. ##### 참고 가이드 * [UI 엔티티 제어하기](/docs?postId=1154&version=1) * [기본 UI 컴포넌트](/docs?postId=744) * [UI 제작하기](/docs?postId=64) # UI 에디터 소개 UI 에디터는 UI 엔티티를 구성하고, 메이플스토리 월드에서 제공하는 UI 엔티티를 조합해서 인벤토리나 상점 UI를 제작할 수 있습니다. UI 에디터 구성은 다음과 같습니다. | 번호 | 이름 |
[task] | code [pass] | ⏳ 미판정 [title] | 말풍선 만들기 [question] | ChatBalloonComponent의 ChatModeEnabled를 true로 설정하여 플레이어가 채팅창에 입력한 메시지가 말풍선으로 동시에 나타나도록 하는 스크립트를 작성해줘 [answer] | 플레이어의 `ChatBalloonComponent`에서 `ChatModeEnabled`를 `true`로 설정하면, 채팅창에 입력한 메시지가 말풍선으로 동시에 표시됩니다. 이 기능은 **플레이어**의 `ChatBalloonComponent`에서만 동작하며, 기본값이 `true`입니다. 아래 스크립트는 플레이어 엔티티에 `ChatBalloonComponent`가 존재하는지 확인하고, 없으면 추가한 후 `ChatModeEnabled`를 `true`로 설정하는 예시입니다. ```lua Method: [server only] void O [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 엔티티와 플레이어 아바타에 말풍선을 간단하게 붙일 수 있습니다. ChatBalloonComponent 사용 방법과 활용 예시를 소개합니다. # 말풍선 붙이기 1. 말풍선을 붙일 엔티티를 선택하고 **ChatBalloonComponent**를 추가합니다. 2. 프로퍼티 값을 변경해 원하는 말풍선을 만듭니다. 주요 프로퍼티 값은 다음과 같습니다. | 프로퍼티 명 | 설명 | | --- | --- | | ChatBalloonRUID | 다양한 말풍선 스프라이트를 이용할 수 있습니다. | | BalloonSca
[task] | instruction_following [pass] | ⏳ 미판정 [title] | Workspace [question] | DefaultPlayer와 BaseEnvironment 콘텍스트 메뉴에서 제공되는 6가지 공통 기능을 비교하여 차이점 2가지만 표로 정리하세요. [answer] | 제공된 문서에 따르면, DefaultPlayer와 BaseEnvironment 콘텍스트 메뉴에서 모두 포함된 6가지 공통 기능은 `Duplicate`, `Open`, `Add Component`, `Add New Component`, `Extend`, `Copy Entry ID`입니다. 두 메뉴의 차이점 2가지를 표로 정리하면 다음과 같습니다. | 구분 | DefaultPlayer | BaseEnvironment | | :--- | :--- | :--- | | **대상 모델** | DefaultPlayer | NativeModel [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | | 목록 | 설명 | | --- | --- | | Duplicate | DefaultPlayer를 복제한 모델을 생성합니다. | | Open | Player의 상태 혹은 변경 점을 확인하기 위해 사용합니다.| | Add Component | DefaultPlayer에 컴포넌트를 추가합니다. | | Add New Component | 새로운 컴포넌트를 생성한 후 DefaultPlayer에 추가합니다. | | Extend | DefaultPlayer의 확장 모델을 생성합니다. | | Copy Entry ID | DefaultPlayer