Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
12 Jun 22 - 14 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by tulloch100 · Jul 30, 2017 at 10:10 PM · c#scripting problemscript.carmovment

How to Attach Steering wheel script to a car moment script

Hi I have a steering wheel script that allows me to move the steering wheel left and right in the inspector. plus I also have a car moment script that allow me to move forward and back and turn left and right.

I want to me able to attach the steering wheel script i have to the car moment script so I can steer steering wheel moves when I turn the car

is there a way I can do this

Steering Wheel Script

[code=CSharp]

 using System.Collections;
 using UnityEngine;

 public class SteeringWheelRotation : MonoBehaviour {
     [Range(-45f,45f)]
     public float steeringWheelRotationAmount = 0f;

 public float wheelRotationDampening = 0.5f;

 public Transform frontLeftWheel, frontRightWheel;

 // Use this for initialization
 void Start () {
     
 }

 // Update is called once per frame
 void Update () {
     transform.eulerAngles = new Vector3 (transform.eulerAngles.x, transform.eulerAngles.y, -steeringWheelRotationAmount);

 }
 }

[/code]

Car Moment Script

[code=CSharp]

   using System.Collections;
   using UnityEngine;

   public class Car : MonoBehaviour 
  {
 public float maxTorque = 5000f;
 public float speed;


 public Transform centerofMass;

 public WheelCollider[] wheelColliders = new WheelCollider[4];
 public Transform[] tireMeshes = new Transform[4];

 private Rigidbody m_rigidBody;

 void Start()
 {
     m_rigidBody = GetComponent<Rigidbody>();
     m_rigidBody.centerOfMass = centerofMass.localPosition;
 }

 void Update()
 {
     UpdateMeshesPositions();
 }

 void FixedUpdate()
 {
     float steer = Input.GetAxis ("Horizontal");
     float accelrate = Input.GetAxis ("Vertical"); 

     float finalAngle = steer * 45f;
     wheelColliders [0].steerAngle = finalAngle;
     wheelColliders [1].steerAngle = finalAngle;

     for (int i = 0; i < 4; i++) 
     {
         wheelColliders[i].motorTorque = accelrate * maxTorque;
     }
 }

 void UpdateMeshesPositions()
 {
     for(int i = 0; i < 4; i++)
     {
         Quaternion quat;
         Vector3 pos;
         wheelColliders[i].GetWorldPose(out pos, out quat);

         tireMeshes[i].position = pos;
         tireMeshes[i].rotation = quat;
     }
 }

[/code]

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
1

Answer by saadali211 · Oct 03, 2018 at 08:25 AM

✅ [ SOLUTION ] Here is a detailed video tutorial with free Asset follow this video to implement the Steering wheel script to a car.

https://youtu.be/0D-WBP18hxY alt text


carparking02.png (273.4 kB)
Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by nt314p · Jul 30, 2017 at 10:32 PM

Pardon me if this is not what you wanted, but:

While clicking on your car gameobject, in the inspector, click on the Add Component button. Click on Scripts, and then click on your steering script.

You can also have the script open in the project view and drag the script onto the car gameobject.

Comment
Add comment · Show 4 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image tulloch100 · Jul 30, 2017 at 10:40 PM 0
Share

No that didnt work cause it rotated the car now and not the steering wheel

avatar image nt314p tulloch100 · Aug 04, 2017 at 08:55 PM 0
Share

Could you post a picture of the inspector of both your steering wheel and your car?

avatar image tulloch100 nt314p · Aug 04, 2017 at 09:39 PM 0
Share

I think I have fixed it now

I found a basic rotation script http://answers.unity3d.com/questions/167526/rotate-to-0.html

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class SteeringWheelRotationNew : $$anonymous$$onoBehaviour {
 
     // This is the maximum angle that your ship will rotate to (assign it in editor)
     public float maxAngle = 0;
     // This is the stored angle that your ship is at
     float currentAngle = 0;
 
     void Update()
     {
         // This makes your angle somewhere between -30 and 30 degrees
         float targetAngle = Input.GetAxis("Horizontal") * maxAngle;
         // This makes the interpolation faster when the input is pressed down,
         // making sure that the value is always positive.
         float interpolationSpeed = 1 + ($$anonymous$$athf.Abs(Input.GetAxis("Vertical") * 0));
         // This smoothly sets the current angle based on the input
         currentAngle = $$anonymous$$athf.Lerp(currentAngle, targetAngle, interpolationSpeed);
         // replace this with however you implement the final value
         transform.rotation = Quaternion.Euler(-0, -0, currentAngle);
         transform.localEulerAngles = new Vector3(0, 0, transform.localEulerAngles.z);
     }
 }

I added transform.localEulerAngles = new Vector3(0, 0, transform.localEulerAngles.z); at the end so it only rotated from the z axis

Show more comments

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

376 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Why when using EditorWindow script type and MenuItem it's not add it to Hierarchy right click mouse context menu ? 0 Answers

Multiple Cars not working 1 Answer

How can i rotate the camera to the player facing direction ? 1 Answer

How can i change the camera view when clicking a button ? 1 Answer

How can i prevent from moving the camera view under the terrain ? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges