Skip to main content
Participant
August 21, 2024
Answered

Animated mask fails at rendering SWF, HTML/JS or MP4 but not as JPG-Sequence

  • August 21, 2024
  • 2 replies
  • 797 views

Hi all!

 

Task: simulate a snow plow removing snow from a street

 

Layer-/Instance-Concept: 

  • Layer: SnowPlow
    • instance of the SnowPlow itself; animated
  • Layer (mask): Track
    • instace of a MovieClip (the MovieClip contains the path/track already handled)
    • Layer (masked): Road <= everywhere it's masked the clean road is visible 
  • Layer: Snow 
    • covering the layer below with alpha=50%
  • Layer: Road 

 

Like this "Road" (lowest layer) is covered by snow except where the plow has already been.

See .fla-file ( https://drive.google.com/file/d/12l52lb-Uvv8SQt5sr6iP8JKcGuZoJZwi/view?usp=drive_link ) to understand better. 🙂

The fun part:

  • the stage in Animate shows everything as expected when moving around in the timeline
  • when publishing (swf, html/js or even mp4) the Mask acts static
  • seeing is believing? watch the attached .mp4!

 

Even funnier: 

  •  an exported .jpg-sequence looks correct => see attached .png

My setup:

  • Windows 10 Enterprise Version 22H2
  • Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 3.60 GHz 64GB Ram
  • tried it with Animate 24.0.4 and 24.0

 

My questions:

  • can anyone confirm the behaviour? <= if not, I'm (finally) "the only"
  • can anyone export/publish correctly? <= let me know your system setup and Animate Version
  • can Adobe fix this, please? ... PLEASE!?

 

Thanks to all who can help to solve this! 


P.S.: How shall I document an Animate issue if I can't upload an .fla-file here? 😮

    Correct answer Mario_CR

    Your mask is a symbol with multiple layers inside. Only the bottomost layer inside the symbol will be used as the actual mask, the rest will be ignored, same goes for object drawings and groups, this is a known behavior.

     

    The way to solve this is to either flatten everything inside the mask symbol leaving nothing but raw shapes OR nest everything in it into a new symbol and change the blend mode to "Layer" (see example video below).

     

    PS: The reason you see different results from image sequences as opposed to swf/video/html5 output is because sequences are recorded directly from the stage while a swf/video needs to compile everything first.

    2 replies

    Mario_CR
    Community Expert
    Mario_CRCommunity ExpertCorrect answer
    Community Expert
    August 21, 2024

    Your mask is a symbol with multiple layers inside. Only the bottomost layer inside the symbol will be used as the actual mask, the rest will be ignored, same goes for object drawings and groups, this is a known behavior.

     

    The way to solve this is to either flatten everything inside the mask symbol leaving nothing but raw shapes OR nest everything in it into a new symbol and change the blend mode to "Layer" (see example video below).

     

    PS: The reason you see different results from image sequences as opposed to swf/video/html5 output is because sequences are recorded directly from the stage while a swf/video needs to compile everything first.

    Participant
    September 3, 2024

     change the blend mode to "Layer" => clean and easy .... when you know it! 🙂

    Thanks a lot, Mario_CR!

    Mario_CR
    Community Expert
    Community Expert
    September 3, 2024

    You're welcome 🙂

    kglad
    Community Expert
    Community Expert
    August 21, 2024

    do you have any code affecting the mask?