Carmechanic

by tetreum
+

Car Mechanic Simulator mechanics in Unity

( Updated a few seconds ago )

carmechanic carmechanic2 carmechanic3 carmechanic4 carmechanic5

Analytics

CarMechanic demo

(Click to see the video)

About the game

CarMechanic is an open source car mechanic simulator that allows you to disassembly/assembly cars.

This game is NOT finished as i would need a full car (including the engine) model to finish the game core.

Adding a new vehicle

Notice:

  • You will need Unity.
  • Valid model formats: fbx or collada (.dae)
  • Car parts can't have childs, so each part must be a single solid.

[YOUTUBE VID]

  1. Open /StreamingAssets/vehicles.json and add a new entry for your vehicle: { name: "Lancer Evolution", folder: "LANCER-E" }

  2. Create the folder in /StreamingAssets/ having the same name you set in vehicles.json. Ex: /StreamingAssets/LANCER-E/

  3. Drop your car model there.
  4. Open CarSimulator project in Unity & open Garage scene (double click on /Scenes/Garage).
  5. In the bottom window, search for your model file and click it. Unity's Inspector window will display model's options. Check the "Generate Colliders" & click on Apply button.
  6. drop your model from /StreamingAssets/YOU_MODEL/ to the scene. If you don't see it. Clic it in Hierarchy window and reset his position in Inspector to: 0,0,0.
  7. You model may look bigger or smaller than expected. To fix this, you can change the model scale in Inspector window.

Now that your car is ready, you will have to set each part. This example will be done with the car doors:

  1. Double click one of the doors and attach the "CarPart" component to it. You will see some new options like "Type" && "Disassembly Requirements". Select which door is in Type section.
  2. Since it's a door player should disassembly the window before disassembling the door itself. To do that, drag the window label from Hierarchy Window to "Disassembly Requirements" list. Now disassembling the window will be required to disassembly the door. Do not touch "Assembly Requirments", we will autogenerated this list now.

If your car part is not listed in "Type" selector. Open /Scripts/Engine/CarEngine.cs and list it in "Part" enumerator. (To become able to share your model, you will need to make a pull request with this change here).

  1. Once you have attached the "CarPart" component to all parts, click on "CarMechanic" option from Toolbar and click "Apply carPart tag" and then "Generate assembly requirements".
  2. In Hierarchy window, rename your car label to "Vehicle" and drag it to /StreamingAssets/YOU_MODEL/.

¬°You're done! Your car will appear in vehicles list.

If you want to share your vehicle, send the /StreamingAssets/YOU_MODEL/ folder and the vehicles.json entry data.

Credits

Useful resources

Other partially made engine models: https://3dwarehouse.sketchup.com/collection.html?id=66815d59f0ae427f9c00f10333f1c0b5

Back to index