📚 Docs

Conversion Validation Checklist

This list summarizes all items required for a well-converted bus, to prevent anything from being forgotten. Even if there isn't a tutorial for everything, don't get discouraged! It is possible to learn by examining the various example mods posted with the blend on busmods.com.

Best Practices for Polygons and Textures

  • [ ] Polygons: Avoid using more than 300 or 400 thousand triangles for mobile vehicles. Models with 1 million+ will struggle.
  • [ ] Small Textures: Use smaller textures for details. Parts with solid colors can use 4x4 pixel textures.
  • [ ] Maximum Texture Dimension: [!IMPORTANT] Do not use any texture above 2048 pixels for mobile (crashes and instability).
  • [ ] Lite Version: Consider making a Lite version with optimized textures if the PC version uses 4k.

Basics

  • [ ] Scale: Verify if the scale is correct (1 Blender unit = 1 meter). Width ~2.5m, Height ~3m.
  • [ ] Mass: Define the mass corresponding to the empty bus (do not add passengers to the GVW).
  • [ ] Collider: Define a simple collider (Box Collider or convex Mesh Collider with max 256 tris).
  • [ ] Aero Surface: Configure aero surface at axle positions for stability (aeroforce).
  • [ ] Preview: Add preview.png image in the folder (16:9 ratio).
  • [ ] Materials: UseStandardShader=1 or 0. Leave 0 if not configuring individual PBR materials.
  • [ ] Wheels: Radius and suspension settings in the .wheels file.
  • [ ] Steering: max_steer_angle in the engine (35 for rigid, 42 for super-articulated).
  • [ ] Ackerman: [!IMPORTANT] Configure use_ackerman=1 and the position [pos_ackerman] (usually center of the rear axle) for correct turning.
  • [ ] Engine/Gearbox: Torque curves and gear settings in the engine.
  • [ ] RPM: Configure max RPM in engine, sounds, and models (needle).
  • [ ] Sounds: Remove unused sounds. NEVER use MP3, use WAV 44.1 kHz.
  • [ ] Air Conditioning: Configuration in .ini and loop sound in the door/air region.
  • [ ] Mirrors: The mirror position must appear in the main camera to update the reflection.
  • [ ] Smoke: Exhaust smoke emitter position.
  • [ ] Headlights: Test projectors (mobile/light) and spotlights (PC Ultra).
  • [ ] Internal Lights: 3 lights for Ultra, 1 central light for Light/Mobile.
  • [ ] Doors: Door light (texture and real light). Sound of leaking air conditioning when open.
  • [ ] Cameras: Configure driver camera, passenger, and dummy positions (driver/conductor).
  • [ ] Animated Dashboard: Buttons, handbrake, blinker, ignition, indicator lights.
  • [ ] Stop Request: Light on dashboard and in the saloon + sound.
  • [ ] Optional Sounds: Door opening/closing sound, reverse sound.
  • [ ] Clickable Buttons: Camera coordinates (C key) for dashboard and air conditioning.
  • [ ] Turnstile: Position in the middle of the passenger path (for them to stop before passing).
  • [ ] 3D Sound Position: Configure coordinates in sound txt for spatial effect.

Best Practices for Steering Wheel and Needles

  • [ ] Centering: Keep the steering wheel aligned with the driver's camera.
  • [ ] Needle Scale: Rotation is linear. Adjust the dashboard design so intervals (0-20, 20-40) are equal.
  • [ ] RPM Sync: Max RPM in model txt must match the engine.

Best Practices for Glass and Windows

  • [ ] Reflections: Use reflections only on the outside (avoids obstructing internal view).
  • [ ] Z-Fighting: Move reflection slightly away from the rain layer.
  • [ ] Glass Textures: Use small textures (e.g., 4x4) if no skin is mapped. One light (internal) and one dark (external).
  • [ ] Rain: Map rain glass with uniform scale. Leave space between glass and rain.

Best Practices for Passengers

  • [ ] Door Height: Door coordinate at level 0 (street) or platform level (BRT).
  • [ ] Exit: Do not place _pp_ too close to _waitdoor_ or steps to avoid descending with closed door.
  • [ ] Turnstile: Coordinate between two points of the path. Place slightly ahead of the visual model.
  • [ ] Seated: Seat position slightly inward to avoid arms sticking out.

Miscellaneous Animations

  • [ ] Button Cameras: Configure to facilitate clicking on PC/Android.
  • [ ] Door Toggler: Button for left/right doors (if any).
  • [ ] On/Off Buttons: Ensure buttons have both states if animated.

Other Things

  • [ ] Limiter: Configure speed_limit if necessary.
  • [ ] Turning Radius: Adjust max_steer_angle and Ackerman if the bus struggles in tight turns.
  • [ ] Brake: Increase max_brake_torque if the engine is very powerful and the bus doesn't brake well.

Related Links