UV Mapping for Destructable Walls
This commit is contained in:
29
demo/assets/scripts/environment/destructable/faces.gd
Normal file
29
demo/assets/scripts/environment/destructable/faces.gd
Normal file
@@ -0,0 +1,29 @@
|
||||
extends RefCounted
|
||||
|
||||
class_name Faces
|
||||
|
||||
var faces: Array[Face]
|
||||
|
||||
func _init(verts: PackedVector3Array, uvs: PackedVector2Array, normals: PackedVector3Array) -> void:
|
||||
assert(len(verts) == len(uvs), "number of verts vs uvs do not match")
|
||||
assert(len(normals)*3 == len(verts), "missing normal data")
|
||||
|
||||
for i in range(0, len(normals)):
|
||||
var start_index = i*3
|
||||
|
||||
var v0 = verts[start_index]
|
||||
var v1 = verts[start_index+1]
|
||||
var v2 = verts[start_index+2]
|
||||
|
||||
var varray = PackedVector3Array([v0, v1, v2])
|
||||
|
||||
var u0 = uvs[start_index]
|
||||
var u1 = uvs[start_index+1]
|
||||
var u2 = uvs[start_index+2]
|
||||
|
||||
var uarray = PackedVector2Array([u0, u1, u2])
|
||||
|
||||
self.faces.append(Face.new(varray, uarray, normals[i]))
|
||||
|
||||
func get_faces() -> Array[Face]:
|
||||
return faces
|
||||
Reference in New Issue
Block a user