Skip to content

Releases: nadine-brinkmann/blender-i3d-importer

v0.5.0 - Store configurations, wheels & the color picker

Choose a tag to compare

@nadine-brinkmann nadine-brinkmann released this 15 Jul 15:29

The importer can now read a vehicle's or placeable's config XML and preview its store configurations right inside Blender — designs, motors, attachers, folding presets, wheels, and colors — just like the in-game shop. Import is also dramatically faster.

▶ See it in action: What's New — faster import + load vehicle configs into Blender

Highlights

Store Config preview

Load a vehicle/placeable config XML and switch its store configurations in Blender like the in-game shop: designs, motor variants, attacher options, folding presets, solar panels on buildings, and more. Object changes are applied game-exact (visibility, translation/rotation/scale, including one-sided changes) plus per-option material swaps. Configuration sets (e.g. working-width presets) pin all their sub-configurations at once. Game-exact wheel loading. Wheel configurations load the real tires, rims, hubs and wheel weights from the shared tire/rim files, resolved exactly like the game.

Much faster import

The .i3d.shapes decode, parsing and debug-material build were reworked — large vehicles that took ~40 s now import in a few seconds.

UI

Reworked N-panel. New Visibility panel with a LOD0/LOD1 toggle; material and store-config tools regrouped for a clearer workflow. New button "Prepare for Export"

Fixes & improvements

  • Skin joints kept on import instead of being replaced by bones, so joints round-trip to their original place in the scenegraph (shared armature + Child-Of constraints) and their i3dMappings survive.
  • Merge groups with an external root member (e.g. detached coupler hoses on some sprayers) no longer clump at the origin.
  • Material pairing under "Attach debug materials to mesh = off" (the default) — several preview features silently did nothing because the export material sits in the mesh slot: the building/vehicle color picker was a no-op, and wheels loaded after switching to debug came in on their export material (white rims/tires/connectors). The debug and export material of a pair are now resolved reliably, and a scene-wide material choice is remembered and followed by parts loaded later.
  • Warnings for custom maps with relative paths and for i3dMappings that point into a referenced i3d we do not import.

Upgrade note

Materials are paired by a per-import UUID and their kind, not by name, so the material switch and color picker work regardless of the Attach debug materials to mesh preference. If you have older imports in a scene, re-import them to get the corrected pairing.

v0.4.3 Hotfix for release 0.4.2

Choose a tag to compare

@nadine-brinkmann nadine-brinkmann released this 03 Jul 15:29

There was a file missing in release 0.4.2 - fixed

v0.4.2 bug fixes and i3d Mappings

Choose a tag to compare

@nadine-brinkmann nadine-brinkmann released this 02 Jul 20:34

This release adds importing and editing of i3dMappings from vehicle/placeable config XMLs, plus a set of fixes that make re-exported files much closer to the original — material slot names, alpha blending, specular values and node names now survive the round-trip.

New functionality: i3dMappings from config XML

You can now load a vehicle or placeable config XML after importing its .i3d:

  • New "i3dMappings" box in the N-panel with a Load Config XML button. It matches the <i3dMappings> entries to the imported objects, assigns the exporter's XML config properties and auto-fills the Giants exporter's XML Config Files field. But be aware, it fills it from where you imported the XML. So if you import from base game, re-exporting it could change your base game files!
  • An editable Mapping ID field lets you change a mapping directly in the importer panel. This also works around a Giants exporter bug on Blender 5.1 where an id changed in the exporter UI is not written correctly (bug report sent to GIANTS).
  • Mapping ids that find no matching object (e.g. bone/joint targets of skinned meshes) are reported as a warning instead of being dropped silently.

Fixes

  • Material slot names are no longer lost on re-export. They are stored per subset in the .i3d.shapes binary but were never transferred to Blender, so re-exported vehicles broke design/color configurations that look up materials by slot name (e.g. Fendt Vario "Black Beauty", exhaust and grill design configs).
  • Material alphaBlending is preserved on re-export (#33). Texture-based transparent materials (light-glass lenses, windows) previously lost the attribute and looked dull/opaque in-game.
  • Blender .001 suffixes no longer leak into re-exported files (#34). Duplicate node names (e.g. several "decal" nodes under different parents) collided as Blender object names; the appended .001 then survived the export. Names are now disambiguated inside the sort prefix, which the exporter strips completely.
  • specularColor is now imported into the material (Roughness/Metallic/Specular IOR Level), so the Giants exporter reproduces the original values instead of regenerating wrong ones from BSDF defaults — previously nearly every re-exported material got a wrong or added specularColor.
  • Tree splitUvs are split into their individual attributes on import, so tree LOD UVs round-trip instead of defaulting to "0 0 1 1 1".
  • FS22 exporter patch for Blender 5.1: fixed a crash when using Export Selected (the 9.1.0 exporter read Blender's internal memory via ctypes) and fixed the patch files themselves so patch applies them cleanly to the CRLF source.
  • The add-on is now available for all platforms (removed the platform restriction in the extension manifest).

v0.4.1 fixes for skinned vehicles, merge groups, lights + export to FS22

Choose a tag to compare

@nadine-brinkmann nadine-brinkmann released this 21 Jun 18:39

Bug-fix release bundling fixes for skinned vehicles, merge groups and light import, plus a new patch for the Giants i3D Exporter for re-exporting to Farming Simulator 22.

Fixes:

  • Skinned meshes with joint chains no longer crash on import (#29). Models with chained bind-joints (e.g. articulated vehicles) now import fully, with the geometry upright. Chained joints also re-export faithfully, keeping their position and orientation (gimbal-safe).
  • More than 9 merge groups are now supported (#30). The old 9-group cap was only an exporter UI limit, not a file or engine limit. The importer no longer clamps merge-group numbers, so models with 10+ merge groups import without corrupting group 9.
  • Nested lights import correctly (#31). Fixed a ~90° rotation error on lights parented under other lights, and a shadow-flag issue that made non-shadow lights show up as shadow-casting (pink cones) in the Giants Editor.
  • vehicleShader debug materials look right without a baseMap (PR #28, thanks @206airmail). Materials that use detailDiffuse but have no baseMap now show the tri-planar detail pattern instead of flat white.

New functionality: re-export to Farming Simulator 22 (#19)

You can now import an FS22 .i3d and re-export it back to FS22, but you have to do some work for it:

  • The importer mirrors its re-export properties to the uppercase I3D_* names the FS22 exporter expects (it previously wrote only the FS25-style i3D_*), so render and physics attributes such as castsShadows, clipDistance, nonRenderable and collisionMask survive the round-trip.
  • The exporter auto-configuration (Game Location / Export File) now also fills in for the FS22 exporter, not just FS25.
  • A step-by-step guide and three ready-made patches to run the GIANTS FS22 exporter (9.1.0) on Blender 5.1 are included under blender_i3d_importer/patches/fs22-exporter-blender-5.1/.

Known limitations: visibility="false" does not round-trip (the exporter derives visibility from an object's hide state, not from a property); collision masks are preserved but not translated between the FS22 single-collisionMask model and the FS25 collisionFilterGroup/collisionFilterMask split.

Thanks

@206airmail (PR #28)

v0.4.0 Joints! Scenegraph order, Trees, fix wrong faces

Choose a tag to compare

@nadine-brinkmann nadine-brinkmann released this 16 Jun 23:17

Highlights

  1. Joints work now correctly! Not duplicated any more, and at the correct place in the scenegraph. Re-Export to GE and usage ingame without any alterations works fine for skinned meshes and joints!
  2. Order in the outliner/scenegraph: The default behavior is now to add a numbering to the name upon import in Blender. This numbering automatically gets removed when re-exporting to the Giants Editor via the Giants i3d Exporter, so that is looks like the original there. Can be switched off in the preferences.
  3. Trees can now be imported, AND they have a dropdown in the N-Panel to check the 4 seasons! (Summer is default)

Fixes

  • Fixed a Blender crash when importing merge-group / merged-children assets and wrong debug-material colours
  • More robust FS25 v10 .i3d.shapes decoding

Credits
@206airmail - merge-group crash & debug-colour fix.
@NMC-TBone - the “Child Of” constraint approach for joints.
@modelleicher - for testing and exploring the scenegraph order and joints issues

v0.3.2 Fix materials not loading in non-US-English Blender

Choose a tag to compare

@nadine-brinkmann nadine-brinkmann released this 02 Jun 20:07

There was an issue with textures not loading for some users.

@Alli.Gatt0r pointed out in a comment on Youtube that the issue was solved by switching Blender to US English.

Reason: Blender translates node names ('Principled BSDF' → 'Prinzipielles BSDF' etc.) when the UI language is changed. nodes.get() looks up by name, so it returned None in any non-English locale, causing the "material stays minimal" warning and no textures being applied.

Fix: look up nodes by type ('BSDF_PRINCIPLED', 'OUTPUT_MATERIAL') which is always English regardless of UI language.

v0.3.1 Fix for crashes in Edit mode

Choose a tag to compare

@nadine-brinkmann nadine-brinkmann released this 31 May 22:32

Giants .i3d.shapes files legitimately contain zero-area triangles
(e.g. strip separators, occluder sentinels). GE ignores them silently;
without cleanup Blender freezes on Edit Mode entry or crashes in
normals_split_custom_set_from_vertices.

Added a fix to also silently remove invalid (collapsed) faces.

v0.3.0 Custom normals, FS22 Merge Groups, FS22 Materials

Choose a tag to compare

@nadine-brinkmann nadine-brinkmann released this 26 May 19:44

v0.3.0 — FS22 compatibility, vehicle colors, merge-group robustness

Fixed

  • Normals are now imported as custom split normals so meshes look smooth right after import. No manual Shade Smooth needed, hard edges preserved. (#1, normals part of #7)
  • FS22 merge-group part positions were wrong because FS22 stores the verts in root space, not bone-local space like FS25. The importer now detects this via the noBindPose flag on the shape (Shape options high bit 0x80000000) and remaps to bone-local after axis correction. Covers FS22 v7 files and v10 files produced by the Giants Blender exporter. (#2, import side of #8)
  • FS22 vehicle paint debug materials are no longer white. The vehicleShader colorMask UDIM model is now built out: uv.y < 0 regions use the colorMat[floor(uv.x)] palette; uv.y >= 0 regions sample the Giants material-library tile from a decoded detailArray_diffuse.dds atlas. (#12)
  • PBR debug material no longer crashes with UnboundLocalError: dirt_norm_tex on materials without a base color source (FS22 vehicle materials).

New exporter patch

  • Patch 03 (mergeGroup noBindPose + member-local verts) in blender_i3d_importer/patches/. The Giants Blender exporter writes merge groups in root space (FS22 style) and never sets noBindPose, which causes child positions to shift on re-import (cumulatively per round-trip) and GE → dissolve merge group to corrupt mesh/normals/UVs. The patch flips the behavior to FS25 style. (Export side of #8)

Install

Drag-and-drop the attached blender_i3d_importer.zip onto your Blender window (5.1+) and confirm the install. If you already have an older version, replace it via Edit → Preferences → Add-ons → Install from Disk.

Big thanks to @modelleicher for the noBindPose lead in #8 and for the detailed test files.

v0.2.0 Terrain import, full hierachy, merged meshes and joints, plus bugfixes

Choose a tag to compare

@nadine-brinkmann nadine-brinkmann released this 20 May 08:28

v0.2.0

Pure-Python rewrite — no external binary needed.
The 16 MB i3dToObjx.exe and the .objx detour are gone, replaced by a
pure-Python .i3d.shapes decoder (ported from I3DShapesTool, MIT).

Added

  • Pure-Python .i3d.shapes decoder
  • Full hierarchy, transforms, materials, multi-UV and vertex colors
  • Custom properties on objects/materials for re-export fidelity to the Giants Editor
  • Skin / Merge Group / MergeChildren import
  • Spline decoder
  • Bone rotation + translation for skin weights
  • Terrain import (proof of concept)

Fixed

  • FS22 shapes decoder: subset padding + pre-triangle padding
  • Axis roundtrip: rotation_euler preserved instead of baked; Y-up → Z-up conversion; light/camera special case
  • Pink-material bug, object-space UV, invisible-GE toggle

Changed

  • Removed bundled i3dToObjx.exe and objx_parser.py
  • UX refactor of the import dialog

v0.1.1 — Initial public release

Choose a tag to compare

@nadine-brinkmann nadine-brinkmann released this 15 May 21:39

Initial public release

A Blender add-on for importing Farming Simulator 22 & 25 .i3d files with full geometry, materials, lights, cameras, splines, and round-trip support to the official Giants i3d Exporter.

Highlights

  • Full scene hierarchy: meshes, empties, lights, cameras, splines, reference nodes
  • Two material flavors per i3d material: re-export-compatible + optional PBR debug material
  • Multi-UV (UV1–UV4) and corner vertex colors preserved
  • All i3d custom properties carried over to Blender objects and materials
  • $data/... and relative path resolution, DDS preferred over PNG
  • Optional Y-up → Z-up axis correction at import
  • N-panel controls for material swap, shader parameter editing, debug view, snow heap toggle
  • Self-contained: bundles the i3dToObjx.exe extraction tool — no manual setup

Requirements

  • Blender 5.1 or newer
  • Farming Simulator 25 installed locally (for texture/shader path resolution)
  • Windows (extraction tool is a Windows binary)
  • Optional: Parallax Node Extension for real POM in debug materials

Known limitations

  • Reference nodes are not recursively loaded
  • skinBindNodeIds re-export not yet supported (~500 base-game vehicle implements affected)
  • Windows only

Installation

Drag & drop blender_i3d_importer.zip onto the open Blender window, or use Edit > Preferences > Add-ons > Install from Disk. See the README for setup and usage details.

Re-export to FS25

Two optional patches against the Giants i3d Exporter ship in blender_i3d_importer/patches/ for clean re-export. Manual application — a few-line edit in two files. See patches/README.md.