![]() Registered Member ![]()
|
Hello !
I am brand new to Krita and I use it now for cleaning scanned textures. For this, the mode "wrap around" is really amazing and helps a lot. I am using the clone tool to do seams removal, but it only applies to one layer at the time, and it become hard to process all maps. What I would like is that the selected layers reproduce the clone action done on the top layer, to keep the texture maps coherent. I know that you can clone from one layer to another but it is not what I am looking for. I saw that there was a way of doing this with the recording tool/macro, to repeat the action but these options seem to be removed from Krita. Anybody has a smart solution to this problem? (or maybe a parameter I missed) Thanks for the help ! ![]() |
![]() Registered Member ![]()
|
Hi, welcome. I'm not sure I quite follow what you are trying to achieve, an example might make it clearer. Do you always want to copy the cloned content from the same source layer onto multiple target layers, or does the source layer change? Should the brush stroke with the clone brush always be identical too?
The macro recorder was removed a few years back. There is a Task Sets docker, but it cannot record brush strokes. https://docs.krita.org/en/reference_man ... _sets.html The clone brush has an option to clone from all visible layers in its brush settings, in case that would help with your workflow. If you need multiple instances of the same layer or group that automatically update, Krita also has Clone Layers. |
![]() Registered Member ![]()
|
Thanks for the answer!
I will try to explain it a bit better. To answer your question, I don't want to clone from a single layer. To process repeat the same stroke on each layer, but I am never cloning from one layer to another. I have a texture composed of two or more layers, in the example the aldbedo (= the color) and the normals (the surface orientation), the height, occlusion etc. These maps are stackable and together represent the material. As they come from a scan, it is not perfect and it needs processing to become tileable. I can revome seams easily with the clone brush, but if I don't make the same cloning on each map, the result will not be coherent. If it is not clear, check the issue on this link, it is quite the same problem: https://polycount.com/discussion/163997/photogrammetry-textures/p2 If it is possible to do this with python scripting, it could be great, but I don't know if there is any possibility to record stroke with it. If it is not clear enough I can prepare a sample set. |
![]() Registered Member ![]()
|
Ah I see, you have all the different texture inputs for your material together in one document and want to repeat the editing steps across those. No, as far as I know there is no direct way to record and draw strokes from the Python API, at least not yet. You could try an external mouse and keyboard recorder, but I don't think there are any that can record tablet events in case you're using a tablet. Usually a good approach for texture creation is to clean up the source image as much as possible before extracting the other maps from it to avoid such repetitious image operations, including making it seamlessly tileable.
I often try to utilize clone layers of the source images or groups - That method is also good if you're starting with pre-existing textures that you want to modify. Clone layers always reference the contents of the layer or group they originate from, and the original can be edited at any time. If you put the clone layers in groups, you can use them together with paint and filter layers and transparency masks non-destructively - Krita differs from Photoshop here, as groups in Krita are self contained compositions and won't affecting what's outside of the group. This way you can build a reusable and adjustable document template instead of using a script. Here's a quick overview of the different layer types: https://www.youtube.com/watch?v=soS2swwCyFg Be aware that when you put all those different textures together in a document, it could mess up their color definitions. You'd have to make sure that the engine you're using can interpret each one correctly, or if that's not possible convert them when exporting. When you have a PBR shader pipeline, the diffuse / albedo map is often the only one that's supposed to be in gamma color space (often just sRGB), while the engine might expect glossiness, metalness / specularity, ambient occlusion and others in linear space (non-color data). Also have a look at some specialized texture creation tools, if you don't know about those: http://boundingboxsoftware.com/materialize/ https://github.com/kmkolasinski/AwesomeBump |
![]() Registered Member ![]()
|
Thanks !
My problem is that most of the maps are directly from the scan, and not extracted from one map. I use photogrammetry and and photometric stereo, not a single image to extract data. I will look through everything you suggested, and see if something fits my needs, thanks for taking the time to answer. I didn't thought about the color space, that's a good point. |
![]() Registered Member ![]()
|
Yeah, I imagine photogrammetry adds some extra complications
![]() If I needed to edit the textures directly on the associated 3D model, such as for editing across UV seams or when you need to see the rendered result directly, I'd use Blender in combination with Krita. You can set Krita as the external image editor in Blender's preferences, or use Krita's File Layers to auto update the texture when it was changed in other applications. Blender also has a clone tool that can copy across different textures, and with the right shading nodes setup (the Eevee and Cycles engines share the same nodes) you can distribute and combine textures through the MixRGB node, adjust them with filters and use the result for the inputs slots of the material. Here's a simple example: https://www.youtube.com/watch?v=TF3hj5s5pr0 |
![]() Registered Member ![]()
|
Hey thanks !
For delighting I use Agisoft delighter, it is free and not perfect but it still give acceptable results. And then hand corrections. I didn't know blender could do that, but good ! I knew Substance Painter has this functionnality but I was looking for something entirely free. If I have time, I think implementing that in Krita could be a nice project, I will think about it. |
Registered users: Bing [Bot], Google [Bot]