I’ve begun work on a maxscript to build Second Life primitives in max. This is based on a Blender Script written in python.
Progress so far is that the UI is pretty much done. Here are some pictures and if you’d like to download the script and try it, you are welcome to. At this point, it does not create any mesh, but the UI functions. Comments are welcome.
My current approach involves two scripts:
- The primitive script will build meshes and allow manipulating the primitves in max. There will be rules of course. See below. But generally, as much of native max will be used as possible.
- A utility script will sweep the scene and export all the SL primitives to a “tag file” in the same export format as the Blender Script.
Rules for use of the prmitives are at least:
- Create the primitives with the SLPrim object only. Only these objects will be exported to SL.
- Other objects in the scene will be ignored, so if you want to light and render the scene in max, you are free to do that.
- Movement and rotation are native in max. You must size the objects in the SLPrim ui, not using any scale or other modifiers.
- No modifiers are supported. It is to be determined whether they can be ignored.
- Texturing is undetermined at this time. Sure would be nice to support textures as they are in SL. Maybe using a special SL texturing plugin that knows how to apply the UVs in the same way as SL. Or add another rollout to the SLPrim.
- In order to support object positioning in max, it’s probably going to be required to set the world units in max to a specific settings in meters. Sure would be nice to have actual units displayed in max. This probably just falls out with a little work in the primitive.
Other problems include:
- Grouping. If a large collection in built in max, say a boat of house of a couple of hundred primitives, then grouping should be preserved from the Max environment into SL. The current tagged file format does not show this opportunity. Not sure how to implement this.
- Is the SL import script available? Or is it a built in function in SL? Might be nicer if it were a script so that it can be enhanced for texture coords and grouping. Where can we find the documentation for that function / script, or the source?
- More issues?
Here are the rollouts for the script at this stage:
To install the script, just copy all the files to your maxscriptsstartup folder and restart max. Then look in the Second Life category of objects in the object creation drop-down. Click on SLPrim to see the UI. The script does not yet create a mesh. Comments are welcome.