inflearn logo
강의

講義

知識共有

絶対講座!Unity 6 - TPSゲームで学ぶUnityマスタークラス

物理エンジンとコライダー - 発射体実装 (2/2)

Bullet이 방향 문제가 있어요.

108

작성자 없음

投稿した質問数 0

0

안녕하세요. 강의 잘 듣고 있습니다.

총알을 아래와 같이 쐈습니다.
총구는
void Shoot()

{

Debug.Log($"FirePos Position: {firePos.position}, Rotation: {firePos.eulerAngles}");

Instantiate(bulletPrefab, firePos.position, firePos.rotation);

}

총알 자체는 이렇게 힘을 주었습니다.
void Start()

{

rb = GetComponent<Rigidbody>();

rb.AddRelativeForce(transform.forward * speed);

}

 

AddForce를 하면 정확히 잘 나가는데
AddRelativeForce를 하면 2배로 각이 회전되어 날라갑니다.
0도에서는 직진, 45도에서는 90도? 이런식으로 날라가네요.
로그로 각도를 확인해봐도 생성시 전역좌표는 문제가 없어보입니다.

제가 뭔가 잘못한것일까요?

확인 부탁드립니다.

 

C# unity

回答 3

0

indiegamemaker

답변이 많이 늦었습니다. 해결하셨다니 다행이세요.

꼭 완강하시길 응원합니다.

0

uuuuuup

transform.forward 가 문제였네요. Vector3.forward로 하면 잘되네요.

0

indiegamemaker

답변이 많이 늦었습니다. 해결하셨다니 다행이세요.

꼭 완강하시길 응원합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 굿데이님.

Unity에서 AddRelativeForce를 사용할 때 발생하는 문제에 대해 문의 주셨네요. AddRelativeForce는 객체의 로컬 좌표계를 기준으로 힘을 주는 방식입니다. 따라서, 객체의 로컬 회전 상태에 따라 예상치 못한 방향으로 힘이 가해질 수 있습니다. 현재 상황에서는 Bullet의 방향이 두 배로 회전된 것처럼 보이는데요, 이는 다음과 같은 몇 가지 원인과 해결책이 있을 수 있습니다:

원인 및 해결책

  1. 로컬 좌표 기준 문제

    • AddRelativeForce를 사용하면 해당 객체의 로컬 좌표를 기준으로 힘을 가합니다. 따라서, 총알이 발사될 때의 초기 방향이 이미 원하는 방향으로 설정되어 있는지를 확인해야 합니다. transform.forward가 정확한 방향을 나타내고 있는지를 확인해 보세요.
  2. 총구의 회전 상태

    • 총구(firePos)가 초기화된 상태가 올바른지 확인해 봐야 합니다. 특정 각도에서 회전된 상태로 총알이 발사될 수 있기 때문입니다.
  3. 중복된 회전

    • firePos.rotationtransform.forward로 인한 중복된 회전 적용일 가능성이 있습니다. 만약 firePos.rotation이 이미 전역 좌표계를 기준으로 회전 설정이 되어 있다면, 이 회전 상태를 로컬 좌표계에서도 동일하게 반영하려 한다면 불필요하게 중복된 회전이 적용될 수 있습니다.

다양한 방식으로 문제를 해결했다는 게시물이 있으니 참고해 보면 좋습니다:
- Unity에서 AddRelativeForce 사용하기

위의 내용들이 도움이 되셨기를 바랍니다. 추가로 궁금하신 점이 있으면 언제든지 질문해 주세요. 강의의 지식공유자님께서도 추가적인 도움을 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

OAuth방식 강의 문의

0

6

0

싱글턴패턴

0

2

1

코드 관련 질문

0

21

2

섹션7 수업자료 업로드 부탁드립니다.

0

22

2

Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의

0

19

1

prefab 관련 문의

0

67

1

딜레이를 주고 싶을 때 코루틴을 사용하는 이유

0

106

2

Spider 사망 시 두 번 폭발관련

0

101

2

Player에 Event 연결 관련 질문

0

94

2

Barrel에 IDamagable 적용 관련 질문

0

74

2

Stun 로직 관련해서 문제가 발생합니다.

0

189

2

Bullet, AimDot 코드 질문

1

135

2

안녕하세요 이벤트 버스 패턴에 대해서 궁금한게 있어서요

0

211

2

선생님 궁금한게 있는데요

0

167

2

비헤이비어 그래프 방식이요

1

136

2

콜백 함수, garbage colleection에 대해

0

119

1

스크립터블 오브젝트에 대해 질문이 있습니다

0

125

1

오디오 관련해서 질문 있습니다.

0

150

2

[질문] ScriptableObject 를 활용한 이벤트 버스 관련 질문이 있습니다.

0

279

1

[질문] Component 이름 관련해서 질문이 있습니다.

0

124

1

[질문] Custom NavMesh Link 관련해서 궁금한게 있습니다.

0

104

2

[질문] Scriptable Object르 이용한 메모리 최적화 관련 질문이 있습니다.

0

216

2

강사님~ 오디오 파일 관련해서 질문있습니다!

0

182

2

IDamagable 활용

0

167

1