Skip to main content

Generating Terrains, Objects, and Assets

Infinity Creator provides powerful procedural tools to generate terrains, objects, and assets efficiently. This guide outlines step-by-step methods to create dynamic game environments, procedural objects, and reusable assets.

1. Generating Procedural Terrains​

Terrains can be generated either at Editor-Time or Runtime using the Node Graph.

Setting Up a Procedural Terrain​

tip

Use the prebuilt "Basic 3D Landscape" template to quickly create a landscape generator.

If using the "Basic 3D Landscape" template, steps 1. and 2. can be skipped.

  1. Build a Terrain System
    • Build a custom system by dragging the following nodes into the Node Graph:
      • Noise Image (for terrain randomness)
      • Create Mesh (for the Landscape itself)
      • Texture Deform (for terrain deformation scale)
      • Create Render Object (for showing results in the 3D Scene)
  2. Connect and Adjust Nodes
    • Link Create Mesh → Texture Deform → Create Render Object.
    • Link Noise Image → Texture Deform → Create Render Object.
    • Adjust parameters in the Inspector Panel (e.g., height scale).
  3. Bake or Preview the Terrain
    • Click Run System to test it in the 3D Scene View.
    • Click Deploy for use in your application or game.

2. Creating Procedural Objects​

Objects such as buildings, vegetation, or props can be generated, modified, and replicated procedurally.

Generating a Procedural Object​

  1. Use Object-Based Nodes
    • Drag the following from the Toolbox and connect them:
      • Create Mesh (to generate a base shape)
      • Mesh Deform (Noise) (to apply deformation)
      • RenderObject (to render the final object)
  2. Modify Object Properties
    • In the Inspector Panel, tweak scale, rotation, and subdivisions.
  3. Instantiate Multiple Objects
    • Drag the following from the Toolbox and connect them:
      • Sampled3D (to sample multiple points in 3D space)
      • Create Transforms (to convert the raw 3D points to an Array<Transforms>)
      • Instances (to create multiple instances of the base mesh)
    • Link RenderObject → Instances.
  4. Run the System
    • View the rendered output in the 3D Scene.
  5. Export as a complete scene
    • Click the file button in the File Menu and select Export → Export 3D Scene....

3. Generating and Managing Procedural Assets​

Procedural assets include textures, materials, and environmental effects.

Creating Procedural Textures​

  1. Use Image-Based Nodes
    • Drag nodes from Toolbox → Images:
      • Gradient (for base coloring)
      • Colorize (to add color variations)
      • Tile (to make seamless textures)
      • 3-Tone Linear Gradient (to create a three colored noise)
      • 3-Tone Masked Linear Gradient (to create a three colored noise mask)
  2. Run the System
    • Click nodes to see their output in the Inspector.
  3. Save as an Asset
    • Right-click in the inspector and select Save to Asset.

4. Optimizing Procedural Content​

Once assets and terrains are generated, optimize them for performance.

Optimization Techniques​

Bake Procedural Elements - Convert procedural objects to static assets if they don't need runtime changes.
Reduce Complexity - Use lower resolution noise maps for non-detailed areas.
Instance Objects - Use the Instances node to avoid duplicating large meshes. Use Hybrid Generation - Pre-generate base content and modify dynamically at runtime.

5. Exporting and Using Procedural Assets​

After generation, procedural assets can be exported for use in game engines.

How to Export Assets​