public void RemoveHandRef()
 {
     handControlerSimulate = null;
     controllerSimulate    = null;
     handAttachPoint       = null;
     attachPoint           = null;
     originalLocalPoint    = Vector3.zero;
 }
    private void OnValidate()
    {
        if (Application.isPlaying || isReady)
        {
            if (handControlerSimulate != null)
            {
                handControlerSimulate.SetActive(false);
            }
            return;
        }

        if (handControlerSimulate != null)
        {
            handControlerSimulate.SetActive(true);
        }

        GetPrefab();


        if (prefabGrabHandController != null && handControlerSimulate == null)
        {
            handControlerSimulate = Instantiate(prefabGrabHandController);
            //handControlerSimulate.hideFlags = HideFlags.HideInHierarchy;
            handControlerSimulate.transform.localScale = new Vector3(handControlerSimulate.transform.localScale.x, handControlerSimulate.transform.localScale.y, handControlerSimulate.transform.localScale.z * (leftHand ? 1 : -1));
            controllerSimulate = handControlerSimulate.GetComponentInChildren <HandControllerSimulate>();
            handControlerSimulate.transform.position = transform.position;
        }
        else if (handControlerSimulate != null)
        {
            controllerSimulate = handControlerSimulate.GetComponentInChildren <HandControllerSimulate>();
            handControlerSimulate.transform.SetParent(null);
        }
        if (controllerSimulate != null)
        {
            controllerSimulate.SetVariables(grabbingType, animateFrame);
        }
    }