02-05 플레이어 원거리공격. 혹시 저처럼 공이 빨리 사라지는 경우
혹시 저처럼 공이 빨리 사라지는 경우가 있는 분들을 위해 글을 남깁니다.
공을 생성해서 던질때, 공이 지면과 충돌하면서(공이 수평으로 이동하는 것이 아니라, 대각선으로 이동하면서 충돌)
약간의 x방향 속도가 줄어들 수 있습니다.
아마도 그런 이유 때문인지, 제가 실습해보니, 지면에 닿자마자 공 오브젝트가 모두 사라집니다.
그래서 다음 코드를 이렇게 고쳤어요.
void Update(){
if ( movement.IsGrounded ) movement.Jump();
if( Mathf.Abs(movement.Velocity.x) < (originSpeed - some)){
Destroy(gameObject);
}
}
movement.Velocity.x < originSpeed 대신에,
originSpeed에서 약간의 값을 빼주는 식으로 했습니다.
시험해 보니 0.1f 만 빼줘도 되더라구요.
some 대신에 직접적으로 0.1f를 넣으시면 됩니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
idim7님께서 설명하신 문제는 2D 플랫포머 게임 제작 시, 플레이어가 던진 공이 지면에 닿았을 때 너무 빨리 사라지는 현상과 관련이 있습니다. 이는 공이 수평으로 이동할 때 마찰이나 다른 충돌 효과로 인해 예상보다 빨리 멈추게 되는 경우 발생할 수 있습니다.
이 문제를 해결하기 위해 idim7님께서 제안하신 방법은 공의 X축 속도가 원래 설정된 속도보다 약간 낮을 때도 공을 파괴하지 않도록 하는 것입니다. 이를 통해 공이 조금 더 오래 유지되도록 조정할 수 있습니다.
주어진 코드를 참고하면:
- movement.Velocity.x가 originSpeed보다 약간 작은 경우에도 공이 사라지지 않도록 설정합니다.
- originSpeed에서 0.1f를 빼는 방식으로 조건을 완화하여, 충돌 이후에도 공이 사라지지 않고 정상적으로 움직일 수 있도록 합니다.
이런 방식의 접근은 공이 갑작스럽게 사라지는 것을 방지하며 게임의 물리적 동작을 더 자연스럽게 만들어줍니다.
유사한 문제와 해결 사례 참고:
질문과 관련된 더 많은 정보와 구체적인 에러 메시지나 코드를 공유해주시면 추가적인 도움이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의
0
12
1
02-01 이동 발판 (Platform_00_Moving) 질문
0
65
3
Rigidbody2D의 linearVelocity 제어
0
172
3
강의 01-02에서 프리팹 렌더링 오류
0
138
2
02-05 레벨시작(마지막 강의)에서 SelectLevelController오브젝트의 SelectLevelController 컴포넌트조작
0
115
1
간혹 벽의 콜라이더를 뚫고 빠지는 경우
0
167
1
02-07 별아이템을 bool[] 로 한 이유가 궁금해요.
0
167
1
02-02 플레이어 체력에서 if(current >1)을 if(current > 0) 로...
0
100
1
03-01 Hidden Tilmap에서
0
109
2
02-04 점프발판 Animation 뷰에서 이미지 나오게 하는 방법이 궁금해요.
0
133
1
02-03 추락하는 발판에서 isKinematic = true;로 하면, 중력영향 안받으니
0
184
2
02-03 추락하는 발판의 Mathf.PingPong 메소드 설명문 수정해야 겠어요.
0
187
2
02-02 플레이어와 발판: PlatformBase 상속클래스 어태치문제
0
158
2
01-04. 부서지는 타일에서 첫번째타일
0
164
3
01-03 부서지지 않고 튀는 타일 충돌처리 부분 코드 바뀌어야 될 것 같습니다.
0
147
2
03-04 배경화면 스크롤에서 MainCamera의 depth를 수정해야 되지 않나요?
0
94
2
jumpBuffer에서 if(IsGrounded) 설정이 있어야 될 것 같아서 질문드립니다.
0
179
3
플렛포머 게임 3 - 1 강의 질문
0
189
1
Platformer Game 강의 관련 질문
0
254
2
플레이어 캐릭터에 Renderer를 추가하는 이유가 있을까요?
0
271
1
선생님 이 강의를 토대로 개발하고 있는데
0
210
1
통과하는 발판(OneWay)을 움직이는 발판을 적용할 방법은 없나요
0
275
2
적에게 닿은상태로 있을때
0
233
1
강의자료 다운로드가 딱 53~54MB 정도에서 멈춥니다.
0
321
2





