Using the accelerometer

I have created car :smile:

but I can drive the car only with the keys W,S,D,A
and I want to drive with accelerometer.

My code:

using UnityEngine;
using System.Collections;

public class CarController : MonoBehaviour {
    
    public WheelCollider[] WColForward;
    public WheelCollider[] WColBack;
    
    public float maxSteer = 30; 
    public float maxAccel = 25; 
    public float maxBrake = 50; 
    
    
    // Use this for initialization
    void Start () {
    
    }
    
    
    void FixedUpdate () {
        
        float accel = 0;
        float steer = 0;
                
        accel = Input.GetAxis("Vertical");  
        steer = Input.GetAxis("Horizontal"); [COLOR="blue"]//I need to replace it, but I do not know what to write	 [/COLOR]	
        
        CarMove(accel,steer); 
        
    }
    
    private void CarMove(float accel,float steer){ 
        
        foreach(WheelCollider col in WColForward){
            col.steerAngle = steer*maxSteer; 
        }
        
        if(accel == 0){ 
            foreach(WheelCollider col in WColBack){  
                col.brakeTorque = maxBrake; 
            }	
            
        }else{ 
                                
            foreach(WheelCollider col in WColBack){ 
                col.brakeTorque = 0; 
                col.motorTorque = accel*maxAccel; 
            }	
            
        }
        
                
        
    }
}

Help me please)

// Move object using accelerometer
var speed = 10.0;

function Update () {
    var dir : Vector3 = Vector3.zero;

    // we assume that device is held parallel to the ground
    // and Home button is in the right hand
    
    // remap device acceleration axis to game coordinates:
    //  1) XY plane of the device is mapped onto XZ plane
    //  2) rotated 90 degrees around Y axis
    dir.x = -Input.acceleration.y;
    dir.z = Input.acceleration.x;
    
    // clamp acceleration vector to unit sphere
    if (dir.sqrMagnitude > 1)
        dir.Normalize();
    
    // Make it move 10 meters per second instead of 10 meters per frame...
    dir *= Time.deltaTime;
        
    // Move object
    transform.Translate (dir * speed);
}

Use this and draw what is required… thus you will need to manage device orientation and auto calibration

c#

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
    public float speed = 10.0F;
    void Update() {
        Vector3 dir = Vector3.zero;
        dir.x = -Input.acceleration.y;
        dir.z = Input.acceleration.x;
        if (dir.sqrMagnitude > 1)
            dir.Normalize();
        
        dir *= Time.deltaTime;
        transform.Translate(dir * speed);
    }
}