Unity_2기 내일배움캠프 TIL 96

Unity_2기 11주차 (230116)

오늘은 Enemy 구현을 완료했다. 구현 내용 1. Enemy Enemy 상태 패턴 구현 ( Idle, Walk, Chasing, Die, Attack, Hit, GunAttack, GunChasing) Enemy 무기 교체 구현 Enemy 넉백 구현 공격, 피격 구현 각 상황에 맞는 상태로 변해서 Enemy가 움직이도록 구현 멀리서는 총, 가까이서는 칼 공격 보완해야 할 점 Enemy가 Player와 충돌 시, Enemy가 가볍게 날아가버림 Enemy 복잡한 장애물 인식하지 못함 Enemy가 경사 구간을 올라가지 못함 EnemyDieState로 바뀔 때, 애니메이션이 실행 안되는 경우가 있음 오늘의 회고 오늘은 Enemy 상태 패턴 구현을 완료했다. 아직 작은 버그들이 있지만 필수 기능을 구현 후, 수..

Unity_2기 11주차 (230115)

Player 구현을 마치고, Enemy 구현을 시작했다. 상태 패턴을 사용해서 구현했다. 구현 내용 Enemy 상태 패턴 (Idle, Walk, Chasing, Die, Attack, Hit) 트러블 슈팅 1. EnemyHitState ChasingState에서 HitState로 변경 시, 멈추지 않고 계속 Player를 향해 다가옴 public void Handle(EnemyController enemyController) { if (!_enemyController) _enemyController = enemyController; Debug.Log("Chasing 상태 시작"); _enemyController.Animator.SetBool("Run", true); StartCoroutine(COUpda..

Unity_2기 10주차 (230112)

오늘 구현 내용 1. 총기 구현 1번, 2번 키로 무기 교체 구현 마우스 왼쪽 클릭으로 발사 구현 마우스 오른쪽 클릭으로 정조준 구현 R 키로 재장전 구현 총기 반동 구현 트러블 슈팅 1. Gun 발사 Sword에서 Gun으로 무기를 교체 후, 발사를 입력하면 다음과 같이 오류가 계속 나왔다. private Sword _sword; private GunController _gunController; private void Awake() { _rigidbody = GetComponent(); _sword = GetComponentInChildren(); _gunController = GetComponentInChildren(); } 위와 같이 GunController 스크립트를 가지고 있는 GunHolde..

Unity_2기 10주차 (230111)

오늘은 먼저 Player 구현을 맡았다. 구현 내용 1. Player 이동 InputAction을 이용해서 이동, 달리기, 점프 구현 2. Player 공격 구현 InputAction 으로 공격 구현 3. 콤보 구현 https://kkln2486.tistory.com/236 콤보 공격 구현 구현 방법 1. Sub - State Machine 생성 생성 후, 이름 Attack으로 변경 * Sub - State Machine : 애니메이션을 그룹 단위로 묶어서 정리 2. 애니메이션 설정 애니메이션 추가 Attack Trigger 추가 콤보 순서대로 애 kkln2486.tistory.com 트러블 슈팅 공격 쿨타임 구현 공격이 종료하고, 3초의 쿨타임을 설정했는데, 3단 콤보가 끝나고 1단 공격이 바로 실행 ..

Unity_2기 10주차 (230110)

오늘은 최종 프로젝트의 조 편성과 내배켐 1기 수강생의 최종 프로젝트 강의가 있었다. 최종 프로젝트 최종 프로젝트 개발에 앞서 전체적인 게임 기획을 진행하고, 구현 기능에 대해서 정리하였다. 최종 프로젝트의 장르는 3D 어드벤처 시뮬레이션 게임이고, 식물학을 전공한 해군이 배를 만들어 항해하고, 해적과 싸우고, 식물을 채집하는 게임이다. 초기 와이어 프레임 내배켐 1기 수강생의 특강 최종 팀 프로젝트 전, 알아야할 부분, 마음가짐에 대해서 강의를 했다. 게임 규모는 생각한 것보다 훨씬 작게 설정 게임 상용화를 목적으로 두지 말고, 포트폴리오에 목적을 두자. 개발 과정에서 있었던 일은 최대한 상세하게 기록할 것. 개발 싸이클을 최대한 짧게 두고 자주 빠르게 개발 에셋 사용을 최대한 줄이고, 직접 기능 구현..

Unity_2기 10주차 (230109)

오늘은 심화주차 팀 프로젝트 발표가 있었고, 1인 개발에 대한 특강이 있었다. 그리고 어제 있었던 챌린지반 특강의 상태패턴에 대해서 정리를 했다. 상태 패턴 https://kkln2486.tistory.com/231 상태 패턴 State 패턴? 객체 내부의 상태가 변경될 때 해당 객체가 그의 행동을 변경할 수 있도록 하는 행동 디자인 패턴 캐릭터는 끊임없이 상태가 전환됨 캡슐화가 잘 되어있음 FSM과 유사하나, 상태패턴을 kkln2486.tistory.com FSM 과 유사하지만 조금 성격이 다르다. FSM을 활용하기 전 상태 패턴에 대해서 더욱 정리하고 공부가 필요하다. 1인 개발 특강 Enter Play Mode 항상 켜기 게임 정적 정의값은 무조건 Excel로 작업하기 작업 시, 에디터에 띄어놓는 ..

Unity_2기 10주차 (230108)

오늘은 내일배움캠프 2기 유니티 심화주차 팀 프로젝트 마무리 작업을 하고 과제 제출을 했다. 팀 프로젝트 Escape Protocol 구현기능 * 캐릭터의 이동 및 기본 동작 - 캐릭터, 몬스터 FSM 구현 - W/A/S/D 이동 구현 * 레벨 디자인 - Stage 1 : Key 1개를 찾아서 탈출 - Stage 2 : Key 3개를 찾아서 탈출 * 충돌 처리 및 피해량 계산 - RayCast로 Player 공격 구현 * UI/UX 요소 - Player Hp, Stamin 구현 - 총알 갯수 표시 - Loby, 일시정지 구현 * 다양한 무기 - HandGun1, M4, M82 구현 * 난이도 설정 - Normal, HardCore 설정 - HardCore 시, 몬스터 이동속도 증가 * 미션 시스템 - 현..

Unity_2기 9주차 (230105)

오늘은 유니티 심화주차 팀 프로젝트를 각각 팀원들의 구현 내용을 종합하고, 기능 추가와 오류 수정을 진행했다. 구현 내용 총기 추가 https://kkln2486.tistory.com/225 3D 총기 구현 (2) 무기 교체 구현 1. 스크립트 수정 GunController 추가 [Header("GunHolders")] [SerializeField] private List _gunHolders; public void EquipM4() { foreach(GameObject gun in _gunHolders) { gun.SetActive(false); } CurrentGun = _gunHolders[1].GetCompo kkln2486.tistory.com 기관총과 스나이퍼총을 구현했다. 각 아이템을 먹게되..

Unity_2기 9주차 (230104)

오늘은 총기구현에서 추가로 정확도를 구현했다. 공부 내용 Rotation 값 변경 https://kkln2486.tistory.com/220 Rotation 값 변경 Quaternion 사용 // x축으로 10도, y축으로 20도, z축으로 30도 회전 transform.rotation = Quaternion.Euler(10, 20, 30); eulerAngle 사용 // x축으로 10도, y축으로 20도, z축으로 30도 회전 // 월드좌표 transform.eulerAngles = new kkln2486.tistory.com 트러블 슈팅 정확도 구현 정조준 상태가 아닐 때, 정확도가 낮아지도록 구현했다. Raycast의 시작점에서 일정한 랜덤값을 더해서 구현했는데, 멀리있는 물체를 쏠 때 보다 가까이..

Unity_2기 9주차 (230103)

오늘은 어제 구현한 총기 구현에서 추가적으로 총기 반동과 정조준 상태를 구현했다. 구현 내용 총기 반동, 정조준 추가 https://kkln2486.tistory.com/218 3D 총기 구현 총기 구현 1. GunHolder 생성 Player 자식으로 GunHolder 빈오브젝트, 그 자식으로 Gun 프리팹 생성 Gun 프리팹 자식으로 Amature 빈 오브젝트, 그 자식으로 Gun 빈 오브젝트 생성, 총알 발사 ParticleSystem 추가 * kkln2486.tistory.com 트러블 슈팅 총기 반동 while (_currentGun.transform.localPosition.z >= _originPos.z - _currentGun.RetroActionForce + 0.02f) { _curren..