
파일 날려먹기
나는 씬을 다른 이름으로 저장해두지 않고 디폴트 이름인 샘플씬으로 계속 쓰고있었는데
이펙트 에셋을 임포트하며 다른 에셋도 찾고 있었다.
임포트가 끝나고 무슨 창이 뜨길래 그냥 눌러버리고 에셋을 계속 찾고 다시보니 내 씬이 받은 에셋의 샘플 씬으로 바뀌어있었다.
알고보니 씬 이름이 같은데 덮어 씌울거냐는 창이였다.
수십번 샘플씬을 클릭해봐도 화면은 바뀌지 않았다..
다행히 깃허브에 2일전 작업본까지는 올려뒀어서 살았다. 깃허브를 안썼다면 어떻게 됐을지 정말 끔찍하다.
인터넷에 찾아보니 나와 같은 사례가 종종 있던데
앞으로는 씬 이름을 바꿔서 저장하고 깃허브에 꼬박꼬박 올리는 것을 생활화 해야겠다.
스크립트는 살아있어서 1시간동안 UI를 만들고 스크립트와 연결하는 작업들을 다시 했다.
검 궤적 이펙트
남들과 비슷한 이펙트로 하고싶었는데 검 궤적 , 검기 이펙트 등등 다양한 검색어로 찾아보니
내가 본 멋진 이펙트들은 쉐이더의 영역이였다.
유니티 비주얼 이펙트 그래프로 만들기도 하고 , 검 휘두르는 궤적을 메쉬로 만들어 그 위에 텍스쳐의 위치를 옮겨 가며 표현하기도 하는데 당장 내가 공부해서 하기엔 너무 오래걸릴것 같아서 파티클시스템으로 만들었다.
위는 파티클시스템의 shape에서 스트레치, 아래는 loop로 적용한 모습인데 뭐가 더 예쁜지 아직 모르겠다.
스킬 이펙트
스킬을 1~2개 정도 만들 생각인데 그중에 하나는 방어 스킬이다.
아직 애니메이션과 버튼은 안 만든 상태라 이펙트와 카메라 효과만 주어 연출해봤다.
스크립트로 시네머신 버추얼 카메라의 프로퍼티에 접근하는 방법이 좀 생소해서 검색을 통해 알아냈다.
그냥 컴포넌트가 아니라 시네머신 컴포넌트였다. (using Cinemachine은 필수)
CinemachineVirtualCamera vcam;
NoiseSettings mynoisedef = Resources.Load("First_Noise") as NoiseSettings;
vcam = sceneindex.gameObject.GetComponent<CinemachineVirtualCamera>();
vcam.AddCinemachineComponent<CinemachineBasicMultiChannelPerlin>();
vcam.GetCinemachineComponent<CinemachineBasicMultiChannelPerlin>().m_NoiseProfile = mynoisedef;
카메라가 흔들리는 기능은 버추얼 카메라의 노이즈 - 6D Shake 기능인데
스크립트에서 직접 기본으로 제공해주는 프리셋에 접근하기는 힘들고
6D Shake를 클론으로 Resources 폴더에 저장해서 변수에 불러온다음에 설정해주는 방식이다.
바로 접근하는게 있는지는 모르겠지만 유니티 포럼글에서 유니티 직원이 저 방법을 제안한다고해서 저렇게 이용했다.
궁금 하신분은 직접 들어가 보시면 된다.
Set noise profile by script? - Unity Forum
Set noise profile by script?
How to Change Noise none to Noise Basic Multi Channel Perlin. and Change Noise Profile to any of several that I have already created. via script?...
forum.unity.com
퀘스트 시스템
지금까지 만든 기능중에 가장 맘에 안드는 퀘스트 시스템이다.
어느정도 머리로 생각을하고 짜긴 했지만 지금까지 만들었던 어떤 기능들보다도 어떻게 구현할지 생각이 잘 안났다.
스크립터블 오브젝트로 데이터를 만들어서 구현했다.
잡아야 하는 목표에는 몬스터데이터가 들어가있고, 몬스터가 죽었을때 목표와 죽은 몬스터를 비교한다.
리워드변수에는 아이템 데이터가 들어가있고, 퀘스트를 완료했을시 인벤토리에 생성된다.
퀘스트 UI
맞을때 이펙트도 넣어놨는데 공짜 에셋은 예쁜게 없다.. 하나 사야되나 고민중이다.
잡으면 바로 퀘스트UI의 텍스트가 업데이트된다.
요구조건을 완료했다면 퀘스트 완료라는 텍스트가 뜬다.
아직 패트롤 로직이 완벽하지 않아 뒤에 버그도 보인다.
퀘스트 완료
움짤을 찍느라 병사들에게 두들겨 맞아서 hp가 -1000까지 됐다.
아직 게임 오버를 구현하지 않아서 냅뒀는데 병사들 스텟을 좀 낮춰야 할거 같다.
퀘스트가 완료되고 NPC에게 가면 퀘스트가 끝나고 보상이 주어진다.
휴...
갈길이 먼데 파일 날려먹고 퀘스트도 생각을 좀 오래하고 그래서 좀 답답했다.
이제 이펙트를 시작했기 때문에 미뤄뒀던 스킬창과 스킬 구현을 마치고, 보스 패턴 구현까지 할 예정이다.
다음주에는 예비군도 있는데 맘이 급하다.
new포폴 17일차 끝
'개발일지 > Unity 개인 포트폴리오 개발일지' 카테고리의 다른 글
new 포폴 19일차 / 보스 패턴 구현하기 (0) | 2022.07.26 |
---|---|
new 포폴 18일차 / 스킬 만들기와 이펙트 (0) | 2022.07.25 |
new 포폴 16일차 / 몬스터 패트롤과 리젠 (0) | 2022.07.23 |
new 포폴 15일차 / 대화 시스템 구현 (0) | 2022.07.22 |
new 포폴 14일차 / 버그 수정과 상점 구현 (0) | 2022.07.21 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!