도시에서 유닛 생산하는 기능과 도시의 영역을 표시하는 작업을 진행하였다. 유닛생산 유닛을 생산하기 위해서는 도시의 생산력, 유닛을 생산하기위한 필요 생산량 정보가 있어야 했다. 도시의 생산력은 도시 데이터에 바로 담았다. 추후 도시의 레벨이라던지 도시에 새워진 건물 보너스 등으로 인해 계산되어질수 있도록 할 예정이다. 유닛의 필요 생산량정보는 별도의 유닛 테이블 클래스를 만들어 유닛의 스탯정보 및 생산정보를 담았다. 포스트 프로세스 적용 패키지 매니저에서 Post Processing 을 임포트 해서 패키지를 적용하였고, 볼륨과 레이어를 설정해서 테스트를 하였다. 우선은 화면의 밝기만 조절하고자 Color Grading 만 설정하였다. 도시 영역 표시 URP로 전환 도시의 영역표시를 타일의 아웃라인으로 처..
3D로의 전환 그동안 3D애셋을 사놓은게 있어서 3D로 다시 개발하기로 하였다. 타일 그리드 클래스를 작업 2D에서는 유니티에서 제공하는 Tilemap클래스를 사용하였는데 3D에서도 사용할 수는 있으나 타일이 좌표 정중앙에 위치하지 못하는 등의 좌표 이슈가 있어서 그냥 그리드 클래스를 별도로 생성하여 관리할 수 있도록 하였다. 타일 마우스 오버처리 매프레임 마우스 포지션을 가지고 RayCheck를 하여 오버된 타일을 처리할 수 있도록 작업하였다. 기존 2D에서는 Tilemap 클래스에 Screen 좌표를 넣으면 타일 인덱스를 반환해주는 함수가 있었다. 유닛 모델링 추가 및 Idle 애니메이션 처리 예전에 사놓은 SyntyStudio의 모델링을 사용하여 타일과 유닛 모델링을 추가하였다. 애니메이션은 애셋스..
다시 유니티 언리얼로 개인 프로젝트를 진행하였는데 회사에서 작업하듯 블루프린트가 아닌 네이티브 코드 개발로만 진행하려니 진행이 더디고 맞는 애셋을 찾기 힘들어 다시 유니티로 새로운 프로젝트를 진행하였다. 시작하며 문명의 시스템을 따라 4X 장르의 게임을 만들어보려고 한다. 그래서 우선 기본적인 문명 시스템 부터 개발하고자 하였다. 문명의 가장큰 특징은 6각(헥사) 타일이다. 유니티에서는 헥사 타일맵 기능을 제공하고 있으니 해당기능을 활용해보자. 헥사 타일맵 유튜브 Unity 공식 채널에 헥사 타일맵 튜토리얼 영상이 있어 해당 영상을 따라 진행하였다. https://www.youtube.com/watch?v=bcPqdCSGCls 유니티 무료 애셋을 활용 하여 타일 팔레트를 생성 코드로 땅과 물을 번갈아가며..
유니티 3D 개발일지 2 뭔가 어떤게임을 만들겠다 라고 목표를 정하고 만드는게 아닌데 개발일지라고 적는게 맞는가 싶다. 우선 3d 액션 게임의 기본적인 시스템을 만들기 위해 시작했다. 캐릭터의 모델링과 애니메이션을 적용해보자. 캐릭터 모델링 3D모델링은 할줄모르니 애셋 스토어의 무료 애셋으로 적용해보자. 바나나맨이라는 재미있어 보이는 모델링이 있어 임포트 하였다. 캐릭터 애니메이션 믹사모(https://www.mixamo.com/)에서 기본 애니메이션을 적용해보자 Idle과 Run부터 믹사모 페이지에 바나나맨 모델링을 업로드하고 원하는 애니메이션을 선택후 다운로드 하면 된다. 모델링과 애니메이션을 따로 구하여 적용하는건 리깅이 안맞을때도 있고 다른 이슈가 발생할 여지가 있으니 이렇게 하였다. 애니메이션의..
유니티 3D 개발일지 시작 유니티는 2D로만 몇번 다뤄본적이 있으나 3D쪽은 해본적이 없다. 일단 뭐든 만들어보면서 기능을 익혀 나가자. 장르는 일단 3D 쿼터뷰 액션 게임으로 만들어 볼 생각이다. 바닥 깔기 플레이어가 뛰어다닐 공간이 필요하니 바닥부터 깔자 큐브의 스케일값을 늘려서 바닥을 만들고 그리드 텍스쳐를 대충 그려서 Material 생성 적용했다. 플레이어 생성 플레이어 메시는 따로 없으니까 일단 캡슐과 큐브오브젝트로 만들었다. Player Object 에 Collider와 Rigidbody를 추가하고, Player 스크립트도 추가하였다. 플레이어 이동과 회전 스크립트 안에서 간단하게 방향키로 이동과 회전을 구현하였다. transform.position 포지션 값을 변경하는 방법도 있겠지만 충돌..