2학기에 언리얼 엔진 수업이 있기도 하고, 곧 쓸 수도 있을 것 같아서유튜브 강의를 보며 언리얼 엔진을 공부해보기로 했다.1. 언리얼 엔진 설치 및 프로젝트 생성Epic Games 런처를 깔고 그 안에서 언리얼 엔진을 설치할 수 있다.나는 이번에 공부를 위해 5.4.1 버전을 설치했다.그 후에 에디터를 실행하고 삼인칭 게임 프로젝트를 하나 생성했다.2. 새 레벨 만들기언리얼 엔진에서는 콘텐츠 드로어라는 곳에 유니티 인스펙터 같이 파일들이 모여있다. 거기서 내 개인 파일을 하나 만들고, 그 안에 새 레벨을 하나 만들었다.만든 레벨을 실행하면 까만 화면만 나온다. 아직 아무것도 없는 쌩 레벨이기 때문.그래서 이를 해결하기 위해 몇 가지 설정을 해 주어야 한다.2-1. 새 레벨에 조명 설정해주기창 -> 환경 ..
사실 저번 주가 6주차 되는 주였지만, 저번 주에는 OT도 가고 여러가지 행사가 겹쳐 거의 7일 중 6일을 밖에 있었기 때문에 어쩔 수 없이 한주를 더 보게 되었다. 이제 내가 선배야...? 저번 주차에 NPC 대화 기능으로 씨름을 했었는데, 이번 주차에 그것을 해결했다! 사실 스파게티 코드가 악의 근원인 것은 저번 주차에도 알고 있었지만, 이를 고치기에는 전혀 엄두가 안났다. 기어코 작동되게 만들어놨건만 이것을 뜯어고친다면... 아마 앞으로 6주동안 그것만 붙잡고있지 않을까 싶어 코드를 조금만 고쳐 버그만 잡았다. NPC와의 대화기능 구현 저번 주차에 구현하지 못했던 대화 기능을 구현했다. public void Communicate() { if (npcLocation != "none") { if (np..
저번 주차에 데이터베이스를 구현하고 Isomtric 타일 맵을 쓰기 위해 그에 맞는 테스트 타일을 제작하였다. 그리고 이번 주차는, 정말 맨 땅에 헤딩만 하다가 그 땅이 엄한 땅이었음을 알게 된 주차였다. 정말... 한 것은 많지만 이뤄낸 것은 없는 것 같다는 말이 제일 잘 어울린다. 아무래도 짜다 보니 스파게티 코드가 된 것이 모든 악의 근원인 것 같다. 그래서 미리 말하자면, 이번 주차에 했던 내용은 싹 다 갈아엎어지거나 일부만 유지하고 다시 작업해야 할 것 같다. 아니 그래서 뭘 했는데? NPC 상호작용 기능 구현 셀 필드 파밍 기능에서는 플레이어가 움직이며 탐험하는 것도 있지만 NPC, 아이템과의 상호작용도 존재한다. 그래서 우선 NPC와의 상호작용을 먼저 구현하기로 하고 개발에 들어갔다. 랜덤 ..
3주차에 셀 필드 파밍 기능을 위해 알고리즘 공부를 하고, 이를 적용시키니 뭔가 큰 것을 한 것 같았다. 그래서 조금 쉬어버렸다. (이번엔 나피리...ㅎ) 이번에도 어떻게든 부작용을 기획 작업으로 희석하고 다시 프로젝트로 들어갔다. 위 사진은 동아리에서 쿡앱스라는 기업으로 기업 방문 체험을 갔던 장면이다. 기업 체험이 끝나고 취업에 성공하신 멋진 선배님들도 만나고 오느라 12시간이 훅 지나가버렸다. (개발을 안 했다는 뜻) 아무튼, 이번 주차는 클래스 구조를 짜고 그걸 기반으로 DB를 구현했다. 또, 셀 필드 파밍 기능에 쓰일 타일을 제작해보며 전체적인 개발 설계도를 구상했다. 그런데 이제 기획도 곁들인. 그리고 삽질 어게인 데이터베이스 구현 유니티 프로젝트에서 데이터를 저장하는 데에는 크게 세가지 방법..
원래대로였다면 저번주 목요일에 이 글이 올라왔어야 했지만, 다른 프로젝트, 유니잼, 팰월드 등 조금 바빴던 탓에 개발을 많이 하지 못했다. 그리고 이번주에 일정이 조금 풀려서 이번 주까지 했던 것들을 3주차로 모았다. 사실 이중에 유니잼의 영향이 제일 컸다. 저번주 금토일을 거의 서현역에서 살다시피 밤을 새가며 1박 3일 개발을 했다. 굉장히 힘들긴 했지만 하고나니 뿌듯했다. 다른 프로젝트 얘기는 접어두고, 이번 주차는 UI를 다듬고, 세부 기획을 하고, 메인 기능 중 하나인 필드 파밍 기능을 구현했다. 이번에도 삽질은 있었지만, 그래도 금방 해결할 수 있었다. 세부 기획 원래 기획했던 것들의 디테일을 살리고 코드 구현에 막힘이 없게 하기 위해 세부 기획을 짰다. 사실 지역들은 조금 오래 전에 짜 두었지..
1주차에 기본적인 세팅을 하고, 간단한 애니메이션을 구현하는 등의 작업을 했었는데, 1주차에 너무 달렸는지 그만 롤이 재밌어지는 부작용이 찾아왔다. (진짜 거짓말 안치고 3일동안 케일 조이만 함) 어떻게든 부작용을 처리하고 다시 프로젝트 작업에 들어갔다. 이 사진은 또 두 줄을 발견해서 찍었던 사진이다. 두 줄이 뭔데? 아무튼, 2주차에는 디자인 중심의 공부를 하고, 본격적으로 모바일 환경에서의 개발을 위해 마지막 세팅을 했다. 3D가 들어가면 좋을 것 같아 블렌더도 공부해보고, 모바일 환경 설정을 하다가 엄청난 삽질을 하기도 했다. 블렌더 공부 생각해뒀던 게임의 이미지가 생각보다 3D를 요구하는 구도가 많아서, 이것을 실제 3D 에셋으로 편하게 다뤄보면 어떨까 하고 블렌더 공부를 해봤다. 어떻게 했는데..
1. 렌더링 방법 블렌더가 렌더링을 하는 방법은 두가지가 있다. Cycles : 렌더링 속도가 느린 대신 결과물의 퀄리티가 뛰어나다. EEVEE : 렌더링 속도가 거의 실시간 급이지만 빛과 그림자 표현이 투박하고 퀄리티가 Cycles보다 떨어지는 감이 있다. 그래서, EEVEE를 사용하여 씬에서 렌더링 되는 것을 보고, Cycles를 사용해 최종 렌더링을 하는것이 효율적이다. 2. Lighting 특정 부분에 광원을 만드는 작업이다. 우측 탭에 지구 모양을 클릭하면, 블렌더에 전반적으로 적용되는 월드 조명을 선택할 수 있다. 기본값은 1로 설정되어있는데, 공기는 발광하지 않으니 0으로 설정해준다. 그리고, Light의 종류는 네가지가 있다. 우측 탭의 전구 모양을 클릭하면 전구의 종류와 색상, 밝기를 조..