35 lines
742 B
GDScript
35 lines
742 B
GDScript
# Configuration for LOD meshes
|
|
class_name LODConfig
|
|
extends Resource
|
|
|
|
# -- signals --
|
|
# -- enums --
|
|
# -- constants --
|
|
# -- exported variables --
|
|
export (Mesh) var max_detail_mesh
|
|
export (Mesh) var mid_detail_mesh
|
|
export var mid_detail_distance = 1.0
|
|
export (Mesh) var min_detail_mesh
|
|
export var min_detail_distance = 10.0
|
|
# -- public variables --
|
|
# -- private variables --
|
|
# -- onready variables --
|
|
|
|
# -- preloads --
|
|
|
|
# -- virtual methods --
|
|
|
|
# -- public methods --
|
|
|
|
func get_lod_mesh(dist: float) -> Mesh:
|
|
""" Get the mesh to display, given a distance to camera
|
|
"""
|
|
if dist > min_detail_distance:
|
|
return min_detail_mesh
|
|
elif dist > mid_detail_distance:
|
|
return mid_detail_mesh
|
|
else:
|
|
return max_detail_mesh
|
|
|
|
# -- private methods --
|