필요한 신
1. 타이틀 신
1.1 인트로
1.2캐릭터선택창
1.3 튜토리얼
2. 메인 신
2.1 인벤토리
2.2 강화
2.3 퀘스트 및 업적
3. 인게임 신
3.1 캐릭터 구현
3.2 스킬 구현
3.3 몬스터 구현
3.4 몬스터 패턴
3.5 아이템 드랍
원래는 Ray를 이용하여 캐릭터선택을 할 예정이였는데 스크립트를 짜는도중 Ray로는 너무힘들거 같아서 youtube 를 참고하여 내식으로 변경하여 사용하였다.
참고영상
https://www.youtube.com/watch?v=pRw_YzkZThc&t=278s
DataManger 스크립트는 변경할 필요가없어서 똑같이 진행하였고
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public enum Character
{
Archer, Warrior, Paladin, Fighter
}
public class DataManger : MonoBehaviour
{
public static DataManger instance;
private void Awake()
{
if (instance == null) instance = this;
else if (instance != null) return;
}
public Character curCharcter;
}
캐릭터 고르는 선택신이 살짝 내가 생각했던것과는 달라서 많이 수정하였다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PickCharacter : MonoBehaviour
{
public Character character;
Animator _myAnim;
public PickCharacter[] chars;
private void Start()
{
_myAnim = GetComponent<Animator>();
}
// Update is called once per frame
private void OnMouseUpAsButton()
{
DataManger.instance.curCharcter = character;
OnSelect();
for(int i =0; i<chars.Length; i++)
{
if (chars[i]!=this)chars[i].NotSelect();
}
}
public void NotSelect()
{
_myAnim.SetTrigger("Not");
}
public void OnSelect()
{
if (_myAnim.GetBool("IsPickState") == false)
{
_myAnim.SetTrigger("Pick");
_myAnim.SetBool("IsPickState", true);
}
}
}
Youtube에 나온대로 코드를 치게되면 반복클릭시 애니메이션이 다시 처음부터 재생하게되서 애니메이션을 이어붙인 나로서는 최악이였기때문에 IsPickState 함수를 Parameters 로 추가해준다음 클릭할때 true 애니메이션이 끝날때 false 로 입력받게하여 중복입력을 못하게 만들었다.
맵을 조금 꾸미면 어떨가 싶어서 맵을 꾸며봤다.
그러고나서는 카메라 이동을 구현하다 막혀서 내일 다시 해보려고한다.
'개인프로젝트 3D RPG 개발일지' 카테고리의 다른 글
5. (유니티포폴) 뒤끝서버 사용해보기 (0) | 2022.06.16 |
---|---|
4.(유니티포폴)메인메뉴 (0) | 2022.06.15 |
3. (유니티포폴)게임캐릭터생성(3) (0) | 2022.06.14 |
1. 게임캐릭터생성신 (0) | 2022.06.12 |
0.유니티 3D RPG 게임 개발 일지 작성 시작. (0) | 2022.06.10 |