유니티의 문서를 포함하여 어디에서나 보았지만 유니티의 Vector2.Reflect() 함수를 사용하는 좋은 예는 찾을 수 없습니다. 나는 벽에 부딪 힐 때 (2D 브레이크 아웃 게임에서) 공의 방향을 제어하기 위해 이것을 사용하려고합니다. 그것은 2 개의 인자 (inDirection, inNormal)를 취하지 만 이것을 어떻게 사용하는지 알 수는 없습니다. 어떤 도움을 주시면 감사하겠습니다.유니티 - Vector2.Reflect() 사용법
1
A
답변
3
inDirection
은 공의 속도가되어야하고 inNormal
은 벽에 수직 인 단위 벡터 여야합니다. 나는 현재 그 코드를 테스트 할 수 없습니다, 그래서 그것은 사물의 이름의 관점에서 조정해야 할 수 있습니다
void OnCollisionEnter(Collision collision)
{
Vector2D inDirection = GetComponent<RigidBody2D>().velocity;
Vector2D inNormal = collision.contacts[0].normal;
Vector2D newVelocity = Vector2D.Reflect(inDirection, inNormal);
}
참고 :
은 볼 오브젝트이를 넣어보십시오.
5
, 하나는 공의 방향 다른 하나는 벽의 법선입니다. –
2D 질문에서 [tag : unity3d]에 태그를 지정하는 이유는 무엇입니까? – devRicher
Unity3D는 2D 게임을 만들 때 사용하는 응용 프로그램의 이름입니다. – Kaz