Exemple #1
0
        public void ToPhysics(TensegrityParameters param)
        {
            if (m_ConfigurableJoint != null)
            {
                return;
            }
            var fromBar = startPoint.AttatchedBar;
            var toBar   = endPoint.AttatchedBar;

            m_ConfigurableJoint = fromBar.gameObject.AddComponent <ConfigurableJoint>();
            m_ConfigurableJoint.connectedBody = toBar.body;
            m_ConfigurableJoint.autoConfigureConnectedAnchor = false;
            m_ConfigurableJoint.enableCollision = true;
            m_ConfigurableJoint.anchor          = startPoint.transform.localPosition;
            m_ConfigurableJoint.connectedAnchor = endPoint.transform.localPosition;
            m_ConfigurableJoint.xMotion         = ConfigurableJointMotion.Limited;
            m_ConfigurableJoint.yMotion         = ConfigurableJointMotion.Limited;
            m_ConfigurableJoint.zMotion         = ConfigurableJointMotion.Limited;
            m_ConfigurableJoint.angularXMotion  = ConfigurableJointMotion.Free;
            m_ConfigurableJoint.angularYMotion  = ConfigurableJointMotion.Free;
            m_ConfigurableJoint.angularZMotion  = ConfigurableJointMotion.Free;
            limit              = m_ConfigurableJoint.linearLimit;
            spring             = m_ConfigurableJoint.linearLimitSpring;
            defualtLimitLength = defaultGeometryLength * param.PreTenseParameter;
            limit.limit        = defualtLimitLength;
            spring.spring      = param.spring;
            spring.damper      = param.damper;
            m_ConfigurableJoint.linearLimit       = limit;
            m_ConfigurableJoint.linearLimitSpring = spring;
        }
        public void ToPhysics(TensegrityParameters param)
        {
            if (!GetComponent <Rigidbody>())
            {
                body = gameObject.AddComponent <Rigidbody>();

                body.isKinematic = true;
            }
        }