When creating models, keep in mind that each tile is 128x128 units, and scale the model accordingly. All new models should only use triangle faces.
You can currently contribute PIE models by either using PieSlicer (only available on Windows), PieToaster, Blender using the Blender PIE plugin or the 3DS 2 PIE converter (compilation instructions). It may still be possible to use 3DSMax with the 3DSMax plugin from the original source release. Let us know if you get this working.
Here are a number of old but useful tutorials on how to use PieSlicer: http://docs.wz2100.net/utilities/notyet.html
You should take a look at the detailed explanation of the PIE format, so you know what the format itself supports and what not.
Textures
You can add support for one of two kinds of dynamic content in your model: Animation or team colours. Both are specified the same way in the texture itself - by horizontally duplicating the image. For animation, each duplication represents one frame of animation. For team colours, there should be eight versions of the image in total, each in a player colour.
Here is an example of animation frames (cyborg feet):
Here is an example of team colours (cyborg upper bodies):
Team colours should always be coloured in the colours and order shown below (and above):
Animation
PIE files support animation. There are two kinds of animation - texture animation as described above, and model animation. The only model at the moment that uses model animation is the oil derrick. Model animation defines multiple meshes (levels, as defined in the PIE format) that may interact with each other. Exactly how texture animation and model animation work is specified in animation files with the extension ".ani", and these are interpreted with a flex and bison script. The .ani file describes changes to position, rotation and scale for each mesh for each defined key frame, although scale is not used. There is no support for joints or bones.
Primitive limits
- Vertices: 768
- Polygons: 512
Grim recommends:
- Bodies: under 100 polygons
- Propulsion: under 256 polygons
- Weapons: under 100 polygons
Texture resolution
One 256x256 texture map for each model.
Misc. info (please sort)
Structures
- Unused connectors after the first will get a light attached.
- Defensive structures will always get a teamcolour.
- Only built structures will be animated.
- Structures which are not defensive and have at least one poly with the animation flag will be animated. (Exception is for "DOOR" type structures.)
- See display3d.c:renderStructure() for reference.
Features
- Oil resources are animated at half the framerate
- All other features will not be animated, but get teamcolours instead
- See display3d.c:renderFeature() for reference.
Texture Animations
- Texture animations may wrap around and occupy multiple "rows" in a texture.
- Texture animations which wrap around must begin and wrap to the left side of the texture.
- See: data/base/texpages/page-24-fx.png@master for examples.
Attachments
-
page-24-fx.png
(9.2 KB) -
added by Berg 5 months ago.
example animation wrapping



