상호작용(3)
-
[C#, 유니티] Unity3D_RPG Scriptable 응용 1 (선택지, 퀘스트 생성)
Scriptable 저번 시간 스크립터블를 배웠다 오늘은 이것을 가지고 대화를 통해 선택지를 만들고 퀘스트를 주는 RPG를 만들어보겠습니다 유니티의 특징을 이용하여 해당 NPC마다 대화에 대해서 관리를 해주기 위해 애초부터 컴포넌트를 갖고 있도록 하는 방식이 편할것이다 그러나 하나의 NPC만 하더라도 대화가 한 두개가 아닐것이다 그래서 컴포넌트처럼 스크립트에 대화를 할당하고싶지만 게임오브젝트에 스크립트를 붙이고 싶지않다 관리가 어려울 뿐더러 매번 사용할때마다 붙이는것이 보기 좋지않다 그렇다면 어떤 방식이 좋을까? 컴포넌트를 타일형태의 데이터를 저장하는 방법, 바로 'Scriptable'을 이용하자는 것이다 기존 클래스들은 MonoBehaviour 클래스를 상속받고 있었다 컴포넌트를 타일형태로 저장하는 클..
2022.08.29 -
[C#, 유니티] Unity3D_RPG ScriptableObject (Conversation)
대화 다이얼로그 스크립터블 오브젝트를 사용하여 npc와 상호작용할 때 대화를 할 수 있는 컴포넌트를 만들었습니다 스크립트 1. ConversationController.cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 using System.Collections; using System.Collect..
2022.08.26 -
[C#, 유니티] Unity3D_RPG 상호작용
플레이어와 상호작용하는 오브젝트 RPG게임의 경우 플레이어가 특정 키를 눌렀을 때 앞에 있는 NPC와 대화를 하거나 아이템을 먹을 수 있는 등 다양한 상호작용할 수 있게 만들 수 있다 스크립트 1. IInteractable.cs 상호작용이 가능한 행동 하나로 관리(인터페이스 이용) 여러가지 함수 내에서 재정의하여 쓸 수 있음 1 2 3 4 5 6 7 8 9 10 11 using System.Collections; using System.Collections.Generic; using UnityEngine; public interface IInteractable { void OnFocused(); void OnUnFocused(); void Interaction(); } Colored by Color Sc..
2022.08.25