3D 쿼터뷰 액션게임 - 코루틴으로 근접공격 구현하기 [유니티 기초 강좌 B43]

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ต.ค. 2024

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

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

    항상 감사합니다 오늘도 좋은 하루 되십시오

  • @deuklyoungko5883
    @deuklyoungko5883 3 ปีที่แล้ว +5

    유니티 강의 중에는 골드메탈님 유튜브가 가장 좋은 것 같아요.

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

      감사합니다!

  • @kamisato3363
    @kamisato3363 4 หลายเดือนก่อน +1

    다시금 느끼는거지만 골메님 스크립트에는 객체화가 너무 잘 되어있어서 많이 배우고 있습니다

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

      솔직히 말씀드리면 이것도 정리가 덜 된 스크립트입니다 ㅠ
      다음 리뉴얼 때는 정말 멋진 캡슐화 스크립트로 찾아오겠습니다.

  • @이양-k7e
    @이양-k7e 4 ปีที่แล้ว +4

    항상 고맙습니다 ㅎㅎ 자료들이 준비되 있어서 무척 편해요
    골메님 항상 응원합니다

  • @DDRSDS0705
    @DDRSDS0705 3 หลายเดือนก่อน +3

    골드메탈님 항상 잘 보고 있습니다. 제가 문제가 하나 생겨서 그런데 무기나 이런 걸 줍지 않고도 기본적으로 펀치 하나를 가지고 있게 만들고 싶습니다. 제가 원하는 건 망치나 이런 것 없이 그냥 스윙 애니메이션만 재생하고, 마우스 클릭으로 주먹을 휘둘러서 상대를 공격하는 시스템입니다.
    아직 중1이다 보니 확실히 어려워서 여쭤봅니다.
    아 그리고 B-45 에서 물리엔진 고칠 때 벽 통과만 따로 어떻게 하고 싶은데 방법이 없나요?

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

      무기가 없으면 더 쉬워집니다.
      현재는 equipWeapon에 데이터가 있어야지 Attack이 되지만 이 if문을 빼도 되고
      그냥 공격키 (여기서는 Fire1)를 누르면 바로 공격 기능을 실행하고 주먹 공격 파라메터를 애니메이터에 전달해주면 됩니다.
      물론 애니메이터에는 캐릭터의 주먹 공격 애니메이션 상태를 추가하고 Transition으로 연결해주셔야 해요.
      두번째 질문은 제가 이해를 잘 못했습니다. 1번 문제 해결하시고 마음속으로 질문은 정리하신 후에 다시 질문주시면 좋겠어요

    • @DDRSDS0705
      @DDRSDS0705 3 หลายเดือนก่อน +1

      @@goldmetal 아 그럼 무기가 없을때엔 box collider가 어디에 들어가나요?
      그리고 두번째는 혹시 무기가 없어도 B-45 강좌에서 나온 물리엔진 버그를 고칠 수 있나요?

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

      @@DDRSDS0705 네 무기와는 상관없고 공격 범위는 캐릭터 부모 오브젝트 바로 아래 자식 오브젝트로 하나 추가해주시고 약간 몸통 앞쪽에 배치해두시면 됩니다.

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

    휴 여러 오류가 많이 났지만 오히려 코드를 해석하고 공부하게 되는 계기가 된 것 같아서 너무 좋았습니다 감사합니다!!

  • @여지호-l6f
    @여지호-l6f 4 ปีที่แล้ว +4

    많은 도움이 되고 있습니다 골드메탈님 꾸준히 저같은 초보 학생들을위해 올려주셔서 감사합니당~~😇😇

  • @뿌언-아무거나
    @뿌언-아무거나 4 ปีที่แล้ว +4

    와... 진도가 아직 여기까지 안오긴 했는데 엄청 재밌을 것 같네요 빨리 공부해서 여기까지 와야겠어요

  • @와비사비룸물질보다정
    @와비사비룸물질보다정 11 หลายเดือนก่อน +1

    좋은 강의 입니다
    코루틴 굿굿

  • @미래기관-z4k
    @미래기관-z4k 3 ปีที่แล้ว +8

    사소한 실수 하나 올려봅니다.
    코루틴 부분에 IEnumerator 로 해야 됩니다
    IEnumerable 로 하면 코루틴이 동작 안하니 주의하세용

    • @이성의
      @이성의 3 หลายเดือนก่อน

      감사합니다

  • @사하노라
    @사하노라 5 หลายเดือนก่อน +1

    구독하고 갑니다. 좋은 하루 되시길 바랍니다! 감사합니다!!

  • @치키차-p4i
    @치키차-p4i ปีที่แล้ว +1

    void OnTriggerStay(Collider other)에 있는 디버그 로그 없애니까 무기를 잘 휘두르네요!

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

    오늘도 좋은강의 감사합니다.

  • @김태영-s2w
    @김태영-s2w 10 หลายเดือนก่อน +2

    골든메탈님 저 4:09 박스 콜라이더의 모양 초록색 선이 안 보이는데 기즈모를 어떻게 켜야 하는 거죠?.

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

      하이어라키에서 오브젝트 선택하시고 인스펙터에서 컴포넌트를 펼치시면 됩니다.
      컴포넌트 이름 왼쪽의 화살표를 눌러서 펼치세요.
      안보인다면 Scene 창의 가장 오른쪽 위에 Gizmo 버튼 눌러서 활성화하시면 됩니다.

    • @김태영-s2w
      @김태영-s2w 10 หลายเดือนก่อน +2

      @@goldmetal아~~ 정말 감사합니다. ㅎㅎ

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

    많은 도움이 되고 있어요 너무너무 좋은강의 감사해요

  • @홍이-w7n
    @홍이-w7n ปีที่แล้ว +1

    좋은 강의 잘 들었습니다 감사합니다!

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

    Trail Renderer 컴포넌트를 껐어야 했는데 컴포넌트가 달린 Effect 게임 오브젝트 자체를 꺼놓아버려서 Trail Renderer 컴포넌트는 껐다 켜지는데 게임 오브젝트는 꺼져 있는 그대로라 트레일이 안 나왔었네요 ㅋㅋ

  • @김재현-v3f
    @김재현-v3f 2 ปีที่แล้ว +2

    저번에 리뷰해주신 3인칭 캐릭터 컨트롤 에셋을 이용해 강좌를 다시 리뉴얼하면 엄청날 것 같네요 ㄷㄷ

  • @사이다-i8x5m
    @사이다-i8x5m 3 ปีที่แล้ว

    최고에요!! 따라하고 있는데 너무 재밌어요!!

  • @안혜원-n8p
    @안혜원-n8p 3 ปีที่แล้ว +1

    골메님 좋은 강의 감사합니다!!

  • @최승원-t3u
    @최승원-t3u ปีที่แล้ว +1

    안녕하세요! 이번에도 정말 좋은 강의 감사드립니다!
    질문이 있어서 또 댓글을 달았습니다!
    동작 구현에는 아무 문제가 없는데 게임 플레이를 누르면 다음과 같은 창이 뜹니다!
    [Adaptive Performance] No Provider was configured for use. Make sure you added at least one Provider in the Adaptive Performance Settings.
    혹시 어떤 문제를 이야기하는 건지 알 수 있을까요?
    감사합니다! 좋은 하루 되세요!

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

      Mobile 템플릿으로 프로젝트를 생성하면 나타나는 에러입니다.
      Edit > Package Manager 가시면 Adaptive Performance가 있는데 이거 Remove해주시면 됩니다.

    • @최승원-t3u
      @최승원-t3u ปีที่แล้ว +1

      @@goldmetal 해결했습니다. 감사합니다!

  • @이양-k7e
    @이양-k7e 4 ปีที่แล้ว +1

    코루틴 강좌 어느 동영상보다 쉽게 이해가 됐습니다. 항상 감사합니다.
    근데 3d 애니메이션에선 콜라이더가 로직 없이도 움직이네요. 2d에서도 애니메이션에 콜라이더 이동을 끼울수 있나요?

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

      네 오브젝트가 움직이면 그 안에 포함된 컴포넌트도 같이 움직입니다.

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

    골드메탈님 강의도 0.75배 하니 딱이네요 잘 들립니다.

  • @gim-ori
    @gim-ori ปีที่แล้ว

    동시에 실행한다길레 스레드 개념 같은건가했는데 코루틴 이게 신기하게 작동하네요 와오 신개념이여

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

    "최고의 강의"

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

      감사합니다! 😄

  • @jin-r4f
    @jin-r4f 4 ปีที่แล้ว +1

    좋은 강좌 감사히 잘보고 있습니다 ^^ 다음 강좌는 언제 볼 수 있을까요?

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

      다음 주에 올라갈 예정입니다. 조금만 기다려 주세요

  • @김수-k2s
    @김수-k2s ปีที่แล้ว +1

    골드메탈님 이건 별거는 아닌데 혹시 비주얼 스튜디오 폰트를 어떤 거 쓰시는지 물어봐도될까요...? 영상보고 따라 할수록 메탈님이 쓰시는 폰트가 L과 I가 구분이 잘 돼 가지고 따라 쓰고 싶네요....

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

      Consolas 입니다! 제가 제일 좋아하는 코딩 폰트에요.

    • @김수-k2s
      @김수-k2s ปีที่แล้ว

      @@goldmetal 감사합니다!!

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

    24:20 여기서 실행하고 아이템을먹어도 장착(스왑,공격도)이안돼요!
    NullReferenceException: Object reference not set to an instance of an object
    Player.Swap () (at Assets/Scripts/Player.cs:174)
    Player.Update () (at Assets/Scripts/Player.cs:65)
    이렇게 나옵니다
    65번 Swap();
    174번 equipWeapon.gameObject.SetActive(true);

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

      도와주세요

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

      weapons 배열 변수에 플레이어 오른손에 들려준 무기들이 할당되어있는지 확인해보세요.
      인스펙터 창에서 보시면 됩니다.

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

      @@goldmetal 오 감사합니다. 고쳤네요~~

    • @남윤호-e2x
      @남윤호-e2x 2 ปีที่แล้ว

      @@goldmetal 딱 이문제에서 헤메고있는데 어디를 확인해야하는 건지를 모르겠어요;;;; 퍼블릭으로 인스펙터창에 있는 항목에 빈칸은 없는거처럼 보이는데 뭔가를 놓친건가요 아님 제가 엉뚱한 곳을 보고있는건지도 모르겠어요;;;

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

      @@남윤호-e2x 에러 메세지 더블클릭하면 에러난 위치로 안내해줍니다. 그 줄에서 사용된 변수가 무엇인지 파악하시고 왜 Null인지 확인해야합니다. 한번 어떤 변수인지 확인해보세요

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

    골드메탈님 항상 감사합니다 ㅎㅎ

  • @NB-up8fs
    @NB-up8fs 3 ปีที่แล้ว

    잘 보고 있습니다 정말 감사합니다

  • @초코맛누룽지
    @초코맛누룽지 4 ปีที่แล้ว

    근데 공격할 때 멈추는걸로 설정하면 점프하면서 때리는게 어색해서 조건을 if (isSwap || (!isFireReady && !isJump)) 이렇게 설정하는게 나을 것 같아요

  • @조폐
    @조폐 11 หลายเดือนก่อน +1

    player 스크립트에 GameObject weapon 이 부분을 사용하지 않고 작동할수는 없나요??

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

      지금 활성화된 무기가 어떤 것인지 플레이어 스크립트에서 정보를 가지고 있어야 하므로 필요합니다.
      다른 형식 (int) 로도 충분히 바꿀 수 있습니다.

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

    좋은 강의 감사합니다!! 예전 강의지만 질문 하나 드려도 될까요..? 21:24 부분 119번째 if문 조건중에서 IsFireReady 때문에 if문이 안돌아가네요…저걸 빼고 돌리면 실행이 됩니다 117번줄 문제인 것 같은데 딱히 오타나 잘못선언한건 찾을 수가 없어서 여쭤봅니다 어디를 뜯어봐야할까요..?ㅠrate값도 넣어줬습니다..

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

      Attack() 함수가 Update에서 호출 중인지 확인이 필요하겠습니다.

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

      @@goldmetal감사합니다!! update문에서 호출을 잘못하고있었네요 답변감사합니다

  • @유정여-g5k
    @유정여-g5k 4 หลายเดือนก่อน +1

    항상 잘보고있습니다 근데 공격이 안돼요ㅠㅠ
    이유도 없고 20번 돌려보아도 이유를 모르겠어요ㅠㅠ
    Unity 버젼 문제인가요 에러도 안떠요 ㅠㅠㅠ

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

      워낙 기초적 내용이라 버전과는 상관없습니다.
      일단 실행하고 공격을 눌렀을 때 에디터 아래에 에러 메세지가 나오는지부터 확인해보세요

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

    골드메탈님 ! 영상 잘보고있어요 강의 감사합니다.
    마지막로직이 공격중에는 이동이 안되는로직인데
    점프 공격중일때도 이동이 정지되네요
    저는 점프공격일떄는 되게 하고 싶은데
    if (!isFireReady)
    if (isJump)
    return;
    moveVec = Vector3.zero;
    이런식으로 썻더니 똑같네요.. 어떻게 하면될까요?

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

      if (isJump) return;
      이걸 빼주시면 됩니다.

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

    안녕하세요 강의 영상 잘 보고있습니다. 25:32 이 부분에서 어색하게 움직이는 부분을 자연스럽게 움직이게 하려면 quad action 팩에 있는 플레이어 모델에서 애니메이터를 만들어줘야 하나요?

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

      이를 위해서 각 신체부분을 나눠서 애니메이션을 줄 수 있는 휴머노이드 시스템이 있는데
      아쉽게도 해당 에셋은 휴머노이드가 아니라서 적용이 어렵습니다.
      docs.unity3d.com/kr/2018.4/Manual/ConfiguringtheAvatar.html

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

    어제 학원에서 코루틴 배웠는대 유튜브가 이 영상 추천해주네 ㅋㅋ

  • @DeRedAgent
    @DeRedAgent 9 หลายเดือนก่อน +1

    골드메탈님 에러메세지안뜨고 잘 돌아가는데. 망치가 한번 공격할때 애니메이션이 끝나고 다시 휘둘러야하는데 마우스를 계속 클릭해보면 공격하던 중에 계속 새로 공격을합니다.
    그리고 박스 콜라이더가 공격애니메이션끝나는 부분보다 먼저 사라져 타격이 안되고 뒤로 공격하면 박스콜라이더가 닿아 뒤로공격해야 타격이됩니다. 해결 방법이 있을까요?

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

      코루틴에서 지정한 wait 시간과 애니메이션 시간이 안맞아서 그렇습니다.
      공격 딜레이를 담당하는 wait는 시간을 조금 더 길게주시면 어떨까합니다.

    • @DeRedAgent
      @DeRedAgent 9 หลายเดือนก่อน +1

      @@goldmetal 감사합니다! 해결되었습니다!

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

    좋은 영상 정말 감사합니다!
    근데 유니티에서 다국어 처리는 보통 어떻게 하나요?

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

      모든 UI, 대사 데이터를 XML 혹은 JSON 파일로 저장해둡니다.
      이 때 한국어, 영어 등등 각 언어별 파일로 저장하고
      설정에서 정해진 언어에 따라 파일을 불러와 데이터를 읽어 화면에 표시하면 됩니다.

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

    항상 잘 배우고 있습니다. 감사합니다.
    공격 모션 중에 멈추는게 아니라 관성으로 조금 나아가면서 공격하고 싶은데 어떻게 하는지 알 수 있을까요?
    그리고 근접공격 중간에 trail renderer를 끝내려면 어떻게 해야하나요? 공격모션의 절반정도는 trail renderer 궤적이 있고 나머지 절반은 궤적이 없게 하고 싶어요.

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

      GetAxisRaw 대신 GetAxis 로 바꾸시면 됩니다.
      중간에 없애려면 trailRenderer를 변수에 담아두고 .enable = false; 하면 됩니다.
      물론 공격모션이 완전히 끝나면 다음을 위해 다시 true로 돌려놔야 해요

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

    골드메탈님! 열심히 보며 배우고 있습니다. 궁금한게 있어 댓글 남기는데요. 7:33 에 보면 Weapon Hammer 오브젝트 W키인 Move Tool로 이동시 위쪽 방향으로 잘 되어있는데 제 Weapon Hammer는 아랫방향, 대각선을 가리키고 있네요 B41 강좌를 보니까 부모 오브젝트인 Right Hand 에서부터 영향을 받아 하위 오브젝트도 로테이션 값이 결정되어 있는것같은데, 받은 프리펩 파일임에도 영상에서 와는 달리 W 이동으로 오브젝트를 움직이려 할때 기본이 아래 대각선으로 되어있네요. 혹시 무엇이 문제인지 알 수 있을까요? 그리고 중심점도 Box Collider 조정하면서 망치 머리쪽으로 이동한것 같은데 저는 여전히 손쪽에 중심점이 있습니다 ㅠㅠ

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

      이건 월드 좌표계와 지역 좌표계 차이 때문인데요,
      Scene 창 왼족 위를 보시게 되면 조그만 박스모양 기즈모 버튼이 있을겁니다.
      이걸 누르면 월드 기준과 지역 기준으로 바꿀 수 있으니 한번 눌러보세요.
      (오브젝트의 Rotation과 상관없이 XYZ 수직으로 일정한 것이 월드 기준)

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

      @@goldmetal Gizmos 버튼이 활성화 되있을때랑 안되있을때랑 Move Tool 에서 xyz방향이 똑같다면 설정이 잘못된 걸까요?..

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

      @@LLodin docs.unity3d.com/kr/current/Manual/PositioningGameObjects.html 여기에서 중간쯤 기즈모 핸들 포지션 토글 항목을 참고하세요. Local을 눌러서 World로 바꾸셔야 합니다.

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

      @@goldmetal 앗 드디어 ㅠㅠㅠ 감사합니다!

  • @신중-v7f
    @신중-v7f 3 ปีที่แล้ว

    항상 영상 감사드립니다! 혹시 이 방법을 2D 횡스크롤게임에 적용해도 근접공격이 가능할까요?

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

      2D 캐릭터가 본 애니메이션이면 가능하나
      스프라이트 셀 애니메이션 방식이면 캐릭터 오브젝트가 고정된 공격범위 오브젝트를 자식으로 들고 있다가
      공격할 때 콜라이더만 활성화 해주는 방식으로 하셔야합니다.

    • @신중-v7f
      @신중-v7f 3 ปีที่แล้ว

      @@goldmetal 앗 감사합니다!😀

  • @노윤수-p1e
    @노윤수-p1e 2 ปีที่แล้ว

    강의 열심히 보고있는 학생입니다! 늘 감사합니다.
    1. 21:37초에 왜 equipWeapon애 있는 use함수인지 모르겠습니다...use 함수는 Weapon에 있는 거 아닌가요..ㅠ
    2. 컴파일은 되는데 공격이 되지 않습니다.. 인풋매니저, GetInput에 fire1 넣었고 attack 함수도 업데이트에 넣었고 중간에 Weapon형식 바꾸는 것도 했는데 뭐가 문제일까요..
    void Attack()
    {
    if(equipWeapon==null)
    return;
    fireDelay+=Time.deltaTime;
    isFireReady= equipWeapon.rate

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

      1. 선언부를 다시 확인해주세요. Weapon 타입의 equipWeapon 이름의 변수입니다. 실질적으론 Weapon 클래스가 맞습니다.
      2. isSwap 앞에도 부정 ! 붙여주세요.
      3.간헐적으로 무엇이 발생하는지 알려주세요. 점프가 잘 안된다면 점프 if문 조건 확인해주세요.

    • @노윤수-p1e
      @노윤수-p1e 2 ปีที่แล้ว +1

      @@goldmetal 해결헀습니다 감사합니다..

  • @동네개님-m1q
    @동네개님-m1q 6 หลายเดือนก่อน +1

    공격을 넣으니까 ArgumentException: Input Button Firel is not setup.
    To change the input settings use: Edit -> Project Settings... -> Input Manager 이런 오류가 뜨는데 어떻게 하나요?

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

      오타나셔서 발생한 문제입니다.
      Firel -> Fire

    • @동네개님-m1q
      @동네개님-m1q 6 หลายเดือนก่อน +1

      아 감사합니다!

  • @5juk
    @5juk 3 ปีที่แล้ว

    18:28
    골메님 근데요
    Weapion이거 어디서 만들었죠..ㅠㅠ
    네임스페이스가 없다고 뜨는것을 보니 선언을 않한거같은데...ㅠㅠ

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

      Weapon 입니다. 중간에 i 가 들어가있네요

    • @5juk
      @5juk 3 ปีที่แล้ว

      @@goldmetal 앗 오타네요
      weapon어디서 ㅁ만들었죠인데
      ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

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

      @@5juk 1:10 입니다

    • @5juk
      @5juk 3 ปีที่แล้ว

      @@goldmetal 앜ㅋㅋ
      오류가 뜬다는 내용을 않봤네욬ㅋㅋㅋ
      감사합니다
      정말 멋진 분이시당...ㅎ

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

    감사합니다~! 영상 보고 많은 공부가 되었습니다. 츗현~
    P.S: 기능 구현에는 문제없고 영상을 몇번을 돌려보며 확인했지만, 저는 해머를 휘두를 때에 "Box Collider"에 체크가 되지 않습니다. ㅠㅠ

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

      휘두를 때 에러메세지가 발생하는지 확인해보세요.
      특히 meleeArea 변수가 초기화 되었는지 인스펙터에서 확인해보시는 것이 좋겠습니다.

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

    15:44 여기서 스탑은 왜 넣어주는 건가요? 빼도 오류가 나지는 않던데 넣어주는 이유가 궁금합니다

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

      중첩해서 실행되서 나중에 몬스터를 때릴 히트박스가 의도치않게 꺼진다거나 하는 경우가 발생할 수 있어서 그렇습니다.

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

      @@goldmetal 감사합니다!

  • @배문성-w4m
    @배문성-w4m 2 ปีที่แล้ว

    잘 배우고 갑니다.
    만약에 근접 공격을 콤보어택으로 구현을 하고 싶으면 애니메이터 의 어떤 부분을 어떻게 바꾸면 되나요?

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

      Attack 애니메이션을 수정하면 되겠지만 이건 제가 블랜더에서 만든 거라
      유니티에서 조정하기가 많이 힘들겁니다.
      3D툴 블랜더에 FBX 파일을 불러와 애니메이션을 수정하시는걸 추천드립니다.

    • @배문성-w4m
      @배문성-w4m 2 ปีที่แล้ว

      @@goldmetal 감사합니다.

  • @bjklm38
    @bjklm38 4 หลายเดือนก่อน +1

    혹시 새로운 에니메이션을 추가하고 싶은데 어떻게 해야 할까요?

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

      아쉽게도 제 에셋은 휴머노이드 타입이 아니라서 직접 블렌더에서FBX 불러온 뒤 애니메이션을 추가해야합니다.
      애니메이션 만드는 방법은 블로그에서 다루었어요.
      m.blog.naver.com/gold_metal/220488257312

  • @조진호-u8w
    @조진호-u8w 3 ปีที่แล้ว

    그 isJump와 isDodge는 만드시면서 isSwing은 왜 안 만드시는건가요? 단순히 취향 차이인가요??

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

      Swing은 무기만의 함수라서 해당되지 않습니다.
      플레이어 측면에서는 공격하는 것이므로 isFireReady를 사용합니다.

    • @조진호-u8w
      @조진호-u8w 3 ปีที่แล้ว

      @@goldmetal 답변 감사합니다!!

  • @김주현-g8w
    @김주현-g8w 3 ปีที่แล้ว

    항상 좋은 영상 감사합니다. 질문이 있어서 댓글 남깁니다. 플레이시 Assertion failed on expression: 'task.rasterData.vertexBuffer == NULL'
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
    라는 에러가 뜨는데 플레이어에 WeaponPoint에 있는 해머의 이펙트 트레일렌더러에서 발생한 오류 같습니다. 구글링해보았는데 라인렌더러나 파티관련에서 나오는 오류같던데 이유가 무엇인지 알고싶습니다.

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

      처음보는 에러네요. 에디터 오류 같으니 일단 저장 후에, 유니티를 껏다가 재시작해보세요.

    • @김주현-g8w
      @김주현-g8w 3 ปีที่แล้ว

      @@goldmetal 트레일렌더러를 지워야만 에러가 없어지네요ㅠㅠ...그냥 해결할수없는 오류인것같아여 ㅠ

  • @이종윤-i3s
    @이종윤-i3s 3 ปีที่แล้ว

    골드메탈님 항상 답변 감사합니당. 궁금한점이 또 생겼는데요. boxcollider인 swordArea를 is trigger를 통해 벽을 부수려고 합니다만.. 벽앞에서 swordArea.enabled=true로 바꿔주고 벽을 공격시 swordArea가 destroy되네요... 벽이 아닌 enemy를 공격할땐 문제가 없는데. 왜 그런지 알 수 있을까요?

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

      Destory 하실 때 상대방을 파괴해야 하므로 Destroy(collision.gameObject); 해주셔야 합니다.

    • @이종윤-i3s
      @이종윤-i3s 3 ปีที่แล้ว

      @@goldmetal 벽에도 롤의 포탑처럼 체력이 있어서 0이될때까지 때려야되는데용.특정 조건만족시 활성화된 캐릭터의 swordArea가 벽의 콜라이더와 충돌하여 자기맘대로 destroy되는듯 합니다. Enemy공격할땐 문제 없는데 벽에만 그러네요 ㅠㅠ

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

      @@이종윤-i3s 벽에 스크립트가 있나요? 그렇다면 체력감소와 그로 인해 파괴되는 로직을 가진 피격함수 하나 만들어두시고 OnTriggerEnter에서 swordArea를 if문으로 체크해서 맞다면 방금만든 피격함수를 실행시키면 간단해집니다. swordArea는 벽에게 아무것도 할 필요가 없어지구요.

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

    안녕하세요 골메님.
    개발자가 꿈은 아니지만 정말 순수한호기심으로 이것저것 유니티를 만져보고있는 대학생입니다
    골메님의 영상을 통해서 정말 많은 도움이 되고있습니다.
    질문드리고싶은게있는데요,
    저는 원형입자를 10000개정도 쌓아서 정육면체안에 집어넣고 싶습니다 이때 3d object에서 sphere를 사용해서 10000번 복붙을 하는건 어리석은 짓인걸 알고있습니다.
    다른 좋은 방법이 없을까요?

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

      1. 원형입자를 프리펩으로 저장
      2. 프리펩을 저장할 변수 하나 생성 후, 할당
      3. for문과 Instantiate() 함수로 반복하여 오브젝트 생성
      이렇게 하시면 됩니다.
      Instantiate()는 B28 챕터 3에서 다루었습니다.
      th-cam.com/video/JUG0GnsJHQw/w-d-xo.html

  • @궁금증-g9v
    @궁금증-g9v ปีที่แล้ว

    혹시 public enum Type { Melee, Range}; 이걸 코드로 바꿀 수 있는 방법이 있나요..?
    예를 들어, 1번을 누르면 Melee로 바뀌고 2번을 누르면 Range로 바뀌게..
    Player 스크립트에서 사용할 때 어떻게 코드를 짜는지 궁금합니다...

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

      말씀하신 코드는 열거형 데이터의 선언부분입니다.
      실제 사용은 바로 아래의 public Type weaponType; 변수에요. enum 뒤에 오는 이름이 타입이 되는거고 그걸 다시 사용하는겁니다. 그러니 스크립트에서 weaponType = Type.Melee; 이런식으로 변경 가능합니다

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

    'Weapon' does not contain a definition for 'Use' and no accessible extension method 'Use' accepting a first argument of type 'Weapon' could be found (are you missing a using directive or an assembly reference?)
    라 뜨는데 뭐가 문젠지 알 수 있을까요..?

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

      Weapon 스크립트의 Use 함수가 public으로 공개되어 있지 않거나
      이름이 달라서 (특히 대소문자) 못찾을 것일 수 있습니다.

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

      Weapon스크립트의 Use함수도 public으로 되있고 대소문자도 틀리지 않았는데 왜 안될까요..ㅠ
      (참고로 22:19 equipWeapon.Use()부분입니당)
      +혹시 equipWeapon.Use()를 꼭써야하나요?

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

      @@wooju7111 당연히 써주어야 호출이 됩니다. Use() 함수 안에 Debug.Log("무기"); 추가하고 실행해보세요. 콘솔창에 메세지가 나오지 않으면 equipWeapon.Use() 위쪽 if문 조건에 걸려서 실행이 안되는겁니다.

  • @user-qx6qr6wk8p
    @user-qx6qr6wk8p 4 ปีที่แล้ว +5

    조회수가 1천회인데 싫어요가 1개도 없는 유튜버

  • @김찬영-s9n
    @김찬영-s9n 3 ปีที่แล้ว

    골드메탈님 강의 잘보고있는데 해머 휘두르고 난뒤에 캐릭터가 이동하면 move 애니메이션을 실행시키지 않고 이동합니다 그냥 이동 모션없이 앞으로만 이동해서요.. 따른거 누르면 풀리긴 하는데 찾아봐도 어떻게 해야할지 감이안잡히는데 혹시 아시는거 계신지요.. ㅠㅠ

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

      애니메이터와 게임창 동시에 띄워 두시고 플레이어 선택 후 망치 휘두르고 나면
      애니메이션 흐름이 어떻게 되는지 확인해보세요.
      휘두르는 상태에서 탈출은 제대로 하는지 확인이 필요합니다.

    • @김찬영-s9n
      @김찬영-s9n 3 ปีที่แล้ว

      @@goldmetal 해결했습니다 swing에서 hasexittime 해제를 안해서 생긴문제였습니다 감사드립니다!!

  • @유서연-n7c
    @유서연-n7c 8 หลายเดือนก่อน +1

    안녕하세요! 강의 잘 보고있습니다!
    강의 느린배속으로 보면서 글자 하나하나 확인까지 했을때 틀린글자가 하나도 없었는데
    공격모션이 안나와요ㅠㅜㅜ 공격이 아예 안됩니다ㅜㅜ
    도와주세요ㅜㅜㅜㅜ (개발에 아예 기초지식도 없는 사람입니다ㅜㅜ)

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

      일단 플레이하고 조작했을 때 에디터 아래에 빨간색 글씨로 에러가 나오는지부터 확인해주세요!

    • @유서연-n7c
      @유서연-n7c 8 หลายเดือนก่อน

      @@goldmetal 빨간글씨는 안나옵니다ㅜㅜ

    • @유서연-n7c
      @유서연-n7c 8 หลายเดือนก่อน

      방금 프로젝트셋팅을 스페이스바로 바꿔서 해봤는데 한번 실행되고 튕긴다음 다시 실행이 안될때는 어떻게 해야하나요?

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

      @@유서연-n7c 유니티 에디터가 안된다는 말씀일까요? 컴퓨터 재부팅 이후 다시 실행해보시는 것이 좋겠습니다.

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

    근접 공격 무기로는 enemy를 공격해도 enemy에게 데미지가 들어가지 않는 에레가 있습니다
    혹시 해결방법아시나요? 손에 들려있는 근접무기의 box collider와 인스펙터 창에 Melee area에도 넣은 것을 확있했습니다!
    감사합니다!

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

      Swing 함수에서 Melee Area를 활성화 하는 것이 확인된다면
      콜라이더를 좀 더 망치 위쪽, 앞쪽으로 이동시켜보는 것이 좋겠습니다.
      활성화, 비활성화 타이밍도 확인해보세요.

  • @sangDu-park
    @sangDu-park 3 ปีที่แล้ว

    끝까지 강좌를 보고 시크립트를 실행하니 Assets\scripts\Player.cs(122,25): error CS1061: 'Weapon' does not contain a definition for 'Use' and no accessible extension method 'Use' accepting a first argument of type 'Weapon' could be found (are you missing a using directive or an assembly reference?) 이라며 실행이 안됩니다 ㅠㅠ 왜 이런건가요?

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

      Use 함수가 public 지시자가 붙어서 공개되어있는지 확인해보세요
      public 키워드가 없으면 공개되지 않아서 다른 스크립트에서 접근할 수 없습니다

  • @강백호-q3x
    @강백호-q3x 4 ปีที่แล้ว

    골드메탈님 질문이 있는데요, 아이템을 수급하는 걸 구현중인데 캐릭터가 아이템의 트리거 콜라이더에 들어오면 아이템을 destroy 해주는 방식인데 아이템 2개가 있을때 캐릭터가 2개의 트리거에 동시에 들어가 버리면서 한번에 2개의 아이템을 수급하게 되더라구요 어떻게 해야 아이템을 하나씩 수급할수 있을 까요? 답변 부탁드립니다ㅠㅠ

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

      아이템 먹는 것에 쿨타임을 주면 어떨까합니다.
      동시에 콜라이더에 닿아도 미세한 차이는 분명히 있기 때문에
      첫 트리거이벤트에 아이템 먹는 쿨타임 변수의 값을 0으로 만든 뒤
      Update()에서 델타타임을 계속 더해줍니다.
      쿨타임을 1초라고 하면 트리거 이벤트에 > 1 조건을 추가해주면
      1초 간격으로 차례대로 아이템을 수급할겁니다.

    • @강백호-q3x
      @강백호-q3x 4 ปีที่แล้ว

      @@goldmetal 친절한 답변 정말 감사합니다ㅠㅠ!!!

  • @하철우
    @하철우 3 ปีที่แล้ว

    골드메탈님 저번에는 벽에 정상적으로 움직임이 막혔는데 지금은 갑자기 벽이 통과가 되는데
    어떻게 해야하죠 >??

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

      B45에서 문제해결을 다루었으니 일단은 그냥 진행해주시면 됩니다.

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

    선생님,,,
    그냥 휘두르면 괜찮은데
    그런데 점프를 하면서 해머를 휘둘러보니까
    MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
    Your script should either check if it is null or you should not destroy the object.
    UnityEngine.Object.get_name () (at ......
    이런 빨간색 오류가 도중에 한번 생기네요ㅠㅠ
    어떻게해야 오류가 안나오는지 알려주시면 감사하겠습니다!!

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

      망치의 근접공격에 붙어있는 Bullet 스크립트의 Destory 함수 때문입니다.
      망치는 근접공격이니까 타입이 melee 일때는 Destory 실행되지 않도록 if 추가해주세요

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

    무기를 한번 휘두르고 나면 코루틴으로 자동으로 비활성화 되긴 하는데
    무기를 처음 꺼냈을때 공격을 시도하기 전까진 게속 트리거 설정해둔 콜라이더가 켜져있습니다
    무기를 꺼낼때 콜라이더가 자동으로 비활성화 되게 만드려면 어떻게 하죠

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

      무기 스크립트에 void OnDisable() 생명주기 함수 추가하시고
      망치일 때만 공격범위 콜라이더를 비활성화 시키면 되겠습니다.

  • @장재범-e9c
    @장재범-e9c 2 ปีที่แล้ว

    trail render를 망치 오브젝트에 add component 하는거랑 망치에 빈 오브젝트(effect) 만들어서 effect 오브젝트에 trail render 컴포넌트를 추가하는거랑 차이점 알 수 있을까요?

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

      차이점은 별로 없습니다.
      딱 하나 있다면 자식 오브젝트로 만들어 둔다면 이펙트 시작 위치를 조절할 수 있다는 정도겠네요.

  • @오현준-x8w
    @오현준-x8w 2 ปีที่แล้ว

    안녕하세요 애니메이션 부분에서 문제가 생겨 질문 드려요 ㅜㅜ. swing애니메이션을실행시킬때 그 동작이 앞부분 (망치를 내리치기 위해 팔을 위로 드는 동작)만 나오고 뒷부분(망치 내려찍기)가 나오기 전에 애니메이션이 끝나버립니다.. 무엇이 문제일가여

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

      애니메이터에서 23:39 처럼 Transition duration 값을 0으로 해주셨는지 확인해보세요.
      오고가는 화살표 두개 모두 해주셔야 합니다.
      이 값은 두 애니메이션을 부드럽게 연결해주기 위한 믹스타임같은거라
      값이 있으면 그만큼 공격애니메이션이 빨리 끝나게됩니다.

    • @오현준-x8w
      @오현준-x8w 2 ปีที่แล้ว +1

      @@goldmetal 정말 죄송합니다.. 그 exit time에 0.1을 넣어버렸네요..ㅜ.ㅜ

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

      @@오현준-x8w 0.1도 충분히 짧은 시간입니다. 해결되었으면 다행이고 아니면 다른 부분에 문제가 있는지 봐야겠네요.

    • @오현준-x8w
      @오현준-x8w 2 ปีที่แล้ว

      @@goldmetal 해결이 되었습니다 감사합니다

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

    좋은강의감사합니다 그런데 공격도중 방향전환을 막으려면 어떻게해야될까요 이동못하게하는건 성공했는데 공격도중에도 방향키누르면 방향이휙휙바뀌네요

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

      이동을 막듯이 isFireReady를 이동의 if문 조건에 추가하면 됩니다.

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

      @@goldmetal 해결했습니다 isFireReady가 너무빨리돌아와서 그런거였네요 감사합니다ㅎㅎ

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

    죄송합니다 애니메이션이 이상하게 보이더라도 전 이동하면서 공격하는건 안막겠습니다!! ㅎㅎ

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

    안녕하세요 골드메탈님 강의는 잘 보고 따라 하고 있습니다 오류가 뜨는데 왜그런지좀 알려주실수 있나여 오류는 NullReferenceException: Object reference not set to an instance of an object
    Player.Attack () (at Assets/Script/Player.cs:119)
    Player.Update () (at Assets/Script/Player.cs:63)
    뜹니다

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

      플레이어 119번째 줄에 사용 중인 변수가 비어있다는 이야기입니다.
      public 변수라면 인스펙터 창에서 비어있는지 잘 확인해보세요

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

    궁금한게있어요!!
    1. 플레이어를 안움직이고 있으면 몇 초뒤에 스스로 45도 정도 기울인 상태에서 회전을 하는데 혹시 캡슐콜라이더 때문에 이런가요?? 플레이어에 박스콜라이더를 추가해서 확인해보니 문제점은 사라지긴 했어요..
    2. 플레이어로 무기를 밟으면 주워지지도 않고 돌맹이마냥 굴러다니는데 어떻게 해결하면 될까요??

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

      1. 리지드바디의 Freeze Rotation X, Z 체크해주시면 됩니다.
      2. B45에서 물리에 대한 문제점을 모두 다루었으니 일단 그냥 진행해주셔도 됩니다.

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

      @@goldmetal 말씀해주신대로 Freeze Rotation X, Z 를 체크해도 움직이면 어떻게 하면 될까요??

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

      @@khyun1777 Freeze 하면 쓰러지지 않아야 하는게 보통입니다. 혹시 Position을 체크하신게 아닌지 확인해보세요

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

      @@goldmetal 45번째 강의보면서 해결했습니다!! 감사합니다!

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

    골메님 갑자기 무기스왑이 안되는데 어떻게해야하나요?
    망치를 먹고 스왑을 누르면
    NullReferenceException: Object reference not set to an instance of an object
    Player.Swap () (at Assets/QuarterView 3D Action BE5/ReadMe/Scripts/Player.cs:166)
    Player.Update () (at Assets/QuarterView 3D Action BE5/ReadMe/Scripts/Player.cs:63)
    이렇게 뜹니다

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

      플레이어 166 번째줄에 사용된 변수가 왜 비어있는지 확인해보셔야 할 것 같네요.
      초기화가 빼졌는지 잘 살펴봐주세요

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

    옛날 강의에 질문드려 죄송합니다 ㅠㅠ
    현재 공격버튼을 누르지 않아도 망치에 트레일 이펙트와 콜라이더가 켜져있고 공격할 때마다 껐다 켜졌다를 하지 않습니다.
    트레일 이펙트는 움직일때마다 0.5초길이로 반복하는 것 같고 콜라이더는 항상 켜져있습니다.
    애니메이션과 딜레이가 작동하는걸 봐서는 if문은 제대로 작동하는 것 같습니다. 코루틴에 문제가 있는걸까요?...
    public void Use()
    {
    if(type == Type.Melee)
    {
    StartCoroutine("Swing")
    StopCoroutine("Swing")
    }
    }
    IEnumerator Swing()
    {
    yield return new WaitForSeconds(0.1f);
    meleeArea.enabled = true;
    trailEffect.enabled = true;
    yield return new WaitForSeconds(0.3f);
    meleeArea.enabled = false;
    yield return new WaitForSeconds(0.3f);
    trailEffect.enabled = false;
    }
    -----------------------------------------------------------------------------------------------------
    if (fDown && isFireReady && !isDodge && isSwap)
    {
    equipWeapon.Use(); //작동 안함
    anim.SetTrigger("doSwing") //작동함
    fireDelay = 0; //작동함
    }
    타입 설정, 밀리 에리어, 트레일 이펙트에 제대로 할당시켰습니다. 무엇이 문제일까요 ㅠㅠ...

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

      StartCoroutine("Swing")
      StopCoroutine("Swing")
      두 개의 함수 위치가 바뀌었습니다.

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

      @@goldmetal 답변 감사합니다 잘 해결됐어요!!

  • @조민석-h6l
    @조민석-h6l 2 ปีที่แล้ว

    코인이나 헤머를 들기만 하면 OnTriggerStay에 Debug.Log에 오류 메세지가 뜨는데 무시해도되나요?

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

      어떤 에러인지 확인이 필요합니다.
      잘 모르시겠다면 여기에 메세지 붙여주세요.

  • @미스따유
    @미스따유 3 ปีที่แล้ว

    해머 공격속도를 낮추려면 어떻게해야하나요? animator에서 speed 파라미터 만들고 animation.SetFloat("speed", 0.6f)하니깐 캐릭터가 뒤로돈상태에서 때려야 오브젝트가 공격을 당하고 오브젝트를 본상태에서 공격을하면 공격이안맞내요 ㅜㅜ..

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

      애니메이터에서 공격상태 누르시고 인스펙터 보시면 Speed가 있습니다.
      이걸 낮추시면 속도가 느려집니다.

  • @迷途-u3d
    @迷途-u3d ปีที่แล้ว

    마우스를 클릭했을 때 망치가 공격하지 않았습니다. 어떻게 해야 하나요?

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

      GetInput 함수에서 Attack 버튼이 잘 적용되었는지 확인해보세요.
      대소문자도 정확히 같아야 합니다. Edit > Project Settings > Input Manager

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

    안녕하세요 골드메탈님
    영상 잘 보고 있습니다!
    근데 따라해보는 도중에 오류가 발생했는데요, 무기를 입수하고 장착하는 것까진 완벽한데 좌클릭을 아무리 눌러도 반응이 없습니다. 콘솔창에서 오류도 뜨지 않습니다.. 뭐가 잘못된걸까요 ㅠㅠ
    +) 다음 강의에서 나오는 총에서도 입수와 장착은 되는데 총알이 안 나가네요..
    +)그 다음 강의에서 나오는 클릭에 따라 캐릭터가 돌아가는 부분에서는 클릭을 인식을 하네요

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

      isFireReady 계산하는 줄 바로 아래에 Debug.Log(isFireReady); 를 두고 실행해봅시다.
      만약 좌클릭을 했는데 로그가 뜨지도 않는다면 equipWeapon이 없다는 것이고
      false가 떳다면 equipWeapon.rate값을 인스펙터 창에서 확인해보셔야 합니다.

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

      @@goldmetal false가 떴는데 혹시 equipWeapon.rate값을 어디서 확인해야하는지 알려주실 수 있을까요? ;ㅡ;

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

      @@BB33224 캐릭터 오른손에 들려주고 비활성화했던 무기들에 있어요.

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

      @@goldmetal rate 값이 각각 0.4, 0.6 으로 되어있는데 혹시 몇으로 해야 고쳐질까요? 0,1,-1로 해보았는데 딱히 변화가 없어서요 ㅠㅠ

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

      @@BB33224 변화가 없다는건 fireDelay에 델타타임을 매프레임마다 더해지지 않는다는 이야기 같네요. Debug.Log(fireDelay); 도 해보세요. 어느순간부터는 fireDelay가 rate보다 높아지게되고 그때부터 공격이 가능해집니다.

  • @박건영-k3u
    @박건영-k3u 4 ปีที่แล้ว

    무기의 콜라이더 크기를 무기 크기보다 크게 하지 않고 무기 크기만큼 하는건 비효율적인가요?

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

      그렇게 하셔도 되지만 제가 만들어드린 망치는 짧아서
      나중에 전투시 바짝 붙어 때려야 하므로 난이도가 어려울 수 있습니다.

    • @박건영-k3u
      @박건영-k3u 4 ปีที่แล้ว

      @@goldmetal 아 그렇군요 감사합니다

  • @정여눈
    @정여눈 2 ปีที่แล้ว

    void Attack()
    {
    if (equipWeapon == null)
    return;

    fireDelay += Time.deltaTime;
    isFireReady = equipWeapon.rate < fireDelay;
    if (fDown && isFireReady)
    {
    equipWeapon.Use();
    anima.SetTrigger("doSwing");
    fireDelay = 0;
    }
    }
    골드메탈님 클릭을 아무리해도 작동이 안되요,,, 뭐가 문제인가요??

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

      isFireReady = equipWeapon.rate < fireDelay;
      이 줄 아래에 Debug.Log(fDown + " / " + isFireReady); 넣고 테스트 해보세요
      둘다 true가 나와야 합니다.
      false가 나온다면 원인을 파악해보셔야 겠네요.

  • @황선우-z4i
    @황선우-z4i 3 ปีที่แล้ว

    혹시 무기를 회전시키는 애니메이션을 만들때 회전방향을 스크립트로 설정하는법없나요..ㅜ

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

      애니메이션 창에서 아래 Curve로 조절 가능합니다.

    • @황선우-z4i
      @황선우-z4i 3 ปีที่แล้ว

      @@goldmetal와 정말 감사합니다

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

    안녕하세요 질문있습니다! 갑자기 점프 후 착지가 안돼서 공중에 떠있습니다 어떻게 해결해야 할까요? 일단 isJump를 3곳에 찍어보았습니다.
    1. Update문에 디버그를 찍어볼때 - 점프 전: isJump false, 점프 모션 중: isJump true 이후 착지가 안됩니다.
    2. Jump 함수 : if문 전 false, if문 후 true
    3. OnCollisionEnter 함수 (착지구현): 디버그가 찍히지 않음
    다 맞게 쓴 것 같고 Tag도 Floor을 했는데 어디가 문제일까요?

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

      3번에서 문제네요. 디버그가 찍히지 않았으니 플레이어와 바닥이 모두 리지드바디 + 콜라이더가 있는지 확인해주세요.
      바닥에 리지드바디가 없다면 추가해주시고, IsKinematic 체크해주세요.
      그리고 바닥의 태그도 OnCollisionEnter 함수 안의 if 조건대로 설정되어 있는지도 확인이 필요합니다.

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

      @@goldmetal 감사합니다!! freeze position을 손대버린것도 문제였더라구요

  • @warfD-hd9bs
    @warfD-hd9bs ปีที่แล้ว

    제가 23:00 쯤에 swing 에니메이션 대신 다른 에니메이션을 넣어서 해봤는데
    Transition 'AnyState -> Attack 01' in state 'AnyState' doesn't have an Exit Time or any condition, transition will be ignored (Attack 01은 에니메이션 이름)
    이런 오류가 뜨면서
    Debug.Log(fDown + " / " + isFireReady);를 했을때
    False/True가 계속 뜹니다.
    이건 어떻게 고쳐야 할까요? ㅠㅠ

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

      AnyState -> Attack 01 가는 화살표에 조건 Condition이 없다는 이야기입니다.
      애니메이션 상태를 변경하기 위해 꼭 Parameter를 사용한 조건을 Transition에 만들어야하니 한번 확인해보세요.

    • @warfD-hd9bs
      @warfD-hd9bs ปีที่แล้ว

      @@goldmetal Transition에 파라미터도 달았는데 똑같네요 ㅠㅠ

    • @warfD-hd9bs
      @warfD-hd9bs ปีที่แล้ว

      @@goldmetal Debug로 해봤을떄는 fDown이 계속 False가 나오는거 같습니다.

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

      @@warfD-hd9bs 동일한 에러가 있다면 모든 Transition 눌러보시면서 Coditino 빠진게 있는지 살펴봐주셔야 할거 같아요. 혹은 다른 애니메이터도 있는지 에셋 확인해보세요

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

    equip weapon 없이 trail renderer를 껏다 켰다 할려면 어떻게 로직을 짜야하나용?ㅠㅠ

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

      Trail 컴포넌트가 장착된 망치에 있는 거라 equip Weapon을 필수입니다.
      이게 아니면 아예 public TrailRenderer 변수를 하나 만들어서 인스펙터에 직접 담으시면 컨트롤하실 수 있어요.

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

      @@goldmetal 감사합니다 ㅠ 해결했습니당!! 항상 영상 잘보고 있습니다 !!

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

    Trail Rendererderer의 크기는 어떻게 조절하나요?

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

      Time 값을 조절하시면 됩니다.

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

    Weapon equipWeapon 선언했는데, player에서 equipWeapon사용하면 왜 null에러가 날까요... public으로 equipWeapon 선언하고, player에 무기 드래그로 집어넣고하면 에러는 안 나지만, SetActive(true)도 반응이 없는 것 보면 뭔가 잘 못한 것 같은데...흠;

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

      Weapon을 싱클톤으로 해도, 오브젝트 활성화가 일어나지 않습니다. 디버그로그로 Weapon.instance.gameObject 읽어보면, 정확히 플레이어가 손에 걸어둔 무기이름이 나오는데도 활성화는 안 되네요. 대신 아무런 오류는 나지 않습니다.
      싱클톤 or public으로 직접 집어넣기가 아닌 경우는, equipWeapon관련 모든 호출에서 NullReferenceException에러가 뜹니다. 분명 간단한 실수일 것 같은데, 뭔 지 몇시간 째 못찾겠네요 ..
      (추가)활성화가 안 됐던 건, 메쉬 랜더러를 꺼놔서 그랬네요;;;
      Weapon을 싱클톤으로 잡은 경우에는 에러없이 잘 됩니다.

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

      싱글톤 아닐 때는 왜 null에러가 나는 지 확인해볼만한 게 더 있을까요...?

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

      equipWeapon = GetComponentInChildren();
      inchiledren 넣어야 하는지 몰랐습니다 ㅜ 추가하니까 되네요;;;

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

    안녕하세요 골드메탈님 공격을 연타했더니 캐릭터가 쓰러져버리는데 해결방법이 있을까요..

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

      리지드바디의 Freeze Rotation X, Z 체크해주세요

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

      @@goldmetal 와 감사합니다!!

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

    25:40 까지 따라갔는데 테스트해보니 공격키를 누르면 망치를 머리뒤로 휙 넘기는 순간 에러가 납니다
    MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
    Your script should either check if it is null or you should not destroy the object.
    UnityEngine.Object.get_name () (at /Users/bokken/buildslave/unity/build/Runtime/Export/Scripting/UnityEngineObject.bindings.cs:194)
    Player.OnTriggerStay (UnityEngine.Collider other) (at Assets/Scripts/Player.cs:247)
    보니까 댓글에 저같은 에러가 나는 분이 몇분 계신데 달아주신 답글로 해결이 안되어 저도 질문 드립니당 ㅠㅠ 참고로 weaponPoint>weapon hammer 박스 콜라이더, 이펙트의 트레일 렌더러 둘다 활성화는 됩니다(그러고 바로 에러가 나는듯해요)
    player.cs>void Attack()에서 equipWeapon.Use();를 빼고 실행하면 잘 휘두릅니다. 물론 이렇게 하면 효과가 안뜨지만요ㅠㅠ
    어디를 확인해보면 좋을까요?
    Player.cs:247는 } 입니다,,,,(아래는 player.cs 239~247 코드입니다)
    void OnTriggerStay(Collider other)
    {
    if (other.tag == "Weapon")
    nearObject = other.gameObject;
    else if (other.tag == "Item")
    nearObject = other.gameObject;
    Debug.Log(nearObject.name);
    }

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

      망치의 근접 범위인 콜라이더 오브젝트에 붙어있는 Bullet 스크립트에 문제가 있습니다.
      근접이라면 Destroy가 되지 않도록 조건을 걸어주셔야 해요.

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

      @@goldmetal 이해가 잘 되지 않는데요ㅠㅠ 에러가 처음 난것은 아직 bullet 스크립트를 만들기 전인데 bullet 스크립트의 영향을 받나요?? 우선 아래와 같이 수정했는데 아직 문제가 해결되지 않았습니다 혹시 조건이 잘못되었을까요?
      1. 먼저 bullet 스크립트에 Weapon equipWeapon; 추가하고
      2. if (collision.gameObject.tag == "Floor" && equipWeapon.type != Weapon.Type.Melee)
      Destroy(gameObject, 3); 이와 같이 조건 수정

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

      @@goldmetal 해당 영상 18:32 지점에서 '게임오브젝트'였던 equipWeapon을 'Weapon스크립트' equipWeapon으로 변경하는데 이때 생기는 오류가 아닐까 생각했는데요 이건 아닌건가요?ㅠㅠ

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

      @@goldmetal 골메님!! 이 질문 한번더 봐주시면 안될까요,,?ㅠㅅㅠ 망치로 몬스터 때리고 싶어요,,,흑

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

      @@purin0319 망치에 달려있는 근접범위 오브젝트에 있는 bullet 스크립트를 비활성화 하고 한번 테스트해보세요. 에러가 나지 않으면 Bullet스크립트가 범인이고 에러가 난다면 다른 스크립트의 문제입니다. 보통 에러메세지 더블클릭하면 해당 스크립트가 펼쳐지니까 확인해보세요.

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

    공격키 빠르게 누르면 공격 애니매이션 끝나기 전에 공격을 다시 하는데 공격 애니매이션을 거의 끝날때 다시 공격할수있게 하는방법이 있나요?

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

      애니메이션 시간만큼 손에 들린 망치의 rate값을 올려주시면 됩니다.
      애니메이션 길이는 직접 Assets 창에서 선택하고 인스펙터 창에서 보실 수 있습니다.

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

      @@goldmetal 에니메이터 에서 속도가 시간 나누기 애니매이션 (속도 1의 시간) 하니까 애니매이션을 다 볼수있네요

  • @구름구름름
    @구름구름름 ปีที่แล้ว

    안녕하세요 골드메탈님. 항상 좋은 강의 잘 보고 있습니다.
    18:30 쯤부터
    GameObject 타입에서 script인 Weapon으로 타입을 변경하면서 궁금한 것이 생겼습니다
    Weapon equipWeapon; -> 이 부분입니다.
    if (equipWeapon != null)
    {
    equipWeapon.gameObject.SetActive(false);
    }
    ↑위에서 equipWeapon가 GameObject type일때는 equipWeapon != null이 이미 gameObject가 있어서 비활성화 - SetActive(false) 한다고 이해했습니다.
    그런데 Weapon script type으로 바꾸게 되면서 equipWeapon != null 부분도 ‘equipWeapon.gameObject != null’로 바뀌어야한다고 생각했는데 이렇게 바꾸면 무기를 먹고 swap키를 눌렀을 때 에러가 나더라고요.
    ‘equipWeapon != null’ 부분을 어떻게 이해하면 좋을까요??

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

      클래스타입은 언지든지 null 값이 가능합니다.
      Weapon 컴포넌트 타입인 equipWeapon에 값을 넣지 않으면 자연스럽게 null이 된다라고 생각해주시면 됩니다.
      그리고 if 조건과 그 안의 코드로직이 서로 꼭 같을 필요도 없다는 점, 참고 바랍니다.
      예시 :
      조건과 로직이 연계되는 코드 -> if(플레이어에게 사과가 있다) { 사과를 먹는 로직; }
      조건과 로직이 연계되지 않지만 개발자가 필요한 상황을 구현한 코드 -> if (플레이어가 정지해 있다) { 사과를 먹는 로직; }

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

    망치를 먹었는데 element 2 핸드건이 체크되는 문제는 뭘까요?

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

      망치 아이템의 ID가 0인지 확인해주세요

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

    열심히 공부하고있습니다! 근데 코루틴으로 게임을 만들고 있었는데
    프레임이랑 ms가 바뀔때 기다리는시간 그런것들이 너무 다릅니다 이게 무슨일일까요

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

      코드는
      for (var i = 0; i < 300; i++)
      {
      var position = stick.transform.position;
      position.x += 1;
      stick.transform.position = position;
      yield return new WaitForSeconds(0.002f);
      }
      이렇습니다
      이게 프레임마다 반복속도가 달라지네요

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

      0.002f 면 1초에 500회 수준인데 너무 짧은게 아닌가 합니다.
      유니티에서 돌리고 있는 프레임 주기보다 더 짧으면 제대로 수행할 수 없을 수 있으니
      시간대를 조절하셔야겠습니다.

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

      @@goldmetal 그렇군요 근데 1f 로 해놔도 느려지는게 똑같아요
      혹시 application.targetframerate이 영향이 있을까요?

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

      @@MIN0707_DEV 적당한 수치라면 크게 상관은 없습니다. 혹시 부하가 일어나서 느려지는건지 프로파일러로 검사해보시는 것이 좋겠네요

  • @안대훈-o8q
    @안대훈-o8q 3 ปีที่แล้ว

    근데 저 계속 Assets\2Scripts\Player.cs(35,10): warning CS0414: The field 'Player.isSwap' is assigned but its value is never used이게 경고로 뜨는데 문제는 없는거죠?

    • @안대훈-o8q
      @안대훈-o8q 3 ปีที่แล้ว

      아 그리고 따라서 했는데 Assets\2Scripts\Player.cs(173,48): error CS0428: Cannot convert method group 'GetComponent' to non-delegate type 'Weapon'. Did you intend to invoke the method?이것도 뜨네요

    • @안대훈-o8q
      @안대훈-o8q 3 ปีที่แล้ว

      if(sDown1 || sDown2 || sDown3)
      {
      if (equipWeapon != null)
      equipWeapon.gameObject.SetActive(false);
      equipWeaponIndex = weaponIndex;
      equipWeapon = Weapons[weaponIndex].GetComponent;
      equipWeapon.gameObject.SetActive(true);
      anim.SetTrigger("doSwap");
      isSwap = true;
      Invoke("SwapOut", 1);
      }

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

      GetComponent 는 함수라서 뒤에 괄호 () 붙이셔야 합니다.
      isSwap의 경우는 if문 조건으로 사용하시다보면 자연스럽게 사라질겁니다.

  • @정주은-r9r
    @정주은-r9r 3 ปีที่แล้ว

    안녕하세요!! 마우스 왼쪽 클릭을 하면서 근접 공격을 할 때마다 오류가 뜨는데 해결 방법을 몰라 댓글 달아요!!
    MissingReferenceException:
    The object of type 'GameObject' has destroyed but you are still trying to access it.
    You script should either check if it is null or you shoul not destroy the object.
    UnityEngine.Object_name () (at :0)
    Player.OnTriggerStay (UnityEngine.Collider other) (at Assets/02 Script/Player.cs:16)

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

      근접 공격할 때 바닥이나 벽에 닿으면 콜라이더가 삭제되는 경우가 있습니다.
      삭제되지 않도록 망치의 Bullet 스크립트에서 isMelee를 꼭 체크해주세요

    • @정주은-r9r
      @정주은-r9r 3 ปีที่แล้ว

      bullet 스크립트가 없는데 Item 스크립트를 말씀하신건가요..?

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

      @@정주은-r9r 아이고 죄송합니다. 다른 질문과 헷갈렸네요. 에러메세지를 더블 클릭하면 안내해주는데 그 위치의 변수를 확인해보는 좋겠습니다. 여기 답글에 붙여주시면 확은해볼께요

  • @김정민-v7o
    @김정민-v7o 4 ปีที่แล้ว

    weapon point에서 망치 이펙트는 나왔는데 코드를 적용하고 나서 아이템을 먹고 1번키를 누른 후에는 이펙트가 안나오네여
    이유를 알려주세요..

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

      이 강좌 그대로 따라오셨다면 망치 Trail Renderer는 휘두를때만 보이게 됩니다.
      한번 공격버튼 눌러보세요.

    • @김정민-v7o
      @김정민-v7o 4 ปีที่แล้ว

      @@goldmetal 공격버튼을 누르고 휘두를때 이펙트가 보이지 않네요..

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

      @@김정민-v7o 게임 플레이 도중에 WeaponPoint에 있는 망치를 선택해서 Trail Renderer가 활성화 되어 있는지 확인이 필요하겠네요.

  • @아이조아라-r1w
    @아이조아라-r1w ปีที่แล้ว

    코루틴으로 Traslate를 사용하면 프레임에 따라 속도가 달라지던데 어떻게 하나요

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

      Translate 안에 넣는 값에 * Time.deltaTime 해주시면 됩니다. 대신 그만큼 속력 값을 올려주어야 해요.

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

      @@아이조아라-r1w 코루틴은 딱 1프레임이다 가 아닌 1프레임이 지나고 다시 진입하는 과정이라 말씀드릴 수 있겠습니다 (그 키워드가 yield return) while과 for 때문에 deltaTime이 달라지는게 아닌 서브루틴에 의해 실제로 달라진 1프레임의 시간이 흐르고 코루틴으로 진입한거라고 보시면 됩니다. 코드의 구성이 코루틴만 있는게 아니라 장면에 여러 스크립트가 있다면 이런 환경적인 측면까지 생각해주세요.

  • @YT-xs4cp
    @YT-xs4cp 4 ปีที่แล้ว

    근접공격을 실행했을 떄
    MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
    Your script should either check if it is null or you should not destroy the object.
    라는 오류창이 뜨는데 혹시 무슨 문제인지 알 수 있을까요??

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

      그 메세지를 더블클릭하면 에러 위치로 안내해줍니다.
      그 위치에 있는 변수가 Destroy된건지 Null인건지 Debug.Log()로 확인해보세요

    • @YT-xs4cp
      @YT-xs4cp 4 ปีที่แล้ว

      @@goldmetal 더블클릭했는데 Hierarchy 에 있는 Player로만 알려주네요...

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

      @@YT-xs4cp Player 스크립트를 비주얼 스튜디오로 띄어주고 더블 클릭해보세요

    • @YT-xs4cp
      @YT-xs4cp 4 ปีที่แล้ว

      @@goldmetal 스크립트 전부 띄우고했어요

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

      @@YT-xs4cp 이상하군요. 오류 메세지에 줄번호 (77,55) 이런식으로 표시된 곳은 없나요
      ?

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

    금철이형 이거 베이식 강좌에 옮겨주면 안될까?

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

      기초 강좌 채널에 등록되어 있는 상태입니다

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

      !

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

    오류는 안뜨지만 좌클릭을 해도 공격이 돼지 않습니다.
    Debug.Log를 시도했는데도 안떴습니다.
    그리고 Weapon equipWeapon; 에서 앞에 있는 Weapon의 색이 흰색이었습니다.
    어떻게 해야하나요?

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

      Input.GetButtonDown("Fire1"); 대소문자 확실하게 입력하셨는지 확인해보세요.
      공격할 때 사용하는 if문의 조건은 하나씩 분리해서 앞에 Debug.Log() 로
      어느 조건이 false인지 직접 확인하셔서 범인 을 찾으시는 것도 좋습니다.

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

      @@goldmetal 클래스 자체가 안불러와진다고 해야하나요

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

      @@goldmetal equipWeapon 옆에 있는 클래스 이름이 흰색입니다. 그리고 equipWeapon에다가 커서를 가져다 대니까 앞에 있는 Weapon도 흰색입니다.

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

      @@boxplus8609 스크립트 클래스가 MonoBehaviour를 상속하고 있는지 확인해보세요. 그리고 유니티와 스크립트 에디터가 연결되어 있는지 유니티 디버그 D01 영상도 확인해보시는게 좋겠습니다. th-cam.com/video/-j5LKpFj4NQ/w-d-xo.html

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

      @@goldmetal 덕분에 고쳤습니다. 감사합니다.

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

    저 이전까지 다 했는데
    오늘 망치 놓으니까 줍지를 않는데 어떻게 하나요

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

      망치 주변에 가서 E키 눌러보셨나요?
      E키 눌러도 반응이 없다면 nearObject에 망치가 들어가 있는지
      Interaction 함수에 Debug.Log(nearObject.name); 으로 확인해보세요

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

      @@goldmetal 네 nearObject에서 망치 인식을 하긴합니다
      근데 이렇게 console에 오류로 이렇게 뜨네요 IndexOutofRangeException: Index was out of the bounds of array

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

      @@lmn7954 장착하고 숨겨둔 무기 3종을 weapons 배열에 넣어두어야 합니다. 인스펙터 창에서 배열 변수 확인해보세요

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

      @@goldmetal 네 숨긴 무기도 배열에 있습니다 그런데 코드를 봐도 오류는 없다고 하고 project settings에서 interation을 e라고 해도 안 됩니다 ㅠㅠ

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

    좋은 항상 강의 감사합니다. 그런데 이번 강의를 듣다보니 질문이 있습니다.
    질문 1. 영상에서는 isFireReady 불리언 전역변수를 처음에 true로 초기화를 시켰는데 117번 줄에서 isFireReady = equipWeapon.rate < fireDelay로
    equipWeapon.rate < fireDelay일때만 isFireReady 가 true가 되게 설정을 시켜줬습니다.
    그러면 equipWeapon.rate > fireDelay일 동안에는, isFireReady 가 계속 false가 되는것인가요?
    질문2. 질문1이 맞다면 공격을 하고 난뒤에는 equipWeapon.rate < fireDelay가 될때까지는 isFireReady 는 계속 false인건가요?
    질문3. 위 질문들이 맞은면 굳이 SwapOut,DodgeOut 함수같이 isFireReady 을 false로 변경시켜줘야하는 함수는 만들지않아도 되는것인가요?

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

      말씀하신대로 equipWeapon.rate < fireDelay 에 의해서만 isFireReady 가 컨트롤됩니다. 이런 equipWeapon.rate 수치가 없는 Swap 이나 Dodge는 Out함수로 상태를 탈출하는 것이니 참고하시면 됩니다.

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

      @@goldmetal 답변 감사합니다

  • @강지혁-n7n
    @강지혁-n7n 3 ปีที่แล้ว

    어.......... 지금까지 열심히 만들기는 했는데 UnassignedReferenceExcaption : The variable meleeArea of Weapon has not been assigned. 라는 오류가 떠서.. 아마도 제가 테그를 안걸었나 싶어서 그것도 확인해봤는데 안되내요ㅠㅠㅠㅠ 스크립트에는 문제가 없어보여요..

    • @강지혁-n7n
      @강지혁-n7n 3 ปีที่แล้ว

      도와주세여...ㅠㅠ

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

      인스펙터 창에서 meleeArea 변수가 있는지, 비어있는지 확인해보세요

    • @강지혁-n7n
      @강지혁-n7n 3 ปีที่แล้ว

      @@goldmetal 망치의 테그를 Melee로 해놨어요.그리고 타입도 Melee로 해놨구요

    • @강지혁-n7n
      @강지혁-n7n 3 ปีที่แล้ว

      @@goldmetal 플래이어가 망치를 휘두를떄 팔을 뒤로 빼는 것까지는 되는데 앞으로 공격하는 모션을 하기전에 게임이 일시정지가 되여ㅠㅠ;;

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

      @@강지혁-n7n 다시 말씀드리지만 meleeArea 변수 확인해보세요. 변수가 비어있어서 공격범위 활성화를 못하는 것 같네요.