2023년 12월 18일 월요일

Unity TeamProject - Survival Game 2

 



게임 메인화면 구현,
제목과 시작버튼을 적당한 위치에 배치 후
배경요소는 게임에서 쓰였던 프리펩들을 끌어와 
스크립트와 AI 모든걸 빼서 장식품으로 사용함



게임의 자원이나 엔티티들은 terrain 위에 랜덤으로 스폰되는데,

주위에 다른 오브젝트가 있을 경우, 다른 위치를 찾아서 스폰된다.



인벤토리를 열어서 장착 가능한 아이템일 경우, 장착, 해제

버튼들이 나타나고 장착 버튼을 눌렀을 경우 플레이어 화면에서

장비를 들고 있는 모습을 볼 수 있다.



특정 도구로 특정 레이어의 자원을 때릴 경우, 자원에게 데미지를 줄 수 있으며

오브젝트가 부셔지면 자원이 드랍된다.



드랍된 아이템을 바라보고 E버튼을 누르면 인벤토리 안에 들어가고
조합이나 건설을 통해 인벤토리 내 아이템들을 사용하여 행동을 할 수 있다.


건축 Ui를 열어 건설하고 싶은 오브젝트를 선택하여
재료를 확인하고, 재료가 충분할 경우 아이템을 소모하여 설치 가능



건물을 설치하기 전엔 반투명한 청사진 프리펩을 이용하여
어디에 설치 할건지 조정 가능하다.
마우스 휠을 돌리면 물체가 돌아가고, 바라보는 방향에 지형이나
충돌 가능한 물체가 있을 경우 그 위에 붙여서 설치 가능하게 해두었다.




설치한 건물은 그림자와 빛 영향을 받으며 Structure 태그를 부여하였음

건물 중에 모닥불과 작업대는 주변에 있을 경우, Collision Trigger을 사용하여

플레이어가 제작 가능 및 요리 가능한 상태로 만들기 위해 변수를 true로 변경한다.



요리한 음식을 사용 버튼을 눌러 플레이어의 허기 값을 채우고
허기가 음수가 되면 체력이 계속 떨어지게 된다.



모닥불의 트리거와 너무 가까워졌을 때, 플레이어는 초당 10의 데미지를 받는다.


체력이 없어졌을 때 게임 오버 화면

메인 메뉴 버튼을 누르면 시작 화면으로 넘어간다.








댓글 없음:

댓글 쓰기

c++ thread.h

 c++에서 쓰레드 돌릴려면 thread.h 헤더를 쓰면 되는데 이 친구는 쓰레드가 아직 실행 중인지, 아니면 강제 종료하거나 하는 함수가 없어서 조금 아쉬운 애다. std::thread 는 로컬 변수로 선언하든 new 동적 할당을 하든 start 함...