我有一个带有凸面分解碰撞器的网格,使用bevy_rapier3d
.
我怎样才能算出剑杆为该对撞机计算的质量?
我的代码看起来像这样:
fn asset_loaded(
mut commands: Commands,
my_object: Query<(Entity, &Handle<Mesh>), With<MyObjectMarker>>,
meshes: Res<Assets<Mesh>>,
asset_server: Res<AssetServer>,
loaded: Local<bool>,
){
if *loaded{
return;
}
let (my_entity, my_mesh) = my_object.single();
if asset_server.load_state(my_mesh) != LoadState::Loaded {
return;
}
let collider = Collider::from_bevy_mesh(
meshes.get(my_mesh).unwrap(),
&ComputedColliderShape::ConvexDecomposition(VHACDParameters::default()),
).unwrap();
// ??: how can i get the computed mass of the object here?
commands.get_entity(my_entity).unwrap().insert(collider);
*loaded = true;
}
mass_properties
您可以像这样使用该函数:density
请注意,如果尚未指定,则需要指定。在上面的示例中,它被设置为1
。如果您想处理您可能已指定的一般情况
ColliderMassProperties
,您可以使用以下命令: