Jump to content
3D Coat Forums
Rygaard

[Solved] 16-bit alpha inside 3D-Coat ?

Recommended Posts

From what I have learned and gather in all the tests I have done with different software is you can't compare edit with PSD vs Tiff, PSD will be 8Bit, Edit in ext. editor will do PSD so it is 8bit, if you want to edit the 16bit, you must use the Tiff implementation, nothing else. and that's where the trouble happens, because it uses Channels rather than layers. so you can't think about Color, HeightMap, Specular and EraseMask like on the PSD version, you can't just grab the PSD go 16bit and save it and import it either, you have to think about the channels and the order that they are done in Photoshop, which is what matters there.

Carlosan's suggestion's link show how the information is read from the Tiff file in 3DCoat. 

1 CH: A&H
2 CH: 1 – A 2 –H
3 CH: 1, 2, 3 – RGB, 2 – A, H
4 CH: 1, 2, 3 – RGB, 4 – A, H
5 CH: 1, 2, 3 – RGB, 4 – A, 5 – H
6 CH: 1, 2, 3 – RGB, 4 – A, 5 – H, 6 – Spec
7 CH: 1, 2, 3 – RGB, 4 – A, 5 – H, 6 – Spec, 7 – Erase mask

 

So using the alpha created by zbrush.tif in 3DCoat does exactly what the list says, since it only has a single gray channel, it will be converted to Alpha and Height by 3DCoat. after that if you if you right click edit 16bit tiff and use photoshop, then the edit version will be the 7 channels version. so the first 3 will be white since there is no color information, Channel 4 will display the Alpha, 5 the Height, and 6 would be white and 7 black. But yes, you need to work on the extra Alpha channels. and the order of those channels will matter.

So you can duplicate and manipulate and paint on the alpha channel, it works okay I guess, but it's a weird system to have, especially when it is mostly compatible with Photoshop.

I could also make Gimp do the same as Photoshop, but the problem with Gimp is how it exports the Tiff, it just won't work, Exports 16bit but only the RGBA which would explain why the alpha would look different if you use to Edit 16bit Tif on 3DCoat and send it to Gimp since it is not using the channels correctly, and only the RGBA which is darker.

But I manually achieved the same channels you get in Photoshop when you edit on 16bit Tiff.  First had to hide all the extra channels on the bottom, then I right clicked on the alpha and duplicated it, it will appear at top of the list of extra channels but it has to be on the bottom bottom, which would be the Channel 4 in Photoshop because it goes from bottom to top. Now the problem is the Height is darker than what you would get in Photoshop, so to fix it all I did was to paint in white color the RGB to remove the alpha and make it a solid color, then having RGBA visible and TIFF Channel (which now is 2nd from bottom to top) I duplicate the channel and it creates a lighter version of it, put it on second place (from bottom to top) and delete the old Tiff channel. Now it will look exactly the same in Photoshop but guess what? You can't use Tiff with Gimp and Gimp exports PSD as 8bit not 16bit for whatever reason so it won't work like I thought it would.

 

So in my tests sadly there is no way to do it without Photoshop and I hope Andrew can come up with a better system for the future, like I don't even understand why he made the the way he made it, since the PSD implementation with layers is better and easier and compatible with any program, while the 16bits one is just not good at all. I even tried Affinity software and Photoline and they can't even read the 16bit tiff from 3DCoat. Affinity just throws everything away and keeps the RGB and Photoline doesn't seem to have any channel editing feature. so no way to do the same you can in Photoshop. I saved the Tiff as PSD in Photoshop and could work a little on it with Affinity, reads the extra channels and all but you can't really do anything with them, just put them on the RGB so unless I go to Photoshop and I delete one of those channels it will be imported as RGB and not separated channels. But that was just a test so I didn't worry about it since I knew the Tiff wasnt work anyway.

 

Share this post


Link to post
Share on other sites

 @Emi Many thanks for your explanation and tests done to share with us the results.

Honestly, summing up in one sentence is very complicated you edit 16-bit alphas by 3D-Coat (Exporting from 3D-Coat and then returned).
I think this kind of procedure was done thought in photoshop (which is natural to think that is the standard program) and not much for other programs like Gimp, Krita and other 2d editors programs.
Then the problem starts for users who do not use Photoshop because each program interprets differently the format extensions as in the case of Tif format in relation to the channels or even as you said about the programs can not even understand what they should do.

As I had already said, for me, it is very complicated and confusing to work with channels. I confess that I have no habit of using channels. So, I'm pretty sure I'll comment on errors by editing 16-bit alphas in that way. For some users who already work and know how to correctly use the channels and other advanced functions in Photoshop, Gimp and etc everything will be fine. But for other users things will get more complicated.

To make my life easier and make sure I have no problems, I simply edit an image (texture / alpha) with 1 layer, export in 16-bit Tif, and then import that image into 3D-Coat. With this process, I do not have to worry about Channels, with 4 separate layers related to Color, HeightMap, Specular and EraseMask, because 3D-Coat will automatically create the Color, HeightMap, Specular and EraseMask channels for me.
The only problem with this is that I can not lose this texture, because if I want to edit the image again and not have this texture, I will have to go through the procedure of Edit the 16-bit Tif (since the alpha was saved in the textures folder \ patterns \ in the proprietary 3D-Coat format).

I hope that in the future, 3D-Coat could automatically convert alphas to 16-bit and when the user needs to edit alpha in a simpler way and without confusion.

Share this post


Link to post
Share on other sites

Thanks Emi. Now it seems more clear.  I do not have photo shop (before I installed only once but never hope again) then I can not test at all, how 3d coat brush edit system work with photo shop.

And newest build 4.8.33 have some progress, but to be frankly said, It seems not work correctly with gimp still, 

(edit as 16bit Tiff and up-date in gimp) seems add 2 or 3 brush , and it often change visuall size.of alpha. I see many strange thing,  then after all I almost give up to edit 16bit tiff  with gimp. but I know, somehow import process of 16bit Tiff is improved.  

Though I try to edit each channell with GIMP but after all as you said,  even though I edit them, I can not test it with 3d coat about 16bit Tiff I feel.

As for me, the way (8bit PSD) to edit map as 5 layer (not channell) is clear enough, but I know about 16bit Tiff, I need to controll each channell (really confusing for me, even though I read the doc carefully,)  

then, actually recently,  I can not convince my import brush (it is offered as 16bit alpha) actually generate  keep 16bit as depth. I hope to ask yours,, my process is correct or not,, 

eg recently I found this brush set as free. (serched  to get 16bit tiff brush set by google, then found it)

http://www.zbrushcentral.com/printthread.php?t=75606&s=cdeca48c9ed22f937519c440f487a18c

as you know, it is offered as 16bit gray-scale PSD,,  but when I install it to 3d coat, I do not know, if it keep height-alpha as 16bit.then I load it in gimp , then convert it as 16bit color srgb,  and add alpha channell , convert color "black "to alpha. after that I export it as 16bit Tiff. then load it to 3d coat.

But do you think,,  is it correct way to import these 16bit grey-scale brush? what procedure is correct?   I suppose, 3d coat need to use alpha to keep as 16bit.  (maybe color or grey-scale data are converted as 8bit?)  is it right? or if I get 16bit grey scale brush, Can I directly import it but it need to be Tiff ?

Share this post


Link to post
Share on other sites

Yes, pretty much the conclusion of my post was to say that Photoshop is the only way to do 16bit 3DCoat alpha system. Gimp is able to do it, it can read and add multichannel and manipulate it like Photoshop but the problem about Gimp is about how it exports the Tiff files, since it will not be multichannel, and if you have extra channels it will import the first from top to bottom as RGB.

So in the end doing it the color, specular brushes on 8bit files and use the layered PSD to further edit the brush is the best option today if you don't have photoshop and even if you do, because dealing with the alphas and extra channels is weird.

@tokikake  

You got a good question there "but when I install it to 3d coat, I do not know, if it keep height-alpha as 16bit" I made some tests, created a PSD with an angle gradient. I used photoshop for the sake of "compatibility" because I wasn't using it anymore, but should work on GIMP and any program. So with the gradient I saved the file to Tiff and PSD, 8 and 16 bit, and also RGB and Greyscale files. 

With the Stamp Grab mode, and 2D grid mode and snapping enabled 100% depth and layers Opacity to 0% since I don't care about anything but the depth to easily see the result for now but I placed each version on different layers. 8 vs 16 bit, is a huge difference and that's because the 8 bit file will create noise around the whole alpha. and the 16 bit version would not. I just made also a test with PNG and it happened the same, while the PNG with the angular gradient looks terrible on 3DCoat it behaves the same, noise on 8bit, no noise on 16 bit.

There is also a difference between how Photoshop exports the PSD vs TIFF or how 3DCoat imports PSD and Tiff or both. Because for example if you chose "Subtract depth" from the layers option, which is the way I tested about the noise and compared the layers. You will see that PSD and Tiff don't subtract each other 1:1, I mean. 8bit TIFF vs 16Bit TIFF would only display the noise but they would cancel each other. but PSD 8 vs 16 would still leave some elements behind besides the noise. and 16 tiff vs 16 PSD has a slight difference, a tiny difference but still visible, 16 tiff vs 8 PSD would display some of the difference between layers, not as many besides the noise but still the expected difference, PNGs would also look different when subtracting each other, but PNG looked bad in general.

Grayscale tests, they PSD 16 RGB vs PSD 16 Grey look the same, Tiff 16 RGB vs Tiff 16 Greyscale look the same, 8 bit tiff RGB vs Grey look slightly different. it left noise behind don't know why. The big difference is PSD 8 bit didn't import, it was a flat square brush, nothing about the gradient happened. I don't know why, but it just didn't work.


SO the question is What does 3DCoat import? 16 bit files were double size than the 8 bit version but still the mclp file would be the same size on PSDs and even PNG and Tiff had the same mclp size. So 16 bit images make a better alpha but I guess I won't know the exact reason why.

 

So making these tests and now talking about the PSD brushes from Zbrush forum and GIMP, I think in my opinion that the best way to deal with is to conver them as TIFF files. Since they are grayscale images, then Gray = 1 channel and that means that it will take the pixels and convert it to the Heightmap and Alpha. Like the 16 bit manual says. If you want to add color, then convert it to RGB, but then you are limited with just that and you have to add the Alpha channel in GIMP, because if not, you will only use RGB that means that Green channel (3 CH: 1, 2, 3 = RGB, 2= A, H) would be the one in charge with the Alpha and the Height. which makes it awkward because in the end, only colors that are on the Green would be displayed on 3DCoat and depending on how much green it has or not, it will vary on heightmap and the alpha on it, so other colors might look faded and weird.
So using the Alpha channel would make it easier (4 CH: 1, 2, 3 = RGB, 4 = A, H), It seems that GIMP exports TIFF as RGBA, and while Photoshop didn't read it, 3DCoat did and that's all that matters, but of course if you want the Alpha+ Height on the Alpha channel, from a grayscale image you would have to send the RGB to the alpha and that might make the alpha look slighly different from the original 1 channel grayscale. But you can add color,  why would you add color? I don't know, and I would not complicate myself and just go 8 bit as usual, because you still won't be able to add the Specular, since Gimp wont export Tiff multichannel.

 

Of course if you only want to import the grayscale brushes like the ones from your link, then you can either, import them directly as PSD into 3DCoat or convert them to Tif.

I made a test with an alpha from the link you gave, and testing PSD vs Tiff you will have a tiny difference between how they are imported. I used Affinity and Photoline to compare the images and apparently they should be the same but still 3DCoat when doing the depth add vs depth substract it would still be different. I don't know which format is the one that you are suppose to use, I would trust more Tif since in my test it gave a 1:1 extraction from 8 vs 16 for example minus the noise, and Tif format has the advantage of not getting deleted if you decide to directly place the files in any folder on Documents\3D-CoatV48\textures\patterns and that way you would only need to delete the mclp file (and probably the xml as well),  and if you make some change, the mclp file would be created again when you refresh the folder (switching folder tabs on 3DCoat), something PSD wouldn't allow and you would have to import it manually by drag and drop or whatever.

 

But yeah, if your alphas are only grayscale, and you won't add color, then using the 1 channel since the channel will be converted to Alpha and Height and you dont need to worry about it and then you shouldn't have any trouble with them and you you can edit them on any software if necessary, which is the easiest way since it is only 1 channel, and if you need color for whatever reason for 16 bits, you can use the RGBA I explained.

 

About the change of size, I guess that happens because 3DCoat brush engine is a circle, which was a weird decision so the only way to support the squared alphas few updates ago, was to scale them down to fit the brush inside the circle, so maybe it detects some alphas like the Cross_xxxx and then mess with the thumbnail vs the real size of the brush, of course most brushes seem to behave nice though so I never worried about it. I hope that will be changed in the future.

Share this post


Link to post
Share on other sites

I was doing some testing using stencils to see if stencils would behave like in Alphas.
The same thing goes for the Stencils, if you import PNG textures into Gray with 16-bit, 3D-Coat will automatically use the texture as if it were in 8-bit.
Now if you really want to use your 16-bit textures as stencils, you'll have to convert the texture to Tif format in GrayScale with 16-bit.

The difference between 8bit stencils and 16-bit stencils is very large. With 8-bit texture the effect is of stairs, looking like a mountain that is wearing. With 16-bits the result is what you expect.

This test I did with Stencils explains some of the questions I had when I tried to detail my characters using Stencil and I never understood why the texture quality was horrible. I thought that quality would only be a matter of the amount of polygons, but in fact what also influences in quality is the texture being 16-bits.

For users who are starting up and learning how to use 3D-Coat, always be sure to use 16-bit TIF format textures when you want to have good quality, other formats like PNG, JPG and etc. 3D-Coat will use 8 -Bits.

Share this post


Link to post
Share on other sites

26.02.2019 4.8.34

- Support of 16-bit PNG tor alphas

Could you please try it now ?

Share this post


Link to post
Share on other sites
40 minutes ago, Carlosan said:

26.02.2019 4.8.34

- Support of 16-bit PNG tor alphas

Could you please try it now ?

Of course my friend, I will test here. This is very important to all of us. And I'll post the results.

The only thing I would ask you would be to change the status of the topic from "Solved" to Open. That's because we have to do tests and see if any of the problems mentioned in the topic still remain. Whatever you decide, fine by me. thank you. :) 
 

Share this post


Link to post
Share on other sites

How can I check and confirm if the alpha that I imported into the Alpha palette of 3D-Coat still has 16-bit?

I ask this, because there is no information about the bit depth of the image (alpha) that the user can verify.
When the mouse is on top of the alpha of the palette, it opens an information window with the alpha name, alpha size, Alpha, Color, Depth, Spec....
Without bit depth.

In the tests I'm doing, I'm creating alphas with 16-bits. Let's assume that the user does not have this information.
How could this user know if the alpha that is in the Alpha palette of 3D-Coat has 8-bit or 16-bit?


It may seem like a silly question, but the answer to this is important so that I can report correctly on the tests I'm doing.

Share this post


Link to post
Share on other sites


Hey everyone!
__________________________________________________

1. First Test regarding the 16 bit Exr format.
------------------------------------------------------------------------------------

I created in blender an alpha and saved that alpha with 16-bits in EXR format:
  1. When I directly import this alpha created in Blender into 3D-Coat, 3D-Coat imports the alpha correctly.

  2. I took the same alpha, opened it in GIMP, edited the alpha and saved the image in EXR. When I try to import this alpha created by GIMP into 3D-Coat, to my surprise, the following message appears:
"Incorrect extension of mist_exr_skin2.exe.  The file looks like Png. "

image.png.e041f28a98737a6e1491d511c7bf88f1.png

But why this message if I saved as EXR in the GIMP?
It seems that all the alphas I export from GIMP in EXR is generating me this message. I do not know if it is some GIMP export problem.

After the message,  the alpha appears in the alphas palette, however I believe that this alpha that I saved as EXR will be converted to the PNG format.
After that, I do not know if alpha is still EXR or if 3D-Coat will convert Alpha to PNG.

I believe that the alpha still has 16-bit, but I can not say because 3D-Coat has no option of the user to check the bit depth information of a texture, alpha or stencil.
In my opinion, it would be very valid if developers could provide us with this bit depth information.

  • Like 2

Share this post


Link to post
Share on other sites

New update .34 says
 

Quote

- Image files recognized not by extension (that may be wrong) but by signature. It prevents multiple user errors. Sometimes files, downloaded from internet have wrong extension.

 

So probably GIMP as usual, doing things in strange ways, isnt exporting the EXR as it should so 3DCoat can read the signature to properly import it as a EXR.

  • Like 2

Share this post


Link to post
Share on other sites

Sorry I reply too late,, (I tried to test one by one, but wait if there will be up-date,)  and just say thanks Emi and  Riggard yours guide and teach me a lot to take your time.  I need to learn more and more about these things. :p:

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Emi said:

New update .34 says
 

 

So probably GIMP as usual, doing things in strange ways, isnt exporting the EXR as it should so 3DCoat can read the signature to properly import it as a EXR. 

Emi, I know, I had already thought of that. Unfortunately or fortunately I use GIMP and Krita. Apparently, GIMP is generating a lot of confusion or strange things.
After all, even with this warning about EXR, I would like to inform you that imported alpha has no errors or problems!
Thanks to Andrew and the developers for doing a great job on 3D-Coat and so we are progressing more and more in Sculpt Room and Paint Room.

 

43 minutes ago, tokikake said:

Sorry I reply too late,, (I tried to test one by one, but wait if there will be up-date,)  and just say thanks Emi and  Riggard yours guide and teach me a lot to take your time.  I need to learn more and more about these things. 

Tokikake, No problems! I'm glad somehow I'm helping! The important thing is for the community to become more united and help each other! You will always be welcome to share experiences, information and tips!
A simple tip, do not worry, you have in hand a unique program and you really dedicating yourself will be able to learn everything you want! At first it's a bit confusing, I was confused myself as I came from the ZBrush world, but 3D-Coat is easy to learn and to adapt. It's a powerful program!

Share this post


Link to post
Share on other sites

Since the topic is about 16 bit, it would be great if we had 16 bits in the PSD format extension.
Now in the Paint Room, using the Edit Projections in Ext. Editor option, 3D-Coat generates a temporary file in 8-bit PSD format, and when you return to 3D-Coat, the quality will obviously be 8-bit.
If I'm not mistaken, when you edit an alpha (Edit Ext. Editor), 3D-Coat will generate a temporary PSD and then return to 3D-Coat. That means 8-bit quality.
It would be fantastic if Andrew could make 3D-Coat accept that any PSD format extension would be 16-bit.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×