lightbulb Blender DIF Export Plugin

  • RandomityGuy
  • RandomityGuy's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • This entire place is bruh
  • Posts: 387
  • Thank you received: 133
04 Dec 2024 20:12 - 08 Nov 2025 12:12 #1
io_dif
This is a Blender plugin to import and export MBG Torque DIF interiors and Torque Constructor CSX files. Supported Blender Versions: 2.8.0 to 4.5

Usage:
Import
File > Import > Torque (.dif).
It can't be any more simpler than that.

If you want to load a Torque Constructor (.csx) file and create a Torque DIF, use File > Import > Torque Constructor (.csx).

Export
File > Export > Torque (.dif)

Additional export options - Important!
  • Flip Faces: Flip the normals of the dif, in case the resultant DIF is inside out.
  • Double Faces: Make all the faces double sided, may increase lag during collision detection.
  • Max Polygons: Number of maximum triangles that a DIF can have before splitting into multiple DIFs. Reduce this number if export fails.
  • Apply Modifiers: Whether to apply modifiers to meshes before exporting.
  • Export Visible: Export only visible geometry.
  • Export Selected: Export only selected geometry.
  • Use Material Names: Use Material Names instead of file names of the material textures.
  • Optimize For Marble Blast: Make the resultant DIF optimized for Marble Blast. Uncheck this if you want to use this for other Torque games.
  • BSP Algorithm:
    • Fast (Default): Use a sampling algorithm to determine the best splitter. This method is inherently random and may not always yield optimal results.
    • Exhaustive: Use an exhaustive search algorithm to determine the best splitter. May take longer but builds more balanced trees. Deterministic algorithm.
    • None: Do not build a BSP Tree, utilize this for fast conversion times or if building the BSP Tree fails/hangs on export.
    • IMPORTANT: If your geometry is too complex, consider using None mode as there is no guarantee that a BSP Tree can be optimally built within set constraints.
    • IMPORTANT: BSP Trees are only used for raycasts and Drop To Ground feature in Marble Blast. If you are not using these features, you can safely disable the BSP Tree.
  • Point Epsilon: The minimum distance between two points to be considered different.
  • Plane Epsilon: Minimum difference between values of two plane to be considered equal.
  • Split Epsilon: Minimum difference between values of two splitting planes to be considered equal.
DIF Properties Panel
Located in the object properties panel
  • Interior Entity Type:
    • InteriorResource: normal static interior type
    • PathedInterior: moving platform
      • Marker Path: a curve object that describes the path of the moving platform. Each point will become a Marker
      • Marker Type: the smoothing to use on each marker
      • Total Time: the amount of time to complete the path
      • Start Time: the time that the platform should begin
      • Constant Speed: if the marker durations should instead be calculated to maintain a consistent speed
        • Speed: max speed in units per second
        • Start Index: Calculates Start Time based on marker index
        • Pause Duration: The time that the platform should spend at zero-length segments
    • Game Entity: represents an entity in the dif such as items
      • Game Class: the class of the entity such as "Item", "StaticShape", etc
      • Datablock: the datablock of the item.
      • Properties: a list of additional key value pairs which will be set to the object on Create Subs
    • Path Trigger: represents a trigger that will be added to the MustChange group
      • Datablock: the trigger datablock, MBG's types are TriggerGotoTarget and TriggerGotoDelayTarget
      • Pathed Interior: the target object
      • Calculate Target Time: if targetTime property should be created from a target marker index
        • Target Index: the marker to target
Limitations
  • Limited Game Entity rotation support: rotation field is not properly applied to Game Entities in vanilla Torque.
 Previews



Download
Current Version: 1.3.4

Github:
github.com/RandomityGuy
Feel free to support me at ko-fi.com/randomityguy
Last edit: 08 Nov 2025 12:12 by RandomityGuy.
The following user(s) said Thank You: Weather, Go'way

Please Log in or Create an account to join the conversation.

  • RandomityGuy
  • RandomityGuy's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • This entire place is bruh
  • Posts: 387
  • Thank you received: 133
08 Nov 2025 12:14 #2
Changelogs since 1.3.0, since I've been forgetting to update this topic whenever there is a new release:

1.3.4
  • Finally fix all the UV bugs for real this time.

1.3.3
  • Fixed a critical bug where the exporter would use up all the memory of the machine in some rare cases.
  • The plugin now no longer exports degenerate triangles
  • [Keppy]: Added more PathedInterior options: Target Marker, Constant Speed
  • [Keppy]: Added support for rotations for entities and PathedInteriors. Rotation fix will work in the future PQ updates.


1.3.2
  • Finally fixed broken UVs during export for the last time hopefully.
  • [Keppy]: Added support for Path Triggers for Moving Platforms for both importing and exporting DIFs.
  • [Keppy]: Added more options for Moving Platforms: Marker Type, Total Time, Starting Time, and Reverse.
  • [Keppy]: Fixed bounding boxes of interiors being bigger than they should be.

1.3.1
  • Add support for invisible surfaces, to use them, give them a material named 'NULL' with no texture file attached to it.
  • Fixed moving platforms not exporting correctly.

Github:
github.com/RandomityGuy
Feel free to support me at ko-fi.com/randomityguy

Please Log in or Create an account to join the conversation.

Moderators: Doomblah
Time to create page: 0.860 seconds
We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.