BodyPaint 3D and Softimage
This guide will show you how to better use this tool, which makes transferring files between BodyPaint 3D and Softimage XSI possible.
This exchange plugin supports Softimage 2012 or newer.
Before we start, please note the following points:
Before you are able to send files to BodyPaint 3D a few settings must first be made. To do this, go to Edit / Preferences … The Preferences window will open in which you can select the BodyPaint 3D entry in the Custom menu.
BodyPaint 3D Path
This is where you enter the location of the BodyPaint 3D (standalone version) or Cinema 4D application.
Select the corresponding file:
All temporary files associated with the file exchange between Softimage and BodyPaint 3D will be placed in this path. All newly generated BodyPaint 3D textures will also be placed here unless otherwise specified by you.
This shows how much larger the exchanged objects will be in BodyPaint 3D. This is necessary because objects created in Softimage would otherwise be too small in BodyPaint 3D, due to the differing coordinate systems. The predefined multiplier of 100 will generate a reasonable size.
Do Not Wait for BodyPaint 3D
You can select this option if you only want to send data to BodyPaint 3D (and not back to Softimage as well). If this option is selected, Softimage will not wait for the data to be returned.
The Exchange Process
Softimage XSI to BodyPaint 3D
Exporting an object or a scene is simple. The Send to BodyPaint 3D command is located in the File menu. To send an object to BodyPaint 3D, select it in the Object Mode and start the exchange. If no object is selected, the entire scene will be sent.
The Softimage "waiting for…" window will open.
After BodyPaint 3D or Cinema 4D (in this case you will have to manually switch to the BodyPaint 3D layout) has started it will automatically be placed in the foreground and you can begin painting your objects.
Bringing files that were created in BodyPaint 3D back into Softimage XSI is very simple: You will find the
Clicking on this menu item will send all unlocked UV-coordinates, supported material properties and textures (including textures and UVsets created in BodyPaint 3D) back to Softimage XSI.
No geometry data will be exchanged during the transfer process. Only bitmap and material information as well as UV-coordinates will be transferred.
Materials / UVsets
Currently, Softimage and BodyPaint 3D use different material models. An Softimage shader is basically the same as a BodyPaint 3D shader, therefor the shader that is assigned to the Softimage‘s surface channel is what will be transferred. The Exchange-Plugin attempts to make the best possible texture channel allocation, nevertheless noticeable differences can arise.
|Diffuse (Textur, rgb)||Color|
|Ambient (Textur, rgb)||Environment|
|Transparency (Textur, rgb)||Transparency|
|Index of Refraction||Calculation|
|Reflectivity (Textur, rgb)||Reflectance|
|Incandescence (Textur, rgb)||Luminance|
|Specular Color (Textur, rgb)||Reflectance|
With the exception of Blinn, the illumination model will always be set to Phong.
Image layers in texture channels are not supported. Local materials on FaceClusters will be transferred and assigned via BodyPaint 3D‘s Selection tag (if materials overlap, in BodyPaint 3D only the first cluster‘s material will be visible on those overlapping polygons). A Bump mapGenerator will be applied for all new bump map textures which will connect the Softimage-shader‘s bump channel with the new image.
The following objects will be exported correctly:
Softimage and BodyPaint 3D can exchange all PolygonMesh and SubdivisionSurfaceMesh objects trouble-free (the latter will be converted to PolygonMesh objects via the NurbsToMesh command and placed in Subdivision Surface objects in BodyPaint 3D). In addition, PolygonMesh objects and the user‘s Geometry Approximation will be placed into Subdivision Surface objects and the editor and renderer subdivision will be set to Softimage‘s OGL Level and Render Level values respectively.
All Softimage XSI and BodyPaint 3D hierarchies should be interchangeable. Unknown object types will be replaced with Null Objects.