Giants I3D Exporter Explained

From North Modding Company
Revision as of 21:04, 3 April 2023 by T-Bone (talk | contribs)

Explanation of what everything in Giants I3D Exporter does


Giants I3D Exporter location

Every now and then there is questions about where the I3D Exporter is located in the "Properties Panel" in the 3D viewport. If this side bar is hidden you can simply click on "n" and it will appear.

Location of Giants I3D Exporter in Blender



Top Section of the exporter panel

Giants I3D Exporter panel top section
Attribute Explanation
IndexPath Will show you the index path for the active selected object and this index path will also be the same in Giants Editor
Node Name Is the name of the current active selected object
Node Id Is for generating i3dMappings for your objects, select a object, check the box and click on "Use node Name" (can also write a custom name if you want) IMPORTANT: To be able to export the i3dMappings you would also need to add a XML file to the "XML config. Files" panel
Export, Attributes, Tools, Material Seperate panels for different use cases






Export Panel

This is the panel where all the export settings are located

Attribute Explanation

Export Options

Animation When animation is enabled the exporter will export the animation data in the blender scene
Shapes If this is unchecked all your shapes (meshes) will be exported as transform groups
Lights If this is unchecked all your lights will be exported as transform groups
Locked Group If you check this it will lock the root element of every hierarchy. Perhaps you don't know what this is, it make most sense to use this when for example creating buildings for a map. When the locked group is enabled and the hierarchy in Giants Editor is "closed" you can click on any child object in the viewport and it will select the locked group (root object).
User Attributes When this is checked the user attribute data will be exported
Nurbs Curves When this is checked it will export the curves to i3d as nurbs curves, if its not checked it will export curves as transform groups
Binary Files When this is checked the I3D Exporter will run a operation to save the i3d to binary format, so you don't have to manually do this later

Shape Export Subparts

Panel related to shape/mesh data

Normals Export Normals if checked (should always be checked)
Vertex Colors Export Vertex Colors if checked
Merge Groups Export merge groups if checked (if you have any)
UVs Will export the object UV layer(s) if checked
Skin Weights Will Export bones (armatures) and vertex groups if checked

Miscellaneous

Verbose Will print information to the system console (location: Window --> Toggle System Console)
Apply Modifiers Applies modifiers when you export if checked
Export Relative Paths Export file paths relative to the .i3d file
Export Game Relative Path Export file paths relative to the Game Installation Path
Axis Orientations Should be kept at default value: "Bake Transforms" or else your objects will end up with weird orientations in GE

Game Location

Game Location Display This is the place you set the location of your game install (for example: D:\steam\steamapps\common\Farming Simulator 22\) If this is not set you will not be able to export

XML config. Files

XML File Location Here you can add the xml file for the vehicle you are currently working on and when you export to i3d the content of the <i3dMappings> will be updated with the new i3dMappings you have added in Blender

Output File

Here you can either choose to export to a custom location or you can enable "Use Blender Filename" this will export to the same lcoation as the blender file.

Export Buttons

Export All This will export everything in the whole blender scene (except for objects and its children with suffix _ignore)
Export Selected Export selected will export all the selected objects in the scene. Note: Its currently a bit broken, when you have empty object type within the selected objects, it will duplicate the hiearchy in the i3d file.
Update XML This will update the <i3dMappings> in the xml file you have added and will not export the objects in the scene







Attributes Panel

This is the panel where all the object attributes are located

Attribute Explanation

Loaded Node

Auto Assign If you check this it will automatically load and apply the attributes. So then there is no need to manually load the object or save attributes to the object
Loaded Node Will display the name and the index path of the object you have loaded
Node Index Displays index path for then active selected object

Predefined

Predifined attribute settings for physics and non physics (really useful)

Physics Contains predefined settings for physics related stuff (Compound, compoundChild, triggers +more)
Non Physics Contains predefined settings for non physics related stuff (Lights, decals, exterior +more)
Current Preset Displays the current selected preset

Rigid Body

Attributes related to rigid body

Static Passive rigid body non movable
Kinematic Passive rigid body movable
Dynamic Active rigid body simulated
Compound Group of rigid bodies
Compound child Part of a group of rigid bodies (compound)
Collision If the rigid body are going to be collidable or not
Collision Mask Collision mask
Restitution Bouncyness of the surface
Static Friction The force that resists motion between two non-moving surfaces
Dynamic Friction The force that resists motion between two moving surfaces
Linear Damping Defines the slowdown factor for linear movement, affecting speed
Angular Damping Defines the slowdown factor for angular movement, affecting spin
Density Used with the shape of the object to calculate mass. The higher the number, the heavier the object
Mass Total mass of the compound node
Solver Iterations The number of times physics engine tries to fix object interactions in a simulation, affecting how realistic the simulation is and how fast it runs. Should help to keep the compoents in place (not 100% sure about this one)
Contineus Collision Detection (CCD) Not really sure about this one (never seen it in use)
Trigger If checked the rigid body will be a trigger
Split Type Is what type of tree it is (split type 1 is spruce, 2 is pine etc etc)
Split Min U Is the min U (X axis in blender) location of where the UV will split
Split Min V Is the min V (Y axis in blender) location of where the UV will split
Split Max U Is the max U (X axis in blender) location of where the UV will split
Split Max V Is the max V (Y axis in blender) location of where the UV will split
Split UV's worldScale Not really sure exactly how it works, but it is related to the scale of the ends(cutted piece) on a split type

Joint

Attributes related to joint

Joint Just to enable the use of joint
Projection
Projection Distance
Projection Angle
X-Axis Drive

Rendering

Attributes related to rendering

Occluder
Non Renderable
Clip Distance
Object Mask
Nav Mesh Mask
Decal Layer
Merge Group Set a value here to add the object to a merge group (all obejcts with the same int will be merged together in the final export)
Merge Group Root If enabled the object will be used as the root object for the merge group. If no object in the merge group have this enabled, it will just take a random object in the merge group as the root
Bounding Volume Bounding Volume for given merge group or shape name. All shapes have a bounding box and if a part of the merge group goes outside this box/volume it will be invisible in the viewport in GE and in game
Merge Children Only supported for empties (transform groups). When this is enabled all children mesh/shape objects will be merged into the empty
Translation (Merge Children) If enabled the translation of the children shapes will be kept in its current position, else it will be set to the empty location
Rotation (Merge Children) If enabled the rotation of the children shapes will be kept in its current orientation, else it will be set to the empty rotation
Scale (Merge Children) If enabled the scale of the children shapes will be kept in its current scale, else it will be set to the empty scale
CPU Mesh Required for compoundChild collisions in objectChanges, fillVolumes, emitter shapes
LOD (Level of detail) Used to set the distance of how close/far the object and its children will be visible, child 0, 1, 2, 3

Object Data Texture

Attributes related to exporting array textures

File Path Path to where the texture will be saved
Hierarchial Setup if True, number of poses is the number of children, the y axis is the number of children in each pose (objectSet)

(if not identical -> error), the x axis is the max number of children in each objectSet
missing x values in the texture are created by duplicating the last object value
expects following objects hierarchy (or similar) to be present:

   array
       pose1
           y0
               x1, x2
           y1
               x1, x2, x3, x4
       pose2
           y0
               x1, x2, x3
           y1
               x1, x2, x3, x4

pose1.y0 and pose2.y0 will be extended (in export time) to match maximum size pose1.y0 will get x3, x4 (x2 will be copied) pose2.y0 will get x4 (x3 will be copied)

Hide First And Last sets position.w to 0, used as visibility in the shader
Export Position if True it will export position
Export Orientation if True it will export orientation
Export Scale if True it will export scale







Tools Panel

This panel contain tools to easing the work

Tool Explanation

Export Options

Export Object Data Texture Will export all array setups which have a valid file path set in Object Data Texture
Object Data from Curve Tool to generate an array from a single curve object
Object Data from Animations Tool to generate an array from multiple animated objects
Vertex Color Tool which contains different vertex color presets to paint your lights with
alignYAxis This tool will rotate the active selected object to the target object at the -Y axis (Z in GE)