- Edited
So, I currently generate a grid like this :
The way I do it tho is probably not the best (I drop from 400 fps to 100 fps with the grid active)
extends Node3D
@onready var grid_cell = preload("res://Grid/grid_cell.tscn")
var grid_size = 100
var cell_size = 2
var cell_spacing = 0.1
func _ready():
generate_grid()
func generate_grid():
for x in range(grid_size):
for z in range(grid_size):
var grid_cell_instance = grid_cell.instantiate()
grid_cell_instance.transform.origin = Vector3(x * (cell_size + cell_spacing),0.1, z * (cell_size + cell_spacing))
add_child(grid_cell_instance)
that grid_cell.tscn is a simple plane with a texture applied to it.
I was planning on adding an area3D to each cell to detect if the player is within the cell.