[Unity 2D Game] 팩맨 #01 - 맵 제작, 플레이어 캐릭터 제어

Поділитися
Вставка
  • Опубліковано 27 січ 2025

КОМЕНТАРІ • 77

  • @unitynote
    @unitynote  3 роки тому +2

    * Tilemap 추가 기능 2D extras에 대해 *
    유니티 깃허브에서 2D extras 메뉴 아래쪽에 "Tilemap" 이라는 굵은 글씨 아래에 "Please use the.." 라는 문구로
    유니티 버전별로 사용해야하는 2D Extras 버전이 명시되어 있습니다.
    이를 확인해서 다운로드 받아야 에러가 발생하지 않습니다.
    또한 2020 이상 버전의 경우 유니티 프로젝트 내부의
    Edit - Project Settings - Package Manager에 있는 Enable Preview Packages를 활성화한 후
    Window - Package Manager - Unity Registry에서 다운로드 가능합니다.

  • @mhk5066
    @mhk5066 4 роки тому +3

    brush error 가 왜 생기나 했는데 extra 파일을 받으면 package manager에서 Tilemap Editor 를 설치해줘야 하네요 참고하세요!

  • @feel3888
    @feel3888 3 роки тому +1

    박사님 감사합니다 :D 저는 3D로 팩맨 만들고 있는데, 올려주신 워프시스템을 3D에 맞게 조금 변경하니 신기하게 잘 돌아가네요~! 오늘도 좋은 기능 잘 배워갑니다!

    • @unitynote
      @unitynote  3 роки тому +1

      2D와 3D는 사용하는 축이 2개인지 3개인지 차이뿐 기능을 구현하는데 있어 로직이 엄청 차이나지 않기 때문에 조금만 수정한다면 사용 가능합니다.

  • @ybp3798
    @ybp3798 2 роки тому +2

    2020 이후 버전은 Rule Tile 생성 방법도 다르더군요.
    혹시 뒤에 보는 분들이 참고하실까 남깁니다.
    Project - '+' - 2D -Tiles - Rule Tile

  • @동키바-e5p
    @동키바-e5p 2 роки тому

    15:29 에서 Direction에 빨간줄이 가는데 어떻게 해야 할까요? 그리고 앞에 Constants에 작성하신 한줄은 그냥 그대로 저장하고 지나가나요??

    • @동키바-e5p
      @동키바-e5p 2 роки тому

      Direction 요것땜에 앞으로 진행을 못하네요;; 뭐가 문제일까요?

    • @unitynote
      @unitynote  2 роки тому

      Constants에 작성한 Direction을 15:29의 Direction으로 사용하는 겁니다.
      Constants에 작성한 Direction 대소문자를 확인하세요

  • @ONe234512
    @ONe234512 4 роки тому +1

    박사님
    C#강의에서 함수에서 어떤 변수를 바꿔도 함수가 끝나면 리턴값만 반환된다고 배웠었는데
    StartCoroutine(SmoothGridMovement) 함수는 null값만 반환하는데도 이동이 되는이유가...
    이미 정의된 Lerp함수를 쓸때 transform.position 값을 참조형?으로 넣게끔 설정?이 이미 되어있는것이려나요....

    • @unitynote
      @unitynote  4 роки тому

      코루틴 메소드 내부에 transform.position 값을 설정하고 있기 때문에 이동이 가능한 것입니다.
      C# 메소드에서 얘기하는 변수를 바꿔도 라는 것은 매개변수를 지칭하는 것입니다.

  • @yucheonpark_
    @yucheonpark_ 4 роки тому +2

    와 그래픽이 더 이뻐졌네요 😁

    • @unitynote
      @unitynote  4 роки тому +1

      코드도 전이랑 좀 달라졌지 😁

    • @yucheonpark_
      @yucheonpark_ 4 роки тому

      @@unitynote 네 ㅎㅎ 라때는 1칸씩 정확하게 움직이는 거 없었는데 ㅠㅠㅎㅎ

    • @unitynote
      @unitynote  4 роки тому +1

      @@yucheonpark_ 방식이 아예 다르니깐 둘 다 알고 있으면 굿 ^^

    • @yucheonpark_
      @yucheonpark_ 4 роки тому

      @@unitynote 넵 ㅎㅎ 항상 애청하고 있습니다

  • @요미-i4d
    @요미-i4d 3 роки тому +1

    Extra파일을 받으면 자꾸 -> Assets\2d-extras-master\2d-extras-master\Editor\Tiles\RuleTile\RuleTileEditor.cs(310,26): error CS1061: 'ReorderableList' does not contain a definition for 'IsSelected' and no accessible extension method 'IsSelected' accepting a first argument of type 'ReorderableList' could be found (are you missing a using directive or an assembly reference?)
    와 같은 에러가 납니다. 그래서 2D Extras가 Project에 뜨지 않습니다. 어떻게해야할까요

    • @unitynote
      @unitynote  3 роки тому

      관련 내용을 고정 댓글로 작성해두었습니다.
      그리고 현재 에러의 경우 RuleTileEditor.cs 스크립트를 지워서 해결될 수도 있습니다.
      안될 경우 댓글과 같이 현재 유니티 버전에 맞는 2d extras를 다운로드 해야 합니다.

    • @요미-i4d
      @요미-i4d 3 роки тому

      @@unitynote RuleTileEditor스크립트를 지워봤는데 에러가 15개 생겨버렸네요..ㅠㅠ 2019.4.19버전인데 지금 다운로드 한거랑 다른걸 다운로드해야할까요?

    • @unitynote
      @unitynote  3 роки тому

      @@요미-i4d 지금 다운로드한 버전이 어떤건지 모릅니다..
      2019.4버전을 사용중이라면 GitHub에서 1.5.0-preview 버전으로 다운로드 하시면 됩니다.

    • @요미-i4d
      @요미-i4d 3 роки тому

      @@unitynote 해결했습니다 빠른답변 감사드립니다.

  • @동키바-e5p
    @동키바-e5p 2 роки тому

    Edit - Project Settings - Package Manager에 있는 Enable Preview Packages를 활성화한 후
    Window - Package Manager - Unity Registry에서 다운로드 가능합니다.
    에서 마지막 Package Manager에서 Unity Registry가 검색해도 안 나옵니다. 지금 버전은 2020.3.30f1 입니다.

    • @동키바-e5p
      @동키바-e5p 2 роки тому

      해결 했습니다. 유니티 깃허브에서 좌측 상단에 버전을 바꿀수 있네요. 버전을 2020.3으로 바꿔서 설치했습니다. 그리고 2020.3에서는 타일 있는 위치들이 전혀 다릅니다
      그리고 rull 위치를 혹시나 못 찾으시는 분은 Project창에 ( + ) 클릭하고 2D에 Tiles과 Brushes가 들어 있습니다. 거기서 rull을 클릭하시면 됩니다.

  • @aladynash
    @aladynash 2 роки тому

    8:23 에서 드래그가 않되는데 혹시 드래그 하는 키가 있나요?

    • @unitynote
      @unitynote  2 роки тому

      Hierarchy View에 있는 게임오브젝트를 선택해야 활성화됩니다.
      Player 오브젝트의 애니메이션을 설정하는 것이니 Player 오브젝트를 선택하면 됩니다.

  • @마음-d2o
    @마음-d2o Місяць тому

    Prefab brush 생성이 보이지않아요ㅜ 해결방법있을까요?

    • @unitynote
      @unitynote  Місяць тому

      최신 버전에서는 명칭이 GameObject Brush로 변경되었습니다.
      현재 영상의 유니티는 오래된 버전이라 타일맵 관련 자료는 아래 링크의 영상을 확인하세요
      ua-cam.com/video/OuJ9qSA_w3Q/v-deo.html

  • @동키바-e5p
    @동키바-e5p 2 роки тому

    코드 작성하신것을 보다보면 Vector3으로 작성한것과 Vector2로 작성하신게 있더라고요. 찾아보니 3은 3D에서 쓴다고 하는데.. 두개 모두를 쓰시는 이유가 있으신지 궁금합니다.

    • @unitynote
      @unitynote  2 роки тому

      3D에서 쓴다는게 x, y, z의 3개 값을 가지기 때문에 통상적으로 3D 개발할 땐 Vector3를 쓴다고 설명하는데 2D 게임을 개발할 때도 이전에 Vector2가 아닌 Vector3로 제공하던 것들이 있어 Vector3를 종종 쓰기도 합니다.

  • @xunjimon5829
    @xunjimon5829 2 роки тому

    코딩창에 화면 그대로 옮겨적었는데 왜 재생하면 캐릭터가 움직이지 않을까요ㅠㅠ 콘솔창에 어떤 오류도 뜨지않는데도 어떤 버튼과 마우스를 눌러도 캐릭터가 움직이지 않습니다ㅠㅠ

    • @unitynote
      @unitynote  2 роки тому +1

      Console View에 에러가 없다면 아래 내용을 한번 확인해보세요
      1. 작성한 코드(스크립트)를 컴포넌트로 적용했는지
      2. 작성한 코드 내부의 Awake, Update와 같은 유니티 이벤트 함수의 대소문자 구분 여부

    • @xunjimon5829
      @xunjimon5829 2 роки тому

      @@unitynote 감사합니다!!

  • @연대가보자고
    @연대가보자고 3 роки тому

    제가 c#코드를 player에 넣어주려고 했는데 PlayerController 코드를 넣으면 Assets\Scripts\PlayerController.cs(34,13): error CS0120: An object reference is required for the non-static field, method, or property 'Movement2D.MoveTo(Vector3)'라는 오류코드가 자꾸 뜨는데 무엇이 잘못된건가요 ㅠㅠ

    • @unitynote
      @unitynote  3 роки тому

      해당 에러는 static으로 정의된 메소드 내부에서 static이 아닌 변수, 메소드, 프로퍼티를 참조할 때 나타납니다.
      오류가 발생하는 부분을 살펴보거나 영상의 어느 지점에서 해당 오류가 뜨는지 알려주세요

    • @연대가보자고
      @연대가보자고 3 роки тому

      PlayerController 코드를 player의 inspector안에 넣으면 저오류가 자꾸 뜨더라구요...ㅠㅠㅠㅠ

    • @연대가보자고
      @연대가보자고 3 роки тому

      코드상으로는 문제가 없는것같은데...Vector3에서 왜 문제가 생길까요..

    • @unitynote
      @unitynote  3 роки тому

      @@연대가보자고 Vector3가 문제라는게 Vector3로 정의된 transform.position과 같은 유니티의 프로퍼티에서 .x 등과 같이 단일 값에 접근해서 제어를 한건 아닌지
      Vector3에서 문제가 생긴다고 하는데 Vector3로 발생할 수 있는 문제도 다양한데 코드를 보지 않고 제가 해결해 드릴 순 없네요;

    • @연대가보자고
      @연대가보자고 3 роки тому

      박사님께서 팩맨2영상에 올려주신 코드보고 코드재작성했더니 됐네요!! 정말감사합니다~~

  • @조규형-o4x
    @조규형-o4x 3 роки тому

    팩맨의 움직임을 볼트로도 구현해보고 싶은데 도저히 안되네요.... 혹시 팩맨 움직임을 볼트로 구현하신 것을 볼 수 있을까요?? 바쁘시면 답변 안해주셔도 괜찮습니다!

    • @unitynote
      @unitynote  3 роки тому +1

      현재 영상의 팩맨 프로토타입은 타일에서의 이동을 그래프 기능 없이 쉽게 구현하기 위해 만든 것이지만 그럼에도 불구하고 비주얼 스크립트(볼트)로 구현하기에는 쉽지 않은 작업입니다.
      볼트의 용도 자체가 비 프로그래머가 간단한 프로토타입 구현을 해볼 때 사용하는 것이기 때문에 (물론 극한의 노가다로 규모가 있는 게임까지도 가능 할수도 있겠지만..) 가능할지 잘 모르겠습니다.
      시간이 여유로웠다면 구현을 한번 해볼 수도 있겠지만 지금은 어려울 거 같습니다.
      감사하고 죄송합니다.

    • @조규형-o4x
      @조규형-o4x 3 роки тому

      @@unitynote 아닙니다.답변 달아주셔서 감사합니다~!

  • @최윤하-f5g
    @최윤하-f5g 2 роки тому

    팩맨을 이동하면(방향키를 누르면) 맵이 사라지는데 해결방법이 있을까요ㅠㅠ TilemapTiles-Rigidbody 2D-simulated를 체크 해제하면 맵은 안 없어지는데 벽을 뚫고지나갑니다..

    • @최윤하-f5g
      @최윤하-f5g 2 роки тому

      이제는 게임을 실행하는 도중에 갑자기 맵이 사라집니다..!!

    • @unitynote
      @unitynote  2 роки тому

      Rigidbody2D의 Type이 Static일 때 맵이 사라진다는건가요?
      혹시 맵에 중력이 설정되어 있어 아래로 떨어지는건 아닌가요?
      Game View에서 맵이 사라지면 Scene View에서 확인해보거나 맵을 클릭해서 Transform 정보 등을 확인했을 때
      어떤 상태인지.. 이런걸 자세히 알려주셔야 저도 답해드릴 수 있습니다.

    • @최윤하-f5g
      @최윤하-f5g 2 роки тому

      음 게임을 실행하면 Grid에 있는 TilemapTiles가 없어지는 현상이 나타납니다ㅠㅠ 위치나 중력문제는 아닌 것 같구요ㅠㅠ!!

  • @ONe234512
    @ONe234512 4 роки тому

    엉엉 중간에 이동속도를 바꾸고 싶어서 코드 내에서 moveTime 변수를 바꿔줬는데 (그냥 C#프로그램 짜는것처럼) 뭔짓을 해도 속도가 안바뀌길래 디버깅도 찍어보고 한시간 시간낭비하다 생각해보니 시리얼라이즈필드 되어 있어서 유니티창에서 바꿔줘야되네요 ㅠㅠ

    • @unitynote
      @unitynote  4 роки тому

      [SerializeField]를 사용하고 있을 경우 변수 선언에 있는 초기값이 아닌 Inspector View에서 수정한 값으로 최종 적용 됩니다.

  • @natsumi7281
    @natsumi7281 2 роки тому

    안녕하세요 ㅠㅠ 방법도 코드도 똑같이했는데 게임 실행시 맵이 사라져서 보이질않는데 혹시 해결법 아실까요..?

    • @unitynote
      @unitynote  2 роки тому

      게임을 실행하면 맵이 사라지나요?
      혹시 맵에 Rigidbody2D 컴포넌트가 있고, 중력을 받아 아래로 내려가는건 아닐까요?

  • @user-hiasen
    @user-hiasen 3 роки тому

    아니;; 2d tilemap editer 1.5.0을 어디서 받아야 하는거죠?
    git에서 받으라고 하셨는데 어디에 있다는 건가요ㅠㅠ

    • @unitynote
      @unitynote  3 роки тому

      git에 있는 2d extras를 못찾은건가요
      거기에서 버전을 골라서 다운로드 받는걸 못하시는건가요
      아님 최신버전이라서 git에서 다운로드 못하시는건가요

    • @user-hiasen
      @user-hiasen 3 роки тому

      @@unitynote 2019.4 버전이라 tilemap 1.5.0-preview을 다운 받아야 하는데 이걸 어디서 받는질 모르겠어요ㅠㅠ

    • @user-hiasen
      @user-hiasen 3 роки тому

      아 찾았어요ㅠㅠ

    • @unitynote
      @unitynote  3 роки тому +1

      @@user-hiasen 쓰고있었는데 찾았다니 다행이네요.
      최신버전은 깃이 아닌 유니티 프로젝트 내부에서
      Edit - Project Settings - Package Manager에 있는 Enable Preview Packages를 활성화한 후
      Window - Package Manager - Unity Registry에서 다운로드 가능합니다.

    • @user-hiasen
      @user-hiasen 3 роки тому

      @@unitynote 혹시 그럼 그 다운 받는 것을 유니티에 어떻게 적용시키나요?

  • @힣-k4p
    @힣-k4p 2 роки тому

    Collision 트리거 이벤트가 작동이 안돼요

    • @unitynote
      @unitynote  2 роки тому

      12:28 여기에서 레이어를 추가하고, 타일맵의 레이어를 "Tile"로 설정하는 부분
      13:00 여기에 코드로 작성한 레이어 이름 "Tile" 이 앞에서 작성한 것과 대소문자 구분해서 동일한지
      13:41 이 부분에 광선을 쏴서 충돌 검사하는 부분
      을 검사해보세요

  • @로라아-q9s
    @로라아-q9s 2 роки тому

    Project에 2d extra가 안뜨는데 어떻게 하죠 ㅠㅠ

    • @unitynote
      @unitynote  2 роки тому

      다운로드 받아서 드래그를 했나요?
      최신버전이면 기본으로 포함되어 있습니다.
      Prefab Brush는 GameObject Brush로 업데이트되어 Tile Palette에서 Brush를 선택해 사용하고,
      타일은 Project View - 2D - Tiles에 있습니다.

    • @로라아-q9s
      @로라아-q9s 2 роки тому

      @@unitynote Tile Palette이 어딨는지 알려주실수 있나요?

    • @unitynote
      @unitynote  2 роки тому

      @@로라아-q9s Window - 2D - TilePalette 메뉴에 있습니다.

    • @로라아-q9s
      @로라아-q9s 2 роки тому

      @@unitynote 죄송하지만 한가지만 더 물을게요....Animator가 안보이는데 버전이 다른거인걸까요 ㅠㅠ

    • @unitynote
      @unitynote  2 роки тому

      @@로라아-q9s 모든 view는 window 메뉴에 있습니다
      Window - rendering - animator

  • @ONe234512
    @ONe234512 4 роки тому

    저는 키보드 1회 눌렀을때만 1칸 움직여지게 제어를 하고 싶어서 혼자서 PlayerController 수정을 해보았는데요
    UpdateAroundWrap()에서 그냥 -1을 곱하니 경계에 있을때 밖으로 누르면 나가지는 문제가 있어서 이렇게 수정을 해보았습니다.
    혹시 누가 궁금해 할지는 모르지만 이거 하나 해결하려고 엄청 오래걸렸다보니 올려봐요 ㅎㅎ
    //왼쪽 끝에 나가져있을때
    if( position.x < stagedata.LimitMin.x && PlayerController.direction == Direction.Left )
    {
    position.x = stagedata.LimitMax.x +1;
    }
    그리고 PlayerController 에도 if(Input.anyKeyDown) 을 어디에 놓고 어느범위까지 묶어야되는지 헷갈려서 이것도 엄청 오래걸렸네요ㅠㅠ
    UpdateAroundWrap();를 포함하면 안됩니다ㅠ 이동하는 while문 뒤에 무조건 실행되어야함..

  • @최탕-k7d
    @최탕-k7d 4 роки тому

    직접 만들어보고싶은데 타일이미지 받을수있을까요??

    • @unitynote
      @unitynote  4 роки тому

      영상에 사용된 리소스들은 영상 하단 설명 부분에 모두 링크를 걸어두었습니다 :)

    • @최탕-k7d
      @최탕-k7d 4 роки тому

      @@unitynote 감사합니다 모바일로 보느라 제대로 못봤네요 ㅠㅠ

    • @최탕-k7d
      @최탕-k7d 4 роки тому

      @@unitynote 링크들어가서 다운 받았는데 팩맨 소스 말고 3D 소스가 들어 있는데 임포트 방법이 잘못된건가요?

    • @unitynote
      @unitynote  4 роки тому +1

      @@최탕-k7d 링크가 꼬여있었네요^^ 지금 다시 받으시면 됩니다!!

  • @goods7994
    @goods7994 2 роки тому

    2d extra가 project 란에 안떠요

    • @unitynote
      @unitynote  2 роки тому

      깃에서 다운로드 받았는데 안뜬다는 얘기인가요?
      최신버전이면 깃에서 다운로드 받지 않아도 프로젝트에 포함되어 있기 때문에 바로 사용가능합니다.

    • @goods7994
      @goods7994 2 роки тому

      @@unitynote 최신버전 22.1.8 다운받았는데용 project view - 2D - Tiles - Rule tile 이건가요?!?

    • @goods7994
      @goods7994 2 роки тому

      Prefeb brush 는 프로젝트에란에 안보여요ㅜㅜ

    • @unitynote
      @unitynote  2 роки тому

      @@goods7994 최신버전에서 Prefab Brush가 GameObject Brush로 바뀌었습니다. (Tile Palette에서 설정 가능)

    • @goods7994
      @goods7994 2 роки тому

      @@unitynote gameobject brush 에 프리팹 넣는곳이 안보여 이거는 방식이 달라 못하겠네요..