Hey! I love your program. Im a little confused though. How do I render the Metallic map by itself and the Roughness map by itself? I only see options for making a Roughness Metallic Map.
Union Bytes Painter
Log in with itch.io to leave a comment.
Hi, thank you.
The system I made is a flexible one, like the one from Substance Painter. You can set every output channel as you like. Like in the following screenshot:
Just picked this up and enjoying it so far. One minor gripe though is the way the clear button ends up clearing all of the channels in the current layer instead of just the selected one(s). Along similar lines it would also be nice to have an option to reset the selected channels instead of completely clearing them to alpha. Like maybe having a reset button next to the clear one that instead just reverts the selected channels back to their default values. Otherwise this is quite fun to use and really looking forward to seeing what comes of it over time! Especially if/when you move it over to Godot 4+.
Thank you very much.
Yeah, the clear button was intentionally made for just clearing the whole layer. I will add a button for clearing single channels in the future.
The reset you mean for the base layer, that’s true the base layer should be reset to the base values instead to clear it. I will fix this; this is more like a bug^^.
It is not planed to move to Godot 4, they changed so much, it would take to much time to port it. Also, since the birth of my son, I don’t have so much time anymore then i thought. I will be more focusing on bug fixing, in the bit free time I have on side of my main job and family.
4 definitely takes a little bit of an adjustment period, but so far I like it quite a lot. I've mostly just been working on a choose-your-own-adventure style game and did some tests with a randomly generating endless maze demo with it so far. But I'm really liking most of the changes over all. Took a few days to figure out a lot of the changes, but it wasn't so bad after that.
Anyhow, something else I found myself really missing from my usual workflow in Krita is an alpha lock feature. Where you can click on an icon that locks the alpha values of all pixels while it is on. So this way you can define what parts should be opaque and alpha then have them stay as is while painting into the opaque parts with big messy strokes/stamps that would otherwise screw up the alpha without it. Alternatively, having a way to paint an alpha mask that is separate from the color map would accomplish pretty much the same. It could even be baked out into the alpha channel of the color map as it is now, just so long as it can be edited separately in some way.
I got issues with my app. It suddenly glitches and crashes, so I unable to used it anymore....
Not only that I already paid for this app....
Okay, thats bad.
Can you give me more informations, like your system specs and maybe a screenshot from the glitch?
Did the Demo worked? And when you say suddenly, did something happened between, like a system update or something?
Actually I tried the early access version, not the demo.
Do your System fits the System requirements:
Windows 64 bit or Linux 64 bit (Tested with Ubuntu 22.04 LTS) Min. 8 GB RAM Dedicated Graphics Card with OpenGl 3.3 or later Support Microsoft .NET Framework 4.7.2 or later CPU with min. 4 Cores / 4 Threads?
For me important is especially the Dedicated Graphics Card.
Since your are building in Godot, is there a limiting factor preventing you from releasing a Mac OSX version?
Yes, the problem is that I don’t have an apple\mac machine. Looks like you need MacOS to compile for MacOS. And the software is not selling so good or let me say the potential on sales for it is not so big, that I can buy a Mac.
Hey I'm happy to help with that compile step. I'd like to see you succeed on all your platforms. Reach out to me directly at email@example.com if you can!
That's nice, thank you.
But I don't want to give the source code out. There is a lot of work inside and I made a few bad experiences.
I wished also it would be possible to release on all platforms. But I guess it needs to wait until I get enough money to buy a second hand one.
Hey there i have the same problem as Nomnom here is a video and some more information:
- could only be observed with Brush Tool
- it will only occure if u make fast strokes after one another
- if u wait 2 seconds between each strokes it will worke normaly
- only occures while painting on the mesh
Thank you. Unfortunately, I was the last 2 weeks so Ill, that it was not possible to do anything ☹.
As soon as possible I will investigate on this bug and I hope I will be able to fix it. If I can fix it, I will release a hotfix.
This is amazing and I'm really glad I found it. The brush options you've provided are so lovely and it's really easy to do things like skin in the application.
Love that you've made this. Keep up the good work!
thank you very much.
The color picker on the canvas [RMB] picks always the material from the current layer. If you like to like to pick from all layers you need to hold [CTRL]+[Shift] while clicking [RMB] to pick from all layers. but keep in mind, that the preview looks maybe a bit different, depending on the metallicity and roughness value.
Also, the preview looks a bit different then what you aktually draw. So, you need to draw once to see the right blending.
REPORT (using demo): It seems that while drawing, the pixels tend to randomly connect the last position and the current position across different areas only using left-click. Seems to happen less when I slightly rotate the mesh after each drawn group of pixels.
Using Windows 10, and I'm only using left-click in the gif, and middle-mouse to rotate in the second half.
I got a few people to test this issue as well, and they all reproduced it. Is this a known issue?
thank you for the feedback. Currently, I didn't get any report for this bug, until now. I also tried to reproduce it, but I don't get it.
Mhh which tool do you use, brush or line? Can you give me the canvas size?
Mhh, I hope I can fix the problem.
Hey there, I am just using the default brush, and the default start-up scene (so 128x128 canvas).
In the gif I just place down single points randomly and it will randomly act like I dragged it. Lessens when I rotate the mesh after each drawn pixel, but then it randomly skews the "fake line".
Only happens in the mesh view, and not in the uv view.
Happens in both 0.626 and 0.672.
https://streamable.com/fnvnba (A view of the window with the default scene)
Thank you. Unfortunately, I was the last 2 weeks so Ill, that it was not possible to do anything ☹.
As soon as possible I will investigate on this bug and I hope I will be able to fix it. If I can fix it, I will release a hotfix.
I got too this issue
Updates are awesome as always!
I recently found out about a tech which uses only the R and G channels of a normal map so that stuff like smoothness can be saved in the other channels. I was wondering if you'd consider adding split channels for Normals? Right now normals can only be selected from the RGB mode, but R+G+B/+A modes could have normal map channel options like "Normal DirectX R", etc.
Mhh this function is rarely needed, but if I have to work on the export stuff at some point and I have time I will try to add it.
Receiving crashes every time I export a texture, this happens on old and new versions of the application. It use to work fine but has suddenly started crashing as soon as I select 'ok.'
Not really a bug report, just hoping I might receive some insight on my issue. This software is still relatively niche so there is little coverage on these issues out there.
Otherwise, amazing work, I love this tool!
oh that is bad. Can you share a screenshot from the export window and the text in the Export.txt file.
Thank you. I will look into it.
I'm unable to provide the Export.txt file as it does not generate; the software crashes before it can export any textures.
Love this tool, i use it in Manjaro Linux and it works super well!
Keep up the good work!
how do you move layer ?
like it'll be Transform tool in Photoshop (move, rotate, scale selected layer)
this feature is currently not in, but will come with the next big update. With the last update I made already some preparations.
But you can select a layer completely and copy it, than you will get a stamp which you can rotate and move and draw on a new layer.
So next update will be small update and finish the flow mask. But after this the layer transform will be next.
Hi. I'm still having a lot of fun with UB Painter.
I found one more bug: on Windows, if I press "Windows + d" to minimize all apps and show the desktop, UB Painter closes silently.
thank you very much, for this bug report. I found the problem and fixed the error. So it will be fixed with the next update.
Thanks and please keep up with bug searching and reporting :)
Hi. I love the tool!
I'm having trouble with library presets though. Whenever I click the the Save Preset Library or Load Preset Library buttons, Union Bytes Painter crashes to desktop.
I'm running the latest version on Windows.
Things I've tried with no success: 1. running as admin; 2. installing through the Itch app; 3. downloading the zip from the itch website and installing manually to a folder with full write permissions; 4. running the previous version 0.405. In this case, I could save a library preset, but trying to load it would also result in a crash.
Any ideas of what could be wrong?
1. Thank you very much for the bug report. Such bug reports are very important for me; sometimes I get so less bug reports that I get worry :) Really thank you.
2. Yes you are right it’s a bug. I redesigned the FileDialog and the naming and didn’t set the pointer anymore, so it was NULL. I fixed this.
3. Also, already in the older version forget to rename the function and was loading with the old file format from the start but was saving with the new one. So this was also incompatible -.-. But until now nobody reported this but. So thank you. I fixed it.
So I will need to do a few other things before releasing a new update so it will take a while, but with the next update this will be all fixed.
OH GOD! I just found out about you guys and the painter!
This is perfect for my YouTube channel!
Hey, guys, I want to buy your software, but because of the sanctions I can't do this on itchio (swift and paypal transactions are both blocked). Maybe there is other ways to buy it? What about crypto? Do you have plans to sell your tool on Steam? It's the way too.
I'm sorry, but I don't want to handle crypto, so this will not be possible.
Steam takes too much money away, so if I would start now to sell it on steam, i would need to raise the price. Because the price is currently really low and after tax and paying the selling platform nearly nothing is left.
I will see, maybe when the software is more developed and I will increase the price anyway, if version 1.0 comes out, than I will also go to steam. But, currently not.
Sorry, I wished I could help you.
Hi, is there any way to increase the width/height of the UV preview. I don't see any easier way to use multiple UV set objects.
You mean for tiling preview? You can scale the uv under file -> project settings -> uv scale.
or do you mean something different?
Just tried that out, unfortunately not. The thing im talking about is the ability to support multiple UV sets. My object in scene has 3 sets of UVs, that do display properly, since I've moved them along the U value. I've attached an image showing what I mean. I just wonder if there's a UV layering system I can make use of?
Ah okay, yes multiple UV Sets are not possible.
You will need to separate the objects into 3 models or place it on one bigger texture.
I didn’t thought it will be needed in pixel art so I didn’t implement it.
Very nice tool! is it possible to import custom decals? like from pngs etc.? Also, would it be possible, to add some sort of bookmark feature to the file explorer? I know this isn't really important and i'm sure, there is a lot to do that is way more important. But i think it would be a handy little feature and presumably "easy" to implement.
Anyways great tool!
Thank you very much. Yeah the request with the favorite \ bookmarks is already on my list. I think also it’s an important feature and I need it too :) .
Yes you can do already your custom decals.
1. Click on “File” -> “New From Texture”
2. Select the texture
3. Adjust the settings for the Color, Height & Roughness Maps. You can also disable the height and roughness map if you don’t like to generate one from the image.
4. Click OK.
5. Save the project in the decals folder.
Is this tool in development?
Yes it is, but currently i make a break, because I moved to a new apartment and there is still so much work to do, my wife doesn't allow me to programming :(
Is it somehow possible to increase mouse sensitivity in the UV/model views? I have a 4K screen and moving/rotating stuff takes a lot of time. Other than this I'm extremely impressed with this tool and I'm already working on adding it to my workflow. :)
FEATURE REQUEST: Ambient Occlusion texture. Right now you have to either bake the AO into the diffuse/albedo or do a bit of finagling in order to get the AO to bake out onto it's own texture. Being able to have the AO it's own texture would be great for making ARM/MRA maps. Having AO outside of the diffuse/albedo can be useful in PBR pipelines for controlling light. Is something like this possible?
Mhh, I don't know.
I mean for the time being you can bake the black and white AO to the Base Color Channel and show only this channel, for export the AO image.
I know this are extra steps but currently I need to focus on a few other features.
Hello, I love your software. But I have a recommendation. I find the axis adjustment for the mirror is very sensitive, sometimes finding it very difficult to get it in the right spot. Fortunately my mouse has a built in sensitivity button, so that seems to work for me, but I think a button on the menu for one pixel increment would be useful.
Currently you can also adjust it with the mouse wheel. But yes i will maybe redesign this gudget.
I need a Korean tutorial
I bought a program but I am sad that I don't know English but I couldn't use it properly
한국어 튜토리얼이 필요해
FEATURE REQUEST: There should be support for bigger textures. Right now I am making a model of a creature that will be big in game, and though it will be pixel art, it uses a 2048x texture (for its size, of course). I haven't yet been able to even import the texture.
I get this request a lot, but also here I'm bound to the limits of Godot 3.x. I don't have access direct to the OpenGL API, so there is a problem with uploading the textures. I can't define the textures as streaming textures, so the textures don’t get uploaded to a fast access memory -> uploading == slow. With 4.0 and Vulkan it will change in Godot maybe.
So, I have 5 textures and if I need to stream, let us say in a extreme case, 5 * 2048 * 2048 * 4 bytes each frame! So, the upstreaming of the textures will take a "while" and cases lags and this results in a not so fluid drawing experience.
At the moment, I didn't found a way to increase the performance with Godot 3.4 with higher resolutions.
Hey, thank you for your response! I think it's a pity, and I hope it gets solved in Godot 4.0! But in the meantime, how difficult/inconvenient would it be to add an option in settings of enabling higher res textures "at your own risk"?
Feature Request: We should be able to open Decals in a separate window by double-clicking the Mask so we can edit Decals by pixel separately.
In fact, why not have a separate window to work on the decal and also manage things like its rotation instead of having it on the top bar - would be more ergonomic.
Second, the app needs better compatibility with Windows resolution scaling settings. I usually work at 300% 4K which made everything in UnionBytes Painter too big to fit on the screen, had to change the resolution scaling to 200% to use the application.
Some cloned decals appeared as black on the brush when pasted and only showed up on the model when pressed.
Unfortunately, here I’m bounded to the limits of Godot 3.x. It’s not possible to handle multiple “real” windows. Otherwise, I would like to have a more “docking”-solution with separated windows.
I also have a 4K monitor, but I work only at 150 %, so maybe that’s the reason it' all a bit big ^^.
Yes, the problem with the preview is a known bug, but it’s just the preview so I didn’t give it high priority. Because it worked and I needed to fix a lot of other bugs first :).
REPORT (Early Access v0.402): Importing a normal map into the height channel crashes the program.
Thank you very much for the report. I fixed it and it will come with the next hotfix update.
REPORT (using Demo): move Layer Up and Down seems not be working. The action is added to the History, but the layers stay in place.
Okay, thank you. Which version do you use? The demo version from the Internet page, or the one from here? Version 0.324 is the current one, but If it's still in the newest Version I have to investigate it.
Ah yeah, and you can not move the base layer, so the total bottom Layer 1.
But thanks for the report, i just fixed this bug with creating history entries.
Do you have a bullet point list with all of the features in the tool? It's not clear by the video or by this page what you can do with it.
"a pixel art designing tool" seems too abstract to be honest.
Some of my questions:
- Does it have all the tools to do pixel art like Aseprite but with the focus on textures?
- Can I import photo textures and pixelate them?
- Can I import textures to use as stencils?
- Is there a Clone tool?
- Are there layer blending modes?
- Can I import submeshes?
- Is the process non-destructive?
- Can I export the Normal Maps as EXR or just PNG?
- Can I export both OpenGL and DX normal maps?
So on and so forth :) A bullet point with ALL the possibilities would clearly show what is the product.
UPDATE: I just found some answers in the website https://www.unionbytes.de/apps/ubpainter/
Nice little tool.
Any plans for full screen mode?
currently not, but i will check how godot handles switching to fullscreen at runtime, but i guess it shouldn't be much work.
Okay, i have added the feature to toggle to fullscreen mode with F11. So it comes with the next update.
I would like to know if the tool "mirror" only works on 2D canvas? not in the 3D? I would also know if there is a commando for select and deselect quick . and the last question, it is compatible with HUION tablets? or any huion special setting? (my brushtrokes are soft not crispy)
Yes, the „Mirror“-Tool works only in 2D Workspace; the reason why, is the way the 3D painting works currently. Otherwise, I would need to integrate a projection mode for each pixel which would give strange results if you wanted “pixel art”, like half pixels and gradients where you don’t like one to have.
You can switch fast between the selection and the brush tool by using the number-keys [1-9]. In the selection tool [LMB] is selection and [RMB] deselect. But this will change in the future by adding new tools I need to change this system.
Drawing Tablets \ Pens are currently not supported, because I thought it’s not needed for pixel art ^^, but looks like I was wrong. A few people like to have pen support, so maybe I will add it in the future.
Ok thank you so much! great work to build this awesome tool...any last question... if I only want to paint a roughness part? for example an axe...wood/metal...I only want roughness on the metal part... I only paint in the roughness contribution? I mean the roightness map? thank you so much
You can draw only on the roughness channel by disable \ enable the other channels by clicking on the channel previews, in the middle bottom of the window.
And if you like to draw only on a small area of that channel, you can use the selection tool to limit the area.
is necessarty to bake the normal map? or it is automatically? I mean when I paint, I paint in "full" or "color".. but in some are I need to control the normal, for example the face, I just want to paint the nostril, the ears and the eyebrown normal influence. Should I switch to the "normal" contribution only? (using the middle botton windows to select the normal contribution?) I asked because when I export my normal map and the roughness map are flat. thank you.
No, it’s not necessary to bake the normal map. The normal map is generated from the height map on the fly. The default height level is 0.5. So, you need adjust the brush height level, all above 0.5 is positive, anything below 0.5 is negative. After you painted in the height map, the normal map gets automatically generated.
So, to paint only the height, you can disable each other channel individually by clicking on the preview image in the bottom. A "green" border means it is activated.
The list in the left bottom corner is only to select the current shown channel in the 2D View.
Normally it should export your normal map. Can you send me or post a screenshot of your export settings and your height map in the software? Maybe it’s a bug that your normal map doesn’t get exported. Please post it here or send me an email at firstname.lastname@example.org.
Is UV unwrapping a planned tool? It'd be fantastic to have a tool to accurately unwrap UVs for pixel art textures but I also doubt that's an easy feature to create. Great little program though! I can't wait to see where it goes next!
The UV unwrapping is normally done in the 3D modeling software like Blender. So in Union Bytes Painter it will not be possible to do the complete UV maps.
But, whats already in, is the editing & moving of the UV nodes and the locking to pixels, to achive a pixel perfect look and when you are finish you can also export the mesh again with the new UV pixel perfect uv map.
this program has been great and easy to learn, just wondering if there will be a layer system with layer masks coming? this feature would be an amazing addition and allow me to create colour variations for my assets easily
Sorry for the late answer.
After I got a lot of "layer" requests, i added it with the last update and it will be improved with the next one. So you can test it in the newest version.
Have purchased and love it so far. Question - I am using it with a interactive pen display and stylus, which has no wheel for zooming. Can we can an alternate method of zooming in/out for people like me who are painting with a stylus? If key combos could be end-user programmable that would be even better. Thanks.
the program does not open. does not leave the godot screen and the program stops responding
Can you share your pc specifications? Like CPU, GPU, RAM, OS e.c.
CPU - Ryzen 5 5600G
GPU - Vega 7 Graphics
Ram - 2x8 3200mhz CL16
Win 10 Pro 64 Bits
I saw this already a few times, that it has problems with APUs\internal GPUs. Thats the reason I wrote "Dedicated Graphics Card with OpenGl 3.3 or later Support " in the system requirements.
I don't know why Godot don't like the internal GPUs, by the way I use it. Unfortunately my laptop died so I can't test it and search for the problem :(
Hey i've got a laptop with similar specs im planning on using this software for a game im working on. I'm willing to help you debug it and all. lmk if your interested.
Thank you for your offer, and sorry for the late answer.
Unfortunately I can’t give the source code to other people and even while compiling a Debug-exe file I don’t find the reason why it’s not working on mobile GPUs or integrated GPUs. The Godot Debug Console stays empty.
As soon I sold enough copies to buy a system with an APU, I will buy it and try to find the error. But, before that I need to sell a lot more copies ^^
I'm really having fun with this tool. The only feature I think it's missing is layers. Any chance that's in the works?
Sorry, currently not. It was never planned to be so complex. I just wanted to make a tool to create easy & fast PBR-Material Pixel-Textures. ^^
But I noticed this already, however with my current available amount of time I have on the side of my main job, which is less. I can't make any promisses for this. I would need to rewrite a lot of code.
Really cool tool, I've been using it on our game and it made the workflow so much better and lets me do much more advanced stuff!
One complaint that I have tho is that I work in unity, and its default URP shader uses metallic/smoothness so I have to manually invert the metallic and roughness maps every time to use them. I think it would be very useful if you could add the ability to invert the exported textures in the export screen, maybe as "Metallicity Inverted", "Roughness Inverted", etc. drop down channel options.
Yes this should be possible, I will look if i can add it already into the next update.
Very cool app!
curious, what's the intended workflow? particularly for height map and roughness. The demos are really well done and I can't image my self coloring those values correctly.
mhh I don’t know I understood well but I try to explain how I do it, as you can see here:
1. Give all UV-Islands a base Material with the base settings and the color you want.
2. Add the rough details with the brush or stump tool and the needed height, to get the right height is more a testing thing. Take what looks good for you.
3. Depending what you need, but mostly I draw on all channels at the same time.
4. After this I add mostly a bit noise to the color, height and roughness channel
5. Add some shading with the filter & baking tools.
But to be honest, everybody has their own workflow. Best is just try it out^^
I hope I could help you a bit, you can look from time to time on my YT Channel I post sometimes creation videos, but with 4 times speed otherwise it take too long ^^.
Just wanted to say that this an excellent program. I really like it, so thank you for making it. I am really enjoying it, albeit there is always some issues. I don’t have any major things to say that I think you haven’t already heard, but I’d like to add my vote for making it more user-friendly and fluid to do pixel art. Right now, if I want to make a texture for a model, especially something more pixel-art focused, like a bush. I’d actually rather do the 2D art in some other program and then do just the normal map stuff in UBP. I don’t like switching programs, and I think that with minor additions to the pixel art side it’ll be good enough. Spray tool in the vein of Aseprite, f.e. It’d make making something simple like grass texture about 10x faster.
- Hey, can you make it so that we can zoom in?
I’m on Windows 10, and right now, it seems like we can only zoom out (and we can zoom back to the default zoom), but we can’t zoom in, so the objects are very tiny, and I can’t see the details (this is the maximum zoom).
- Can you add an “overwrite” mode? – I just want to put new pixels over the top of the old ones without any blending – but there doesn’t seem to be an easy way to do that.
1. Normally you can zoom in and out with the mouse wheel, of course there is a zoom limit, because it can’t be too small for collision calculation reasons. But if your mesh \ object is too small and you can’t zoom in anymore, you can change the “Mesh Scale” in the scene Settings. I attach a screenshot on this post, where you can find it.
2. The normal mode is the “overwrite-mode” if you do "Normal" blending and an opacity of 100 % it’s the overwrite \ replacing mode.
If you have further questions, please let me know.