示例#1
0
        public override void UpdateController(float dt)
        {
            if (Body == null)
            {
                return;
            }

            if (Force != null && Force != Vector3.Zero)
            {
                Body.AddBodyForce(Force * forceMag);
                //Body.AddBodyForce(Force * forceMag);
                if (!Body.IsActive)
                {
                    Body.SetActive();
                }
            }
            if (Torque != null && Torque != Vector3.Zero)
            {
                if (torqueMag > 0)
                {
                }
                Body.AddBodyTorque(Torque * torqueMag);
                if (!Body.IsActive)
                {
                    Body.SetActive();
                }
            }
        }
示例#2
0
        public override void UpdateController(float dt)
        {
            if (Body == null)
            {
                return;
            }
            //Body.impulse
            if (worldForce)
            {
                if (Force != null && Force != Vector3.Zero)
                {
                    if (ForcePosition == Vector3.Zero)
                    {
                        Body.AddWorldForce(Force * forceMag);
                    }
                    else
                    {
                        Body.AddWorldForce(Force * forceMag, ForcePosition);
                    }

                    if (!Body.IsActive)
                    {
                        Body.SetActive();
                    }
                }
                if (Torque != null && Torque != Vector3.Zero)
                {
                    Body.AddWorldTorque(Torque * torqueMag);
                    if (!Body.IsActive)
                    {
                        Body.SetActive();
                    }
                }
            }
            else
            {
                if (Force != null && Force != Vector3.Zero)
                {
                    if (ForcePosition == Vector3.Zero)
                    {
                        Body.AddBodyForce(Force * forceMag);
                    }
                    else
                    {
                        Body.AddBodyForce(Force * forceMag, ForcePosition);
                    }

                    if (!Body.IsActive)
                    {
                        Body.SetActive();
                    }
                }
                if (Torque != null && Torque != Vector3.Zero)
                {
                    Body.AddBodyTorque(Torque * torqueMag);
                    if (!Body.IsActive)
                    {
                        Body.SetActive();
                    }
                }
            }
        }