[task] | instruction_following [pass] | ⏳ 미판정 [title] | 엔티티의 상태 제어하기 [question] | State 이름은 왜 영어 대문자로 지어야 하는지 이유를 3문장 이내로 설명하세요. [answer] | State 이름은 `AddState()`와 같은 함수 호출 시 자동으로 대문자로 변환되어 등록되지만, 소문자를 사용하더라도 동작이 예상과 달라질 수 있기 때문입니다. 이러한 불일치를 방지하기 위해 일관된 동작을 보장하는 것이 중요합니다. 따라서 크리에이터가 의도한 대로 상태가 정확히 관리되도록 명시적으로 영어 대문자로 지어야 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 [StateComponent](/apiReference/Components/StateComponent)와 StateType의 개념을 알아보고, 엔티티의 상태에 따라 애니메이션이 재생되는 과정을 이해해봅시다. # State, StateComponent 알아보기 **State**는 어떤 엔티티가 특정한 상태에 있는 것을 말합니다. 서 있는 상태, 엎드린 상태, 공격 상태 등 크리에이터에 따라 다양한 상태를 정의할 수 있습니다. 월드에서 내 캐릭터가 가만히 서 있는 것이 당연하게 느껴질 수 있지만 이는 캐릭터의
[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티의 상태 제어하기 [question] | StateAnimationComponent는 어떤 타입의 엔티티에만 적용할 수 있나요? [answer] | StateAnimationComponent는 **monster**와 **npc** 타입의 엔티티에만 적용할 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 [StateComponent](/apiReference/Components/StateComponent)와 StateType의 개념을 알아보고, 엔티티의 상태에 따라 애니메이션이 재생되는 과정을 이해해봅시다. # State, StateComponent 알아보기 **State**는 어떤 엔티티가 특정한 상태에 있는 것을 말합니다. 서 있는 상태, 엎드린 상태, 공격 상태 등 크리에이터에 따라 다양한 상태를 정의할 수 있습니다. 월드에서 내 캐릭터가 가만히 서 있는 것이 당연하게 느껴질 수 있지만 이는 캐릭터의
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 게임 섬네일 변경하기 [question] | 게임 섬네일 등록 절차와 최대 등록 가능 수를 3문장 이내로 요약하여 설명해 주세요. [answer] | 만들기 메뉴에서 월드를 선택한 후 이미지 탭의 [이미지 첨부] 버튼을 클릭해 내 컴퓨터의 이미지를 등록합니다. 이렇게 등록할 수 있는 게임 섬네일은 최대 5장까지입니다. 등록 후에는 이미지 탭에서 [삭제] 버튼을 눌러 원하는 섬네일을 제거할 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 게임 섬네일은 유저의 흥미와 플레이 욕구를 자극할 수 있는 중요한 요소입니다. 이번 과정에서는 게임의 섬네일을 등록, 삭제하는 방법에 대해 알아보겠습니다. # 섬네일 등록하기 1. **만들기** 메뉴에 있는 월드 목록에서 섬네일을 변경하려는 월드를 선택합니다. 2. **이미지** 탭에서 **[이미지 첨부]** 버튼을 클릭해 내 컴퓨터에 있는 이미지를 섬네일로 등록합니다. 섬네일은 최대 5장까지 등록 가능합니다. 3. 아래와 같이 등록한 이미지를 확인할 수 있습니다. # YouTube 영상 등록하기
[task] | single_turn [pass] | ⏳ 미판정 [title] | 뒤통수가 개방된 모자 [question] | 모자 이펙트 애니메이션을 만들 때 모든 레이어에 동일한 모자를 그려야 하는 이유는 무엇인가요? [answer] | 모자 이펙트 애니메이션(Avatar_Cap_Ani.psd)에서 모든 레이어에 동일한 모자를 그려야 하는 이유는, 애니메이션이 재생될 때 모자의 형태가 프레임마다 달라지지 않도록 하기 위해서입니다. 이펙트 애니메이션은 앞모습 4프레임, 뒷모습 2프레임으로 구성되며, 각 프레임(레이어)마다 모자와 이펙트를 함께 그립니다. 만약 레이어별로 모자의 모양이나 위치가 다르면, 애니메이션이 재생되는 동안 모자가 떨리거나 형태가 변하는 것처럼 보이는 시각적 오류가 발생할 수 있습니다. 따라서 이펙트만 자연스럽게 움직이도록 하려면, 배경이 되는 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | * **case1.front**: 모자의 앞모습을 그릴 레이어와 앞모습의 일반 헤어와 눌린 헤어 샘플이 포함되어 있습니다. * **edithere:cap_cap_34**: 모자의 앞모습을 그릴 수 있는 레이어입니다. * **edithere:cap_frontBackCap_92**: 헤어 뒤에 오는 모자의 앞모습을 그릴 수 있는 레이어입니다. * **case2.back**: 모자의 뒷모습을 그릴 레이어와 뒷모습의 일반 헤어와 눌린 헤어 샘플이 포함되어 있습니다. * **edithere:cap_backCap_92**
[task] | code [pass] | ⏳ 미판정 [title] | 후드 [question] | `data:origin`의 빨간색 점 좌표를 중심으로 120x120 픽셀 범위 내에서 후드 이미지가 벗어나는지 실시간으로 검증하는 스크립트를 작성해줘 [answer] | 제시된 참고 문서에는 `data:origin`의 좌표 값, 픽셀 단위 검증 API, 이미지 바운딩 박스(Bounding Box)를 실시간으로 조회하거나 검증하는 mLua API가 포함되어 있지 않습니다. 문서에 따르면 `data:origin`은 "빨간색 점으로 데이터의 중심을 표시"하는 용도이며, 모자 제작 시 "아바타 발을 기준으로 최대 120x120 안에서 제작을 권장"한다고만 서술되어 있습니다. 그러나 이를 스크립트로 실시간 검증하기 위한 API(예: `GetComponent("Image").Bounds` 등)나 `data: [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 후드 시트를 소개합니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588%7B%22target%22:%22_self%22%7D)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Cap_G.psd","url":"https://mod-file.dn.nexoncdn.co.kr/storage/Avatar_
[task] | two_turn [pass] | ⏳ 미판정 [title] | 여러 개의 카드 보여주기 [question] | 카드 짝 맞추기 게임에서 `CardBoard` 컴포넌트를 사용하여 데이터셋의 카드를 랜덤하게 섞어 화면에 생성하는 전체 로직은 어떻게 동작하나요? [answer] | 카드 짝 맞추기 게임에서 `CardBoard` 컴포넌트는 데이터셋에 저장된 카드 정보를 가져와 무작위로 섞은 후, 해당 순서에 따라 화면에 카드 엔티티를 생성하는 역할을 합니다. 전체 동작 과정은 다음과 같습니다. 1. **데이터셋 로드 및 덱 구성**: * `_DataService:GetRowCount("CardSet")`을 호출하여 데이터셋 `CardSet`에 저장된 카드의 총 개수(`deckCount`)를 확인합니다. * `for` 루프를 사용하여 1번부터 `deckCount`까지의 각 행에서 첫 번째 [followup] | `SetCards()` 함수 내에서 `_DataService`로 데이터를 조회하고 셔플한 후, `CreateCardEntities()`를 통해 `_SpawnService`로 인스턴스를 생성하는 구체적인 코드 흐름과 `_SpawnService:SpawnByModelId` 호출 시 전달되는 파라미터의 의미는 무엇인가요? [followup_answer] | `SetCards()` 함수는 데이터셋에서 카드 정보를 조회하여 무작위로 섞은 후, `CreateCardEntities()`를 호출하여 화면에 카드 엔티티를 생성하는 흐름으로 동작합니다. ### 1. `SetCards()` 내부 코드 흐름 1. **데이터셋 조회**: * `_DataService:GetRowCount("CardSet")`을 호출하여 `CardSet` 데이터셋의 총 행 수(`deckCount`)를 구합니다. * `for` 루프(1부터 `deckCount`)를 통해 `_DataService:G [scores] | [judge_reason] | [source_doc] | # 전체 스크립트 #### CardBoard 컴포넌트 ```lua Property: [None] Entity CardSpawnRoot = /ui/CardParirGameUi/UI_Board/UI_Blocks/UI_Block_Group Method: [client only] Void SetCards() { local deckTable = {} local cardTable = {} local deckCount = _DataService:GetRowCount("CardSet") for
[task] | single_turn [pass] | ⏳ 미판정 [title] | 뒤통수가 개방된 모자 [question] | 이펙트가 있는 모자 파일에서 앞모습과 뒷모습 각각에 필요한 애니메이션 프레임 수는 어떻게 다른가요? [answer] | 이펙트가 있는 모자 파일(Avatar_Cap_Ani.psd)에서는 앞모습과 뒷모습의 애니메이션 프레임 수가 다릅니다. * **앞모습 (case1.front)**: **4프레임**의 애니메이션 규칙을 따릅니다. animation 폴더 내에 4장의 레이어가 있으며, 모든 레이어에 동일한 모자와 이펙트를 그려야 합니다. * **뒷모습 (case2.back)**: **2프레임**의 애니메이션 규칙을 따릅니다. animation 폴더 내에 2장의 레이어가 있으며, 모든 레이어에 동일한 모자와 이펙트를 그려야 합니다. 참고로, 이러 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | * **case1.front**: 모자의 앞모습을 그릴 레이어와 앞모습의 일반 헤어와 눌린 헤어 샘플이 포함되어 있습니다. * **edithere:cap_cap_34**: 모자의 앞모습을 그릴 수 있는 레이어입니다. * **edithere:cap_frontBackCap_92**: 헤어 뒤에 오는 모자의 앞모습을 그릴 수 있는 레이어입니다. * **case2.back**: 모자의 뒷모습을 그릴 레이어와 뒷모습의 일반 헤어와 눌린 헤어 샘플이 포함되어 있습니다. * **edithere:cap_backCap_92**
[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티의 상태 제어하기 [question] | StateComponent는 기본적으로 어떤 두 가지 상태를 가지고 있나요? [answer] | StateComponent는 기본적으로 **IDLE**과 **DEAD** 두 가지 상태를 가지고 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 [StateComponent](/apiReference/Components/StateComponent)와 StateType의 개념을 알아보고, 엔티티의 상태에 따라 애니메이션이 재생되는 과정을 이해해봅시다. # State, StateComponent 알아보기 **State**는 어떤 엔티티가 특정한 상태에 있는 것을 말합니다. 서 있는 상태, 엎드린 상태, 공격 상태 등 크리에이터에 따라 다양한 상태를 정의할 수 있습니다. 월드에서 내 캐릭터가 가만히 서 있는 것이 당연하게 느껴질 수 있지만 이는 캐릭터의
[task] | single_turn [pass] | ⏳ 미판정 [title] | 뒤통수가 개방된 모자 [question] | 모자 이펙트가 모든 동작에서 재생되는 것이 아니라 특정 동작에서만 재생되는 이유는 무엇이며, 그 동작들은 무엇인가요? [answer] | 모자 이펙트가 모든 동작에서 재생되지 않고 특정 동작에서만 재생되는 이유는, 해당 이펙트 애니메이션이 오직 **'stand', 'walk', 'fly', 'rope', 'ladder'** 동작에서만 지원되도록 설계되어 있기 때문입니다. 이 5가지 동작 외의 다른 동작에서는 이펙트가 재생되지 않으며, 이펙트 애니메이션의 **첫 번째 프레임만 정적으로 표시**됩니다. 따라서 모자 이펙트가 정상적으로 애니메이션으로 재생되는 동작은 다음과 같습니다: 1. stand 2. walk 3. fly 4. rope 5. ladder [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | * **case1.front**: 모자의 앞모습을 그릴 레이어와 앞모습의 일반 헤어와 눌린 헤어 샘플이 포함되어 있습니다. * **edithere:cap_cap_34**: 모자의 앞모습을 그릴 수 있는 레이어입니다. * **edithere:cap_frontBackCap_92**: 헤어 뒤에 오는 모자의 앞모습을 그릴 수 있는 레이어입니다. * **case2.back**: 모자의 뒷모습을 그릴 레이어와 뒷모습의 일반 헤어와 눌린 헤어 샘플이 포함되어 있습니다. * **edithere:cap_backCap_92**
[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티의 상태 제어하기 [question] | PlayerControllerComponent가 포함된 엔티티에서 자동으로 추가되는 상태 목록에는 무엇이 있나요? [answer] | PlayerControllerComponent가 포함된 엔티티에는 다음과 같은 상태들이 자동으로 추가됩니다. * MOVE * CLIMB * LADDER * CROUCH * JUMP * FALL * ATTACK * ATTACK_WAIT * SIT [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 [StateComponent](/apiReference/Components/StateComponent)와 StateType의 개념을 알아보고, 엔티티의 상태에 따라 애니메이션이 재생되는 과정을 이해해봅시다. # State, StateComponent 알아보기 **State**는 어떤 엔티티가 특정한 상태에 있는 것을 말합니다. 서 있는 상태, 엎드린 상태, 공격 상태 등 크리에이터에 따라 다양한 상태를 정의할 수 있습니다. 월드에서 내 캐릭터가 가만히 서 있는 것이 당연하게 느껴질 수 있지만 이는 캐릭터의
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 게임 섬네일 변경하기 [question] | 출시 단계에서 섬네일을 등록할 수 있는 3가지 방법(이미지, 스큯린샷, AI)을 표로 정리해서 보여주세요. [answer] | 출시 단계에서 섬네일을 등록할 수 있는 3가지 방법은 다음과 같습니다. | 방법 | 설명 | | :--- | :--- | | **이미지** | 내 컴퓨터에 있는 이미지를 섬네일로 등록합니다. | | **스크린샷** | 현재 메이커 상의 화면을 섬네일로 등록합니다. | | **AI** | AI를 이용해 자동 생성된 섬네일을 추가합니다. | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 게임 섬네일은 유저의 흥미와 플레이 욕구를 자극할 수 있는 중요한 요소입니다. 이번 과정에서는 게임의 섬네일을 등록, 삭제하는 방법에 대해 알아보겠습니다. # 섬네일 등록하기 1. **만들기** 메뉴에 있는 월드 목록에서 섬네일을 변경하려는 월드를 선택합니다. 2. **이미지** 탭에서 **[이미지 첨부]** 버튼을 클릭해 내 컴퓨터에 있는 이미지를 섬네일로 등록합니다. 섬네일은 최대 5장까지 등록 가능합니다. 3. 아래와 같이 등록한 이미지를 확인할 수 있습니다. # YouTube 영상 등록하기
[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티의 상태 제어하기 [question] | StateComponent에 새로운 상태를 추가할 때 State 이름을 소문자로 지정하면 어떤 문제가 발생할 수 있나요? [answer] | State 이름을 소문자로 지정하면 `AddState()`와 같은 함수를 호출할 때 자동으로 대문자로 변환되어 등록됩니다. 하지만 이렇게 자동 변환이 이루어지는 과정에서 동작이 예상과 달라질 수 있는 문제가 발생할 수 있습니다. 따라서 State 이름은 영어 대문자로 직접 지정하는 것이 권장됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 [StateComponent](/apiReference/Components/StateComponent)와 StateType의 개념을 알아보고, 엔티티의 상태에 따라 애니메이션이 재생되는 과정을 이해해봅시다. # State, StateComponent 알아보기 **State**는 어떤 엔티티가 특정한 상태에 있는 것을 말합니다. 서 있는 상태, 엎드린 상태, 공격 상태 등 크리에이터에 따라 다양한 상태를 정의할 수 있습니다. 월드에서 내 캐릭터가 가만히 서 있는 것이 당연하게 느껴질 수 있지만 이는 캐릭터의
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 게임 섬네일 변경하기 [question] | 섬네일과 YouTube 영상 삭제 시 각각 선택해야 하는 탭과 클릭해야 하는 버튼 이름을 단계별 번호 목록으로 나열하세요. [answer] | 섬네일과 YouTube 영상 삭제를 위한 단계별 절차는 다음과 같습니다. **섬네일 삭제** 1. **이미지** 탭을 선택합니다. 2. 삭제하고자 하는 섬네일이 보이는 상태에서 **[삭제]** 버튼을 클릭합니다. **YouTube 영상 삭제** 1. **동영상** 탭을 선택합니다. 2. **[삭제]** 버튼을 클릭합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 게임 섬네일은 유저의 흥미와 플레이 욕구를 자극할 수 있는 중요한 요소입니다. 이번 과정에서는 게임의 섬네일을 등록, 삭제하는 방법에 대해 알아보겠습니다. # 섬네일 등록하기 1. **만들기** 메뉴에 있는 월드 목록에서 섬네일을 변경하려는 월드를 선택합니다. 2. **이미지** 탭에서 **[이미지 첨부]** 버튼을 클릭해 내 컴퓨터에 있는 이미지를 섬네일로 등록합니다. 섬네일은 최대 5장까지 등록 가능합니다. 3. 아래와 같이 등록한 이미지를 확인할 수 있습니다. # YouTube 영상 등록하기
[task] | single_turn [pass] | ⏳ 미판정 [title] | 엔티티의 상태 제어하기 [question] | AIChaseComponent와 함께 사용될 때 StateComponent에 자동으로 추가되는 상태는 무엇인가요? [answer] | AIChaseComponent 또는 AIWanderComponent와 함께 사용될 때 StateComponent에 자동으로 추가되는 상태는 **MOVE**입니다. 엔티티를 움직이는 키 입력이 있을 때 MOVE 상태로 전이하여 걷는 애니메이션이 재생됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 [StateComponent](/apiReference/Components/StateComponent)와 StateType의 개념을 알아보고, 엔티티의 상태에 따라 애니메이션이 재생되는 과정을 이해해봅시다. # State, StateComponent 알아보기 **State**는 어떤 엔티티가 특정한 상태에 있는 것을 말합니다. 서 있는 상태, 엎드린 상태, 공격 상태 등 크리에이터에 따라 다양한 상태를 정의할 수 있습니다. 월드에서 내 캐릭터가 가만히 서 있는 것이 당연하게 느껴질 수 있지만 이는 캐릭터의
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 엔티티의 상태 제어하기 [question] | StateChangeEvent, DeadEvent, ReviveEvent가 각각 어떤 조건에서 발생하는지 3줄 이내로 설명하세요. [answer] | StateComponent의 상태가 전이될 때 발생합니다. StateComponent가 DEAD 상태에 진입할 때 발생합니다. DefaultPlayer에 StateComponent와 PlayerComponent가 함께 있는 상태에서 PlayerComponent:Respawn() 함수가 호출될 때 발생합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 어떤 상태에서 다음 상태로 변하는 것을 상태 전이(Transition)라 합니다. 상태 전이가 발생할 때 다양한 이벤트가 발생하고, 이를 활용해 특정 엔티티가 상태 전이를 감지할 수 있습니다. 이벤트는 상태 전이가 발생하기 이전의 상태와 현재 상태(바뀐 상태)의 정보를 갖고 있습니다. 아래와 같은 상황에서 이벤트가 발생합니다. * StateComponent의 상태가 전이되면, [StateChangeEvent](/apiReference/Events/StateChangeEvent)가 함께 발생합니다. * StateComponent가
[task] | single_turn [pass] | ⏳ 미판정 [title] | 제작 과정 안내 [question] | 포토샵 타임라인에서 앞모습과 뒷모습 레이어를 각각 1번과 2번 채널에 배치할 때 뒷모습 레이어 번호가 앞모습과 다른 이유를 설명해 주실 수 있나요? [answer] | 제공된 문서에 따르면, 포토샵 타임라인에서 앞모습과 뒷모습 레이어 번호가 다르게 배치되는 이유는 **앞모습과 뒷모습의 애니메이션 프레임 수가 다르기 때문**입니다. 구체적인 내용은 다음과 같습니다. 1. **앞모습(case1.front)의 프레임 구성:** * `edithere:cap_cap_34:0`부터 `edithere:cap_cap_34:3`까지 총 **4개의 레이어**가 있습니다. * 따라서 앞모습은 0, 1, 2, 3번 프레임으로 구성됩니다. 2. **뒷모습(case2.back)의 프레임 구성 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 이펙트 모자를 만들기 위해 **Avatar_Cap_Ani.psd** 파일을 열어 하트 모양 이펙트를 만들어봅시다. | 기본 이펙트 | 하트 이펙트 | | --- | --- | | | | 1. case1.front 폴더 - **edithere:cap_cap_34:0** 레이어에 모자의 앞모습을 그립니다. 2. 모자를 복사해 나머지 3개의 레이어에 동일하게 그립니다. * **edithere:cap_cap_34:1** * **edithere:cap_cap_34:2** * **edithere:cap_cap_
[task] | two_turn [pass] | ⏳ 미판정 [title] | 제작 과정 안내 [question] | 아바타 아이템의 이펙트 모자는 어떤 동작 상태에서만 애니메이션이 정상적으로 재생되나요? [answer] | 아바타 아이템의 이펙트 모자는 **'stand', 'walk', 'fly', 'rope', 'ladder'** 동작 상태에서만 애니메이션이 정상적으로 재생됩니다. 이 다섯 가지 동작을 제외한 다른 동작 상태에서는 애니메이션이 재생되지 않고, 첫 번째 프레임(0번 프레임)만 고정되어 표시됩니다. [followup] | 'stand', 'walk', 'fly', 'rope', 'ladder' 외의 다른 동작에서 첫 번째 프레임만 보이는 현상을 해결하거나 다른 동작에서도 이펙트가 보이게 하려면 어떻게 해야 하나요? [followup_answer] | 제공된 참고 문서에는 'stand', 'walk', 'fly', 'rope', 'ladder' 외의 다른 동작에서 이펙트가 재생되지 않고 첫 번째 프레임만 보이는 현상을 해결하거나, 다른 동작에서도 이펙트가 보이게 하는 방법에 대한 정보가 포함되어 있지 않습니다. 문서에는 해당 동작 목록에서만 이펙트가 재생되고, 다른 동작에서는 첫 번째 프레임만 표시된다는 사실만 명시되어 있을 뿐, 이를 변경하거나 우회하는 제작 절차나 API 설정 방법은 다루지 않습니다. [scores] | [judge_reason] | [source_doc] | 이펙트 모자를 만들기 위해 **Avatar_Cap_Ani.psd** 파일을 열어 하트 모양 이펙트를 만들어봅시다. | 기본 이펙트 | 하트 이펙트 | | --- | --- | | | | 1. case1.front 폴더 - **edithere:cap_cap_34:0** 레이어에 모자의 앞모습을 그립니다. 2. 모자를 복사해 나머지 3개의 레이어에 동일하게 그립니다. * **edithere:cap_cap_34:1** * **edithere:cap_cap_34:2** * **edithere:cap_cap_
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 엔티티의 상태 제어하기 [question] | StateComponent에 StateType을 추가하는 코드를 주석으로 설명만 포함하여 출력하세요. [answer] | ```lua -- StateComponent에 StateType을 추가합니다. -- AddState 함수의 첫 번째 인자로는 추가할 상태의 이름을 문자열로 지정합니다. -- 두 번째 인자로는 해당 상태의 동작을 정의한 StateType 변수를 전달합니다. self.Entity.StateComponent:AddState("MOVEUP", MoveUp) ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 어떤 상태에서 다음 상태로 변하는 것을 상태 전이(Transition)라 합니다. 상태 전이가 발생할 때 다양한 이벤트가 발생하고, 이를 활용해 특정 엔티티가 상태 전이를 감지할 수 있습니다. 이벤트는 상태 전이가 발생하기 이전의 상태와 현재 상태(바뀐 상태)의 정보를 갖고 있습니다. 아래와 같은 상황에서 이벤트가 발생합니다. * StateComponent의 상태가 전이되면, [StateChangeEvent](/apiReference/Events/StateChangeEvent)가 함께 발생합니다. * StateComponent가
[task] | single_turn [pass] | ⏳ 미판정 [title] | 게임 섬네일 변경하기 [question] | 이미지 탭에서 섬네일을 최대 5장까지 등록할 수 있는데, 이미 등록한 특정 섬네일만 지우려면 어떤 순서로 버튼을 눌러야 하나요? [answer] | 이미지 탭에서 이미 등록한 특정 섬네일을 삭제하려면 다음 순서로 진행합니다. 1. **이미지** 탭을 선택합니다. 2. 삭제하고자 하는 섬네일이 화면에 보이는 상태에서 **[삭제]** 버튼을 클릭합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 게임 섬네일은 유저의 흥미와 플레이 욕구를 자극할 수 있는 중요한 요소입니다. 이번 과정에서는 게임의 섬네일을 등록, 삭제하는 방법에 대해 알아보겠습니다. # 섬네일 등록하기 1. **만들기** 메뉴에 있는 월드 목록에서 섬네일을 변경하려는 월드를 선택합니다. 2. **이미지** 탭에서 **[이미지 첨부]** 버튼을 클릭해 내 컴퓨터에 있는 이미지를 섬네일로 등록합니다. 섬네일은 최대 5장까지 등록 가능합니다. 3. 아래와 같이 등록한 이미지를 확인할 수 있습니다. # YouTube 영상 등록하기
[task] | single_turn [pass] | ⏳ 미판정 [title] | 뒤통수가 개방된 모자 [question] | Avatar_Cap_A1과 A2 파일의 차이는 무엇이며, 앞모습에서 헤어 앞뒤에 레이어가 하나인지 둘인지에 따라 어떻게 구분하나요? [answer] | Avatar_Cap_A1과 Avatar_Cap_A2 파일의 차이는 **앞모습에서 헤어(머리카락)의 앞뒤로 배치되는 모자 레이어의 개수**에 있습니다. 1. **Avatar_Cap_A1.psd**: 앞모습에서 헤이의 **앞에만 1개의 레이어**가 있는 경우를 위한 파일입니다. 2. **Avatar_Cap_A2.psd**: 앞모습에서 헤이의 **앞과 뒤에 2개의 레이어**가 있는 경우를 위한 파일입니다. 구체적인 레이어 구성 차이는 다음과 같습니다. * **Avatar_Cap_A1 (앞모습 1개 레이어 구조)** * [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 뒤통수가 개방된 모자 제작 방법을 알아봅시다. 기본 모자의 색상을 변경하고, 악세사리를 그릴 수 있습니다. 모자는 복잡한 구조로 바지나 신발 아이템 제작에 익숙해진 후 작업하는 걸 권장합니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588%7B%22target%22:%22_self%22%7D)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$a
[task] | two_turn [pass] | ⏳ 미판정 [title] | 게임 섬네일 변경하기 [question] | 게임 섬네일을 등록하고 관리하는 기본적인 절차와 출시 시점에 변경하는 방법에 대해 설명해 주세요. [answer] | 게임 섬네일과 영상을 등록하고 관리하는 절차는 메이커의 개발 단계와 게임 출시(Release) 단계로 나뉩니다. ### 1. 개발 단계에서 섬네일 및 영상 관리하기 **섬네일 등록** 1. **만들기** 메뉴의 월드 목록에서 섬네일을 변경할 월드를 선택합니다. 2. **이미지** 탭을 선택한 후 **[이미지 첨부]** 버튼을 클릭하여 내 컴퓨터에 있는 이미지를 등록합니다. 3. 섬네일은 최대 5장까지 등록할 수 있습니다. **YouTube 영상 등록** 1. **동영상** 탭을 선택합니다. 2. **[YouTube URL]** [followup] | 출시 단계에서 제공되는 3가지 섬네일 등록 방식(이미지, 스크린샷, AI) 중 'AI' 방식으로 섬네일을 추가하는 구체적인 동작 방식이나 제약 조건이 있는지 궁금합니다. [followup_answer] | 제공된 참고 문서에는 출시 단계에서 AI 방식으로 섬네일을 추가할 때 "AI 자동 생성 섬네일 추가"라고만 언급되어 있으며, 구체적인 동작 방식이나 제약 조건에 대한 설명은 포함되어 있지 않습니다. [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 게임 섬네일은 유저의 흥미와 플레이 욕구를 자극할 수 있는 중요한 요소입니다. 이번 과정에서는 게임의 섬네일을 등록, 삭제하는 방법에 대해 알아보겠습니다. # 섬네일 등록하기 1. **만들기** 메뉴에 있는 월드 목록에서 섬네일을 변경하려는 월드를 선택합니다. 2. **이미지** 탭에서 **[이미지 첨부]** 버튼을 클릭해 내 컴퓨터에 있는 이미지를 섬네일로 등록합니다. 섬네일은 최대 5장까지 등록 가능합니다. 3. 아래와 같이 등록한 이미지를 확인할 수 있습니다. # YouTube 영상 등록하기
[task] | code [pass] | ⏳ 미판정 [title] | 후드 [question] | `data:use_zmap_preset1` 파일의 데이터 구조를 기반으로 아바타의 몸, 옷, 무기 순서대로 Sprite의 높이를 정렬하는 로직을 구현하는 스크립트를 작성해줘 [answer] | 제시된 참고 문서에는 `data:use_zmap_preset1` 파일이 "아바타의 다양한 몸동작을 만들기 위해 몸을 바탕으로 옷, 방패, 무기 순으로 이미지가 층층이 위에 쌓이는 구조"라는 설명과 "분리된 각 Sprite의 높이가 순서대로 정리된 파일"이라는 정의만 존재합니다. 하지만 문서에는 **zmap 파일의 실제 데이터 구조(포맷, 필드명, 타입)나 이를 읽어들여 Sprite 높이를 정렬하는 데 사용할 수 있는 mLua API(예: zmap 파일을 파싱하거나 Sprite의 Z-Order를 변경하는 함수)가 명시되어 있지 않습 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 후드 시트를 소개합니다. [아바타 아이템 제작의 기본 개념](/docs?postId=588%7B%22target%22:%22_self%22%7D)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Cap_G.psd","url":"https://mod-file.dn.nexoncdn.co.kr/storage/Avatar_
[task] | single_turn [pass] | ⏳ 미판정 [title] | 게임 섬네일 변경하기 [question] | 출시 후 관리 화면에서 YouTube 영상 주소를 입력할 때, 영상 링크 형식에 대한 제한사항이나 주의할 점이 있을까요? [answer] | 제공된 참고 문서에는 YouTube 영상 주소를 입력할 때의 **링크 형식 제한사항이나 주의할 점에 대한 설명이 없습니다.** 문서에는 'Release' 창에서 동영상 탭을 선택한 뒤 **[YouTube URL]** 버튼을 클릭해 영상 주소를 넣는다는 절차만 언급되어 있을 뿐, 특정 URL 형식(예: `https://www.youtube.com/watch?v=...` 등)을 요구하거나 오류 시 발생 가능한 문제점에 대해 안내하지 않습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 게임 섬네일은 유저의 흥미와 플레이 욕구를 자극할 수 있는 중요한 요소입니다. 이번 과정에서는 게임의 섬네일을 등록, 삭제하는 방법에 대해 알아보겠습니다. # 섬네일 등록하기 1. **만들기** 메뉴에 있는 월드 목록에서 섬네일을 변경하려는 월드를 선택합니다. 2. **이미지** 탭에서 **[이미지 첨부]** 버튼을 클릭해 내 컴퓨터에 있는 이미지를 섬네일로 등록합니다. 섬네일은 최대 5장까지 등록 가능합니다. 3. 아래와 같이 등록한 이미지를 확인할 수 있습니다. # YouTube 영상 등록하기
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 엔티티의 상태 제어하기 [question] | StateType에서 상태 진입, 유지, 변경, 전이 조건을 정의하는 4가지 함수 이름을 표로 정리해서 출력하세요. [answer] | StateType에서 상태를 정의하는 4가지 함수는 다음과 같습니다. | 함수 이름 | 역할 | | :--- | :--- | | `OnEnter()` | 상태에 처음 진입할 때의 동작을 실행합니다. | | `OnUpdate()` | 상태가 유지되는 동안의 동작을 실행합니다. | | `OnExit()` | 상태가 변경될 때 실행됩니다. | | `OnConditionCheck(string nextStateName)` | 상태 전이 조건을 지정합니다. `nextStateName` 매개변수를 사용해 연결된 상태에 따라 다른 결괏값을 반환 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 어떤 상태에서 다음 상태로 변하는 것을 상태 전이(Transition)라 합니다. 상태 전이가 발생할 때 다양한 이벤트가 발생하고, 이를 활용해 특정 엔티티가 상태 전이를 감지할 수 있습니다. 이벤트는 상태 전이가 발생하기 이전의 상태와 현재 상태(바뀐 상태)의 정보를 갖고 있습니다. 아래와 같은 상황에서 이벤트가 발생합니다. * StateComponent의 상태가 전이되면, [StateChangeEvent](/apiReference/Events/StateChangeEvent)가 함께 발생합니다. * StateComponent가
[task] | single_turn [pass] | ⏳ 미판정 [title] | 게임 섬네일 변경하기 [question] | 게임 출시 단계에서 메이커 화면 캡처 대신 AI로 생성한 섬네일을 추가하는 구체적인 과정이 궁금합니다. [answer] | 게임 출시 단계에서 AI로 생성한 섬네일을 추가하는 과정은 다음과 같습니다. 1. 메이커 상단 메뉴의 **File - Release**를 클릭합니다. 2. 열려 **Release** 창에서 **이미지** 탭을 선택합니다. 3. 이미지 등록 방식 중 **AI** 옵션을 선택합니다. 이 옵션은 AI가 자동으로 생성한 섬네일을 추가하는 기능입니다. 참고로, 같은 화면에서 '이미지'(내 컴퓨터 파일 업로드)와 '스크린샷'(메이커 현재 화면 캡처) 방식도 함께 사용할 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 게임 섬네일은 유저의 흥미와 플레이 욕구를 자극할 수 있는 중요한 요소입니다. 이번 과정에서는 게임의 섬네일을 등록, 삭제하는 방법에 대해 알아보겠습니다. # 섬네일 등록하기 1. **만들기** 메뉴에 있는 월드 목록에서 섬네일을 변경하려는 월드를 선택합니다. 2. **이미지** 탭에서 **[이미지 첨부]** 버튼을 클릭해 내 컴퓨터에 있는 이미지를 섬네일로 등록합니다. 섬네일은 최대 5장까지 등록 가능합니다. 3. 아래와 같이 등록한 이미지를 확인할 수 있습니다. # YouTube 영상 등록하기
[task] | two_turn [pass] | ⏳ 미판정 [title] | 짝 맞추기 [question] | `CardPairGameLogic`의 `OnCardClicked` 이벤트 핸들러에서 카드가 클릭되었을 때 게임 로직이 어떻게 진행되며, `oldCard`가 nil일 때와 같지 않을 때 각각 어떤 처리가 이루어지나요? [answer] | `CardPairGameLogic` 스크립트의 `OnCardClicked` 메서드는 카드가 클릭되었을 때 게임 로직을 처리하는 핵심 함수입니다. 이 함수는 `[client only]` 실행 공간에서 동작하며, 다음과 같은 순서로 로직이 진행됩니다. 1. **유효성 검사**: 전달된 `card` 파라미터와 `CardBoard` 엔티티가 유효한지 `isvalid()` 함수로 확인합니다. 유효하지 않으면 즉시 함수를 종료합니다. 2. **변수 초기화**: 현재 선택된 카드(`oldCard`)와 새로 클릭된 카드(`newCard`)를 [followup] | `cardboard:IsEmpty()`가 true인 경우 `cardboard:SetCards()`를 호출하여 새 카드를 생성하는 과정에서, 이전에 선택되었던 카드의 상태(`SelectedCard`)가 초기화되지 않고 남아있을 경우 발생할 수 있는 버그와 이를 방지하기 위한 `DeselectCard` 호출 순서를 설명해 주세요. [followup_answer] | `cardboard:IsEmpty()`가 `true`인 경우, 즉 모든 카드가 짝을 이루어 사라진 상황에서 `cardboard:SetCards()`를 호출하여 새로운 카드 세트를 생성합니다. 이때 이전에 선택되었던 카드의 상태(`SelectedCard`)가 초기화되지 않고 남아있을 경우 다음과 같은 버그가 발생할 수 있습니다. ### 1. 발생할 수 있는 버그 `SetCards()`가 호출되어 새로운 카드들이 배치된 직후, `CardBoard`의 `SelectedCard` 프로퍼티가 여전히 이전 라운드에서 마지막에 선택되었던 ( [scores] | [judge_reason] | [source_doc] | ```lua Property: [None] string SpriteRUID = "" Method: void CardOn() { self.Entity.SpriteGUIRendererComponent.Color = Color(81/255,81/255,81/255,1) } void CardOff() { self.Entity.SpriteGUIRendererComponent.Color = Color(255/255,255/255,255/255,1) } void SetDestroyed() { self.Entity.Vi
[task] | single_turn [pass] | ⏳ 미판정 [title] | 짝 맞추기 [question] | IsEmpty 메서드에서 cards[i].Visible 속성을 직접 참조하는 대신 카드 엔티티의 상태나 플래그를 활용하는 것이 더 나은 이유와, Visible 속성이 mLua 의 Entity 객체에서 직접 접근 가능한지 여부는 무엇인가요? [answer] | 제공된 참고 문서의 코드와 설명을 바탕으로 분석한 결과, `IsEmpty` 메서드에서 `cards[i].Visible`을 사용하는 방식과 `Entity` 객체의 `Visible` 속성 접근 가능성에 대한 결론은 다음과 같습니다. ### 1. `Visible` 속성이 mLua의 `Entity` 객체에서 직접 접근 가능한지 여부 **결론: 제공된 문서 근거로는 `Entity` 객체에서 `Visible` 속성을 직접 참조할 수 있는지 여부는 알 수 없습니다.** * **문서 내 근거 부재:** 제공된 mLua 코드 예제들(카드 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | ```lua Property: [None] Entity CardSpawnRoot = /ui/CardPairGameUI/UI_Board/UI_Blocks/UI_Block_Group [None] Card SelectedCard = nil Method: void SetCards () { local deckTable = {} local cardTable = {} local deckCount = _DataService:GetRowCount("CardSet") for i = 1, deckCoun
[task] | single_turn [pass] | ⏳ 미판정 [title] | 뒤통수가 개방된 모자 [question] | case1.front와 case2.back 폴더에 포함된 모자 관련 레이어의 이름과 용도는 각각 어떻게 다른가요? [answer] | **case1.front**와 **case2.back** 폴더에 포함된 모자 관련 레이어의 이름과 용도는 다음과 같습니다. **1. case1.front (모자의 앞모습)** * **edithere:cap_cap_34**: 모자의 앞모습을 그릴 수 있는 레이어입니다. * **edithere:cap_frontBackCap_92**: 헤어 뒤에 오는 모자의 앞모습을 그릴 수 있는 레이어입니다. **2. case2.back (모자의 뒷모습)** * **edithere:cap_backCap_92**: 모자의 뒷모습을 그릴 수 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | * **case1.front**: 모자의 앞모습을 그릴 레이어와 앞모습의 일반 헤어와 눌린 헤어 샘플이 포함되어 있습니다. * **edithere:cap_cap_34**: 모자의 앞모습을 그릴 수 있는 레이어입니다. * **edithere:cap_frontBackCap_92**: 헤어 뒤에 오는 모자의 앞모습을 그릴 수 있는 레이어입니다. * **case2.back**: 모자의 뒷모습을 그릴 레이어와 뒷모습의 일반 헤어와 눌린 헤어 샘플이 포함되어 있습니다. * **edithere:cap_backCap_92**
[task] | code [pass] | ⏳ 미판정 [title] | 게임 섬네일 변경하기 [question] | 제시된 문서는 메이플스토리 월드 메이커의 GUI(그래픽 사용자 인터페이스)를 통한 섬네일 및 영상 관리 절차(이미지 첨부, YouTube URL 입력, 삭제 버튼 클릭, Release 메뉴 사용 등)에 대한 설명만 포함되어 있으며, mLua 스크립트 컴포넌트, 서비스(예: _UserService, _EntityService 등), 또는 관련 API 함수에 대한 정보가 전혀 없습니다. [answer] | 제시된 참고 문서에는 메이플스토리 월드 메이커의 GUI(그래픽 사용자 인터페이스)를 통해 게임 섬네일과 영상을 등록, 삭제, 변경하는 절차(이미지 첨부, YouTube URL 입력, 삭제 버튼 클릭, File - Release 메뉴 사용 등)에 대한 설명만 포함되어 있습니다. 따라서 mLua 스크립트 컴포넌트, 서비스(예: `_UserService`, `_EntityService` 등), 또는 섬네일/영상 관리를 위한 관련 API 함수에 대한 정보는 해당 문서에 존재하지 않습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 게임 섬네일은 유저의 흥미와 플레이 욕구를 자극할 수 있는 중요한 요소입니다. 이번 과정에서는 게임의 섬네일을 등록, 삭제하는 방법에 대해 알아보겠습니다. # 섬네일 등록하기 1. **만들기** 메뉴에 있는 월드 목록에서 섬네일을 변경하려는 월드를 선택합니다. 2. **이미지** 탭에서 **[이미지 첨부]** 버튼을 클릭해 내 컴퓨터에 있는 이미지를 섬네일로 등록합니다. 섬네일은 최대 5장까지 등록 가능합니다. 3. 아래와 같이 등록한 이미지를 확인할 수 있습니다. # YouTube 영상 등록하기
[task] | instruction_following [pass] | ⏳ 미판정 [title] | 엔티티의 상태 제어하기 [question] | `OnConditionCheck()` 메서드에서 `rotationAngle % 90 == 0` 조건이 성립하는 로직만 코드 블록으로 출력하고, 나머지 설명은 주석으로 작성하세요. [answer] | ```lua -- OnConditionCheck() 메서드에서 rotationAngle % 90 == 0 조건이 성립하는 로직 Method: boolean OnConditionCheck(string nextStateName) { local rotationAngle = self.ParentComponent.Entity.TransformComponent.Rotation.z if rotationAngle ~= 0 and rotationAngle % 90 == 0 then return true else [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **MyDesk - Create Scripts - Create StateType**을 눌러 새로운 StateType을 생성하고, 상태를 정의합니다. `OnConditionCheck()`를 활용해 상태 전이 조건을 만들 수 있습니다. 아래와 같이 **MoveDown** StateType을 만들고 아래의 예시 코드처럼 활용할 수 있습니다. ```lua Method: void OnUpdate() { self.ParentComponent.Entity.TransformComponent:Translate(0, -0.01) }