{{description>MadCar is a plug-in for 3ds max for vehicle rigging and animation with any number of wheels or trailers, including motorcycle}} ====== MadCar Manual ====== [[https://icube3d.com/madcar.html|MadCar 3]] is plug-in for 3ds Max for quick rigging of wheeled vehicles and their animations by simulating the control. This new version allows rigging vehicles with any number of wheels and with any of their mutual arrangements. Any number of trailers is also supported. There are simplified behavioural settings for each of the wheels and related components, which can be fine tuned if required. This allows to simulate motion of any type of vehicle - from a race car to a heavy truck. Animation is created during simulation in real time. Simulation can be controlled by keyboard, joystick, game controller or steering wheel. It is also possible to set up ‘Follow path’ and ‘Follow the Object’ mode. The package also includes a procedural map that generates tire marks on the surface over which vehicle is moving (V-Ray only). {{youtube>a7TI-afxhL0?large}} ====== System requirements: ====== 3ds Max versions: 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 3ds Max Design : all Tire marks require V-Ray OS: Windows XP, Windows Vista, Windows 7, 8, 10, 11 all 32 and 64 bit Microsoft Visual C++ 2010 Redistributable Package (included in installer) User must have local administrator rights with Windows XP to use MadCar. on Windows 7 administrator right needed only during installation ====== Installation ====== Users are provided with the same installation file for both Workstation and Render node **MadCar.exe** Workstation can be used only when license is properly installed, and provides access to all MadCar options. If MadCar does not find license file it switches itself to Rendernode mode and only can open and render files created with MadCar Workstation Rendering is available both locally and over network. To install the program you need to run the **MadCar.exe**. ====== Registration ====== **for versions 3.026 and higher please see ** https://docs.icube3d.com/en:cerber-protection ====== Installing for network or distributed rendering ====== For network rendering just install the same file **MadCar.exe**. Installation procedure is the same as for the Workstation, but skipping Registration process. Rendernodes do not require registration. Submission for network or distributed rendering should be done from the PC with the activated version of MadCar. The rest of render nodes involved in the network or distributed rendering do not need to be activated. Each MadCar license comes with unlimited render nodes. __manual installation on render nodes:__ install 1 machine with the *.exe file then copy **\plugins\MadCar.dlo** to other rendernodes. ====== MadCar creation ====== Once installed MadCar can be created from command panel: **Create > Helpers > MadCar** Plug-in includes the following object types: {{:madcar:101-madcar-type.png?nolink| MadCar object types}} * **Chassis** is for car frame. * **Suspension** is for damper. * **Wheel** is for car wheel. * **MadCar** is managing skin. * **Start Position** sets the initial position of the car. * **Trailer Hitch and Trailer Tongue** object for connecting vehicles. **Do not scale and mirror these objects. Only rotation and movement is acceptable.** All objects are linkable with geometry **Chassis** can be linked with geometry of a car frame. **Suspension** can be linked with geometry of brake blocks and suspension mount parts. **Wheel** can be linked with wheel geometry. ====== Chassis ====== {{:madcar:110-madcar-parameters.png?nolink| Parameters}} {{:madcar:120-madcar-parameters-2.png?nolink| Parameters}} Chassis sets the overall dimensions of the car, its mass and solidity at sudden wheels collision with surface. * **Width** equals to half width of a car. * **Length** equals to half length of a car. * **Height** equals to half height of a car. * **Mass** is the car mass in kilograms. Solidity is the car’s structural stiffness. * **Solidity** is the car’s structural stiffness **Mass** value determines car’s reactivity/inertness. The heavier it is, the stronger the suspension sags, and slower the car accelerates and stops. **Solidity** sets deformation resistance. At sudden collision of wheels with surface wheel axes can bend and diverge from the initial position. Divergence is less at high solidity. {{:madcar:130-madcar-solidity.png?nolink| Solidity parameters}} Position of the rotation axis affects the behaviour of steering wheels. Below are examples for the values of -75%, 0%, 75%. {{:madcar:135-madcar-steering-wheels.png?nolink| Steering wheels rotation parameters}} ====== Suspension ====== {{:madcar:141-madcar-suspension.png?nolink| Suspension parameters}} {{:madcar:150-madcar-suspension-2.png?nolink| Suspension parameters}} Suspension section controls car suspension settings such as length of crossover suspension links, spring rigidity, oil damping, buffer gas tension, suspension block limits, Engine drive, steering and other settings. **Length ** is the length of crossover suspension link. {{:madcar:160-madcar-suspension-length.png?nolink| Suspension length}} **Top Stop** and **Bottom Stop** are the top and bottom suspension block stops {{:madcar:170-madcar-suspension-3.png?nolink| Suspension blocks}} **Wheel Drive** is engine drive. **Steering Gear** is steering linkage. Wheels will turn when the steering wheel turn. **Handbrake** sets the wheel locking with the handbrake. ====== Damper settings ====== Plug-in presents a model of gas-oil damper. **Damper shift** is the shift of the damper’s top holder {{:madcar:180-madcar-damper-shift.png?nolink| Damper settings}} **Presets** help making quick setup without deep knowledge on damper functioning – you have an opportunity of selecting the preset of damper parameters. **Rigidity Factor** lets you correct the resulting damper resistance value without fixing multiple parameters one by one. In most cases using these settings is enough for regulation. **Additional Damper Settings** are for detailed setup of damper parameters. These settings are intended for advanced users with ability of fine-tuning of damper parameters. {{:madcar:190-madcar-damper-setings.png?nolink| Damper settings}} Running-in test mode the system generates road irregularities in real-time mode and displays damper response to them. {{youtube>yLL29BnJwbk?large}} * **Damper Settings** are damper parameters. * **Spring Rigidity** is spring stiffness. * **Oil Damping** is oil resistance. * **Buffer Rigidity** is buffer stiffness. * **Running-in Stand Setting** are the parameters of test stand. * **Mass per Damper**: it is the mass which falls on the damper. For example, if the car with 4 wheels has the mass of 1000kgs, then 250kgs will fall on each damper. * **Gravity**: it is the acceleration of free fall/ gravity factor. It is presented in centimetres – 980cm/s2, meters - 9.8m/s2 or inches - 386"/s2. * **Road Knoll Rate** is the frequency of knolls spread upon the road. * **Road Hole Rate** is the frequency of holes spread upon the road. ====== Wheel ====== {{:madcar:200-madcar-wheel-parameters.png?nolink| Wheel parameters}} {{:madcar:210-madcar-wheel-parameters-2.png?nolink| Wheel parameters}} Wheel section sets the dimensions and properties of wheels. * **Radius** is the wheel’s radius. * **Width** is the wheel’s width. * **Mass** is the wheel’s mass set in kilograms. * **Ruggedness** is the wheel’s stiffness. The less the ruggedness, the deeper the wheel’s elastic deformation upon surface. * **Grip** is the constant of surface friction. The greater the constant of friction, the less the car skidding, but with that the chances of roll-over at tight turns are higher. At the installation of wheel make sure the arrow of wheel points to outside direction, not inside the car. **Tread Pattern** – tire mark. Used to generate textures of tire marks. An example of the orientation of the tread. {{:madcar:215-madcar-tread-pattern.png?nolink| Tread pattern}} When setting a wheel the wheel arrow must point outside and not inside the car. ====== MadCar ====== This object represents the skin combining all car components into one integral unit. {{:madcar:221-madcar-parameters.png?nolink| MadCar object parameters}} {{:madcar:230-madcar-object.png?nolink| MadCar object}} **Car Setup** is the car’s assembly into one unit. **Dummy Size** sets the skin’s size. All components occurred inside the skin will be automatically applied. For the assembly of the car there should be one **chassis** object inside the skin together with the equal number of **wheel** and **suspension** objects. Each pair of suspension and wheel should have equal position as it shown below: {{:madcar:240-madcar-dummy.png?nolink| Object position}} Position all the car components according to the needed configuration. As below, for instance: {{:madcar:250-madcar-car-setup.png?nolink| Object position}} Then press **Update (Lock Component)** In case of successful assembly the components should be locked (it will be impossible to move them) and blue coloured as shown below. After that any changes to the components will not affect the whole unit. To update the parameters you need to press **Update (Lock Component)** once again. {{:madcar:260-madcar-car-setup-2.png?nolink| MadCar object setup}} If you want to unlock the components and change their location press **Reset (Unlock Component)**. ===== Parameters ===== **Parameters** are general parameters. **Gravity** is the acceleration of free fall/ gravity factor. It is presented in centimetres – 980cm/s2, meters - 9.8m/s2 or inches - 386"/s2. **Surface ** is the object of surface upon which the car will be moved. After the selection and changing of object and loading of the scene __it is necessary__ to press **Update Surface**. It is connected with the algorithm of wheel interaction with the ground, this algorithm uses **ray-trace accelerator** which reasonably speeds up the counting process and makes counting time almost independent on the number of polygons within the surface. **Start Position** defines the object location of which will be the starting position of the car. If the object is selected, then after pressing **Update (Lock Component)** the car will be replaced automatically to the starting position. ===== Animation ===== Animation includes counting and animation settings: **Step/Frame** fixes the number of keys for the frame. High value of this setting improves accuracy of counting, but reduces the speed of counting; it also leads to the increase of the scene’s size on HDD. Low value of this setting may lead to uneven running of wheels at high driving speed. **Samples** fix the number of counted/imputed samples per step. High value of this setting improves accuracy of counting, but reduces the speed of counting. Low values of the above settings may lead to wheels vibration and car sliding down the sloping surface being at rest with brakes on. ===== Driving Parameters ===== **Driving Parameters** are car driving settings. **Rudder Sensitivity** is the response of steering wheel. Lower value makes the rudder less reactive. Fix this setting at low values to get smooth/slow turning of wheels, high values will lead to fast wheels turn. **Rudder Angle** is the ultimate steering lock. **Bike Driving** turns on motorbike control system **AutoBalance** helps motorbikes to keep balance and prevents from falling __Motorbike rigging video tutorial:__ {{youtube>fDbbHR66w14?large}} **Differential Drive Sensitivity** - multi directional movement of the wheels when turning. E.g. when turning right, the right wheel will be spinning backward, left - forward. **Throttle Sensitivity** is the response of accelerator pedal. The higher the value, the higher the impulse given to the driving-wheels. **Brake Sensitivity** is the response of brake pedal. High value makes the braking more active/intense. **Max Drift Speed** - Максимальная скорость проскальзывания колес выше которой автоматически отпускается газ и тормоз. Чем меньше этот параметр тем более предсказуемо ведет себя машина но меньше возможностей экстремального вождения. Малые значения (1-3 км/ч) рекомендуются для начинающих водителей. **Time Delay** is the time delay between frames, it is set in milliseconds. Time delay is necessary for the distinguishing of CPU time needed for the mouse and keyboard reaction. If the value is too small driving control may have late response or even be blocked. In this case time delay should be extended. **Driving Type** is the type of driving control. The following variants are possible: **Mouse** is driving control with the mouse. Mouse movements to the left or right direction make the wheels turn respectively. Mouse movements up and down correspond to acceleration and deceleration. Wheel’s running forward throws into forward gear. Wheel’s running backward throws into reverse gear. The mouse right button is responsible for handbrake. **Keyboard** is driving control by means of keyboard. **"A"** key is for turn to the left. "D" key is for turn to the right. **"W"** key is for accelerator. **"S"** key is for brake. **SPACEBAR** is for handbrake. **PAGE UP** throws into forward gear. **PAGE DOWN** throws into reverse gear. **Joystick** driving controls are: **4** is forward gear. **2** is reverse gear. **3** is handbrake. {{:madcar:270-madcar-joystick.png?nolink| MadCar joystick setup}} **Steering Wheel** driving controls: Gearbox handle is responsible for gear shifting (forward gear/reverse gear), marked button is for handbrake. {{:madcar:280-madcar-steering-wheel.png?nolink| MadCar steering wheel setup}} **Target** is a target object/ an object to follow. **Forecast frames** present the number of frames where the car foreshows the movement of object for the track calculation. ===== Drive ===== It activates the car driving window. {{:madcar:290-madcar-drive.png?nolink| MadCar drive}} To start/stop driving press **ENTER**. ====== Trailers ====== In order to join two vehicles add **Trailer Hitch** to the track in place where trailer will be attached. {{:madcar:330-madcar-trailer-hitch.png?nolink| MadCar trailer hitch}} Add **Trailer Tongue** to the trailer in place where truck will be attached. {{:madcar:340-madcar-trailer-tongue.png?nolink| MadCar trailer tongue}} Join **Trailer Hitch** with **Trailer Tongue** as shown below Vehicles are now joined. {{:madcar:350-madcar-trailer-joined.png?nolink| Trailer}} From now on if you move the truck the trailer will follow it ====== Tire Marks (requires V-Ray) ====== **MadCarTrackTexture**. Is used for making tire marks. {{:madcar:360-madcar-tire-track.png?nolink| MadCar tire track settings}} **MadCar Object** - the MadCar object from which the texture generating traces. * **General Intensity** - the intensity of the traces in the normal movement of a vehicle. * **Brake Intensity** - the intensity of the traces when a wheel is slipping. * **Samples** - quality of marks. High values slow down the render. * **Base Bump Intensity** - total intensity of the bump. * **Pattern Bump Intensity** - bump value of the tire pattern. MadcarTrackTexture need to be used in material of the object MadCar is driving on. It can be used in any slot (Diffuse, Bump, Specular etc). In texture settings you need to specify which MadCar object it belongs to. If you need marks from multiple MadCars you need to mix several MadcarTrackTexture ====== Collision spheres ====== Collisions in MadCar. There are 2 types of collisions to be calculated in MadCar simulation 1. Collisions between the wheels and the ground 2. Collisions between ”Collision Spheres" and the ground. By default, a car's body does not simulate the possible collision with obstacles or the ground in a rollover. If you need to simulate such an event, you need to add”Collision Spheres" to MadCar rig. Place them so that their combined volume is repeating the shape of your vehicle. Try to keep number or spheres as little as possible (optimal number is 10-20), otherwise it may slow down the process of simulation. The “Rigidness” parameter controls the stiffness of the collision, and the parameter “Grip” controls friction. Obstacles that you are going to impact your car should be included in the geometry of the surface. Collision Spheres usage example: {{:madcar:370-collision-spheres.gif?nolink| collision spheres example}} {{:madcar:380-collision-spheres-2.gif?nolink| collision spheres wireframe}} {{:madcar:390-collision-spheres-3.gif?nolink| collision spheres}} {{youtube>Hqrvr2OzV9Y?large}} ====== Baking to key frames ====== We recently released a [[https://files.icube3d.com/scripts/VGMakeKey-v1.zip|baking script]] after you dropped it to your scene, you need to add to interface via [[https://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2019/ENU/3DSMax-Customizing/files/GUID-A2CF8BAA-7B52-40A8-8C40-803B1AB5FC05-htm.html|"Customize User Interface"]] when baking, actual objects need to selected ====== Troubleshooting ====== ===== Common problems ===== MadCar algorithms are based on real world physics, this requires real world dimensions of vehicles and other settings for correct work. ===== Controlling your vehicle ===== For perfect results in controlling your vehicle make sure all physics is correct, and simulate step by step Start driving untill the point its starts going wrong, stop, rewind to the point it was fine, and continue from that point this applies to any controls you use ===== Following target or spline ===== MadCar based on the simulation with real life physical properties - and this is not always predictable. Abilities of a vehicle are limited by its physical parameters, turning radius, friction, brake force, power of the engine etc. But the motion of a target is not limited, so the vehicle can not always follow the target, because it has got real life physical limitations, so it can only try to do it. ===== License errors ===== In case of license malfunction and errors (which can be caused by disk reformatting, re-installation of the operating system or components replacement) you are free to address the developer at any time by sending your request for a new *.lic file to the e-mail support@icube3d.com Please always attach you receipt or include order number to avoid any delays in communication. ===== Dll errors ===== * Error Loading Dlls * Dll failed to initialize * Error code 126 - The specified module could not be found * MadCar.dlo failed to initialize please make sure you have Microsoft Visual C++ 2010 Redistributable Package 32bit or 64bit installed Microsoft Visual C++ 2010 Redistributable Package (x86)https://www.microsoft.com/en-gb/download/details.aspx?id=5555 Microsoft Visual C++ 2010 Redistributable Package (x64) https://www.microsoft.com/en-gb/download/details.aspx?id=14632 {{:multiscatter:check-redistributable.png?nolink| check redistributable}} ===== Error loading file ===== * MadCar.dlo failed to initialize on windows server 2012 please note, server OS generally is not supported, as it may luck certain components, but there is a workaround for Windows server 2012, check that c:\windows\system32\XINPUT9_1_0.DLL exist, this can be found on windows 7 ===== Installation problems ===== make sure 3ds max is not running, (please double check in task manager too) make sure you are installing with administrator rights (in windows 7 right click "run as administrator" **even if you are logged in as admin**) make sure you choose right path for you 3ds max version ===== Other errors ===== Please make sure you download and install latest version from our [[https://forum.icube3d.com/viewforum.php?f=15|forum]] and confirm that update was successful by checking version number in **About** panel of MadCar. if this have not solved the problem please contact us at support@icube3d.com , by sending description of the problem together with the following information: * MadCar version (screenshot of About panel is required) * OS version (inc 32 or 64 bit) * 3ds max version (inc 32 or 64 bit) * VRay version (if any) * some screenshots * and file with the problem when possible