MeshLODGenerator

An asset by official.pumpking.dev
The page banner background of a mountain and forest
MeshLODGenerator hero image

Quick Information

0 ratings
MeshLODGenerator icon image
official.pumpking.dev
MeshLODGenerator

LOD generator addon for Godot 4.x, suitable for mesh quality ingame settings.

Supported Engine Version
4.0
Version String
1.0
License Version
CC-BY-4.0
Support Level
community
Modified Date
6 months ago
Git URL
Issue URL

MeshLodGenerator

The MeshLodGenerator class is a Godot Editor plugin tool designed to generate Levels of Detail (LODs) for MeshInstance3D nodes within a scene. This class provides methods to find mesh instances and generate LODs for individual meshes or entire scenes.

Methods

find_mesh_instances(node: Node) -> Array

Finds all MeshInstance3D nodes within the given node's subtree.

Parameters:

  • node: The root node to start the search from.

Returns:

  • Array: An array containing all MeshInstance3D nodes found within the subtree.

Example:

var mesh_instances = MeshLodGenerator.new().find_mesh_instances(get_tree().root)

generate_lods_for_mesh(mesh: MeshInstance3D, lod_bias: float = 0.5, normal_merge_angle: float = 25, normal_split_angle: float = 60)

Generates LODs for a given MeshInstance3D.

Parameters:

  • mesh: The MeshInstance3D for which to generate LODs.
  • lod_bias: The LOD bias value. Default is 0.5.
  • normal_merge_angle: The normal merge angle for LOD generation. Default is 25.
  • normal_split_angle: The normal split angle for LOD generation. Default is 60.

Example:

var mesh = $MeshInstance3D
MeshLodGenerator.new().generate_lods_for_mesh(mesh, 0.5, 25, 60)

generate_lods_for_scene(scene: Node, lod_bias: float = 0.5, normal_merge_angle: float = 25, normal_split_angle: float = 60)

Generates LODs for all MeshInstance3D nodes within the given scene.

Parameters:

  • scene: The root node of the scene for which to generate LODs.
  • lod_bias: The LOD bias value for all meshes in the scene. Default is 0.5.
  • normal_merge_angle: The normal merge angle for LOD generation. Default is 25.
  • normal_split_angle: The normal split angle for LOD generation. Default is 60.

Example:

var scene = get_tree().root
MeshLodGenerator.new().generate_lods_for_scene(scene, 0.5, 25, 60)

Example Usage

Here is an example of how you might use the MeshLodGenerator class in a script:

extends Node

func _ready():
    var scene = get_tree().get_root()
    var lod_generator = MeshLodGenerator.new()
    
    # Generate LODs for the entire scene
    lod_generator.generate_lods_for_scene(scene)

    # Find all MeshInstance3D nodes in the scene
    var mesh_instances = lod_generator.find_mesh_instances(scene)
    print(mesh_instances)

    # Generate LODs for a specific mesh instance
    if mesh_instances.size() > 0:
        lod_generator.generate_lods_for_mesh(mesh_instances[0])

Install

Copy the addons/mesh_lod_generator folder into your res://addons folder and activate the addon in the project settings

LOD generator addon for Godot 4.x, suitable for mesh quality ingame settings.

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
MeshLODGenerator icon image
official.pumpking.dev
MeshLODGenerator

LOD generator addon for Godot 4.x, suitable for mesh quality ingame settings.

Supported Engine Version
4.0
Version String
1.0
License Version
CC-BY-4.0
Support Level
community
Modified Date
6 months ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers