[task] | single_turn [pass] | ⏳ 미판정 [title] | 상품 등록하기 [question] | 판매 시작일을 지정한 상품이 '판매 대기' 상태에서 '판매 중'으로 바뀌는 시점과 방식이 어떻게 되나요? [answer] | 상품의 판매 시작일을 지정하고 출시 상태로 설정하면, 해당 판매 시작일이 도래하는 시점에 시스템이 자동으로 상품 상태를 **'판매 중'**으로 변경합니다. 이 과정은 수동 개입 없이 판매 시작일에 맞춰 자동적으로 이루어집니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품 상태는 총 5개로 구분됩니다. 메이커에서 테스트할 때는 모든 상태에서 구매할 수 있습니다. 월드에서 실제로 판매하기 위해서는 상품의 상태가 **판매 중**이어야 합니다. | 이름 | 설명 | | --- | --- | | 미출시 | 출시 여부를 '미출시'로 설정한 상태입니다. 판매 기간이 되어도 월드 웹 상점 및 클라이언트 내에서도 노출되지 않고 판매도 불가합니다. 플레이어가 보유한 상품도 목록에서 확인이 불가합니다. | | 판매 대기 | 판매 시작일이 아직 도래하지 않아 대기 중인 상태입니다. 출시 상태로 판매 기간을 지정
[task] | single_turn [pass] | ⏳ 미판정 [title] | 상품 등록하기 [question] | 상품이 '제재 중' 상태인데 수정은 가능한가요? 그리고 제재 해제 관련 문의는 어디에 해야 하나요? [answer] | 네, '제재 중' 상태의 상품은 수정할 수 있습니다. 크리에이터는 제재가 된 상품에 대한 수정 작업이 가능합니다. 다만, 제재 해제에 대한 문의는 고객센터에 직접 문의하셔야 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품 상태는 총 5개로 구분됩니다. 메이커에서 테스트할 때는 모든 상태에서 구매할 수 있습니다. 월드에서 실제로 판매하기 위해서는 상품의 상태가 **판매 중**이어야 합니다. | 이름 | 설명 | | --- | --- | | 미출시 | 출시 여부를 '미출시'로 설정한 상태입니다. 판매 기간이 되어도 월드 웹 상점 및 클라이언트 내에서도 노출되지 않고 판매도 불가합니다. 플레이어가 보유한 상품도 목록에서 확인이 불가합니다. | | 판매 대기 | 판매 시작일이 아직 도래하지 않아 대기 중인 상태입니다. 출시 상태로 판매 기간을 지정
[task] | single_turn [pass] | ⏳ 미판정 [title] | 상품 등록하기 [question] | 확률형 유료 상품을 제작할 때, 플레이어가 콘텐츠 사용 전에 반드시 확인해야 할 정보 공개 의무가 있나요? [answer] | 네, 있습니다. ‘유료’ 확률형 콘텐츠를 제공하는 경우, 확률 정보 공개 가이드에 따라 콘텐츠 사용 전 사용자에게 고지해야 할 의무가 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품 상태는 총 5개로 구분됩니다. 메이커에서 테스트할 때는 모든 상태에서 구매할 수 있습니다. 월드에서 실제로 판매하기 위해서는 상품의 상태가 **판매 중**이어야 합니다. | 이름 | 설명 | | --- | --- | | 미출시 | 출시 여부를 '미출시'로 설정한 상태입니다. 판매 기간이 되어도 월드 웹 상점 및 클라이언트 내에서도 노출되지 않고 판매도 불가합니다. 플레이어가 보유한 상품도 목록에서 확인이 불가합니다. | | 판매 대기 | 판매 시작일이 아직 도래하지 않아 대기 중인 상태입니다. 출시 상태로 판매 기간을 지정
[task] | two_turn [pass] | ⏳ 미판정 [title] | 상품 등록하기 [question] | 상품의 판매 상태가 총 5가지로 구분되는 구조와 각 상태별 특징이 궁금합니다. [answer] | 상품의 판매 상태는 총 5가지로 구분되며, 각 상태의 특징은 다음과 같습니다. 1. **미출시**: 출시 여부를 '미출시'로 설정한 상태입니다. 판매 기간이 되어도 월드 웹 상점 및 클라이언트 내에서 노출되지 않으며 판매가 불가합니다. 또한 플레이어가 보유한 상품도 목록에서 확인할 수 없습니다. 2. **판매 대기**: 판매 시작일이 아직 도래하지 않아 대기 중인 상태입니다. 출시 상태로 판매 기간을 지정해 두면, 판매 시작일에 맞춰 자동으로 **'판매 중'** 상태로 변경됩니다. 3. **판매 중**: 상품을 실제로 판매할 수 [followup] | '제재 중' 상태인 상품을 크리에이터가 수정할 수 있는지, 그리고 수정 후 판매가 즉시 가능해지는지 여부와 예외 사항을 알려주세요. [followup_answer] | '제재 중' 상태인 상품에 대해 크리에이터가 수정할 수 있는지, 수정 후 판매 가능 여부 및 예외 사항은 다음과 같습니다. 1. **수정 가능성**: 크리에이터는 제재 상품을 수정할 수 있습니다. 2. **수정 후 판매 가능 여부**: 수정한다고 해서 판매가 즉시 가능해지지 않습니다. 제재 중인 상품은 출시 여부나 판매 기간에 관계없이 판매가 불가능합니다. 3. **예외 사항 및 문의**: 제재 상태에 대한 구체적인 내용이나 해제 관련 문의는 고객센터에 문의해야 합니다. [scores] | [judge_reason] | [source_doc] | 상품 상태는 총 5개로 구분됩니다. 메이커에서 테스트할 때는 모든 상태에서 구매할 수 있습니다. 월드에서 실제로 판매하기 위해서는 상품의 상태가 **판매 중**이어야 합니다. | 이름 | 설명 | | --- | --- | | 미출시 | 출시 여부를 '미출시'로 설정한 상태입니다. 판매 기간이 되어도 월드 웹 상점 및 클라이언트 내에서도 노출되지 않고 판매도 불가합니다. 플레이어가 보유한 상품도 목록에서 확인이 불가합니다. | | 판매 대기 | 판매 시작일이 아직 도래하지 않아 대기 중인 상태입니다. 출시 상태로 판매 기간을 지정
[task] | single_turn [pass] | ⏳ 미판정 [title] | 이동 발판 만들기 [question] | RigidbodyMovementOption에서 RelativeX와 Absolute를 설정했을 때 플레이어의 이동 체감이 어떻게 다른가요? [answer] | `RigidbodyMovementOption`은 움직이는 발판 위를 걷는 플레이어에게 발판의 움직임이 어떻게 전이되는지를 결정하는 설정입니다. 두 옵션의 차이는 다음과 같습니다. **1. RelativeX (상대적 X축)** * **특징:** 발판의 **X축(좌우) 이동**에 따른 관성만 플레이어가 받습니다. Y축(상하) 이동에는 관성이 적용되지 않습니다. * **플레이어 체감:** * **같은 방향 이동 시:** 발판이 오른쪽으로 움직이고, 플레이어도 오른쪽으로 뛰면 발판의 속도와 플레이어의 속도가 합쳐져 ** [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 움직이는 발판을 만들어 이동에 재미를 더해보세요. CustomFootholdComponent의 IsDynamicFoothold 프로퍼티를 이용해 나만의 움직이는 발판을 만들 수 있습니다. [발판 만들기](/docs/?postId=71%7B%22target%22:%22_self%22%7D)에서 기본 발판 제작 방법을 배울 수 있습니다. # 이동 발판 만들기 이동 발판은 CustomFootholdComponent를 활용해 크리에이터가 직접 만들어야 합니다. 발판의 움직임을 만드는 방식은 다르지만, 기본 Cus
[task] | single_turn [pass] | ⏳ 미판정 [title] | 이동 발판 만들기 [question] | CustomFootholdComponent의 IsDynamicFoothold를 켜도 발판이 움직이지 않을 때 어떤 설정을 더 확인해야 하나요? [answer] | `CustomFootholdComponent`의 `IsDynamicFoothold`를 활성화했음에도 발판이 움직이지 않는다면, 다음 두 가지 설정과 스크립트 로직을 확인해야 합니다. 1. **RigidbodyMovementOption 설정 확인** 움직이는 발판 위의 플레이어 엔티티가 어떤 관성을 받을 것인지를 결정하는 `RigidbodyMovementOption` 프로퍼티가 올바르게 설정되어 있는지 확인하세요. 이 옵션은 `RelativeX` 또는 `Absolute` 중 하나로 설정할 수 있습니다. - `Relativ [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 움직이는 발판을 만들어 이동에 재미를 더해보세요. CustomFootholdComponent의 IsDynamicFoothold 프로퍼티를 이용해 나만의 움직이는 발판을 만들 수 있습니다. [발판 만들기](/docs/?postId=71%7B%22target%22:%22_self%22%7D)에서 기본 발판 제작 방법을 배울 수 있습니다. # 이동 발판 만들기 이동 발판은 CustomFootholdComponent를 활용해 크리에이터가 직접 만들어야 합니다. 발판의 움직임을 만드는 방식은 다르지만, 기본 Cus
[task] | single_turn [pass] | ⏳ 미판정 [title] | 신발 만들기 [question] | 신발 제작 시 권장 크기가 최대 120x120이라고 하는데, 이는 아바타 발 기준인가요? [answer] | 네, 맞습니다. 신발 제작 시 권장 크기인 최대 120x120은 **아바타 발을 기준으로** 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 신발 제작 방법을 알아봅시다. 신발 제작을 응용해 신발과 함께 양말, 부츠도 제작할 수 있습니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Shoes.psd","url":"https://mod-file.dn.nexoncdn.co.kr/stora
[task] | two_turn [pass] | ⏳ 미판정 [title] | 행동 트리를 활용한 AI 만들기 [question] | 행동 트리에서 자식 노드가 Running을 반환할 때 Sequence, Selector, RandomSelector, Parallel 노드 각각의 실행 흐름 차이는 무엇인가요? [answer] | 행동 트리에서 자식 노드가 `Running`을 반환할 때, 부모 노드 종류에 따라 실행 흐름은 다음과 같이 다릅니다. 1. **Sequence Node** - 자식 노드가 `Running`을 반환하면, 부모 노드는 해당 자식 노드를 다음 프레임에 다시 실행합니다. - `Running` 상태를 유지하는 동안 나머지 자식 노드(예: B가 Running인 경우 C)는 실행되지 않습니다. 2. **Selector Node** - Sequence Node와 동일하게, 자식 노드가 `Running`을 반환하면 부모 노드는 [followup] | Parallel 노드에서 일부 자식 노드만 Running을 반환했을 때, 다음 프레임에 실행되지 않는 노드가 어떻게 결정되는지 구체적인 예시를 들어 설명해 주세요. [followup_answer] | Parallel 노드에서 일부 자식 노드만 `Running`을 반환했을 때, 다음 프레임에 실행되지 않는 노드는 **이미 `Success` 또는 `Failure`를 반환한 노드**입니다. 구체적인 예시를 들어 설명하면 다음과 같습니다. 자식 노드 A, B, C가 있는 Parallel 노드가 있다고 가정해 봅시다. 1. **첫 번째 프레임:** * Parallel 노드의 특성상 자식 노드 **A, B, C 모두 동시에 실행**됩니다. * 이 프레임에서 노드 A와 B는 아직 처리가 끝나지 않아 `Runnin [scores] | [judge_reason] | [source_doc] | 자식 노드가 Success 또는 Failure를 반환하면 부모 노드는 다음 자식 노드를 실행합니다. 그러나 자식 노드가 Running을 반환하면 부모 노드는 Running을 반환했던 자식 노드를 다음 프레임에 다시 실행합니다. 이 특성을 활용해 여러 프레임 동안 동작하는 노드를 만들 수 있습니다. 아래 그림과 같이 자식 노드 A, B, C가 있을 때 Sequence Node와 Selector Node의 경우 B 노드가 Running을 반환하는 동안 C 노드를 실행하지 않습니다. RandomSelector Node는 선택된 노드를 계
[task] | code [pass] | ⏳ 미판정 [title] | 망토 만들기 [question] | 제공된 문서에는 mLua 스크립트 언어, API, 컴포넌트 또는 서비스 정보가 전혀 포함되어 있지 않습니다. 해당 문서는 Photoshop을 사용하여 풍선 망토 텍스처를 편집하는 그래픽 작업 가이드이며, 코딩 과제를 만들 수 있는 기술적 내용이 없습니다. [answer] | 제공된 문서에는 mLua 스크립트 언어, API, 컴포넌트 또는 서비스 정보가 전혀 포함되어 있지 않습니다. 해당 문서는 Photoshop을 사용하여 풍선 망토 텍스처를 편집하는 그래픽 작업 가이드이며, 코딩 과제를 만들 수 있는 기술적 내용이 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 풍선 제작용 시트(Avatar_Cape_balloon.psd)를 엽니다. 1. 노란색 레이어를 클릭합니다. 2. **Image - Adjustments - Hue/Saturation** 또는 단축키 **Ctrl+U**를 입력해 Hue/Saturation 창을 엽니다. 3. Hue, Saturation 값을 조정합니다. 풍선 색상을 원하는 색으로 바꾸고 'OK' 버튼을 누릅니다. 5. Pencil tool을 선택하고 풍선에 리본을 그려줍니다. 각각의 동작에 모두 그려줍니다. 6. 모든 노란색 레이어에서 색상 변경을 한 뒤
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 망토 만들기 [question] | 풍선 제작용 시트에서 색상 변경을 수행하는 정확한 메뉴 경로와 단축키를 2문장 이내로 설명하세요. [answer] | Image - Adjustments - Hue/Saturation 메뉴 경로를 사용하거나 Ctrl+U 단축키를 입력하여 창을 엽니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 풍선 제작용 시트(Avatar_Cape_balloon.psd)를 엽니다. 1. 노란색 레이어를 클릭합니다. 2. **Image - Adjustments - Hue/Saturation** 또는 단축키 **Ctrl+U**를 입력해 Hue/Saturation 창을 엽니다. 3. Hue, Saturation 값을 조정합니다. 풍선 색상을 원하는 색으로 바꾸고 'OK' 버튼을 누릅니다. 5. Pencil tool을 선택하고 풍선에 리본을 그려줍니다. 각각의 동작에 모두 그려줍니다. 6. 모든 노란색 레이어에서 색상 변경을 한 뒤
[task] | code [pass] | ⏳ 미판정 [title] | 상품 등록하기 [question] | mLua 스크립트 규칙에 따라 "없는 사실·API·코드 예제를 지어내지 않는다"는 원칙을 준수해야 하므로, 주어진 문서 내용만으로 해결할 수 있는 구체적인 mLua 코딩 과제를 만들 수 없습니다. [answer] | 제시된 참고 문서에는 mLua 스크립트 코드를 작성하거나 수정할 수 있는 구체적인 API(함수, 프로퍼티, 이벤트 핸들러 등)나 코드 예제가 포함되어 있지 않습니다. 문서에는 상품의 종류(아이템, 이용권), 등록 방법(웹/메이커), 필수 입력 사항(이름, 가격, 기간, 섬네일 등)에 대한 정보와, 상점 UI를 열고 닫거나 몬스터 사냥 시 아이템을 드롭하는 데 사용되는 **참고용 mLua 코드 스니펫**만 제시되어 있습니다. 따라서 "유료화 상품 등록하기"와 직접적으로 연관된 mLua 코딩 과제를 만들 수 없으며, 문서에 없는 A [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 이번 과정에서는 월드에서 판매할 수 있는 상품인 아이템과 이용권에 대해서 알아봅니다. 상품에 대해서 알아보고, 만들고 싶은 상품을 등록해봅니다. 상품은 이용자들이 가진 월드코인으로 구매할 수 있습니다. 크리에이터는 상품의 구매 대가로 이용자들에게 이용권과 같은 서비스를 제공해줘야 합니다. 크리에이터는 추후 이용자가 지불한 월드코인을 정산할 수 있습니다. # 상품 등록하기 상품을 등록하는 방법은 두 가지입니다. 메이플스토리 월드 [공식 홈페이지](https://maplestoryworlds.nexon.com/
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 망토 만들기 [question] | 풍선 아이템의 특성상 함께 사용할 수 없는 아이템 종류와 그 이유를 표로 정리해서 1문장으로 답변하세요. [answer] | | 함께 사용할 수 없는 아이템 | 이유 | | :--- | :--- | | 망토 | 풍선은 망토에 해당하는 아이템으로 취급되기 때문 | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 풍선 제작용 시트(Avatar_Cape_balloon.psd)를 엽니다. 1. 노란색 레이어를 클릭합니다. 2. **Image - Adjustments - Hue/Saturation** 또는 단축키 **Ctrl+U**를 입력해 Hue/Saturation 창을 엽니다. 3. Hue, Saturation 값을 조정합니다. 풍선 색상을 원하는 색으로 바꾸고 'OK' 버튼을 누릅니다. 5. Pencil tool을 선택하고 풍선에 리본을 그려줍니다. 각각의 동작에 모두 그려줍니다. 6. 모든 노란색 레이어에서 색상 변경을 한 뒤
[task] | single_turn [pass] | ⏳ 미판정 [title] | 신발 만들기 [question] | 양말이나 부츠를 만들 때 Pencil tool로 도트를 그리는 방식은 기본 신발과 동일한가요? [answer] | 네, 양말이나 부츠를 만들 때 Pencil tool로 도트를 그리는 방식은 기본 신발과 동일합니다. 제공된 문서에 따르면, 기본 신발, 양말, 부츠 모두 동일한 노란색 레이어인 `edithere:shoes_shoesTop_69`에서 작업하며, 포토샵의 Pencil tool을 사용하여 아바타의 body에 맞춰 각각의 동작에 도트를 그려주는 과정으로 제작됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 신발 제작 방법을 알아봅시다. 신발 제작을 응용해 신발과 함께 양말, 부츠도 제작할 수 있습니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Shoes.psd","url":"https://mod-file.dn.nexoncdn.co.kr/stora
[task] | single_turn [pass] | ⏳ 미판정 [title] | 신발 만들기 [question] | data 폴더 안의 data:use_zmap_preset1 파일은 아바타의 이미지 층 순서를 어떻게 정리하나요? [answer] | `data:use_zmap_preset1` 파일은 아바타를 구성하는 이미지들이 층층이 쌓이는 구조에서, 분리된 각 Sprite의 높이가 순서대로 정리된 zmap 정보입니다. 아바타의 다양한 몸동작을 만들기 위해 이미지는 **몸 → 옷 → 방패 → 무기** 순서로 층층이 위에 쌓이는 구조를 가지며, 이 파일은 그 순서(높이)를 정의하는 역할을 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 신발 제작 방법을 알아봅시다. 신발 제작을 응용해 신발과 함께 양말, 부츠도 제작할 수 있습니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Shoes.psd","url":"https://mod-file.dn.nexoncdn.co.kr/stora
[task] | single_turn [pass] | ⏳ 미판정 [title] | 상품 등록하기 [question] | 상품 상태가 '미출시'인 경우와 '판매 대기'인 경우, 플레이어 입장에서의 가시성과 구매 가능 여부에서 어떤 차이가 있나요? [answer] | 상품 상태가 '미출시'와 '판매 대기'인 경우, 플레이어 입장에서의 가시성과 구매 가능 여력은 다음과 같은 차이가 있습니다. **1. 미출시 상태** * **가시성:** 월드 웹 상점 및 클라이언트 내 상점에 상품이 노출되지 않습니다. 또한 플레이어가 해당 상품을 이미 보유하고 있더라도 보유 상품 목록에서 확인이 불가능합니다. * **구매 가능 여부:** 구매가 불가능합니다. **2. 판매 대기 상태** * **가시성:** 상점에 노출되며 플레이어가 상품 정보를 확인할 수 있습니다. (문서에 명시된 바와 같이, 판매 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 상품 상태는 총 5개로 구분됩니다. 메이커에서 테스트할 때는 모든 상태에서 구매할 수 있습니다. 월드에서 실제로 판매하기 위해서는 상품의 상태가 **판매 중**이어야 합니다. | 이름 | 설명 | | --- | --- | | 미출시 | 출시 여부를 '미출시'로 설정한 상태입니다. 판매 기간이 되어도 월드 웹 상점 및 클라이언트 내에서도 노출되지 않고 판매도 불가합니다. 플레이어가 보유한 상품도 목록에서 확인이 불가합니다. | | 판매 대기 | 판매 시작일이 아직 도래하지 않아 대기 중인 상태입니다. 출시 상태로 판매 기간을 지정
[task] | two_turn [pass] | ⏳ 미판정 [title] | 효과음 만들기 [question] | SetCameraAsListener 프로퍼티를 활성화했을 때, SetListenerEntity 함수로 별도 리스너를 지정하면 어떤 우선순위가 적용되는가? [answer] | **SetCameraAsListener** 프로퍼티를 활성화하더라도 **SetListenerEntity** 함수를 통해 별도 리스너 엔티티를 지정해 두었다면, 지정한 엔티티가 리스너로 우선 적용됩니다. 즉, 카메라를 기본 리스너로 설정하는 **SetCameraAsListener** 설정보다 **SetListenerEntity**로 명시적으로 지정된 리스너 엔티티가 더 높은 우선순위를 갖습니다. [followup] | SetCameraAsListener가 true인데도 특정 엔티티를 리스너로 강제 지정하고 싶을 때, SetListenerEntity를 호출해야 하는 정확한 시점과 코드 예시는 무엇인가? [followup_answer] | 제공된 참고 문서에는 **SetListenerEntity** 함수의 정확한 호출 시점(예: OnBeginPlay, 특정 이벤트 핸들러 내부 등)이나 해당 함수를 사용하는 구체적인 mLua 코드 예시가 포함되어 있지 않습니다. 문서에는 **SetCameraAsListener** 프로퍼티가 활성화되어 있더라도 **SetListenerEntity** 함수를 통해 리스너 엔티티를 지정하면 그 지정된 엔티티가 리스너로 우선 적용된다는 사실만 명시되어 있을 뿐, 이를 구현하기 위한 실제 코드 작성 방법은 설명되어 있지 않습니다. 따라서 제 [scores] | [judge_reason] | [source_doc] | **SetCameraAsListener** 프로퍼티를 활용하는 방법도 있습니다. **SoundComponent** 프로퍼티에서 설명했듯이 **SetCameraAsListener**를 활성화하면 화면 중앙과 음원 사이의 거리에 따라 소리 크기를 조절합니다. 간단하게 **SetCameraAsListener** 프로퍼티를 활용하는 방법을 살펴봅시다. 1. **Preset List**에서 아무 맵 오브젝트나 **Scene**에 배치한 뒤 **SpriteRendererComponent - SpriteRUID**에 아래의 **RUID**를
[task] | two_turn [pass] | ⏳ 미판정 [title] | 행동 트리를 활용한 AI 만들기 [question] | 문서의 Wait 노드 예제에서 `OnInit()`와 `OnBehave()`의 호출 빈도와 역할 차이는 무엇이며, 왜 Running 상태에서는 `OnInit()`가 다시 호출되지 않나요? [answer] | Wait 노드 예제에서 `OnInit()`와 `OnBehave()`의 역할과 호출 빈도는 다음과 같이 구분됩니다. **1. 역할 차이** * **`OnInit()`**: 노드가 실행되기 시작할 때 한 번만 호출되는 초기화 함수입니다. Wait 노드의 경우, 시간을 측정하기 위한 변수 `ElapsedTime`를 0으로 초기화하는 역할을 수행합니다. * **`OnBehave()`**: 노드가 실제로 동작하는 로직을 처리하는 함수입니다. 매 프레임마다 호출되며, 매개변수 `delta`(프레임 당 시간)를 이용해 `ElapsedT [followup] | 만약 `OnBehave()`에서 `self.ElapsedTime`을 초기화하는 코드가 누락되어 이전 실행의 값이 유지되는 경우가 발생한다면, 이를 방지하기 위해 `OnInit()`에서 어떤 처리를 해야 하는지 코드 수정 예시를 보여주세요. [followup_answer] | `OnBehave()`에서 초기화 코드가 누락되어 이전 실행의 `ElapsedTime` 값이 유지되는 문제를 방지하기 위해서는, `OnInit()` 함수 내부에서 `self.ElapsedTime`을 0으로 초기화하는 코드를 명시적으로 작성해야 합니다. `OnInit()`는 노드가 처음 실행될 때 호출되므로, 이 시점에 시간을 측정하는 변수를 초기화하면 매 실행마다 정확한 시간 계측이 가능합니다. 아래는 `OnInit()`에서 `ElapsedTime`을 초기화하는 수정 예시입니다. ```lua Property: [None] nu [scores] | [judge_reason] | [source_doc] | 자식 노드가 Success 또는 Failure를 반환하면 부모 노드는 다음 자식 노드를 실행합니다. 그러나 자식 노드가 Running을 반환하면 부모 노드는 Running을 반환했던 자식 노드를 다음 프레임에 다시 실행합니다. 이 특성을 활용해 여러 프레임 동안 동작하는 노드를 만들 수 있습니다. 아래 그림과 같이 자식 노드 A, B, C가 있을 때 Sequence Node와 Selector Node의 경우 B 노드가 Running을 반환하는 동안 C 노드를 실행하지 않습니다. RandomSelector Node는 선택된 노드를 계
[task] | two_turn [pass] | ⏳ 미판정 [title] | 효과음 만들기 [question] | KeyDownEvent 핸들러 내에서 특정 키 입력에 따라 사운드 볼륨을 조절하는 방법은 무엇인가요? [answer] | KeyDownEvent 핸들러에서 특정 키 입력에 따라 사운드 볼륨을 조절하려면, `_SoundService:PlaySound` 메서드의 두 번째 인자로 볼륨 값(0.0부터 1.0 사이의 숫자)을 전달하면 됩니다. 참고 문서의 예제에서 볼륨 0.3으로 사운드를 재생하는 방법은 다음과 같습니다. ```lua Event Handler: [client only] [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { -- Parameters local key [followup] | _SoundService:PlaySound 메서드의 두 번째 인자(0.3)가 볼륨을 의미하는지, 다른 값(예: 1.0)으로 변경할 경우 최대 볼륨이 되는지 확인하고 싶습니다. [followup_answer] | 제공된 참고 문서에는 `_SoundService:PlaySound` 메서드의 두 번째 인자가 볼륨을 의미한다는 명시적인 설명이나, 값의 범위(0.0~1.0 등) 및 최대 볼륨에 대한 정의가 포함되어 있지 않습니다. 문서에서는 예제 코드에서 `0.3`이라는 값을 사용하고 있을 뿐, 이 값이 무엇을 의미하는지(볼륨인지, 다른 파라미터인지)에 대한 기술적 정의는 찾을 수 없습니다. 따라서 두 번째 인자가 볼륨인지, `1.0`이 최대 볼륨인지에 대한 확인은 제공된 문서 내용만으로는 불가능합니다. [scores] | [judge_reason] | [source_doc] | 기본 공격 스킬에 이펙트 스킬과 효과음을 추가해 역동적으로 연출할 수 있습니다. 1. **MyDesk**에 새로운 **SkillSound** 스크립트 컴포넌트를 생성하고, **DefaultPlayer**에 추가합니다. 2. 이벤트 핸들러에 **KeyDownEvent**를 추가하고 아래와 같이 내용을 작성합니다. ```lua Event Handler: [clinet only] [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { -- Parameters l
[task] | two_turn [pass] | ⏳ 미판정 [title] | 효과음 만들기 [question] | SoundComponent와 SoundService를 활용해 사운드 효과음을 생성하는 기본 원리와 주요 프로퍼티가 무엇인가요? [answer] | # SoundComponent와 SoundService를 활용한 사운드 효과음 생성 원리 ## 기본 원리 월드에 입체감을 부여하고 몰입감을 높이기 위해 **SoundComponent**와 **SoundService**를 사용해 음원을 재생하고 제어합니다. **SoundComponent**는 엔티티에 추가하여 소리의 재생과 정지를 제어하는 컴포넌트입니다. 특정 오브젝트와 상호작용할 때 다양한 소리를 삽입하거나, 플레이어와 특정 엔티티의 거리에 따라 음량이 자연스럽게 조절되도록 설정할 수 있습니다. 재생할 음원은 **Resour [followup] | SetListenerEntity 함수를 사용해 특정 엔티티와의 거리에 따라 음량을 조정하는 구체적인 코드 예시를 보여주세요. [followup_answer] | 특정 엔티티와의 거리에 따라 음량을 자동으로 조정하기 위해 `SetListenerEntity()` 함수를 사용하는 구체적인 코드 예시는 다음과 같습니다. 이 코드는 엔티티에 `SoundComponent`가 추가되어 있을 때 작동하며, 로컬 플레이어(`_UserService.LocalPlayer`)를 청취자로 설정하여 플레이어와의 거리에 따라 소리가 자연스럽게 커지거나 작아지도록 합니다. ```lua Method: [client only] void OnBeginPlay() { -- 재생할 음원의 RUID를 설정합니다. [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 월드를 입체적으로 만들기 위해 [**SoundComponent**](/apiReference/Components/SoundComponent)와 [**SoundService**](/apiReference/Services/SoundService)를 활용해 음원을 재생하고, 때에 맞게 제어하는 방법을 소개합니다. # SoundComponent 월드를 더욱 입체적으로 만들기 위해 다양한 소리가 이곳저곳에서 재생되게 만들거나, 플레이어와 특정 엔티티의 거리에 따라 다른 음량으로 들리게 만들 수 있습니다. **Soun
[task] | single_turn [pass] | ⏳ 미판정 [title] | 신발 만들기 [question] | 레이어 이름을 수정하면 아이템 제작이 불가능하다고 하는데, 어떤 부분의 이름만 바꾸면 안 되는 건가요? [answer] | 문서에 명시된 내용을 확인해 보면, **"모든 레이어"**의 이름을 수정하거나 삭제할 경우 아이템 제작이 불가능합니다. 즉, 특정 부분만 예외가 있는 것이 아니라, 아래에 나열된 **회색 레이어**와 **노란색 레이어**를 포함한 시트 내 모든 레이어의 이름을 절대 변경하지 않아야 합니다. * **회색 레이어 (잠겨 있음):** * `data` 폴더 (내부: `data:origin`, `data:type:Shoes`, `data:vslot:So`, `data:use_zmap_preset1`) * `gui [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 신발 제작 방법을 알아봅시다. 신발 제작을 응용해 신발과 함께 양말, 부츠도 제작할 수 있습니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Shoes.psd","url":"https://mod-file.dn.nexoncdn.co.kr/stora
[task] | code [pass] | ⏳ 미판정 [title] | 행동 트리를 활용한 AI 만들기 [question] | `Property` 블록에 `[Sync]` 속성을 가진 `number` 타입 변수를 정의하여, `Action Node` 실행 시 해당 변수 값을 증가시키고 클라이언트 측 `HandleTouchEvent` 이벤트 핸들러에서 이 값이 특정 임계값을 넘으면 `Parallel` 노드를 활성화하는 로직을 구현하는 스크립트를 작성해줘 [answer] | 제공된 참고 문서에 따르면, `Parallel` 노드를 "활성화"하는 별도의 API나 메서드(예: `Activate()`, `Enable()` 등)는 존재하지 않습니다. 행동 트리의 실행은 프레임마다 Root 노드에서 시작되어 순차적으로 진행되며, `Parallel` 노드 역시 다른 Composite Node와 마찬가지로 부모 노드에 의해 호출되어 실행됩니다. 따라서 `HandleTouchEvent`에서 특정 조건을 만족했다고 해서 `Parallel` 노드를 직접 "켜는" 로직을 구현할 수 없습니다. 또한, `HandleTouch [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 행동 트리는 프레임마다 Root 노드에서 시작합니다. 그 후 순차적으로 실행됩니다. 실행 순서는 위에서 아래, 왼쪽에서 오른쪽입니다. 부모 노드가 자식 노드를 실행하며 실행 순서는 각 부모에 등록된 순서대로 실행됩니다. 부모 노드는 종류에 따라 자식 노드 실행 조건을 달리하며, 조건에 부합할 때 부모가 가진 자식 노드를 모두 순차적으로 실행합니다. 예를 들어 부모 노드에 자식 노드 A, B, C가 순차적으로 등록된 경우 A가 가장 좌측에, 노드 C가 가장 우측에 배치됩니다. 부모 노드 실행 시 자식 노드는 A, B, C 순으로 실행
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 망토 만들기 [question] | 풍선 리본을 효율적으로 작업하는 팁을 적용한 작업 순서를 단계별 번호 목록으로 5단계 이내로 나열하세요. [answer] | 풍선 리본 작업을 효율적으로 수행하기 위한 단계별 순서는 다음과 같습니다. 1. `Avatar_Cape_balloon.psd` 파일을 열고 노란색 레이어를 선택합니다. 2. `Image - Adjustments - Hue/Saturation`(단축키 Ctrl+U)를 열어 풍선 색상을 원하는 색으로 조정 후 'OK'를 누릅니다. 3. Pencil tool을 선택하여 **첫 번째** 동작의 풍선에만 리본을 그립니다. 4. 그린 리본 레이어를 복사하여 나머지 모든 동작의 풍선 위치에 붙여넣기합니다. 5. 모든 노란색 레이어에서 색상 변 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 풍선 제작용 시트(Avatar_Cape_balloon.psd)를 엽니다. 1. 노란색 레이어를 클릭합니다. 2. **Image - Adjustments - Hue/Saturation** 또는 단축키 **Ctrl+U**를 입력해 Hue/Saturation 창을 엽니다. 3. Hue, Saturation 값을 조정합니다. 풍선 색상을 원하는 색으로 바꾸고 'OK' 버튼을 누릅니다. 5. Pencil tool을 선택하고 풍선에 리본을 그려줍니다. 각각의 동작에 모두 그려줍니다. 6. 모든 노란색 레이어에서 색상 변경을 한 뒤
[task] | code [pass] | ⏳ 미판정 [title] | 효과음 만들기 [question] | SpriteRendererComponent의 SpriteRUID를 c5cf1b7c8d6447f7979b544e166965fc 로 설정하고 SoundComponent의 SetCameraAsListener를 true 로 활성화하여 화면 중앙에서 멀어질수록 소리가 작아지는 망치질 효과음 스크립트를 작성해줘 [answer] | 제시된 참고 문서에는 `SpriteRendererComponent`의 `SpriteRUID`나 `SoundComponent`의 `SetCameraAsListener` 값을 **mLua 스크립트 코드로 직접 설정하는 API(함수)가 없습니다.** 문서에 따르면, 해당 값들은 에디터에서 **오브젝트 컴포넌트 설정을 통해 직접 입력**하는 방식입니다: 1. **Preset List**에서 오브젝트를 배치하고 **SpriteRendererComponent**의 **SpriteRUID** 필드에 `c5cf1b7c8d6447f7979b544 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **SetCameraAsListener** 프로퍼티를 활용하는 방법도 있습니다. **SoundComponent** 프로퍼티에서 설명했듯이 **SetCameraAsListener**를 활성화하면 화면 중앙과 음원 사이의 거리에 따라 소리 크기를 조절합니다. 간단하게 **SetCameraAsListener** 프로퍼티를 활용하는 방법을 살펴봅시다. 1. **Preset List**에서 아무 맵 오브젝트나 **Scene**에 배치한 뒤 **SpriteRendererComponent - SpriteRUID**에 아래의 **RUID**를
[task] | two_turn [pass] | ⏳ 미판정 [title] | 망토 만들기 [question] | 아바타 아이템 제작 시 제작 시트에서 회색 레이어와 노란색 레이어의 역할 및 수정 금지 규칙이 어떻게 다른가요? [answer] | 아바타 아이템 제작 시트에서 회색 레이어와 노란색 레이어는 다음과 같은 역할을 가지며, 수정 규칙도 명확히 구분됩니다. **1. 회색 레이어 (수정 금지)** * **역할**: * **data 폴더**: 아이템을 데이터화하기 위한 정보(중심점, 종류, zmap 등)를 포함합니다. 이미지 제작에는 직접적인 영향을 주지 않지만 시스템 처리에 필수적입니다. * **guide_character_summary**: 아바타의 샘플 몸통(Body)을 표시하여 아이템의 위치를 파악하는 데 도움을 줍니다. * [followup] | edithere:cape_capeOverHead_10 레이어에 무늬를 그릴 때 Pencil Tool 외에 다른 도구를 사용해도 되나요? [followup_answer] | 제공된 참고 문서에는 무늬를 그릴 때 **Pencil Tool**을 사용하는 구체적인 예시만 언급되어 있습니다. 문서에는 "Pencil Tool을 이용해 3번 레이어에 하트 무늬를 그립니다"라고 적혀 있으나, 다른 도구(예: Brush Tool, Eraser 등)의 사용 여부나 허용 범위에 대한 명시적인 지침은 포함되어 있지 않습니다. 따라서 문서의 정보만으로는 Pencil Tool 외에 다른 도구를 사용할 수 있는지 여부를 확답할 수 없습니다. 다만, 제작 시트의 일반 규칙(초록색 선 안쪽에서 작업, 레이어 이름 변경 금지 등 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 망토 제작 방법을 알아봅시다. 기본 망토에 컬러를 바꾸고 그 위에 그림을 그릴 수 있습니다. 망토 대신 풍선을 제작할 수도 있습니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Cape.psd","url":"https://mod-file.dn.n
[task] | code [pass] | ⏳ 미판정 [title] | 하의 만들기 [question] | 제공된 문서는 Adobe Photoshop을 이용한 아바타 하의 텍스처(이미지) 제작 가이드이며, mLua 스크립트 컴포넌트, 서비스(_UserService, _EntityService 등), 또는 게임 로직 API에 대한 정보가 전혀 포함되어 있지 않습니다. [answer] | 제공된 문서는 Adobe Photoshop을 사용하여 아바타 하의 텍스처(이미지)를 제작하는 방법에 대한 가이드입니다. 문서에 포함된 주요 내용은 다음과 같습니다: 1. **사전 준비**: Adobe Photoshop 설치 및 `Avatar_Pants.psd` 파일 다운로드. 2. **제작 시트 구성**: * **회색 레이어(잠김)**: `data` 폴더(데이터화용), `guide_character_summary`(아바타 샘플 body), `guide_grid`(그리드 가이드). * **노란색 레이어(편집 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 하의 제작 방법을 알아봅시다. 기본으로 제공되는 청 반바지의 길이를 조정하고 컬러를 바꿔 제작해보고, 자신만의 독특한 치마나 긴 바지를 만들 수 있습니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Pants.psd","url":"https://
[task] | two_turn [pass] | ⏳ 미판정 [title] | 행동 트리를 활용한 AI 만들기 [question] | 행동 트리 시스템에서 여러 프레임 동안 동작하는 노드와 기본 Composite/Decorator 노드의 처리 방식 차이는 무엇인가요? [answer] | 행동 트리 시스템에서 여러 프레임 동안 동작하는 노드와 기본 Composite/Decorator 노드의 처리 방식 차이는 **반환 상태(Status)의 처리 방식**과 **실행 주기의 지속성**에서 나타납니다. ### 1. 기본 Composite/Decorator 노드의 처리 방식 문서에 따르면, 기본 노드들은 주로 **즉시 반환**하는 방식을 취합니다. * **Selector Node**: 자식 노드를 순서대로 실행합니다. 자식 노드가 `Success`를 반환하면 즉시 실행을 멈추고 부모에게 `Success`를 반환합니다. [followup] | 여러 프레임 동안 동작하는 노드가 실행 중일 때 부모 노드로 반환 값을 전달하는 시점과, 이 경우 Selector 또는 Parallel 노드와 결합 시 발생하는 예외적인 동작 상황을 알려 주세요. [followup_answer] | 제공된 참고 문서에는 **여러 프레임 동안 동작하는 노드(Running 상태)가 실행 중일 때 부모 노드로 반환 값을 전달하는 구체적인 시점**에 대한 명시적인 설명이 없습니다. 문서에서 "여러 프레임 동안 동작하는 노드" 섹션은 제목만 존재하며, 그 아래에 제공된 mLua 예시 코드들은 `OnBeginPlay`에서 노드를 생성하거나, 특정 Decorator 노드의 `OnBehave` 메서드 구현 예시일 뿐입니다. 특히, `Running` 상태가 반환되었을 때 부모 노드(Selector, Parallel 등)가 이를 어떻게 처리하 [scores] | [judge_reason] | [source_doc] | **Selector Node**는 자식 노드를 순서대로 실행하다가 자식 노드가 Success를 반환하면 실행을 멈추고 부모 노드로 Success를 반환합니다. 모든 자식 노드가 Failure를 반환하면 부모 노드에 Failure를 반환합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/17168858785873218b87041fd46df9756a267a30ce29e.png "SelectorNode") #### RandomSelector Node **RandomSelec
[task] | single_turn [pass] | ⏳ 미판정 [title] | 신발 만들기 [question] | 노란색 레이어(edithere:shoes_shoesTop_69)에서 초록색 가이드 선을 벗어나서 그림을 그리면 어떤 문제가 발생하나요? [answer] | 노란색 레이어(edithere:shoes_shoesTop_69)에서 초록색 가이드 선을 벗어나서 그림을 그리면 아이템이 올바르게 제작되지 않거나, 아바타의 동작과 정렬이 어긋나 문제가 발생할 수 있습니다. 문서에 따르면, 신발(및 양말, 부츠)을 그릴 때는 **초록색 가이드 선을 벗어나지 않게** 그려야 한다고 명시되어 있습니다. 또한, 아이템은 아바타 발을 기준으로 최대 120x120 안에서 제작하는 것이 권장됩니다. 가이드 선 안쪽에서 작업하지 않으면 아바타의 다양한 몸동작에 맞춰 이미지가 층층이 쌓이는 구조(zmap 등)와 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 신발 제작 방법을 알아봅시다. 신발 제작을 응용해 신발과 함께 양말, 부츠도 제작할 수 있습니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Shoes.psd","url":"https://mod-file.dn.nexoncdn.co.kr/stora
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 상의 만들기 [question] | 아바타 상의 제작 시 권장되는 최대 해상도 범위와 필수적인 Adobe Photoshop 파일 이름을 2문장 이내로 답변하세요. [answer] | 아바타 상의는 아바타 발을 기준으로 최대 120x120 범위 안에서 제작하는 것이 권장됩니다. 필수적인 Adobe Photoshop 파일 이름은 `Avatar_Coat.psd`입니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 상의 제작 방법을 알아봅시다. 기본 상의 색상을 바꾸고 그 위에 그림을 그릴 수 있습니다. 상의는 복잡한 구조로 구성되어 있기 때문에 바지나 신발 아이템 제작에 익숙해진 후 작업하는 걸 권장합니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_C
[task] | two_turn [pass] | ⏳ 미판정 [title] | 망토 만들기 [question] | 풍선 아이템이 게임 내에서 망토와 동시에 사용되지 않는 이유는 무엇인가요? [answer] | 풍선 아이템은 게임 시스템 내에서 **망토(Cape) 카테고리**에 속하는 아이템으로 분류되기 때문에, 이미 망토 슬롯에 다른 망토 아이템이 장착되어 있으면 풍선을 동시에 착용할 수 없습니다. 즉, 같은 슬롯(망토)을 공유하는 아이템끼리는 서로 충돌하여 동시에 사용할 수 없는 구조입니다. [followup] | 풍선 제작용 시트(Avatar_Cape_balloon.psd)를 편집할 때, 모든 노란색 레이어의 색상을 변경한 후 반드시 수행해야 하는 최종 단계는 무엇인가요? [followup_answer] | 모든 노란색 레이어에서 색상 변경을 완료한 뒤에는 **파일을 저장**하는 것이 최종 단계입니다. [scores] | [judge_reason] | [source_doc] | 풍선 제작용 시트(Avatar_Cape_balloon.psd)를 엽니다. 1. 노란색 레이어를 클릭합니다. 2. **Image - Adjustments - Hue/Saturation** 또는 단축키 **Ctrl+U**를 입력해 Hue/Saturation 창을 엽니다. 3. Hue, Saturation 값을 조정합니다. 풍선 색상을 원하는 색으로 바꾸고 'OK' 버튼을 누릅니다. 5. Pencil tool을 선택하고 풍선에 리본을 그려줍니다. 각각의 동작에 모두 그려줍니다. 6. 모든 노란색 레이어에서 색상 변경을 한 뒤
[task] | two_turn [pass] | ⏳ 미판정 [title] | 효과음 만들기 [question] | UI 버튼 클릭 시 효과음을 재생하기 위해 _SoundService:PlaySound을 사용할 때, PlayOnEnable 프로퍼티와 충돌하는 문제가 발생하거나 음량이 1로 고정되는 이유는 무엇인가? [answer] | 제공된 참고 문서에는 `_SoundService:PlaySound` 함수 호출 시 `PlayOnEnable` 프로퍼티와 충돌이 발생하거나 음량이 1로 고정되는 현상에 대한 설명, 원인 분석, 또는 해결책이 포함되어 있지 않습니다. 문서에서는 `SoundComponent`의 `PlayOnEnable` 프로퍼티가 `true`로 설정될 경우 컴포넌트 활성화 시 음원이 재생된다는 사실과, `SetCameraAsListener`를 활성화했을 때 화면 중앙(카메라)과 음원 사이의 거리에 따라 소리 크기가 조절된다는 사실만을 설명하고 있습니다 [followup] | UI 버튼 이벤트 핸들러 내에서 _SoundService:PlaySound의 첫 번째 인자로 RUID를, 두 번째 인자로 음량을 전달하는 문법이 올바른지 확인하고, 버튼이 여러 번 눌릴 때 소리가 중복 재생되지 않도록 방지하는 코드 예시를 작성해줘. [followup_answer] | 1. **문법 확인** 참고 문서의 "UI 버튼 효과음 추가" 예시를 보면, `_SoundService:PlaySound("21600ec9d3a04cfeb69c6fe0c50e197c",1)` 형태로 호출하고 있습니다. 여기서 첫 번째 인자 `"21600ec9d3a04cfeb69c6fe0c50e197c"`는 음원의 RUID(문서에서는 `AudioClipRUID`라고 설명)이며, 두 번째 인자 `1`은 음량입니다. 따라서 질문하신 문법은 문서에 나와 있는 사용 예시와 일치하므로 올바릅니다. 2. **중복 재생 방지 코드 예시** 참고 [scores] | [judge_reason] | [source_doc] | **SetCameraAsListener** 프로퍼티를 활용하는 방법도 있습니다. **SoundComponent** 프로퍼티에서 설명했듯이 **SetCameraAsListener**를 활성화하면 화면 중앙과 음원 사이의 거리에 따라 소리 크기를 조절합니다. 간단하게 **SetCameraAsListener** 프로퍼티를 활용하는 방법을 살펴봅시다. 1. **Preset List**에서 아무 맵 오브젝트나 **Scene**에 배치한 뒤 **SpriteRendererComponent - SpriteRUID**에 아래의 **RUID**를