Example #1
0
 void OnCollisionStay(Collision collision)
 {
     if (collision.gameObject.GetComponent <Rigidbody>())
     {
         if (collision.contacts [0].separation < minDistance)
         {
             deformableMesh.AddDeformingForce(collision.contacts[0].point, -collision.contacts[0].normal, force, pointSensitivity);
         }
     }
 }
Example #2
0
    void HandleInput()
    {
        Ray        inputRay = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(inputRay, out hit))
        {
            DeformableMesh deformer = hit.collider.GetComponent <DeformableMesh>();
            if (deformer)
            {
                Vector3 point = hit.point;
                point += hit.normal * forceOffset;
                deformer.AddDeformingForce(point, hit.normal, force, forceOffset);
            }
        }
    }
Example #3
0
    void OnCollisionStay(Collision collision)
    {
        // Clay was put on pottery wheel
        if (collision.gameObject.GetComponent <PotteryWheel>())
        {
            SetKinematic(true);
        }
        else if (collision.gameObject.GetComponent <Rigidbody>())
        {
            if (collision.contacts [0].separation < minDistance)
            {
                deformableMesh.AddDeformingForce(collision.contacts[0].point, -collision.contacts[0].normal, force, pointSensitivity);
            }
            // to be test on Vive
//			deformableMesh.AddDeformingForceToCenter(collision.contacts[0].point, -collision.contacts[0].normal, force, pointSensitivity);
        }
    }