게임개발/언데드서바이벌_골드메탈_클론코딩

[클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 5 (몬스터🧟만들기)

2023. 4. 7. 01:30

https://www.youtube.com/watch?v=0aUCu1BcZxs&list=PLO-mt5Iu5TeZF8xMHqtT_DhAPKmjF6i3x&index=7 


 
1. 오브젝트 만들기
몬스터 오브젝트의 Run0을 하이어라이키에 드래그 드랍, Shadow 적용
Animator 추가후 할당(Animation 폴더)
Rigidbody2D 컴포넌트 추가 및 중력(Gravity scale=0)과 회전 제거(Freeze Rotation z) //플레이어도
Capsule Collider 2D 추가 (0.7,0.9)
Sprite Renderer 설정 복사를 통해 Enemy1 도 생성


2. 플레이어 추적 로직
Enemy 스크립트 생성

    public float speed;
    public Rigidbody2D target;

    bool isLive = true;

    Rigidbody2D rigid;
    SpriteRenderer spriter;

- 속도, 목표, 생존여부를 위한 변수 선언
- target : 쫒아갈 target 선언 (유니티 인스펙터에서 할당)
- Rigidbody2D와 SpriteRenderer(플립을 위해) 선언
 
Awake에서 초기화 진행
 
로직에 필요한 변수 선언

    private void FixedUpdate()
    {
        Vector2 dirVec = target.position - rigid.position;
        Vector2 nextVec = dirVec.normalized * speed * Time.fixedDeltaTime;
    }

- 위치 차이 = 타겟 위치 - 나의 위치
- 방향 = 위치 차이의 정규화(Nomaliaed)
 
따라가는 로직

    private void FixedUpdate()
    {
        rigid.MovePosition(rigid.position + nextVec);
        rigid.velocity = Vector2.zero;
    }

- 순간이동식 이동 방법
- 물리 속도가 이동에 영향을 주지 않도록 속도 제거
- velocity를 0으로 만들어 줘야 충돌시 영향을 주지 않는다.
 
몬스터 오브젝트들에게 작성한 Enemy 스크립트 추가하기
target에 Player 오브젝트 끌어넣기
Speed 변수 설정(2.5)
 
몬스터 스프라이터의 방향 바꾸기(filpX)

    private void LateUpdate()
    {
        spriter.flipX = target.position.x < rigid.position.x;
    }

 
isLive 변수를 통해 죽었으면 비활성화

    private void FixedUpdate()
    {
        if (!isLive)
            return;
		...
    }

    private void LateUpdate()
    {
        if (!isLive)
            return;
        ...
    }

- 단, 테스트 상태이므로 선언시 true로 선언하고 할 것


3. 몬스터 재배치
플레이어 속도가 빠르기 때문에 일정한 방향으로 갈경우 무한히 만나지 못하는 문제가 발생
Reposition의 Enemy 부분을 작성
이때 Enemy가 죽었는지 살았는지 구분이 필요함
 
Collider2D 변수 생성 및 초기화

    Collider2D coll;
    private void Awake()
    {
        coll = GetComponent<Collider2D>();
    }

- Collider2D는 기본 도형의 모든 콜라이더2D를 포함
 
콜라이더가 활성화 상태이면 이동시키는 로직

case "Enemy":
    if (coll.enabled)
    {
        transform.Translate(playerDir * 20 + 
        new Vector3(Random.Range(-3f, -3f), Random.Range(-3f, -3f), 0f));
    }
    break;

- transform.Translate를 통해 위치를 "플레이어 보는 방향 * 20 + (-3~3,-3~3,0)" 으로 바꾼다.
 
새로운 Tag인  Enemy를 만들고 몬스터 오브젝트 Tag를 Enemy로 바꾼다.


깃허브 올리기
Commit : ver 1.5
Description : Unrimited map
 
https://github.com/mekain80/CloneCode_Undead_Survivor

GitHub - mekain80/CloneCode_Undead_Survivor: https://www.youtube.com/watch?v=MmW166cHj54&list=PLO-mt5Iu5TeZF8xMHqtT_DhAPKmjF6i3x

https://www.youtube.com/watch?v=MmW166cHj54&list=PLO-mt5Iu5TeZF8xMHqtT_DhAPKmjF6i3x&index=1 - GitHub - mekain80/CloneCode_Undead_Survivor: https://www.youtube.com/watch?v=MmW166cHj54&li...

github.com

 

'게임개발 > 언데드서바이벌_골드메탈_클론코딩' 카테고리의 다른 글

[클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 6+ (소환 레벨⏳적용하기)  (0) 2023.04.09
[클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 6 (오브젝트 풀링🏊으로 소환하기)  (0) 2023.04.09
[클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 3 (2D 셀 애니메이션🏃제작하기)  (0) 2023.04.06
[클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 2+ (새로운 인풋시스템 적용하기, Input Manager )  (0) 2023.04.06
[클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 2  (0) 2023.04.05
'게임개발/언데드서바이벌_골드메탈_클론코딩' 카테고리의 다른 글
  • [클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 6+ (소환 레벨⏳적용하기)
  • [클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 6 (오브젝트 풀링🏊으로 소환하기)
  • [클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 3 (2D 셀 애니메이션🏃제작하기)
  • [클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 2+ (새로운 인풋시스템 적용하기, Input Manager )
메카인
메카인
메카인의 지식창고메카인 님의 블로그입니다.
메카인
메카인의 지식창고
메카인
전체
오늘
어제
  • 분류 전체보기
    • 코딩 공부
      • TIL(Today I Learn)
      • TIL
      • 백준(C++)
      • Python
      • 알고리즘
      • 프로젝트 회고
    • C++
      • C++
      • C++ STL
      • C,C++ mCoding yotube
    • 게임개발
      • 언데드서바이벌_골드메탈_클론코딩
      • 3D_골드메탈_클론코딩
      • 유니티_문제해결
      • 게임 수학
    • Unreal 공부
      • UE5 GameDev
      • Unreal Engine 4 C++ The Ult..
    • 교재 문제 풀이
      • 운영체제
    • 정보처리기사
      • 정처기 요약
      • 정처기 오답노트
    • 학교수업
      • 데이터베이스
      • 프로그래밍 언어론
      • 리눅스 시스템
      • 네트워크
    • 일상
      • 주식
      • 독서
    • (비공개 전용)
      • memory
      • Build
      • OOP
      • Smart Pointer
      • lamda
      • 게임 수학
      • 모던 C++
      • 모던 C++ STL
      • 모던 C++ Concurrency, Paralle..

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기
  • 블로그 관리

공지사항

  • 공지사항 - 인생과 블로그의 목표

인기 글

태그

최근 댓글

최근 글

hELLO · Designed By 정상우.
메카인
[클론코딩_유니티_골드메탈] 뱀서라이크 따라만들기 5 (몬스터🧟만들기)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.