示例#1
0
    public void Grab(GameObject Hand)
    {
        //set Parent
        transform.parent = Hand.transform;

        //setup Rigidbody
        //__Rigidbody.useGravity = false;
        __Rigidbody.constraints = RigidbodyConstraints.FreezeAll;

        //set Target Transform
        __TargetPosition = transform.localPosition;
        __TargetRotation = transform.localEulerAngles;

        //set Logic
        _logic = _logic_grabbed;
    }
示例#2
0
    public void Release(Vector3 velocity)
    {
        //if it is already released, continue;
        if (transform.parent == __ReleasedParent)
        {
            return;
        }
        //set Parent
        transform.parent = __ReleasedParent;

        //setup Rigidbody
        //__Rigidbody.useGravity = true;
        __Rigidbody.constraints = RigidbodyConstraints.None;
        __Rigidbody.velocity    = velocity;
        __Rigidbody.AddTorque(Random.rotation.eulerAngles * 0.1f);

        //set Logic
        _logic = _logic_released;
    }