← 목록

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

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

[task] | single_turn [pass] | ⏳ 미판정 [title] | 파티클 활용하기 [question] | 버튼을 눌렀을 때 이미 재생 중인 파티클을 중지하고 다시 재생하는 로직을 위해 IsEmitting 속성을 어떻게 활용해야 하나요? [answer] | `UIBasicParticleComponent`의 `IsEmitting` 속성은 해당 파티클이 현재 재생 중인지(발사 중인지)를 나타내는 boolean 값입니다. 버튼을 눌렀을 때 이미 재생 중인 파티클을 중지하고 다시 재생하려면, 이 속성을 `true`인지 확인하여 재생 중이면 `Stop()`을 호출한 뒤 `Play()`를 실행하는 로직을 적용합니다. 아래는 `UIButtonParticle` 컴포넌트에 적용할 수 있는 `mLua` 스크립트 예시입니다. ```lua Property: [None] Entity particleEnt [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 1. **UIParticle**에 **UIBasicParticleComponent**를 추가합니다. 2. ParticleType을 **CircleBust**로 선택하고, 원하는 파티클 크기, 속도 등을 조절합니다. 3. **UIBasicParticleComponent**의 **Loop**를 **false**로 설정해 버튼을 눌렀을 때 파티클이 한 번만 재생되도록 합니다. **PlayOnEnable** 또한 **false**로 변경하여 파티클이 월드 진입하자마자 재생되지 않도록 합니다. ![[object Object]](https

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배경 설정하기 [question] | 단색 배경을 만들 때 프리셋에 없는 색상을 사용하려면 어떤 버튼을 눌러서 컬러 팔레트를 열 수 있나요? [answer] | 단색 배경을 설정할 때 프리셋에 없는 색상을 사용하려면 **[+]** 버튼을 눌러서 컬러 팔레트를 열 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Preset List**와 **BackgroundComponent**를 활용하여 맵의 배경을 설정해봅시다. # 템플릿 배경 설정 **Preset List - Background**에서 메이플스토리의 다양한 배경을 선택할 수 있습니다. 이와 같이 배경 템플릿을 선택하면 배경이 움직이는 속도, 즉 **ScrollRate**를 조절할 수 있습니다. **ScrollRate** 값이 커지면 배경이 움직이는 속도가 빨라지며, 음수를 입력하면 반대 방향으로 이동합니다. | ScrollRate | Image

[task] | single_turn [pass] | ⏳ 미판정 [title] | 공동 제작 팁 [question] | 맵 엔티티를 배치한 후 별도로 저장하지 않고 월드를 이탈하면 왜 수정 사항이 반영되지 않는지, 그리고 이를 방지하기 위한 가장 빠른 저장 단축키는 무엇인가요? [answer] | 맵 엔티티를 배치하거나 수정한 후 별도로 저장(Check In)을 하지 않고 월드를 이탈하면, 해당 수정 사항이 다른 공동 제작 참여자들에게 반영되지 않습니다. 이는 맵 엔티티 작업 시 별도의 저장 안내가 표시되지 않기 때문에, 반드시 Check In을 수행한 후 월드를 종료해야 수정 내용이 전체에 적용됩니다. 이를 방지하기 위한 가장 빠른 저장 단축키는 **Ctrl + S**입니다. Scene 화면에서 이 단축키를 누르면 Bulk Check In(일괄 체크 인) 기능이 실행되어 변경 사항을 저장할 수 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 공동 제작 기능을 활용하면 여러 인원이 동시에 월드를 편집할 수 있기 때문에 매우 편리합니다. 하지만 함께 작업을 진행하다 보면 가끔 오류가 발생할 때도 있습니다. 메이플스토리 월드 팀은 이와 같은 오류를 최소화하고 메이커의 안정성을 높이기 위해 지속적으로 노력하고 있습니다. 이번 시간에는 공동 제작 과정에서 알아두면 좋은 팁을 몇 가지 소개하고자 합니다. ##### 참고 가이드 [공동 제작](/docs/?postId=670) # 개발용 월드와 출시용 월드의 구분 개발용 월드에서 필요한 작업을 끝낸 후,

[task] | single_turn [pass] | ⏳ 미판정 [title] | 공동 제작 팁 [question] | UI 엔티티를 편집하다가 다른 그룹원이 작업을 하지 못하는 Lock 현상이 발생하는 이유는 무엇이며 이를 방지하기 위해 어떻게 구성해야 하나요? [answer] | UI 엔티티를 편집할 때 다른 그룹원의 작업이 막히는 Lock 현상이 발생하는 이유는 UI의 가장 하위 Entity라도 누군가가 Check Out을 했다면 그 UI 그룹 전체에 Lock이 걸리기 때문입니다. 이로 인해 다른 그룹원이 해당 UI에 접근하여 작업을 할 수 없게 되어 작업 효율성이 떨어질 수 있습니다. 이 문제를 방지하기 위해 UI를 제작할 때는 용도에 따라 미리 그룹을 세분화하여 분리해 두는 것이 좋습니다. UI를 용도별로 명확한 그룹으로 나누어 구성하면, 한 그룹원의 작업으로 인해 전체 UI가 아닌 해당 그룹만 잠금 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 공동 제작 기능을 활용하면 여러 인원이 동시에 월드를 편집할 수 있기 때문에 매우 편리합니다. 하지만 함께 작업을 진행하다 보면 가끔 오류가 발생할 때도 있습니다. 메이플스토리 월드 팀은 이와 같은 오류를 최소화하고 메이커의 안정성을 높이기 위해 지속적으로 노력하고 있습니다. 이번 시간에는 공동 제작 과정에서 알아두면 좋은 팁을 몇 가지 소개하고자 합니다. ##### 참고 가이드 [공동 제작](/docs/?postId=670) # 개발용 월드와 출시용 월드의 구분 개발용 월드에서 필요한 작업을 끝낸 후,

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배경 설정하기 [question] | 그라데이션 배경의 중상단과 중하단 색상이 화면에서 차지하는 위치 비율을 조절할 수 있는 프로퍼티 이름은 무엇인가요? [answer] | 그라데이션 배경의 중상단과 중하단 색상의 위치 비율을 조절하는 프로퍼티는 각각 `MiddleTopRatio`와 `MiddleBottomRatio`입니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Preset List**와 **BackgroundComponent**를 활용하여 맵의 배경을 설정해봅시다. # 템플릿 배경 설정 **Preset List - Background**에서 메이플스토리의 다양한 배경을 선택할 수 있습니다. 이와 같이 배경 템플릿을 선택하면 배경이 움직이는 속도, 즉 **ScrollRate**를 조절할 수 있습니다. **ScrollRate** 값이 커지면 배경이 움직이는 속도가 빨라지며, 음수를 입력하면 반대 방향으로 이동합니다. | ScrollRate | Image

[task] | code [pass] | ⏳ 미판정 [title] | 파티클 활용하기 [question] | LightningStrikeSharp 파티클에 ParticleEmitStartEvent와 ParticleLoopEvent 핸들러를 등록하여 이벤트 발생 시 OnLightning 함수를 호출해 Attack(Vector2(2, 2), Vector2.zero, nil)으로 캐릭터에게 대미지를 주는 스크립트를 작성해줘 [answer] | 참고 문서에 따르면, `LightningStrikeSharp` 파티클에 `ParticleEmitStartEvent`와 `ParticleLoopEvent` 핸들러를 등록하여 `OnLightning` 함수를 호출하고 `Attack` 메서드로 대미지를 주는 스크립트는 다음과 같이 작성할 수 있습니다. `AttackComponent`를 상속(Extend)하여 `Attack` 메서드와 `CalcDamage` 등의 오버라이드가 가능하도록 하며, 이벤트 핸들러를 통해 파티클 발생 및 루프 시점에 공격 판정을 수행합니다. ```lua Meth [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 파티클 이벤트를 활용하여 파티클을 반복 생성할 때마다 대미지를 주거나 연출을 보여줄 수 있습니다. 번개가 칠 때마다 공격 기능이 작동하여 캐릭터에게 대미지를 주는 예제를 통해 파티클 이벤트의 활용 방법을 살펴봅시다. 1. Preset List - **LightningStrikeSharp** 파티클을 배치합니다. 2. AttackComponent를 Extend하여 새 스크립트 컴포넌트 ExtendAttackComponent를 생성합니다. 3. ExtendAttackComponent를 열고 `OnLightni

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 사다리와 로프 활용하기 [question] | ClimbableComponent의 프로퍼티 명과 설명을 5행짜리 표로 정리하세요. [answer] | ClimbableComponent의 프로퍼티 명과 설명은 다음과 같습니다. | 프로퍼티 명 | 설명 | | :---: | --- | | Collider | Edit 버튼을 누른 후 등반 영역을 조절할 수 있습니다. | | AllowHorizontalMove | 자유로운 등반 이동 여부를 설정합니다. true일 경우 X, Y 축 모두 이동 가능합니다. | | ClimbableAnimationType | 캐릭터의 등반 애니메이션을 설정합니다. Ladder 또는 Rope를 선택할 수 있습니다. | | IsUseDefaultObjectB [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 캐릭터가 사다리나 로프를 타면 수직으로 올라갈 수 있습니다. 이는 사다리나 로프의 동작과 연관된 **ClimbableComponent**가 있기 때문입니다. 이 컴포넌트를 활용하면 사다리, 로프뿐만 아니라 다른 오브젝트에서도 등반할 수 있습니다. 또한 크리에이터가 원하는 대로 등반 영역이나 등반 속도를 조절할 수 있습니다. 관련된 컴포넌트로 **ClimbableSpriteRendererComponent**도 있습니다. 이 컴포넌트는 사다리나 로프와 같이 머리, 몸통, 꼬리 형태의 스프라이트를 그리기 위한 용도로

[task] | single_turn [pass] | ⏳ 미판정 [title] | 파티클 활용하기 [question] | 파티클이 버튼 클릭 시에만 재생되도록 하려면 어떤 이벤트 핸들러를 사용해야 하나요? [answer] | 파티클이 버튼 클릭 시에만 재생되도록 하려면 **`HandleButtonClickEvent`** 이벤트 핸들러를 사용해야 합니다. 이 이벤트 핸들러는 UIButton 컴포넌트가 버튼 클릭 동작을 감지했을 때 발생합니다. 아래는 버튼 클릭 시 특정 파티클 엔티티를 제어하도록 설정된 mLua 스크립트 예시입니다. ```lua Property: [None] Entity particleEntity = nil Method: [client only] void OnBeginPlay() { -- 버튼 내부에 있는 UIParticle [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 파티클을 재생할 수 있는 UI를 만들어봅시다. 1. **Hierachy - World - ui**에 새로운 **UIGroup**을 추가합니다. 2. 추가한 UIGroup에서 **UIGroupComponent**의 **DefaultShow** 프로퍼티를 **true**로 설정합니다. ![[object Object]](https://mod-file.dn.nexoncdn.co.kr/bbs/1738820526946c8b71422566e4a919660cc52294d2f78.png "DefaultShow") 3. UIGroup에서 **콘

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배경 설정하기 [question] | Preset List의 Background에서 템플릿을 선택한 뒤 ScrollRate 값이 양수와 음수일 때 배경이 움직이는 방향이 어떻게 달라지나요? [answer] | **ScrollRate** 값의 부호에 따라 배경이 움직이는 방향이 달라집니다. * **양수 값**을 입력하면 배경이 기본 방향(보통 오른쪽에서 왼쪽, 또는 템플릿 설정된 방향)으로 이동합니다. * **음수 값**을 입력하면 배경이 반대 방향으로 이동합니다. 값의 크기가 커질수록 배경이 움직이는 속도는 빨라집니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Preset List**와 **BackgroundComponent**를 활용하여 맵의 배경을 설정해봅시다. # 템플릿 배경 설정 **Preset List - Background**에서 메이플스토리의 다양한 배경을 선택할 수 있습니다. 이와 같이 배경 템플릿을 선택하면 배경이 움직이는 속도, 즉 **ScrollRate**를 조절할 수 있습니다. **ScrollRate** 값이 커지면 배경이 움직이는 속도가 빨라지며, 음수를 입력하면 반대 방향으로 이동합니다. | ScrollRate | Image

[task] | single_turn [pass] | ⏳ 미판정 [title] | 파티클 활용하기 [question] | 스크립트에서 self.Entity.BasicParticleComponent를 직접 조작하는 것과 파티클 서비스를 통해 생성 및 제어하는 방식의 차이점은 무엇인가요? [answer] | 제시된 문서를 바탕으로 `self.Entity.BasicParticleComponent` 직접 조작과 파티클 서비스(문서 내 "파티클 서비스" 섹션)를 통한 방식의 차이점을 설명합니다. ### 1. `self.Entity.BasicParticleComponent` 직접 조작 문서에서 이 방식은 주로 **이미 엔티티에 존재하는 파티클 컴포넌트의 프로퍼티를 수정하거나 재생 상태를 제어**하는 데 사용됩니다. * **접근 방식:** `self.Entity.BasicParticleComponent`를 통해 직접 접근합니다. * [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 [파티클 사용하기](/docs/?postId=1036) 가이드에서 파티클 컴포넌트의 개념 및 종류에 대해 알아보았습니다. 이번 시간에는 스크립트를 사용해 파티클을 활용하는 예제를 살펴보겠습니다. # 파티클 스크립트 ## 파티클 프로퍼티 제어 캐릭터와의 거리에 따라 파티클의 재생 속도가 바뀌는 예제를 통해 파티클 프로퍼티를 제어하는 방법을 살펴봅시다. 1. 파티클이 잘 보이도록 어두운 배경을 설정하고 지형을 배치한 뒤 원하는 파티클을 배치합니다. 본 예제에서는 Background로 **back-16**을 설

[task] | code [pass] | ⏳ 미판정 [title] | 배경 설정하기 [question] | BackgroundComponent의 Type을 Gradient로 변경하고 MiddleTopRatio와 MiddleBottomRatio를 각각 0.25와 0.75로 설정하는 스크립트를 작성해줘 [answer] | BackgroundComponent의 `Type`을 `Gradient`로 변경하고, `MiddleTopRatio`와 `MiddleBottomRatio`를 각각 0.25와 0.75로 설정하는 스크립트는 다음과 같습니다. ```lua Property: [None] number MiddleTopRatioValue = 0.25 [None] number MiddleBottomRatioValue = 0.75 Method: [client only] void OnBeginPlay() { local background = self.Ent [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Preset List**와 **BackgroundComponent**를 활용하여 맵의 배경을 설정해봅시다. # 템플릿 배경 설정 **Preset List - Background**에서 메이플스토리의 다양한 배경을 선택할 수 있습니다. 이와 같이 배경 템플릿을 선택하면 배경이 움직이는 속도, 즉 **ScrollRate**를 조절할 수 있습니다. **ScrollRate** 값이 커지면 배경이 움직이는 속도가 빨라지며, 음수를 입력하면 반대 방향으로 이동합니다. | ScrollRate | Image

[task] | code [pass] | ⏳ 미판정 [title] | 배경 설정하기 [question] | BackgroundComponent의 ScrollRate를 10으로 설정하여 배경의 이동 속도를 빠르게 하는 스크립트를 작성해줘 [answer] | 메이플스토리 월드의 `BackgroundComponent`는 배경 템플릿을 선택한 뒤 그 속성으로 `ScrollRate`를 조절할 수 있습니다. `ScrollRate` 값이 커지면 배경이 움직이는 속도가 빨라지므로, 이 값을 10으로 설정하면 원하는 대로 배경 이동 속도가 빨라집니다. 아래 코드는 스크립트가 붙어 있는 엔티티의 `BackgroundComponent`를 찾아 `ScrollRate`를 10으로 설정하는 예시입니다. ```lua Property: [None] number TargetScrollRate = 10 Met [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Preset List**와 **BackgroundComponent**를 활용하여 맵의 배경을 설정해봅시다. # 템플릿 배경 설정 **Preset List - Background**에서 메이플스토리의 다양한 배경을 선택할 수 있습니다. 이와 같이 배경 템플릿을 선택하면 배경이 움직이는 속도, 즉 **ScrollRate**를 조절할 수 있습니다. **ScrollRate** 값이 커지면 배경이 움직이는 속도가 빨라지며, 음수를 입력하면 반대 방향으로 이동합니다. | ScrollRate | Image

[task] | single_turn [pass] | ⏳ 미판정 [title] | 배경 설정하기 [question] | BackgroundComponent의 Type을 Web으로 변경한 후 웹 이미지 주소를 입력했는데 배경이 안 나올 때, 반드시 수행해야 하는 최종 확인 절차는 무엇인가요? [answer] | BackgroundComponent의 Type을 Web으로 변경하고 WebURL에 주소를 입력한 뒤에도 배경이 나타나지 않는다면, 반드시 **시작을 누른 뒤 테스트**를 실행해야 합니다. 문서에는 웹 이미지 배경 설정 과정의 마지막 단계로 "시작을 누른 뒤 테스트해 봅시다"라고 명시되어 있으며, 이 절차를 거친 후에야 웹상의 이미지가 배경으로 설정된 것을 확인할 수 있다고 안내하고 있습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Preset List**와 **BackgroundComponent**를 활용하여 맵의 배경을 설정해봅시다. # 템플릿 배경 설정 **Preset List - Background**에서 메이플스토리의 다양한 배경을 선택할 수 있습니다. 이와 같이 배경 템플릿을 선택하면 배경이 움직이는 속도, 즉 **ScrollRate**를 조절할 수 있습니다. **ScrollRate** 값이 커지면 배경이 움직이는 속도가 빨라지며, 음수를 입력하면 반대 방향으로 이동합니다. | ScrollRate | Image

[task] | code [pass] | ⏳ 미판정 [title] | 파티클 활용하기 [question] | 엔티티의 TransformComponent.WorldPosition 위치에 2초 간격으로 Firework 타입 파티클을 재생하고, 재생된 파티클이 5초 후 자동으로 삭제되도록 _ParticleService:PlayBasicParticle() 과 _TimerService:SetTimerOnce() 를 활용하는 스크립트를 작성해줘 [answer] | 제시된 참고 문서에는 `_ParticleService:PlayBasicParticle()` 함수를 통해 파티클을 재생하는 방법과 `_TimerService:SetTimerRepeat()`을 사용하여 2초 간격으로 함수를 실행하는 예시가 포함되어 있습니다. 그러나 질문에서 요청하신 **"재생된 파티클이 5초 후 자동으로 삭제되도록 `_TimerService:SetTimerOnce()`를 활용하는 부분"** 에 해당하는 API 또는 코드가 제공된 문서에 존재하지 않습니다. 문서에는 파티클 재생(`PlayBasicParticle`)과 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 1. 파티클이 잘 보이도록 어두운 배경을 설정하고 지형을 배치한 뒤 원하는 엔티티를 배치합니다. 본 예제에서는 Preset List에서 Background - **back-51**을 설정하고 Object - **object-174**를 배치했습니다. 2. Workspace - MyDesk에 새 스크립트 컴포넌트 ParticleServiceTest를 생성합니다. 3. 배치한 엔티티(object-174)의 Property에 ParticleServiceTest를 추가합니다. 4. 여기에 TweenCircula

[task] | two_turn [pass] | ⏳ 미판정 [title] | 파티클 활용하기 [question] | 버튼 클릭 시 파티클 재생 코드 예시를 보여주세요. [answer] | 버튼 클릭 시 파티클을 재생하는 mLua 스크립트 예시입니다. 이 코드를 실행하려면 먼저 UI 구조를 다음과 같이 구성해야 합니다. 1. `UIButton` 엔티티에 `UIButtonParticle` 스크립트 컴포넌트를 추가합니다. 2. `UIParticle` 엔티티에 `UIBasicParticleComponent`를 추가하고, `Loop`와 `PlayOnEnable`을 `false`로 설정합니다. 3. `UIButtonParticle` 스크립트의 `particleEntity` 프로퍼티에 해당 `UIParticle` 엔티티를 연결 [followup] | self.particleEntity가 유효하지 않거나(Null) UIButtonParticle 컴포넌트가 여러 개 붙어 있을 때 발생하는 예외 상황과, 이를 방지하기 위한 방어적 코드 작성 방법은 무엇인가요? [followup_answer] | 제시된 참고 문서에는 `self.particleEntity`가 null이거나 유효하지 않을 경우의 예외 처리 방법, 또는 `UIButtonParticle` 컴포넌트가 중복되어 있을 때의 처리 방안이 포함되어 있지 않습니다. 문서에는 버튼 클릭 시 파티클 재생을 위해 `self.particleEntity.UIBasicParticleComponent`에 직접 접근하여 `IsEmitting`을 확인하고 `Stop()`/`Play()`을 호출하는 코드만 명시되어 있으며, null 체크나 방어적 프로그래밍에 대한 가이드는 없습니다. 따라 [scores] | [judge_reason] | [source_doc] | 1. **UIParticle**에 **UIBasicParticleComponent**를 추가합니다. 2. ParticleType을 **CircleBust**로 선택하고, 원하는 파티클 크기, 속도 등을 조절합니다. 3. **UIBasicParticleComponent**의 **Loop**를 **false**로 설정해 버튼을 눌렀을 때 파티클이 한 번만 재생되도록 합니다. **PlayOnEnable** 또한 **false**로 변경하여 파티클이 월드 진입하자마자 재생되지 않도록 합니다. ![[object Object]](https

[task] | single_turn [pass] | ⏳ 미판정 [title] | 공동 제작 팁 [question] | 다른 그룹원의 작업에 영향을 주지 않고 특정 컴포넌트를 테스트하기 위해 제작자 본인만 활성화하는 코드는 어떻게 작성하나요? [answer] | 다른 그룹원의 작업에 영향을 최소화하면서 특정 컴포넌트를 테스트하려면, `_UserService.LocalPlayer.Name` 을 이용해 현재 플레이어가 제작자 본인인 경우에만 컴포넌트를 활성화하도록 조건문을 작성합니다. 아래 예시처럼 `Property` 블록에서 테스트 대상 컴포넌트를 참조하고, `Method` 블록의 `OnBeginPlay` 또는 특정 조건에서 해당 로직을 실행할 수 있습니다. ```lua Property: [None] Component TestComponent = null Method: [server] [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 메이커에서 플레이 테스트를 하다가 인스턴스 맵으로 이동하면 **Hierarchy** 탭에 아무것도 보이지 않는 현상이 발생할 수 있습니다. 이때는 **Hierarchy** 탭을 닫았다가 다시 열면 정상화됩니다. Workspace나 UI에서도 유사한 현상이 발생할 수 있습니다. 이때 폴더를 접었다 펴면 Check Out 정보가 갱신됩니다. ## 새로운 월드로 이전 공동 제작 중 아래와 같은 현상이 발생하면 해당 월드에 심각한 문제가 발생할 가능성이 높습니다. * 스크립트 에디터에 게임 UI가 보임 * UI를 수정하고 Check

[task] | two_turn [pass] | ⏳ 미판정 [title] | 공동 제작 팁 [question] | UI를 공동 제작할 때 Lock이 걸리는 문제를 피하기 위해 그룹을 분리해야 하는 이유가 무엇인가요 [answer] | UI를 공동 제작할 때 Lock 문제를 피하기 위해 그룹을 분리해야 하는 이유는 다음과 같습니다. UI는 가장 하위 레벨의 Entity(개체)라도 누군가가 Check Out(작업 시작)을 했다면, 해당 UI의 **그룹 전체에 Lock(잠금)이 걸리기** 때문입니다. 이로 인해 다른 그룹원은 해당 그룹에 포함된 UI에 접근할 수 없어 작업 효율성이 떨어질 수 있습니다. 따라서 용도에 따라 미리 그룹을 세분화해 두면, 한 사람이 특정 그룹의 UI를 작업하더라도 다른 그룹의 UI는 Lock이 걸리지 않아 다른 사람이 동시에 작업할 수 [followup] | 특정 UI Entity가 Check Out 상태일 때 왜 그룹 전체에 Lock이 걸리며, 이 문제를 방지하기 위해 UI 그룹을 세분화할 때 고려해야 할 구체적인 기준은 무엇인가요? [followup_answer] | 참고 문서에 따르면, 특정 UI Entity가 Check Out 상태일 때 그룹 전체에 Lock이 걸리는 원인은 다음과 같습니다. UI는 가장 하위의 Entity라도 누군가 Check Out을 했다면, **그룹 전체에 Lock이 걸리기 때문**입니다. 이로 인해 다른 그룹원은 해당 그룹에 포함된 UI에 접근할 수 없어 작업 효율성이 떨어질 수 있습니다. 다만, UI 그룹을 세분화할 때 고려해야 할 **구체적인 기준**에 대해서는 참고 문서에 명시된 내용이 없습니다. 문서에는 "용도에 따라 미리 그룹을 분리해두는 것이 좋습니다"라 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 공동 제작 기능을 활용하면 여러 인원이 동시에 월드를 편집할 수 있기 때문에 매우 편리합니다. 하지만 함께 작업을 진행하다 보면 가끔 오류가 발생할 때도 있습니다. 메이플스토리 월드 팀은 이와 같은 오류를 최소화하고 메이커의 안정성을 높이기 위해 지속적으로 노력하고 있습니다. 이번 시간에는 공동 제작 과정에서 알아두면 좋은 팁을 몇 가지 소개하고자 합니다. ##### 참고 가이드 [공동 제작](/docs/?postId=670) # 개발용 월드와 출시용 월드의 구분 개발용 월드에서 필요한 작업을 끝낸 후,

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 사다리와 로프 활용하기 [question] | ClimbableSpriteRendererComponent에서 사다리의 세로 높이를 설정하는 프로퍼티와, X값 변경이 지원되지 않는 이유를 3문장 이내로 설명하세요. [answer] | ClimbableSpriteRendererComponent에서 사다리의 세로 높이를 설정하는 프로퍼티는 `TiledSize`입니다. 이 프로퍼티는 Y값을 변경하여 높이를 조절할 수 있지만 X값 변경은 지원하지 않습니다. 이는 사다리나 로프가 길이를 늘릴 때 몸통 부분의 스프라이트가 반복되어 늘어나는 구조이기 때문입니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | [ClimbableSpriteRendererComponent](/apiReference/Components/ClimbableSpriteRendererComponent)는 사다리나 로프의 스프라이트를 설정하고 길이를 조절할 수 있습니다. 사다리나 로프는 ①머리, ②몸통, ③꼬리 부분으로 이루어져 있는데 그 길이를 늘리면 몸통 부분의 스프라이트가 반복되며 늘어납니다. **ClimbableSpriteRendererComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | :---: | --- | | FlipX

[task] | code [pass] | ⏳ 미판정 [title] | MSW 단축키 [question] | 따라서 문서에 나온 API로 해결할 수 있는 mLua 코딩 과제를 만들 수 없습니다. [answer] | 제시된 참고 문서에는 mLua 스크립트 언어의 API, 메서드, 이벤트 핸들러 등 코딩에 필요한 기술적 정보가 포함되어 있지 않습니다. 문서에는 메이플스토리 월드 메이커에서 사용할 수 있는 단축키(실행 취소, 복사, 붙여넣기, 줌인/아웃, 엔티티 이동, 레이어 이동 등)에 대한 정보만 기술되어 있습니다. 따라서 요청하신 대로, 주어진 문서 내용만 근거로 삼아 mLua 코딩 과제를 만들 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 메이플스토리 월드 메이커에는 월드를 더 빠르고 쉽게 만들 수 있는 단축키가 있습니다. 단축키를 활용하여 편리하게 월드를 제작해 봅시다. # 일반 단축키 메이커 내 각종 에디터와 텍스트 입력 필드에서 활용할 수 있는 단축키입니다. | 단축키 | 액션 | 설명 | | --- | --- | --- | | `Ctrl(L)` + `Z` | 실행 취소 | 실행을 취소합니다. | | `Ctrl(L)` + `Shift(L)` + `Z` , `Ctrl(L)` + `Y` | 다시 하기 | 취소했던 실행을 다시 합니다. |

[task] | single_turn [pass] | ⏳ 미판정 [title] | 공동 제작 팁 [question] | 공동 제작 중 예상치 못한 오류가 발생했을 때 다른 모든 작업자를 멈춰야 하는 문제를 해결하기 위해 권장되는 워크플로우 단계는 어떻게 되나요? [answer] | 공동 제작 중 오류 발생으로 인한 작업 중단 문제를 해결하기 위해 권장되는 워크플로우는 **개발용 월드와 출시용 월드를 분리하여 관리**하는 것입니다. 구체적인 단계는 다음과 같습니다. 1. **개발용 월드에서 작업 및 테스트**: * 크리에이터는 공동 제작에 참여하기 전에 자신의 개인 월드 또는 별도의 개발용 월드에서 작업을 진행합니다. * 여기서 지속적인 테스트와 오류 수정을 반복하여 안정적으로 동작하는 게임으로 다듬습니다. 2. **출시용(공동 제작) 월드로 이전**: * 개발용 월드에 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 공동 제작 기능을 활용하면 여러 인원이 동시에 월드를 편집할 수 있기 때문에 매우 편리합니다. 하지만 함께 작업을 진행하다 보면 가끔 오류가 발생할 때도 있습니다. 메이플스토리 월드 팀은 이와 같은 오류를 최소화하고 메이커의 안정성을 높이기 위해 지속적으로 노력하고 있습니다. 이번 시간에는 공동 제작 과정에서 알아두면 좋은 팁을 몇 가지 소개하고자 합니다. ##### 참고 가이드 [공동 제작](/docs/?postId=670) # 개발용 월드와 출시용 월드의 구분 개발용 월드에서 필요한 작업을 끝낸 후,

[task] | code [pass] | ⏳ 미판정 [title] | MSW 단축키 [question] | 제시된 문서에는 mLua 스크립트 API(컴포넌트, 서비스, 함수 등)에 대한 정보가 포함되어 있지 않으며, 메이커 사용 단축키(편집, 이동, 줌 등)에 대한 내용만 다루고 있습니다. [answer] | 제시된 참고 문서에는 mLua 스크립트 API(컴포넌트, 서비스, 함수 등)에 대한 기술적 정의나 사용법이 포함되어 있지 않습니다. 해당 문서는 메이플스토리 월드 메이커에서 사용할 수 있는 **단축키 목록**(일반 편집, 맵/UI 에디터 이동 및 줌, 맵 레이어 순서 변경)만을 다루고 있습니다. 따라서 문서 내용에 기반하여 mLua 스크립트 API에 대해 답변할 수 없으며, 요청하신 mLua 코드 예제도 해당 문서에서 확인 가능한 API 정보를 바탕으로 작성할 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 메이플스토리 월드 메이커에는 월드를 더 빠르고 쉽게 만들 수 있는 단축키가 있습니다. 단축키를 활용하여 편리하게 월드를 제작해 봅시다. # 일반 단축키 메이커 내 각종 에디터와 텍스트 입력 필드에서 활용할 수 있는 단축키입니다. | 단축키 | 액션 | 설명 | | --- | --- | --- | | `Ctrl(L)` + `Z` | 실행 취소 | 실행을 취소합니다. | | `Ctrl(L)` + `Shift(L)` + `Z` , `Ctrl(L)` + `Y` | 다시 하기 | 취소했던 실행을 다시 합니다. |

[task] | two_turn [pass] | ⏳ 미판정 [title] | 공동 제작 팁 [question] | 공동 제작 중 맵 엔티티를 수정한 뒤 월드를 이탈할 때 수정 사항이 반영되지 않는 문제를 해결하기 위해 어떻게 해야 하나요 [answer] | 공동 제작 월드에서 맵 엔티티를 배치하거나 수정한 후 Check In을 하지 않고 월드를 이탈하면, 해당 수정 사항이 다른 공동 작업자에게 반영되지 않습니다. 맵 엔티티 작업은 별도의 저장 안내가 제공되지 않기 때문에 이 문제가 발생하기 쉽습니다. 이 문제를 해결하기 위해서는 **작업 종료 전 반드시 Check In을 수행해야** 합니다. Check In을 수행하는 방법은 다음과 두 가지가 있습니다: 1. **단축키 사용**: Scene 뷰에서 `Ctrl + S` 키를 누릅니다. 2. **Bulk Check In 기능 사용 [followup] | 맵 엔티티 수정 시 별도의 저장 안내가 없는 경우, Bulk Check In을 실행하는 두 가지 방법(Scene에서 Ctrl+S, Workspace 우클릭) 중 어떤 상황에서 각각 사용해야 하는지 구체적인 예시를 들어주세요. [followup_answer] | 제공된 참고 문서에는 Bulk Check In을 실행하는 두 가지 방법(Scene에서 Ctrl+S, Workspace - My Desk 우클릭)이 언급되어 있지만, **각 방법을 구체적으로 어떤 상황에서 사용해야 하는지 구분하는 기준이나 예시는 문서에 포함되어 있지 않습니다.** 문서에서는 단순히 "개별 Check In이 번거롭다면" 이 두 가지 방법 중 하나를 활용할 수 있다고만 안내하고 있으며, 상황별 사용 가이드를 제공하지 않습니다. 따라서 문서 근거만으로 특정 상황별 최적 방법을 구분해 드리기 어렵습니다. [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 공동 제작 기능을 활용하면 여러 인원이 동시에 월드를 편집할 수 있기 때문에 매우 편리합니다. 하지만 함께 작업을 진행하다 보면 가끔 오류가 발생할 때도 있습니다. 메이플스토리 월드 팀은 이와 같은 오류를 최소화하고 메이커의 안정성을 높이기 위해 지속적으로 노력하고 있습니다. 이번 시간에는 공동 제작 과정에서 알아두면 좋은 팁을 몇 가지 소개하고자 합니다. ##### 참고 가이드 [공동 제작](/docs/?postId=670) # 개발용 월드와 출시용 월드의 구분 개발용 월드에서 필요한 작업을 끝낸 후,

[task] | two_turn [pass] | ⏳ 미판정 [title] | 공동 제작 팁 [question] | 개발용 월드를 출시용 월드로 옮길 때 어떤 방법이 가장 안정적인지 궁금해요 [answer] | 개발용 월드를 출시용 월드로 옮길 때 가장 안정적인 방법은 **개인 월드를 그룹 월드로 이전**하는 것입니다. 이 방법은 "mod File을 직접 Import"하는 것보다 안정성이 높다고 알려져 있습니다. 구체적인 절차는 다음과 같습니다. 1. 공동 제작에 참여한 그룹원이 자신의 **개인 월드**에서 작업을 진행한 뒤 저장합니다. 2. 메이플스토리 월드 공식 홈페이지에서 **만들기 - 그룹 월드**를 선택합니다. 3. 여기서 **개인 월드 가져오기**를 눌러 1단계에서 저장했던 개인 월드를 가져옵니다. 다만, 이 작업은 출시용 [followup] | "개인 월드 - 그룹 월드 이전"을 사용해야 하는 구체적인 이유와, 이 과정에서 다른 그룹원의 작업을 중단해야 하는 불편함을 해결하기 위해 추천되는 대안은 무엇인가요? [followup_answer] | **구체적인 이유** "개인 월드 - 그룹 월드 이전"을 사용해야 하는 구체적인 이유는 **안정성**입니다. 공동 제작 환경에서 UI나 맵 관련 작업을 진행하다 보면 예상치 못한 오류가 발생할 수 있습니다. 이러한 오류 발생 가능성을 줄이고 안정적인 작업을 위해, 먼저 개인(개발용) 월드에서 작업을 완료한 후 공동 제작(출시용) 월드로 옮기는 방식이 "mod File을 직접 Import"하는 것보다 더 안정적인 편이기 때문입니다. **불편함 해결을 위한 추천 대안** "개인 월드 - 그룹 월드 이전"은 출시용 월드에 개발용 월드 [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 공동 제작 기능을 활용하면 여러 인원이 동시에 월드를 편집할 수 있기 때문에 매우 편리합니다. 하지만 함께 작업을 진행하다 보면 가끔 오류가 발생할 때도 있습니다. 메이플스토리 월드 팀은 이와 같은 오류를 최소화하고 메이커의 안정성을 높이기 위해 지속적으로 노력하고 있습니다. 이번 시간에는 공동 제작 과정에서 알아두면 좋은 팁을 몇 가지 소개하고자 합니다. ##### 참고 가이드 [공동 제작](/docs/?postId=670) # 개발용 월드와 출시용 월드의 구분 개발용 월드에서 필요한 작업을 끝낸 후,

[task] | single_turn [pass] | ⏳ 미판정 [title] | 공동 제작 팁 [question] | 개발용 월드를 출시용 월드로 옮길 때 mod 파일 Import와 개인 월드 이전 중 어떤 방법이 더 안정적이고 각각의 차이점은 무엇인가요? [answer] | 개발용 월드를 출시용 월드로 옮기는 방법 중 **개인 월드 - 그룹 월드 이전**이 더 안정적입니다. 두 방법의 차이와 특징은 다음과 같습니다. **1. mod File Import** * **방법:** 개발용 월드에서 `File - Export to File`을 통해 mod 파일을 생성한 뒤, 출시용 월드에서 `File - Import to File`을 선택하여 파일을 불러오는 방식입니다. * **특징:** 직접 파일을 주고받는 방식으로 간단하지만, 공동 제작 환경에서 UI나 맵 관련 작업을 진행할 때 예상치 못한 오류 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 공동 제작 기능을 활용하면 여러 인원이 동시에 월드를 편집할 수 있기 때문에 매우 편리합니다. 하지만 함께 작업을 진행하다 보면 가끔 오류가 발생할 때도 있습니다. 메이플스토리 월드 팀은 이와 같은 오류를 최소화하고 메이커의 안정성을 높이기 위해 지속적으로 노력하고 있습니다. 이번 시간에는 공동 제작 과정에서 알아두면 좋은 팁을 몇 가지 소개하고자 합니다. ##### 참고 가이드 [공동 제작](/docs/?postId=670) # 개발용 월드와 출시용 월드의 구분 개발용 월드에서 필요한 작업을 끝낸 후,

[task] | code [pass] | ⏳ 미판정 [title] | 사다리와 로프 활용하기 [question] | ClimbableComponent의 ClimbableAnimationType을 Rope로 설정하여 로프 등반 애니메이션이 적용되도록 하는 스크립트를 작성해줘 [answer] | `ClimbableComponent`의 `ClimbableAnimationType` 프로퍼티를 `Rope`으로 설정하는 스크립트는 다음과 같습니다. ```lua Method: [server only] void OnBeginPlay() { self.Entity.ClimbableComponent.ClimbableAnimationType = "Rope" } ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 캐릭터가 사다리나 로프를 타면 수직으로 올라갈 수 있습니다. 이는 사다리나 로프의 동작과 연관된 **ClimbableComponent**가 있기 때문입니다. 이 컴포넌트를 활용하면 사다리, 로프뿐만 아니라 다른 오브젝트에서도 등반할 수 있습니다. 또한 크리에이터가 원하는 대로 등반 영역이나 등반 속도를 조절할 수 있습니다. 관련된 컴포넌트로 **ClimbableSpriteRendererComponent**도 있습니다. 이 컴포넌트는 사다리나 로프와 같이 머리, 몸통, 꼬리 형태의 스프라이트를 그리기 위한 용도로

[task] | two_turn [pass] | ⏳ 미판정 [title] | 파티클 활용하기 [question] | UIButtonParticle 스크립트에서 HandleButtonClickEvent 내부에 IsEmitting 체크 후 Stop()을 호출하는 로직이 있는 이유를 알고 싶습니다. [answer] | UIButtonParticle 스크립트에서 `HandleButtonClickEvent` 내부에 `IsEmitting` 체크 후 `Stop()`을 호출하는 이유는 **파티클이 이미 재생 중일 때 중복 재생을 방지하고, 항상 새 재생(리셋)으로 시작하게 하기 위함**입니다. 구체적인 동작 원리는 다음과 같습니다. 1. **중복 재생 방지 및 상태 초기화**: * `UIBasicParticleComponent`의 `IsEmitting` 속성은 현재 파티클이 에미터(발생)되고 있는지 나타내는 boolean 값입니다. [followup] | 파티클이 이미 재생 중일 때 Stop()을 호출하지 않고 바로 Play()만 호출하면 mLua 환경에서 어떤 충돌이나 비정상 동작이 발생합니까? [followup_answer] | 제시된 참고 문서에는 파티클이 이미 재생 중일 때 `Stop()`을 호출하지 않고 바로 `Play()`만 호출했을 경우 mLua 환경에서 발생하는 구체적인 충돌이나 비정상 동작(예: 에러 로그, 파티클 겹침, 메모리 누수 등)에 대한 기술적 설명이 포함되어 있지 않습니다. 문서에서는 단순히 "버튼을 누르면 파티클이 재생될 수 있도록" 하기 위해 `IsEmitting` 체크 후 `Stop()`을 호출하는 코드 예제를 제공하고 있을 뿐, `Stop()` 생략 시의 기술적 결과나 오류 유형에 대해서는 명시하고 있지 않습니다. [scores] | [judge_reason] | [source_doc] | 1. **UIParticle**에 **UIBasicParticleComponent**를 추가합니다. 2. ParticleType을 **CircleBust**로 선택하고, 원하는 파티클 크기, 속도 등을 조절합니다. 3. **UIBasicParticleComponent**의 **Loop**를 **false**로 설정해 버튼을 눌렀을 때 파티클이 한 번만 재생되도록 합니다. **PlayOnEnable** 또한 **false**로 변경하여 파티클이 월드 진입하자마자 재생되지 않도록 합니다. ![[object Object]](https

[task] | code [pass] | ⏳ 미판정 [title] | 배경 설정하기 [question] | BackgroundComponent의 ScrollRate를 -10으로 설정하여 배경이 반대 방향으로 이동하도록 하는 스크립트를 작성해줘 [answer] | 제공된 참고 문서에는 `ScrollRate` 프로퍼티를 직접적으로 조작하거나 `BackgroundComponent`에 해당 프로퍼티가 존재한다는 명시적인 API 문법이 포함되어 있지 않습니다. 문서에는 `ScrollRate`가 배경 템플릿 선택 시 조절 가능한 값임을 설명하고 있으며, `BackgroundComponent`에 대해 언급하고 있는 API는 다음과 같습니다: 1. `ChangeBackgroundByTemplateRUID(ruid)` 2. `ChangeBackgroundBySolidColor(color)` 3. `Cha [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 **Preset List**와 **BackgroundComponent**를 활용하여 맵의 배경을 설정해봅시다. # 템플릿 배경 설정 **Preset List - Background**에서 메이플스토리의 다양한 배경을 선택할 수 있습니다. 이와 같이 배경 템플릿을 선택하면 배경이 움직이는 속도, 즉 **ScrollRate**를 조절할 수 있습니다. **ScrollRate** 값이 커지면 배경이 움직이는 속도가 빨라지며, 음수를 입력하면 반대 방향으로 이동합니다. | ScrollRate | Image

[task] | code [pass] | ⏳ 미판정 [title] | 파티클 활용하기 [question] | UIButton 엔티티에 UIButtonParticle 컴포넌트를 추가하고, particleEntity 프로퍼티의 타입을 Entity로 설정한 후 /ui/UIGroup/UIButton/UIParticle 경로의 엔티티를 참조하도록 연결하는 스크립트를 작성해줘. [answer] | UIButton 엔티티에 추가할 `UIButtonParticle` 컴포넌트 스크립트입니다. 요청하신 대로 `particleEntity` 프로퍼티의 타입을 `Entity`로 설정하고, `/ui/UIGroup/UIButton/UIParticle` 경로의 엔티티를 참조하도록 연결했습니다. ```lua Property: [None] Entity particleEntity = /ui/UIGroup/UIButton/UIParticle ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 1. **UIParticle**에 **UIBasicParticleComponent**를 추가합니다. 2. ParticleType을 **CircleBust**로 선택하고, 원하는 파티클 크기, 속도 등을 조절합니다. 3. **UIBasicParticleComponent**의 **Loop**를 **false**로 설정해 버튼을 눌렀을 때 파티클이 한 번만 재생되도록 합니다. **PlayOnEnable** 또한 **false**로 변경하여 파티클이 월드 진입하자마자 재생되지 않도록 합니다. ![[object Object]](https

[task] | instruction_following [pass] | ⏳ 미판정 [title] | 사다리와 로프 활용하기 [question] | 등반 영역을 수동으로 조절할 수 없는 조건과, IsUseDefaultObjectBoxSize를 false로 설정한 후 등반 영역을 조절하는 단계를 4단계의 번호 목록으로 작성하세요. [answer] | 등반 영역을 수동으로 조절할 수 없는 조건은 엔티티가 **ClimbableComponent**와 **ClimbableSpriteRendererComponent**를 모두 포함하고 있을 때입니다. 이 경우 등반 영역은 무조건 오브젝트의 **BoxSize**를 사용하게 됩니다. **IsUseDefaultObjectBoxSize**를 false로 설정한 후 등반 영역을 조절하는 단계는 다음과 같습니다. 1. **IsUseDefaultObjectBoxSize** 체크박스를 해제하여 값을 **false**로 설정합니다. 2. **Coll [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | [ClimbableSpriteRendererComponent](/apiReference/Components/ClimbableSpriteRendererComponent)는 사다리나 로프의 스프라이트를 설정하고 길이를 조절할 수 있습니다. 사다리나 로프는 ①머리, ②몸통, ③꼬리 부분으로 이루어져 있는데 그 길이를 늘리면 몸통 부분의 스프라이트가 반복되며 늘어납니다. **ClimbableSpriteRendererComponent**의 프로퍼티를 살펴봅시다. | 프로퍼티 명 | 설명 | | :---: | --- | | FlipX

[task] | code [pass] | ⏳ 미판정 [title] | 사다리와 로프 활용하기 [question] | ClimbableComponent의 SpeedFactor 프로퍼티를 2.0으로 설정하여 등반 속도를 2배로 빠르게 하는 스크립트를 작성해줘 [answer] | `ClimbableComponent`의 `SpeedFactor` 프로퍼티는 등반 시 X, Y축 속력에 곱해지는 가중치입니다. 이 값을 `2.0`으로 설정하면 등반 속도가 기본 속도의 2배가 됩니다. 아래 스크립트는 엔티티가 플레이를 시작할 때(`OnBeginPlay`) 해당 엔티티에 부착된 `ClimbableComponent`의 `SpeedFactor`를 `2.0`으로 변경하는 예제입니다. ```lua Method: [server only] void OnBeginPlay() { local climbableComponent [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | # 학습 과정 소개 캐릭터가 사다리나 로프를 타면 수직으로 올라갈 수 있습니다. 이는 사다리나 로프의 동작과 연관된 **ClimbableComponent**가 있기 때문입니다. 이 컴포넌트를 활용하면 사다리, 로프뿐만 아니라 다른 오브젝트에서도 등반할 수 있습니다. 또한 크리에이터가 원하는 대로 등반 영역이나 등반 속도를 조절할 수 있습니다. 관련된 컴포넌트로 **ClimbableSpriteRendererComponent**도 있습니다. 이 컴포넌트는 사다리나 로프와 같이 머리, 몸통, 꼬리 형태의 스프라이트를 그리기 위한 용도로

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