← 목록

mLua · Nemotron-CC 리프레이즈 (CPT)

총 8,200개 · 페이지 247/274
🔀 랜덤
불러오는 중…

[task] | knowledge_list [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | 제공된 원문에는 `UIAvatarPreviewComponent`에 대한 내용이 포함되지 않으며, `Model_Scroll_Item` 모델 제작 과정과 `UIWeaponItemComponent` 추가 과정에 대한 정보만 존재합니다. 따라서 원문에 명시된 사실만을 바탕으로 핵심 사실을 정리합니다. 1. Scene에 `Button` 컴포넌트를 추가하고, 엔티티 이름을 `Scroll_Item`으로 변경해야 하며, 이 버튼의 `ImageRUID` 프로퍼티 값은 `5813efbad2403444786f6955f97649fb`, `Raycast [original] | Model_Scroll_Item을 만들고, SkillDatas의 내용을 모델에 불러올 수 있도록 만들어 봅시다. # Scroll_Item 모델 제작 Scroll_Layout UI에 나타날 버튼을 만들어 봅시다. 1. Scene에 **Button**을 추가하고, 이름을 **Scroll_Item**으로 변경합니다. * ImageRUID: 5813efbad2403444786f6955f97649fb * RaycastTarget: enable 2. 새로운 **UIWeaponItemComponent**를 **Scroll_ [chunk_id] | Guides:1145:0

[task] | knowledge_list [title] | 애니메이션 재생 [category] | Guides [rephrased] | * `UIAvatarPreviewComponent`에 `[None]` 동기화 속성인 `AvatarGUIRendererComponent` 타입의 `AvatarGUIRenderer` 프로퍼티를 생성하여 UI 경로 `/ui/UIGroup/UIAvatarPreview/UIAvatarGUIRenderer`를 참조하게 설정한다. * `[client only]` 실행 공간에서 `void` 반환 타입의 `SetAvatarAnimation(string dataID, string weaponRUID, boolean is2handWeapon)` [original] | 1. **UIAvatarPreviewComponent**에 새로운 **AvatarGUIRenderer** 프로퍼티를 생성합니다. ```lua Property: [None] AvatarGUIRendererComponent AvatarGUIRenderer = /ui/UIGroup/UIAvatarPreview/UIAvatarGUIRenderer ``` 2. 새로운 함수 `SetAvatarAnimation()`을 추가하고, 매개변수로 **dataID, weaponRUID, is2handWeapon* [chunk_id] | Guides:1144:3

[task] | knowledge_list [title] | 애니메이션 재생 [category] | Guides [rephrased] | 1. Workspace의 MyDesk 노드 하위에서 Create Scripts - Create EventType 메뉴를 사용하여 UIWeaponSelectEvent 라는 이름의 이벤트 타입을 생성한다. 2. 생성한 UIWeaponSelectEvent 이벤트 타입에 EventSender 라는 프로퍼티를 추가하며, 데이터 타입은 UIWeaponItemComponentRef 이고 초기값은 nil 로 설정한다. 3. UIAvatarPreviewComponent 컴포넌트에 OnSelectButton(weaponItemComp, dataID) [original] | # UIWeaponSelectEvent 만들기 1. **Workspace - MyDesk - Create Scripts - Create EventType**에서 **UIWeaponSelectEvent**를 생성합니다. 2. **EventSender** 프로퍼티를 추가합니다. ```lua UIWeaponItemComponentRef EventSender = nil ``` # 버튼 기능 만들기 1. **UIAvatarPreviewComponent**에 새로운 `OnSelectButton()` 함수를 생성합니 [chunk_id] | Guides:1144:2

[task] | distill [title] | 애니메이션 재생 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기 ## 1. 프로퍼티 설정 `UIAvatarPreviewComponent`에 렌더러 참조를 등록합니다. ```lua Property: [None] AvatarGUIRendererComponent AvatarGUIRenderer = /ui/UIGroup/UIAvatarPreview/UIAvatarGUIRenderer ``` ## 2. 애니메이션 재생 함수 `SetAvatarAnimation()` 메서드를 정의하여 무기 장착 및 애니메이션 이벤트를 전송합니다. * **매개변수**: `da [original] | 1. **UIAvatarPreviewComponent**에 새로운 **AvatarGUIRenderer** 프로퍼티를 생성합니다. ```lua Property: [None] AvatarGUIRendererComponent AvatarGUIRenderer = /ui/UIGroup/UIAvatarPreview/UIAvatarGUIRenderer ``` 2. 새로운 함수 `SetAvatarAnimation()`을 추가하고, 매개변수로 **dataID, weaponRUID, is2handWeapon* [chunk_id] | Guides:1144:3

[task] | extract_knowledge [title] | 애니메이션 재생 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기 이 절에서는 UI 버튼 입력 시점에 특정 무기 유형에 맞는 아바타 공격 애니메이션을 무작위로 선택하여 재생하는 구조를 다룹니다. 이 구현은 `ActionNameStruct`라는 구조체 타입을 정의하고, `ActionNameLogic` 스크립트 컴포넌트를 통해 애니메이션 이름 목록을 관리 및 조회하는 방식으로 구성됩니다. ## 1. 개념 및 구조 정의 ### ActionNameStruct 아바타의 애니메이션은 코어(Core)와 파트(Parts) 두 부분으로 나뉘어 관리될 수 있습니다. 이를 [original] | # 학습 과정 소개 무기 버튼을 누르면 아바타가 공격 스킬을 재생하도록 만들어 봅시다. # ActionNameStruct 만들기 1. **Workspace - MyDesk - Create Scripts - Create StructType**에서 **ActionNameStruct**를 생성합니다. 2. **CoreActionName, PartsActionName** 프로퍼티를 추가합니다. ```lua Property: string CoreActionName = "" string PartsAc [chunk_id] | Guides:1144:0

[task] | wikipedia [title] | 애니메이션 재생 [category] | Guides [rephrased] | **UI에서 아바타 애니메이션 재생하기: 애니메이션 재생** 이 섹션은 UI 인터페이스에서 특정 무기 아이템을 선택할 때 아바타의 애니메이션을 재생하기 위한 스크립트 구성 방법을 설명한다. 이 과정은 커스텀 이벤트 타입을 생성하고, UI 컴포넌트 간의 이벤트를 전달하며, 해당 데이터에 기반하여 애니메이션을 제어하는 로직으로 이루어져 있다. **UIWeaponSelectEvent 생성** 첫째, 워크스페이스의 `MyDesk` 노드에서 `Create Scripts` > `Create EventType` 메뉴를 통해 `UIWeapo [original] | # UIWeaponSelectEvent 만들기 1. **Workspace - MyDesk - Create Scripts - Create EventType**에서 **UIWeaponSelectEvent**를 생성합니다. 2. **EventSender** 프로퍼티를 추가합니다. ```lua UIWeaponItemComponentRef EventSender = nil ``` # 버튼 기능 만들기 1. **UIAvatarPreviewComponent**에 새로운 `OnSelectButton()` 함수를 생성합니 [chunk_id] | Guides:1144:2

[task] | extract_knowledge [title] | 시작, 종료 구현하기 [category] | Guides [rephrased] | # 플래피 피쉬 리메이크: 시작 및 종료 로직 구현 본 절에서는 메이플스토리 월드(mLua) 환경에서 플래피 피쉬 스타일 게임의 종료 조건(장애물 충돌, 바닥 이탈)과 초기화 로직을 구현하는 방법을 다룹니다. ## 1. 개념 설명 게임의 종료와 재시작은 플레이어 엔티티의 상태 관리와 충돌 이벤트 처리를 기반으로 구성됩니다. 1. **충돌 감지**: `TouchAndDieComponent`를 통해 플레이어와 장애물(`Model_Obstacle`) 간의 트리거 진입(`TriggerEnterEvent`)을 감지합니다. 2. **상태 [original] | 1. Scene에 **Model_Obstacle**을 배치합니다. 2. 새로운 **TouchAndDieComponent**를 생성하고, Top, Bottom 엔티티에 추가합니다. 3. Hierarchy에서 Model_Obstacle의 콘텍스트 메뉴를 **Create Model From Entity**를 눌러 모델화 합니다. > **Tip.** > 기존의 Model_Obstacle을 지운 뒤에 모델화를 권장합니다. 4. FishPlayerComponent에서 새로운 **isDead** 프로퍼티를 생성합니다. [chunk_id] | Guides:1142:1

[task] | distill [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | `AddUIScrollWeaponItem()`에서 생성된 `UIWeaponItemComponent`에 참조와 데이터를 설정하려면, 스크립트 마지막에 아래 코드를 실행해야 합니다. ```lua spawn.UIWeaponItemComponent:SetAvatarPreviewComponentRef(self) spawn.UIWeaponItemComponent:SetData(id, weaponRUID) ``` **Model_Scroll_Item 수정 절차** 1. Scene에 `Model_Scroll_Item` 배치 후, 프로퍼티 에디터 [original] | `AddUIScrollWeaponItem()` 에서 **UIWeaponItemComponent**의 함수들를 호출할 수 있도록 마지막에 아래와 같이 작성합니다. ```lua spawn.UIWeaponItemComponent:SetAvatarPreviewComponentRef(self) spawn.UIWeaponItemComponent:SetData(id, weaponRUID) ``` #### Model_Scroll_Item 수정 1. **Model_Scroll_Item**을 선택해 Scene에 배치합니다. 프로퍼티 에디터 창 [chunk_id] | Guides:1145:3

[task] | extract_knowledge [title] | 점수 획득 구현하기 [category] | Guides [rephrased] | # 점수 획득 및 UI 표시 구현 ## 1. 개념 설명 플레이어가 장애물을 통과할 때마다 점수를 누적하고, 해당 점수를 화면의 UI에 실시간으로 반영하는 로직입니다. 이 과정은 플레이어와 장애물 간의 충돌 감지(Trigger), 점수 상태 변경, 그리고 UI 요소 업데이트의 세 가지 단계로 구성됩니다. ## 2. API 사용법 ### 2.1 충돌 감지 (TriggerComponent) 장애물 엔티티에 `TriggerComponent`를 추가하고, 플레이어와 충돌 시 발생하는 `TriggerEnterEvent`를 처리하여 점수 [original] | # 점수 획득 구현 Model_Obstacle의 부모 엔티티에 충돌체를 추가합니다. 해당 충돌체와 플레이어 엔티티가 충돌할 때 점수를 획득할 수 있도록 만들어 봅시다. 1. **Workspace - MyDesk - Model_Obstacle**에 **TriggerComponent**를 추가합니다. 2. **[Edit]** 버튼을 눌러 Collider를 추가합니다. 장애물의 중앙을 통과하도록 길게 세로로 Collider를 만듭니다. * ColiderType: Box * BoxSize: X 0.05, Y 20 [chunk_id] | Guides:1143:0

[task] | diverse_qa [title] | 장애물 만들기 [category] | Guides [rephrased] | 질문: Model_Obstacle의 생성 위치를 무작위로 지정하기 위해 어떤 함수를 사용해야 하나요? 답변: UtilLogic의 `RandomIntegerRange()` 함수를 활용해 생성되는 범위를 무작위로 지정하도록 만듭니다. 질문: 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애물 장애 [original] | Model_Obstacle이 들쭉날쭉 생성되도록 만들어봅시다. 모델을 직접 Scene에 배치해 만드는 것이 아닌, UtilLogic의 `RandomIntegerRange()` 함수를 활용해 생성되는 범위를 무작위로 지정하도록 만듭니다. 1. **ObstacleComponent**의 `Init()`함수에 아래 내용을 이어 작성합니다. ```lua [client only] void Init(integer index) { local offset = _UtilLogic:RandomDouble() [chunk_id] | Guides:1141:3

[task] | distill [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기: 무기 목록 불러오기 **UIAvatarPreview**에 `UIAvatarPreviewComponent`를 추가하고, `Model_Scroll_Item`을 통해 무기 정보를 로드하는 절차입니다. ### 1. 프로퍼티 정의 아래 프로퍼티를 추가합니다. ```lua [None] EntityRef UIRoot = /ui/UIGroup/UIAvatarPreview [None] ScrollLayoutGroupComponentRef UIScrollRoot = /ui/UIGroup/UIAvatarP [original] | 무기 정보를 가져와 **Model_Scroll_Item**에 불러올 수 있도록 만들어봅시다. 1. **UIAvatarPreview**에 **UIAvatarPreviewComponent**를 추가합니다. 2. 새로운 **UIRoot, UIScrollRoot, UIItemModelID** 프로퍼티를 추가합니다. ```lua [None] EntityRef UIRoot = /ui/UIGroup/UIAvatarPreview [None] ScrollLayoutGroupComponentRef UIScro [chunk_id] | Guides:1145:1

[task] | distill [title] | 스킬 재생하기 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기: 스킬 재생하기 아바타의 공격 애니메이션 재생 시, `UISkillEffectRenderer`를 통해 스킬 이펙트 애니메이션을 재생하도록 설정합니다. ## 1. SkillDataStruct 생성 `Workspace > MyDesk > Create Scripts > Create StructType`을 통해 **SkillDataStruct**를 생성하고, 다음 프로퍼티를 정의합니다. ```lua Property: string SkillRUID = "" Vector2 SkillOffset = [original] | # 학습 과정 소개 아바타가 공격 애니메이션을 재생하면, 스킬 이펙트 애니메이션을 UISkillEffectRenderer에 재생하도록 만들어 봅시다. # SkillDataStruct 만들기 1. **Workspace - MyDesk - Create Scripts - Create StructType**을 눌러 새로운 **SkillDataStruct**를 추가합니다. 2. **SkillRUID, SkillOffset, SkillDelay** 프로퍼티를 추가합니다. ```lua Property: string [chunk_id] | Guides:1146:0

[task] | diverse_qa [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | 질문: 이 가이드의 주요 목적은 무엇인가요? 답변: 무기 정보를 가져와 Model_Scroll_Item에 불러올 수 있도록 만드는 것입니다. 질문: UIAvatarPreview에 추가해야 하는 컴포넌트의 이름은 무엇인가요? 답변: UIAvatarPreviewComponent입니다. 질문: 새로운 프로퍼티로 선언된 UIRoot의 타입과 값은 무엇인가요? 답변: EntityRef 타입이며, 값은 /ui/UIGroup/UIAvatarPreview 입니다. 질문: UIItemModelID 프로퍼티의 타입은 무엇이며, 어떤 값을 가리키 [original] | 무기 정보를 가져와 **Model_Scroll_Item**에 불러올 수 있도록 만들어봅시다. 1. **UIAvatarPreview**에 **UIAvatarPreviewComponent**를 추가합니다. 2. 새로운 **UIRoot, UIScrollRoot, UIItemModelID** 프로퍼티를 추가합니다. ```lua [None] EntityRef UIRoot = /ui/UIGroup/UIAvatarPreview [None] ScrollLayoutGroupComponentRef UIScro [chunk_id] | Guides:1145:1

[task] | wikipedia [title] | 애니메이션 재생 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기 본 가이드는 메이플스토리 월드 스크립트 언어 mLua 환경에서 UI 컴포넌트를 통해 아바타의 무기를 장착하고 특정 애니메이션을 재생하는 방법을 설명합니다. 이 과정은 `UIAvatarPreviewComponent`를 기반으로 하며, 클라이언트 측 로직을 주로 다룹니다. ## 1. AvatarGUIRenderer 프로퍼티 생성 먼저 `UIAvatarPreviewComponent`에 아바타 렌더링을 담당할 `AvatarGUIRenderer` 프로퍼티를 선언해야 합니다. 해당 프로퍼티의 타입은 [original] | 1. **UIAvatarPreviewComponent**에 새로운 **AvatarGUIRenderer** 프로퍼티를 생성합니다. ```lua Property: [None] AvatarGUIRendererComponent AvatarGUIRenderer = /ui/UIGroup/UIAvatarPreview/UIAvatarGUIRenderer ``` 2. 새로운 함수 `SetAvatarAnimation()`을 추가하고, 매개변수로 **dataID, weaponRUID, is2handWeapon* [chunk_id] | Guides:1144:3

[task] | extract_knowledge [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기: 무기 목록 불러오기 (Scroll_Item 모델 제작) 본 절에서는 `Scroll_Layout` UI에 표시될 무기 항목 버튼(`Scroll_Item`)을 엔티티 레벨에서 구성하고, 이를 재사용 가능한 모델로 변환하는 과정을 다룹니다. 이 과정을 통해 `SkillDatas`의 내용을 모델에 로드할 수 있는 기반을 마련합니다. ## 1. 개념 설명 `Scroll_Item`은 무기 목록의 개별 항목을 나타내는 UI 버튼 컴포넌트입니다. 단순한 버튼이 아닌, 특정 데이터(`SkillDatas [original] | Model_Scroll_Item을 만들고, SkillDatas의 내용을 모델에 불러올 수 있도록 만들어 봅시다. # Scroll_Item 모델 제작 Scroll_Layout UI에 나타날 버튼을 만들어 봅시다. 1. Scene에 **Button**을 추가하고, 이름을 **Scroll_Item**으로 변경합니다. * ImageRUID: 5813efbad2403444786f6955f97649fb * RaycastTarget: enable 2. 새로운 **UIWeaponItemComponent**를 **Scroll_ [chunk_id] | Guides:1145:0

[task] | knowledge_list [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | 1. `UIAvatarPreview` 엔티티에 `UIAvatarPreviewComponent` 컴포넌트를 추가해야 합니다. 2. `EntityRef` 타입의 `UIRoot` 프로퍼티를 `[None]` 동기화 설정으로 `/ui/UIGroup/UIAvatarPreview` 경로로 선언합니다. 3. `ScrollLayoutGroupComponentRef` 타입의 `UIScrollRoot` 프로퍼티를 `[None]` 동기화 설정으로 `/ui/UIGroup/UIAvatarPreview/Scroll_Layout` 경로로 선언합니다. 4. `s [original] | 무기 정보를 가져와 **Model_Scroll_Item**에 불러올 수 있도록 만들어봅시다. 1. **UIAvatarPreview**에 **UIAvatarPreviewComponent**를 추가합니다. 2. 새로운 **UIRoot, UIScrollRoot, UIItemModelID** 프로퍼티를 추가합니다. ```lua [None] EntityRef UIRoot = /ui/UIGroup/UIAvatarPreview [None] ScrollLayoutGroupComponentRef UIScro [chunk_id] | Guides:1145:1

[task] | knowledge_list [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | * `AddUIScrollWeaponItem()` 함수 내에서 생성된 `spawn.UIWeaponItemComponent` 인스턴스에 대해 `SetAvatarPreviewComponentRef(self)` 메서드를 호출하여 현재 컴포넌트를 아바타 프리뷰 컴포넌트 참조로 설정해야 합니다. * `spawn.UIWeaponItemComponent` 인스턴스에 `SetData(id, weaponRUID)` 메서드를 호출하여 무기 ID와 무기 RUID 데이터를 전달하여 초기화해야 합니다. * Scene에 배치된 `Model_Scr [original] | `AddUIScrollWeaponItem()` 에서 **UIWeaponItemComponent**의 함수들를 호출할 수 있도록 마지막에 아래와 같이 작성합니다. ```lua spawn.UIWeaponItemComponent:SetAvatarPreviewComponentRef(self) spawn.UIWeaponItemComponent:SetData(id, weaponRUID) ``` #### Model_Scroll_Item 수정 1. **Model_Scroll_Item**을 선택해 Scene에 배치합니다. 프로퍼티 에디터 창 [chunk_id] | Guides:1145:3

[task] | extract_knowledge [title] | 애니메이션 재생 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기: 공격 동작 이름 데이터 조회 ## 개념 설명 `GetActionNameDatas` 메서드는 클라이언트에서만 실행되며, 주어진 무기 유형(`dataID`)에 따라 유효한 아바타 공격 애니메이션 이름(`ActionName`)을 반환하는 역할을 합니다. 이 메서드는 `dataID`의 값에 따라 다른 애니메이션 이름 목록(`AttackActionType_*_Names`)에서 무작위로 하나를 선택하는 `self:GetRandomButValidName` 메서드를 호출합니다. 선택된 이름은 `Cor [original] | ```lua [client only] ActionNameStruct GetActionNameDatas (string dataID) { local randomName ="" if dataID == "sword" or dataID == "dagger" then randomName = self:GetRandomButValidName(self.AttackActionType_OneHand_Names) local data = Action [chunk_id] | Guides:1144:1

[task] | wikipedia [title] | 스킬 재생하기 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기: 스킬 재생하기 본 가이드는 아바타가 공격 애니메이션을 재생할 때, 해당 스킬에 대응하는 이펙트 애니메이션을 `UISkillEffectRenderer`를 통해 재생하는 방법을 설명합니다. 이를 위해 먼저 스킬 데이터를 정의하는 구조체와 이를 처리하는 컴포넌트를 생성해야 합니다. ## SkillDataStruct 생성 스킬 데이터 구조체를 만들기 위해 **Workspace** 패널의 **MyDesk** 항목에서 **Create Scripts** > **Create StructType** 메 [original] | # 학습 과정 소개 아바타가 공격 애니메이션을 재생하면, 스킬 이펙트 애니메이션을 UISkillEffectRenderer에 재생하도록 만들어 봅시다. # SkillDataStruct 만들기 1. **Workspace - MyDesk - Create Scripts - Create StructType**을 눌러 새로운 **SkillDataStruct**를 추가합니다. 2. **SkillRUID, SkillOffset, SkillDelay** 프로퍼티를 추가합니다. ```lua Property: string [chunk_id] | Guides:1146:0

[task] | diverse_qa [title] | 애니메이션 재생 [category] | Guides [rephrased] | 질문: UI에서 아바타의 애니메이션을 재생하기 위해 `UIAvatarPreviewComponent`에 어떤 프로퍼티를 생성해야 하는가? 답변: `UIAvatarPreviewComponent`에 `AvatarGUIRenderer` 타입의 새로운 프로퍼티를 생성해야 합니다. 질문: 아래 코드에서 `AvatarGUIRenderer` 프로퍼티의 값으로 지정된 경로는 무엇인가요? ```lua Property: [None] AvatarGUIRendererComponent AvatarGUIRenderer = /ui/UIGroup/UIAvata [original] | 1. **UIAvatarPreviewComponent**에 새로운 **AvatarGUIRenderer** 프로퍼티를 생성합니다. ```lua Property: [None] AvatarGUIRendererComponent AvatarGUIRenderer = /ui/UIGroup/UIAvatarPreview/UIAvatarGUIRenderer ``` 2. 새로운 함수 `SetAvatarAnimation()`을 추가하고, 매개변수로 **dataID, weaponRUID, is2handWeapon* [chunk_id] | Guides:1144:3

[task] | extract_knowledge [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생: 무기 목록 아이템 설정 ## 1. 개념 설명 `AddUIScrollWeaponItem()` 함수를 통해 생성된 무기 목록 아이템(`UIWeaponItemComponent`)은 외부 스크립트와의 통신 및 데이터 초기화를 위해 특정 참조를 설정해야 합니다. 이를 위해 생성된 엔티티(`spawn`)의 `UIWeaponItemComponent`에 호출 객체 참조와 무기 데이터를 전달하는 과정이 필요합니다. ## 2. API 사용법 생성된 UI 아이템 엔티티를 `spawn` 변수로 참조하여 아래 메서 [original] | `AddUIScrollWeaponItem()` 에서 **UIWeaponItemComponent**의 함수들를 호출할 수 있도록 마지막에 아래와 같이 작성합니다. ```lua spawn.UIWeaponItemComponent:SetAvatarPreviewComponentRef(self) spawn.UIWeaponItemComponent:SetData(id, weaponRUID) ``` #### Model_Scroll_Item 수정 1. **Model_Scroll_Item**을 선택해 Scene에 배치합니다. 프로퍼티 에디터 창 [chunk_id] | Guides:1145:3

[task] | knowledge_list [title] | 스킬 재생하기 [category] | Guides [rephrased] | 제시된 원문에는 `UISkillEffectComponent` 생성 과정에 대한 내용이 포함되어 있지 않으므로, 원문에 명시된 정보만 바탕으로 핵심 사실을 정리합니다. 1. 학습 과정의 목표는 아바타의 공격 애니메이션 재생 시 스킬 이펙트 애니메이션을 `UISkillEffectRenderer`에 재생하도록 설정하는 것입니다. 2. `SkillDataStruct`를 생성하기 위해 Workspace의 `MyDesk`에서 `Create Scripts` - `Create StructType` 메뉴를 사용해야 합니다. 3. `SkillDat [original] | # 학습 과정 소개 아바타가 공격 애니메이션을 재생하면, 스킬 이펙트 애니메이션을 UISkillEffectRenderer에 재생하도록 만들어 봅시다. # SkillDataStruct 만들기 1. **Workspace - MyDesk - Create Scripts - Create StructType**을 눌러 새로운 **SkillDataStruct**를 추가합니다. 2. **SkillRUID, SkillOffset, SkillDelay** 프로퍼티를 추가합니다. ```lua Property: string [chunk_id] | Guides:1146:0

[task] | wikipedia [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기: 무기 목록 불러오기 메이플스토리 월드의 UI 시스템에서 무기 아이템을 목록으로 표시하고, 해당 무기의 아바타 애니메이션 미리보기를 활성화하기 위해서는 `UIWeaponItemComponent`와 `UIWeaponComponent`를 적절히 연결해야 합니다. 이 과정은 스크립트를 통한 참조 설정과 에디터 환경에서의 모델 확장 정보 적용으로 구성됩니다. ## 스크립트 참조 설정 `AddUIScrollWeaponItem()` 함수를 통해 스크롤 UI에 무기 아이템을 추가할 때, 생성된 `UI [original] | `AddUIScrollWeaponItem()` 에서 **UIWeaponItemComponent**의 함수들를 호출할 수 있도록 마지막에 아래와 같이 작성합니다. ```lua spawn.UIWeaponItemComponent:SetAvatarPreviewComponentRef(self) spawn.UIWeaponItemComponent:SetData(id, weaponRUID) ``` #### Model_Scroll_Item 수정 1. **Model_Scroll_Item**을 선택해 Scene에 배치합니다. 프로퍼티 에디터 창 [chunk_id] | Guides:1145:3

[task] | diverse_qa [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | 질문: 문서에서 생성하는 Dataset의 이름은 무엇인가요? 답변: SkillDatas 질문: Dataset에서 `skillOffsetY` 값이 -50인 무기 ID는 무엇인가요? 답변: sword 와 dagger 질문: `is2handWeapon` 프로퍼티 값이 true인 무기 ID는 두 가지가 무엇인가요? 답변: bow 와 hammer 질문: `UIWeaponItemComponent`에 추가해야 하는 프로퍼티 4가지의 이름은 무엇인가요? 답변: DataID, WeaponImage, NameText, AvatarPreviewR [original] | 무기 RUID, 스킬 RUID, 스킬이 재생될 위치와 지연 시간을 담은 Dataset을 만들어봅시다. 1. **Workspace - MyDesk - Create DataSet**을 선택해 새로운 **SkillDatas**를 만듭니다. 2. 아래와 같이 데이터를 입력합니다. | dataID | weaponRUID | is2handWeapon | skillRUID | skillOffsetX |skillOffsetY | skillDelay | | --- | --- | --- | --- | --- | --- | --- | | swor [chunk_id] | Guides:1145:2

[task] | diverse_qa [title] | 스킬 재생하기 [category] | Guides [rephrased] | 질문: 이 학습 과정의 최종 목표는 무엇인가요? 답변: 아바타가 공격 애니메이션을 재생할 때, 스킬 이펙트 애니메이션을 UISkillEffectRenderer에 재생하도록 만드는 것입니다. 질문: SkillDataStruct를 생성하기 위해 어떤 메뉴 경로를 따라가야 하나요? 답변: Workspace - MyDesk - Create Scripts - Create StructType 경로를 따라가야 합니다. 질문: SkillDataStruct에 추가해야 하는 프로퍼티는 무엇들이 있나요? 답변: SkillRUID, SkillOffs [original] | # 학습 과정 소개 아바타가 공격 애니메이션을 재생하면, 스킬 이펙트 애니메이션을 UISkillEffectRenderer에 재생하도록 만들어 봅시다. # SkillDataStruct 만들기 1. **Workspace - MyDesk - Create Scripts - Create StructType**을 눌러 새로운 **SkillDataStruct**를 추가합니다. 2. **SkillRUID, SkillOffset, SkillDelay** 프로퍼티를 추가합니다. ```lua Property: string [chunk_id] | Guides:1146:0

[task] | extract_knowledge [title] | 애니메이션 재생 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기 ## 1. 개념 설명 `UIAvatarPreviewComponent`를 사용하여 UI 내에서 아바타의 외형과 애니메이션을 제어할 수 있습니다. 이를 위해 `AvatarGUIRenderer` 컴포넌트를 참조하여 특정 무기를 장착하고, `ActionStateChangedEvent`를 통해 지정된 애니메이션을 재생하는 로직을 구현합니다. ## 2. API 사용법 ### 2.1 AvatarGUIRenderer 프로퍼티 설정 `UIAvatarPreviewComponent`에 `AvatarGUIRe [original] | 1. **UIAvatarPreviewComponent**에 새로운 **AvatarGUIRenderer** 프로퍼티를 생성합니다. ```lua Property: [None] AvatarGUIRendererComponent AvatarGUIRenderer = /ui/UIGroup/UIAvatarPreview/UIAvatarGUIRenderer ``` 2. 새로운 함수 `SetAvatarAnimation()`을 추가하고, 매개변수로 **dataID, weaponRUID, is2handWeapon* [chunk_id] | Guides:1144:3

[task] | wikipedia [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생하기: 무기 목록 불러오기 이 절차는 `Model_Scroll_Item` UI 컴포넌트에 무기 정보를 불러와 표시하는 방법을 설명합니다. `UIAvatarPreview` 컴포넌트에 `UIAvatarPreviewComponent`를 추가하여 시작하며, 이후 필요한 프로퍼티 정의, 데이터 로드, 그리고 스크립트 함수 구현 순서로 진행됩니다. ## 1. 프로퍼티 정의 `UIAvatarPreview` 컴포넌트에 UI 루트 경로, 스크롤 레이아웃 그룹 참조, 아이템 모델 ID, 그리고 데이터를 저장할 [original] | 무기 정보를 가져와 **Model_Scroll_Item**에 불러올 수 있도록 만들어봅시다. 1. **UIAvatarPreview**에 **UIAvatarPreviewComponent**를 추가합니다. 2. 새로운 **UIRoot, UIScrollRoot, UIItemModelID** 프로퍼티를 추가합니다. ```lua [None] EntityRef UIRoot = /ui/UIGroup/UIAvatarPreview [None] ScrollLayoutGroupComponentRef UIScro [chunk_id] | Guides:1145:1

[task] | diverse_qa [title] | 무기 목록 불러오기 [category] | Guides [rephrased] | 질문: `AddUIScrollWeaponItem()` 함수 내에서 `UIWeaponItemComponent`의 함수들을 호출하기 위해 마지막에 어떤 코드를 작성해야 하나요? 답변: `spawn.UIWeaponItemComponent:SetAvatarPreviewComponentRef(self)`와 `spawn.UIWeaponItemComponent:SetData(id, weaponRUID)`를 순서대로 작성해야 합니다. 질문: `Model_Scroll_Item`을 Scene에 배치한 후 프로퍼티 에디터 창에서 추가해야 하는 컴포넌 [original] | `AddUIScrollWeaponItem()` 에서 **UIWeaponItemComponent**의 함수들를 호출할 수 있도록 마지막에 아래와 같이 작성합니다. ```lua spawn.UIWeaponItemComponent:SetAvatarPreviewComponentRef(self) spawn.UIWeaponItemComponent:SetData(id, weaponRUID) ``` #### Model_Scroll_Item 수정 1. **Model_Scroll_Item**을 선택해 Scene에 배치합니다. 프로퍼티 에디터 창 [chunk_id] | Guides:1145:3

[task] | extract_knowledge [title] | 스킬 재생하기 [category] | Guides [rephrased] | # UI에서 아바타 애니메이션 재생 시 스킬 이펙트 연동 아바타가 공격 애니메이션을 재생하는 시점에 해당 스킬의 이펙트 애니메이션을 UI 레이어에 표시하기 위해 `UISkillEffectRenderer`를 제어하는 구조를 정의합니다. 이 과정은 스킬의 식별 정보, 표시 위치, 지연 시간을 관리하기 위한 데이터 구조를 생성하는 것으로 시작합니다. ## 1. 개념 설명 UI에서 스킬 이펙트를 제어하기 위해서는 각 스킬에 대한 고유한 설정값이 필요합니다. 이를 위해 `SkillDataStruct`라는 구조체(StructType)를 [original] | # 학습 과정 소개 아바타가 공격 애니메이션을 재생하면, 스킬 이펙트 애니메이션을 UISkillEffectRenderer에 재생하도록 만들어 봅시다. # SkillDataStruct 만들기 1. **Workspace - MyDesk - Create Scripts - Create StructType**을 눌러 새로운 **SkillDataStruct**를 추가합니다. 2. **SkillRUID, SkillOffset, SkillDelay** 프로퍼티를 추가합니다. ```lua Property: string [chunk_id] | Guides:1146:0

[task] | wikipedia [title] | UI에서 아바타 애니메이션 재생하기 [category] | Guides [rephrased] | 본 문서는 `AvatarGUIRendererComponent`를 활용하여 사용자 인터페이스(UI)에서 아바타에 무기를 장착하고 특정 애니메이션을 재생하는 방법을 설명합니다. `AvatarGUIRendererComponent`는 아바타를 UI 화면에 렌더링하는 컴포넌트이며, `AvatarRenderComponent`와 사용 방법이 동일합니다. 따라서 `AvatarRendererComponent`를 사용하여 월드 내 아바타의 상태를 변경하고 애니메이션을 재생하는 것과 동일한 로직을 적용할 수 있습니다. 가이드의 단계에 따라 월드를 제 [original] | AvatarGUIRendererComponent를 활용해 UI에서 아바타에 무기를 장착시키고, 특정 애니메이션을 재생하도록 만들어 봅시다. AvatarGUIRendererComponent는 아바타를 UI에 보여주는 컴포넌트로, AvatarRenderComponent와 사용 방법이 동일합니다. 그러므로 AvatarRendererComponent를 사용해 같은 방식으로 월드에서 아바타의 상태를 변경하고, 애니메이션을 재생시킬 수 있습니다. 가이드를 따라 월드를 제작하면 아래 그림과 같이 완성됩니다. 아래 가이드를 따라 순서대로 [chunk_id] | Guides:1147:0

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