목록인디게임개발일지 (6)
피너클의 it공부방

가만히 회전하는것 먼저 만들었다.코루틴을 이용해 계속해서 작동하게 만들었고 rl변수는 오른쪽을 회전할지 왼쪽으로 회전할지 결정하는 변수다.transform.rotate를 이용해 회전하게 만들었으며 중간중간 WaitForSecond를 이용해 천천히 회전하게 했다. 이제 적이 플레이어가 있다는 사실을 알 수 있어야 하는데1. 적과 플레이어 사이의 거리가 가깝고2. 플레이어가 적의 시야 안에 들어있음혹은1. 플레이어가 쏜 총 소리를 적이 듣는다.위의 2개의 경우에 플레이어를 쫒아가게 만들었다.플레이어와 적 사이의 거리를 확인하는 함수다.시야 안에 들어와있는지 확인하는 함수다.위에는 총 소리를 듣는 함수다. 위에 함수들에서 각각 bool 변수를 가지고 있고 조건이 성립되면쫒는 상태가 된다. 이후로는 플레이어를 ..

맵을 더 크게 만들고적을 추가했다.저택밖, 저택 1층, 저택 2층 을 들어가고 나갈때마다 카메라의 움직임을 만들어 줬다. 그리고 총 줍는것과 칼 줍는 것, E버튼을 누르면 무기를 바꾸게했다. R을 누를경우 탄창을 교환하며 플레이어 아래 탄창 스프라이트를 생성하게 했다. 그리고 타겟을 죽일경우 클리어 메세지가 나오게 했다.이제 적을 만들건데 적의 상태를 정의했다. 적은 총쏘는 적과 칼쓰는 적 2종류만 만들기 기본 상태 1. 가만히 있는다. [문 앞에서 대기하는 것 처럼] 2. 가만히 회전하며 주변을 돌아본다. [주변 경계 하는 사람] 3. 특정 위치를 왔다갔다 한다. [똑같이 경계하는 사람] 쫒는 상태 플레이어가 시야 안에 들어왔을 경우 총 소리를 들었을 경우 쫒는다. 특정 거리 안에 들어가면 공격을 시작..

이제 적이 총을 쏘게 만들것이다.고려 해야 할 사항들이있다.1. 적과 플레이어 사이의 거리2. 플레이어가 적의 시야 안에 들어와야함 적과 플레이어 사이의 거리는 간단하게 구할수 있다.Vector2.Distance로 간단하게 구해 사이 거리가 4f 보다 작으면 총을 쏘게 만들것이다.이제 2번 고려 사항을 해결해야 했다.2. 플레이어가 적의 시야 안에 들어와야함이를 위해 circle collider 2D를 붙이고 Trigger를 체크했다.플레이어가 이 트리거 안에 들어오면 적은 플레이어 방향으로 레이캐스트를 쏠것이다.트리거 안에 들어온 오브젝트의 태그가 Player라면 아래 코드를 실행시킨다.적의 오른쪽을 기준으로 플레이어와의 각도를 구해주고 그 각도가 적의 시야각 안에 들어와있다면레이캐스트를 쏘게 했는데 ..

문을 만들어줬다.Hinge Joint 2D를 이용해서 만들었다. 위에 처럼 작동된다.그리고 적을 만들었다.적이 플레이어를 따라오는걸 만들기 위해 navemesh를 적용했다.위에 처럼 적용 되었다. 그리고 적 오브젝트에 enemy로 플레이어를 따라가게 만들었다. 위에 처럼 따라다니게 된다.그런데 나는 적이 회전하지 않고 따라가는게 마음에 들지 않았다.그래서 적이 움직이는 방향을 쳐다보게 스크립트를 추가했다. 단순히 플레이어를 쳐다보는 것이 아닌 움직이는 방향을 쳐다본다.

맵을 만들었다. 타일맵을 이용했다.먼저 바닥을 만들고벽을 만들었다. 벽의 collider를 보면 하나로 합쳐져 있는데기본적으로 Tilemap collider 2D만 적용하면 타일 하나하나에 콜라이더가 적용된다.하지만 아래 Composite Collider 2D를 적용하고Tilemap collider 2D에 Used By Compiste를 체크하면 위에처럼 하나로 합쳐진다. 이다음 플레이어에 시네머신 카메라를 넣어줬다.유니티 2D 시네머신 이용해서 카메라가 플레이어 따라다니게 만들기여기있는데로 만들었다. 위에 처럼 적용됐다.이다음 총쏘는걸 만들었다.처음에는 Addforce로 만들었는데 문제가 총알이 벽을 뚫는다는 것이다. 벽이 얇고 총알이 너무 빨라서 발생한 문제같은데결국 레이캐스트로 만들기로 마음 먹었다..

먼저 플레이어 캐릭터를 만들었다.그후 콜라이더랑 리자드 바디를 넣고 움직임과 마우스 방향을 바라보는 스크립트를 작성했다.이렇게 작성한다음 둘다 update문에 넣었다. 잘 작동된다. 이다음 총 스크립트를 만들었다.총 스프라이트를 넣은다음 콜라이더를 넣었는데 Trigger를 true로 해놨다.플레이어가 저 범위 위로 올라간다음 F를 누르면 플레이어가 총을 들고있는 스프라이트로 바뀌게 하는게 목표다.이건 플레이어 스크립트 안에 작성했다.나중에 칼도 만들거기 때문에 Knife까지 미리 작성했다.F를 누르고 트리거가 작동된 오브젝트의 태그가 Gun이면 바로 총 오브젝트를 파괴하고 총을 잡게 만들었다. 위에 처럼 작동된다.나중에 칼도 만들었지만 이건 생략하겠다.이 다음 맵을 만들었다.