Пример #1
0
 void Start()
 {
     top            = transform.FindChild("Top").GetComponent <AdjustableTableMesh>();
     middle         = transform.FindChild("Middle").GetComponent <AdjustableTableMesh>();
     bottom         = transform.FindChild("Bottom").GetComponent <AdjustableTableMesh>();
     sphereCollider = top.GetComponent <SphereCollider>();
 }
    void Update()
    {
        if (leftControllerClicked && rightControllerClicked)
        {
            Debug.Log("Resize Table in progress");
            Transform left  = leftController.transform.Find("Model/base/attach");
            Transform right = rightController.transform.Find("Model/base/attach");

            float distance = Vector3.Distance(left.position, right.position);

            Vector3 center = Vector3.Lerp(left.position, right.position, 0.5f);

            Debug.Log("center: " + center.ToString() + " distance: " + distance);
            Debug.Log("left: " + left.ToString() + " right: " + right.ToString());

            AdjustableTableMesh topMesh = tableTop.GetComponent <AdjustableTableMesh>();
            topMesh.bottomRadius = distance / 2;
            topMesh.topRadius    = distance / 2;
            topMesh.UpdateMesh();
            tableTop.transform.position = center;

            AdjustableTableMesh middleMesh = tableMiddle.GetComponent <AdjustableTableMesh>();
            middleMesh.height = center.y;
            middleMesh.UpdateMesh();

            AdjustableTableMesh bottomMesh = tableBottom.GetComponent <AdjustableTableMesh>();
            bottomMesh.UpdateMesh();

            transform.position = new Vector3(center.x, 0, center.z);
        }
    }