Search Unity

Setting Wheel Collider Friction in C#

Discussion in 'Scripting' started by SoftwareEngineer, Sep 17, 2014.

  1. SoftwareEngineer

    SoftwareEngineer

    Joined:
    Jan 4, 2014
    Posts:
    52
    Hello guys, i have a problem with setting wheelcollider extremum slip in C#.

    I will give a simple example.

    public WheelCollider _colliderRR;

    i have defined my collider and now i want to change its extremumSlip when i press "Space" key.

    if(Input.GetKey(KeyCode.Space))
    {
    _colliderRR.sidewaysFriction.extremumSlip = 0.1f;
    }

    When i do this i have get the error saying:
    "Cannot modify a value type return value of `UnityEngine.WheelCollider.sidewaysFriction'. Consider storing the value in a temporary variable".

    But i can change it in javascript with this way but it does not work in C#. Can you please show me how i can do it in C#.

    Best regards.
     
  2. SoftwareEngineer

    SoftwareEngineer

    Joined:
    Jan 4, 2014
    Posts:
    52
    Is there anyone can help me?
     
  3. fffMalzbier

    fffMalzbier

    Joined:
    Jun 14, 2011
    Posts:
    3,276
    mvreis likes this.
  4. SoftwareEngineer

    SoftwareEngineer

    Joined:
    Jan 4, 2014
    Posts:
    52
  5. SoftwareEngineer

    SoftwareEngineer

    Joined:
    Jan 4, 2014
    Posts:
    52
    WheelFrictionCurve sideWaysFriction;

    I mean after i have declared sideWaysFriction how can i connect it to my collider?
    I have declared a collider as _colliderRR and i need to chang its extremum slip so can you tell me how i can access it via sideWaysFriction?
     
  6. fffMalzbier

    fffMalzbier

    Joined:
    Jun 14, 2011
    Posts:
    3,276
    Code (CSharp):
    1. if(Input.GetKey(KeyCode.Space))
    2. {
    3.     WheelFrictionCurve myWfc;
    4.     myWfc = _colliderRR.sidewaysFriction;
    5.     myWfc.extremumSlip = 0.1f;
    6.     _colliderRR.sidewaysFriction = myWfc;
    7. }
    8.