Disable frustum culling for skinned meshes

This commit is contained in:
Danny McGee
2023-12-06 22:54:52 -05:00
parent f14197ac25
commit 9699476c02
+8 -3
View File
@@ -9,7 +9,7 @@ use bevy::{
math::{vec2, vec3},
pbr::ShadowFilteringMethod,
prelude::*,
render::{mesh::skinning::SkinnedMesh, primitives::Aabb},
render::{mesh::skinning::SkinnedMesh, primitives::Aabb, view::NoFrustumCulling},
scene::InstanceId,
};
@@ -264,10 +264,15 @@ fn tag_scene_elements(
}
}
for skinned_mesh in r_scene_spawner
for (ent, skinned_mesh) in r_scene_spawner
.iter_instance_entities(**r_active_scene)
.filter_map(|ent| q_skinned_meshes.get(ent).ok())
.filter_map(|ent| match q_skinned_meshes.get(ent) {
Ok(skinned_mesh) => Some((ent, skinned_mesh)),
_ => None,
})
{
cmd.entity(ent).insert(NoFrustumCulling);
for &joint in skinned_mesh.joints.iter() {
cmd.entity(joint).insert(SkeletalJoint);
}