3D 물리 Physics #1
Adding Physics Forces
마우스를 클릭하면 forward방향으로 물리적 힘을 가해지도록 해보겠습니다.
private void OnMouseDown()
{
Debug.Log("클릭");
Rigidbody Rigidoor = DOOR.GetComponent<Rigidbody>();
Rigidoor.AddForce(transform.forward * 1500);
}
Rigidoor.AddForce(transform.forward * 1500.ForceMode.);
ForceMode. 뒤에 설정값을 다르게 줄수도 있습니다.
ForceMode.Force : 질량의 영향값을 받아 작동, 연속적인 힘을 가하는 경우
ForceMode.Accelration 질량의 영향값 받지 않고 작동, 가속력
ForceMode.Impulse : 질량의 의해서 순간적으로 변함
ForceMode.VelocityChange : 질량의 영향받지 않고 짧은 순간에 적용
예상했던 장면이 나오지 않는다면 ForceMode를 바꿔보는것도 좋을것 같습니다.
private void OnTriggerStay(Collider other)
{
Rigidbody trigger = other.GetComponent<Rigidbody>();
trigger.AddForce(Vector3.up * 20f,ForceMode.Acceleration);
}
OnTriggerStay를 통해 이런 장면도 연출이 가능하겠죠??
Adding Physics Troque
이번에는 축을 중심으로 회전을 주겠습니다.
private void OnMouseDown()
{
Rigidbody RigObj = obj.GetComponent<Rigidbody>();
RigObj.AddTorque(transform.up * 1500);
RigObj.AddTorque(transform.right *2000);
}
RigObj.AddTorque(0, 10, 0); 이렇게도 사용이 가능합니다.
Forces와 마찬가지로 ForceMode 설정이 가능합니다.
#2에서는 픽스조인트,스프링조인트,피직스메티리얼에 대해서 알아보겠습니다
'유니티 > 컴포넌트' 카테고리의 다른 글
유니티) 2D Sprite 타일맵 그리기 충돌처리 TileMap #1 (0) | 2019.01.10 |
---|---|
유니티) 룰타일 & 타일맵 레이어 TileMap #2 (0) | 2019.01.08 |
유니티) 파티클시스템(Particle System) 파티클로 스킬넣기 (1) | 2019.01.01 |
유니티)TrailRenderer 총알,발사체 효과내기 (2) | 2018.12.26 |
유니티)캐릭터 컨트롤러 (Character Controller) (4) | 2018.12.11 |