본문 바로가기

분류 전체보기

(346)
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 - raycast 정리 참조: bluemeta.tistory.com/10 Raycast를 사용할 때 쓰는 out 키워드의 의미 [Unity|유니티] 1. 레이캐스트(Raycast) 레이캐스트는 공간의 특정 지점에서 특정한 방향과 거리 안에 게임오브젝트가 존재하는지 판별하는 유니티 물리 엔진의 메소드입니다. 유니티에서 기존의 충돌 판정은 bluemeta.tistory.com
Unity3D - nav Mesh Agent 컴포넌트 mrbinggrae.tistory.com/122 유니티 Navigation Basics #2 - Agent(이동 개체) 설정 오늘 공부할 내용 NavMesh Agent 를 활용해서 길을 찾아서 이동하는 플레이어를 만들겠습니다. Player 설정 LowPolyNature\Prefabs\Characters 폴더에 있는 lp_guy 프리팹을 Hierarchy 뷰로 드래그 앤 드롭합니다.. mrbinggrae.tistory.com
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..
Unity기타 - get, set 1. get과 set을 쓰는 이유 *get set을 둘다 사용하는 경우는 보다 제한적인 get,set을 써야만하는 이유이고 *가장 의미있게 사용하는 방식은 중요한 private변수를 대표하는 public한 상징변수를 만들어서 get; private set; 을 사용하여 (상징변수를 이용한 내부에서 내부의private 변수 읽기 및 셋팅 가능/ 상징변수를 이용한 외부에서 내부의 private변수 읽기만 가능) 한 변수를 만들거나 get;을 사용하여 (상징변수를 이용한 내부에서 내부의private변수 읽기만가능 / 상징변수를 이용한 외부에서 내부의 private변수 읽기만 가능)한 변수를 만들기 위해서이다 *인스펙터창에 나타나는 Age 가 [serializedField] int age; 임 (앞부분이 대문자..