Sleepy's weight implementation swapped in

This commit is contained in:
Will Snyder
2020-10-16 10:34:39 -05:00
4 changed files with 92 additions and 111 deletions

View File

@@ -27,18 +27,25 @@ class ModelTransform:
translation: Vector = field(default_factory=Vector)
rotation: Quaternion = field(default_factory=Quaternion)
@dataclass
class VertexWeight:
""" Class representing a vertex weight in a .msh file. """
weight: float = 1.0
bone: int = 0
@dataclass
class GeometrySegment:
""" Class representing a 'SEGM' section in a .msh file. """
material_name: str = ""
material_name: str = field(default_factory=str)
positions: List[Vector] = field(default_factory=list)
normals: List[Vector] = field(default_factory=list)
colors: List[List[float]] = None
texcoords: List[Vector] = field(default_factory=list)
weights: List[Tuple[int, float]] = None
weights: List[List[VertexWeight]] = None
polygons: List[List[int]] = field(default_factory=list)
triangles: List[List[int]] = field(default_factory=list)
@@ -64,11 +71,11 @@ class Model:
transform: ModelTransform = field(default_factory=ModelTransform)
bone_map: List[str] = None
geometry: List[GeometrySegment] = None
collisionprimitive: CollisionPrimitive = None
vgroups_to_modelnames_map : Dict[int, str] = None
@dataclass
class Animation:
""" Class representing 'CYCL' + 'KFR3' sections in a .msh file """