본문 바로가기

전체 글183

[위저드 히어로 03] 오브젝트 풀링으로 몬스터 생성 & 몬스터 레벨 적용 1. 몬스터 생성하기 에셋들에서 Monster로 사용할 프리팹을 하나 가져온 후 기존의 애니메이션을 필요한 부분만 골라 재생성해준 후 Animator에 넣어준다. 현재로는 걷는 동작만 필요하므로 Walk만 남겨두고 다 삭제 Monster(몬스터의 동작 관리) 스크립트를 작성후 컴포넌트로 부착 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Monster : MonoBehaviour { public float speed = 1f; [SerializeField] private Player player; void Awake() { this.player = this.GetComponent(); }.. 2023. 9. 27.
[위저드 히어로 02] 무한맵 생성 무한맵 원래 Tilemap으로 맵을 생성하려 했으나,, 2D때와는 다르게 3D에서 사용하려니 맘대로 잘 안되었다ㅜㅡㅠ 그래서 Plane을 바닥에 깔아서 맵을 생성하고 Player가 이동할 때 마다 Trigger 체크를 한 후 Plane의 위치를 옮겨가며 무한으로 맵을 만들어주기로 하였다! 맵(Plane) 생성 1) 카메라 영역을 고려하여 적당한 크기로 Plane의 Scale을 조절 2) Trigger 감지를 위해 'Is Trigger' 체크 3) Plane을 복사하여 4개를 Player를 중심으로 배치 Plane 재배치 스크립트 작성 **무한맵 원리 : Trigger와의 충돌에서 벗어나면 Player의 이동 방향에 따라 Plane을 옮겨준다! (스크립트 작성은 이전에 했던 똑같은 장르의 '언데드 서바이벌.. 2023. 9. 25.
[위저드 히어로 01] 플레이어 이동 및 카메라 조정 1. 플레이어 이동 다운 받은 에셋들 중에서 프리팹을 지정하여 게임씬으로 가져온 후 Player 스크립트 부착하기 스크립트 전반을 관리할 Main 오브젝트와 스크립트 생성하기 - Player이동을 위해 Player, Main 스크립트 아래와 같이 작성 Player 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { //private Vector3 inputVec; private Animator anim; public float speed = 5f; void Awake() { this.anim = this.GetComponent(); } //.. 2023. 9. 24.
[위저드 히어로] 제작 일정 게임 이름: 위저드 히어로(Wizard Hero) 장르: 뱀서라이크 게임 실행 영상 필요한 리소스 목록 플레이어 플레이어 마법진, 몬스터 공격진 몬스터들 조이스틱 보스몬스터 바운더리 광선(레슬링장 처럼) 게임배경(사막) UI - 메인 로딩신 : 로딩바 - 게임 메인신 : 배경(물,보라색),레벨(메달)아이콘, 골드아이콘, 잼아이콘, 리본(스테이지 이름), 맵(사막)아이콘, 버튼(플레이) - 게임 로딩신 : 로딩바 - 게임 플레이신 : 배경(사막), 마법진, Exp바, 진행률바(보스),정지버튼, 골드아이콘, 체력바, 데미지 숫자 // 해운상자 - 상자, 룰렛, 아이템, 버튼('계속하기') // 랜덤스킬창 - 리본(레벨도달), 스킬창(3칸), 스킬아이콘, 별아이콘(스킬레벨), 획득한 스킬창(6칸 *2) - 게.. 2023. 9. 22.
[언데드 서바이벌 08] 모바일 빌드하기 및 플레이영상 1. 조이스틱으로 Input 받아 움직이기 Package Manager - 'Input System' 으로 들어간 후 'Samples' 클릭 스크린에서 조작할 것이기 때문에 'On-Screen Controls'를 다운받기 조작을 도와줄 프리팹들이 생겨났다. 나는 조이스틱을 사용할 것이기 때문에 Stick만 필요하다! Canvas에 빈오브젝트로 Joy 추가 후 위의 프리팹 중 Stick을 가져와 아래에 붙이기 Stick을 보면 아래와 같이 'On-Screen Stick'스크립트가 자동으로 붙어져 있어서 동작을 하게된다. ++) Player 스크립트에 아래와 같이 추가되어야 Input System으로 동작을 한다!! 조이스틱 작동 테스트를 했는데 문제가 많다,,ㅋㅋ [문제점] 1. 조이스틱의 스틱 부분의 스.. 2023. 9. 20.
[언데드 서바이벌 07] 게임 시작, 종료 & Player 캐릭터 선택 1. 게임 시작 및 종료 01. 게임 시작 02. player 죽음 -> 게임 종료 Player 스크립트에 아래와 같이 피격 로직 작성 **OnCollisionStay2D : 충돌 직후 맞닿아있는 동안 매 프레임 호출 (OnCollisionEnter2D: 충돌한 순간 1회만 호출) **'GameManager.instance.health -= 10;' 이라고 안 한 이유? : 매 프레임마다 -10이 되기 때문에 너무 빨리 죽음. 따라서 Time.deltaTime을 곱해주어 피격 데미지 속도 조절. 실행 결과 health =0 되면 무덤 생기고 필요없는 player자식들 비활성화 됨 게임종료 - 게임종료 ui 만들고 - GameManager 스크립트에 GameOver() 메서드와 GameOverRoutine.. 2023. 9. 19.