lightbulb Blender DIF Export Plugin

  • RandomityGuy
  • RandomityGuy's Avatar Topic Author
  • Offline
  • Administrator
  • Administrator
  • This entire place is bruh
  • Posts: 310
  • Thank you received: 101
04 Dec 2024 20:12 - 04 Dec 2024 20:14 #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.3

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 type interior
      • Marker Path: a curve object that describes the path of the moving platform
        • initialPathPosition: set using the "Evaluation Time" parameter located in Curve > Object Data Properties > Path Animation
        • totalPathTime: time it takes for the moving platform to complete the path, set using the "Frames" parameter located in Curve > Object Data Properties > Path Animation.
    • 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
Limitations
  • No Trigger support: I tried but Torque was being Torque even when I successfully embedded them into DIFs.
  • No Game Entity rotation support: there isn't even a rotation field for Game Entities in DIFs, and torque doesn't even use the rotation field explicitly passed as a property
 Previews



Download
Current Version: 1.3.0

Github:
github.com/RandomityGuy
Feel free to support me at ko-fi.com/randomityguy
Last edit: 04 Dec 2024 20:14 by RandomityGuy.
The following user(s) said Thank You: Weather, Go'way

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

Moderators: Doomblah
Time to create page: 0.815 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.