코드 뭐가 잘못된건가 계속 고민하다가
점프 눌렸니 안눌렸니 확인을 해본 결과
점프키 자체가 그냥 존나게 눌러도 아예 입력 자체가 안되고있었다
아니 방향키는 잘눌리는데 왜 점프키는 난타해도 안눌려
이건 뭐 어찌 해결해야됨
코드 뭐가 잘못된건가 계속 고민하다가
점프 눌렸니 안눌렸니 확인을 해본 결과
점프키 자체가 그냥 존나게 눌러도 아예 입력 자체가 안되고있었다
아니 방향키는 잘눌리는데 왜 점프키는 난타해도 안눌려
이건 뭐 어찌 해결해야됨
|
인류악 Empire
추천 0
조회 75
날짜 11:58
|
네리소나
추천 1
조회 184
날짜 11:57
|
루리웹-7621590625
추천 0
조회 85
날짜 11:57
|
위 쳐
추천 33
조회 1473
날짜 11:57
|
∀Gundam
추천 2
조회 55
날짜 11:57
|
291838
추천 1
조회 156
날짜 11:57
|
메이めい
추천 1
조회 85
날짜 11:57
|
몽상향
추천 5
조회 91
날짜 11:57
|
EVAGREEN
추천 0
조회 28
날짜 11:57
|
루리웹-7245276970
추천 1
조회 86
날짜 11:57
|
저를막만지셨잖아여
추천 0
조회 73
날짜 11:57
|
잭오
추천 1
조회 222
날짜 11:57
|
유리★멘탈
추천 47
조회 4120
날짜 11:56
|
짱구엄마의시스루팬티
추천 1
조회 206
날짜 11:56
|
키렌
추천 1
조회 105
날짜 11:56
|
회색실패작
추천 34
조회 1891
날짜 11:56
|
만해그만해
추천 3
조회 139
날짜 11:55
|
날렵한두루미
추천 11
조회 517
날짜 11:55
|
와! 대단하네요!
추천 1
조회 62
날짜 11:55
|
이단찢는 오그린
추천 1
조회 132
날짜 11:55
|
인류악 Empire
추천 1
조회 199
날짜 11:55
|
지구별외계인
추천 0
조회 87
날짜 11:55
|
극각이
추천 0
조회 74
날짜 11:55
|
Sieg Choys
추천 0
조회 56
날짜 11:55
|
모솔아1다 조지워싱턴
추천 1
조회 150
날짜 11:55
|
昨日
추천 0
조회 33
날짜 11:54
|
크로우잭
추천 0
조회 69
날짜 11:54
|
SCP-1879 방문판매원
추천 0
조회 148
날짜 11:54
|
물리 키보드랑 소스 코드 내의 키가 일치 안할지 모릅니다
인풋매니저 열어서 기본세팅 스페이스 외 f키까지 추가해서 난타해봐도 똑같던데
키 눌렀을때 text 같이 출력되게 만들어보면 점프 동작 함수가 문제인지 입력이 문제인지 확인 할 수 잇을 듯요
BoxCast를 통해 땅에 닿아있는지 출?력되게 해서 제대로 땅에 닿아있는지 여부를 체크했고 BoxCast 생성위치가 잘못됬는지 OnDrawGizmos로 생성위치 체크하며 위치 조정해보고 하강가속도가 너무 세서 점프 자체가 안되나 확인도 해보고 그러고보니 어쩌다 점프가 이상하게 되기도 했더라... 근데 그러다 점프키 입력 여부 체크해보니 존나 난타하다가 점프되는순간 키입력됬다고 뜸 뭔데
케바케가 너무 많아서
코딩 싫어...
만약 입력 코드 분기가 된다면 점프를 구현한 코드가 문제 같은
jump = Input.GetButtonDown(jumpButtonName); 로 점프키 입력 받고 if (playerInput.jump) Jump(); 로 점프키 눌렸으면 public void Jump() { if (!IsGrounded()) return; currentVelocityY = jumpVelocity; } private bool IsGrounded() { RaycastHit hit; return Physics.BoxCast(transform.position, boxSize, -transform.up, out hit, transform.rotation, forGroundCheck); } 이 과정을 거쳐(IsGrounded도 제대로 작동하는지 인스펙터창에 뜨게해서 확인함) 점프하게 해놨을 뿐인데 그냥 점프키 입력 자체가 난타해도 안눌리다 지멋대로 뾱뾱 점프를 한단말이지...
currentVelocityY를 따로 쓰는 거 같은것 같은데 jumpVelocity를 크게 줘보면 어떰
아니다 좀 더 정확히 판정을 바꿔보는게 어떰? 지금 보니까 점프 할 때만 지상 체크를 하는데 지상 체크를 매 프레임마다 설정해봐 점프 키 눌렀을때 지상 체크가 안되서 키 씹혔을 가능성도 있는 것 같음
줘도 안되고 바꿔보다보니 점프가 이상하게 되는현상이 발견됬네...라고 쓰다보니 땅에 닿아있는지 체크하겠다고 BoxCast를 바닥에 살짝 파묻어놓은거때문에 점프키 눌러도 씹히나? ...라고 생각했는데 private void FixedUpdate() { /*if (currentSpeed > 0.2f)*/ Rotate(playerInput.moveInput); Move(playerInput.moveInput); if (playerInput.jump) { isJumpPressed = true; Jump(); } } 하고 그냥 키입력 눌리는순간 바로 반영되게 해놨던거라 그냥 키 자체가 아예 입력 씹히는거같고 아오
void Update() { forGroundCheck = characterController.height /2; isGrounded = IsGrounded(); } 위에 GroundCheck는 발 바로 아래 BoxCast가 생성되게 해본거라 아마 상관없을거고 아무튼 Update안에 ...아 저 변수를 쓰진 않았나? 잠시
이걸로 Input 받고
주석 자잘하게 이것저것 체크하겠다고 너저분하게 주렁주렁한건 일단 무시하고..
private void OnDrawGizmos() { Gizmos.color = Color.cyan; Gizmos.DrawWireCube(transform.position - transform.up * forGroundCheck, boxSize); } } 로 일단 지금까지 작성한건 이게 다고
스페이스를 계속 난타하는데 이렇게 되다말다 하는중
일단 PlayerMovement의 fixedupdate에 있는 점프키 검사판정을 update로 옮겨봐
if (playerInput.jump) { isJumpPressed = true; Jump(); } 왠지 이 부분을 update로 옮기면 문제해결될 듯한?
내 하루가 ㅆ벌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 감사요 바로되네 씁
갸아아아악
와 잘되는구나 진짜 다행이다
참고한 인강 실습자료는 제대로 된 모델과(발바닥에서 레이캐스트 쏴서 땅에 닿는지 여부 체크한댔나) characterController.isGrounded를 사용해서 FixedUpdate()에 넣어놔도 작동했던건가 씁... 암튼 감사합니다 으어어
오히려 나도 좋은 복습기회가 됐어! 이게 fixedUpdate는 일정 간격을 두고 돌아가는데 키 입력 검사가 여기에 들어가는 바람에 키입력이 일정시간대에만 먹히는 형태가 되서 생긴 문제였으니깐 키 입력처럼 실시간으로 검사해야 하는건 까먹지 말고 매 프레임마다 돌아가는 update에 넣어야게따
FixedUpdate는 아직 거의 안써봐서 잘 몰랐는데 아주 환영식이 성대했어 씁... 일정 주기로 실행되는 타이밍에만 키입력이 통해서 생기는 문제였다니 으.
방법은 쉽지 처읍부터 다시 개발이다