← 목록

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

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

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | AlphaMask 효과 중 투명도 기준에 따라 알파 값을 0 또는 1로 처리하는 셰이더의 정확한 이름을 코드만 출력하고 설명은 주석으로 작성해 주세요. [answer] | ```lua -- AlphaRound: 기준 투명도보다 낮으면 알파 값을 0으로, 높으면 1로 처리합니다. local shaderName = "AlphaRound" ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트 좌표를 왜곡하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | Noise | | 지속적으로 엔티티가 흔들립니다.| | RoundWave| | 중심 기준으로 동심원 파동을 그립니다. | | UVScroll| | 스프라이트 렌더링할 때 UV 좌표를 이동시킵니다. | | Wave| | 특정 지점에서 원형 파동을 그립니다. | | Glitch| | 무작위로 스프라이트의 다른 구역을 샘플링합니다. | | GrassMovement| | 풀이 흔들리는

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | Blurry 카테고리에서 색수차 효과를 적용하는 셰이더 이름을 3문장 이내로 설명해 주세요. [answer] | 색수차 효과를 적용하는 셰이더의 이름은 ChromaticAberration입니다. 이 셰이더는 Blurry 카테고리에 포함되어 있으며, 스프라이트에 색수차 효과를 부여하는 역할을 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트 좌표를 왜곡하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | Noise | | 지속적으로 엔티티가 흔들립니다.| | RoundWave| | 중심 기준으로 동심원 파동을 그립니다. | | UVScroll| | 스프라이트 렌더링할 때 UV 좌표를 이동시킵니다. | | Wave| | 특정 지점에서 원형 파동을 그립니다. | | Glitch| | 무작위로 스프라이트의 다른 구역을 샘플링합니다. | | GrassMovement| | 풀이 흔들리는

[task] | single_turn [pass] | ⏳ 미판정 [title] | 어노테이션 활용하기 [question] | Param Annotation과 Return Annotation을 동시에 사용해야 하는 경우, 두 주석의 순서나 위치에는 특별한 규칙이 있나요? [answer] | 참고 문서에 제시된 예시를 보면, `Param Annotation`과 `Return Annotation`을 동시에 사용할 때 두 주석의 순서에 대한 명시적인 규칙은 없습니다. 다만, 문서의 예시에서는 함수 정의문 직전에 `Param Annotation`이 먼저 오고, 그 다음 `Return Annotation`이 오는 형태가 보여집니다. ```lua ---@param testParamA Entity ---@param testParamB integer ---@return Entity, string local function Tes [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **Param Annotation**을 사용해 대상이 되는 함수의 매개 변수 타입을 지정하여 스크립트 어시스트의 도움을 받을 수 있습니다. **Param Annotation**은 함수 정의문에 사용합니다. 아래와 같은 문법으로 **Param Annotation**을 사용합니다. ```lua ---@param param_name PARAM_TYPE ``` ##### 사용 예시 ```lua ---@param testParamA Entity local function TestFunction(testParamA) end ``` ```

[task] | code [pass] | ⏳ 미판정 [title] | 어노테이션 활용하기 [question] | Type Annotation을 통해 함수의 반환 타입이 AttackComponent와 string인 시그니처를 명시하고, 해당 함수 실행 결과로 두 값을 각각 변수에 할당하는 코드를 작성해줘 [answer] | 요청하신 Type Annotation 문법을 적용하여 함수의 반환 타입을 `AttackComponent`와 `string`으로 명시하고, 실행 결과 두 값을 각각 변수에 할당하는 코드는 다음과 같습니다. ```lua ---@type function(testParamA:string, testParamB:Entity):AttackComponent, string local testFunction = function(testParamA, testParamB) -- 실제 구현 로직 return atkComponent, "s [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | Function은 아래와 같은 문법으로 타입을 지정합니다. ```lua ---@type function(param_name: PARAM_TYPE):RETURN_TYPE ``` ##### 사용 예시 ```lua ---@type function() local testFunction = function() end ``` ```lua ---@type function(testParamA:string, testParamB:Entity) local testFunction = function(testParamA, testParamB) end

[task] | single_turn [pass] | ⏳ 미판정 [title] | 어노테이션 활용하기 [question] | 여러 개의 값을 반환할 때 Return Annotation에서 타입을 쉼표로 나열하는 형식이 정확히 어떤 규칙을 따르나요? [answer] | Return Annotation에서 여러 개의 값을 반환할 때는 쉼표(,)를 사용하여 타입 목록을 나열합니다. 이 쉼표로 구분된 타입의 순서는 함수의 `return` 문에서 값을 반환하는 순서와 반드시 일치해야 합니다. 예를 들어, 함수가 첫 번째로 `Entity` 타입의 값과 두 번째로 `string` 타입의 값을 반환한다면, Return Annotation은 `---@return Entity, string` 으로 작성합니다. ```lua ---@return Entity, string local function TestFunc [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **Param Annotation**을 사용해 대상이 되는 함수의 매개 변수 타입을 지정하여 스크립트 어시스트의 도움을 받을 수 있습니다. **Param Annotation**은 함수 정의문에 사용합니다. 아래와 같은 문법으로 **Param Annotation**을 사용합니다. ```lua ---@param param_name PARAM_TYPE ``` ##### 사용 예시 ```lua ---@param testParamA Entity local function TestFunction(testParamA) end ``` ```

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배경음악, 효과음 만들기 [question] | Preset List에서 배경음악을 설정했는데, 월드에 입장해도 음악이 안 재생될 때 SoundComponent의 어떤 프로퍼티들을 체크해야 하나요? [answer] | 배경음악이 재생되지 않을 때는 `SoundComponent`의 **BGM**과 **PlayOnEnable** 프로퍼티가 활성화되어 있는지 확인해야 합니다. 이 두 프로퍼티가 모두 활성화된 상태여야 월드에 입장했을 때 배경음악이 자동으로 재생됩니다. [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] | `CreateCardEntities`에서 생성된 각 카드 엔티티에 `i`번 째 카드임을 나타내는 `name` 속성을 "Card_Index_[i]" 형식으로 지정하고, 생성 후 `self.CardSpawnRoot`의 자식 개수를 로그로 출력하는 스크립트를 작성해줘. [answer] | `CreateCardEntities` 메서드에서 각 카드를 생성할 때 `_SpawnService:SpawnByModelId`의 두 번째 인자(이름)에 `"Card_Index_" .. tostring(i)` 형식의 문자열을 전달하면 됩니다. 모든 카드가 생성된 후 `self.CardSpawnRoot`의 자식 개수를 확인하기 위해 `self.CardSpawnRoot.ChildCount` 프로퍼티를 사용하며, 이 값을 `log` 함수를 통해 출력합니다. ```lua Property: [None] Entity CardSpawnRoot = [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 [None] Entity TimeText = /ui/CardPairGameUI/UI_Board/Background/Title/Timer_Background/UI_Time/UI_Time_Text [None] Entity ScoreText = /ui/CardPairGameUI/UI_Board/Backgro

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | 문서에 언급된 ColorEffect 셰이더 중 색상 블렌딩 방식이 'Y 축', '꼭짓점', '중심부' 중 하나에 해당하는 셰이더 3가지를 선택하여, 셰이더 이름과 기준 축(또는 위치)만 코드 주석 형식으로 출력하세요. [answer] | ```lua -- LineGradient : Y 축 -- VertexGradient : 꼭짓점 -- RadialGradient : 중심부 ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 머티리얼(Material)은 다양한 프로퍼티를 통해 엔티티가 렌더링될 방법을 나타내는 객체입니다. 엔티티의 프로퍼티는 엔티티를 렌더링하는 코드에 따라 변경됩니다. 셰이더(Shader)란 물체를 렌더링할 때 사용할 코드(또는 스크립트)입니다. 셰이더의 프로퍼티 및 코드는 동적으로 변경될 수 없기 때문에, 셰이더마다 표현하는 효과가 다르게 나타납니다. 메이플스토리 월드에서는 다양한 셰이더를 제공합니다. 크리에이터는 머티리얼을 생성하고 원하는 의도에 맞게 셰이더 프로퍼티를 조절할 수 있습니다. # 머티리얼 생성하기

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | KuwaharaFilter 셰이더의 Intensity 값을 높이면 어떤 표현이 가능해지나요? [answer] | KuwaharaFilter 셰이더의 Intensity 값을 높이면 수채화 느낌을 표현할 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트 좌표를 왜곡하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | Noise | | 지속적으로 엔티티가 흔들립니다.| | RoundWave| | 중심 기준으로 동심원 파동을 그립니다. | | UVScroll| | 스프라이트 렌더링할 때 UV 좌표를 이동시킵니다. | | Wave| | 특정 지점에서 원형 파동을 그립니다. | | Glitch| | 무작위로 스프라이트의 다른 구역을 샘플링합니다. | | GrassMovement| | 풀이 흔들리는

[task] | single_turn [pass] | ⏳ 미판정 [title] | 어노테이션 활용하기 [question] | 매개변수가 2개 이상인 함수에서 Param Annotation을 각각의 매개변수에 일대일로 대응시켜 작성해야 하는지, 아니면 하나의 주석으로 여러 타입을 묶어서 기술할 수도 있는지 궁금합니다. [answer] | 매개변수가 2개 이상인 함수에서는 **각각의 매개변수에 대해 개별적으로 `---@param` 주석을 작성**해야 합니다. 하나의 주석으로 여러 타입을 묶어서 기술하는 방식은 지원하지 않습니다. 각 매개변수의 이름과 타입을 일대일로 대응시켜 함수 정의문 직전에 줄별로 작성하는 것이 올바른 문법입니다. ```lua ---@param testParamA Entity ---@param testParamB integer local function TestFunction(testParamA, testParamB) -- 함수 본문 e [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | **Param Annotation**을 사용해 대상이 되는 함수의 매개 변수 타입을 지정하여 스크립트 어시스트의 도움을 받을 수 있습니다. **Param Annotation**은 함수 정의문에 사용합니다. 아래와 같은 문법으로 **Param Annotation**을 사용합니다. ```lua ---@param param_name PARAM_TYPE ``` ##### 사용 예시 ```lua ---@param testParamA Entity local function TestFunction(testParamA) end ``` ```

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | AlphaRound 셰이더를 적용했을 때 기준 투명도보다 낮거나 높은 알파 값은 각각 어떻게 처리되나요? [answer] | AlphaRound 셰이더를 적용하면 기준 투명도보다 낮은 알파 값은 0으로, 기준 투명도보다 높은 알파 값은 1로 처리됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트 좌표를 왜곡하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | Noise | | 지속적으로 엔티티가 흔들립니다.| | RoundWave| | 중심 기준으로 동심원 파동을 그립니다. | | UVScroll| | 스프라이트 렌더링할 때 UV 좌표를 이동시킵니다. | | Wave| | 특정 지점에서 원형 파동을 그립니다. | | Glitch| | 무작위로 스프라이트의 다른 구역을 샘플링합니다. | | GrassMovement| | 풀이 흔들리는

[task] | code [pass] | ⏳ 미판정 [title] | 어노테이션 활용하기 [question] | TestFunction과 같은 외부 함수가 반환하는 익명 함수에 Type Annotation을 적용하여 시그니처 헬퍼의 도움을 받도록 매개변수와 반환값 타입을 명시하는 코드를 작성해줘 [answer] | 외부 함수가 반환하는 익명 함수에 Type Annotation을 적용하려면, 해당 함수를 반환하는 외부 함수를 호출한 결과에 `---@type` 주석을 붙여 매개변수와 반환값의 타입을 명시해야 합니다. 이렇게 하면 시그니처 헬퍼가 활성화되어 자동 완성 및 타입 검사를 받을 수 있습니다. ```lua local function TestFunction() return function(paramA, paramB) return "strValue", false end end ---@type function(p [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | Function은 아래와 같은 문법으로 타입을 지정합니다. ```lua ---@type function(param_name: PARAM_TYPE):RETURN_TYPE ``` ##### 사용 예시 ```lua ---@type function() local testFunction = function() end ``` ```lua ---@type function(testParamA:string, testParamB:Entity) local testFunction = function(testParamA, testParamB) end

[task] | two_turn [pass] | ⏳ 미판정 [title] | 어노테이션 활용하기 [question] | Type Annotation을 스크립트에서 어떻게 활용하면 개발 편의성을 높일 수 있나요? [answer] | 메이플스토리 월드(mLua) 스크립트에서 **Type Annotation**은 `---@type` 문법을 사용하여 변수나 값의 타입을 명시적으로 지정하는 것입니다. 이 어노테이션을 활용하면 스크립트 에디터의 **퀵 인포(Quick Info)**, **시그니처 헬퍼(Signature Helper)**, **코드 컴플리션(Code Completion)** 등 개발 보조 기능을 효과적으로 사용할 수 있어 개발 편의성이 크게 향상됩니다. 주석(`--`)은 코드 작성 시 참고만 되는 반면, Type Annotation은 에디터가 변수의 타 [followup] | `table<string, Entity>`처럼 키와 값의 타입을 함께 지정하는 Table 타입 Annotation의 정확한 문법과 예시를 보여주세요. [followup_answer] | `table<string, Entity>`처럼 테이블의 키(Key)와 값(Value) 타입을 함께 지정하는 정확한 문법은 다음과 같습니다. ### 문법 ```lua ---@type table<KEY_TYPE, VALUE_TYPE> ``` 여기서 `KEY_TYPE`은 테이블의 인덱스(키) 타입, `VALUE_TYPE`은 해당 키에 저장되는 값의 타입을 의미합니다. ### 예시 **1. 키 타입만 지정 (값 타입은 기본 table)** ```lua ---@type table<Entity> local testTable = {} `` [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **어노테이션**(Annotation)은 코드에 추가하여 사용하는 일종의 메타데이터입니다. 스크립트에 `--` 기호를 사용한 주석(Comment)은 스크립트 작성에 참고 역할만 하는 반면, `---@` 형태로 **어노테이션**을 작성하면 **퀵 인포**나 **시그니처 헬퍼**, **코드 컴플리션** 등 스크립트 어시스트의 도움을 받을 수 있습니다. 본 과정을 통해 메이플스토리 월드에서 제공하는 **어노테이션**의 종류와 활용 방법을 알아봅시다. > **더 알아보기** > 퀵 인포, 시그니처 헬퍼, 코드 컴플리

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | Noise 셰이더와 RoundWave 셰이더의 시각적 차이점이 무엇인가요? [answer] | Noise 셰이더와 RoundWave 셰이더는 모두 스프라이트 좌표를 왜곡하는 효과이지만, 시각적인 동작 방식이 다릅니다. * **Noise**: 엔티티가 지속적으로 흔들리는 효과를 줍니다. * **RoundWave**: 중심을 기준으로 동심원 형태의 파동을 그리는 효과를 줍니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트 좌표를 왜곡하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | Noise | | 지속적으로 엔티티가 흔들립니다.| | RoundWave| | 중심 기준으로 동심원 파동을 그립니다. | | UVScroll| | 스프라이트 렌더링할 때 UV 좌표를 이동시킵니다. | | Wave| | 특정 지점에서 원형 파동을 그립니다. | | Glitch| | 무작위로 스프라이트의 다른 구역을 샘플링합니다. | | GrassMovement| | 풀이 흔들리는

[task] | two_turn [pass] | ⏳ 미판정 [title] | 어노테이션 활용하기 [question] | Type Annotation이 적용된 변수에 대해 스크립트 에디터의 퀵 인포나 코드 컴플리션이 어떻게 동작하나요? [answer] | Type Annotation을 변수에 적용하면 스크립트 에디터의 **퀵 인포(Quick Info)**, **시그니처 헬퍼(Signature Helper)**, **코드 컴플리션(Code Completion)** 기능이 해당 변수의 타입에 맞춰 동작합니다. 구체적인 동작 방식은 다음과 같습니다. **1. 퀵 인포(Quick Info)** 변수를 마우스로 가리거나 커서를 올렸을 때, 해당 변수에 지정된 타입에 대한 정보를 표시합니다. * **일반 타입:** `string`, `integer` 등 원시 타입의 정보를 보여줍니다. [followup] | 반환 타입을 추론할 수 없는 함수의 결과값을 받을 때 Type Annotation을 사용하여 시그니처 헬퍼의 도움을 받는 코드 예시를 작성해 주세요. [followup_answer] | 반환 타입을 추론할 수 없는 함수의 결과값을 받을 때 Type Annotation을 적용하면, 해당 변수에 대해 시그니처 헬퍼와 코드 컴플리션이 올바르게 동작합니다. ```lua local function TestFunction() return "strValue" end ---@type string local strValue = TestFunction() ``` 위 예시에서 `TestFunction()`의 반환 타입을 에디터가 자동으로 추론하지 못할 수 있습니다. `---@type string` 어노테이션을 명시적으로 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **어노테이션**(Annotation)은 코드에 추가하여 사용하는 일종의 메타데이터입니다. 스크립트에 `--` 기호를 사용한 주석(Comment)은 스크립트 작성에 참고 역할만 하는 반면, `---@` 형태로 **어노테이션**을 작성하면 **퀵 인포**나 **시그니처 헬퍼**, **코드 컴플리션** 등 스크립트 어시스트의 도움을 받을 수 있습니다. 본 과정을 통해 메이플스토리 월드에서 제공하는 **어노테이션**의 종류와 활용 방법을 알아봅시다. > **더 알아보기** > 퀵 인포, 시그니처 헬퍼, 코드 컴플리

[task] | two_turn [pass] | ⏳ 미판정 [title] | 점수 만들기 [question] | 카드 덱을 무작위로 섞어 카드 엔티티를 생성하는 `SetCards` 및 `CreateCardEntities` 프로세스의 전체 흐름을 설명해 주세요. [answer] | 카드 덱을 무작위로 섞고 카드 엔티티를 생성하는 `SetCards` 및 `CreateCardEntities` 프로세스의 전체 흐름은 다음과 같습니다. 먼저 `SetCards` 메서드가 호출되면, 데이터 서비스(`_DataService`)를 통해 "CardSet" 시트의 행 수를 조회하여 전체 카드 종류 수(`deckCount`)를 파악합니다. 이후 `deckTable`이라는 테이블을 초기화하고, "CardSet" 시트의 1열에 있는 스프라이트 RUID(`spriteRUID`)들을 순서대로 채워 넣습니다. 이렇게 준비된 `deck [followup] | `deckTable`과 `cardTable`을 생성 및 셔플하는 과정에서 `_UtilLogic:RandomIntegerRange`를 활용한 스왑 로직이 어떻게 동작하는지, 그리고 최종적으로 `_SpawnService:SpawnByModelId`로 카드에 스프라이트를 적용하는 코드를 자세히 분석해 주세요. [followup_answer] | `deckTable`과 `cardTable`을 생성 및 셔플하는 과정에서 `_UtilLogic:RandomIntegerRange`를 활용한 스왑 로직과 최종 카드 생성 코드의 동작 방식을 분석하면 다음과 같습니다. ### 1. `_UtilLogic:RandomIntegerRange`를 활용한 스왑 로직 이 로직은 Fisher-Yates 셔플 알고리즘의 변형으로, 테이블의 원소를 뒤섞기 위해 사용됩니다. `deckTable`의 셔플과 `cardTable`의 셔플에서 동일한 패턴이 적용됩니다. **`deckTable` 셔플 과정: [scores] | [judge_reason] | [source_doc] | ```lua Property: [None] Entity CardSpawnRoot = /ui/CardPairGameUI/UI_Board/UI_Blocks/UI_Block_Group [None] Card SelectedCard = nil [None] Entity TimeText = /ui/CardPairGameUI/UI_Board/Background/Title/Timer_Background/UI_Time/UI_Time_Text [None] Entity ScoreText = /ui/CardPairGameUI/UI_Board/Backgro

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | 스프라이트 좌표 왜곡 효과를 사용하는 셰이더 이름과 설명을 표로 정리해서 제시해 주세요. [answer] | 스프라이트 좌표를 왜곡하는 효과를 제공하는 셰이더는 다음과 같습니다. | 셰이더 이름 | 설명 | | :--- | :--- | | Noise | 지속적으로 엔티티가 흔들립니다. | | RoundWave | 중심 기준으로 동심원 파동을 그립니다. | | UVScroll | 스프라이트 렌더링할 때 UV 좌표를 이동시킵니다. | | Wave | 특정 지점에서 원형 파동을 그립니다. | | Glitch | 무작위로 스프라이트의 다른 구역을 샘플링합니다. | | GrassMovement | 풀이 흔들리는 듯한 효과입니다. | | Disto [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트 좌표를 왜곡하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | Noise | | 지속적으로 엔티티가 흔들립니다.| | RoundWave| | 중심 기준으로 동심원 파동을 그립니다. | | UVScroll| | 스프라이트 렌더링할 때 UV 좌표를 이동시킵니다. | | Wave| | 특정 지점에서 원형 파동을 그립니다. | | Glitch| | 무작위로 스프라이트의 다른 구역을 샘플링합니다. | | GrassMovement| | 풀이 흔들리는

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | LensDistortion 셰이더의 Intensity 값이 양수와 음수일 때 렌즈 효과가 어떻게 달라지나요? [answer] | LensDistortion 셰이더의 `Intensity` 값에 따라 렌즈 효과는 다음과 같이 달라집니다. * **양수**: 볼록렌즈 효과가 적용됩니다. * **음수**: 오목렌즈 효과가 적용됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

[task] | single_turn [pass] | ⏳ 미판정 [title] | 어노테이션 활용하기 [question] | 함수 타입을 지정하는 어노테이션 문법에서 반환 타입을 지정하지 않으면 어떻게 되며, 매개변수 타입은 어떤 순서로 적어야 하나요? [answer] | 참고 문서에 근거하여 함수 타입을 지정하는 `---@type function` 어노테이션 문법의 반환 타입 지정 여부와 매개변수 순서에 대해 설명합니다. **1. 반환 타입을 지정하지 않는 경우** 문서에는 반환 타입을 지정하지 않았을 때의 구체적인 동작(예: 타입 체크 무시, 오류 발생 등)에 대한 명시적인 설명이 없습니다. 다만, 문서의 예시에서는 반환 값을 가지는 함수의 경우 반환 타입을 명시하고 있으며(`:AttackComponent`, `:string, boolean` 등), 반환 값을 가지지 않는 함수의 경우 반환 타입 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | Function은 아래와 같은 문법으로 타입을 지정합니다. ```lua ---@type function(param_name: PARAM_TYPE):RETURN_TYPE ``` ##### 사용 예시 ```lua ---@type function() local testFunction = function() end ``` ```lua ---@type function(testParamA:string, testParamB:Entity) local testFunction = function(testParamA, testParamB) end

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | Outline 셰이더 중 ColorDiffOutline이 스프라이트의 어떤 특성을 기준으로 외곽선을 그리는지 설명해 주세요. [answer] | ColorDiffOutline 셰이더는 스프라이트의 **색상 차이**를 기준으로 외곽선을 그립니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 머티리얼(Material)은 다양한 프로퍼티를 통해 엔티티가 렌더링될 방법을 나타내는 객체입니다. 엔티티의 프로퍼티는 엔티티를 렌더링하는 코드에 따라 변경됩니다. 셰이더(Shader)란 물체를 렌더링할 때 사용할 코드(또는 스크립트)입니다. 셰이더의 프로퍼티 및 코드는 동적으로 변경될 수 없기 때문에, 셰이더마다 표현하는 효과가 다르게 나타납니다. 메이플스토리 월드에서는 다양한 셰이더를 제공합니다. 크리에이터는 머티리얼을 생성하고 원하는 의도에 맞게 셰이더 프로퍼티를 조절할 수 있습니다. # 머티리얼 생성하기

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배경음악, 효과음 만들기 [question] | Resource Storage에서 음원 검색이 잘 안 되는데, 카드 짝 맞추기 게임에 쓸 수 있는 RUID를 바로 알려줄 수 있나요? [answer] | 네, 카드 짝 맞추기 게임에 바로 사용할 수 있는 효과음 RUID는 다음과 같습니다. * **카드 선택 효과음**: `0c57ceb6897c4955b1a4e860c6895868` * **짝이 맞을 때 효과음**: `3b79d37626de4023a600e90d7e1595f8` * **새로운 카드판이 나타날 때 효과음**: `08d81d2f5b4942cbbdaa9932f63c500f` 이 RUID 값은 `_SoundService:PlaySound` 함수의 첫 번째 매개변수로 사용하여 특정 상황에서 효과음을 재생할 수 있습 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 게임을 다 만들었지만 어쩐지 심심한 느낌이 들지 않나요? 마지막으로 배경음악과 효과음을 추가해서 게임을 완성해봅시다. # 배경음악 설정하기 1. **Preset List - Background Music**을 선택합니다. 2. 원하는 BGM을 선택한 뒤, **Hierarchy - maps - map01**을 선택합니다. 프로퍼티 창에서 **SoundComponent**가 추가된 걸 확인할 수 있습니다. **Audio Play**를 눌러 음악을 확인합니다. **BGM, PlayOnEnable** 프로퍼티가 활성화 되어있는지

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | Workspace에서 머티리얼을 생성하는 3가지 방법과 엔티티에 머티리얼을 적용하는 과정 중 MaterialID 설정 단계를 단계별 번호 목록으로 출력하세요. [answer] | Workspace에서 머티리얼을 생성하는 3가지 방법과 엔티티에 머티리얼을 적용하는 과정 중 MaterialID 설정 단계는 다음과 같습니다. **머티리얼 생성 방법** 1. Workspace의 [+] 버튼을 클릭합니다. 2. Workspace에서 콘텍스트 메뉴를 사용합니다. 3. Create 메뉴를 사용합니다. **엔티티에 머티리얼 적용 과정 (MaterialID 설정 단계)** 1. 엔티티를 선택합니다. 2. 프로퍼티 에디터에서 SpriteRendererComponent의 MaterialID 항목을 찾습니다. 3. Mater [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 머티리얼(Material)은 다양한 프로퍼티를 통해 엔티티가 렌더링될 방법을 나타내는 객체입니다. 엔티티의 프로퍼티는 엔티티를 렌더링하는 코드에 따라 변경됩니다. 셰이더(Shader)란 물체를 렌더링할 때 사용할 코드(또는 스크립트)입니다. 셰이더의 프로퍼티 및 코드는 동적으로 변경될 수 없기 때문에, 셰이더마다 표현하는 효과가 다르게 나타납니다. 메이플스토리 월드에서는 다양한 셰이더를 제공합니다. 크리에이터는 머티리얼을 생성하고 원하는 의도에 맞게 셰이더 프로퍼티를 조절할 수 있습니다. # 머티리얼 생성하기

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | 스프라이트 렌더링 시 머티리얼이 지정되지 않았거나 찾을 수 없는 경우 어떤 셰이더가 기본으로 적용되는지 궁금합니다. [answer] | 스프라이트 렌더링 시 머티리얼이 지정되지 않았거나 찾을 수 없는 경우, **Default** 셰이더가 기본으로 적용됩니다. Default 셰이더는 아무런 효과도 적용되지 않은 기본 머티리얼 상태입니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 머티리얼(Material)은 다양한 프로퍼티를 통해 엔티티가 렌더링될 방법을 나타내는 객체입니다. 엔티티의 프로퍼티는 엔티티를 렌더링하는 코드에 따라 변경됩니다. 셰이더(Shader)란 물체를 렌더링할 때 사용할 코드(또는 스크립트)입니다. 셰이더의 프로퍼티 및 코드는 동적으로 변경될 수 없기 때문에, 셰이더마다 표현하는 효과가 다르게 나타납니다. 메이플스토리 월드에서는 다양한 셰이더를 제공합니다. 크리에이터는 머티리얼을 생성하고 원하는 의도에 맞게 셰이더 프로퍼티를 조절할 수 있습니다. # 머티리얼 생성하기

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | BlendHardMix를 적용했을 때 결과 이미지가 항상 8가지 색상으로만 나타나는 이유는 무엇인가요? [answer] | BlendHardMix 효과를 적용하면 두 색상 간의 차이에 따라 결과가 극단적으로 밝거나 어둡게 분리됩니다. 이 과정에서 중간 톤이 완전히 제거되고, 색상 값이 가장 밝은 흰색 계열이나 가장 어두운 검정 계열로 고정됩니다. 결과적으로 RGB 채널의 값이 극단적인 0 또는 255로만 수렴하여, 최종 출력 이미지는 항상 8가지의 순수한 원색 및 보색 조합으로만 나타나는 것입니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | CameraComponent에만 적용 가능한 Screen 셰이더 중 렌즈 왜곡 강도(Intensity)의 부호에 따른 렌즈 형태(볼록/오목)를 단계별 번호 목록으로 나열하세요. [answer] | 1. `LensDistortion` 셰이더의 `Intensity` 값이 양수(+)인 경우: 볼록렌즈 효과가 적용됩니다. 2. `LensDistortion` 셰이더의 `Intensity` 값이 음수(-)인 경우: 오목렌즈 효과가 적용됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | 스프라이트의 색상 혼합 셰이더 중 'BlendOverlay'와 'BlendVividLight'의 작동 원리를 비교하여, 3문장 이내로 설명하세요. [answer] | BlendOverlay는 어두운 색상에는 Multiply, 밝은 색상에는 Screen 효과를 적용하여 대비를 조절합니다. 반면, BlendVividLight는 블렌딩할 색상이 어두우면 Color Burn, 밝으면 Color Dodge 효과를 적용합니다. 두 셰이더 모두 밝기와 어둠에 따라 다른 혼합 방식을 선택하지만, 적용하는 구체적인 연산 방식이 서로 다릅니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | 스프라이트 머티리얼의 AlphaBlend 셰이더 중 Additive와 SoftAdditive는 각각 어떤 상황에서 사용하나요? [answer] | 스프라이트 머티리얼의 AlphaBlend 셰이더는 셰이더의 투명도를 변경하는 효과입니다. * **Additive**: 물체 앞에 렌더링할 때 Additive 효과를 적용합니다. * **SoftAdditive**: 물체 앞에 렌더링할 때 SoftAdditive 효과를 적용합니다. 즉, 두 셰이더 모두 **물체 앞에 렌더링**하는 상황에서 사용되며, 각각의 구체적인 시각적 효과나 사용 시나리오에 대한 추가적인 설명은 제공된 정보에 포함되어 있지 않습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | 도트 이미지 텍스처에 KuwaharaFilter 셰이더를 적용했을 때 왜 큰 시각적 차이를 느끼기 어려운가요? [answer] | KuwaharaFilter 셰이더는 도트 이미지 텍스처에 적용했을 때 큰 시각적 차이를 느끼기 어려운 이유는, 이 필터가 기본적으로 픽셀 주변의 색을 평균화하거나 유사한 색을 찾아서 부드럽게 만드는 방식으로 작동하기 때문입니다. 도트 이미지는 색의 경계가 매우 명확하고, 색 블록이 단순하게 나뉘어 있는 구조를 가지고 있습니다. Kuwahara 필터가 적용되어도 이러한 명확한 경계와 단순한 색 블록 구조는 크게 변화하지 않으며, 결과적으로 원본 이미지와 비슷하게 보일 수 있습니다. 따라서 문서에서 언급하듯, 도트 이미지에 사용했을 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트 좌표를 왜곡하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | Noise | | 지속적으로 엔티티가 흔들립니다.| | RoundWave| | 중심 기준으로 동심원 파동을 그립니다. | | UVScroll| | 스프라이트 렌더링할 때 UV 좌표를 이동시킵니다. | | Wave| | 특정 지점에서 원형 파동을 그립니다. | | Glitch| | 무작위로 스프라이트의 다른 구역을 샘플링합니다. | | GrassMovement| | 풀이 흔들리는

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | Mask 셰이더에서 MaskTexture를 지정할 때 사용할 수 있는 값의 형식은 어떻게 되나요? [answer] | Mask 셰이더의 `MaskTexture` 프로퍼티에 지정하는 값은 **텍스처 ID(문자열)** 형식입니다. 참고 문서의 예시에서 `MaskTexture`에 `0005fdee112f4ab8a59764021ac1dda0`와 같은 16진수 문자열이 사용된 것을 볼 수 있습니다. 이는 메이플스토리 월드에서 텍스처 리소스를 식별하는 고유 ID를 문자열 형태로 나타낸 것입니다. 따라서 `MaskTexture`에는 해당 마스킹에 사용할 텍스처의 **고유 ID 문자열**을 지정하면 됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트 좌표를 왜곡하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | Noise | | 지속적으로 엔티티가 흔들립니다.| | RoundWave| | 중심 기준으로 동심원 파동을 그립니다. | | UVScroll| | 스프라이트 렌더링할 때 UV 좌표를 이동시킵니다. | | Wave| | 특정 지점에서 원형 파동을 그립니다. | | Glitch| | 무작위로 스프라이트의 다른 구역을 샘플링합니다. | | GrassMovement| | 풀이 흔들리는

[task] | single_turn [pass] | ⏳ 미판정 [title] | 머티리얼 활용하기 [question] | BlendOverlay와 BlendSoftLight는 어떤 차이가 있나요? [answer] | `BlendOverlay`와 `BlendSoftLight`의 주요 차이는 **대비(Contrast)와 색조(Color Tone) 변화의 강도**입니다. * **BlendOverlay**: 어두운 색상에는 Multiply(곱하기) 효과를, 밝은 색상에는 Screen(스크린) 효과를 적용합니다. 이 방식은 색상 대비와 변화를 비교적 강하게 만드는 특징이 있습니다. * **BlendSoftLight**: `BlendOverlay`와 유사하게 동작하지만, `BlendOverlay`에 비해 **대비와 색조 차이가 작습니다.** 즉, [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 스프라이트의 색상이 적용되는 방식을 다양한 형태로 변형하는 효과입니다. | @cols=2:@rows=1:셰이더 | 설명 | | :---: | --- | --- | | BlendDarken| | 각 RGB 채널에서 더 작은 값을 사용해 어둡게 만듭니다.| | BlendMultiply| | 두 색상을 곱한 결과물을 표현합니다. | | BlendColorBurn| | 채도는 높이고 대비를 증대시키며 기본 색상을 어둡게 합니다. | | BlendLinearBurn| | 원본 스프라이트의 색상 대비는 유지하되 색상을

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