Announcements
The Scaleform forum is now read-only. Please head to the Gamedev site for product support.
Scaleform Forum (Read Only)
Scaleform enables developers to leverage the power of the Adobe® Flash® tool set to create powerful user interface environments for video games.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Latest Update Masking on iOS

6 REPLIES 6
Reply
Message 1 of 7
HenryStrattonFW
551 Views, 6 Replies

Latest Update Masking on iOS

Hey folks,

 

Running into another problem here having recently done the update to the March 5th 2014 version of scaleforn. Finally got the upadte to a point where it would build and display ui on both the editor and on device. PC, Mac, and Android are fine.


However on iOS devices, masks seem to have broken. It seems as if the masks just simply aren't being applied. The screenshots show how an example displays for us in the editor and on android. And then another how it appears on my iPad3. (The scrolls as closed, the mask is then animated as they open to reveal content).

 

Screen Shot 2014-06-07 at 15.43.06.png

 

IMG_0502.PNG

 

 

 

I've set the SF_SetTextureCount to 1500 in case it was an issue with that, nothing, I'm wondering if there is something else on iOS that I have to do for masks to work that I missed in the notes?

 

Really hope there is a solution to this, The masks used in our files worked fine in previous versions so I'm not sure what has changed to break them now. It even happens if i load our file up into a project that just has the scaleform demo imported.

If any staff members read this, I will be providing a zip file shortly of a repro case once they have been uploaded.

6 REPLIES 6
Message 2 of 7

Ok so after side lining this to look at other updates I've come back to try and test a much lighter test file, just to rule out my swf file being weird or doing odd things in how masks were used. 

 

For this test I open a brand new unity project, import the scaleform package from march 5th 2014. and then swap the main menu to load my new swf instead of the normal demo one. The new swf is attached.

 

The swf has 2 mask tests, the top one is a movieclip with an animated object on a mask layer with coloured boxes underneath that should be masked. The bottom one is a movie clip of a box moving side to side, which is then set as a mask via actionscript for a set of colour boxes that shoulld be masked.

 

Both approaches as before seem to work in the editor but apply no masking on my iPad.

 

 

Is nobody else experiencing this issue? Have I simply been oblivious to some warning about masks and how to use them in the latest update? Or have masks actually broken, and against considerable odds I'm the only one posting to ask about it?

Message 3 of 7
ztorion
in reply to: HenryStrattonFW

We have the same problem.

At first, the game works well and all masks are rendered properly. However, after creating and removing some MovieClips with masks, we get the following error spammed in xcode output:
 

Warning: No compatible depth stencil formats available. Masking in filter will be disabled

From there on, all masks are ignored, even if we deinit the swf and load a new one. It seems that the larger the masks are (or if something is animated?), the faster the error will occur.

Note that all objects with masks are properly removed from the stage in actionscript, all event listeners are removed etc., and that everything works fine in the Editor. 

Message 4 of 7
HenryStrattonFW
in reply to: ztorion

Hey ztorion.

 

Do you have a lightweight project that you could send me that demonstrates this "working then breaks" behaviour? Although my real poroject does use a sizeable mask, my small demo test i would not consider to be using large masks. So I would be very interested to try out someones files if they work to see if that can shed any light on if/what I'm doing wrong or differently on my project. 

 

If such a demonstration isn't possible then don't worry, just thought it'd be worth asking.

Message 5 of 7
RichMC
in reply to: HenryStrattonFW

From Unity Development:

 

There’s a note in our documentation describing how to fix the depth stencil on iOS. Look for Section 12.3 in the docs, “Building on the iOS”.

Here’s an excerpt from our doc: “By default, Unity does not provide a Stencil Attachment in the OpenGLES2 implementation for iOS”, and then it explains how to enable it.

Richard Mc
Autodesk Gameware
Scaleform Division
Message 6 of 7
HenryStrattonFW
in reply to: RichMC

Ah so it was just me being oblivious and not checking the right docs thoroughly enough. I appreciate the response RichMC, I hope I can find some time tomorrow to implement the fix and hopefully solve our problems. Although If unity does not provide the stencil depth buffer I must admit I'm still a bit confused as to why masks have previously worked for us on iOS with previous versions, or we're masks implemented differently on previous versions of scaleform?
Message 7 of 7
ztorion
in reply to: RichMC

Thank you for the reply. The code change is only required for Unity 4.1 or older, but we are using 4.3.4. According to the documentation, we have to use 24 bit depth buffer (which we do). Masks are initially working, but get broken after some time.

 

From the documentation (12.3 / page 31):

For Unity 4.2, iPhone_GlesSupport.cpp was removed, however an equivalent change can be made by checking the “Use 24-bit Depth Buffer” box in the Editor’s “Per-Platform Settings”.

 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report