Home Technical Talk

Blender Mega Thread

Replies

  • kio
    Offline / Send Message
    kio polycounter lvl 15

    @pior while I totally agree that the simple deform modifier is whacky as hell - but I think that blender is actually on a very good track with geometry nodes to remedy many of these pain points. So to me it feels the developers are pretty aware of many short commings, it just takes forever to build those things hehe..

  • Tiles
    Offline / Send Message
    Tiles greentooth

    Geometry nodes is a can of worms. They have already made a ton of nodes obsolete. And still deprecate new introduced nodes with the next point upgrade already. Happy you fiddling out what with every new version the new official way is ...

    A modifier has one benefit: it is easy to use and easy to adjust. There is already everything needed at its place. And i think that's what most people forget with the hype around the geometry nodes. They are this powerful that only 1% will ever touch it. A elitists tool from programmers for programmers. While the rest of the Blender development suffers at many ends.

    Sorry for the mini rant :)

  • kanga
    Online / Send Message
    kanga quad damage

    マルコ:Can somebody explain me how I ended up in the situation below where my model is kind of broken?

    pior :

    マルコ:I'm afraid this will drive me insane because I'm sure it will happen again and I will still be oblivious to what caused it... x_x (maybe the two mirror modifiers?)

    If you are coming from Max you probably have developed hotkeyitis (the auto data entry disease). Happens to those of us that use more than one soft. It will take a little time to get it under control. In most cases switching the edit view to xray will show you the error. There is also a 'Mesh Check' addon with an xray function which I find invaluable esp with retopology. When you are so far up the proverbial creek that none of these plus Cntrl+Z or Cnrl+Shft+Z help, visit the Auto save folder and pick the file prior to catastrophe!

  • pior
    Online / Send Message
    pior grand marshal polycounter

    Also, regarding bending (haven't tested it though, and it is more than likely destructive) :

    https://www.blendermarket.com/products/simple-bend

  • Tiles
    Offline / Send Message
    Tiles greentooth

    Great catch. This should imho be available in Blender already ...

  • Chrismartinartist
    Offline / Send Message
    Chrismartinartist polycounter lvl 2

    Hi guys,

    I'm in Blender 3.0.1

    I have a model with multiple procedural textures setup, and I want to bake the Diffuse, Metal, and Roughness, ideally the bump/height/normal too. All the tutorials I've found so far haven't worked. For the Diffuse I get a mostly black image with smatterings of some of the noise on one part of the UV, and plain blocks from another area but that's it.

    Any help appreciated.

  • pior
    Online / Send Message
    pior grand marshal polycounter

    First off I can confirm that this workflow of baking down complex materials (using tiling, masks, and so on) down to regular textures *does* indeed work, as I've been using it frequently. It's especially great for baking down tiling normalmap details onto regular UVs.

    No idea about procedural nodes though, there might be some not supported by the baker, who knows.

    A few remarks and questions :

    • You mention multiple procedural textures. But are you familiar with the process itself to begin with ? For instance simply baking a tiled repeating diffuse texture setup down to regular UVs, or baking from one UV channel to another in general. If not then there's no point doing anything more complex than that, you should focus on the basics first.

    • Not all passes might bake properly (or at least at some point in the past they sure didn't). So perhaps you need to pipe all your texture passes as diffuse just for the sake of baking.

    • Are you aware that the texture target of the bake is determined by the currently selected texture node, and the UV target by the currently selected UV channel ?

  • pior
    Online / Send Message
    pior grand marshal polycounter

    Hi all,

    I believe I've brought up the following earlier but I am still curious about it - and perhaps someone might have an idea on how to get around it.

    I'd like to find a way to copy the path of a packed texture to the clipboard, even when the path is grayed out and not selectable, like here :

    Of course I could click the little pack button to unpack the texture temporarily just to grab the path, but that's actually not an option because it would kill any painted edit that may have been done to the texture during the current session.

    As a matter of fact, the very purpose of copying the path is for me to be able to open up the original source PSD of the texture in order to paste any change I might have done to the flattened version of it from within blender.

    And obviously, I do know where the texture actually is located 99% of the time. The goal here is to be able to work without even having to think about it at all, going straight to the relevant folder without any navigation.

    Any ideas ?

  • Tiles
    Offline / Send Message
    Tiles greentooth

    Well, this path is not longer valid. The texture is packed into the Blend file. And that's the reason why the path is greyed out. It is internally only used to unpack the textures into the original location. But the path is not valid anymore until you do the unpack in the very same location. And so also not editable anymore, including to copy it. There is no way to access it, at least none that i know of. It is read only.

    Edit externally would have been my second idea. But this feature is just available for unpacked images. All you could do is to unpack the texture to the original path again i fear. Or copy this path before you pack it.

    But why don't you simply finish the texture before you pack it?

  • kio
    Offline / Send Message
    kio polycounter lvl 15

    @pior i did a very quick n dirty addon for this - adds a menu entry in the image editor, guess with a bit more hacking one could integrate it better, but i quess a quick shortcut or so would also do it..


  • Tiles
    Offline / Send Message
    Tiles greentooth

    Yeah, i forgot about the python api. Thanks for proving me wrong ^^

  • Prime8
    Offline / Send Message
    Prime8 interpolator

    @pior You don't need to click on UI Elements to copy, just hovering over it and press Ctrl-C. This works especially great with colours.

  • kio
    Offline / Send Message
    kio polycounter lvl 15

    @Prime8 ah nice! didnt know about the hover copy, pretty nice!

    guess the only 'advantage' of an addon operator is that you don't need to hover over the path, as it copies the path of the current image.

  • pior
    Online / Send Message
    pior grand marshal polycounter

    Oh @Prime8 that's perfect, thanks !! I certainly had no idea this was possible. I am glad I asked :)

    And thank you for taking the time to look into it @kio . There seems to be an issue with the addon at least with 3.1, as it doesn't seem to show up in the addon list after install.

    @Tiles "But why don't you simply finish the texture before you pack it?"

    Well that's because not every workflow is linear ! For instance I deal with texture atlases a lot, and it is a common occurrence to have to add or modify an atlas as a model is being colored - to add a missing color or value for instance. Of course I could always open the source image in PS by browsing for it since I know its location most of the time, but this is honestly quite annoying and gets in the way of good flow when working fast. Being able to copy the path means that I can get there with just win-E and paste.

    And of course this doesn't only apply to swatch texturing. Being able to go to the source of a packed texture can be extremely handy when hacking something together - another non-linear way of working.

  • kio
    Offline / Send Message
    kio polycounter lvl 15

    @pior ah yeah that might not work, I only tested it running from the text editor in blender so I'm not surprised the install doesn't work ;) would be pretty easy to fix tho.


    but it seems you have a solution anyways.

  • gnoop
    Offline / Send Message
    gnoop polycounter

    Does anyone knows how to make a geometry snapshot like in 3d max reliably? So every deformed instance would turn just to unique static geo ?

    My guess it's something from Ctrl+A menu but whenever I try it always something is missing

  • Fabi_G
    Online / Send Message
    Fabi_G insane polycounter

    Select relevant objects, Ctrl+A, "visual geometry to mesh" doesn't work?

  • gnoop
    Offline / Send Message
    gnoop polycounter

    it usually doesn't active and even when active is not always working.

  • Michael Knubben

    Re nondestructive bending:

    I used to use Pior's script to make Simple Deform less shit too, way back when, but now I hacked together a Geometry Nodes group that does the trick for me

    It automatically sets the bending direction to whichever axis is the longest, and can automatically center it to x, y or z (for stuff like wristbands etc)

    It's heavily based on Higgsas's work, and he even helped me fix my broken automatic direction logic. Here's his gumroad if you want to support him: higgsas.gumroad.com/

    Here's his blenderartists thread where he posts the latest stuff: https://blenderartists.org/t/higgsas-geometry-nodes-groups-blender-3-1-3-0

    My version can be found here:

    https://1drv.ms/u/s!Ao0ORvFU8B2g02uO0jTMhlQhTuk4?e=ezFz8n

  • pior
    Online / Send Message
    pior grand marshal polycounter

    Nice ! Looks like this is working perfectly, very well done.

  • gnoop
    Offline / Send Message
    gnoop polycounter

    Does anyone know if it's possible to set a hotkey that could close all collections at once in outliner?

  • Prime8
  • gnoop
    Offline / Send Message
    gnoop polycounter

    Thanks a lot Prime8. it works :) after I do shift+A two times . Looked for that combination for years and always knew it must be somewhere there.

  • Prime8
    Offline / Send Message
    Prime8 interpolator

    @gnoop yes right, it is actually expand/collapse, similar to select/deselect, forgot to mention that, sorry. Happy to help.

  • pior
    Online / Send Message
    pior grand marshal polycounter

    Hello all,

    Is there any way (using default tools, or an addon ...) to split UVs according to the hard edges of the model, and then offset the outer borders in by a certain amount ?

    As a matter of fact in the Blender paradigm there is no notion of splitting UVs since they are always ready to be split by just moving the faces, but that's the best way I can think of to describe what I am after.

    Like so :

    This is an essential part of creating hard intricate lowpoly surface models that bake well (no bleeding over the edges) while still behaving well when textures need to be very lowres (as the hard edges from the geo can then take care of keeping the shading clean) ... but there doesn't seem to be many tools out there that accommodate the workflow consisting of first doing a regular unwrap and only later splitting things out.

    Even though a simple scaling would not work in all cases (for instance any island shaped like an L would be problematic, as well as any island inside another island), it would still be a good start. So perhaps a macro could go through all surfaces of a model outlined by hard edges, select the corresponding UV faces, and scale them down by a small factor. Thoughts ?

  • Tiles
    Offline / Send Message
    Tiles greentooth

    Select Sharp Edges, then mark as Seams maybe? Then Unwrap ...

    And i guess the "offset" part must be done by hand then. There is the margin setting though. After unwrap and with the pack islands tool.


  • pior
    Online / Send Message
    pior grand marshal polycounter

    Well no, because the whole point is to not change the overall arrangement that is already established :) This isn't a case of making an asset from scratch, but rather, starting from an unwrap that as been well done the traditional way, and adding the necessary splits.

  • Tiles
    Offline / Send Message
    Tiles greentooth

    I feared it ^^

  • Brandon.LaFrance
    Offline / Send Message
    Brandon.LaFrance polycount sponsor

    @pior I'm frustrated by the same issue. I generally do a similar thing to what @Tiles mentioned, then manually scale the new islands with the pivot set to individual origins. The thing that's annoying is that as long as the UVs still share the same coordinates, the UV editor still treats everything as a single island (and therefore shares a single pivot), regardless of seam placement. The most efficient way I have managed is to manually select islands that don't share edges, hide everything else, and then do my scale with individual origins. Then repeat until you've got all of them. Select linked, [Ctrl]+[L], with the seams delimit helps somewhat. This seems like something that could be easily automated, but I am not a clever man.


    If there is a way to get the UV editor to treat islands as separate when they share border UV coordinates, it could make this process so much easier...

  • Tiles
    Offline / Send Message
    Tiles greentooth

    Well, you could work with Pin. Then just the unpinned areas are unwrapped again. But then you have to rescale and put the single parts into their place again.

    EDIT, point is, when you modify an existing UV then you modify also the margin. And usually you have the margin set to its size for good reason. So imho, every modification to UV means you better completely unwrap it again.

  • pior
    Online / Send Message
    pior grand marshal polycounter

    @Tiles - well, in theory that sounds reasonable ... but in actual practice this isn't quite as simple as it seams seems for a number or reasons :

    1 - The unwrap may have been fully done already, in a very clean way but just missing the split-and-spread. This can happen when reworking an earlier asset, or even simply when getting models back from an external vendor. This technique is really quite delicate by nature meaning that many people just don't quite understand or have much practice with it - and this means having to edit things after the fact.

    2a - It's not necessarily true that making it "right from the start" is always the best way either, as a bruteforce unwrap with all these edges marked as seams would scatter pieces randomly, requiring to put everything back together manually by checking which edge matches which edges. I could imagine some workarounds though, like a clever way to select the next adjacent piece based on an edge selection and bringing it near the original selection - and then refine manually. Or a packing algorithm attempting to organize things based on surface continuity for instance.

    2b - There's also a case to be made for doing a regular unwrap first and only then splitting/spreading things later according to the internal hard edges, because it allows to preserve the "tiger pelt rug" visual consistency on a part quite well.

    - - - - -

    Now that said your earlier post almost gave me an Eureka moment as it made me entertain the thought of performing an extra temporary unwrap in a secondary channel by marking all the internal hard edges as seams, and then using all these exploded parts as a way to select islands (from one channel to another). But unfortunately that doesn't work, as transferring the selection requires Sync mode to be on and I don't think Sync mode has any way to quickly select islands. So it goes back to what @Brandon.LaFrance what suggesting, ie using things Select Linked>Sharp and Select Linked>Seams in the 3d view to progress through the selection.

    Really curious to know if there are any unwrap/packing algorithms out there that not only pack things well, but also keep parts near each other based on the corresponding surfaces of the model. Any suggestions ?

  • Tiles
    Offline / Send Message
    Tiles greentooth

    Yeah, i understand your point. It's just not the rule. And i still have the feeling that doing it right from start is / would be the better way to go. First set all seams as needed, do the unwrap, then do the needed corrections, and group manually together what belongs together. But yeah, sometimes this is not possible.

    I unfortunately don't know of any algorithm that keeps edges close to each other. Since the priority of the algo is to distribute the mesh as even as possible. And when you try to keep everything close to each other then you waste lots of UV space. Which would be the opposite of what you usually do. To use the UV space as efficient as possible.

  • okidoki
    Offline / Send Message
    okidoki polycounter lvl 2

    (At least for this simple example:) If you split your object in the 3D view then the UV-scaling with pivot set to individual origins does give the wanted borders/margin.. but to select every wanted "face-island" and split it or split everything by Mesh -> Split -> Face by Selection and then merging the "face-islands" may be a bit cumbersome for complexer objects.. depending on you workflow you may have to merge the mesh vertices at then end.. but an (applied) edge split modifier might be handy.. it worked for the example.. A more direct split by sharp edges or seams would be.. nice.


  • gnoop
    Offline / Send Message
    gnoop polycounter

    Well. I have a kind of half manual solution involving geometry nodes.


    you kind of split and scale down all faces and then transfer original UV to what was before to scaled down thing. It's automatic part. Could be done through usual data transfer modifier too if you do it on an object copy.


    Then you apply geometry nodes modifier and convert "atribute" to regular UV . As far as I figured out it's possible only manually here.

    it turns the attribute output geometry nodes generates to usual UV

    Then next step . You do upscale to corresponding value again in another geometry nodes , apply and do "merge by distance"


    I am sure it could be all done through a clever geometry nodes math without all that manual converting and applying but working with UVs there is quite a puzzle for me so I wonder to see a better solution too. It also tends to spoil the final UVs if merging vertex back distance is not absolutely tiny. So could be unreliable.

  • gnoop
    Offline / Send Message
    gnoop polycounter

    Well. actually if you upscale back and merge by another geometry nodes again after applying it's kind of more reliable . More probability UV would stay intact if you upscale vertexes very close to each other .

  • gnoop
    Offline / Send Message
    gnoop polycounter

    I have no idea yet how to work with selection input in geometry nodes. If somebody have an example how to split certain edges only using selection input I would be appreciative .


    PS. Well . actually you can use same named attribute input to bring vertex group based selections . So the problem is solved

  • pior
    Online / Send Message
    pior grand marshal polycounter

    Hello !

    Well I am glad I asked - thank you for all the suggestions :) I still have to try the methodds involving Geometry Nodes, but the Split Modifier approach brought up by @okidoki put me on a viable track already. Streamlining it as follows, without even using a modifier :

    0 - Assuming that "regular UVs" have been done already,

    1 - Select all edges marked as sharp using Select Similar Sharpness,

    2 - Split faces by edges (essentially going straight to the equivalent of an applied Split Edge modifier),

    3 - With UV Sync on, scale all by individual origins,

    4 - Refine UVs as usual with Sync mode off,

    5 - Weld all by distance to get back to a continuous, watertight mesh.


    Outside of the potential issue of messing up vertex order (which isn't a huge deal really and barely relevant at this stage), this is really quite viable. Of course there is some manual work involved, but much less than having to select-linked and edit all the desired islands one by one. And this little bit of manual scaling/moving things around doesn't take much more time than a regular inspection of the UVs anyways.

    @gnoop Regarding your attempts using geometry nodes : perhaps the Split and Merge distance could be kept as 0, with the scaling being done only on UVs ?

  • gnoop
    Offline / Send Message
    gnoop polycounter

    I have no idea how to scale existing uv. There are not so many nodes to work with UVs there. What I suggested is basically data transfer of UV from initial model to one with contracted down faces so their uv space is getting contracted accordingly . Then upscale faces back to their original state and merge vertexes. It could work only with selected faces through saved vertex groups . It all could work same way without geometry nodes too.

  • pior
    Online / Send Message
    pior grand marshal polycounter

    Gotcha yeah - well, without a way to cleanly/directly interact with UVs I feel like the GNodes method isn't worth it for practical use at this time - but this is definitely a great proof of concept and something to keep an eye on. Thank you for the investigation !

  • Brandon.LaFrance
    Offline / Send Message
    Brandon.LaFrance polycount sponsor

    Well that's certainly starting to look like something that could be scripted pretty easily. Now, if for whatever reason you do need to preserve vertex order, this addon has saved me more times than I can count.

  • pior
  • Michael Knubben

    Also just released: www.youtube.com/watch?v=X5q8bMRjzOg

    Still sticking with mine, but it's nice to see tools like this developed


    edit: I don't post here enough to figure out whatever format Vanilla wants its youtube links in, and I don't care to try anymore.

  • Chrismartinartist
    Offline / Send Message
    Chrismartinartist polycounter lvl 2

    Hello,

    I am trying to rig some (tank-like) treads to a small robot. I essentially want a single controller object that I can use for both the movement and rotation to drive the tracks. So that moving the controller object forwards/backwards moves the whole bot and both tracks in the appropriate directions. Also, so that when rotating the controller object left and right the bot as a whole rotates, and the tracks operate so that one goes forward while the other back, and when rotating the opposite direction the opposite happens. Hope that makes sense.

    I've come from 3ds Max and not that familiar with Blender's constraints system. The model consists of the bot, and two seperate tracks, which were arrayed (applied) to fit the curve, moving the curve objects forwards/back rotates the tracks around them as I would hope, but when rotating the paths the tracks sort of unravel and fly off away from the model/paths like a ribbon in the wind (best way I can think to describe it lol).

    I've found all the tutorials on the subject only cover it going forwards and backwards. There is one slightly more indepth one which managed to keep the tracks in their loop but they moved out sideways from the model.

    Any help appreciated.

  • thomasp
    Offline / Send Message
    thomasp hero character

    That's fantastic. Great find!


    Question: I work a lot with stacked UVs and the color overlay on UV chunks starts to look too solid quickly, obscuring the texture. Already toned the opacity it way down in the theme editor which helps some but it it still gets hard to see things at times. Both selected and unselected overlay are affected.

    Anybody know if there's a way to toggle visibility of the overlay?

  • Oaken
    Offline / Send Message
    Oaken polycounter lvl 10

    Hello @thomasp, Is this what you are looking for? Also the UV Opacity slider but It affects the edges too which is a bummer


  • Michael Knubben

    What @Oaken said, and to help with this I made a little piemenu in Pie Menu Editor. I could share if anyone's interested, but you do need PME for it. I mapped it to Z, like the viewport's shading menu (if enabled)

  • thomasp
    Offline / Send Message
    thomasp hero character

    Thanks guys, indeed that's what I was looking for. In my configuration with the UV toolkit addon on full display at all times I totally forgot about the UV editor having its own viewport overlay menu. It kinda blends in too well. ;)

    I'll be off to get some prescription glasses now.

  • shogunato
    Offline / Send Message
    shogunato polycounter lvl 12

    Hi guys,

    Is there an equivalent tool in blender ?

    I tried to duplicate and separate an edge loop then convert it to curve but it's not smooth. When i convert points of the curve to bezier it is not the same as 3dsmax and nurbs sucks and do not retain some points.

    Or maybe it is possible to send my spline to blender ?


  • pior
    Online / Send Message
    pior grand marshal polycounter

    @shogunato : please describe precisely your actual intended end result (or desired input and output), as Blender users will not be able to know what this or that Max tool does.

  • okidoki
    Offline / Send Message
    okidoki polycounter lvl 2

    In Blender to make a polygon line (edge loop) into a curve you may try:

    • In Edit mode select you edges, duplicate (Shift-D ), separate (P) into new object.
    • In Object Mode: select new object, right-click-menu : Convert To -> Curve..
    • Then in Edit mode: right-click-menu : Set Spline Type -> Poly, Bezier, Nurb and also Set Handle Type -> Automatic, Vector, Aligned, Free.

    If this is what you are looking for..

Sign In or Register to comment.