inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[유니티6] 따라하면서 배우는 고박사의 2D 플랫포머 게임 제작

02-05 플레이어 원거리 공격

02-05 플레이어 원거리공격. 혹시 저처럼 공이 빨리 사라지는 경우

해결된 질문

82

idim7

작성한 질문수 15

0

혹시 저처럼 공이 빨리 사라지는 경우가 있는 분들을 위해 글을 남깁니다.

공을 생성해서 던질때, 공이 지면과 충돌하면서(공이 수평으로 이동하는 것이 아니라, 대각선으로 이동하면서 충돌)
약간의 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를 넣으시면 됩니다.

C# unity

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

idim7님께서 설명하신 문제는 2D 플랫포머 게임 제작 시, 플레이어가 던진 공이 지면에 닿았을 때 너무 빨리 사라지는 현상과 관련이 있습니다. 이는 공이 수평으로 이동할 때 마찰이나 다른 충돌 효과로 인해 예상보다 빨리 멈추게 되는 경우 발생할 수 있습니다.

이 문제를 해결하기 위해 idim7님께서 제안하신 방법은 공의 X축 속도가 원래 설정된 속도보다 약간 낮을 때도 공을 파괴하지 않도록 하는 것입니다. 이를 통해 공이 조금 더 오래 유지되도록 조정할 수 있습니다.

주어진 코드를 참고하면:
- movement.Velocity.xoriginSpeed보다 약간 작은 경우에도 공이 사라지지 않도록 설정합니다.
- 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