유니티 공부 .. 2022 이하버전의 크리에이터 키트 rpg (2d)
unity 유니티 공부 2024. 11. 6. 19:41 |
https://learn.unity.com/project/keurieiteo-kiteu-rpg
크리에이터 키트 rpg (2d)
안타깝게도, 최신버전 유니티랑은 호환은 안됨. 2020.03 버전 기반의 튜토임
2022 버전 2d 에선 돌아감
주의점
그냥 scene 폴더가 아니라
Creator kit - RPG 속 scene 폴더의 SampleScene 을 눌러야 켜짐
+
window - 2d - tile palette
Tilemaps 프리팹에선 4단계 레이어를 구분함
Background
Midground
Fences
Foreground
땅을 칠할 땐, Background 를 선택 후 칠할 것
+
집 바닥만 Background
나머지 옆벽, 벽, 창문 모두 Midground 로 칠하기
아랫문은 나중에 따로하기
지붕도 나중에 따로하기
+
prefabs 폴더 안에서 HouseRoof 를 넣음
단축키 T 크기조절, ctrl 로 그리드에 맞춰 크기 늘림
+
HouseRoof 의 Order in Layer 1000 으로 상승
Box Collider 2d 컴포 넣기
Edie Collider 로 상하좌우 피격박스 조절
Is Trigger 체크함
Fading Sprite 컴포 넣기
이 건 콜라이더가 트리거 되면, 스프라이트를 페이트 시키는 효과임
+
HouseOpenDoor 프리팹 넣기
+
더 꾸미기
오솔길 은 Midground
울타리 레이어는 Fences
+
울타리나 암역엔
tilemap collider 2d
가 적용중이다
png 투명색 빼고 타일맵 그대로 콜라이더가 세세히 적용됨
+
맵 우클 - environment - add animated tree1 here
해서 나무 추가
Decorations > Add Bush0 Here
해서 덤불 추가
덤불은 ctrl d 로 복제후 오른쪽
Sprite Renderer 콤포넨트의 Sprite 를 변경해서 다른 오브젝트로 만들 수 있다
Art - Sprites - Environment - Cloud 선택
해서 구름 그림자추가
구름의 레이어는 2000 으로 상승.
+
마우스 우클
add npc here 프리팹으로 npc 생성
인스펙터 ㅡ Animator
오른위 동글 버튼
Archer - Override 이런거 선택하면 idle 애니메이션 변경가능
+
대화 시스템 만들기
위는 이렇게 분기 만든다는 설명
Conversation Script 컴포넌트 + 버튼 누른 후 ID 에 1.0 입력
Text 에 Greetings, traveller! 입력
같은 방식으로
npc에게 다음의 대화분기를 만든다
1.1: Why thank you! Please will you get me an apple?
1.2: Indeed it is.
+
1.0 Greetings, traveller 를 edit 후
Branches 필드에서 목록 하단의 + 버튼을 클릭
드롭다운 ID 메뉴에서 1.1을 선택
Hello dapper archer! 라는 플레이어의 첫 대화 선택지 추가
Update를 클릭
같은방식으로
두번째 응답
The weather is fine 를
NPC Script Item 1.2에 추가
+
참고로 대화 형식은 다량의 스크립트로 되어있어
이 티스토리 글에선 다루지 않겠음
+
npc에게 퀘스트 추가
왼위 하이어라키 창에서 오브젝트 생성 Create Empty
Quest 로 이름 변경
Add Component , Quest (Script)
Title 에 Apple Quest
Desc 에 Fetch an apple for the archer
+
Quest 게임 오브젝트 선택 후
Add Component 버튼을 클릭합니다. Conversation Script
ID: 1.1.1
Text: Please, fetch me an apple.
Quest 게임 오브젝트 선택 된 상태에서 또
Add Component 버튼을 클릭합니다. Conversation Script
ID: 1.1.2
Text: Thank you for the tasty apple.
각각 이렇게 드래그
+
인벤에 아이템 생성해주는 맵 오브젝트 생성
땅에서 우클
Gameplay Prefabs > Add InventoryItem Here
Golden Apple로 명명
Inventory Item 스크립트 컴포넌트
Count 를 3으로 변경
이제 이 아이템을 집으면 플레이어 캐릭터 인벤토리에 황금 사과 3개가 생성됨
+
아이템이 있을 시, 퀘스트 활성화
퀘스트에 필요 아이템 설정
왼위 하이어라키 계층 구조에서
Quest 오브젝트 선택
인스펙터 창에서
Enable on Quest Start 섹션
Size 1 로 설정
Element 0 에 골든 애플 드래그
Required Items 에서도 1 입력후
Element 0 펼친 후
Item 에 골드 애플을 드래그
+
npc와 퀘스트 연결하기
하이어 라키 창에서 npc 오브젝트 선택
Conversation Script 컴포넌트를 찾습니다
Conversation Script Item 1.1('Why thank you! Please will you get me an apple?')
를 Edit 눌러서 연다
하이어 라키 창에서 Quest 오브젝트를
Quest (Optional) 필드로 드래그
update 클릭
+
퀘 완료 보상 만들기
npc 근처에서 땅 우클릭
Gameplay Prefabs > Add InventoryItem Here
기본 스프라이트는 황금사과지만
인스펙터에서 Inventory Item 컴포넌트
스프라이트를 Chicken 으로 변경
인스펙터에서 Animator 컴포넌트의 헤더에 있는 체크박스를 활성화
이러면 닭의 움직임이 추가됨
Rename 해서 Chicken 으로 변경
하이어라키 창에서 Quest 선택, Reward Items 섹션
Size 파라메터 1로 설정
Element 0이 새로 나옴
Chicken 게임 오브젝트를 Element 0 로 드래그
왼위 하이어라키 창에서 Chicken 게임 오브젝트를 선택
오른쪽 인스펙터에서 Chicken 게임 오브젝트 헤더의 체크박스를 비활성화
그러면 Chicken 게임 오브젝트가 비활성화되고 보상으로 주어지기 전까지
플레이어가 해당 오브젝트를 수집할 수 없습니다
+
ㅡㅇㅡ 여기까지했는데 치킨 헤더 비활성화 해서 그런지 치킨 안나옴
+
이번 튜토는 막하니까 그냥 넘어가야 겠다