We made several items in Flash with vectors. When they are rendered in Flash (CS5) and the Unity IDE they look fine ; nice and round.
When deploying on an Android tablet with 4 cores and MALI-400 GPU the same circles look like made up from 8 points ; like a hexagon (octagon tbh). At that moment there is no animation going on.
Are we missing some quality property or flag that we have to set to force Scaleform to render in good quality ?
Thanks!
Bump.
Is nobody having any problems showing a circle on an Android device which then looks like it is made of only 8 or 10 points ; looking like a stop-sign instead of a nice smooth circle ?
I have forwarded this post to development. Any addtional details you can provide?
@Anonymous wrote:I have forwarded this post to development. Any addtional details you can provide?
Yes and no ; the problem is not in the shape we made in Flash ; we made a small demo where we'd draw hundreds of our shape (a golden coin) on the screen ; all showed like near perfect circles, no matter if we showed them small or large. We COULD see some sharp edges when the coin-shape would be as small as around 20 pixels (octagon) but that's all.
However in the production we only show 5 of these coin-shapes (we let them appear on the screen and animate them to fly away when the user touches them). In that case the whole scene looks good but our coins are not smooth round but have and outline made of around 8 or 10 points.
This also happens somewhere later in the app where we do a 'countdown' with a font ; we count down from 3 , 2 , 1 and those numbers look aweful. Very very low-poly. The rest of the scene (everything Flash) actually looks good.
It is like when we add too many objects to a screen then suddenly Scaleform decides to render some new objects with very limited polygons.
We did not find any setting to force SF to use high or best settings, should we need them anyway ? Or should we control this from Flash (the old fashioned way to control quality) ?
We have found a way to reproduce this bug.
This Flash FLA has 1 asset , a golden coin , draw with vectors.
Run the Flash file (in the Unity IDE , we use 4.3.4) and the problem already shows ; when you click the screen a coin is dropped on it with a movement (tween) and scaling animation. As a result the coin is not nice round but has ugly straight edges and becomes blurry,
even though this is a vector object.
We created an APK and tested on several Android devices (Samsung simple 3" phone, several 7" tablets and a Samsung Note 3) ; all show the same problem.
I've attached the Flash FLA file that can be used with Scaleform in Unity to show the problem, a screenshot how the (golden) coin looks like when it is shown on the screen without animation or scaling, and a screenshot where the coins have been animated and show the very ugly edges. It looks like Scaleform knows it has to animate the object and then decides to render it in low quality (we can understand that) but it does not update the object to high quality once it has stopped animating/scaling.
PS I could not attach an FLA file (test.fla inside test.zip) so I had to zip it first ; the forum did not let me upload a *.fla file.
Have a look at this screenshot in the Unity IDE (!) when showing Flash graphics (everything you see is Flash).
Do we have to revert back to PNG graphics inside Flash to make sure edges are not blurred or blown up or reduced to super-low-poly ?
This effect we ALSO see on (Android) devices, from low-level 4-core ARM tablets to a Samsung Note 3.
Please not the UGLY edges of the balloon and the 2 golden coins while the other (Flash) content renders fine.
Our artists don't use different techniques.
Just for the record ; the edge/outline of the balloon should be sharp and round, not transparent and made from just 3 line-segments. Also the coins should be perfectly 100% round instead of just 8 line segments.
This sounds like a tolerance parameter is off to one side of the spectrum.
Under your SFCamera's "The Tolerance Params", please ensure "Curve Tolerance" is 1, the default.
It may also be worth double-checking the rest of this project's parameters vs the default values (found in SF_InitParams.cs in the constructor). Perhaps these were accidentally changed or corrupted in some other way.
Regards,
Adam