탑다운 2D RPG - 대화창 UI 구축하기 [유니티 기초 강좌 B22]

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ส.ค. 2024
  • RPG의 핵심, 대화창 UI를 구축해보는 강좌 영상입니다.
    이번 영상은 최대한 여러분들게서 자연스럽게 따라실 수 있도록 편집강도를 크게 줄였습니다.
    대신 영상 길이가 많이 늘어났으니 양해부탁드려요. 😉
    🛑 주의 :
    쿠키런 폰트틑 게임 개발에 사용하면 안된다는 조항이 생겨서 넥슨 폰트로 대체합니다.
    levelup.nexon.com/font/index.aspx
    📖 챕터 :
    01 00:00 대화창 UI
    02 10:35 데이터 전달
    03 16:43 상태 전환
    04 22:59 UI 애니메이션
    📚 추가 정보 :
    blog.naver.com/gold_metal/221...
    #유니티개발 #유니티2D #유니티기초 #쯔꾸르
  • แนวปฏิบัติและการใช้ชีวิต

ความคิดเห็น • 253

  • @yl9486
    @yl9486 2 ปีที่แล้ว +1

    항상 감사히 보고 있습니다ㅠㅠ 혼자 하기 막막했는데 도움 많이 받고 있어요!! 감사합니다!!!

  • @user-ze5jg6rf6g
    @user-ze5jg6rf6g 3 ปีที่แล้ว +3

    이번 대학 수업 프로젝트로 유니티 2d 도트 게임을 만들었는데요,
    골드메탈님의 탑다운 rpg 강의 영상을 보고
    대화창 ui 구축에 많은 도움을 받았습니다!

  • @newtwoo930
    @newtwoo930 4 ปีที่แล้ว +1

    항상 유익한 영상 남겨주셔서 감사합니다:)

  • @user-mz6cf1ly5n
    @user-mz6cf1ly5n 4 ปีที่แล้ว +2

    대화창 UI 신기하네요 ㅎㅎㅎ 이런걸 다룰수 있게 될줄이야 좋은 강의 올려주셔서 정말 감사합니다

  • @wolfisbest3400
    @wolfisbest3400 3 ปีที่แล้ว

    영상 결국 다 보고 따라해보네요! 잘보고갑니다~! 항상 영상볼때 진짜 고마워요!~

  • @gude3613
    @gude3613 4 ปีที่แล้ว +1

    오늘도 중요한 내용이네요 정말 감사합니다 ㅠㅠ

  • @LightGreenDay
    @LightGreenDay 4 ปีที่แล้ว

    정말 감사합니다... 애드블록 쓰다가 바로 끄고 광고 풀시청 했습니다

  • @user-sg8pk7gt4o
    @user-sg8pk7gt4o 4 ปีที่แล้ว +2

    오늘도 잘 배웠습니다 :) 감사함미닿ㅎ

  • @kirid475
    @kirid475 3 ปีที่แล้ว

    항상 이게 가장 중요해! 이것만 잘기억하자 하면 다음강의는 더중요한게 있네요

  • @user-nl9jv8rd7s
    @user-nl9jv8rd7s 4 ปีที่แล้ว

    궁금했던 내용이였는데 감사합니다!

  • @user-hz9px9uv1e
    @user-hz9px9uv1e 2 ปีที่แล้ว +1

    좋은 강의 감사합니다!!

  • @user-gs7zz9xp1g
    @user-gs7zz9xp1g 4 ปีที่แล้ว +1

    드디어 대화창 UI 군요!! 잘 보겠습니다. 감사합니다 ㅎㅎ

  • @user-pq2tb6dj7u
    @user-pq2tb6dj7u 4 ปีที่แล้ว

    너무너무 잘 보고 갑니다~~

  • @delightpal
    @delightpal ปีที่แล้ว +1

    이번 영상도 재미있게 시청하며 따라해 보았습니다. 미스터리 스릴러 장르로 완성 시킬 때를 위하여...흐흐흐흐
    이번엔 한번에 했습니다! ㅋㅋㅋ 감사합니다~
    아! 폰트...(주섬주섬..) 감삼돠~ㅋㅋ

  • @suyeonkim6002
    @suyeonkim6002 4 ปีที่แล้ว

    항상 잘 배우고 있습니다

  • @i-haru8539
    @i-haru8539 4 ปีที่แล้ว

    오랜만에 보네여ㅇㅅㅇ!
    볼게 많을것 같습니다!
    복습도 겸해서 다시 시작해볼게여!

  • @o.m.m757
    @o.m.m757 ปีที่แล้ว +4

    앞에까지 엄청 삐질거렸는데 편집강도가 줄어드니까 알기가 너무 쉽다 ㅠㅠ 감사합니다.

  • @Sangja_
    @Sangja_ ปีที่แล้ว +14

    (유니티 21.3 버전 기준)
    15:24에서 Text가 안넣어지는분 있으실텐데 아마 TextUI를 Legacy - Text 가 아니라
    Text - TextMeshPro (TMP) 를 사용하셨을겁니다
    그러면 12:00 에서 using.TMPro; 추가하고
    12:20에서 public Text 를 TextMeshProUGUI 로 바꿔주세요

    • @user-gb2nc1nj3c
      @user-gb2nc1nj3c ปีที่แล้ว

      와 진짜 감사합니다!

    • @user-gu8qv9cv7w
      @user-gu8qv9cv7w 3 หลายเดือนก่อน

      @@user-gb2nc1nj3c 감사합니다

  • @ispes1672
    @ispes1672 ปีที่แล้ว +1

    감사합니다 골드메탈님! 많이 배워가요 ㅎㅁㅎ!!

  • @hasanboyhakimov9144
    @hasanboyhakimov9144 2 ปีที่แล้ว +1

    감사합니다👏👏

  • @Gyokujin
    @Gyokujin 3 ปีที่แล้ว

    좋은 공부 되었습니다!

  • @managerdo7437
    @managerdo7437 4 ปีที่แล้ว +4

    이제 금철형님이 아니라‥ 갓철형님이시다‥
    감사합니다 형님!

  • @eloe2003
    @eloe2003 3 ปีที่แล้ว

    항상 궁금했던 건데 감사합니당

  • @merope7910
    @merope7910 4 ปีที่แล้ว

    정말 감사합니다

  • @user-px8ji5zc9g
    @user-px8ji5zc9g 4 ปีที่แล้ว +26

    4:50초 대화창 만드시다가 테두리가 너무 얇게 나오시는분은 Image에 Pixels Per Unit Multiplier를 0.2로 수정하시면 됩니다

  • @mns3105
    @mns3105 4 ปีที่แล้ว +3

    형이 진짜 최고야

  • @xjinbro
    @xjinbro 2 ปีที่แล้ว

    탑다운 2D RPG를 볼트로도 만드는법을 배우고 싶네요:) 골드메탈님 영상 잘 보고있어요:)

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว +1

      감사합니다. 이 강좌는 올해 새로운 버전으로 리뉴얼 예정이지만 볼트로는 아직 계획이 없다는 점 말씀드립니다.

  • @czteamlove
    @czteamlove 3 ปีที่แล้ว +4

    UI Panel 얇게 나오시는분들은 스프라이트 Pixels Per Unit을 100->16으로 해주시고, 늘렸을때 흐리게 나오시는분들은 스프라이트 Filter Mode를 Point(no filter)로 바꿔주세요!(TalkEnd스프라이트도 동일하게 해주시면 편합니다~)

  • @user-qh3wj9lm5f
    @user-qh3wj9lm5f 4 ปีที่แล้ว

    강의 감사합니다! (_ _)
    3:09
    3:38

  • @seunghwansa2303
    @seunghwansa2303 4 ปีที่แล้ว

    항상 좋은 강좌 올려주셔서 감사합니다. 혹시 게임 시작할때 나오는 타이틀(메인메뉴)화면 구현에 대한 강좌는 계획에 있으신가요? 씬 전환으로 구현을 해볼려고 하는데 이 방법이 맞는지조차 모르겠네요 ..

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว +2

      메인 화면은 UI 버튼과 텍스트, Image로 구성하여 만드시고
      버튼을 눌러서 본 게임으로의 이동은 SceneManager를 사용하시면 됩니다.
      이 두가지는 모두 1부에서 다루었으니 확인해보세요.
      1. UI : th-cam.com/video/k4YUJy-otDs/w-d-xo.html
      2. 씬 이동 : th-cam.com/video/pTc1dakebow/w-d-xo.html

    • @seunghwansa2303
      @seunghwansa2303 4 ปีที่แล้ว

      @@goldmetal좀더 둘러보고 여쭤볼껄 그랬네요 ㄷㄷ 감사합니다!

  • @user-no6cs7fl1h
    @user-no6cs7fl1h 4 ปีที่แล้ว

    골드메탈님~ 영상 잘 보고 있습니다~! 혹시 유니티애즈와 구글 애즈 삽입하는 강좌는 올리실 생각 없으신가요~?ㅠㅠ ㅎㅎ

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว +1

      지금 당장은 계획에 포함되어 있지 않습니다. 좀 더 강좌가 진행된 후 고려해보겠습니다.

  • @user-sd7fh3ty9i
    @user-sd7fh3ty9i 3 ปีที่แล้ว

    감사합니다 잘 보고있습니다!
    한참 전 영상이라 답해주실진 모르겠지만 배우면서 궁금한게 있습니다.
    일반적으로 게임을 만들 때,
    프로젝트 전반에 걸쳐서 통합된 한개만 만들어서 사용을 하나요?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      네 프로젝트 하나에 게임 하나입니다.

  • @user-om3pg2hc1j
    @user-om3pg2hc1j 4 ปีที่แล้ว

    골드메탈님 늘 좋은 강좌 감사합니다. 제가 똑같이 게임을 만들던 도중에 2가지 문제가 생겼는데 답변 해주시면 감사할것 같습니다.
    1. pixel perfect camera를 작동시키면 카메라의 size가 일정 값으로 고정되는데 이걸 고칠 방법이 있을까요?
    2. bool 값은 언제 주로 사용하나요?
    늘 좋은 강좌 감사드립니다 :)

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      1.카메라 사이즈 변경은 Game 창에서 Free Aspect로 설정해주시면 됩니다.
      자세한 픽셀 카메라 설정은 유니티 공식 문서로 다루고 있으니 링크로 드릴께요.
      blogs.unity3d.com/kr/2019/03/13/2d-pixel-perfect-how-to-set-up-your-unity-project-for-retro-8-bits-games/
      2. bool 값은 보통 '플레이어가 죽었는가?', '퀘스트를 클리어했는가?' 같은
      단순 상태를 체크하기 위한 용도로 많이 사용합니다.
      로직을 구현할 때, 양자택일 (했는가,안했는가 - 있는가없는가 등등..)에 사용되니
      참고하시면 되겠습니다.

    • @user-om3pg2hc1j
      @user-om3pg2hc1j 4 ปีที่แล้ว

      자세한 답변 너무 감사합니다 ㅠㅠ

  • @user-nz9mt2ov5n
    @user-nz9mt2ov5n ปีที่แล้ว

    정말 잘 보고 있습니다. 조금 관계 없는 질문일수도 있는데 비쥬얼 스튜디오의 ui가 너무 이쁘고 깔끔해요. 그 설정하신 폰트와 설정방법 그리고 화면 설정 방법 알수 있을가요?

    • @goldmetal
      @goldmetal  ปีที่แล้ว

      폰트는 Consolas입니다. 위쪽 아이콘 메뉴는 우클릭하셔서 숨길 수 있어요. 대신 저장버튼도 숨겨지니까 저장하실 때는 Ctrl + S 혹은 Shift + Ctrl + S를 사용하셔야 합니다.

    • @user-nz9mt2ov5n
      @user-nz9mt2ov5n ปีที่แล้ว +1

      @@goldmetal 매번 답변 너무 감사합니다. 절 감동시켜서 죽일 생각이시군요 ㅠㅠ 대한민국에서 유니티로 게임 개발하고 싶은 사람들의 성지이십니다.

  • @shyboy5
    @shyboy5 2 ปีที่แล้ว +24

    21:53
    시작부터 jump 키를 누르지도 않았는데 대화창이 떠 있다
    -> 전역변수(public) 값이 GameManager 내의 isActive 값이 선언만 되고, 초기화가 안 됐기 때문!
    Image의 인스펙터(Inspector)창에서 큐브 모양 옆의 체크박스를 해제한다
    조사창 기능을 끝냈는데도, 대화창 부분이 사라지지 않는다.
    -> GameManager의 인스펙터(inspector) 창에서 Talk Panel에 Image(대화창 이미지)를 드래그 했는지, Talk Text에 Text(텍스트 출력)를 드래그 했는지 체크
    분명 32분짜리 영상인데, 한 파트 넘어갈때마다 디버깅 에러가 뜨니까 그것들 바로잡느라 거의 3~4시간 이상이 걸리네요.

    • @ispes1672
      @ispes1672 ปีที่แล้ว

      와 감사합니당!

    • @newvegas5129
      @newvegas5129 หลายเดือนก่อน

      talk panel에 이미지 드래그 했는지 꼭 확인하세요~~ 저도 이거때문에 계속 헤맴

  • @user-bs7gt5ti2r
    @user-bs7gt5ti2r 3 ปีที่แล้ว

    처음 게임 시작을 눌렀을 때 만 대화창이 안 사라지고 물체를 스페이스바로 2번 터치하면 사라지는데 처음 시작부터 대화창을 없애는 방법은 무엇인가요?
    그리고 강의 너무 재미있어요~~!!!

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว +1

      말씀하신 내용은 다다음 강좌에서 다룹니다. 감사합니다

  • @user-ls4fo7wg3i
    @user-ls4fo7wg3i 2 หลายเดือนก่อน +1

    골드메탈님 강의 잘 보고 있습니다!!
    3d 쿼터뷰 영상 보면서 캐릭터 움직임을 구현하고 이제 NPC 상호작용과 대화창을 작업 중인데 ..... 2d rpg 영상에 나온 조사 액션 스크립트를 넣으면 상호작용이 되는지 궁금합니다 ㅠㅠ

    • @goldmetal
      @goldmetal  2 หลายเดือนก่อน +1

      그럼요! 충분히 됩니다. 다만 이 강의는 Physics2D를 사용했는데
      3D 물리 공간에서는 Physics (2D만 빼면 됨) 를 사용해야 한다는 점만 주의해주세요

    • @user-ls4fo7wg3i
      @user-ls4fo7wg3i 2 หลายเดือนก่อน +1

      @@goldmetal 감사합니다!!

    • @user-ls4fo7wg3i
      @user-ls4fo7wg3i 2 หลายเดือนก่อน

      @@goldmetal 이 강의에서는 playeraction에 캐릭터 이동이랑 조사 액션이 다 들어갔는데
      그럼 쿼터뷰 영상 스크립트에 조사 액션 스크립트만 추가하나요 아니면 이동부터 조사까지 다 넣어야하나요?

    • @goldmetal
      @goldmetal  หลายเดือนก่อน

      @@user-ls4fo7wg3i 네, 레이캐스트를 통한 조사만 추가해주시면 됩니다.

  • @user-vr8kn4yt7k
    @user-vr8kn4yt7k 4 ปีที่แล้ว

    저 커서가 깜빡깜빡(생겼다 없어졌다) 하게 구현하려면 Invoke함수를 활용해도 괜찮아보이네요! 혹시 애니메이터에서도 생겼다가 사라졌다가 설정할수있나요?

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      물론 가능합니다. 애니메이션(Ctrl + 6)에서 Image 프로퍼티 추가하고 Color의 a값만 0, 1왔다갔다하시면 됩니다.

  • @user-tn5dy1nt6x
    @user-tn5dy1nt6x ปีที่แล้ว

    안녕하세요 선생님! 항상 좋은 강의 감사합니다 ㅎㅎ 대화창 따라하던 중 스페이스바를 광클?해야 나올까말까 하더라구요,, 나와도 또 광클해야 넘어가고,,이럴 땐 어디를 다시 고쳐야할까요?!

    • @goldmetal
      @goldmetal  ปีที่แล้ว +1

      Input과 연관된 로직은 FixedUpdate에 두면 프레임 차이에 의해 제대로 작동하지 않습니다.
      꼭 Update에 코드를 배치해주세요.

    • @user-tn5dy1nt6x
      @user-tn5dy1nt6x ปีที่แล้ว +1

      @@goldmetal 헉,,감사합니다..!!

  • @max7th
    @max7th 3 ปีที่แล้ว

    강좌 잘보았습니다. 픽셀 퍼팩트 카메라를 해제하면 미리보기와 실제 플레이가 동일하게 나오는데. 픽셀 퍼팩트를 켜면 플레이 시 게임 화면이 작게 나오며 위에 빨간 메세지가 써있네요. 어떤 옵션을 건드려야 할지 ㅠㅠ

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว +1

      해상도가 홀수라서 그렇습니다.
      Game창 외각을 마우스로 드래그하여 크기를 조절하면 에러가 사라지는 때가 있을겁니다.
      아니면 게임 창 좌즉 위쪽에 Free Aspect 클릭하시고 Fixed Aspect로 짝수 고정해설도를 설정하시면
      항상 에러가 나지 않으니 참고하세요.

    • @max7th
      @max7th 3 ปีที่แล้ว

      @@goldmetal 답변 감사합니다. 말씀하신대로 이것저것 해봐도 제가 아직 개념이 잡히지 않아서 그런지 잘 되지 않네요 ㅠㅠ
      뭔가 카메라가 두 개인것 처럼 게임 영역을 비추는 카메라와 그 결과화면을 다시한번 뒤에서 비추는 카메라가 있는 듯한 현상이 나타나네요.
      일단 코딩과 게임 제작 원리는 워낙 설명을 잘해주셔서 쭉쭉 배우고 있습니다. 해결이 안되는 부분은 제 과제로 남기고 스스로 해결해 보겠습니다~!

  • @user-wm9df1pp6e
    @user-wm9df1pp6e 3 ปีที่แล้ว

    질문 있습니다 혹시
    void 함수명(){
    함수1();
    //n초 동안 기다리기
    함수2();
    }
    같은 코드를 짜려고하는데 함수1을 실행하고 n초 후 함수2를 실행하게 하려면 어떻게 해야하나요?
    윈도우폼이랑 WPF에서는 sleep();를 쓰면 되는걸로 알고 있기는 하지만 유니티도 똑같은가요?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว +1

      유니티는 코루틴 혹은 Invoke() 함수를 사용하면 됩니다.
      Invoke("함수이름", 딜레이시간); 이렇게 들레이만큼 늦게 호출하구요,
      코루틴은 아예 새로운 코루틴함수를 만들어서 원하는대로 딜레이를 줄 수 있습니다.
      코루틴에 대한 정보는 아래 링크에서 확인하실 수 있습니다.
      m.blog.naver.com/PostView.nhn?blogId=pxkey&logNo=221296053953&proxyReferer=https:%2F%2Fwww.google.com%2F

    • @user-wm9df1pp6e
      @user-wm9df1pp6e 3 ปีที่แล้ว

      @@goldmetal 넵 감사합니다

  • @고라니
    @고라니 3 ปีที่แล้ว

    public GameObject ???;
    이라 하면 ???는 스크립트를 포함하고 있는 오브젝트가 되는 건가요?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      스크립트 뿐만 아니라 그 오브젝트가 가지고 있는 컴포넌트도 포함되어 있답니다.

  • @yuriru
    @yuriru 3 ปีที่แล้ว

    갑자기 게임을 실행하면 ArgumentException: Input Button Sumbit is not setup.
    To change the input settings use: Edit -> Settings -> Input 이라는 오류가 계속 뜨고 카메라도 시작하면 설정이 바뀌는데 어떻게 해야 되죠?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      Submit 입니다. 철자 잘 확인해주세요

  • @user-gj7ff2jp7i
    @user-gj7ff2jp7i 7 หลายเดือนก่อน +1

    골드메탈님 영상을 따라하다가 빨간문구가 떠서 질문드립니다!
    Rendering at an odd-numbered resolution (1033 * 514) Pixel Perfect Camera may not work properly in this situation
    Screen resolution is smaller than the reference resolution. image may appear stretched or cropped
    뭐가 문제일까요..

    • @goldmetal
      @goldmetal  7 หลายเดือนก่อน

      Game 창의 해상도가 홀수라서 발생하는 문제입니다.
      Game창 모서리를 마우스로 살짝 드래그하여 짝수로 맞춰주시면 바로 해결됩니다.

  • @wolfisbest3400
    @wolfisbest3400 3 ปีที่แล้ว +1

    그 넥슨 무료 폰트를 다운받았는데 대화창에서 적용시키려면 어떻게 해야 되나요? 에셋안으로 압축 해제한 폴더를 넣었는데 그담은 어떻게 해야될지 모르겠어요 8:32 아 폰트 스타일이 아니라 폰트를 바꾸면 되네요! 근데 글자가 깨져 보여요 ㅠ 폰트 크기가 커지니깐 괜찮아 보이는데 이러면 별 상관없는거죠..?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว +1

      더 뚜렷하게 보이게 하려면 RectTransform의 scale을 줄이고 폰트 크기를 키우시면 됩니다

    • @wolfisbest3400
      @wolfisbest3400 3 ปีที่แล้ว

      @@goldmetal ㅇㅎ! 알겠습니다~!

  • @user-wy9lx6yi8f
    @user-wy9lx6yi8f 3 ปีที่แล้ว +4

    안녕하세요 메탈님~ 강의 너무 잘보고있다가 막히는점이 있어서 하나 여쭤봅니다.
    다름이 아니고 player오브젝트의 gamemanger 인스펙터에 gamemanger스크립트를 넣고싶은데 아무리해 도 안넣어지네요.. 왜이럴까요?
    Player를 제어하는 스크립트에서 public gamemanager manger선언도 했고..왜이러는지모르겠습니다.

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      타입이 달라서 그럴 수 있습니다.
      GameManager 대소문자 확실하게 입력하셨는지 확인해보세요.

    • @user-wy9lx6yi8f
      @user-wy9lx6yi8f 3 ปีที่แล้ว

      @@goldmetal 스크립트가 톱니바퀴아이콘이면 맞은거라생각했는데 한번 더 확인해보겠습니다. 감사합니다.

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      @@user-wy9lx6yi8f 변수 선언한 쪽을 확인해보세요

    • @user-wy9lx6yi8f
      @user-wy9lx6yi8f 3 ปีที่แล้ว +2

      @@goldmetal 앗..부끄럽습니다.. 포럼도 뒤져보고 하다가 설마 하는 마음으로 에셋이 아닌 계층구조에서 끌어다 넣으니까 되네요.. 왜 이걸 에셋에서 자꾸 끌어다 넣으려하다가 실수를 했는지 ㅠㅠㅠ 감사합니다

  • @gamedev.1166
    @gamedev.1166 4 ปีที่แล้ว

    감사합니다 ㅎ 아직 블로그에는 비공개글이군요ㅎ 그리고 이미지를 무료로 공개하신다는데
    그 라이센스 범위가 어떻게 되나요?? 제가 만든 게임이나 영상에 써도 되나염??

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      공개했습니자. 상용으로만 사용하지 안으시변 됩니자. 개인용 교육용 과제용 졸업용 가능해요

    • @gamedev.1166
      @gamedev.1166 4 ปีที่แล้ว

      @@goldmetal 아 ㅎ 그럼 유튜브에는 쓰면 안되겠군요 ㅜ 답변 감사합니다 ㅎ

  • @Mureccan
    @Mureccan 4 ปีที่แล้ว +1

    안녕하세요? 골드메탈님 영상을 챙겨보며 게임을 만드는 중에 해결이 안되는 부분이 있어서 질문드립니다. 탑다운 게임 강좌를 토대로 벨트스크롤 방식의 게임을 제작중입니다. 제가 여쭙고 싶은 부분은 raycast2D의 문제인데요, 분명 layerMask 옵션에 getMask 인자로 "Entity" 레이어를 삽입했지만, 플레이어가 인식이 되어버립니다. NameToLayer로도 해보았는데 이것도 플레이어를 거르지않고 인자로 준 것과 플레이어를 둘다 인식해서 처리가 되는 것 같습니다. 플레이어의 레이어는 "Player"로 설정해둔 상태고 다른 레이어로 "Item"을 시도했을 때에도 아이템이 존재하지않으면 "이것은 "Player" 입니다."가 출력되는데 해결 방안을 조언해주셨으면 합니다.

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      RayCast2D 매개변수 개수가 3개인지 확인하시고, 맨 마지막으로 받는 매개변수가 레이어인덱스가 맞는지 확인이 필요합니다.
      괄호 안에 ctrl +스페이스바 하면 자동완성으로 현재 오버로드된 함수가 뜨니 이걸로 확인해보시면 됩니다. 그래도 안된다면 레이어 인덱스를 확인하시고 직접 숫자로 넣어보세요.

    • @Mureccan
      @Mureccan 4 ปีที่แล้ว

      @@goldmetal 레이어 인덱스도 시도해보려고했는데, 인자로 int 형을 받는다고 되어있어서 int 형 변수를 생성하고 인자로 넣기, 바로 숫자 넣기 해보았는데 둘다 string 타입을 float 형으로 바꿀 수 없다고 뜨고 float 타입으로 넣었을 경우 int 형으로 바꿀 수 없다고 뜨더군요.. 타입 변환도 해봤는데 안먹혀서 당황스러웠어요... ㅋㅋㅋ 해보고 안되면 다른 방식으로 처리해야겠네요 ㅠㅠㅠ

  • @user-fs1gl7rt5f
    @user-fs1gl7rt5f 4 ปีที่แล้ว

    이 스프라이트도 게임 만들때 사용해도 되나요?

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      상업적인 용도만 아니면 됩니다.

  • @R5dongja
    @R5dongja ปีที่แล้ว +1

    넥슨폰트 유니티에서 인식 못하는경우는 제목을 간단하게 바꿔보세요 특수문자같은거 들어가면 인식 못하는것 같습니다

  • @user-rw8bj1zw3r
    @user-rw8bj1zw3r 3 ปีที่แล้ว +1

    다른건 괜찮은데 실행을 하자마자 대화창이 떠서 다른 걸 한 번 조사해야지만 없어지네요.... 시작하자마자 나오는 대화창 없애는 방법 없을까요?
    + 아, 그리고 NullReferenceException: Object reference not set to an instance of an object
    이 오류는 문제는 안 되는데 계속 뜨는게 거슬리네요ㅠㅠ 이건 왜 뜨는건가요?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      그 에러메세지 더블클릭하면 에러난 위치로 안내해줍니다.
      그 곳에서 사용된 변수가 Null이란 이야기니 한번 확인해보세요.
      public 변수면 인스펙터 창에서 초기화하지 않는 경우가 많습니다.

  • @Ohtaesic2
    @Ohtaesic2 4 ปีที่แล้ว

    아 그리고 Ui가 씬창에서는 틀과 텍스트를 제대로 맞쳐놨는데 게임창에서 인벤토리 텍스트나 슬롯창들이 이탈을 하는데 방법이 있을까요?

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      개네들이 틀 안에 안들너가있너서 그렇습니다. 계층구조(하이어라키) 창에서 그래드로 틀 안에 넣어주세요.

  • @user-tc6lq5wg9k
    @user-tc6lq5wg9k 11 หลายเดือนก่อน +1

    안녕하세요 강의 잘보고있습니다.
    게임을 완성하는게 가능할지는 모르지만 일단 도전해보고자 합니다.
    그런데 골드메탈님이 올려주시는 에셋스토어 에셋들에는 "강좌 외에도 개인 학습용, 과제, 상용 프로젝트에도 자유롭게 사용하실 수 있습니다."
    "골드메탈 출저만 표기하는 전제 하에 자유롭게 사용 가능합니다.(상용 가능)"
    이런식으로 적혀있는데
    여기 영상 답글에는 "공개했습니자. 상용으로만 사용하지 안으시변 됩니자. 개인용 교육용 과제용 졸업용 가능해요" 라고 써있네요
    아무래도 에셋스토어에 적힌게 더 최신이고, 공유되는 직접적인 곳에 쓰여있는것이니까 상용 가능하다는 뜻일까요?
    그리고 상용이라는건 제작된 게임을 유료로 판매해도 상관이 없다는뜻이 맞을까요?

    • @user-tc6lq5wg9k
      @user-tc6lq5wg9k 11 หลายเดือนก่อน +1

      너무 제 취향으로 잘만드셔서 꼭 사용할수 있었으면 좋겠습니다~!

    • @goldmetal
      @goldmetal  11 หลายเดือนก่อน

      네 제 에셋은 수정, 편집, 상용 프로젝트, 교육 자유롭게 사용하실 수 있습니다.
      멋진 작품 만드시고 꼭 성공하시길 바랍니다! 🤗

  • @Prostie_
    @Prostie_ 4 ปีที่แล้ว

    유니티 이 영상으로 독학하는 사람이 비주얼 노벨을 성공적으로 만들 수 있을까요?

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      이 강좌는 쯔꾸르 기본 바탕만 다뤘기 때문에 이벤트 흐름, 컷씬 등은 직접 알아보시고 구현하셔야 합니다. 노벨은 무엇보다 스토리와 원화가 대부분 차지하는 장르라 성공여부는 여기에 얼마나 치중하느냐에 따라 다르겠네요. 모쪼록 좋은 결과 있기를 바랍니다.

    • @Prostie_
      @Prostie_ 4 ปีที่แล้ว

      @@goldmetal 감사합니다!

  • @kyungwon17
    @kyungwon17 ปีที่แล้ว

    TextMeshPro를 쓰니까 텍스트가 이미지에 가려져서 안보이는데 해결할 수 있는 방법이 있나요? Legacy의 Text를 사용할 때는 문제없이 작동하고, 이미지의 z좌표를 조정해보았는데도 여전히 텍스트가 보이지 않습니다.

    • @kyungwon17
      @kyungwon17 ปีที่แล้ว +1

      해결했습니다. 그냥 배경색이랑 글자색이 같은거였네요...

  • @user-gg3su1uw7y
    @user-gg3su1uw7y 4 ปีที่แล้ว

    대화창 만들때 픽셀 퍼 유닛 16으로 맞춰야 하네

  • @user-zx3bw7in6h
    @user-zx3bw7in6h ปีที่แล้ว

    잘 시청하고 있습니다! 다만 대화창을 열거나 닫는 키를 연달아 누를 때, 종종 아예 인식이 안 되는 경우가 발생하네요. 이런 경우는 어떻게 해결하면 좋을까요?

    • @goldmetal
      @goldmetal  ปีที่แล้ว +1

      빠르게 두 번 먹히지 않도록 일정 시간 동안 클릭이 안되게 막는 방법이 있습니다.
      bool isClicked 와 코루틴을 사용해서 클릭을 하면 짧은 시간동안 isClicked = true; 상태가 되고 이 때는 클릭 로직이 실행되지 않게 if(isClicked) return; 으로 막아줍니다. 이 코드 바로 아해에 isClicked = true; 와 StartCoroutine("ClickRoutine"); 이 있고 ClickRoutine 코루틴에서는 1초 정도 기다린 후 isClicked = false;로 되돌려주는 것을 해주시면 됩니다.

    • @user-zx3bw7in6h
      @user-zx3bw7in6h ปีที่แล้ว +1

      @@goldmetal 감사합니다! 우선은 레이캐스트+버튼 입력 부분을 Update로 옮겼더니 문제가 해결되었어요~~

  • @user-nw5og5pl5n
    @user-nw5og5pl5n 3 ปีที่แล้ว

    골드메탈님 저는 캔버스 만들면 모양이 달라요 ㅠㅠ 수정도 안되고
    위로 긴 직사각형 형태가 되거나 정사각형이 되는데 어떻게 해야하나요 1!?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      캔버스는 게임 카메라와 동일 한 크기를 가집니다.
      Game 창 크기를 모서리에서 마우스 드래그로 바꾸어보세요.

  • @espina1833
    @espina1833 ปีที่แล้ว

    뒤늦게 유니티 공부하는데 도움이 되고있습니다 골드메탈님
    그런데 튜토리얼을 진행하던 중 문제가 발생하여 질문드립니다.
    다름이 아니라 프로젝트를 저장한 후 프로젝트를 종료 후 다시 열었을 경우 ui가 안보이는 버그가 있는데 혹시 원인을 알 수 있을까요?

    • @goldmetal
      @goldmetal  ปีที่แล้ว

      왜 안보이는지부터 확인이 필요하겠네요. UI가 스크린 밖에 위치한건지 아니면 비활성화되어있는지 보시고 게임 실행시 보이도록 코드가 있는지 확인해보세요.

    • @espina1833
      @espina1833 ปีที่แล้ว +1

      @@goldmetal 현재 원인은 밝혀지지 않았지만 현상은 해결되었습니다. 그런데 프로젝트를 종료할 때 UI이미지의 위치가 조금 변경되는 현상이 가끔 발생하네요....ㅜ

    • @goldmetal
      @goldmetal  ปีที่แล้ว

      @@espina1833 유니티버전이 2022 LTS인데 2022.3.4f 이하라면 2022.3.6f 이상으로 덥데이트 해보시는 것을 추천드립니다.

  • @hinghungheng
    @hinghungheng ปีที่แล้ว

    이번 영상도 잘 봤습니다!
    한가지 질문할 것이 있는데요
    public Text talkText;로 작성하면 실행시 ’Text‘ does not contain a definition for ’text‘ and no accessible extension method ’text‘ accepting a first argument of type ’Text‘ could be found (are you missing a using directive or an assembly reference?)라는 오류가 발생하고
    public UnityEngine.UI.Text talkText;라고 작성해야지 오류가 나지 않고 정상작동 되더라구요 public Text talkText;로 작성하면 오류가 나는 이유가 무엇일까요...?

    • @goldmetal
      @goldmetal  ปีที่แล้ว

      12:10에서도 다루지만 using UnityEngine.UI; 네임스페이스를 추가해주셔야 UI관련 컴포넌트를 사용할 수 있습니다.

    • @user-kv5sk9qu5z
      @user-kv5sk9qu5z ปีที่แล้ว

      @@goldmetal 알려주신 대로 using UnityEngine.UI;를 추가해도 똑같은 오류가 뜨는데 어떡해야하나요?

    • @goldmetal
      @goldmetal  ปีที่แล้ว

      @@user-kv5sk9qu5z 그것은 지금 만들어주신 텍스트가 TextMeshPro라서 그렇습니다. 타입을 TextMeshProUGUI로 바꾸시거나 아예 장면에 만들어 두신 Text를 UI > Legacy > Text로 바꿔주세요.

    • @Sangja_
      @Sangja_ ปีที่แล้ว

      @@user-kv5sk9qu5z TextMeshPro를 그대로 사용하려면 using TMPro; 를 추가한 뒤 public TextMeshProUGUI 로 사용하시면 됩니다

  • @rqse728
    @rqse728 4 ปีที่แล้ว

    골드메탈님! 첫 대사는 잘 나오는데 다음 대사부터는 NullReferenceException오류가 scanObject가 null이라면서 스페이스바를 아무리 눌러도 안넘어갑니다. 어떻게 해야 할까요??

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      첫 대사 이후 scanObject == null 해버리는 코드가 있는지 확인해보세요.
      누가 이 코드를 실행하는지 역추적해보셔야 합니다.

    • @rqse728
      @rqse728 3 ปีที่แล้ว

      @@goldmetal 감사합니다😀😀

  • @user-hk6hm1ig5q
    @user-hk6hm1ig5q 3 ปีที่แล้ว

    골매님 강의 언제나 감사합니다.
    15:44 데이터 전달부분에서 막혀서 질문 드립니다.
    Ray는 문제없이 나가고 있는데 대화를 하려고 스페이스를 눌러도 아무런 반응이 없습니다.
    때때로 play를 하면 이전까지 움직일 수 있었던 플레이어도 움직일 수 없게 됩니다. ㅠㅠ 피드백 부탁립니다....
    //Ray
    Debug.DrawRay(rigid.position, dirVec * 0.7f, new Color(1,0,0));
    RaycastHit2D rayHit = Physics2D.Raycast(rigid.position, dirVec, 0.7f, LayerMask.GetMask("Objeat"));
    if (rayHit.collider != null)
    scanObject = rayHit.collider.gameObject;
    else
    scanObject = null;
    //Scan Object
    if (Input.GetButtonDown("Jump") && scanObject != null)
    manager.Action(scanObject);
    }
    //talkText(Game Maniger)
    public void Action(GameObject scavObj)
    {
    scanObject = scavObj;
    talkText.text = "이것의 이름은" + scanObject.name + "이라고 한다.";
    }

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      스페이스바 눌렀을 때 콘솔창에 에러가 나타나는지부터 확인이 필요하겠네요.
      콘솔창 한번 확인해보세요.

    • @user-hk6hm1ig5q
      @user-hk6hm1ig5q 3 ปีที่แล้ว

      @@goldmetal The referenced script (Unknown) on this Behaviour is missing! 이라는 에러가 나타나고 있습니다.

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      @@user-hk6hm1ig5q 인스펙터에서 보시면 아마 Script로만 되어있고 에러표시가 나있을겁니다. 전체적으로 컴파일에러 때문에 스크립트 인식이 안되는거니 중괄호 누락, 대소문자 오타로 인한 문제 찾아서 고쳐주세요. 고치고 나서 다시 원래대로 스크립트 집어넣으시면 될겁니다

    • @user-hk6hm1ig5q
      @user-hk6hm1ig5q 3 ปีที่แล้ว

      @@goldmetal 알바 끝나고 돌아와서 몇 시간 동안 붙잡고 있습니다 만 해결 못하고 있습니다.
      콘솔 창에 뜨던 에러는 해결 했습니다 만 아직도 스페이스 바를 눌러도 텍스트에 변화가 없습니다. 혹시 몰라서 몇 번에나 오타 찾아보았고 아예 스크립트를 갈아 엎은 뒤 다시 해보기도 하였습니다만 해결되지 않습니다.
      이동이나 애니메이션, 레이 등은 문제 없이 진행되고 있는데 데이터 전달이 해결 되지 않네요. ㅠㅠ

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      @@user-hk6hm1ig5q 프로젝트폴더 통째로 zip 압축하셔서 gold_metal@naver.com 으로 보내주시면 점검해드리겠습니다.

  • @user-ik2lj7no5t
    @user-ik2lj7no5t 2 ปีที่แล้ว

    혹시 게임 개발에 써도 되는 무료 폰트 아시는게 있으시면 추천 해주실 수 있나요?

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      배달의민족의 주아체, 도현체와 도트느낌의 네오둥근모꼴이 있습니다.
      neodgm.dalgona.dev/

  • @조폐
    @조폐 2 ปีที่แล้ว

    에셋 스토어에 있는 스탠다드 에셋-TPS 컨트롤러 를 사용해서 3D로 만들고 있는데 3D일때는 npc대화를 어떻게 해야할까요... UI는 다 만들었는데 PlayerAction 스크립트가 완전 달라서 어떻게 해야할지 모르겠네용 ㅠㅠ

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      별도의 스크립트 (SearchAction.cs 같이) 를 만드시고 그걸 플레이어에 붙인 다음
      이 스크립트의 FixedUpdate에서 레이캐스팅을 쏴서 진행하시면 되겠습니다.
      물론 3D월드이므로 Physics2D 가 아닌 Physics의 레이캐스트를 사용하셔야 하고
      키 입력은 PlayerInput 에서 Action키를 따로 생성하시면 좋겠네요.

    • @조폐
      @조폐 2 ปีที่แล้ว

      @@goldmetal player input이 player 를 조종하는 cs맞나요;;??

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      @@조폐 그 컴포넌트에 연결된 Input Data 말씀드리는겁니다.

  • @nulbow7586
    @nulbow7586 3 ปีที่แล้ว

    쿠키런폰트 상업적으로 사용해도 돼나요?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      네 가능합니다~

  • @Gorosi_Jeonmun
    @Gorosi_Jeonmun 2 ปีที่แล้ว +2

    궁금한게 있는데요 그 최신버전 유니티는 TextmashPro만 있던데, 그걸로 해도 상관없나요?

    • @user-zi2kf1wz6k
      @user-zi2kf1wz6k 2 ปีที่แล้ว +1

      using TMPro; 추가하시고 public 변수를
      public TMPro.TMP_Text talkText; 이렇게 선언하니까 인자 추가가 되네요

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      윗분 말씀대로 하시면 되고, 제 강좌대로 하실려면 UI > Legacy > Text를 사용하시면 됩니다.

    • @Gorosi_Jeonmun
      @Gorosi_Jeonmun 2 ปีที่แล้ว

      @@goldmetal 감사합니다

  • @고라니
    @고라니 3 ปีที่แล้ว

    pixel perfect가 뭔가요? 1:38

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      크기가 작은 픽셀아트, 도트 스타일의 이미지가 깨지지 않도록 잡아주는 기능입니다. 이 내용은 B20 마지막 챕터에서 다루었어요

  • @user-bs7gt5ti2r
    @user-bs7gt5ti2r 3 ปีที่แล้ว

    골드메탈님 하다가 물체를 scan했더니 이런게 나오는데 어떻게 하나요??
    NullReferenceException: Object reference not set to an instance of an object
    playeraction.Update () (at Assets/script/playeraction.cs:71)

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      playeraction.cs

    • @user-bs7gt5ti2r
      @user-bs7gt5ti2r 3 ปีที่แล้ว

      해결이 됐습니다
      매번 감사합니다.

  • @ironbear7854
    @ironbear7854 2 ปีที่แล้ว +1

    와 감사합니다 사시는 동안 많이 버세요 ㅠ

  • @wolfisbest3400
    @wolfisbest3400 3 ปีที่แล้ว

    저 근데 오브젝트(NPC,책상,상자)를 플레이어가 충돌되지 않고 그냥 지나가는데 콜라이더를 넣으면 해결되는 거 아닌가요..?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว +1

      네 해결됩니다.

  • @user-xw1hh4bl8m
    @user-xw1hh4bl8m 11 หลายเดือนก่อน

    골드메탈님 대화창 끝나고 비밀번호창을 띄우고 싶은데 어떻게해야할까요?? ㅠㅠㅠㅠ

    • @goldmetal
      @goldmetal  11 หลายเดือนก่อน

      비밀번호 입력은 InputText 컴포넌트를 사용하시면 됩니다.
      using UnityEngine;
      using UnityEngine.UI;
      public class PasswordInput : MonoBehaviour
      {
      public InputField passwordInputField; // Inspector에서 InputField를 할당해야 합니다.
      private void Start()
      {
      // InputField의 inputType을 Password로 설정하여 패스워드 모드로 변경합니다.
      passwordInputField.inputType = InputField.InputType.Password;
      }
      public void OnSubmitButtonClicked()
      {
      string password = passwordInputField.text;
      Debug.Log("Entered password: " + password);
      // 여기서 패스워드를 검증하거나 다른 작업을 수행할 수 있습니다.
      }
      }

  • @user-ek9dp4fu1s
    @user-ek9dp4fu1s 3 ปีที่แล้ว

    if(Input.GetButtonDown("Jump") && scanObject != null);
    {
    Debug.Log(scanObject);
    manager.Action(scanObject);
    }
    이런 식으로 썼는데 시작하자마자 로그도 계속뜨고 매니저의 액션도 계속 돼서 무한 반복이 됩니다...

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      if문 끝에 ; 세미콜론 빼주세요.

    • @user-ek9dp4fu1s
      @user-ek9dp4fu1s 3 ปีที่แล้ว

      @@goldmetal 아 제가 그걸 못봤었네요

  • @user-xv1se1gt9w
    @user-xv1se1gt9w 4 ปีที่แล้ว

    게임창의 검은색으로 잘리는 부분은 어떻게 없애는 거죠?

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      게임의 고정 해상도 때문에 레터박스가 생기는 것입니다.
      Free Ratio로 하시면 공백없이 가득 보여줍니다.

  • @damo07
    @damo07 4 ปีที่แล้ว

    엔드 커서 AnimationEvent에 함수 이름이 지정되지 않음! 이라는 오류가 뜨는데 어떻게 해야할까요 분명히 영상대로 했는데..ㅠㅠ

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      해당 영상에서는 AnimationEvent를 사용하지 않았습니다
      애니메이션에 AnimationEvent가 걸려있는지 확인해보세요

    • @damo07
      @damo07 4 ปีที่แล้ว

      @@goldmetal 넵! 한번 볼께요!

  • @damo07
    @damo07 4 ปีที่แล้ว +4

    19:00 골메탈님 저는 한번
    public void SetAct()
    {
    talkPanel.SetActive(IsTalking);
    }
    public void Action(GameObject scanOBJ)
    {
    if (IsTalking == true)
    {
    IsTalking = false;
    }
    else
    {
    IsTalking = true;
    ScanOBJ = scanOBJ;
    TalkText.text = "이것의 이름은 " + ScanOBJ.name + "(이)다.";
    }
    SetAct();
    }
    이렇게 함수로 만들어서 해봤어요. 이렇게 해도 괜찮나요?

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว +3

      네 잘하셨네요 😊

    • @damo07
      @damo07 4 ปีที่แล้ว

      @@goldmetal 넵 ㅎㅎ

  • @user-xy8km4zd1e
    @user-xy8km4zd1e 3 ปีที่แล้ว

    y축 지정 판넬 부분에 하나 복사 하고 지정 한 뒤 마지막(20초 부분)에 엔터를 치면 저~ 뒤에 키프레임 하나 더 생기던데 왜 생기는건가요?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      정확히 어떤 내용인지 잘 이해가 가지 않습니다.
      애니메이션 내용을 말씀하시는건가요?

    • @user-xy8km4zd1e
      @user-xy8km4zd1e 3 ปีที่แล้ว

      @@goldmetal 넵 애니메이션 창에 들어가고
      Add property로 anchored position 생성하고 타임 조정?하는 곳에 생긴 키프레임을 복사해 0, 10자리에 두고 y포지션을 각각 조정 -> 20초 자리에 엔터후 생긴 키프레임도 마지막으로 조정 했는데
      저어 뒤에 뜬금없이 키프레임이 하나가 더 생기더라구요
      설명이 이상한점 양해부탁드립니다...ㅠ

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      @@user-xy8km4zd1e 원래 프로퍼티 추가하면 1분대 정도쯤에 마무리 키프레임이 자동으로 추가됩니다.

    • @user-xy8km4zd1e
      @user-xy8km4zd1e 3 ปีที่แล้ว

      @@goldmetal 감사합니다~

  • @Lee-yt4rf
    @Lee-yt4rf ปีที่แล้ว

    대화창 ui를 만들고 다운로드 해서 유니티로 가져오는데 이미지 아래 그림자 색깔이 이상하게 바뀝니다.

    • @goldmetal
      @goldmetal  ปีที่แล้ว

      그럴 일은 없겠지만 UI 스프라이트 선택하시고 인스펙터 창에서 맨 아래 Color부분에 Compressed가 None이 아니라면 None으로 설정해주세요.

  • @user-vw4pb4ow4k
    @user-vw4pb4ow4k 4 ปีที่แล้ว

    시작할 때에 UI가 꺼지지 않고 켜진 채로 시작합니다. 이후 동작을 시행해야 적용이 되는데 어떻게 해야 할까요?

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      인스펙터 창에서 미리 비활성화 (맨 위쪽 이름 옆 체크박스)를 하시면 됩니다.

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      @이민수 플레이버튼 눌렀을 때 Ui 오브젝트가 자동으로 체크되어 활성화 되어있다는 말씀인가요?

  • @user-yd5ur6kk2d
    @user-yd5ur6kk2d 2 ปีที่แล้ว

    똑같이 다 따라했는데 이느펙터 상자 옆 image버튼을 끄고 오브젝트 앞에서 스페이스를 누르면 작동은 하는데 대화창이 안 뜨고 image를 키면은 보이는데 껐을때 왜 대화창이 안 뜨는걸까요... 이거 때문에 너무 답답하네요 ㅠㅠ

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      대화창의 Image는 따로 활성화 비활성화하지 않습니다. 활성화 컨트롤은 Image를 포함한 대화창 오브젝트임을 확인해주세요. Iamge 컴포넌트를 비활성화 하면 오브젝트를 활성화해도 보이지 않습니다.

    • @user-yd5ur6kk2d
      @user-yd5ur6kk2d 2 ปีที่แล้ว

      @@goldmetal canvas 아래에 image를 인스펙터 밑 박스를 체크해제 하고 하는게 맞는거 같은데 왜 안되는지 모르겠네요 골드메탈님도 끄고 진행하시던데 왜 제꺼는 안되나요 ㅠㅠ

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      @@user-yd5ur6kk2d 코드에서는 게임오브젝트의 SetActive()로만 활성화/비활성화하고 있어서 이미지와는 관련이 없습니다. 혹시 지금 말씀하신 부분의 시간대가 어디인지 알려주실 수 있을까요?

  • @user-wh8yb3xn2c
    @user-wh8yb3xn2c 2 ปีที่แล้ว

    첫부분인 디버그로 이것은 무엇이다 라고하는건 잘 됬는데 그 뒤에
    1 UnassignedReferenceException: The variable talkPanel of GameManager has not been assigned.
    You probably need to assign the talkPanel variable of the GameManager script in the inspector.
    GameManager.Action (UnityEngine.GameObject scanObj)
    2 NullReferenceException: Object reference not set to an instance of an object
    GameManager.Action (UnityEngine.GameObject scanObj)
    이렇게 두가지 오류가 떠요 인스펙터는 다 채웠습니다

    • @user-wh8yb3xn2c
      @user-wh8yb3xn2c 2 ปีที่แล้ว

      하나는 플레이어움직임 스크립트에 manager.으로 시작되는거랑
      하나는 게임매니져에 텍스트랑 이프문 밖의 패널 !Axtion 껏다켜는거 동작 오류같은데..똑같이해서 뭔문제인지 모르겠어요

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      일단 플레이어 오브젝트 선택 후, 인스펙터 창에 GameManager 넣어주셨는지 확인이 필요하겠습니다.

    • @user-wh8yb3xn2c
      @user-wh8yb3xn2c 2 ปีที่แล้ว

      @@goldmetal 넣어져있습니닷

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      @@user-wh8yb3xn2c NullException 에러메세지 더블클릭해서 어느 줄에 문제가 있는지 살펴보는 것이 좋겠습니다. 그 줄에 사용된 변수를 살펴보셔야 해요

  • @Ohtaesic2
    @Ohtaesic2 4 ปีที่แล้ว

    ui 텍스트를 작업하는데 그리드 칸에 자동으로 맞쳐져서 제 마음대로 위치를 지정할수가 없습니다. 어떻게 해결해야하나요?

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว +1

      UI 가 그리드에 맞춰진다는게 이상하네요.
      UI는 Canvas 오브젝트 안에 있어야하니 계층구조 확인해보세요.

    • @Ohtaesic2
      @Ohtaesic2 4 ปีที่แล้ว

      네 감사합니다

    • @Ohtaesic2
      @Ohtaesic2 4 ปีที่แล้ว

      사이즈가 너무 작으면 그리드에 맞쳐지는것 같습니다

  • @wolfisbest3400
    @wolfisbest3400 3 ปีที่แล้ว

    오브젝트랑 플레이어간의 그리고 외각경계선 충돌? 막히는 부분이 생기지 않아서 컴포넌트를 수정해서 해당 문제를 해결했는데 게임을 플레이하면 맵이 왼쪽으로 기울더니 플레이어가 왼쪽으로 움직이면 맵이 시계방향으로 그러니깐 플레이어가 움직이는 방향을 따라서 빙빙 도는 문제가 나옵니다..어떻게 해결해야 될까요..? 감이 안 잡혀서 진짜 도움이 필요해요..ㅠ 이게 다 확인해보니깐 레이어가 오브젝트인 NPC와 desk, box에 콜라이더를 넣어서 생긴 문제더라구요. 오브젝트에 있는 모든 콜라이더를 다 지우니깐 해당 문제가 발생하진 않고 다른 문제가 있는데 그게.. 플레이어가 오브젝트를 통과해버려서..완전 진퇴양난의 상황인데 어찌 하면 좋을까요..? 그리고 콜라이더를 지우면 레이 캐스트로 물체를 인식하지 못해서...텍스트 창이 반응을 못하네요..

    • @wolfisbest3400
      @wolfisbest3400 3 ปีที่แล้ว

      그리고 가끔 콘솔창에 NullReferenceException: Object reference not set to an instance of an object
      UnityEditor.GameObjectInspector.ClearPreviewCache () (at :0)
      UnityEditor.GameObjectInspector.ReloadPreviewInstances () (at :0)
      UnityEditor.GameObjectInspector.OnForceReloadInspector () (at :0)
      UnityEditor.Tilemaps.GridPaintPaletteClipboard:OnDisable() (at C:/Program Files/Unity/Hub/Editor/2020.3.0f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.2d.tilemap/Editor/GridPaintPaletteClipboard.cs:347)
      이게 뜨는데 디버그 영상을 참고하고 인터넷에 서핑을 해봐도 그리고 해당 링크로 가면 기본적으로? 생성된 스크립트 파일이 열리고..이 골치아픈 문제는 어떻게 해야 될까요?

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      단독 오브젝트에 콜라이더를 넣었는데 맵에 문제가 발생하는건가요?
      문제가 발생한 시점 그대로 두신 상태로 프로젝트 폴더를 zip으로 압축해서
      gold_metal@naver.com 으로 보내주시면 확인해보겠습니다.

    • @wolfisbest3400
      @wolfisbest3400 3 ปีที่แล้ว

      @@goldmetal 네엡! 감사합니다~!

    • @wolfisbest3400
      @wolfisbest3400 3 ปีที่แล้ว

      @@goldmetal 보냈습니다~!

    • @wolfisbest3400
      @wolfisbest3400 3 ปีที่แล้ว

      혹시 매일온 그 파일은 어떻게 여는건가요..? 압축해제는 했는데 그냥 새로 프로젝트 만들어서 에셋으로 드래그 했더니 안되가지고..

  • @jadelee0703
    @jadelee0703 3 ปีที่แล้ว

    골드메탈님 제가 데이터 전달까지 했는데 스페이스키를 누르면NullReferenceException이계속 뜨는데 어떡해야 하나요?
    (NullReferenceException: Object reference not set to an instance of an object
    MOVE.Update () (at Assets/Scenes/COde/MOVE.cs:91)
    이렇게 나옵니다)

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      MOVE 스크립트 91번째 줄에 있는 변수가 어떤 것인지 파악하시구
      그 변수를 역추적하셔서 왜 Null 값인지 확인이 필요합니다.

    • @jadelee0703
      @jadelee0703 3 ปีที่แล้ว

      @@goldmetal
      89 if (Input.GetButtonDown("조사") && scanObject != null)
      90 {
      91 manager.ACTION(scanObject);
      92 }
      이렇게 했습니다. public GameManager manager;도앞쪽에 했고
      GameManager에서 ACTION은
      public void ACTION(GameObject scanObj)
      {
      scanObject = scanObj;
      talkText.text = scanObject.name + "(이)다.";
      }
      이렇게 했습니다

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      @@jadelee0703 manager 변수 초기화를 안하신 모양입니다. 인스펙터 창가시면 mamger 변수가 비어있을거에요. GameManager를 끌어 넣어주세요

    • @jadelee0703
      @jadelee0703 3 ปีที่แล้ว

      @@goldmetal 이제 에러는 안나는데 1번 조사를하면 실행을 중지해야 대화창에 적용이돼고 그 다음에 또 다른걸 조사를하면 대화창이 안 바뀌고 전껄로 유지되네요.

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      @@jadelee0703 게임매니저 의 Text변수도 초기화 되어있는지 확인해보세요

  • @user-zi2kf1wz6k
    @user-zi2kf1wz6k 2 ปีที่แล้ว

    커서가 게임 실행후에 설정한곳에 위치하지않고 x460이라는곳으로 마음대로이동해버리는데 무슨문제일까요

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      커서 이미지의 앵커가 우측 모서리로 잡혀있는지 확인해보세요.
      애니메이팅 되는 속성도 그냥 포지션이 아닌 앵커드포지션입니다.

    • @user-zi2kf1wz6k
      @user-zi2kf1wz6k 2 ปีที่แล้ว +1

      @@goldmetal애니메이션 때문이엇군요
      애니메이선 다시 설정하면서 해결했습니다

  • @rianb6897
    @rianb6897 2 ปีที่แล้ว

    jump로 조사해보면 npc는 작동이잘되는데 다른쪽 바라보고 조사해보면 tilemap도 계속 인식이됩니다 ㅠㅠ 어떻게 고치는 법 없을까요?

    • @rianb6897
      @rianb6897 2 ปีที่แล้ว

      레이어는 npc를 제외한 나머지들은 다 default고 npc만 Object로 설정해놨습니다

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      걷어다니는 타일맵에는 콜라이더가 있으면 안됩니다.
      TileMap Collider가 있으면 제거해주세요

  • @달_팽
    @달_팽 2 ปีที่แล้ว

    6:50 알트랑 쉬프트 둘다 누르고해도 기준점이 내려가지않고 그냥 가운데에 있는데 어떻게 하나요 ㅠㅠ

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      앵커 Anchor를 눌러서 펼친 다음에 알트 쉬프트 해주셔야 합니다.

    • @달_팽
      @달_팽 2 ปีที่แล้ว

      ​@@goldmetal 펼치고 했는데 캔버스에서의 기준점만 변하고 컴포넌트의 기준점은 변하질 않네요ㅠ

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว +1

      @@달_팽 혹시 모르니 알트 대신 컨트롤 눌러보시겠어요?

    • @달_팽
      @달_팽 2 ปีที่แล้ว +1

      @@goldmetal 아아 위쪽메뉴에서 Toggle Tool Handle Position 을 변경하니깐 해결됐어요 !
      항상 강의 잘보고 있습니다 도와주셔서 감사합니다 ㅎㅎ..

  • @UCC36dBYIXbZbFu_Db9HPk0g
    @UCC36dBYIXbZbFu_Db9HPk0g 3 ปีที่แล้ว

    16:00 분 쯤에 이것의 이름은 player이라고 한다.이렇게 계속 뜹니다..이유를 잘 모르겠네요..

    • @goldmetal
      @goldmetal  3 ปีที่แล้ว

      레이캐스팅이 플레이어의 콜라이더에 먼저 닿아서 그렇습니다.
      RayCast의 첫번째 인자값 에 값을 1.1f 곱하거나 아예 플레이어 콜라이더 크기를 줄여보세요.

    • @UCC36dBYIXbZbFu_Db9HPk0g
      @UCC36dBYIXbZbFu_Db9HPk0g 3 ปีที่แล้ว

      @@goldmetal 감사합니다!

  • @user-ji8wn7dw7n
    @user-ji8wn7dw7n 4 ปีที่แล้ว

    오잉

  • @slayersuper2763
    @slayersuper2763 4 ปีที่แล้ว

    폰트가 조금 흐리듯이 깨져 있는데 어떻게 해결하나요?

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      Scale을 0.5로 줄이고 폰트를 키우면 뚜렷하게 됩니다.
      다만 이렇게하면 Anchor 잡기가 힘들어지니 참고 바랍니다.

  • @user-fr4rq2qy9u
    @user-fr4rq2qy9u 2 ปีที่แล้ว

    글자가 너무 흐리게 보이는데 어떡해야 하나요??

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      Text 오브젝트의 RectTransform에서 Scale을 모두 0.5로 낮추고
      대신 Font Size를 두배로 키우면 훨씬 또렷하게 됩니다.
      다만 이렇게 되면 Anchor Position 수치도 변하게되니 참고 바랍니다.

  • @user-tf7wx8xd5p
    @user-tf7wx8xd5p 4 ปีที่แล้ว

    만드는데 오류가 생겼는데 SetActive에 대한게 없어서 사용을 못한다고 하는데 왜 그럴까요?

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      해당함수는 gameObject 에 들어있습니다.
      다른 컴포넌트라면 .gameObject.SetActive(true) 이런 식으로 해보세요

    • @user-tf7wx8xd5p
      @user-tf7wx8xd5p 4 ปีที่แล้ว

      @@goldmetal 작동은되는데 대화창이 안사라져요

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      @@user-tf7wx8xd5p 대화창 위치는 애니메이션으로 실행되니까 애니메이션 로직 확인해보세요

    • @user-ji9oo7km2n
      @user-ji9oo7km2n 3 ปีที่แล้ว +1

      @@user-tf7wx8xd5p 그거 GameManager에 talkPanel 추가 됐을거에요 거기에 Image 대입시키면 됨

  • @durandjk7
    @durandjk7 4 ปีที่แล้ว

    픽셀퍼펙트 세팅을 어떻게 해야 게임창 스케일을 1로 두고도 검은 선 없이 저렇게 가까이 보이나요..?
    B20강에서 알려주신 대로 하면 스케일을 늘려야 했는데 그러면 UI 위치가 제대로 보이지 않습니다 ㅠㅠ

    • @goldmetal
      @goldmetal  4 ปีที่แล้ว

      강좌에서는 잘 보여드리기 위해서 스케일을 늘린 거구요,
      그래픽을 크게 보기 위해서는 그만큼 해상도를 작게 설정해주시면 됩니다.
      원하시는 화면 비율 먼저 결정하시고 그 비율에 맞게
      픽셀 퍼펙트 컴포넌트 해상도에 숫자를 넣어주시면 되겠습니다.
      (16:9 = 640:360 더 크게 보려면 480:270 이런 식으로)

    • @durandjk7
      @durandjk7 4 ปีที่แล้ว +1

      @@goldmetal 해상도를 변경해서 화면을 늘리면 검은 선이 계속 나타나는 문제가 생겼습니다만 레퍼런스 해상도에 체크하고 크롭 프레임을 x와y에 모두 체크하니 문제가 사라졌습니다! 늘 좋은 강의와 친절한 답변 감사드립니다! 나중에 게임을 제작하게되면 크레딧에 꼭 골드메탈님 닉네임을 넣고싶네요 ㅋㅋ

  • @Funbox_admin
    @Funbox_admin ปีที่แล้ว

    썸네일에 제이름이 있어서 잠시 방문함

  • @user-oi6qk3zv6d
    @user-oi6qk3zv6d 2 ปีที่แล้ว +1

    허허... 무려 3년이 지났지만 질문 드리는데 GameManager의 코드가 using System;
    public class GameManager : MonoBehaviour
    {
    public GameObject talkPanel;
    public Text talkText;
    public GameObject scanObject;
    public bool isAction;
    public void Action(GameObject scanObject)
    {
    if (isAction)
    {
    isAction = false;
    }
    else
    {
    isAction = true;
    scanObject = scanObj;
    talkText.text = "it is" + scanObject.name + ".";
    }
    talkPanel.SetActive(isAction);
    }
    }
    이고
    플레이어 코드는
    public class player : MonoBehaviour
    {
    public float speed;
    public GameManager manager;
    // Start is called before the first frame update
    void Start()
    {
    }
    // Update is called once per frame
    void Update()
    {
    Vector2 position = transform.position;
    if (Input.GetKey(KeyCode.A))
    {
    position.x += -1f * speed * Time.deltaTime;
    }
    if (Input.GetKey(KeyCode.D))
    {
    position.x += 1f * speed * Time.deltaTime;
    }
    if (Input.GetKey(KeyCode.W))
    {
    position.y += 1f * speed * Time.deltaTime;
    }
    if (Input.GetKey(KeyCode.S))
    {
    position.y += -1f * speed * Time.deltaTime;
    }
    if (Input.GetButtonDown("Jump") && scanObject != null)
    {
    manager.Action(scanObject);
    }
    transform.position = position;
    }
    }
    이렇게 돼있습니다... 자꾸 error 0103가 뜨는데 문제가 뭔지 확인 해주시면 감사하겠습니다(영상 잘 챙겨보고 있는 중1이랍니다^^)

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      scanObject 변수가 선언되어 있지 않습니다.
      위쪽 부분 변수 선언된 곳에 함께 선언해주세요.

    • @user-oi6qk3zv6d
      @user-oi6qk3zv6d 2 ปีที่แล้ว

      @@goldmetal 앗 그러네요 감사합니다^^

  • @user-hg2io7ib8e
    @user-hg2io7ib8e 2 ปีที่แล้ว

    8:00

  • @user-tt2ep7od2j
    @user-tt2ep7od2j 3 ปีที่แล้ว

    25:00

    • @user-tt2ep7od2j
      @user-tt2ep7od2j 3 ปีที่แล้ว +1

      처음엔 어렵고 이해가 안됐는데 자꾸 하다보니 쉽게 이해가되네요! 좋은 영상 감사합니다👍

  • @user-tp5sq1vc9h
    @user-tp5sq1vc9h 3 ปีที่แล้ว

    제가 질문할 것들이 많아서 메일로 보내드렸습니다! 확인하시고 답장해주시면 너무 감사하겠습니다!!

  • @GeeNyang
    @GeeNyang 2 ปีที่แล้ว

    17:00상태전환 강의부터 채팅패널 껐다 켜기를 배우고 있었는데 저는
    UnassignedReferenceException: The variable talkPanel of GameManager has not been assigned.
    You probably need to assign the talkPanel variable of the GameManager script in the inspector.
    GameManager.Action (UnityEngine.GameObject scanObj) (at Assets/Script/GameManager.cs:27)
    PlayerAction.Update () (at Assets/Script/PlayerAction.cs:78)
    이런 오류가 뜹니다. 분명 영상에서 놓친건 없었던 것 같은데...뭘 잘못했나요?

    • @goldmetal
      @goldmetal  2 ปีที่แล้ว

      게임매니저 27번 줄에서 문제가 발생하네요
      talkPanel 변수 때문이라면 해당 변수가 public인지, 인스펙터에서 초기화해주었는지 확인이 필요하겠습니다.

    • @GeeNyang
      @GeeNyang 2 ปีที่แล้ว +1

      @@goldmetal 인스펙터 문제였습니다. 항상 친절하게 답변해주셔서 정말 감사합니다!!