← 목록

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

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

[task] | code [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | 스프라이트 머티리얼의 셰이더를 Additive 로 설정하여 물체 앞에 렌더링할 때 가산 합성 효과를 적용하는 스크립트를 작성해줘 [answer] | 제공된 문서에는 `Additive` 셰이더가 `AlphaBlend` 그룹에 속하며, "물체 앞에 렌더링할 때 Additive 효과를 적용합니다"라고 설명되어 있습니다. 하지만, **스프라이트 머티리얼의 셰이더를 직접 설정하거나 변경하는 mLua API(메서드/프로퍼티) 명세가 문서에 제공되지 않았습니다.** 참고 문서에는 `SpriteRendererComponent`의 `ChangeMaterial` 메서드(`sprite:ChangeMaterial("material://EntryID")`)와 `SpriteGUIRendererCom [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 상품 만들기 [question] | 이미 판매 종료 상태가 된 아바타 상품을 플레이어가 사전에 구매해 보유하고 있다면 해당 아이템을 계속 사용할 수 있나요? [answer] | 네, 가능합니다. 아바타 상품이 판매 종료 상태가 되어도 플레이어가 이미 구매한 상품은 계속 소유할 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 메이플스토리 월드에서 크리에이터는 직접 제작한 아바타 아이템을 판매할 수 있습니다. 이번 가이드에서는 제작한 아바타 아이템 판매 방법을 알아봅니다. 판매하기 전에 아바타 아이템을 제작하고 등록하는 방법은 아래 가이드를 참고해 봅시다. ##### 참고 가이드 * [아바타 아이템 제작](/docs/?postId=582) > **더 알아보기** > 아이템 제작, 판매할 때는 [메이플스토리 월드 크리에이터 운영정책](https://maplestoryworlds.nexon.com/legal/policy/699)을

[task] | code [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | Entity 의 SpriteRendererComponent 를 통해 MaterialID 를 설정하고, 'ColorEffect' 셰이더 타입 중 'Rainbow' 또는 'Gradient' 중 하나가 선택되어 있는지 확인하여 True/False 로 반환하는 스크립트를 작성해줘 [answer] | ```lua Property: [None] number TargetMaterialID = 0 Method: [server only] boolean IsRainbowOrGradient() { local sprite = self.Entity.SpriteRendererComponent if sprite == nil then return false end local currentMaterialID = sprite.MaterialID if currentMaterialID ~= Target [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 머티리얼(Material)은 다양한 프로퍼티를 통해 엔티티가 렌더링될 방법을 나타내는 객체입니다. 엔티티의 프로퍼티는 엔티티를 렌더링하는 코드에 따라 변경됩니다. 셰이더(Shader)란 물체를 렌더링할 때 사용할 코드(또는 스크립트)입니다. 셰이더의 프로퍼티 및 코드는 동적으로 변경될 수 없기 때문에, 셰이더마다 표현하는 효과가 다르게 나타납니다. 메이플스토리 월드에서는 다양한 셰이더를 제공합니다. 크리에이터는 머티리얼을 생성하고 원하는 의도에 맞게 셰이더 프로퍼티를 조절할 수 있습니다. # 머티리얼 생성하기

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 상품 만들기 [question] | 상품 등록 시 출시 여부를 '미출시'로 설정해 두면 판매 기간이 시작되어도 상점에 노출되지 않나요? [answer] | 네, 맞습니다. 출시 여부를 '미출시'로 설정해 두면 판매 기간이 시작되어도 상점에 노출되지 않습니다. '미출시' 상태의 상품은 판매 기간이 되어도 상점에 노출되지 않고 판매가 불가능합니다. 또한, 플레이어가 이미 보유하고 있는 상품도 확인이 불가합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 메이플스토리 월드에서 크리에이터는 직접 제작한 아바타 아이템을 판매할 수 있습니다. 이번 가이드에서는 제작한 아바타 아이템 판매 방법을 알아봅니다. 판매하기 전에 아바타 아이템을 제작하고 등록하는 방법은 아래 가이드를 참고해 봅시다. ##### 참고 가이드 * [아바타 아이템 제작](/docs/?postId=582) > **더 알아보기** > 아이템 제작, 판매할 때는 [메이플스토리 월드 크리에이터 운영정책](https://maplestoryworlds.nexon.com/legal/policy/699)을

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 상품 만들기 [question] | 상품 등록 후 등록비 결제를 하지 않으면 상품이 상점에 노출되지 않고 판매도 불가능한 상태인가요? [answer] | 네, 맞습니다. 상품 등록 후 등록비를 결제하기 전에는 **'결제 대기'** 상태에 있으며, 이 상태에서는 상점에 노출되지 않고 판매도 불가능합니다. 상품이 상점에 정상적으로 등록되어 판매를 시작하려면 등록비 결제가 완료되어야 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 메이플스토리 월드에서 크리에이터는 직접 제작한 아바타 아이템을 판매할 수 있습니다. 이번 가이드에서는 제작한 아바타 아이템 판매 방법을 알아봅니다. 판매하기 전에 아바타 아이템을 제작하고 등록하는 방법은 아래 가이드를 참고해 봅시다. ##### 참고 가이드 * [아바타 아이템 제작](/docs/?postId=582) > **더 알아보기** > 아이템 제작, 판매할 때는 [메이플스토리 월드 크리에이터 운영정책](https://maplestoryworlds.nexon.com/legal/policy/699)을

[task] | code [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | SpriteRendererComponent 를 통해 'ColorEffect' 셰이더 타입이 사용 중일 때, 'GrayScale' 또는 'Hologram' 중 하나만 활성화된 상태인지 확인하고, 그렇지 않으면 'Default' 머티리얼로 재설정하는 스크립트를 작성해줘 [answer] | 제공된 참고 문서에는 `SpriteRendererComponent`에서 현재 적용된 셰이더 타입(예: 'GrayScale', 'Hologram', 'Default')을 **읽어오거나 확인하는 API(메서드 또는 프로퍼티)**가 명시되어 있지 않습니다. 문서에는 엔티티에 머티리얼을 적용할 때 `MaterialID`를 설정하거나 `sprite:ChangeMaterial("material://EntryID")` 또는 `sprite:ChangeMaterial(nil)`을 사용하여 머티리얼을 변경하는 방법만 설명되어 있을 뿐, 현재 상태의 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 머티리얼(Material)은 다양한 프로퍼티를 통해 엔티티가 렌더링될 방법을 나타내는 객체입니다. 엔티티의 프로퍼티는 엔티티를 렌더링하는 코드에 따라 변경됩니다. 셰이더(Shader)란 물체를 렌더링할 때 사용할 코드(또는 스크립트)입니다. 셰이더의 프로퍼티 및 코드는 동적으로 변경될 수 없기 때문에, 셰이더마다 표현하는 효과가 다르게 나타납니다. 메이플스토리 월드에서는 다양한 셰이더를 제공합니다. 크리에이터는 머티리얼을 생성하고 원하는 의도에 맞게 셰이더 프로퍼티를 조절할 수 있습니다. # 머티리얼 생성하기

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 상품 만들기 [question] | 아바타 상품을 수정할 때 상품 이름은 변경할 수 없고 가격이나 판매 기간만 수정할 수 있나요? [answer] | 아바타 상품을 수정할 때 상품 이름은 변경할 수 없습니다. 수정 가능한 항목은 상품 가격, 판매 기간, 출시 여부, 그리고 상품 설명입니다. 메이플스토리 월드 공식 홈페이지의 아바타 상품 목록에서 해당 상품의 **[수정]** 버튼을 클릭하면 위 항목들을 수정한 뒤 **[수정]** 버튼을 다시 클릭하여 저장할 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 메이플스토리 월드에서 크리에이터는 직접 제작한 아바타 아이템을 판매할 수 있습니다. 이번 가이드에서는 제작한 아바타 아이템 판매 방법을 알아봅니다. 판매하기 전에 아바타 아이템을 제작하고 등록하는 방법은 아래 가이드를 참고해 봅시다. ##### 참고 가이드 * [아바타 아이템 제작](/docs/?postId=582) > **더 알아보기** > 아이템 제작, 판매할 때는 [메이플스토리 월드 크리에이터 운영정책](https://maplestoryworlds.nexon.com/legal/policy/699)을

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 모바일 기기의 중력 센서 사용하기 [question] | 모바일 기기가 자이로스코프 센서를 지원하지 않을 때 사용자에게 표시되는 안내 메시지와, 그 메시지를 출력하는 서비스 함수 호출 코드를 1줄로 제시하세요. [answer] | `_UIToast:ShowMessage("Failed to start gyroscope")` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 `MobileGyroscopeService`를 활용해 모바일 기기에서 자이로스코프 센서 기능을 지원하는지 확인하고, 값을 측정할 수 있습니다. # MobileGyroscopeService `MobileGyroscopeService`를 활용하면 모바일 기기의 중력, 중력 가속도, 회전 가속도 값 등을 측정해 기기가 어디서, 얼마만큼의 힘을 받아 움직였는지 알 수 있습니다. 예를 들어 핸드폰을 위로 던졌을 때 얼마나 위로 올라갔는지 측정할 때 이 서비스를 사용합니다. MobileGyroScopeService는

[task] | code [pass] | ⏳ 미판정 [title] | 배경음악, 효과음 만들기 [question] | 카드 선택 시 `CardPairGameLogic` 컴포넌트의 `OnCardClicked()` 이벤트 핸들러에서 `_SoundService:PlaySound("0c57ceb6897c4955b1a4e860c6895868", 0.7)` 을 호출하여 카트 선택 효과음을 재생하는 스크립트를 작성해줘 [answer] | 카드 선택 시 카트 선택 효과음을 재생하는 `CardPairGameLogic` 컴포넌트 스크립트는 다음과 같습니다. ```lua Property: [None] Entity CardPairGameUI = /ui/CardPairGameUI Method: [client only] void OnBeginPlay() { self:StartGame() } [client only] void StartGame() { self.CardPairGameUI.Enable = true local cardboard = self. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 게임을 다 만들었지만 어쩐지 심심한 느낌이 들지 않나요? 마지막으로 배경음악과 효과음을 추가해서 게임을 완성해봅시다. # 배경음악 설정하기 1. **Preset List - Background Music**을 선택합니다. 2. 원하는 BGM을 선택한 뒤, **Hierarchy - maps - map01**을 선택합니다. 프로퍼티 창에서 **SoundComponent**가 추가된 걸 확인할 수 있습니다. **Audio Play**를 눌러 음악을 확인합니다. **BGM, PlayOnEnable** 프로퍼티가 활성화 되어있는지

[task] | single_turn [pass] | ⏳ 미판정 [title] | 아바타 상품 만들기 [question] | 아바타 상품 등록을 완료했는데도 상점에서 안 보이는 '결제 대기' 상태와 '판매 대기' 상태의 차이는 무엇인가요? [answer] | '결제 대기'와 '판매 대기' 상태의 차이는 **등록비 결제 여부**와 **판매 시작일 도달 여부**에 있습니다. * **결제 대기**: 상품 등록은 완료했지만, 아직 **등록비를 결제하지 않은** 상태입니다. 이 상태에서는 상점에 노출되지 않으며 판매도 불가합니다. * **판매 대기**: 등록비 결제 등 모든 등록 절차가 **완료된 상태**이지만, 아직 **판매 시작일 이전**이라 상점에 노출되지 않은 상태입니다. 판매 시작일이 되면 자동으로 '판매 중' 상태로 변경되어 판매가 시작됩니다. 즉, '결제 대기'는 돈(등록 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 메이플스토리 월드에서 크리에이터는 직접 제작한 아바타 아이템을 판매할 수 있습니다. 이번 가이드에서는 제작한 아바타 아이템 판매 방법을 알아봅니다. 판매하기 전에 아바타 아이템을 제작하고 등록하는 방법은 아래 가이드를 참고해 봅시다. ##### 참고 가이드 * [아바타 아이템 제작](/docs/?postId=582) > **더 알아보기** > 아이템 제작, 판매할 때는 [메이플스토리 월드 크리에이터 운영정책](https://maplestoryworlds.nexon.com/legal/policy/699)을

[task] | code [pass] | ⏳ 미판정 [title] | 배경음악, 효과음 만들기 [question] | 카드가 짝이 맞아서 파괴될 때 `CardPairGameLogic` 컴포넌트에서 `_SoundService:PlaySound("3b79d37626de4023a600e90d7e1595f8", 0.7)` 을 호출하여 짝 맞을 때 효과음을 재생하는 스크립트를 작성해줘 [answer] | 카드가 짝이 맞아서 파괴될 때 짝 맞을 때 효과음을 재생하는 `CardPairGameLogic` 컴포넌트 스크립트는 다음과 같습니다. ```lua Property: [None] Entity CardPairGameUI = /ui/CardPairGameUI Method: [client only] void OnBeginPlay() { self:StartGame() } [client only] void StartGame() { self.CardPairGameUI.Enable = true local cardboa [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 게임을 다 만들었지만 어쩐지 심심한 느낌이 들지 않나요? 마지막으로 배경음악과 효과음을 추가해서 게임을 완성해봅시다. # 배경음악 설정하기 1. **Preset List - Background Music**을 선택합니다. 2. 원하는 BGM을 선택한 뒤, **Hierarchy - maps - map01**을 선택합니다. 프로퍼티 창에서 **SoundComponent**가 추가된 걸 확인할 수 있습니다. **Audio Play**를 눌러 음악을 확인합니다. **BGM, PlayOnEnable** 프로퍼티가 활성화 되어있는지

[task] | code [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | SpriteRendererComponent 의 MaterialID 프로퍼티를 참조하여 특정 셰이더 타입이 적용된 머티리얼을 생성하고, 해당 머티리얼의 셰이더 프로퍼티 중 'Outline' 계열이 활성화된 경우를 판별하는 스크립트를 작성해줘 [answer] | 제시된 참고 문서에는 `SpriteRendererComponent`의 `MaterialID` 프로퍼티를 참조하여 특정 셰이더 타입이 적용된 머티리얼을 **동적으로 생성**하거나, 머티리얼 객체에서 **셰이더 프로퍼티(예: Outline 계열 활성화 여부)를 판별**하는 mLua API나 메서드가 정의되어 있지 않습니다. 문서에서 설명하는 머티리얼 생성 및 적용 방법은 다음과 같습니다: 1. **Workspace의 [+] 버튼**, **Workspace 콘텍스트 메뉴**, 또는 **Create 메뉴**를 통해 머티리얼을 수동으로 생 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 머티리얼(Material)은 다양한 프로퍼티를 통해 엔티티가 렌더링될 방법을 나타내는 객체입니다. 엔티티의 프로퍼티는 엔티티를 렌더링하는 코드에 따라 변경됩니다. 셰이더(Shader)란 물체를 렌더링할 때 사용할 코드(또는 스크립트)입니다. 셰이더의 프로퍼티 및 코드는 동적으로 변경될 수 없기 때문에, 셰이더마다 표현하는 효과가 다르게 나타납니다. 메이플스토리 월드에서는 다양한 셰이더를 제공합니다. 크리에이터는 머티리얼을 생성하고 원하는 의도에 맞게 셰이더 프로퍼티를 조절할 수 있습니다. # 머티리얼 생성하기

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 모바일 기기의 중력 센서 사용하기 [question] | 벽과 공 엔티티에 추가하는 물리 관련 컴포넌트 이름과 문서에 명시된 구체적인 프로퍼티 설정 값들을 2열 표로 정리하세요. [answer] | | 벽 엔티티 | 공(TiltBall) 엔티티 | | :--- | :--- | | **PhysicsColliderComponent**<br>(충돌 영역을 스프라이트 크기에 맞게 조정) | **PhysicsColliderComponent**<br>- ColliderType: Circle<br>- 충돌 영역: 스프라이트에 맞게 지정 | | **PhysicsRigidbodyComponent**<br>- BodyType: Static<br>- Friction: 0.5<br>- Restitution: 0.2<br>- CollisionDete [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 `MobileGyroscopeService`를 활용해 모바일 기기에서 자이로스코프 센서 기능을 지원하는지 확인하고, 값을 측정할 수 있습니다. # MobileGyroscopeService `MobileGyroscopeService`를 활용하면 모바일 기기의 중력, 중력 가속도, 회전 가속도 값 등을 측정해 기기가 어디서, 얼마만큼의 힘을 받아 움직였는지 알 수 있습니다. 예를 들어 핸드폰을 위로 던졌을 때 얼마나 위로 올라갔는지 측정할 때 이 서비스를 사용합니다. MobileGyroScopeService는

[task] | code [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | CameraComponent 에 렌즈 왜곡 효과(LensDistortion)를 적용하고 Intensity 값을 양수로 설정하여 볼록렌즈 효과를 구현하는 스크립트를 작성해줘 [answer] | 제공된 참고 문서에는 `CameraComponent`에 `LensDistortion` 셰이더를 적용할 수 있다는 정보와, `Intensity` 값이 양수일 경우 볼록렌즈 효과가 된다는 설명만 존재합니다. 하지만 **mLua 스크립트에서 `CameraComponent`의 셰이더를 직접 변경하거나 `Intensity` 프로퍼티를 설정하는 구체적인 API 메서드(예: `SetShader`, `SetIntensity` 등)나 프로퍼티 이름이 문서에 명시되어 있지 않습니다.** 문서에는 `SpriteRendererComponent`의 경 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

[task] | two_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | `AlphaBlend` 카테고리에서 `Additive`와 `SoftAdditive` 효과의 렌더링 우선순위나 시각적 차이를 이해하고 싶다 [answer] | 참고 문서에는 `AlphaBlend` 카테고리의 `Additive`와 `SoftAdditive` 셰이더가 "물체 앞에 렌더링할 때" 적용된다는 설명만 있으며, 두 효과 간의 구체적인 렌더링 우선순위(렌더링 순서, 레이어링 규칙 등)나 수치적·시각적 차이에 대한 상세 설명은 포함되어 있지 않습니다. 따라서 제공된 문서 정보만으로는 두 효과의 렌더링 우선순위나 정확한 시각적 차이를 설명할 수 없습니다. [followup] | 스프라이트에 `SoftAdditive` 효과를 적용할 때 물체 앞뒤 렌더링 순서에 따라 결과가 달라지는지, 그리고 mLua에서 해당 효과를 활성화하기 위해 설정해야 하는 프로퍼티나 메서드가 있는지 알려 달라. [followup_answer] | 제공된 참고 문서에 따르면, `SoftAdditive` 효과는 "물체 앞에 렌더링할 때" 적용되는 것으로 설명되어 있습니다. 이는 이 효과가 적용된 스프라이트가 다른 물체보다 앞에(위에서) 렌더링될 때 해당 효과가 발동함을 의미합니다. 하지만 문서에는 물체 앞뒤 렌더링 순서(레이어, Z-값 등)에 따라 결과가 구체적으로 어떻게 달라지는지, 또는 뒤에서 렌더링될 경우 어떤 일이 일어나는지에 대한 상세한 설명은 포함되어 있지 않습니다. 또한, mLua에서 `SoftAdditive` 효과를 활성화하기 위해 설정해야 하는 구체적인 프로 [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

[task] | two_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | 스크린 전체 효과를 적용할 때 `LensDistortion`의 Intensity 값이 양수와 음수일 때 렌즈 형태가 어떻게 달라지는지 확인하고 싶다 [answer] | `LensDistortion` 셰이더는 `CameraComponent`에만 적용할 수 있는 스크린 전체 효과입니다. `Intensity` 값의 부호에 따라 렌즈 형태가 다음과 같이 달라집니다. * **양수 (Positive)**: 볼록렌즈 효과 * **음수 (Negative)**: 오목렌즈 효과 참고 문서에는 `LensDistortion`을 적용하기 위한 구체적인 mLua 코드 예제나 `Intensity` 값을 설정하는 프로퍼티/메서드 이름이 명시되어 있지 않아, 해당 값을 직접 변경하는 코드 블록을 제공하기 어렵습니다. [followup] | `CameraComponent`에 `LensDistortion` 셰이더를 적용할 때 Intensity 값을 동적으로 변경하여 볼록렌즈와 오목렌즈 효과를 전환하는 mLua 스크립트 코드를 작성해 달라. [followup_answer] | 제공된 참고 문서에는 `LensDistortion` 셰이더의 `Intensity` 값을 설정하거나 동적으로 변경하는 구체적인 mLua API(프로퍼티, 메서드, 또는 컴포넌트 접근 방식)가 명시되어 있지 않습니다. 문서에는 `LensDistortion`이 `CameraComponent`에만 적용 가능하다는 점과 `Intensity` 값의 부호에 따른 효과(양수: 볼록렌즈, 음수: 오목렌즈)에 대한 설명만 포함되어 있으며, 이를 스크립트로 제어하는 코드 예제나 함수 시그니처가 없습니다. 따라서 문서에 없는 API를 지어내어 코드를 [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 모바일 기기의 중력 센서 사용하기 [question] | MobileGyroscopeService의 하드웨어 지원 및 활성화 상태 확인 후 시작 또는 대기 상태로 전환하는 로직을 포함하는 GyroscopeCheck 함수 코드를 주석으로만 설명하여 출력하세요. [answer] | 요청하신 `GyroscopeCheck` 함수 코드를 주석으로만 설명하여 출력합니다. ```lua -- 모바일 기기의 자이로스코프 센서 하드웨어 지원 여부를 확인합니다. if _MobileGyroscopeService:IsHWSupported() then -- 하드웨어를 지원하는 경우, 현재 자이로스코프가 활성화되어 있는지 확인합니다. if _MobileGyroscopeService:IsEnabled() then -- 이미 활성화되어 있다면, 자이로스코프를 중지하고 대기 상태로 전환합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 `MobileGyroscopeService`를 활용해 모바일 기기에서 자이로스코프 센서 기능을 지원하는지 확인하고, 값을 측정할 수 있습니다. # MobileGyroscopeService `MobileGyroscopeService`를 활용하면 모바일 기기의 중력, 중력 가속도, 회전 가속도 값 등을 측정해 기기가 어디서, 얼마만큼의 힘을 받아 움직였는지 알 수 있습니다. 예를 들어 핸드폰을 위로 던졌을 때 얼마나 위로 올라갔는지 측정할 때 이 서비스를 사용합니다. MobileGyroScopeService는

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 모바일 기기의 가속도 센서 사용하기 [question] | `MobileAccelerometerService`가 하드웨어를 지원하지 않을 때 유저에게 표시되는 토스트 메시지 내용을 그대로 추출해 한 줄로 답변하세요. [answer] | "Failed to start Accelerometer" [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 `MobileAccelerometerService` 활용해 모바일 기기에서 가속도 센서 기능을 지원하는지 확인하고, 값을 측정할 수 있습니다. # MobileAccelerometerService `MobileAccelerometerService`를 활용하면 모바일 기기의 기울기를 측정할 수 있습니다. MobileAccelerometerService는 가속도 센서가 있는 모바일 기기에서만 동작합니다. 그러므로 월드에 입장한 유저가 정상적으로 플레이할 수 있는지 확인하고 가속도 센서를 지원하지 않는 기기를 사용

[task] | single_turn [pass] | ⏳ 미판정 [title] | 스크린샷과 동적 스프라이트 [question] | 스크린샷을 Frame 안에 꽉 차게 표시하고 싶은데 horizontalRatio와 verticalRatio를 어떻게 계산해야 하나요? [answer] | 참고 문서에 포함된 예제 코드에서는 스크린샷이 Frame 안에 들어가도록 비율을 "살짝 작게" 조절하기 위해 `0.96`과 `0.67`이라는 고정 값을 곱하고 있습니다. ```lua local horizontalRatio = frameWidth / screenshotWidth * 0.96 local verticalRatio = frameHeight / screenshotHeight * 0.67 ``` 하지만 질문하신 대로 **스크린샷이 Frame 안에 꽉 차게 표시**하려면, 이 고정 감소 계수(`0.96`, `0.67`)를 제 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 11. `CaptureAndUpload()` 함수를 추가하고 아래와 같이 작성합니다. ```lua [client only] void CaptureAndUpload() { local frameRUID = self.FrameEntity.SpriteRendererComponent.SpriteRUID local sprite = _ResourceService:LoadSpriteAndWait(frameRUID) -- frame 엔티티 스프라이트의 가로, 세

[task] | code [pass] | ⏳ 미판정 [title] | 배경음악, 효과음 만들기 [question] | `map01` 엔티티에 `SoundComponent` 를 적용하여 `BGM` 과 `PlayOnEnable` 프로퍼티를 활성화함으로써 월드 입장 시 배경음악이 자동으로 재생되도록 설정하는 스크립트를 작성해줘 [answer] | 제공된 참고 문서에 따르면, `map01` 엔티티에 `SoundComponent`를 적용하고 `BGM` 및 `PlayOnEnable` 프로퍼티를 활성화하는 작업은 **mLua 스크립트로 작성하는 것이 아니라 에디터의 프로퍼티 창을 통해 직접 설정하는 절차**입니다. 문서에 명시된 배경음악 설정 방법은 다음과 같습니다. 1. **Preset List - Background Music**에서 원하는 BGM을 선택합니다. 2. **Hierarchy - maps - map01**을 선택합니다. 3. 프로퍼티 창에서 `SoundCo [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 게임을 다 만들었지만 어쩐지 심심한 느낌이 들지 않나요? 마지막으로 배경음악과 효과음을 추가해서 게임을 완성해봅시다. # 배경음악 설정하기 1. **Preset List - Background Music**을 선택합니다. 2. 원하는 BGM을 선택한 뒤, **Hierarchy - maps - map01**을 선택합니다. 프로퍼티 창에서 **SoundComponent**가 추가된 걸 확인할 수 있습니다. **Audio Play**를 눌러 음악을 확인합니다. **BGM, PlayOnEnable** 프로퍼티가 활성화 되어있는지

[task] | code [pass] | ⏳ 미판정 [title] | 스크린샷과 동적 스프라이트 [question] | HandleKeyDownEvent 에서 KeyboardKey.Alpha1 키가 눌리면 self:CaptureAndUpload() 를 호출하도록 Event Handler 를 구현하는 스크립트를 작성해줘 [answer] | ```lua Event Handler: [service: InputService] HandleKeyDownEvent(KeyDownEvent event) { -- Parameters local key = event.key -------------------------------------------------------- if key == KeyboardKey.Alpha1 then self:CaptureAndUpload() end } ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 11. `CaptureAndUpload()` 함수를 추가하고 아래와 같이 작성합니다. ```lua [client only] void CaptureAndUpload() { local frameRUID = self.FrameEntity.SpriteRendererComponent.SpriteRUID local sprite = _ResourceService:LoadSpriteAndWait(frameRUID) -- frame 엔티티 스프라이트의 가로, 세

[task] | code [pass] | ⏳ 미판정 [title] | 모바일 기기의 중력 센서 사용하기 [question] | MobileGyroscopeService의 IsHWSupported와 StartAndWait로 센서 지원 여부를 확인하고 활성화한 후, 활성화 상태일 때만 GetUserAcceleration을 호출하여 획득한 가속도 벡터를 Vector2로 변환해 EntityRef로 지정된 볼의 PhysicsRigidbodyComponent에 ForcePower 값만큼 ApplyForce를 적용하는 스크립트를 작성해줘. [answer] | 요청하신 로직을 mLua 스크립트로 작성했습니다. 클라이언트에서 자이로스코프 센서 지원 여부를 확인하고 활성화한 뒤, 활성화 상태일 때만 가속도 값을 읽어 서버로 전달하고, 서버에서 물체에 힘을 가하는 구조입니다. ```lua Property: [None] EntityRef BallEntityRef = /maps/map01/TiltBall [None] number ForcePower = 100 Method: [client only] void OnBeginPlay () { if _MobileGyroscopeService:I [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 1. 새로운 **GyroscopeLogic**을 생성합니다. 2. Property를 추가하고, BallEntityRef에 TiltBall을 지정합니다. ```lua Property: [None] EntityRef BallEntityRef = /maps/map01/TiltBall [None] number ForcePower = 100 ``` 3. `MobileGyroscopeService:IsHWSupported()`를 활용해 기기에서 자이로스코프 센서를 지원하는지 확인한 후, 값

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 모바일 기기의 가속도 센서 사용하기 [question] | 벽과 공에 설정된 `PhysicsRigidbodyComponent`의 BodyType, Friction, Restitution 값을 비교하는 표로 정리하세요. [answer] | 벽과 공에 설정된 `PhysicsRigidbodyComponent`의 프로퍼티 값은 다음과 같습니다. | 프로퍼티 | 벽 (Wall) | 공 (TiltBall) | | :--- | :--- | :--- | | **BodyType** | Static | Dynamic | | **Friction** | 0.2 | 0.2 | | **Restitution** | 0.5 | 1 | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 `MobileAccelerometerService` 활용해 모바일 기기에서 가속도 센서 기능을 지원하는지 확인하고, 값을 측정할 수 있습니다. # MobileAccelerometerService `MobileAccelerometerService`를 활용하면 모바일 기기의 기울기를 측정할 수 있습니다. MobileAccelerometerService는 가속도 센서가 있는 모바일 기기에서만 동작합니다. 그러므로 월드에 입장한 유저가 정상적으로 플레이할 수 있는지 확인하고 가속도 센서를 지원하지 않는 기기를 사용

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 모바일 기기의 가속도 센서 사용하기 [question] | `MobileAccelerometerService`의 하드웨어 지원 여부 및 활성화 상태를 확인하는 조건 분기 로직을 10라인 이내의 Lua 코드로 작성하세요. [answer] | `_MobileAccelerometerService`의 하드웨어 지원 여부를 먼저 확인하고, 지원되는 경우 활성화 상태에 따라 시작하거나 중지하는 로직입니다. ```lua if _MobileAccelerometerService:IsHWSupported() then if _MobileAccelerometerService:IsEnabled() then _MobileAccelerometerService:Stop() else _MobileAccelerometerService:Start() [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 `MobileAccelerometerService` 활용해 모바일 기기에서 가속도 센서 기능을 지원하는지 확인하고, 값을 측정할 수 있습니다. # MobileAccelerometerService `MobileAccelerometerService`를 활용하면 모바일 기기의 기울기를 측정할 수 있습니다. MobileAccelerometerService는 가속도 센서가 있는 모바일 기기에서만 동작합니다. 그러므로 월드에 입장한 유저가 정상적으로 플레이할 수 있는지 확인하고 가속도 센서를 지원하지 않는 기기를 사용

[task] | code [pass] | ⏳ 미판정 [title] | 배경음악, 효과음 만들기 [question] | 새로운 카드판이 나타날 때 `CardPairGameLogic` 컴포넌트에서 `_SoundService:PlaySound("08d81d2f5b4942cbbdaa9932f63c500f", 1)` 을 호출하여 카드판 등장 효과음을 재생하는 스크립트를 작성해줘 [answer] | 새로운 카드판이 생성될 때(`cardboard:SetCards()` 호출 시점) 효과음을 재생하도록 `CardPairGameLogic` 컴포넌트의 `StartGame()` 함수를 수정한 스크립트는 다음과 같습니다. ```lua Property: [None] Entity CardPairGameUI = /ui/CardPairGameUI Method: [client only] void OnBeginPlay() { self:StartGame() } [client only] void StartGame() { self.Ca [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 게임을 다 만들었지만 어쩐지 심심한 느낌이 들지 않나요? 마지막으로 배경음악과 효과음을 추가해서 게임을 완성해봅시다. # 배경음악 설정하기 1. **Preset List - Background Music**을 선택합니다. 2. 원하는 BGM을 선택한 뒤, **Hierarchy - maps - map01**을 선택합니다. 프로퍼티 창에서 **SoundComponent**가 추가된 걸 확인할 수 있습니다. **Audio Play**를 눌러 음악을 확인합니다. **BGM, PlayOnEnable** 프로퍼티가 활성화 되어있는지

[task] | two_turn [pass] | ⏳ 미판정 [title] | 스크린샷과 동적 스프라이트 [question] | 스크린샷을 찍어 월드의 특정 위치에 동적으로 표시하는 기능을 구현하려면 어떤 엔티티 구조와 스크립트 설정이 필요한가요? [answer] | 스크린샷을 찍어 월드의 특정 위치에 동적으로 표시하려면, 스크린샷을 담을 프레임과 실제 스크린샷 이미지가 들어갈 캔버스로 구성된 엔티티 구조와, 스크린샷 업로드를 허용하는 스크립트 설정이 필요합니다. ### 1. 엔티티 구조 구성 월드에서 스크린샷을 표시하기 위해 다음과 같은 계층 구조의 엔티티를 생성해야 합니다. 1. **Frame 엔티티**: 스크린샷을 감싸는 프레임 역할을 합니다. * `Hierarchy`에서 `Create Entity` > `Create Empty`를 클릭하여 `EmptyEntity`를 생성 [followup] | Frame 엔티티와 Canvas 하위 엔티티의 위계 구조를 설명해 주세요. 특히 SpriteRendererComponent의 SpriteRUID 설정 위치와 Canvas의 위치 정렬 방식은 어떻게 되나요? [followup_answer] | Frame 엔티티와 Canvas 하위 엔티티의 위계 구조, SpriteRUID 설정 위치, 그리고 Canvas의 위치 정렬 방식은 다음과 같습니다. ### 1. 위계 구조 (Hierarchy) 스크린샷 표시를 위한 엔티티는 다음과 같은 부모-자식 관계로 구성됩니다. * **Frame** (부모 엔티티) * `EmptyEntity`를 생성한 후 이름을 `Frame`으로 지정합니다. * 이 엔티티는 스크린샷을 감싸는 프레임(테두리) 역할을 합니다. * **Canvas** (자식 엔티티) * ` [scores] | [judge_reason] | [source_doc] | 특정 키를 눌러 스크린샷을 찍은 뒤 월드의 특정 위치에 보이도록 하는 예제를 살펴봅시다. 1. **Hierarchy - Create Entity - Create Empty**를 클릭해 **EmptyEntity**를 생성합니다. **EmptyEntity**의 이름을 **Frame**으로 지정합니다. 2. **Frame** 엔티티의 프로퍼티 에디터에서 **TransformComponent, SpriteRendererComponent**를 추가합니다. 3. **Frame** 엔티티의 프로퍼티

[task] | single_turn [pass] | ⏳ 미판정 [title] | 모바일 기기의 중력 센서 사용하기 [question] | StartAndWait()와 StopAndWait()에서 Wait가 붙은 함수를 호출할 때 스크립트 실행이 잠시 멈추는 건가요? [answer] | 제공된 문서에는 `StartAndWait()`와 `StopAndWait()` 함수의 내부 동작 방식이나, 호출 시 스크립트 실행이 일시적으로 멈추는지(블로킹 여부)에 대한 설명이 없습니다. 문서에는 해당 함수를 호출하여 자이로스코프를 시작하거나 중지하는 방법과, 모바일 기기에서만 테스트 및 활용이 가능하며 하드웨어 지원 여부를 먼저 확인해야 한다는 정보만 포함되어 있습니다. 따라서 'Wait'라는 명명 규칙에 따른 동작 추측 외에는 확답을 드릴 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 `MobileGyroscopeService`를 활용해 모바일 기기에서 자이로스코프 센서 기능을 지원하는지 확인하고, 값을 측정할 수 있습니다. # MobileGyroscopeService `MobileGyroscopeService`를 활용하면 모바일 기기의 중력, 중력 가속도, 회전 가속도 값 등을 측정해 기기가 어디서, 얼마만큼의 힘을 받아 움직였는지 알 수 있습니다. 예를 들어 핸드폰을 위로 던졌을 때 얼마나 위로 올라갔는지 측정할 때 이 서비스를 사용합니다. MobileGyroScopeService는

[task] | single_turn [pass] | ⏳ 미판정 [title] | 모바일 기기의 중력 센서 사용하기 [question] | 모바일에서 자이로스코프를 사용하려고 해도 PC 환경에서는 테스트가 안 되는데, PC에서 대략적인 동작을 확인하는 방법이 있나요? [answer] | 제시된 참고 문서에 따르면, `MobileGyroscopeService`는 **모바일에서만 테스트와 활용이 가능**하도록 명시되어 있습니다. 따라서 문서에 기반할 때, PC 환경에서 자이로스코프를 직접 시뮬레이션하거나 그 값을 측정하는 API나 방법은 제공되지 않습니다. PC에서 테스트를 시도하더라도 `_MobileGyroscopeService:IsHWSupported()`가 `false`를 반환하여 자이로스코프 기능이 활성화되지 않으며, 문서의 예제 코드처럼 `_UIToast:ShowMessage("Failed to start [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 `MobileGyroscopeService`를 활용해 모바일 기기에서 자이로스코프 센서 기능을 지원하는지 확인하고, 값을 측정할 수 있습니다. # MobileGyroscopeService `MobileGyroscopeService`를 활용하면 모바일 기기의 중력, 중력 가속도, 회전 가속도 값 등을 측정해 기기가 어디서, 얼마만큼의 힘을 받아 움직였는지 알 수 있습니다. 예를 들어 핸드폰을 위로 던졌을 때 얼마나 위로 올라갔는지 측정할 때 이 서비스를 사용합니다. MobileGyroScopeService는

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 모바일 기기의 중력 센서 사용하기 [question] | `GyroscopeLogic` 컴포넌트에 필요한 Property 정의와 `Tilt` 메서드에서 힘 적용 조건(`direction.x > 0.2 or direction.y > 0.2`)을 포함하는 로직을, 3문장 이내로 요약해서 설명하세요. [answer] | `GyroscopeLogic` 컴포넌트는 `BallEntityRef`와 `ForcePower` 속성을 정의하여 대상 엔티티와 힘의 세기를 설정합니다. `Tilt` 메서드는 입력된 방향 벡터의 x 또는 y 성분이 0.2를 초과할 때에만 조건이 성립합니다. 이 조건이 만족되면 해당 방향에 `ForcePower`를 곱한 값을 물리 엔진에 적용하여 엔티티가 움직이도록 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 1. 새로운 **GyroscopeLogic**을 생성합니다. 2. Property를 추가하고, BallEntityRef에 TiltBall을 지정합니다. ```lua Property: [None] EntityRef BallEntityRef = /maps/map01/TiltBall [None] number ForcePower = 100 ``` 3. `MobileGyroscopeService:IsHWSupported()`를 활용해 기기에서 자이로스코프 센서를 지원하는지 확인한 후, 값

[task] | two_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | 스프라이트 머티리얼의 블렌딩 셰이더 중 `BlendOverlay`와 `BlendSoftLight`의 시각적 차이와 적용 방식을 알고 싶다 [answer] | `BlendOverlay`와 `BlendSoftLight`는 모두 스프라이트의 색상을 변환하는 블렌딩 셰이더이지만, 시각적 강도에서 차이가 있습니다. **시각적 차이** * **BlendOverlay**: 어두운 색상 영역에는 `Multiply` 효과, 밝은 색상 영역에는 `Screen` 효과를 적용합니다. 이로 인해 원본 스프라이트 대비와 색조 차이가 명확하게 드러납니다. * **BlendSoftLight**: `BlendOverlay`와 원리가 유사하지만, 대비와 색조 차이가 더 작습니다. 즉, `BlendOverlay [followup] | `BlendOverlay`는 어두운/밝은 색상에 따라 Multiply/Screen을 자동 적용한다고 하는데, 이 판단 기준이 되는 '어두운/밝은'의 기준값이나 mLua 코드에서 해당 셰이더를 적용하는 구체적인 메서드 예시가 궁금하다. [followup_answer] | 참고 문서에는 `BlendOverlay`의 '어두운/밝은' 판단 기준이 되는 구체적인 수치나 임계값(Threshold)이 명시되어 있지 않습니다. 문서에서는 단순히 "어두운 색상에는 Multiply, 밝은 색상에는 Screen 효과를 적용합니다"라고만 설명하고 있습니다. 또한, mLua 코드에서 해당 셰이더를 적용하는 구체적인 메서드 예시나 `BlendOverlay`를 직접 호출하는 API도 문서에 존재하지 않습니다. 문서에 포함된 스프라이트 머티리얼 적용 관련 유일한 코드 예제는 `SpriteRendererComponent`의 [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

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