Skip to content

vihwan/UnityPractice

Repository files navigation

< 개발 일지 >

※ 확인된 버그

  • 가끔 지형의 고도에 따라 플레이어가 지멋대로 돌아간다.
  • 돼지가 벽으로 몰릴 경우, 혼자 버벅거리는 현상이 있다. 길을 찾지 못하는 듯 하다. ->Collider의 한계인가

※ 추가 개발하고 싶은 것

  • 물 위를 헤엄치는 몬스터를 구현?

  • 저격총을 구현해보고 싶다. -> 인벤토리에서 저격총을 사용하면, 기존에 들고있던 총과 교체한다. -> 저격총의 장탄수와 공격력, 반동 등을 조절한다. -> 저격총을 아이템 프리팹 데이터를 저장 -> 애니메이터 설정과 레이캐스트 범위, 이펙트도 신경쓰기 -> 가장 중요한건 저격총의 모델과 애니메이트파일

  • 나무를 도끼로 베면 나무가 쓰러지고 나무 아이템이 나오는 것을 구현

  • 건축 메뉴얼에 필요한 재료를 보여주고 소지 갯수를 보여주는 것을 구현

  • 로딩 창에 뜨는 툴팁이 랜덤하게 출력되도록 구현

  • 플레이어 체력이 0이 될 경우 사망 화면을 구현 -> 이후 돌아가기 버튼을 누르면 최근에 저장한 파일을 로드


Last Update

2021.04.08 (목)

  1. 나무를 도끼로 때리면 나무가 쓰러지고 나무 아이템이 나오는 것을 구현
    나무를 팰 때 파편 생성 위치를 조절 -> 도끼가 때린 위치에 나오도록
    나무가 쓰러진 이후 아이템 생성 위치를 조절 -> 도끼가 때린 위치에 나오도록
    나무 아이템을 습득할 수 있도록 구현

  2. UI가 해상도에 따라 스스로 조절이 되도록 변경
    타이틀 UI화면, 로딩 화면, 플레이 UI (체력 탄알 등), 시작시 안내 문구, 인벤토리, 건축 메뉴얼
    이후에 마음에 안 들경우 수정 예정

오늘 할일

  1. 퍼즐게임 로직 찾기

License

이 습작은 케이디의 "[유니티 3D] 실전! 생존게임 만들기 - Advanced" 강의를 참고하여 만들었습니다.
모든 라이센스 권한은 케이디 씨에게 있습니다.
인프런 유료 강의 =>> https://www.inflearn.com/course/unity-2/#
유튜브 무료 강의 =>> https://www.youtube.com/c/%EC%BC%80%EC%9D%B4%EB%94%94/featured


이전 개발 일지

2021.04.07 (수)

  1. (Bug Fix) 게임 시작 시 화면 전체에 음영이 깔렸던 현상을 수정
    NavMeshAgent가 계속 Bake되는 현상 때문에 Auto Generate Lighting을 OFF해놨었다.
  2. (Bug Fix) 건축물을 설치할 때 공격이 실행되는 현상을 수정 -> CloseWeaponController.canAttack 상태변수를 추가
    설치 프리팹이 나오는 시점에서 GunController.isGunAttack 과 CloseWeaponController.canAttack을 false;
    설치 실행 후 코루틴으로 1초 대기하고 다시 true;
  3. (Bug Fix) 물 속에 있을 떄, 낮에서 밤이 될 경우 혹은 그 반대의 경우에 물속의 색과 농도가 제대로 바뀌게끔 고침

2021.04.06 (화)

  1. 타이틀씬 <-> 로딩씬 <-> 게임씬의 씬 변환 부분을 자연스럽게 수정
    타이틀씬에 있는 TitleUI를 관리하는 UIManager 오브젝트를 따로 만들어서 관리 나중에 게임씬에서 나가기 해서 다시 타이틀 씬으로 돌아올 경우, DontDestroyOnLoad에 있는 UIManager를 Destroy로 강제로 파괴시켰다.
    (타이틀에 있는 것들을 새로 사용하면 되기 때문에 계속 유지시킬 이유가 없다.)
  2. 위의 과정을 겪으면서 생겼던 Json 데이터 로드 문제들을 전면 수정.
    (수많은 NullReferenceException 문제들을 수정)

(Bug Fix) 왼쪽 마우스를 클릭하여 공격하면, 공격 모션이 여러번 실행되는 문제를 수정 - 코루틴 실행 변수가 잘못 설정되어 있었음.

2021.04.05 (월)

  1. 돼지를 죽였을 때, 아이템 생성을 RigidBody의 AddForce, ForceMode.Impulse를 사용하여 개선
  2. 로딩씬을 추가 - 나중에 씬이 여러개로 늘어날 경우를 대비하여 로딩창을 하나로 동작할 수 있게 하는 LoadingSceneManager를 구현. 씬의 이름을 받아오고 이를 비동기식 다음 씬을 부르도록 만들었다. 비동기 진행 상태(operation.progress)를 Mathf.Lerp를 이용하여 부드러운 로딩 바가 될 수 있도록 구현.
  3. 비동기식 로딩 과정에서 함수 실행 순서를 조정. -> 순서를 바꿔서 해도 안되서 게임 씬에 화면 대기 캔버스를 따로 하나 만들어서 대기시키도록 하였다.

(Bug Fix) 돼지에게서 날고기 아이템이 생성될 경우, 간헐적으로 Terrain을 뚫고 생성되는 현상을 아이템 생성 위치를 바꿔서 수정 (Bug Fix) Json으로 저장할 시, 플레이어의 위치가 이상하게 저장되는 현상을 수정.

2021.04.02 (금)

  1. GameManager를 생성. 아이템창, 크래프트창을 열고 닫을 때 마다 플레이어의 움직임을 제어하는 조건문들을 정리하고 개선.
  2. 일반 상태일 때, 마우스 커서가 화면 밖으로 나가지 않게함. 인벤토리, UI창이 열렸을 때 마우스 커서가 보이고 그렇지 않으면 보이지 않게끔 구현
  3. 간단한 함정 프리팹을 제작.
  4. DirectionLight의 X축을 회전시켜 낮과 밤을 구현. 낮에서 밤으로 변할 경우, RenderSettings의 FogDensity를 이용하여 밤에서 시야를 어둡게 구현. 낮에서 밤, 밤에서 낮으로 바뀔 때, 안개의 농도가 서서히 변하도록 구현.
  5. 물 웅덩이를 구현 - Plane에 Water Shader를 입혀 물의 표면을 표현한다. 그 다음에 Water의 Box Collider를 약간 아래로 내려오게 해서, 플레이어와 컬라이더를 충돌할 경우, Trigger를 이용하여 물속인지 아닌지를 구현한다.
  6. 수영 상태를 구현 - 물 속에 있을 경우, RenderSettings의 FogColor와 FogDensity를 조절하여 낮과 밤에서 물속에 들어갈 경우 보이는 화면이 다르게 구현.
  7. 산소게이지를 구현 - 물 안에 있을 때, 산소게이지가 활성화되고 게이지가 줄어든다. 물 밖에 있을 때, 산소게이지가 비활성화되고 게이지가 회복된다.
  8. 일시정지 기능 추가 - P버튼을 눌렀을 때 TimeScale = 0f로 시간을 0배속으로 정지시키고 일시정지 화면 UI가 나오도록 구현.
  9. 타이틀 기능 추가 - 새로운 씬(타이틀)을 구현. 시작 시 약간의 로딩이 생기고 집어넣고 게임 화면으로 이동하는 기능을 구현.
  10. 세이브와 로드 기능 추가 - SaveData 구조체 클래스를 추가하고 여러 데이터들을 받아와서 Json으로 저장 및 로드할 수 있도록 구현

(Bug Fix) UI 상태창들이 화면 비율에 맞게 위치가 조절이 되지 않는 버그를 수정 - Anchor를 조절 (Bug Fix) 게임 시작 시 시작화면메뉴가 False되지 않는 현상을 수정 (Bug Fix) 달릴 때, 크로스헤어가 제대로 작동하지 않은 현상을 수정

2021.04.01 (목)

  1. 인벤토리 혹은 크래프트 UI가 열려있을 때, 캐릭터가 특정 동작하지 않도록 조건문을 추가하여 수정.
  2. 슈퍼 몬스터를 잡았을 때, 평소보다 더 많은 아이템이 펑 하고 흩어지며 터져나오도록 구현 (Random.Range를 이용하여 추가적으로 Vector3를 더했다.)
  3. (Bug Fix) Stair를 설치할 때, 설치 할 수 없는 곳에 프리팹의 색이 빨강으로 변하지 않는 현상을 수정.
  4. (Bug Fix) 특정 무기를 든 상태에서 똑같은 무기로 교체할 경우, 교체 모션이 나오는 현상을 수정.
  5. (Bug Fix) 공격시 RayCast의 값이 null로 받아져 NullReferenceException 오류가 뜨는 현상을 수정.
  6. (Bug Fix) 달릴 때, 스태미너 소모가 지속적으로 일어나지 않는 현상을 개선.

2021.03.31 (수)

  1. 총으로 공격할 때, Raycast를 통해 대상의 hitinfo를 찾아 데미지를 주도록 실행.
  2. Pig의 Box Collider 크기를 재설정
  3. SuperMonster를 사냥할 경우, 드랍되는 아이템의 수가 다르도록 구현
  4. FireCamp 설치를 위한 Craft UI를 생성
  5. FireCamp 아이콘을 클릭 시, 화면에 미리보기 prefab이 생성되고 원하는 위치에 클릭하면 생성되도록 구현
  6. OnTriggerEnter와 Exit를 이용해 설치하려는 장소에 다른 Collider가 존재할 경우 설치할 프리팹의 색상을 변경하도록 구현
  7. Craft UI에 Stair 오브젝트를 생성 및 똑같이 동작되도록 구현 -> 코드를 좀 더 간략화

2021.03.30 (화)

  1. Terrain을 재구성.
  2. Pig에 Nav Mesh Agent를 적용.
  3. Particle System을 이용하여 모닥불을 구현
  4. 모닥불 안에 Point Light를 생성
  5. (Bug Fix) 달리다가 자기 멋대로 굳는 현상을 수정

2021.03.29 (월)

  1. 동물 Pig를 생성
  2. 걷기, 뛰기, 달리기 등등의 애니메이션 생성
  3. 스스로 행동을 랜덤하게 취하는 AI를 제작
  4. 피해를 입을 시, 도망가도록 설정 및 사망 시 날고기 아이템을 떨어뜨림
  5. Animal 스크립트를 생성. StrongAnimal, WeakAnimal의 자식 스크립트를 생성 및 Pig에 WeakAnimal을 상속
  6. (Bug Fix) 슬롯 상세 정보창이 켜진 상태에서 인벤토리를 닫을 시, 정보창이 같이 사라지지 않는 현상을 수정.

2021.03.26 (금)

  1. 인벤토리 UI 생성
  2. 아이템을 획득할 시 인벤토리 슬롯에 아이템이 들어가도록 설정
  3. 인벤토리 내 아이템끼리 슬롯을 바꿀 수 있도록 설정
  4. 슬롯 내 아이템의 상세정보를 볼 수 있도록 설정

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages