Modelling for a game is a mix of art, design, scripting, animation and procedural automation. It requires creativity and attention to detail.
The original habitat modelling has been brought forward from the Crytek engine to Lumberyard and the CryEngine editors been present in released videos.
The habitation environments have lighting, animation, damage and audio attached to them just the same as the ships do. Trigger points and modes can be built into the model and would be available for programmatic control as well.
The models are therefore more like autonomous entities that are manipulated by code as complex objects rather than a
In order to increase the quality of the models, Star citizen uses POM technology to smooth off and hide joins between meshes. It can also be used to add visual detail like cut lines, rivets and wiring.
Food meshes and landscapes are both created using a commercial tool called Substance Designer. The tool allows the designer to connect together mathematical processes represented visually by boxes and wires. Some of the boxes provide data sources of different types, often driven by random numbers, while subsequent boxes modify, filter, combine and shape the date into useful assets.
The top-centre pane in the designer screenshot shows some of the transformation boxes that combine to describe the final object.
The food types are synthesised from randomly placed coloured objects and effects.
A detailed explanation of the steps that go into making an environment is covered in a separate article.
The moons are crafted using a mixture of procedural generation and design. You can see that the example moon used in their video demo is being edited by a Lumberyard editor that still carries the CryEngine extension ‘.cry’. The PlanEd editor has been developed by in-house and appears to be running as a module within the Lumberyard editor.
As with the food textures, the surfaces of the moons are designed using Substance Designer.
Substance designer provides textures by creating multiple objects at different scales with colour and shape variations which can be merged in a variety of ways. Once a resultant texture has been chosen, the material can be simplified and then output separated into layers. The layers can be replicated and manipulated within the Star Engine to increase the amount of variation across a landscape.
Special game elements such as habitations and landscape features are embedded into a landscape visually using POM technology to provide a more realistic contact surface.
Caves are now part of the Star Citizen environment, you can read more about them here.
Another game technology improvement that is more to do with attention to detail rather than leaping technical hurdles. When two 3d surfaces meet there can be tell-tale effects such as razor-sharp joins or slight gaps. This effect can be mitigated by two methods: subdivision and POM.
Where more detail is required, a mesh can be subdivided to support it. When edges meet, extra polygons can be added to smooth off the join, which raises the level of realism. The downside is that the polygon count for the model will go up.
Parallax Occlusion Mapping (POM) adds detail without adding to the polygon count. Texture and heightfield information is combined to provide a visual model that is rendered by the GPU. The heightfield information would normally be stored in the alpha channel of an RGB image, but it doesn’t have to be.