본문 바로가기

Unity/Unity3D_Quater

(40)
Unity3D_Quater - 몬스터 순찰지역 랜덤생성 시도1 -몬스터가 리스폰되면 해당 몬스터가 미리지정한 spot으로 이동 후 viewDistance를 반지름으로 하는 범위에 90도 간격으로 4개의 지점을 순찰지점으로 자동지정하여 최초 이동한 지점을 포함하여 총 5지점을 랜덤하게 순찰 참고 : hannom.tistory.com/185 *Mathf.Pow(x,y) = x의 y승 *Mathf.Sqrt(x) = 루트x 몬스터가 생성되자마자 자신 주위 반지름 3인 랜덤지점에 코인을 생성하고 지정해둔 위치로 이동.. 지정해둔 위치에서 기다렸다가 위에서 코인을 생성한 위치로 이동함과 동시에 기다린 위치 주위 반지름3인 랜덤지점에 코인을 생성 즉, 몬스터가 다른위치로 출발할 시점에 있던 위치의 주위 반지름3인 랜덤위치를 잡게 되어 순서도 꼬이고 그 위치가 이동불가능한..
Unity3D_Quater - 몬스터 순찰 1. 몬스터 순찰 및 플레이어 인식했을시엔 플레이어를 따라오다가 플레이어가 인식범위를 벗어나면 다시 순찰지점으로 돌아가서 순찰을 돌도록 코드 구현 *InvokeRepeating("함수명",시작시간,반복간격) 활용 2. 애니메이션 - nav.velocity에 따라 조절
Unity3D_Quater - 버그 및 디버깅(1) - 버그 및 디버깅 1. 동전이 남아있을때 몬스터가 전부 리스폰되면 다음스테이지로 넘어가버림 1)원인 : 스테이지 시작도 전에 먹은코인 갯수가 카운팅 되어서 뺑뺑이를 빠져나감 2)디버깅 : 스테이지 시작전 테스트용 코인을 비활성화 2. 몬스터가 2마리 이상일 경우 순찰돌때 서로 겹치면서 다음 순찰지로 이동을 못함 1)원인 : nav mesh 컴포넌트를 가진 오브젝트끼리는 기본적으로 서로를 피해가려고 하기때문에 한번 겹치면 서로 계속 피하려고 하기때문에 속도가 0이 되지않음 (속도가 0이되어야 다음 순찰지로 이동하도록 코드를 구현해놨음) 2)디버깅 : Obstacle Avoidance quality는 만났을 때 서로 피해가는 방식에 관해서인데 이것을 none으로 해주던가 혹은 Avoidance Priori..
Unity3D_Quater - AI시야 구현 적용 1.플래그 변수 추가 - AI의 시야거리 반경내에 플레이어가 존재하는지를 체크하는 Bool값 변수인 targetNear와 - AI의 시야각 내에 들어왔고, 플레이어사이에 아무런 장애요인이 되는 오브젝트가 없이 바로 플레이어를 확인했는지 체크하는 Bool값 변수인 targetConfirm 변수를 선언 - 각 상황에 따라 플래그가 작동하도록 코드 구현 2. Enemy 관리 - Enemy 프리팹에 AngleView 스크립트를 드래그 앤 드랍으로 적용시키고 - public으로 AngleView스크립트를 선언 후 인스펙터창에 자기 자신 프리팹을 드래그 앤 드랍한다 - 기존에 isTrackingOn()과 isTrackingCancle()을 나누었었는데 두 함수를 없애고 대신에 isRecognizePlayer()함수..
Unity3D_Quater - AI시야각 구현(1) 1. 시야각 구현 - AI오브젝트를 위에서 아래로 바라보았을때 Z축이 transform.forward 이고, x축이 transform.right이다 - AI의 시야각이 60도라고 한다면 θ는 30도가 되고 - 우리는 방향값인 벡터만 알면되기 때문에 아래 원의 반지름을 1이라고 가정한다 - 그러면 30도 각도에 위치한 단위벡터값은 (sin θ, cos θ)가된다 참조: 유투브 케이디 youtube.com/watch?v=jY49bG8Z7KQ&list=PLUZ5gNInsv_PZPDqJSs6IQVRFPQTbf9t6&index=2 2.시야 부채꼴 그리기 참조: ansohxxn.github.io/unitydocs/handles/ DrawSolidArc DrawSolidArc 색깔이 꽉 채워져 칠해져 있는 부채꼴(A..
Unity3D_Quater - 코루틴 최적화
Unity3D_Quater - 코인자석 만들기 목표 : 3D오브젝트 코인(금, 은, 동)을 먹으면 코인(3D형태)이 코인UI이미지쪽으로 날라가도록 만들기 1. Asset폴더에 Render Texture를 생성한다 - 생성한 Render Texture는 이 후 과정에서의 날라가는3D오브젝트 이미지를 만드는데 필요한 Camra와, UI-Image에 사용될 것이다 2. 카메라를 생성하고 해당 카메라가 비출 오브젝트를 생성한다 - 카메라 생성 후 Target Texture 에 1에서 생성한 Render Texture를 드래그 앤 드랍한다 - Clear Flags를 Solid Color로 해주어야 카메라가 온전히 본인이 비추는 오브젝트만 깔끔히 보이도록 나온다 - 카메라가 비출 오브젝트를 우리가 먹을 3D오브젝트 코인과 모양을 같게 만들되 위치정보를 Rect..
Unity3D_Quater - 게임오버 및 게임오버 메뉴 만들기 1.플레이어 스크립트 2.게임매니져 스크립트