2012-08-28 2 views
1

방향을 선언하지 않고 오브젝트에 힘을 가하는 방법이 있습니까? 공을 던지고 싶지만 한 번 릴리스 할 때 강제로 추가해야합니다. 이 코드 rigidbody.velocity = transform.forward * 20;을 사용했지만 볼이 방향을 바꾸어 볼이 화면에서 사용자가 의도 한 방향을 따른 후에 앞으로 움직였습니다.방향이없는 힘 추가

답변

0

, 당신은 그 속도의 방향으로 볼이 어디로 가는지, 즉 방향으로 힘 (? 아니면 충동)을 적용 할 아주 잘 이해하지 못했습니다. 내 말은, 그 힘은 방향이 있어야한다는 것입니다. 이미 가고있는 곳으로 가고 싶다고 가정하고 있습니다.

1

Rigidbody.AddForce을 시도하고 다른 ForceModes으로 게임하십시오. 내가 올바르게 당신을 이해한다면, Impulse 나 VelocityChange가 당신의 필요에 부합 할 것입니다.

Vector3 forceDirection = transform.velocity * 20; 
currentGameObject.rigidbody.AddForce(forceDirection, ForceMode.Impulse); // or ForceMode.Force 

I : 내가 이해하면

Vector3 forceDirection = transform.forward * 20; 
currentGameObject.rigidbody.AddForce(forceDirection, ForceMode.Force); 
+0

코드 동작은 내가 게시 한 것과 동일 할 것 같습니다. 문제는 내가 공을 던지거나 굴릴 때 항상 같은 path.ex를 따르는 것입니다. 중앙에 던진 첫 번째 공이 센터에 도착하고 착륙하면 모든 공이 그런 식으로 행동합니다. 동일한 대본을 사용하기 때문에. 공을 왼쪽으로 드래그하여 공을 굴리면 공이 굴러갑니다. 그 위치에서 똑바로 앞으로 움직여야합니다. 또는 가장 좋은 것은 손가락의 움직임의 방향을 따르는 것이고, 예를 들어 플릭 킥 스타터가 될 것입니다. – 11111