diff options
Diffstat (limited to 'world/src/mesh.rs')
-rw-r--r-- | world/src/mesh.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/world/src/mesh.rs b/world/src/mesh.rs index b0b55b7..96976ce 100644 --- a/world/src/mesh.rs +++ b/world/src/mesh.rs @@ -17,7 +17,7 @@ use crate::{Args, TextureCache, load_texture}; use anyhow::Result; use gltf::{Mesh, Node, buffer::Data}; -use log::{debug, info}; +use log::{debug, info, warn}; use std::path::Path; use weareshared::{ Affine3A, Vec3A, @@ -46,11 +46,13 @@ pub fn import_mesh( } let reader = p.reader(|buf| Some(&buffers[buf.index()])); + let mut num_vertex = 0; let va_position = reader .read_positions() .map(|iter| { let a = iter.map(|[x, y, z]| vec3a(x, y, z)).collect::<Vec<_>>(); debug!("{} vertex positions", a.len()); + num_vertex = a.len(); store.set(&a) }) .transpose()?; @@ -81,6 +83,9 @@ pub fn import_mesh( .map(|iter| { let a = iter.into_u16().collect::<Vec<_>>(); debug!("{} vertex joint indecies", a.len()); + if a.len() != num_vertex { + warn!("joint index count does not vertex count") + } store.set(&a) }) .transpose()?; @@ -90,6 +95,9 @@ pub fn import_mesh( .map(|iter| { let a = iter.into_f32().collect::<Vec<_>>(); debug!("{} vertex joint weights", a.len()); + if a.len() != num_vertex { + warn!("joint weight count does not vertex count") + } store.set(&a) }) .transpose()?; |