only generate floor for region looked from inside
This commit is contained in:
parent
d9cf3be232
commit
59384ce345
@ -19,15 +19,16 @@ func _generate_geometry(space: Space, looked_from_inside: bool) -> Node3D:
|
|||||||
|
|
||||||
var mesh := ArrayMesh.new()
|
var mesh := ArrayMesh.new()
|
||||||
mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, _generate_wall_arrays(space, looked_from_inside))
|
mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, _generate_wall_arrays(space, looked_from_inside))
|
||||||
mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, _generate_floor_arrays(space))
|
|
||||||
|
|
||||||
var wall_material := StandardMaterial3D.new()
|
var wall_material := StandardMaterial3D.new()
|
||||||
wall_material.albedo_texture = wall_texture
|
wall_material.albedo_texture = wall_texture
|
||||||
mesh.surface_set_material(0, wall_material)
|
mesh.surface_set_material(0, wall_material)
|
||||||
|
|
||||||
var floor_material := StandardMaterial3D.new()
|
if (looked_from_inside):
|
||||||
floor_material.albedo_texture = floor_texture
|
mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, _generate_floor_arrays(space))
|
||||||
mesh.surface_set_material(1, floor_material)
|
var floor_material := StandardMaterial3D.new()
|
||||||
|
floor_material.albedo_texture = floor_texture
|
||||||
|
mesh.surface_set_material(1, floor_material)
|
||||||
|
|
||||||
geometry.mesh = mesh
|
geometry.mesh = mesh
|
||||||
|
|
||||||
@ -53,7 +54,7 @@ func _generate_wall_arrays(space: Space, looked_from_inside: bool) -> Array:
|
|||||||
arrays.resize(Mesh.ARRAY_MAX)
|
arrays.resize(Mesh.ARRAY_MAX)
|
||||||
arrays[Mesh.ARRAY_VERTEX] = vertices
|
arrays[Mesh.ARRAY_VERTEX] = vertices
|
||||||
arrays[Mesh.ARRAY_TEX_UV] = uvs
|
arrays[Mesh.ARRAY_TEX_UV] = uvs
|
||||||
|
|
||||||
return arrays
|
return arrays
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user