Textures
From Texture mapping: “Texture mapping is a method for adding detail, surface texture, or colour to a computer-generated graphic or 3D model.”
Think of a 3D model as a ‘build it yourself’ model that you’d buy at a hobby store. Once put together, you still need to paint and apply stickers to it. The same applies to a 3D model. Once built, it is a drab grey or white, without detail or color. To bring it to life, you must apply textures (color, images, or pictures) to it.
The Textures Guide subcategory below, will walk those new to the concept of texturing through the various articles below in an orderly fashion. For those seasoned veterans new to Moviestorm, it will also lay out file formats and resolution guidelines.
Sections in this guide include:
Introduction to Moviestorm Textures
Texture Sizes and Performance
Moviestorm Texture Types
Introduction to Moviestorm Textures
Creating a texture is easy, however, creating a good texture can be time consuming and frustrating. It really depends on your needs and levels of skill and obsession.
The following group of articles will not attempt to teach you artistic skill but will instead focus on the technicalities of creating the different types of textures that Moviestorm uses and how to do so in a way that gives quality results without crippling Moviestorm’s performance.
Although while browsing through its directories you’ll notice that Moviestorm can use images in the .jpg, .png, and .dds formats, Moviestorm textures are solely in the .dds format, as it is specifically designed for game textures, compresses very well for minimum disk space and streams across the graphics card seemlessly, unlike jpg files which, while small on disk, are a slow to uncompress, slowing the processor, and much bigger in memory than you might think. Additionally, .dds files carry their own mipmaps (tiny versions of the texture to use when you are far away), and jpgs do not, so the processor/card has to calculate those as well. Also, when a non square or 2:1 texture is force mipmapped, it fudges it a bit around the edges, squashing the texture in to a square which can cause seams and tiling errors. So any benefit of using a massive high quality image in the first place is lost.
Using the .dds format is more than just a suggestion. In fact, a recent issue with large, user-made, .jpg images that began causing Moviestorm to freeze and/or crash is the reason for these Texture Guides being written. Whatever you do for content that you’re going to use personally is your own business, however, if you intend to share your creations with others, please use the .dds format and the guidelines in ‘Texture Sizes and Performance’, which is linked to below.
Note: When saving an image in the .dds format, you are presented with a number of compression options. Only two of them are pertinent to Moviestorm textures:
DXT5 with alpha (for things with transparencies)
DXT1 without alpha (for those without transparencies)
DXT1 with alpha will not work on a significant number of graphics cards, so don’t use it.
Image editors
You’ll need an image editing tool such as Gimp (which is free) or Photoshop. Tutorials exist for these products but here you’ll find links, tutorials, and information specific to Moviestorm.
Some image editors have built-in support for .dds files, others such as Gimp, Photoshop, and Paintshop require an additional, yet free, plugin.
Texture Sizes and Performance
Textures while an object (prop, costume, face, etc.) may look very good with textures at a resolution of 2048 x 2048, there are two important issues to keep in mind.
One, the majority of Moviestorm’s textures are, for performance issues, 512 x 512. So, compared to the other objects, this one will stand out considerably. This may be desirable for certain shots, making the object stand out or for an extreme close-up, however, the typical background object would benefit more from blending in than standing out. And two, performance.
Texture resolutions in Moviestorm are kept deliberately low so that the tool runs on as many home and school systems as possible. We try to keep everything under the 512×512 mark, but that is just for one pass i.e. 512×512 for Diffuse, Specular and Normal on a character’s face or jacket.
Sure, low texture resolutions aren’t the only thing keeping Moviestorm performing on as many systems as possible, but, they are an important part of the balancing act that does.
The polygon count of models, the resources needed for a number of animations, gestures, facial expressions, dialogue, lighting, texture resolutions, and more, are all part of the mix. If you throw this balance off, it will cause Moviestorm’s performance to suffer or worse, cause Moviestorm to completely shut down.
Here are some resolution guidelines and handy tips that will help keep Moviestorm running as efficiently as possible. Keep in mind that as Moviestorm evolves, these resolutions may change.
Guidelines Floor/Wall/Ceiling Tile Textures
Diffuse 256×256
Specular 128×128
A floor or wall tile doesn’t usually need to be bigger than 256×256, however I’ve stumbled on a few that are over 2000 pixels wide. While a key model in your scene can often shine with high res textures, tiling backgrounds are just a waste of resources, especially when they are each taking about 16mb of ram.
Model Textures
Diffuse 512×512
Specular* 256×256
Normal* 512×512
Too many 512s and your system will still seize up, so work your way back from there as props become less relevant or likely to appear right in front of the camera. I would love to give you a cut out and keep guide of how big textures should be for every asset type, but there will always be an exception. Just try to make all textures (and meshes) as small as possible before you find them rubbish to look at, that’s all I can advise. That said, if you want masses of detail by all means go for 1024×1024, 2048 or 4096. It’s undeniable things will look better but they will slow down Moviestorm’s performance and lack continuity with other assets and characters in the scene.
* For both Specular and Normal textures, detail is much more important than resolution. Generally, they can both be 1/2 the resolution of the Diffuse. In some cases, where even the need for detail is small, they could be 1/4 the resolution of the Diffuse.
Tips
Limit file redundancy
If you are using the same texture on multiple objects in your mod, put just one copy of that texture in a shared folder in the root of the Props folder. i.e. [name] Mod/Props/Textures NOT [name] Mod/Props/CAR1/Textures and Mod/Props/CAR2/Textures and Mod/Props/CAR3/Textures. Then you can browse to that folder in the Modders Workshop and save even more disk and card space.
Double-check Sketchup Textures
Sketchup converting people should pay a lot of attention to this as Sketchup models are often made for single renders, so huge textures are fine for their original intentions. Once the Sketchup process has been done, go in to the the file folders and check what you’ve got and if need be open them up in Photoshop and fix them.
Moviestorm Texture Types
Moviestorm utilizes four different texture types for the surfaces of its models: Diffuse, Specular, Normal, and Emissive. Since each one serves a particular purpose, they are not all used on each and every model.
Diffuse, Specular, Normal can be considered the detail textures and are the most commonly used. The second and third (Specular and Normal) are basically different versions of the first (Diffuse).
Images created by AngriBuddhist.
Diffuse
The majority of the detail in a model comes from a Diffuse texture. It’s basically a 2D image that’s wrapped around, or pasted on, a 3D object. Although it’s not entirely accurate, it may be easiest to think of Diffuse textures as always being shown fully while the effects of the Specular and Normal textures are applied to the Diffuse.
Specular
Although Specular textures do respond to the presence, strength, and absence of light, this should be considered, unlike in reality, a highlighting effect and not an actual reflection. Moviestorm calculates where (and at what strength) light is hitting a Specular and it increases or decreases the brightness of the light portions of the texture. The dark portions are ignored.
Emissive
Emissive maps are used in place of the diffuse map, and are displayed at 100% lighting; as such, things with emissive maps will appear to glow in the dark. If only certain bits need to glow, have the rest of the emissive map be black, and contiune using a diffuse map too.