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에서는 픽스조인트,스프링조인트,피직스메티리얼에 대해서 알아보겠습니다








반응형

+ Recent posts