View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001531||NoesisGUI||Unity3D||public||2019-08-08 16:37||2019-10-09 04:45|
|Target Version||Fixed in Version|
|Summary||0001531: Noesis Premultiply Alpha Texture Import Setting Ignored by Noesis|
|Description||When the \library folder is deleted ... or new files are checked out from SCM ... Noesis does not apply the premultiply alpha texture transformation specified in import settings until the import UI for that specific image is flagged dirty and changes are applied. See enclosed screenshots |
1) image is configured with sRGB and Noesis Premultiplied Alpha is requested.
2) See runtime use of image. Image does not have alpha premultiplied.
This is an issue for projects with several hundred images. Every time I checkout from SCM I have to change a setting on an image to make the UI dirty, and then apply changes so that Noesis premultiplied alpha is applied. I have 690 images spread across multiple directories. This is not fun! :( I can confirm .meta metadata is stored in SCM, and that Noesis is not detecting or applying the change on initial project load. Maybe I'm doing something wrong...?
|Steps To Reproduce||1) Import Image|
2) Request Noesis Premultiplied Alpha
3) Use Image in Scene with Noesis Image UserControl. Confirm Premultiplied Alpha is applied.
3) Close Unity
4) Delete \Library
5) Reopen Unity.
6) Restart Scene. Premultiplied Alpha is lost but setting is still assigned.
|Tags||No tags attached.|
I think we are hitting another Unity bug. If you go to NoesisPostprocessor.cs you can find
if (AssetDatabase.GetLabels(assetImporter).Contains("Noesis") || assetPath.StartsWith("Assets/NoesisGUI/Samples"))
So, probably, the GetLabel is not working at that point. If you read the comment above that line you will see that we already experimented weird behaviors.
Not sure, how to overcome this, but we will. Could you please confirm that's the problem you have?
|Okay. Next time I need to dump /library and have Unity rebuild assets ... or I pull from SCM ... I'll test the above code to see how and why it might be failing.|
OK, I setup a new laptop and did a fresh pull from SCM.
1) After initial project asset import, I confirmed that premultiply alpha was not applied to Noesis textures.
2) I confirmed that these texture assets have the Noesis tag applied and IsAlpha is checked.
3) I modified the line of code you shared to include my "User Interface" directory and I then instructed Unity to reimport assets via the project folder hierarchy.
4) Success! Textures show premultiplied on playback.
It would appear that GetLabels is not working as expected.
|Yes, it seems to be a bug in Unity we need to workaround, I have a few ideas about it. Thanks for your feedback!|
|2019-08-08 16:37||stonstad||New Issue|
|2019-08-08 17:16||jsantos||Assigned To||=> jsantos|
|2019-08-08 17:16||jsantos||Status||new => assigned|
|2019-08-08 17:18||jsantos||Note Added: 0005916|
|2019-08-08 17:18||jsantos||Note Edited: 0005916||View Revisions|
|2019-08-08 17:18||jsantos||Status||assigned => feedback|
|2019-08-16 00:46||stonstad||Note Added: 0005925|
|2019-08-16 00:46||stonstad||Status||feedback => assigned|
|2019-10-08 17:13||stonstad||Note Added: 0005984|
|2019-10-09 04:45||jsantos||Note Added: 0005985|