← 목록

mLua · Nemotron SDG 질문-응답 (SFT)

총 21,567개 · 페이지 365/719
🔀 랜덤
불러오는 중…

[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티 구간 이동시키기 [question] | SyncType을 Default로 설정하고 서버에서 Radius를 변경하면 모든 클라이언트에서 즉시 동일하게 반영되나요? [answer] | SyncType을 Default로 설정하면 컴포넌트가 서버에서 동작하며 모든 클라이언트에 동일하게 보입니다. 따라서 서버에서 Radius 값을 변경하면, 이 변경 사항은 서버를 통해 모든 클라이언트에 동기화되어 즉시 동일하게 반영됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 원점을 기준으로 원형 운동을 하게 만들 때 사용합니다. 회전 수, 속도, 반경을 설정할 수 있습니다. **TweenCircularComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | --- | --- | | Radius | 원점을 기준으로 입력한 값만큼 멀어져 원운동을 합니다. 숫자가 클수록 중심에서 멀어집니다. | | Speed | 입력한 숫자가 클수록 엔티티가 빠르게 원운동을 합니다. | | LookAtCenter | 활성화하면 엔티티 사각형 테두리 윗변이 중심점을 바라보고 회전합니다. | | Deg

[task] | code [pass] | ⏳ 미판정 [title] | Workspace [question] | NativeModel 폴더에 있는 기본 모델을 복제하여 MyDesk에 저장하고 Scene에 배치하는 스크립트를 작성해줘 [answer] | 제시된 참고 문서에 따르면, **NativeModel** 폴더의 모델을 복제하여 **MyDesk**에 저장하는 과정은 메이커(Maker)의 **Workspace**에서 직접 수행하는 **UI/파일 관리 작업**이며, mLua 스크립트로 이를 자동화하거나 처리하는 API(예: 모델 복제, MyDesk에 저장)가 제공되지 않습니다. 문서에는 다음과 같이 명시되어 있습니다: 1. `NativeModel`은 복제하거나 확장해 활용할 수 있습니다. 2. 확장 모델은 `MyDesk` 폴더에 저장됩니다. 3. `MyDesk`에 리소스를 추가하 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 메이커에서 기본 제공하는 기능을 모아 둔 폴더입니다. 총 2개의 폴더로 구성되어 있습니다. * **NativeScripts** * **NativeModel** **BaseEnvironment**의 폴더 순서를 바꾸거나, 하위 목록을 옮길 수 없습니다. **NativeScripts**의 모든 계층은 복제/삭제할 수 없습니다. **NativeScripts**의 특성을 변경해 사용하려면 해당 스크립트를 확장(Extend)하여 사용해야 합니다. 또한 **NativeModel**은 복제하거나 확장해 활용할 수 있습니다. **BaseEn

[task] | single_turn [pass] | ⏳ 미판정 [title] | Workspace [question] | NativeScripts 의 Component 폴더와 MyDesk 에 저장되는 확장 컴포넌트의 차이는 무엇이며, 왜 따로 분리되어 있나요? [answer] | `NativeScripts`의 `Component` 폴더와 `MyDesk`에 저장되는 확장 컴포넌트는 관리 권한과 수정 가능 여부에서 명확하게 구분됩니다. **1. NativeScripts의 Component 폴더** * **성격:** 메이커에서 기본으로 제공하는 컴포넌트들이 저장된 폴더입니다. * **수정 제한:** 이 폴더에 속한 스크립트들은 **수정 및 삭제가 불가능**합니다. * **활용 방법:** 기능을 변경하거나 추가해야 할 경우, 원본을 직접 수정하는 대신 해당 스크립트를 **확장(Extend)**하여 사용 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 메이커에서 기본 제공하는 기능을 모아 둔 폴더입니다. 총 2개의 폴더로 구성되어 있습니다. * **NativeScripts** * **NativeModel** **BaseEnvironment**의 폴더 순서를 바꾸거나, 하위 목록을 옮길 수 없습니다. **NativeScripts**의 모든 계층은 복제/삭제할 수 없습니다. **NativeScripts**의 특성을 변경해 사용하려면 해당 스크립트를 확장(Extend)하여 사용해야 합니다. 또한 **NativeModel**은 복제하거나 확장해 활용할 수 있습니다. **BaseEn

[task] | code [pass] | ⏳ 미판정 [title] | CameraService를 활용한 카메라 제어 [question] | 트리거에 진입하면 `_CameraService:ZoomTo(100, 1)`으로 즉시 줌을 100%로 맞추고, 5초가 지난 후 `_CameraService:ZoomTo(50, 3)`를 호출하여 3초 동안 줌을 50%까지 축소하는 스크립트를 작성해줘. [answer] | 트리거 진입 시 즉시 줌을 100%로 설정하고, 5초 후 3초 동안 줌을 50%로 축소하는 로직을 구현했습니다. `_CameraService:ZoomTo()`의 두 번째 인자는 목표 줌 값까지 도달하는 데 걸리는 시간(초)이므로, 즉시 적용하려면 0을, 3초 동안 축소하려면 3을 전달합니다. 5초 후 동작을 실행하기 위해 `_TimerService:SetTimerOnce()`를 사용했습니다. ```lua Property: [None] Method: [server only] void OnBeginPlay() { -- 초기화 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 게임 플레이 중에 카메라 줌 인과 줌 아웃을 제어하는 방법에 대해 알아보겠습니다. 위에서 작성한 코드는 필요하지 않기 때문에 모두 지우고, 아래와 같은 상태에서 시작합니다. ```lua [self] HandleTriggerEnterEvent (TriggerEnterEvent event) { --------------- Native Event Sender Info ---------------- -- Sender: TriggerComponent -- Space: Server, Client ----------

[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티 구간 이동시키기 [question] | 진폭(Amplitude) 값을 1로 설정했을 때, 실제 게임 화면에서 엔티티가 얼마나 움직이는지 육안으로 파악할 기준이 있나요? [answer] | 네, 진폭(Amplitude) 값을 1로 설정했을 때 엔티티가 얼마나 움직이는지 육안으로 파악할 기준이 있습니다. 진폭 1의 값은 육안으로 정확하게 확인하기 어렵지만, 게임 화면의 그리드 기준을 활용하여 가늠할 수 있습니다. 그리드의 세로 한 칸 높이가 0.6이므로, 진폭 1은 약 2칸 정도에 해당한다고 볼 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 엔티티에 동작을 만드는 세 가지 **Tween Component**의 개념을 이해합니다. 컴포넌트를 이용해 크리에이터가 원하는 엔티티 운동 방향과 폭을 조정할 수 있습니다. ##### 참고 가이드 [엔티티의 위치, 크기, 회전 조정](/docs?postId=82) # Tween Component 소개 **Tween Component**를 이용하여 엔티티에 운동성을 만들고, 세부 설정을 조정할 수 있습니다. 운동 성질에 따른 세 가지 컴포넌트가 있으며, 상황에 맞게 단독으로 사용하거나 조합하여 사용할 수 있습

[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티 구간 이동시키기 [question] | LookAtCenter를 활성화했을 때 엔티티가 단순히 회전하는 것 외에 외형적으로 어떻게 달라지는지 설명해 주세요. [answer] | `LookAtCenter` 프로퍼티를 활성화하면 엔티티가 원운동을 하면서 **엔티티 사각형 테두리의 윗변이 회전 중심점(원점)을 바라보도록** 방향이 설정됩니다. 즉, 단순히 위치만 원형 궤적을 따라 이동하는 것이 아니라, 엔티티 자체의 방향(Orientation)이 반경에 맞춰 항상 중심을 향하도록 회전하게 됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 원점을 기준으로 원형 운동을 하게 만들 때 사용합니다. 회전 수, 속도, 반경을 설정할 수 있습니다. **TweenCircularComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | --- | --- | | Radius | 원점을 기준으로 입력한 값만큼 멀어져 원운동을 합니다. 숫자가 클수록 중심에서 멀어집니다. | | Speed | 입력한 숫자가 클수록 엔티티가 빠르게 원운동을 합니다. | | LookAtCenter | 활성화하면 엔티티 사각형 테두리 윗변이 중심점을 바라보고 회전합니다. | | Deg

[task] | single_turn [pass] | ⏳ 미판정 [title] | 말풍선 만들기 [question] | 물개 엔티티에 ChatBalloonComponent를 붙였는데 AutoShowEnabled를 true로 설정해도 말풍선이 안 떠서, ShowDuration과 HideDuration 값이 5로 동일하게 들어갔는데도 초기화면에서 보이지 않는 이유는 무엇인가요? [answer] | 물개 엔티티에 `ChatBalloonComponent`를 붙여 `AutoShowEnabled`를 `true`로 설정하고 `ShowDuration`과 `HideDuration`을 5로 입력했음에도 초기화면에서 말풍선이 보이지 않는 주된 이유는 **`Message` 프로퍼티가 비어있거나 설정되지 않았기 때문**입니다. 말풍선이 화면에 표시되려면 `Message`에 실제 문구가 반드시 입력되어야 합니다. `Message`가 비어있을 경우, 다른 프로퍼티(`AutoShowEnabled`, `ShowDuration` 등)가 올바르게 설정되 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 엔티티와 플레이어 아바타에 말풍선을 간단하게 붙일 수 있습니다. ChatBalloonComponent 사용 방법과 활용 예시를 소개합니다. # 말풍선 붙이기 1. 말풍선을 붙일 엔티티를 선택하고 **ChatBalloonComponent**를 추가합니다. 2. 프로퍼티 값을 변경해 원하는 말풍선을 만듭니다. 주요 프로퍼티 값은 다음과 같습니다. | 프로퍼티 명 | 설명 | | --- | --- | | ChatBalloonRUID | 다양한 말풍선 스프라이트를 이용할 수 있습니다. | | BalloonSca

[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티 구간 이동시키기 [question] | 엔티티가 특정 위치에서 멈추지 않고 계속 원점으로 돌아와서 선형 이동하는 TweenLineComponent의 원점 기준 설정은 어떻게 변경할 수 있나요? [answer] | 제공된 참고 문서에는 `TweenLineComponent`의 프로퍼티 목록이나 원점(시작 위치)을 변경하는 방법에 대한 정보가 포함되어 있지 않습니다. 문서에는 `TweenFloatingComponent`의 프로퍼티(`TweenType`, `OneCycleTime`, `Amplitude`, `AutoStart`, `AutoDestroy`, `SyncType`)와 간단한 mLua 예제만 제시되어 있으며, `TweenLineComponent`의 세부 설정 방법은 설명되어 있지 않습니다. 따라서 주어진 문서 범위 내에서 `TweenLi [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 엔티티에 동작을 만드는 세 가지 **Tween Component**의 개념을 이해합니다. 컴포넌트를 이용해 크리에이터가 원하는 엔티티 운동 방향과 폭을 조정할 수 있습니다. ##### 참고 가이드 [엔티티의 위치, 크기, 회전 조정](/docs?postId=82) # Tween Component 소개 **Tween Component**를 이용하여 엔티티에 운동성을 만들고, 세부 설정을 조정할 수 있습니다. 운동 성질에 따른 세 가지 컴포넌트가 있으며, 상황에 맞게 단독으로 사용하거나 조합하여 사용할 수 있습

[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티 구간 이동시키기 [question] | 여러 개의 Tween 컴포넌트를 동시에 붙였더니 엔티티가 제대로 움직이지 않고 버그가 발생하는데, 이 문제를 해결하려면 어떻게 해야 하나요? [answer] | 엔티티에 Tween 컴포넌트를 복수로 적용하면 하나의 컴포넌트만 동작하거나 오작동하는 버그가 발생할 수 있습니다. 이 문제를 해결하려면 엔티티에 Tween 컴포넌트 중 하나만 사용하도록 설정해야 합니다. 따라서 현재 엔티티에 적용된 `TweenFloatingComponent`, `TweenLineComponent`, `TweenCircularComponent` 중 필요한 운동 형태에 맞는 컴포넌트 하나만 남기고 나머지 컴포넌트를 삭제하는 것이 정답입니다. 예를 들어, 엔티티가 선형으로 이동하도록 설정하고 싶다면 `TweenLin [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 엔티티에 동작을 만드는 세 가지 **Tween Component**의 개념을 이해합니다. 컴포넌트를 이용해 크리에이터가 원하는 엔티티 운동 방향과 폭을 조정할 수 있습니다. ##### 참고 가이드 [엔티티의 위치, 크기, 회전 조정](/docs?postId=82) # Tween Component 소개 **Tween Component**를 이용하여 엔티티에 운동성을 만들고, 세부 설정을 조정할 수 있습니다. 운동 성질에 따른 세 가지 컴포넌트가 있으며, 상황에 맞게 단독으로 사용하거나 조합하여 사용할 수 있습

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 엔티티 구간 이동시키기 [question] | 문서에 언급된 Ease Type의 종류 10가지와 각 3가지 변형의 특징을 단계별 번호 목록으로 [answer] | 문서에 언급된 Ease Type의 종류 10가지와 각 3가지 변형의 특징은 다음과 같습니다. 1. **Ease Out** : 빠르게 움직이기 시작해서 마지막에 감속하며 목적지에서 멈춥니다. 2. **Ease In** : 느리게 움직이기 시작하다 가속하며 목적지에서 멈춥니다. 3. **Ease In-Out** : 느리게 움직이기 시작해 중간 구간에서 빠르게 움직이다, 감속하며 목적지에서 멈춥니다. **참고: Ease Type 종류 10가지** * Quad * Expo * Cubic * Quart * Quint * [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 원점을 기준으로 원형 운동을 하게 만들 때 사용합니다. 회전 수, 속도, 반경을 설정할 수 있습니다. **TweenCircularComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | --- | --- | | Radius | 원점을 기준으로 입력한 값만큼 멀어져 원운동을 합니다. 숫자가 클수록 중심에서 멀어집니다. | | Speed | 입력한 숫자가 클수록 엔티티가 빠르게 원운동을 합니다. | | LookAtCenter | 활성화하면 엔티티 사각형 테두리 윗변이 중심점을 바라보고 회전합니다. | | Deg

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 물체의 이동 Ⅰ [question] | 택시와 아잘린을 배치하는 순서와 각 단계에서 수행해야 할 작업 내용을 단계별 번호 목록으로 작성하세요. [answer] | 택시와 아잘린을 배치하는 순서와 각 단계의 작업 내용은 다음과 같습니다. 1. **Preset List - NPC**에서 **npc-3539**를 검색합니다. 2. 검색된 택시를 맵의 왼쪽에 배치합니다. 3. 택시 엔티티의 `SpriteRendererComponent`에서 **FlipX** 값을 **True**로 변경합니다. 4. 택시 엔티티의 이름을 **Taxi**로 변경합니다. 5. **Preset List - NPC**에서 **npc-5537**을 검색합니다. 6. 검색된 아잘린을 맵의 오른쪽에 배치합니다. 7. 아잘린 엔티 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 용감한 시그너스 기사단 소속 아잘린이 먼저 고통의 미궁으로 출발한 나이트워커 부대에 합류할 수 있도록 택시를 불러봅시다. 부른 택시가 아잘린을 지나치지 않고 아잘린 앞에서 멈춰서 아잘린이 탑승할 수 있도록 만들어야 합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/1747902531299ee5bec9350ac458d9f255a76eba57191.gif "Example") # StaticNPC 모델 수정하기 StaticNPC 모델에서 Rigid

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 물체의 이동 Ⅰ [question] | 택시와 아잘린을 배치할 때 각각의 엔티티 이름과 SpriteRendererComponent의 FlipX 값 설정을 표로 정리하세요. [answer] | 택시와 아잘린을 배치할 때의 엔티티 이름과 `SpriteRendererComponent`의 `FlipX` 값 설정은 다음과 같습니다. | 대상 | 엔티티 이름 | SpriteRendererComponent FlipX | | :--- | :--- | :--- | | 택시 (npc-3539) | Taxi | True | | 아잘린 (npc-5537) | Azallin | 미설정 | **참고 사항:** * 택시는 맵의 왼쪽에 배치되며, 좌향 모델을 오른쪽으로 보이기 위해 `FlipX` 값을 `True`로 변경해야 합니다. * [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 용감한 시그너스 기사단 소속 아잘린이 먼저 고통의 미궁으로 출발한 나이트워커 부대에 합류할 수 있도록 택시를 불러봅시다. 부른 택시가 아잘린을 지나치지 않고 아잘린 앞에서 멈춰서 아잘린이 탑승할 수 있도록 만들어야 합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/1747902531299ee5bec9350ac458d9f255a76eba57191.gif "Example") # StaticNPC 모델 수정하기 StaticNPC 모델에서 Rigid

[task] | two_turn [pass] | ⏳ 미판정 [title] | Workspace [question] | BaseEnvironment 폴더 내의 NativeScripts와 NativeModel의 수정 및 복제 가능 범위는 어떻게 다른가요? [answer] | 메이커의 `BaseEnvironment` 폴더 내에 있는 `NativeScripts`와 `NativeModel`은 수정 및 복제 가능 범위에 명확한 차이가 있습니다. **NativeScripts** * **복제/삭제 불가:** `NativeScripts`의 모든 계층(하위 폴더 및 스크립트)은 복제하거나 삭제할 수 없습니다. * **수정 제한:** 원본 스크립트를 직접 수정할 수 없습니다. * **확장(Extend)만 가능:** 기존 스크립트의 기능을 변경하거나 확장해서 사용하려면 해당 스크립트를 **확장(Extend) [followup] | NativeScripts의 특정 컴포넌트를 확장할 때, 확장된 컴포넌트는 어디에 저장되며 어떤 절차로 만들어지나요? [followup_answer] | NativeScripts의 특정 컴포넌트를 확장할 때, 확장된 컴포넌트는 **MyDesk** 폴더에 저장됩니다. 참고 문서에는 확장 컴포넌트를 만드는 구체적인 단계별 절차(예: 마우스 우클릭 메뉴 선택 순서 등)에 대한 명시적인 설명은 포함되어 있지 않습니다. 다만, 문서에서 확인 가능한 내용은 다음과 같습니다. 1. **저장 위치:** 확장된 컴포넌트는 `MyDesk` 폴더에 자동 저장됩니다. 2. **방식:** `NativeScripts`의 원본 컴포넌트를 직접 수정하거나 복제하는 대신, 해당 스크립트를 **확장(Exte [scores] | [judge_reason] | [source_doc] | 메이커에서 기본 제공하는 기능을 모아 둔 폴더입니다. 총 2개의 폴더로 구성되어 있습니다. * **NativeScripts** * **NativeModel** **BaseEnvironment**의 폴더 순서를 바꾸거나, 하위 목록을 옮길 수 없습니다. **NativeScripts**의 모든 계층은 복제/삭제할 수 없습니다. **NativeScripts**의 특성을 변경해 사용하려면 해당 스크립트를 확장(Extend)하여 사용해야 합니다. 또한 **NativeModel**은 복제하거나 확장해 활용할 수 있습니다. **BaseEn

[task] | code [pass] | ⏳ 미판정 [title] | Workspace [question] | `HandleTouchEvent(TouchEvent event)` 이벤트 핸들러를 구현하여 사용자가 화면을 터치할 때마다 "터치 감지"를 로그로 출력하고, 터치 이벤트의 `event` 객체를 통해 전달된 정보를 확인하는 로직을 포함하는 스크립트를 작성해줘. [answer] | 제공된 참고 문서에는 `HandleTouchEvent(TouchEvent event)` 이벤트 핸들러나 `TouchEvent` 타입에 대한 정보가 포함되어 있지 않습니다. 문서에 포함된 예시 이벤트 핸들러는 `HandleKeyDownEvent(KeyDownEvent event)`와 `HandleTriggerEnterEvent(TriggerEnterEvent event)`뿐입니다. 따라서 참고 문서에 근거하여 `HandleTouchEvent`를 구현하는 스크립트를 작성할 수 없습니다. [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] | 엔티티 구간 이동시키기 [question] | Ease Type 중 Elastic과 Bounce의 차이를 구분해서 설명해 주세요. [answer] | 제공된 문서에는 **Elastic**과 **Bounce**가 모두 Ease Type의 종류로 나열되어 있지만, 두 타입의 구체적인 동작 방식이나 차이를 설명하는 상세 내용이 포함되어 있지 않습니다. 문서에는 Ease Type의 변형( Ease In, Ease Out, Ease In-Out)에 대한 일반적인 설명만 제공되고 있을 뿐, 각 개별 타입(Quad, Expo, Cubic, Quart, Quint, Circ, Sine, Elastic, Bounce, Back)의 물리적 특성이나 시각적 차이에 대한 설명은 찾을 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 원점을 기준으로 원형 운동을 하게 만들 때 사용합니다. 회전 수, 속도, 반경을 설정할 수 있습니다. **TweenCircularComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | --- | --- | | Radius | 원점을 기준으로 입력한 값만큼 멀어져 원운동을 합니다. 숫자가 클수록 중심에서 멀어집니다. | | Speed | 입력한 숫자가 클수록 엔티티가 빠르게 원운동을 합니다. | | LookAtCenter | 활성화하면 엔티티 사각형 테두리 윗변이 중심점을 바라보고 회전합니다. | | Deg

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 엔티티 구간 이동시키기 [question] | TweenCircularComponent의 프로퍼티 중 Radius, Speed, LookAtCenter, Degree, IsClockwise, AutoStart, AutoDestroy, SyncType의 설명을 표로 정리해서 [answer] | `TweenCircularComponent`의 프로퍼티에 대한 설명은 다음과 같습니다. | 프로퍼티 명 | 설명 | | :--- | :--- | | `Radius` | 원점을 기준으로 입력한 값만큼 멀어져 원운동을 합니다. 숫자가 클수록 중심에서 멀어집니다. | | `Speed` | 입력한 숫자가 클수록 엔티티가 빠르게 원운동을 합니다. | | `LookAtCenter` | 활성화하면 엔티티 사각형 테두리 윗변이 중심점을 바라보고 회전합니다. | | `Degree` | 입력한 각도만큼 회전하고 멈춥니다. 0을 입력하면 멈추지 않고 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 원점을 기준으로 원형 운동을 하게 만들 때 사용합니다. 회전 수, 속도, 반경을 설정할 수 있습니다. **TweenCircularComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | --- | --- | | Radius | 원점을 기준으로 입력한 값만큼 멀어져 원운동을 합니다. 숫자가 클수록 중심에서 멀어집니다. | | Speed | 입력한 숫자가 클수록 엔티티가 빠르게 원운동을 합니다. | | LookAtCenter | 활성화하면 엔티티 사각형 테두리 윗변이 중심점을 바라보고 회전합니다. | | Deg

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 물체의 이동 Ⅰ [question] | 택시를 오른쪽으로 이동시키는 원리와 Position의 x값 변화 관계를 3문장 이내로 설명하세요. [answer] | 맵에 배치된 모든 엔티티는 `TransformComponent`의 Position x, y, z 값으로 위치 정보를 가지므로, 위치를 바꾸려면 이 값을 변경해야 합니다. 오른쪽으로 이동하려면 x 좌표 값이 커지도록 만들어야 합니다. 따라서 `OnUpdate()` 함수에서 Position의 x 값을 일정량씩 계속 증가시키면 택시가 오른쪽으로 이동하게 됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 택시를 이동시키기 위해서는 `TransformComponent`의 **Position** 값을 변경해야 합니다. 맵에 배치되는 모든 엔티티는 위치 정보를 가지고 있습니다. 이 위치 정보는 TransformComponent에서 Position x, y, z 값으로 표현됩니다. 오른쪽으로 이동시키기 위해서는 x 값이 커지도록 만들어야 합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/1747902531299ee5bec9350ac458d9f255a76eba57191.g

[task] | two_turn [pass] | ⏳ 미판정 [title] | Workspace [question] | MyDesk에서 'Create Scripts'와 'Import From' 하위 메뉴를 통해 생성 및 가져올 수 있는 리소스 유형을 비교해 주세요. [answer] | MyDesk에서 **Create Scripts**와 **Import From** 하위 메뉴를 통해 생성 및 가져올 수 있는 리소스 유형은 다음과 같이 다릅니다. **1. Create Scripts (새로 생성)** 새로운 리소스를 처음부터 직접 생성할 수 있습니다. 다음 유형을 만들 수 있습니다: * **Create Component**: 새로운 스크립트 컴포넌트 * **Create EventType**: 새로운 이벤트 타입 * **Create ItemType**: 새로운 아이템 타입 * **Create BTNode [followup] | 'Create Scripts'에서 'Create Script'로 생성하는 탑 레벨 스크립트와 'Create Component'로 생성하는 스크립트 컴포넌트의 구조적 차이를 mLua 관점에서 설명해 주세요. [followup_answer] | 제공된 참고 문서에는 `Create Script`와 `Create Component`의 **기능적 정의**만 명시되어 있으며, mLua 관점에서의 **구조적 차이**(예: Property/Method/Event Handler 블록 구성, 실행 공간 구분, 서비스 접근 방식 등)에 대한 구체적인 기술적 설명은 포함되어 있지 않습니다. 따라서 문서에 근거하여 말씀드릴 수 있는 내용은 다음과 같습니다: 1. **Create Component**: "새로운 **스크립트 컴포넌트**를 생성합니다." * 이는 다른 모델이나 엔 [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] | OnBeginPlay() 에서 TweenCircularComponent 의 Radius 를 3 으로 변경하고 Speed 를 5 로 설정하여 원운동이 시작되도록 하는 스크립트를 작성해줘 [answer] | ```lua Method: [server] void OnBeginPlay() { local tween = self.Entity.TweenCircularComponent tween.Radius = 3 tween.Speed = 5 } ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 원점을 기준으로 원형 운동을 하게 만들 때 사용합니다. 회전 수, 속도, 반경을 설정할 수 있습니다. **TweenCircularComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | --- | --- | | Radius | 원점을 기준으로 입력한 값만큼 멀어져 원운동을 합니다. 숫자가 클수록 중심에서 멀어집니다. | | Speed | 입력한 숫자가 클수록 엔티티가 빠르게 원운동을 합니다. | | LookAtCenter | 활성화하면 엔티티 사각형 테두리 윗변이 중심점을 바라보고 회전합니다. | | Deg

[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티 구간 이동시키기 [question] | SyncType을 ClientOnly로 설정하면 다른 플레이어가 보는 화면에서 해당 엔티티의 이동이 동기화되지 않는 것이 정상적인 동작인가요? [answer] | 네, 정상적인 동작입니다. `TweenLineComponent`의 `SyncType` 프로퍼티를 `ClientOnly`로 설정하면, 해당 컴포넌트가 동작하는 곳과 보이는 곳이 "해당 Client에서만"으로 제한됩니다. 따라서 다른 플레이어의 화면에서는 해당 엔티티의 이동이 동기화되지 않으며, 본인이 설정한 클라이언트 화면에서만 이동이 보이는 것이 의도된 동작입니다. 반대로, 모든 플레이어에게 동일하게 보이기 원한다면 `SyncType`을 `Default`로 설정해야 합니다. `Default`는 서버에서 동작하며 모든 클라이언트에 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 원점을 기준으로 목적지까지 선형 운동을 하게 만들 때 사용합니다. 목적지까지 편도, 왕복 운동 여부와 더불어 가·감속, 도달 시 튕김 등 운동 방식을 설정할 수 있습니다. **TweenLineComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | ------ | --- | | TweenType | 기본값은 Linear입니다. 다른 모양의 운동 방식을 선택할 수 있습니다. 선형운동 종류별 설명은 하단의 참고자료를 참고하세요. | | Duration | 목적지까지 도달하는 데 걸리는 시간을 의미합니다. | |

[task] | two_turn [pass] | ⏳ 미판정 [title] | Workspace [question] | DefaultPlayer와 BaseEnvironment에서 사용할 수 있는 주요 콘텍스트 메뉴의 차이점과 각 메뉴의 용도를 설명해 주세요. [answer] | 제공된 문서에 따르면, `DefaultPlayer`와 `BaseEnvironment`에서 사용할 수 있는 콘텍스트 메뉴는 일부 공통된 항목이 있지만, 대상 모델의 성격(플레이어 기본 모델 vs. 네이티브 모델)에 따라 차이가 있습니다. 두 환경의 주요 콘텍스트 메뉴와 그 용도는 다음과 같습니다. ### 1. 공통 콘텍스트 메뉴 두 환경에서 모두 사용할 수 있는 메뉴는 다음과 같습니다. | 메뉴 | 용도 | | :--- | :--- | | **Duplicate** | 대상 모델(`DefaultPlayer` 또는 `NativeMod [followup] | BaseEnvironment에서 '잠겨 있는 폴더' 상태일 때 콘텍스트 메뉴가 열리지 않는 원인과, 'Place to Hierarchy' 메뉴가 BaseEnvironment에만 존재하는 이유를 구체적으로 알려 주세요. [followup_answer] | 제공된 문서에 근거하여 '잠겨 있는 폴더' 상태에서의 동작과 'Place to Hierarchy' 메뉴의 존재 이유에 대해 설명해 드리겠습니다. ### 1. '잠겨 있는 폴더' 상태에서 콘텍스트 메뉴가 열리지 않는 원인 문서에는 BaseEnvironment의 주요 콘텍스트 메뉴 설명 부분에 **"잠겨 있는 폴더에서는 콘텍스트 메뉴가 열리지 않습니다"**라는 명시적 조건이 기록되어 있습니다. * **원인**: 이는 폴더가 잠금(Lock) 상태일 때 해당 폴더 내의 항목(모델 등)에 대한 편집이나 조작이 제한되는 시스템의 보호 [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] | 엔티티 구간 이동시키기 [question] | Degree 값을 0으로 설정했는데도 엔티티가 한 바퀴만 도는 것이 아니라 계속 회전하는 이유가 무엇인가요? [answer] | Degree 값이 0으로 설정되어 있어도 엔티티가 한 바퀴만 도는 것이 아니라 계속 회전하는 이유는, **Degree 프로퍼티가 0으로 입력되면 엔티티가 멈추지 않고 계속 원운동을 수행하도록 설계되어 있기 때문**입니다. 참고 문서에 따르면 Degree 프로퍼티의 동작 방식은 다음과 같습니다. - **입력한 각도만큼 회전하고 멈춥니다.** - **0을 입력하면 멈추지 않고 계속 원운동을 합니다.** 따라서 `Degree = 0`은 "0도 회전 후 정지"가 아니라 "무한 회전"을 의미하는 특수 값으로 처리됩니다. 한 바퀴만 돌게 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 원점을 기준으로 원형 운동을 하게 만들 때 사용합니다. 회전 수, 속도, 반경을 설정할 수 있습니다. **TweenCircularComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | --- | --- | | Radius | 원점을 기준으로 입력한 값만큼 멀어져 원운동을 합니다. 숫자가 클수록 중심에서 멀어집니다. | | Speed | 입력한 숫자가 클수록 엔티티가 빠르게 원운동을 합니다. | | LookAtCenter | 활성화하면 엔티티 사각형 테두리 윗변이 중심점을 바라보고 회전합니다. | | Deg

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 물체의 이동 Ⅰ [question] | OnBeginPlay와 OnUpdate 함수를 포함하여 택시를 0.02씩 이동시키는 mLua 코드 블록만 출력하고 설명은 주석으로 처리하세요. [answer] | ```lua Property: [Sync] Component TaxiTransform = nil Method: [server only] void OnBeginPlay() { -- 스크립트가 실행될 때 1회 호출되어 택시 엔티티의 TransformComponent를 참조합니다. local taxi = self.Entity self.TaxiTransform = taxi.TransformComponent } [server only] void OnUpdate(number delta) { -- 매 프레임마다 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 택시를 이동시키기 위해서는 `TransformComponent`의 **Position** 값을 변경해야 합니다. 맵에 배치되는 모든 엔티티는 위치 정보를 가지고 있습니다. 이 위치 정보는 TransformComponent에서 Position x, y, z 값으로 표현됩니다. 오른쪽으로 이동시키기 위해서는 x 값이 커지도록 만들어야 합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/1747902531299ee5bec9350ac458d9f255a76eba57191.g

[task] | code [pass] | ⏳ 미판정 [title] | 엔티티 구간 이동시키기 [question] | 엔티티에 TweenCircularComponent 를 적용하여 Radius 5, Speed 10, Degree 360, IsClockwise true, AutoStart true 로 설정하는 스크립트를 작성해줘 [answer] | 요청하신 설정값(Radius 5, Speed 10, Degree 360, IsClockwise true, AutoStart true)을 적용하는 mLua 스크립트입니다. ```lua Property: [None] number Radius = 5 number Speed = 10 number Degree = 360 boolean IsClockwise = true boolean AutoStart = true Method: [server] void OnBeginPlay() { local tween = self.Entity.Twe [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 원점을 기준으로 원형 운동을 하게 만들 때 사용합니다. 회전 수, 속도, 반경을 설정할 수 있습니다. **TweenCircularComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | --- | --- | | Radius | 원점을 기준으로 입력한 값만큼 멀어져 원운동을 합니다. 숫자가 클수록 중심에서 멀어집니다. | | Speed | 입력한 숫자가 클수록 엔티티가 빠르게 원운동을 합니다. | | LookAtCenter | 활성화하면 엔티티 사각형 테두리 윗변이 중심점을 바라보고 회전합니다. | | Deg

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 물체의 이동 Ⅰ [question] | 택시가 아잘린의 위치에서 멈추도록 동작하는 원리를 3문장 이내로 설명하세요. [answer] | 택시는 `OnUpdate()`에서 자신의 현재 위치와 아잘린의 위치를 비교하여, x 좌표가 목표 지점에 도달할 때까지만 이동합니다. 아잘린의 위치 정보는 `OnBeginPlay()`에서 엔티티 경로를 통해 가져온 `AzallinTransform` 프로퍼티의 `Position`으로 참조합니다. 두 위치의 x 좌표가 같아지거나 지나가면 이동 로직이 중단되어 택시는 아잘린 앞에서 멈춥니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 만든 택시는 멈추지 않고 계속 이동하고 있습니다. 택시는 아잘린이 서 있는 곳에서 멈춰야 하므로, 아잘린의 위치 정보를 이용해야 합니다. 택시가 이동하다 아잘린과의 거리가 가까워지면, 멈추도록 조건을 추가해봅시다. 1. **Taxi**컴포넌트에 새로운 **AzallinTransform** 프로퍼티를 추가하고, 타입을 **Component**로 변경합니다. ```lua Property: [Sync] Component AzallinTransform = nil ``` 2. `OnBeginP

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 물체의 이동 Ⅰ [question] | `OnBeginPlay()` 함수에서 아잘린의 TransformComponent를 가져와 프로퍼티에 할당하는 코드를 주석으로 설명만 포함하여 출력하세요. [answer] | ```lua Method: [server only] void OnBeginPlay() { -- 엔티티 경로를 통해 아잘린 엔티티를 가져옵니다. local azallin = _EntityService:GetEntityByPath("/maps/map01/Azallin") -- 아잘린 엔티티의 TransformComponent를 AzallinTransform 프로퍼티에 할당합니다. self.AzallinTransform = azallin.TransformComponent } ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 만든 택시는 멈추지 않고 계속 이동하고 있습니다. 택시는 아잘린이 서 있는 곳에서 멈춰야 하므로, 아잘린의 위치 정보를 이용해야 합니다. 택시가 이동하다 아잘린과의 거리가 가까워지면, 멈추도록 조건을 추가해봅시다. 1. **Taxi**컴포넌트에 새로운 **AzallinTransform** 프로퍼티를 추가하고, 타입을 **Component**로 변경합니다. ```lua Property: [Sync] Component AzallinTransform = nil ``` 2. `OnBeginP

[task] | two_turn [pass] | ⏳ 미판정 [title] | 물체의 이동 Ⅰ [question] | TransformComponent를 사용하여 엔티티의 Position 값을 변경하는 기본 원리와 코드 작성 방법은 무엇인가요? [answer] | 메이플스토리 월드에서 엔티티의 위치를 변경하는 가장 기본적인 방법은 `TransformComponent`의 `Position` 값을 직접 수정하는 것입니다. 맵에 배치되는 모든 엔티티는 이 위치 정보를 가지며, `Position`은 x, y, z 좌표 값으로 표현됩니다. 예를 들어, 엔티티를 오른쪽으로 이동시키고 싶다면 x 값을 증가시키면 됩니다. 이 작업을 수행하기 위한 mLua 스크립트 작성 방법은 다음과 같습니다. 1. **TransformComponent 참조 저장**: 스크립트가 시작될 때(`OnBeginPlay`) 엔 [followup] | OnUpdate에서 Position.x를 직접 수정하는 방식과 Translate() 함수를 사용하는 방식 중 어느 쪽이 권장되며, 두 방식의 차이점은 무엇인가요? [followup_answer] | 제시된 참고 문서에는 두 방식 중 어느 쪽이 "권장"되는지에 대한 명시적인 지침이나 비교 평가가 포함되어 있지 않습니다. 문서는 단순히 두 가지 방법을 모두 소개하고 있을 뿐입니다. 두 방식의 차이점은 다음과 같이 정리할 수 있습니다. 1. **Position 직접 수정 방식**: * `TransformComponent`의 `Position` 프로퍼티를 직접 가져와서 x, y, z 값을 변경한 후, 다시 `TransformComponent.Position`에 할당하는 방식입니다. * 예제 코드에서는 `po [scores] | [judge_reason] | [source_doc] | 택시를 이동시키기 위해서는 `TransformComponent`의 **Position** 값을 변경해야 합니다. 맵에 배치되는 모든 엔티티는 위치 정보를 가지고 있습니다. 이 위치 정보는 TransformComponent에서 Position x, y, z 값으로 표현됩니다. 오른쪽으로 이동시키기 위해서는 x 값이 커지도록 만들어야 합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/1747902531299ee5bec9350ac458d9f255a76eba57191.g

[task] | code [pass] | ⏳ 미판정 [title] | Workspace [question] | `_EntityService`를 사용하여 월드 내 "/maps/map01/obj" 경로에 존재하는 엔티티를 조회하고, 조회 성공 시 해당 엔티티의 `TransformComponent.Position` 값을 로그로 출력하는 스크립트를 작성해줘. [answer] | `_EntityService:GetEntityByPath()` 메서드를 사용하면 지정된 경로에 있는 엔티티를 조회할 수 있습니다. 조회가 성공하면 반환된 엔티티 객체의 `TransformComponent.Position` 프로퍼티에 접근하여 현재 좌표를 확인할 수 있습니다. 요청하신 기능은 `OnBeginPlay` 생명주기 메서드 내에서 실행하도록 아래 스크립트와 같이 작성할 수 있습니다. 엔티티가 실제로 존재하지 않는 경우 `nil`을 반환하므로, `nil` 체크를 통해 오류를 방지하고 로그를 출력하는 것이 안전합니다. ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Workspace**를 이용해 엔티티, 스크립트, 이미지를 효율적으로 관리할 수 있습니다. ##### 참고 가이드 [Entity, Component, Property](/docs?postId=54) [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에

[task] | code [pass] | ⏳ 미판정 [title] | Workspace [question] | DefaultPlayer에 Add New Component를 이용해 생성한 스크립트에서 [Sync] 속성인 number Score를 정의하고, HandleTouchEvent 이벤트 핸들러에서 Score를 10씩 증가시키는 스크립트를 작성해줘 [answer] | 요청하신 조건에 맞춰 `DefaultPlayer`에 추가할 스크립트 컴포넌트 코드를 작성했습니다. 1. **Property**: `[Sync]` 속성을 가진 `number` 타입의 `Score` 프로퍼티를 정의합니다. 2. **Event Handler**: `[self]` 범위의 `HandleTouchEvent` 이벤트 핸들러를 정의하여, 터치 시 `Score` 값을 10씩 증가시킵니다. ```lua Property: [Sync] number Score = 0 Event Handler: [self] HandleTouchEven [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] | Workspace [question] | `OnUpdate(number delta)` 생명주기 메서드 내에서 매 프레임마다 `self.Entity.TransformComponent.Position`의 X 좌표를 10.0만큼 증가시켜 엔티티가 지속적으로 이동하도록 하는 스크립트를 작성해줘. [answer] | 요청하신 동작을 구현하기 위한 mLua 스크립트는 다음과 같습니다. `OnUpdate` 메서드에서 매 프레임마다 `delta` 값을 기반으로 X 좌표를 10.0만큼 증가시킵니다. ```lua Method: [server only] void OnUpdate(number delta) { local pos = self.Entity.TransformComponent.Position local newX = pos.x + 10.0 self.Entity.TransformComponent.Position = Vector3( [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Workspace**를 이용해 엔티티, 스크립트, 이미지를 효율적으로 관리할 수 있습니다. ##### 참고 가이드 [Entity, Component, Property](/docs?postId=54) [Model](/docs?postId=55) # Workspace 소개 **Workspace**는 폴더 형식의 리소스 관리 공간입니다. 필요한 것을 찾을 수 있는 **Workspace**는 효율적인 월드 제작을 위해 필요합니다. **Workspace** 패널의 기본 위치는 우측 중앙입니다. 크리에이터의 편의에

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