コード例 #1
0
    /// <summary>
    /// Changes Spoiler attached to car
    /// </summary>
    public static void SetSpoiler(VehiclePhysics vehicle, int value)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        if (sp)
        {
            DestroyImmediate(sp);
        }

        if (!vehicle.carProperties.spoilers[value].spoiler)
        {
            return;
        }

        GameObject parent  = GameObject.Find(vehicle.transform.name + "/Chassis/Spoiler");
        GameObject spoiler = (GameObject)Instantiate(vehicle.carProperties.spoilers[value].spoiler);

        spoiler.transform.parent        = parent.transform;
        spoiler.transform.localPosition = vehicle.carProperties.spoilers[value].position;
        spoiler.transform.localRotation = Quaternion.Euler(vehicle.carProperties.spoilers[value].rotation);

        spoilerIndex = value;
        sp           = spoiler;
    }
コード例 #2
0
    /// <summary>
    /// Set Rear Suspension Distances.
    /// </summary>
    public static void SetRearSuspensionsDistances(VehiclePhysics vehicle, float distance)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        if (distance <= 0)
        {
            distance = .05f;
        }

        vehicle.RearLeftWheelCollider.wheelCollider.suspensionDistance  = distance;
        vehicle.RearRightWheelCollider.wheelCollider.suspensionDistance = distance;

        if (vehicle.ExtraRearWheelsCollider != null && vehicle.ExtraRearWheelsCollider.Length > 0)
        {
            foreach (VehiclePhysicsWheelCollider wc in vehicle.ExtraRearWheelsCollider)
            {
                wc.wheelCollider.suspensionDistance = distance;
            }
        }

        OverrideVehicle(vehicle);
    }
コード例 #3
0
    /// <summary>
    /// Changes Front Bumpers attached to car
    /// </summary>
    public static void SetFrontBumper(VehiclePhysics vehicle, int value)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        if (fb)
        {
            DestroyImmediate(fb);
        }

        vehicle.RemoveArrayNullElements();

        if (!vehicle.carProperties.frontBumpers[value].bumper)
        {
            return;
        }

        GameObject parent = GameObject.Find(vehicle.transform.name + "/Chassis/Front Bumper");
        GameObject bumper = (GameObject)Instantiate(vehicle.carProperties.frontBumpers[value].bumper);

        bumper.transform.parent        = parent.transform;
        bumper.transform.localPosition = vehicle.carProperties.frontBumpers[value].position;
        bumper.transform.localRotation = Quaternion.Euler(vehicle.carProperties.frontBumpers[value].rotation);

        frontBumperIndex = value;
        fb = bumper;

        vehicle.deformMeshes.Add(bumper.GetComponent <MeshFilter>());
        vehicle.DamageInit();
    }
コード例 #4
0
    /// <summary>
    /// Set All Suspension targetPositions. It changes targetPosition of the all WheelColliders.
    /// </summary>
    public static void SetAllSuspensionsTargetPos(VehiclePhysics vehicle, float targetPosition)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        targetPosition = Mathf.Clamp01(targetPosition);

        JointSpring spring1 = vehicle.RearLeftWheelCollider.wheelCollider.suspensionSpring;

        spring1.targetPosition = 1f - targetPosition;

        vehicle.RearLeftWheelCollider.wheelCollider.suspensionSpring = spring1;

        JointSpring spring2 = vehicle.RearRightWheelCollider.wheelCollider.suspensionSpring;

        spring2.targetPosition = 1f - targetPosition;

        vehicle.RearRightWheelCollider.wheelCollider.suspensionSpring = spring2;

        JointSpring spring3 = vehicle.FrontLeftWheelCollider.wheelCollider.suspensionSpring;

        spring3.targetPosition = 1f - targetPosition;

        vehicle.FrontLeftWheelCollider.wheelCollider.suspensionSpring = spring3;

        JointSpring spring4 = vehicle.FrontRightWheelCollider.wheelCollider.suspensionSpring;

        spring4.targetPosition = 1f - targetPosition;

        vehicle.FrontRightWheelCollider.wheelCollider.suspensionSpring = spring4;

        OverrideVehicle(vehicle);
    }
コード例 #5
0
ファイル: UIButtons.cs プロジェクト: Gavincoffelt/ARCPD
 void Start()
 {
     Player        = GameObject.FindGameObjectWithTag("Player");
     PlayerPhysics = Player.GetComponent <VehiclePhysics>();
     Stick         = GameObject.FindGameObjectWithTag("JoyStick");
     ResetButton   = GameObject.Find("ResetButton");
 }
コード例 #6
0
 public WheelComponent( GameObject vehiclePhysics )
 {
     mainVehiclePhysics = vehiclePhysics.GetComponent<VehiclePhysics>( );
     vehicleColliders = mainVehiclePhysics.vehicleWheels;
     SetupWheelObjects( );
     CalculateDistanceBetweenAxles( );
     CalculateDistanceBetweenRearWheels( );
 }
コード例 #7
0
ファイル: VehicleAgent.cs プロジェクト: JMWorden/ML-Vehicle
 public override void InitializeAgent()
 {
     vehiclePhys = GetComponent <VehiclePhysics>();
     vehiclePhys.vehicleBody.centerOfMass = new Vector3(0f, 0.2f, 0.25f);
     this.distanceReward       = 0f;
     vehiclePhys.distFromGoalX = 0f;
     vehiclePhys.distFromGoalZ = 0f;
 }
コード例 #8
0
ファイル: EnemyAImain.cs プロジェクト: LAIALAIA1/Neon-Riders
 private void Start()
 {
     dT     = GameObject.Find("GlobalDataHolder").GetComponent <Datas>();
     Player = dT.Player;
     vP     = GetComponent <VehiclePhysics>();
     vP.setForwardSpeed(normalForwardSpeed);
     endlrd = GameObject.Find("WorldCreator").GetComponent <EndlessRoadScript>();
 }
コード例 #9
0
    /// <summary>
    ///	 Enable / Disable Smoke Particles. You can use it for previewing current wheel smokes.
    /// </summary>
    public static void SetSmokeParticle(VehiclePhysics vehicle, bool state)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.PreviewSmokeParticle(state);
    }
コード例 #10
0
    /// <summary>
    /// Enable / Disable TCS.
    /// </summary>
    public static void SetTCS(VehiclePhysics vehicle, bool state)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.TCS = state;
    }
コード例 #11
0
    /// <summary>
    /// Enable / Disable Steering Helper.
    /// </summary>
    public static void SetSH(VehiclePhysics vehicle, bool state)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.steeringHelper = state;
    }
コード例 #12
0
    /// <summary>
    /// Sets Body Color
    /// </summary>
    public static void SetCarBodyColor(VehiclePhysics vehicle, Color color)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.carProperties.carMaterial.color = color;
    }
コード例 #13
0
    /// <summary>
    /// Sets glossiness of the paint
    /// </summary>
    public static void SetPaintGlossiness(VehiclePhysics vehicle, float value)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.carProperties.carMaterial.SetFloat("_Glossiness", value);
    }
コード例 #14
0
    /// <summary>
    /// Sets glossiness of the RIM
    /// </summary>
    public static void SetRIMPaintGlossiness(VehiclePhysics vehicle, float value)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        ChangableWheels.Instance.wheels[wheelIndex].material.SetFloat("_Glossiness", value);
    }
コード例 #15
0
    /// <summary>
    ///	 Updates Vehicle while vehicle is inactive.
    /// </summary>
    public static void OverrideVehicle(VehiclePhysics vehicle)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.isSleeping = false;
    }
コード例 #16
0
    public static bool CheckVehicle(VehiclePhysics vehicle)
    {
        if (!vehicle)
        {
            Debug.LogError("Vehicle is missing!");
            return(false);
        }

        return(true);
    }
コード例 #17
0
ファイル: Chekpointstuff.cs プロジェクト: Gavincoffelt/ARCPD
    void Start()
    {
        curlap = 0;
        billy  = 0.0f;

        Checkpoint1 = GameObject.Find("Start");
        Checkpoint2 = GameObject.Find("Check2");
        hitcheck    = GameObject.FindGameObjectWithTag("Player").GetComponent <VehiclePhysics>();
        Lapcounter  = GameObject.Find("Butooon").GetComponent <ButtonManager>().laps;
    }
コード例 #18
0
    /// <summary>
    /// Enable / Disable Rev Limiter.
    /// </summary>
    public static void SetRevLimiter(VehiclePhysics vehicle, bool state)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.useRevLimiter = state;

        OverrideVehicle(vehicle);
    }
コード例 #19
0
    /// <summary>
    /// Set Drivetrain Mode.
    /// </summary>
    public static void SetDrivetrainMode(VehiclePhysics vehicle, VehiclePhysics.WheelType mode)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle._wheelTypeChoise = mode;

        OverrideVehicle(vehicle);
    }
コード例 #20
0
    /// <summary>
    /// Enable / Disable Counter Steering while vehicle is drifting. Useful for avoid spinning.
    /// </summary>
    public static void SetCounterSteering(VehiclePhysics vehicle, bool state)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.applyCounterSteering = state;

        OverrideVehicle(vehicle);
    }
コード例 #21
0
    /// <summary>
    /// Set Gear Shifting Threshold. Automatic gear will shift up at earlier rpm on lower values. Automatic gear will shift up at later rpm on higher values.
    /// </summary>
    public static void SetGearShiftingThreshold(VehiclePhysics vehicle, float targetValue)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.gearShiftingThreshold = targetValue;

        OverrideVehicle(vehicle);
    }
コード例 #22
0
    /// <summary>
    /// Set Clutch Threshold. Automatic gear will shift up at earlier rpm on lower values. Automatic gear will shift up at later rpm on higher values.
    /// </summary>
    public static void SetClutchThreshold(VehiclePhysics vehicle, float targetValue)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.clutchInertia = targetValue;

        OverrideVehicle(vehicle);
    }
コード例 #23
0
    /// <summary>
    /// Enable / Disable Turbo.
    /// </summary>
    public static void SetTurbo(VehiclePhysics vehicle, bool state)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.useTurbo = state;

        OverrideVehicle(vehicle);
    }
コード例 #24
0
    /// <summary>
    /// Set Steering Helper strength.
    /// </summary>
    public static void SetSHStrength(VehiclePhysics vehicle, float value)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.steeringHelper = true;
        vehicle.steerHelperLinearVelStrength  = value;
        vehicle.steerHelperAngularVelStrength = value;
    }
コード例 #25
0
    /// <summary>
    /// Enable / Disable Exhaust Flames.
    /// </summary>
    public static void SetUseExhaustFlame(VehiclePhysics vehicle, bool state)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.useExhaustFlame = state;

        OverrideVehicle(vehicle);
    }
コード例 #26
0
    /// <summary>
    /// Set Maximum Brake of the vehicle.
    /// </summary>
    public static void SetMaximumBrake(VehiclePhysics vehicle, float targetValue)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.brakeTorque = Mathf.Clamp(targetValue, 0f, 50000f);

        OverrideVehicle(vehicle);
    }
コード例 #27
0
    /// <summary>
    /// Set Maximum Speed of the vehicle.
    /// </summary>
    public static void SetMaximumSpeed(VehiclePhysics vehicle, float targetValue)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.maxspeed = Mathf.Clamp(targetValue, 10f, 300f);

        OverrideVehicle(vehicle);
    }
コード例 #28
0
    /// <summary>
    /// Enable / Disable Clutch Margin.
    /// </summary>
    public static void SetClutchMargin(VehiclePhysics vehicle, bool state)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        vehicle.useClutchMarginAtFirstGear = state;

        OverrideVehicle(vehicle);
    }
コード例 #29
0
    /// <summary>
    /// Enable / Disable Exhaust Flame Particles.
    /// </summary>
    public static void SetExhaustFlame(VehiclePhysics vehicle, bool state)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        Exhaust[] exhausts = vehicle.GetComponentsInChildren <Exhaust>();

        foreach (Exhaust exhaust in exhausts)
        {
            exhaust.previewFlames = state;
        }
    }
コード例 #30
0
    /// <summary>
    /// Sets RIM Color
    /// </summary>
    public static void SetRimColor(VehiclePhysics vehicle, Color color)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        ChangableWheels.Instance.wheels[wheelIndex].material.color = color;

        if (ChangableWheels.Instance.wheels[wheelIndex].material2)
        {
            ChangableWheels.Instance.wheels[wheelIndex].material2.color = color;
        }
    }
コード例 #31
0
    /// <summary>
    /// Set Rear Suspension Spring Damper.
    /// </summary>
    public static void SetRearSuspensionsSpringDamper(VehiclePhysics vehicle, float targetValue)
    {
        if (!CheckVehicle(vehicle))
        {
            return;
        }

        JointSpring spring = vehicle.RearLeftWheelCollider.GetComponent <WheelCollider>().suspensionSpring;

        spring.damper = targetValue;
        vehicle.RearLeftWheelCollider.GetComponent <WheelCollider>().suspensionSpring  = spring;
        vehicle.RearRightWheelCollider.GetComponent <WheelCollider>().suspensionSpring = spring;

        OverrideVehicle(vehicle);
    }
コード例 #32
0
 public void Start ( )
 {
     vehiclePhysics = GetComponent<VehiclePhysics>( );
     wheelComponent = vehiclePhysics.wheelComponent;
 }
コード例 #33
0
 void Start ( )
 {
     //vehicle = GetComponent<VehicleParent>( );
     vehicle = GetComponent<VehiclePhysics>( );
 }