new 포폴 17일차 / 퀘스트와 이펙트 작업 시작
개발일지/Unity 개인 포트폴리오 개발일지2022. 7. 24. 04:57new 포폴 17일차 / 퀘스트와 이펙트 작업 시작

파일 날려먹기 나는 씬을 다른 이름으로 저장해두지 않고 디폴트 이름인 샘플씬으로 계속 쓰고있었는데 이펙트 에셋을 임포트하며 다른 에셋도 찾고 있었다. 임포트가 끝나고 무슨 창이 뜨길래 그냥 눌러버리고 에셋을 계속 찾고 다시보니 내 씬이 받은 에셋의 샘플 씬으로 바뀌어있었다. 알고보니 씬 이름이 같은데 덮어 씌울거냐는 창이였다. 수십번 샘플씬을 클릭해봐도 화면은 바뀌지 않았다.. 다행히 깃허브에 2일전 작업본까지는 올려뒀어서 살았다. 깃허브를 안썼다면 어떻게 됐을지 정말 끔찍하다. 인터넷에 찾아보니 나와 같은 사례가 종종 있던데 앞으로는 씬 이름을 바꿔서 저장하고 깃허브에 꼬박꼬박 올리는 것을 생활화 해야겠다. 스크립트는 살아있어서 1시간동안 UI를 만들고 스크립트와 연결하는 작업들을 다시 했다. 검 궤적..

new 포폴 16일차 / 몬스터 패트롤과 리젠
개발일지/Unity 개인 포트폴리오 개발일지2022. 7. 23. 05:58new 포폴 16일차 / 몬스터 패트롤과 리젠

금방 끝날줄 알았는데 괜히 내비메시 에이전트 쓰다가 뜻밖의 오류에 시간을 허비했다. 그냥 instantiate로 소환해서 쓸땐 몰랐는데 오브젝트풀로 하려니 오류가 한두개가 아니였다. 풀에서 빌려와서 position값으로 옮기면 오류가나서 해외 사이트까지가서 열심히 뒤져보니 navmesh안에 있는 warp함수를 써서 옮겨줘야했다. 또 빌려오고 다시 넣는 과정에서 켜져있어도 자꾸 오류가났다. enable을 적절히 써줘야해서 결국 다 고치긴 했는데 움직임이 매끄럽지 않아서 그냥 다 삭제해버렸다. 위치 정하기 원래는 1,2,3,4 번 구역을 나눠서 스폰을 시키려고 했는데 맵이 작다보니 활동반경이 너무 작아지는 문제가 있었다. 바닥 스케일값의 0.5f , 0.25f를 한 값을 시작할때 저장해두고 랜덤으로 스폰위치..

버블정렬 알고리즘 개선하기
프로그래밍 공부/자료구조&알고리즘 공부2022. 7. 22. 15:16버블정렬 알고리즘 개선하기

기본 버전 #define swap(type,x,y) do{type t = x; x = y; y = t;} while(0) void buuble(int a[],int n) { for (int i = 0; i i; j--) if (a[j - 1] > a[j]) swap(int, a[j - 1], a[j]); } } 기본버전은 요소-1만큼 반복문이 돌아가며 한번의 반복이 끝나 i가 1이 늘어나면, 확정 된 0번 인덱스의 자리를 제외하고(j > i까지이기 때문) 나머지 자리에서의 비교,교환이 계속 이루어진다. 다시 얘기하면 뒤에 값들이 정렬이 되어있는 상태라도 계속 비교 교환을 한다는 얘기다. 알고리즘 개선 - 1 #define swap(ty..

LeetCode 문제 풀어보기 - 278번 First Bad Version
프로그래밍 공부/코딩테스트 준비2022. 7. 22. 03:18LeetCode 문제 풀어보기 - 278번 First Bad Version

요약하자면 내가 제품 매니저고 새로운 제품 개발을 이끌고 있는데, 최신 버전이 제품 품질 검사에 실패 했다고 한다. 각 버전들이 그 전의 버전을 기반으로 개발되기 때문에 어떤 버전의 품질이 안좋으면 당연히 그 다음 버전의 품질은 당연히 안좋다. 그래서 주어진 bool isBadVersion API을 통해 n개의 버전중에 나쁜 버전중 제일 첫번째 버전을 찾는것이다. (안좋은 버전이면 true를 리턴함) 즉, 품질 검사 실패의 원인이 되는 버전을 찾으라는 얘기다. // The API isBadVersion is defined for you. // bool isBadVersion(int version); int firstBadVersion(int n) { long first = 1,last = n,half; ..

new 포폴 15일차 / 대화 시스템 구현
개발일지/Unity 개인 포트폴리오 개발일지2022. 7. 22. 02:36new 포폴 15일차 / 대화 시스템 구현

오늘은 4시간도 못자고 강남을 갔다. 그리고 매일 가는 시간대가 오후여서 몰랐는데 오전에 잠실가는 길이 이렇게 막힐줄 몰랐다. 취업을하면 자취는 선택이 아닌 필수일지도... 학원이 3시 30분 시작이라 시간이 붕떠 학원 휴게실에서 자료구조를 복습하며 코딩테스트 문제를 몇 개 풀었다. 너무 졸려서 몬스터로 처방을 했지만 하루종일 너무 졸렸다. 그래서 오늘 할당량인 대화와 퀘스트중에 대화 시스템만 겨우 마무리 지었다. 대화 시스템 (퀘스트 질문) 전과 똑같이 엑셀 작성 - csv파일로 변환해서 스트링 배열로 잘라준 뒤 딕셔너리에 넣어서 불러오는 형식이다. 한글자 한글자 띄우는건 코루틴을 쓸까 하다가 Invoke를 통한 재귀로 구현했다. 퀘스트는 내일 구현할거라 버튼을 좀 대충 만들고 실험만 해봤다. 대화에 ..

new 포폴 14일차 / 버그 수정과 상점 구현
개발일지/Unity 개인 포트폴리오 개발일지2022. 7. 21. 02:48new 포폴 14일차 / 버그 수정과 상점 구현

계획 세우기 하루에 생각한 내용들을 열심히 하긴 하는데 뭘 해야할지 바로바로 생각이 안날때가 많았다. 그래서 오늘부터 7월 31일까지 하루 할당량을 다 적어두었다. 퀘스트는 시간이 남으면 하려고했는데 역시나 못했다. 암살 알림 아직 몬스터를 배치를 안해서 맵에서 패트롤을 안하고 있긴한데 암살을 하더라도 바로 옆에 있는 적은 알아야 하기때문에 알려주게끔 바꾸었다. 버튼의 위치와 뜨는 조건도 바꾸고, 제일 가까운 적을 탐색하게 했다. 추락 데미지 거리 비례 피해 원래 시간 비례로 설정을 해놨었는데 렉이 걸려서 프레임이 떨어지면 짧은 거리라도 데미지가 줄어들었다. 그 문제를 해결하기위해 거리에 비례해서 데미지가 들어가도록 바꾸었다. 캐릭터 구매 보스도 있어야하고 캐릭터가 1~2명은 더 필요해서 똑같은 회사의 ..

image