Merge pull request #296 from storytold/fix/model-import-alpha
Import: a 3D model doesn't ask how to interpret its alpha (#264)
This commit is contained in:
commit
e283b25efc
|
|
@ -264,9 +264,13 @@ impl Prober {
|
|||
{
|
||||
warning = Some(format!("{path}: {gaps}"));
|
||||
}
|
||||
// Settings ▸ Import ▸ Interpret Unlabeled Alpha As.
|
||||
// Settings ▸ Import ▸ Interpret Unlabeled Alpha As: images only (a 3D model renders its
|
||||
// own alpha, and audio and data have none).
|
||||
let mut ask_alpha = false;
|
||||
if f.alpha != effectcraft_project::AlphaMode::Ignore && !alpha_is_labeled(path, &f.codec) {
|
||||
if matches!(f.kind, FootageKind::Still | FootageKind::Sequence | FootageKind::Video)
|
||||
&& f.alpha != effectcraft_project::AlphaMode::Ignore
|
||||
&& !alpha_is_labeled(path, &f.codec)
|
||||
{
|
||||
let setting = if f.kind == FootageKind::Video { self.movie_alpha } else { self.still_alpha };
|
||||
match setting {
|
||||
Some(a) => f.alpha = a,
|
||||
|
|
|
|||
|
|
@ -229,3 +229,14 @@ fn adding_models_switches_classic_comps_to_advanced_3d() {
|
|||
s.execute("comp.renderer", json!({"renderer": "classic3d"})).unwrap();
|
||||
assert!(toasts(&mut s).iter().any(|m| m.contains("Classic 3D doesn't draw")));
|
||||
}
|
||||
|
||||
/// Importing a 3D model doesn't ask how to interpret its alpha (Interpret Footage): a model
|
||||
/// renders its own.
|
||||
#[test]
|
||||
fn importing_a_model_does_not_ask_about_alpha() {
|
||||
let mut s = session();
|
||||
assert_eq!(s.prefs.unlabeled_alpha(false), None, "Ask User");
|
||||
let r = s.execute("file.import", json!({"paths": [fixture("quad.glb")]})).unwrap();
|
||||
assert_eq!(r["unlabeledAlpha"], json!([]));
|
||||
assert!(!s.drain_events().iter().any(|e| matches!(e, crate::Event::Frontend { command, .. } if command == "file.interpretFootage")));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue