示例#1
0
文件: Up.cs 项目: WildGenie/actools
            public void Update(float swOffset, float swRadius, Kn5RenderableCar.SteeringWheelParams swParams)
            {
                var steerMatrix = Matrix.Translation(0, 0, swOffset) * Matrix.RotationZ(swParams.RotationDegress.ToRadians()) * swParams.OriginalLocalMatrix
                                  * swParams.ParentMatrix;

                SetOnSteeringWheel(steerMatrix, swRadius);

                /*return;
                 *
                 * if (_side < 0) {
                 *  MoveHand(Vector3.TransformCoordinate(new Vector3(0, 0, -0.8f), steerMatrix), Vector3.UnitY, Vector3.UnitY);
                 *  return;
                 * }
                 *
                 * var angle = ((swParams.RotationDegress + 180f) % 360 + 360) % 360 - 180f;
                 *
                 * // vertical offset of point on the wheel after rotation
                 *
                 * if (angle > 150f) {
                 *  var verticalOffset = Vector3.TransformNormal(Vector3.UnitX, steerMatrix);
                 *  steerMatrix = Matrix.Translation(0, 0, swOffset) * Matrix.RotationZ(150f.ToRadians()) * swParams.OriginalLocalMatrix
                 * swParams.ParentMatrix;
                 *
                 *  SetOnSteeringWheel(steerMatrix, swRadius);
                 *  SetSwitchingSmooth(steerMatrix, (angle - 150f) / 30f);
                 * } else if (angle < -90f) {
                 *  var verticalOffset = Vector3.TransformNormal(Vector3.UnitX, steerMatrix);
                 *  SetSwitching(steerMatrix, swRadius, verticalOffset);
                 * } else {
                 *  SetOnSteeringWheel(steerMatrix, swRadius);
                 * }
                 *
                 * _ds = $"{angle:F1}°";*/
            }
示例#2
0
文件: Up.cs 项目: WildGenie/actools
        public void Update(float offset, Kn5RenderableCar.SteeringWheelParams steeringWheelParams)
        {
            UPinit();

            _la.Update(_swOffset, _swRadius, steeringWheelParams);
            _ra.Update(_swOffset, _swRadius, steeringWheelParams);

            _dbg0.LocalMatrix = Matrix.Translation(_ra.GetThumbsPos());
            _dbg1.LocalMatrix = Matrix.Translation(_la._targetPoint);
            //_dbg.LocalMatrix = Matrix.Translation(targetPoint);
        }