벽을 향해 다가갈 때 다른 방향을 보는경우 벽 물리를 뚫는 버그가 존재합니다. 그럴 경우 isBorder를 판단하는 벡터를 transform.forward가 아닌 moveVec로 바꿔쥐면 해결됩니다. void StopToWall() { Debug.DrawRay(transform.position, transform.forward * 5, Color.green); isBorder = Physics.Raycast(transform.position,moveVec,5,LayerMask.GetMask("Wall")); }
@박성찬-c1w2 жыл бұрын
해결했습니다 감사합니다.
@Kimamugae777 Жыл бұрын
감사합니다!!감사힙니다!!
@김태영-s2w11 ай бұрын
Wow~ fantastic 판타스틱 크~
@B6jePV612 ай бұрын
굿! 감사합니다!
@muhadojun2 жыл бұрын
와우 ~ 정신없이.. 여기까지 따라 왔네요 ~ 점점 결과물이 좋아지고 있어, 만족감이 큽니다. ~ ^^
@ReeperKuruRuke Жыл бұрын
강좌를 여기까지 진행하기 전에 몇가지 거슬리는거에 대해 질문했었는데 여기서 싹 다 해결하네요! 속 시원~
@전승원-x7u4 жыл бұрын
댓글 잘 안다는 편인데 달 수 밖에 없게 만드는 정성이시네요.. 어떤 컨텐츠를 하시든 응원하겠습니다.
@푸른매실-k2k Жыл бұрын
이 강의 전까지 있었던 잔버그가 있어서 계속 고민이었는데, 묵은 살이 빠지듯 정말 상쾌한 강의였습니다 ㅎㅎ
와 지금 만드는데 벽 통과되서 어떻게 해결해야하나 했는데, 해결법도 찾으니 있네요. 감사합니다.
@와비사비룸물질보다정 Жыл бұрын
벽 비비기를 아예 못하니 이 강의 이후로는 wall 물리 메테리얼에 마찰을 조금 주는게 좋겠네여 이전 강의에서는 아예 0으로 줘서 물리충돌나서 힘을 받으면, 빙판길마냥 힘이 유지됐었어서 쭉 끌렸었습니다
@danielchoi71084 жыл бұрын
항상 감사드립니다 골드메탈님
@user-cr5bs3in9j5 күн бұрын
'드랍무기 입수 교체' 에서 무기 입수 후 캐릭터 회전하는 현상을 고칠 수 있었네요! 열심히 강의 듣겠습니다. 혹시 지금도 댓글로 질문 달면 조언 주실 수 있나요?
@goldmetal13 сағат бұрын
네 그럼요 막히시는게 있으면 그 영상 댓글 살펴보시고 없으면 질문 남겨주세요
@argolant4 ай бұрын
골메님! 이번 강의도 잘 보았습니다 한 가지 여쭙고 싶은 부분이 있습니당 마우스를 벽의 반대방향으로 누른채 벽으로 이동하면 Ray에 닿지않아 파묻히는 현상이 있더라구요.. 이럴땐 캐릭터의 정면 뿐 아니라 뒤나 옆, 대각선 등 Ray를 많이 써야하는지 의문이 생겼어요. 또한 그럴경우 성능저하가 많이 생길 것 같은데 다른 대처방법이 있을까요?
@goldmetal4 ай бұрын
가장 좋은 방법은 플레이어 이동 방식을 트랜스 폼이 아닌 리지드바디로 하는 겁니다. rigidbody.MovePosition(현재 위치 + 방향 값 벡터); 를 하면 겉보기엔 동일하지만 물리 충돌을 정상적으로 수행하므로 레이캐스팅같은건 필요없습니다. 다만 리지드바디를 통한 이동은 FixedUpdate에 작성해야 하니 주의바랍니다.
@argolant4 ай бұрын
@@goldmetal 설명해주셔서 감사합니다!
@B6jePV612 ай бұрын
제대로 작동 안 해서 원인을 찾아보면 대부분 오타로 인한 오류가 많네요 ㅋㅋ 특히 대소문자 잘못 적어서 작동 안되는데 내가 뭘 잘못 적은건지 찾기가 엄청 어렵군요..ㅋㅋ
@yml34814 жыл бұрын
항상 잘보고있습니다 골드메탈님
@coffeeman473 жыл бұрын
골드메탈님 감사합니다 저를 살려주셨습니다.....ㅠㅠㅠㅠㅠㅠㅠㅠ
@너구리-z5k4 жыл бұрын
항상 잘 보고있어요 골드메탈님 근데 유니티에서 C#스크립트 만들고 들어가니 {솔루션'(제목)' Assembly-CSarp(호환되지 않음) >제품이 제대로 설치되어 있지 않습니다} 라고 떠요.. 몇일 전만해도 잘 됐는데 어떻게 해결하는지 아시나요?
@goldmetal4 жыл бұрын
환경적 요인에 의한 오류는 확인하기가 어렵습니다. 유니티 재시작해서 다시 열어보세요.
@DungeonsSlimes2 жыл бұрын
"최고의 강의"
@날드-i9t11 ай бұрын
4:15 벽 관통 막기
@hoon8628 Жыл бұрын
선생님 앞 강의 안 보고 벽 관통 방지 부분만 구현해도 될까요? 방금 해봤는데 StopToWall 부분에서 에러가 나네요 ㅠㅠ
@goldmetal Жыл бұрын
어떤 에러 메세지인지 여기 적어주시면 확인해드리겠습니다
@이명재-f1uКүн бұрын
하라는대로 다 했는데 왜 충돌이 날까요 ㅠㅠ 충돌아나서 밀리네요 자꾸
@goldmetal13 сағат бұрын
어느것이랑 플레이어가 충돌할 때 문제가 발생하는지 말씀해주세요
@조커카드-k1u Жыл бұрын
골드 메탈 님 현재 void StopTOwall() { Debug.DrawRay(transform.position, transform.forward * 5, Color.green); isBorder = Physics.Raycast(transform.position, transform.forward, 5, LayerMask.GetMask("wall")); } 이부분에 씬을 확인해봐도 레이어가 안나간는데 어디가 문제인건가요 그리고 현재 무기를 입수하고 그 무기를 들게되면 무기모델링이 땅속으로 가라 앉는데 어디가 문제일가요
@goldmetal Жыл бұрын
StopTOwall() 이 함수를 호출하고 있는지 확인해주시고 되어있다면 Scene에 우측 상단 기즈모 버튼이활성화 되어 있는지도 봐주세요. 무기가 가라앉는건 무기에 리지드바디가 있다는 이야기입니다. 리지드바디를 빼주세요
@gim-ori Жыл бұрын
선생님 질문이 하나 있습니다. 자동 회전 방지의 경우 RigidBody 의 Freeze Rotation 항목에서 Y도 체크해버리면 해결이 되지 않는지요? 스크립트로 막는것과 차이가 있을까요?
@goldmetal Жыл бұрын
회전을 트랜스폼으로 한다면 그렇게 하셔도 됩니다.
@박준욱-i5w3 жыл бұрын
무기 충돌을 방지하는 부분에서 Kinematic 이 아닌 Use Gravity 를 False 로 해도 비슷하게 구현되는 것처럼 보이는데 큰 차이가 있을까요?
@goldmetal3 жыл бұрын
Dynamic이면 다른 물체와 충돌하여 밀리는 경우가 발생할 수 있습니다. Use Gravity는 단순히 중력만 컨트롤하는거라 의도한 바랑 조금 다르게 나올 수도 있을거에요
@내-p3z3 жыл бұрын
감사합니다
@pyeongmin12314 жыл бұрын
저 골드메탈님 이번 강좌는 B-몇화 까지 예상하시나요?
@goldmetal4 жыл бұрын
52~53정도로 보고 있습니다
@pyeongmin12314 жыл бұрын
@@goldmetal 아 그렇군요! 답변 감사합니다.
@도도도-q9f3 жыл бұрын
항상 잘 보고 있습니다!! 영상을 따라하면서 궁금한게 있어서 여쭤보려고 합니다!! 1.아이템의 경우 isKinematic 만 체크 하면 물리 충돌이 일어나지 않는듯한데... 혹시 나중에 아이템에 물리가 필요한 경우가 있나요...? 2.floor같은 경우는 플레이어가 뚫리지 않는데 wall같은 경우은 왜 뚫리는지 궁금합니다. ㅠㅠ 이것 저것 해봐도 잘 모르겠네요
@goldmetal3 жыл бұрын
isKinematic은 외부 물리 효과만 억제하는거지 충돌은 그대로 됩니다. 그래서 플레이어가 아이템을 밟고 올라갈 수 있어요. Floor는 플레이어가 아래쪽으로 힘을 가하지 않아서 그렇습니다.
@도도도-q9f3 жыл бұрын
@@goldmetal 답변 너무 감사합니다~ !!
@ippjj1192 жыл бұрын
질문있습니다. 2d에서 레이캐스트를 썼을경우 if (!isBorder) transform.position += moveVec * speed * Time.deltaTime; 이 구간에서 벽레이어랑 마주했을때 회전은 가능하지만 그 상태에서 이동값이 멈춰버린건지 움직일수가 없습니다 혹시 2d는 다른 방법으로 레이캐스트를 써야하나요?
@goldmetal2 жыл бұрын
isBorder가 true라면 false로 되돌리는 로직도 있어야 겠네요. 레이캐스팅 이후 콜라이더가 있으면 true 없다면 false까지 해주세요.
@나는_시청자다Ай бұрын
그.. 선생님? 회피 연타하니까 뭐든지 뚫리는뎁쇼? 회피 진짜 뭐지?
@나는_시청자다Ай бұрын
물론 억지로 뚫은것 같아 보임
@도도링-b5w Жыл бұрын
골드메탈님 안녕하세요 좋은 영상 정말 감사드립니다! 다만 자동 회전 방지 스크립트를 작성하면 Player가 아예 움직이지 않는 에러가 발생하는데 혹시 어떻게 해결해야할지 알려주실 수 있을까요??ㅜㅜ
@goldmetal Жыл бұрын
스펠링 잘 확인해보세요. 리지드바디의 그냥 velocity 말고 angularVelocity를 zero로 해주셔야 합니다.
@박승범-e7f Жыл бұрын
캐릭터가 움직일때만 레이캐스트(isBorder)가 true로 바뀌어서 잠깐 1프레임 동안만 멈추고, 곧바로 다시 움직이게 되면서 속도만 느려질 뿐 여전히 벽을 통과합니다. 어떻게 해야할까요?
@goldmetal Жыл бұрын
혹시 StopToBorder 함수에 if조건이 걸려있는지 확인래보세요. 있대면 배보시는 게 좋겠습니다.
@박민지-h1f1x2 жыл бұрын
오늘 하는 기능들은 왜 FixedUpdate 함수에서 작동 시키는건가용 ?! Update에 넣으면 안되는건가요 ??
@goldmetal2 жыл бұрын
리지드바디를 사용하는 물리기반 로직은 FixedUpdate에서 하는 것이 최적의 성능을 낼 수 있어서 그렇습니다. 이 내용은 유니티 입문 영상에서도 한번 다루었습니다. kzbin.info/www/bejne/hqqxZH2hhbmjd6s
@nana_04273 жыл бұрын
땡큐!
@이지훈-z2i4 жыл бұрын
유니티에서 파일브라우저 기능을 사용하고 싶었는데 openfilepanel은 editor에서 밖에 작동하지 않더군요. 다른 방법은 없을까요?
@goldmetal4 жыл бұрын
찾아보니 유료 에셋이 있긴 하네요. assetstore.unity.com/packages/tools/gui/u-file-browser-43200?locale=ko-KR 그런데 업데이트 된지 2년이 넘어서 사용은 피하는게 좋겠습니다.
@lilllilli19762 жыл бұрын
좋은 동영상 감사합니다. 그런데 저는 뭐가 문제인지 아이템 코드도 문제가 없고 prefab모드 들어가서 콜라이더도 전부 올바르게 move up했는데 계속 아이템과 충돌하는 현상이 일어나는데 이건 어떻게 해야 하나요 ㅜ
@goldmetal Жыл бұрын
아이템의 첫번째 범위용 콜라이더에 IsTrigger체크하셨는지 확인해보세요
@manaoris2 жыл бұрын
안녕하세요 영상 초반처럼 탄피와 충돌시 회전하는 버그는 잡혔지만 탄피와 충돌했을때 플레이어가 특정방향으로 일정한 속도로 계속 밀리는 버그가 발생하는데 왜 그런지 모르겠습니다 마찬가지로 탄피도 바닥이랑 충돌했을때 영상처럼 바닥에 착지(?)하는 게 아니라 탄피가 배출된 방향으로 계속 바닥을 타고 벽쪽으로 이동합니다. 방금 확인해 봤는데 적 객체도 죽을때 바닥에 튕기고 멈추는게 아니라 계속 밀리네요ㅠㅠ
@goldmetal2 жыл бұрын
플레이어가 플레이어의 총알, 탄피와 불필요하게 충돌하지 않도록 Edit > Project Settings > Physics > Collisoin Matrix 에서 교차하는 부분을 체크 해제해주세요. 이것을 하려면 먼저 총알과 탄피의 Layer를 새로 만들어주셔야 합니다.
@nowons1003 жыл бұрын
골메님. 재밌는 현상인데요. floor 위에 무기 3종을 배치하면 그 중 꼭 하나는 바닥을 뚫고 떨어집니다. 떨어지는 무기의 스피어 콜라이더의 위치나 크기를 좀 수정하면 수정한 무기는 안떨어지는데 다른 무기가 떨어집니다. 원인이 뭘까요? ㅠㅠ
@nowons1003 жыл бұрын
더 정확히는 플레이어를 포함한 모든 무기들이 같이 바닥을 뚫고 떨어지다가 그 중 하나가 먼저 떨어지면 나머지는 바닥위로 쑥 올라옵니다.
@goldmetal3 жыл бұрын
바닥 오브젝트에 리지드바디가 없다면 추가해주시고 isKnematic 체크 + Gravity 체크해제 하고 다시 실험해보세요.
@nowons1003 жыл бұрын
@@goldmetal 해결했습니다. 고맙습니다~
@민찬-w3m Жыл бұрын
골드메탈님 점프키를 누르면 위로 안올라가고 점프모션이 고정되는데 혹시 이유가 있을까요 ㅜ
@goldmetal Жыл бұрын
점프 Addforce의 힘이 적어서 뜨지 못했을 수 있습니다. 첫번째 벡터 값의 크기를 더 키워주세요. 곱셈으로 정수를 벡터에 곱해주면 쉽게 올릴 수 있습니다
@cha7ukwon4584 жыл бұрын
이 영상까지와서 확인이 됬는데요. 저는 움직이면서 점프가 가능하게 만들어두었습니다. 상하좌우 점프는 되는데 오른쪽위 점프를 제외한 나머지 대각선 점프가 되지 않습니다. 무슨 문제인지 알 수 있을까요...? + 추가내용 : wasd이동으로 대각선 점프는 잘됩니다.
@goldmetal4 жыл бұрын
움직이면서 점프가 된다면 회피 로직과 겹치게 됩니다. 서로 겹치지 않게 커맨드를 바꾸어주시는게 좋겠습니다.
@klyiknopx9323 жыл бұрын
항상 잘 보고있습니다. 그런데 아이템 물리 충돌 제거를 짤 때 코드를 그대로 넣고 무기 프리팹의 태그는 Weapon으로 하고 Sphere Collider들을 isTrigger가 없는 작은 것을 위로 한 상태로 짰는데 그걸 실행해도 이동할 때 아이템 자체는 건들지는 않은데 무기 안의 작은 콜라이더에 의해 올라갔다 내려갑니다. 그래서 이걸 어떻게 해결해야할지 몰라서 아예 이 작은 콜라이더의 위치y좌표를 1에서(영상에선 1로 되어져있습니다) 0으로 옮겨서 충돌판정을 바닥에 숨겨서 일단 해결이 됐네요. 이것이 맞는 것인지, 아니면 문제라면 무엇이 문제인지 모르겠네요 ㅠㅠ
@goldmetal3 жыл бұрын
물리담당하는 콜라이더 오브젝트만 태그를 다르게 지정하고 Edit > Project Setting > Physics > Collision Matrix 에서 플레이어 레이어와 충돌하지 않도록 체크 해제하면 됩니다.
@오이가싫은메거니2 жыл бұрын
벽에 붙어서 대각선으로 이동하게 되면 ray가 끝나는 지점이 닿았다 안닿았다 하면서 케릭터가 떨리는 현상이 있는데 혹시 해결 방법이 있을까요?
@goldmetal2 жыл бұрын
RayCast 두번째 벡터값을 더 크게 늘리는 방법이 있겠네요.
@오이가싫은메거니2 жыл бұрын
@@goldmetal Ray가 접촉했을 때 ray의 길이를 일시적으로 늘려주는 방법으로 해결했습니다! 답변 감사드려요~
@kamisato33633 жыл бұрын
궁금한게 해결이 되어써요
@yeonsook31296 ай бұрын
어? 그런데 마우스로 반대방향에 에임하고 벽에 비비면 들어가 지는 데요??
@goldmetal6 ай бұрын
물리적인 문제는 B45에서 다룹니다. 미리 보셔도 되고 일단 진행하시다 차례가 될 때 하셔도 됩니다
@gyuchanchoi98994 жыл бұрын
안녕하세요 골드버튼님 저번에 직육면체안에 구를 만개 넣어 보고싶다고 했던 사람입니다. 결국에는 무식하게 넣어버려서 컴퓨터가 5000개까지는 버티더라구요 이번에는 다른 문제가 발생하여 여쭤보게 되었습니다. 직육면체 안에 구를 쑤셔넣게 되었는데 계속 하단에 있는 구체들이 공명하면서 진동을 멈추지가 않습니다.. 항력과 Angular Drag 또한 0으로 설정했음에도 지들끼리 꼴값을 하는 모습을 보면 이게 무슨 물리엔진인가 싶습니다.... 콜리더 설정은 그냥 지름에 맞춰서 문제는 없을 거라고 판단하였고, 별다른 건 문제가 되지 않는다고 생각하였는데.... 왜 그렇게 많이 쌓으면 진동하는 이유가 있을까요 ?
@gyuchanchoi98994 жыл бұрын
아 마찰력때문일 거라는 생각응ㄹ 조심스레 해보고 결과알려드리겠습니다!!
@gyuchanchoi98994 жыл бұрын
아니 생각해보니까 Drag가 마찰력인데
@gyuchanchoi98994 жыл бұрын
아니 Drag 의 단위가 어떻게 되길래 150을 맞춰야 진동을 멈추는 걸까요 ?? 다른건다 KG,M 단위를 썼는데 이 Drag는 ...
@goldmetal4 жыл бұрын
kzbin.info/www/bejne/rZecn5Saeqqgqtk GPU Physics를 사용해서 깔끔하게 해결한 사례도 있긴 하네요. unity physics simulation 라고 검색하시면 여러 사례들이 나오니 한번 둘러보시는게 좋겠습니다.
@gyuchanchoi98994 жыл бұрын
@@goldmetal 인스턴스를 쓰게되면 FPS가 요동치지않고 안정적이군요..
@noble31382 жыл бұрын
플레이어 캐릭터가 10:00 처럼 간격에 따라 막히지않네요 어떻게 해야하나요? (Layer도 제대로 맞추고 스크립트도 이상이 없습니다)
@goldmetal2 жыл бұрын
Move 함수에서 Debug.Log(isBorder); 로 실제로 막히는지 확인이 필요하겠네요. false라면 레이캐스트에 문제가 있는겁니다.
@noble31382 жыл бұрын
@@goldmetal false라서 레이캐스트 부분에 다시 직접 적었는데 해결됐습니다! 감사합니다^^
유니티 디버그 채널 D2 영상 확인해보시고 그래도 에러가 발생한다면 에러 메세지 여기에 붙여주세요
@0146-k6h4 жыл бұрын
넵 매번 신세지네요^^;; 감사합니다!
@dark-yg6fd3 жыл бұрын
골드메탈님보고 공부 많이 하고 있는데 왜그런진 모르겠는데 계속 앞으로 넘어져요 어떡해야할까요?
@goldmetal3 жыл бұрын
플레이어 리지드 바디의 Freeze Rotation X, Z 축 체크해주세요.
@dark-yg6fd3 жыл бұрын
@@goldmetal 그걸 체크하면 45도 로 고정이 되요. 앞뒤로 가면 고정 되더라고요ㅜㅜ
@goldmetal3 жыл бұрын
@@dark-yg6fd Y축은 고정하시면 안됩니다.
@dark-yg6fd3 жыл бұрын
@@goldmetal 네 감사합니다
@초코맛누룽지4 жыл бұрын
오 이제 벽 안통과함
@DDoogie2 жыл бұрын
자동 회전때문에 잠깐 봤는대 똑같이 입력했는대도 계속해서 마찰력 때문에 회전 해요. ㅜㅜ void RockVelocity() { rigidbody.angularVelocity = Vector3.zero; }
@goldmetal2 жыл бұрын
FixedUpdate에서 RockVelocity() 계속 호출하고 있는지 확인해보세요.
@user-whitesheep2 жыл бұрын
안녕하세요. 골드메탈님 어제 B39 영상에 질문을 남겼었습니다. 항상 친절한 답변 감사합니다. B39 영상에 Transform 기반 캐릭터 이동 시 벽 모서리 부분이나 벽을 관통하는 문제를 이야기 했었습니다. 영상을 따라서 코드를 구현하니 해당 문제는 해결됐습니다. 캐릭터 이동 시 벽 관통을 막기 위해 해당 영상에서는 캐릭터에 Ray를 쏘는 방식으로 해결하셨는데요. 여기서 몇 가지 궁금한 점이 있습니다. 1. 캐릭터 벽 관통을 막기 위해 Ray를 쏘는 방식으로 해결하는 방법밖에 없나요? 2. Ray 방식를 적용하기전에 캐릭터 이동을 Transfrom 기반이 아닌 Rigidbody 기반으로 이동 코드를 구현해서 실행해 보았는데요. 벽 정면은 관통이 막아지나 벽과 벽이 만나는 부분( 각각의 벽에 포함된 박스 콜라이더가 만나는 부분)에 비비거나 구르기 이동 시 여전히 관통하는 현상이 발생되었습니다. Rigidbody 기반으로 이동 시 Transfrom 기반 이동 방식 처럼 벽이 관통되는 현상이 발생하나요? 아니면 그냥 제가 Rigidbody 기반 이동 코드를 잘못 짜서 관통 문제가 발생한걸까요?
@goldmetal2 жыл бұрын
rigidbody 기반으로 움직이면 극단적인 환경이 아니고선 관통 될일은 없습니다. rigid.MovePosition() 과 MoveRotation() 을 활용해보세요. blog.naver.com/sabotduke/220802330662
@김미영-z7n2 жыл бұрын
아니 메탈님 저는 isborder가 아이템에도 적용되요 레이어가 다른데도
@goldmetal2 жыл бұрын
아이템의 경우 트리거용 물리용 따로 나눠져있으니까 이거 잘 확인해서 레이어 정해주셔야 합니다.
@김태윤-r3c3 жыл бұрын
총알에 중력은 없앤 건가요?
@goldmetal3 жыл бұрын
네, Gravity Scale 을 0으로 두시면 됩니다.
@Kimjae_min4 жыл бұрын
유니티 버전은 몇을 쓰시나요?
@goldmetal4 жыл бұрын
이 예제는 2019.4 LTS 버전 사용하였습니다.
@허승재-y3k3 жыл бұрын
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerDash : MonoBehaviour { public float dashSpeed; //대쉬 속도 public Transform anchor; //대쉬 포인트 각도의 지점 public Transform dashPoint; //대쉬할 위치 private float TimeSpan = 0f; //대쉬 시간 private float CheckTime = 0.25f; //딜레이 시간 private bool isDash; //대쉬 상태 체크 private Vector2 mousePos; //마우스 위치 private Vector2 dashPointPos; //대쉬 포인트 실시간 위치 정보 private Vector3 AnchorRot; //대쉬 포인트 각도의 실시간 정보 private Rigidbody2D rb; //플레이어 중력 // Start is called before the first frame update void Start() { rb = GetComponent(); //rb에 중력 컴포넌트 대입하여 초기화 isDash = false; //대쉬 상태 거짓 값으로 초기화 } // Update is called once per frame void Update() { mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); //실시간 마우스 위치 값을 mousePos에 대입 AnchorRot = new Vector3(mousePos.x, mousePos.y, anchor.position.z); //AnchorRot에 anchor의 z축만 고정한 채로 회전 값 도입 anchor.LookAt(AnchorRot); //anchor를 항상 마우스 위치를 바라보게 하기 if (isDash == false) //대쉬 상태가 아닐 경우에만 { if (Input.GetMouseButtonDown(1)) //마우스 오른쪽 눌렀을 때 { isDash = true; //대쉬 상태 체크 dashPointPos = dashPoint.transform.position; //dashPointPos에 각도만큼의 실시간 dashPoint 위치 값 저장 } } Dash(); //대쉬 실행 } void Dash() { if (isDash == true) //대쉬 상태가 참이면 { TimeSpan += Time.deltaTime; //대쉬 시간 흐르기 if (TimeSpan < CheckTime) //대쉬 시간이 딜레이 시간보다 작을 때는 { transform.position = Vector2.Lerp(transform.position, dashPointPos, Time.deltaTime * dashSpeed); //대쉬 } else if (TimeSpan > CheckTime) //대쉬 시간이 딜레이 시간보다 클 때는 { TimeSpan = 0; //대쉬 시간 초기화(재사용하기 위해) this.rb.velocity = Vector2.zero; //플레이어의 가속도를 0으로 isDash = false; //대쉬 상태 해제 } } } } 2d 게임인데 벽에다가 대쉬를 사용 할때마다 낑기는(?) 낑기듯 하면서 낑기지 않는 그런 문제때문에 AddForce로 힘을 주는 방식을 바꿀려하는데 잘 안되네요... 그리고 좌클릭을 해야만이 우클릭(대쉬)를 할 수 있게도 만들고 싶은데 피드백 부탁드려요 하도 안되는지라ㅠㅠ
@goldmetal3 жыл бұрын
첫내용은 잘 이해가 되지 않네요. 두번째는 if(Input.GetMouseButton(0) && Input.GetMouseButtonDown(1)) 으로 해주시면 됩니다.