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 ExportExport 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