Home Technical Talk

Blender Mega Thread

19394969899139

Replies

  • rollin
    Offline / Send Message
    rollin polycounter
    I have the problem where I can't do anything in the viewport. 
    The outliner does not react except the eye-icons work.
    Keymap in the preferences is an empty screen.
    Hovering over one of the buttons on the right screen gives "Internal Error" Toolttips
    The remaining interface seems to work normally but I haven't thoroughly checked.

    Testing with  Rc2 atm.

    Anyone had similar stuff happening?
  • Nominous
    Offline / Send Message
    Nominous polycounter lvl 10
    @rollin I haven't had any problems like that in Blender 2.80 between the beta builds and RC2. I'd make sure that your PC meets the hardware requirements for Blender 2.80 first and to download it from the official site.
  • rollin
    Offline / Send Message
    rollin polycounter
    Na, that would be too obvious. And I had the problem with a beta build I got around a month ago too. The older blender versions work in this regard too.

    Imo it has to be some awkward incompatibility with.. something. Don't know. That's why I'm asking

    Edit: hehe what's nice is that if I use 'blender_debug_gpu_glitchworkaround.cmd' it works :D

  • SonicBlue
    Offline / Send Message
    SonicBlue polycounter lvl 10
    Justo

    @SonicBlue thanks for providing those images and links. I think the Pivot Custom custom script you show in that gif from HeavyPoly seems to be the fastest solution so far :) I suppose that pie menu option is calling a custom operator included in those scripts? Because if it's just calling native stuff, I'd rather know what it is to save me from installing more addons.
    The TAB pie menu is cool, but I think the MachineTools' one is better: it's more oriented to specifically switching modes and less cluttered. Still, even though I have it, for now I keep switching modes by pressing different hotkeys, all binded to my A key + mod keys. It's so fast...
    It looks like it's using a native command, bpy.ops.transform.create_orientation

    It's the second entry:

    https://docs.blender.org/api/current/bpy.ops.transform.html


    The pie .py code is this:

    prop = pie.operator("transform.create_orientation", text="Pivot Custom", icon='FACESEL')
            prop.use = True
            prop.name = "Pivot Custom"
            prop.overwrite = True

  • xrg
    Offline / Send Message
    xrg polycounter lvl 10
    A couple of Japanese Anime Studios just signed up for the dev fund.

  • m00k
    Offline / Send Message
    m00k polycounter lvl 6
    Insane how fast companies are signing up since 2.8 RC!
  • Udjani
    Offline / Send Message
    Udjani interpolator
    @Justo Had a similar problem once, i could not save new settings. So i ended up deleting every blender folder on my pc and it worked.

    About the transform topic, just discovered today that you can snap the cursor to edges too, so if you change the snapping settings to edge + align rotation it will align the 3d cursor with the edge. But you have to activate sanpping temporarily with Ctrl or the snap feature.


  • Justo
    Offline / Send Message
    Justo polycounter
    @Udjani Great stuff! I finished setting up my hotkeys again today and working this way with the Cursor, set to geometry I mean, is wonderful! 

    Here's something I don't get: why does the Bevel modifier not create chamfers on the bottom of this extrusion?
     

    All edges are correctly beveled & creased afaik. Is it because of this particular mesh and its extrusion? I'm attaching the scene to this post if anyone is willing to test with my mesh. Bevel settings I'm using for this:

  • Udjani
    Offline / Send Message
    Udjani interpolator
    @Justo you have faces inside that extrusion.
  • Justo
    Offline / Send Message
    Justo polycounter
    Dang, absolutely correct. Need to get used to these impossible geo cases. Thanks Udjani :)
  • Linko
    Offline / Send Message
    Linko polycounter lvl 7
    The Blender Cloud has released a new tutorial: "Stylized Character Workflow" by Julien Kaspar.


    The same author has also made those videos of sculpting tips: https://cloud.blender.org/p/speed-sculpting/

    Pablo Dobarro is now working full time at the Blender foundation for the sculpting and painting tools. So we can expect his finished tools and improvements to be impletemented officially soon.





  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    @justo the power of Blender's unique modeling abilities(working on verts and edges with no connected faces in space) can also be its Achilles heel(illegal topology)

    With great power comes great responsibility...... :D 
  • Nominous
    Offline / Send Message
    Nominous polycounter lvl 10
    @musashidan Hello, I read your post mentioning that you use the bevel shader now to create game assets and skip high poly modeling. I'd like to use this workflow, but it seems mainly useful for boolean-heavy models similar to the ZBrush dynamesh polish workflow. I find that subdivision surface modeling is still needed for objects that have somewhat complex curvature. Here's an example (CRKT Provoke) and the arrows point to curvature that would be a real pain to model and get clean bakes without subdivision surfaces:

    [spoiler][/spoiler]
    I'm modeling it now using subsurf, gonna bake a normal map using a low poly later, and possibly connect it to the bevel shader's normal input. I wonder if I should bother applying the subsurf modifier and using the bevel shader when I could keep it non-destructive and use the bevel modifier plus bevel weights at the very end on the simpler, more angular surfaces.

    I also read that you're planning to create a tutorial on the bevel shader workflow, but I thought I'd ask for some guidance in case it's a ways off. :) Your youtube channel is quite informative and I hope it will get a nice boost from the influx of Blender 2.80 users.
  • PolyHertz
    Offline / Send Message
    PolyHertz polycount lvl 666
    I'm working on recreating Blenders transform system in 3DSMax:



    Almost done creating the basic move/grab part for objects, including snapping. Still a ways from release, but I thought a few people in here might find it interesting. :)
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    @PolyHertz : this is so cool, Max users are in for a treat ! This is such a superior way of manipulating things in 3D space, especially for organic modeling. And a relief for the wrists too ...

  • LuisCherubini
    Offline / Send Message
    LuisCherubini interpolator
    Anyone know how to add a second UVmap (lightmap) to all selected objects at once in 2.8?
    Ctrl+L tranfer UVs only work if its the same geometry...


    I'm currently selecting everything and adding a new UV, but it only adds to the last selected object. (shame on blender)
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    import bpy
    
    for obj in bpy.context.selected_objects:
        obj.data.uv_layers.new(name='lightmap')

  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    @PolyHertz when you said you were going to start scripting again........this was unexpected  :D 

    Just having the live snap modifier key in Max would be fantastic. Can't wait to test this one.
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    Nominous said:
    I also read that you're planning to create a tutorial on the bevel shader workflow, but I thought I'd ask for some guidance in case it's a ways off. :) Your youtube channel is quite informative and I hope it will get a nice boost from the influx of Blender 2.80 users.
    Thanks mate, glad the vids are useful. The thing with hard-surface is that I'll use whatever tools I need to get the bake results I want and as quickly as possible. Bevel shader baking certainly isn't the 'end of high poly modeling'. I'll only use it where it makes sense. I'll also use chamfer/sub-div, or straight polymodeling, or FWVN, or even Dynamesh.

    The mindset to approaching your final game asset(which is the only model you need to create) is a bit different because you are focusing solely on the finished model from the start(after blockout) You don't need to think about the high poly so you lock in the silhouette early. This is liberating in the sense that you don't have to worry about sub-D or beveling or 2 different models. It's a little similar to my main low/high simultaneous workflow, where I set smoothing groups and use chamfer mod/turbosmooth in Max(no different in Blender)
    Your example above is no different and is no problem for bevel baking because you are straight polymodeling WYSIWYG. The trick is not to be frugal with the topology. Put enough in to support the silhouette and you should be fine.
  • Gazu
    Offline / Send Message
    Gazu polycounter lvl 12
    Is there "preserve UVs" in Blender 2.8 like in MAX?
    TextureLock from UV Magic Addon works, but not perfect.

  • Justo
    Offline / Send Message
    Justo polycounter
    Something I still do not get...when applying the SubD modifier, I'm getting shading seams on the subdivided models. Is this because I am using beveled edges? How should I fix these, unless it doesn't really matter when I bake inside Blender or export the HPs out of Blender?

  • Udjani
    Offline / Send Message
    Udjani interpolator
    @Gazu No :(. ''GG'' is a hacky way to get around this problem sometimes. 
    @Justo It might be that you have hard edges there.
  • Justo
    Offline / Send Message
    Justo polycounter
    Udjani said:
    @Justo It might be that you have hard edges there.
    You mean sharp edges, right? If so, indeed I have them. I was under the impression the edges would be turned to Soft automatically once a Subd modifier is applied on top. I suppose I was wrong to think so. 

    If I wanted to preserve my modifiers while I work and see a smooth subdivided mesh, should I then apply a modifier on top of the Bevel & SubD to alter the normals of my mesh?
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    @justo sub-d in Blender isn't the same as Max in that it doesn't automatically smooth out the mesh. You have to 'smooth faces' the mesh as well. The good news is that Blender sub-d modeling is a lot nicer than Max to work with (apart from the shit edit mode viewport performance) if you click the 4th little display button in the subsurf mod and the activate isoline display yiu can work directly on the cage verts while displaying the sud-d result.
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    It looks like all your edges with bevel values are also set to hard.

    To get rid of the hard edges around the resulting bevels, either set these edges to smooth in the base model itself ; or if you want to keep them for reference, turn off Autosmooth in the object properties.
  • Justo
    Offline / Send Message
    Justo polycounter
    Right. Thing is, I don't want to turn them off, either by setting them to smooth or toggling off Autosmooth in my base object. If possible, I would like to apply a modifier on top that corrects this issue, so that I can preserve my sharp edges in my base model. Is there any modifier that could smooth all vertex normals/turn all edges to smooth?

    It is sort of distracting in a bad way to have to work on meshes like this if I dont want the subd seams.
  • Udjani
    Offline / Send Message
    Udjani interpolator
    @justo Yes, sharp, don't know why i said hard xD. 

    Edit: I usually work with the subdiv modifier with the ''edit mode'' option turned off, if you have the bevel modifier the mesh will not look too bad as it holds the shading a bit.
  • Gazu
    Offline / Send Message
    Gazu polycounter lvl 12
    Ok i made it with Texture Lock from the Magic UV Addon.
    Was a bit confusing at the beginning, but now its super cool! ;)


  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    Justo said:
     Is there any modifier that could smooth all vertex normals/turn all edges to smooth?

    Unfortunately Blender doesn't have a modifier  similar to Max's Smooth modifier. This is a really weird behaviour all right. Although not ideal, you could save the hard edges as a vertex group and recall them later when you need them. I really have no idea why it does this. No other DCC that uses opensubdiv does this.
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    Justo said:

    Is there any way to replicate this?

    Just to add one more quick way of doing this:

    1. Select edges or faces where the average normal of your selection is the direction you want to extrude
    2. Press Shift + 7 (num pad) to align the camera to the normal of the selection
    3. Extrude in screen space and press middle mouse button if needed to snap to the common axis
    4. Done
    Demo


    I find this often the quickest way. There is also Shift + 1 (num pad) and Shift + 3 (num pad) for other perpendicular angles to the normal selection.
  • Prime8
    Offline / Send Message
    Prime8 interpolator
    Justo said:
    Right. Thing is, I don't want to turn them off, either by setting them to smooth or toggling off Autosmooth in my base object. If possible, I would like to apply a modifier on top that corrects this issue, so that I can preserve my sharp edges in my base model. Is there any modifier that could smooth all vertex normals/turn all edges to smooth?

    It is sort of distracting in a bad way to have to work on meshes like this if I dont want the subd seams.
    You can try lowering the angle threshold instead of working with sharp edges, or is there any particular reason why you need to mark them? 

    Another option is using the "Edge Split" modifier, but you would need to switch it and the subd modifier on and off everytime you want to see proper subd or sharp edges.
    When using edge split you need to turn off auto smooth and be careful not to apply it.
  • Nominous
    Offline / Send Message
    Nominous polycounter lvl 10
    I'm pretty sure he wants accurate shading of the cage (perhaps later duplicated as a base for a low poly) while modeling instead of working with subsurf visible. It would be nice if the subsurf modifier had an option to ignore sharp edges. Maybe it would make for a nice suggestion on right-click select if it hasn't been proposed already. For now, I've gotten used to modeling with shade flat and then switch to shade smooth when I'm done modeling the high poly.
  • m00k
    Offline / Send Message
    m00k polycounter lvl 6
    Its a bit of a workaround but since vertex groups don't support storing edge selections. You could mark the edges you want sharp as freestyle edges, smooth the mesh. And when you want to mark them sharp you could just Shift+g and then select freestyle edges and mark them sharp again. Would be pretty simple to make a little script for as well.


  • rollin
    Offline / Send Message
    rollin polycounter
    Every other year I'm testing a new Blender release to see if I'm able to adopt it for my needs and 2.8 really is on another level. After switching to the "industry standard" keymap it's like I've never used anything else :D
    Now I'll have to check all the seldom used but still important features but it's already an awesome modelling tool
  • zachagreg
  • Justo
    Offline / Send Message
    Justo polycounter
    @renderhjs That's a great way of doing it too! I'll need to add that shift+7 to my brain shortcuts, since it's a very powerful tool to have. Thank you for sharing this!

    Prime8 said:
    You can try lowering the angle threshold instead of working with sharp edges, or is there any particular reason why you need to mark them? 
    Working limited to an angle threshold can sometimes not be ideal for all meshes and shapes, that's why I like having manual control of everything, anytime. 

    @m00k I think you're on the right track in that this is something very easily automated by a script. I haven't worked yet a lot with vertex groups and frankly I'd avoid tinkering with it if there are simpler solutions, which I think for this I've found one:

    So I know that whenever I want a subsurface modifier on an object, I want the AutoSmooth to be turned off. I already have a hotkey that assigns a Subsurface modifier with my preferred specific settings, so I might as well add in a line that turns off the AutoSmooth in my object. And if I want to toggle my Subsurface mod on/off, I can invert the Autosmooth status too, like so:

    import bpy
    from bpy import context
    
    
    for selected in context.selected_objects:
        for modifier in selected.modifiers:
            if modifier.type == "SUBSURF":
                if context.object.modifiers[modifier.name].show_viewport == True:
                    context.object.modifiers[modifier.name].show_viewport = False
                    bpy.context.object.data.use_auto_smooth = True 
                else:
                    context.object.modifiers[modifier.name].show_viewport = True
                    bpy.context.object.data.use_auto_smooth = False
       
    I also have a script which toggles the visibility of all my modifiers, so I suppose I could merge these case-specific actions to it :) If anyone thinks this is a bad idea for any particular reason though, do let me know. I am all for working smarter!
  • Prime8
    Offline / Send Message
    Prime8 interpolator
    Justo said:
    ...
    Working limited to an angle threshold can sometimes not be ideal for all meshes and shapes, that's why I like having manual control of everything, anytime. 

    ...
    Works fine for me, but I don't use sharp edges when working with subd anyway. If you need the full control at this stage, threshold will not work of course.
  • Justo
    Offline / Send Message
    Justo polycounter
    Yeah - needless to say, this is purely for previsualization preferences. There's no real functionality to it that I'm looking for other than my own personal likes of where there should and shouldn't be sharp edges.
  • ant1fact
    Offline / Send Message
    ant1fact polycounter lvl 9
    @Justo I think you're doing some redundant stuff in that python script. You import bpy but then also import context a second time from bpy. Then you refer to the context as both context and bpy.context. The built-in python shell has some convenience variables that you can take inspiration from imho
    import bpy
    C = bpy.context
    
    Since you use context all the time you might as well save yourself some typing and just say "C.stuff_you_want_to_access"

    FYKI there is an addon called modifier tools which adds 4 super useful buttons above your modifier stack. It too has toggles for visibility + collapsing the stack and applying all modifiers on all objects
  • ant1fact
    Offline / Send Message
    ant1fact polycounter lvl 9
    2.8 is officially released! Woohoo :>
  • RaphaelBarros
    Offline / Send Message
    RaphaelBarros polycounter lvl 2
    Justo said:
    I also have a script which toggles the visibility of all my modifiers, so I suppose I could merge these case-specific actions to it :) If anyone thinks this is a bad idea for any particular reason though, do let me know. I am all for working smarter!
    To you and anyone who rely heavily on Blender's modifiers, I highly recommend using "Modifier List" addon. It adds a whole new level of organization to Blender's modifiers, and makes it much easier to add modifier controllers (such as empties, lattice objects and vertex groups) automatically.

    https://blenderartists.org/t/modifier-list-1-3-1-improved-lattice-other-stuff/1147752

  • Udjani
    Offline / Send Message
    Udjani interpolator
    Anyone has the 2.8 release installer to share? no way to download it right now through the website.
  • Nominous
    Offline / Send Message
    Nominous polycounter lvl 10
    @Udjani Sure, is the Windows 64 bit version fine? Which file host do you prefer?


  • melviso
    Offline / Send Message
    melviso polycounter lvl 10
    UDIM Feature for Blender branch released. Its going to be added in the master branch in 2.81:
    https://blenderartists.org/t/udim-support-for-2-8-by-lukas-stockner-development-thread/1114538/118
  • another caveman
    Offline / Send Message
    another caveman greentooth
    Would anyone know
    Justo said:
    I also have a script which toggles the visibility of all my modifiers, so I suppose I could merge these case-specific actions to it :) If anyone thinks this is a bad idea for any particular reason though, do let me know. I am all for working smarter!
    To you and anyone who rely heavily on Blender's modifiers, I highly recommend using "Modifier List" addon. It adds a whole new level of organization to Blender's modifiers, and makes it much easier to add modifier controllers (such as empties, lattice objects and vertex groups) automatically.

    https://blenderartists.org/t/modifier-list-1-3-1-improved-lattice-other-stuff/1147752

    thank you! I just could't believe it was my job to add a Lattice AND a modifier to do an "ffd" ...
    B)
  • LuisCherubini
    Offline / Send Message
    LuisCherubini interpolator
    MACHIN3 said:
    import bpy
    
    for obj in bpy.context.selected_objects:
        obj.data.uv_layers.new(name='lightmap')

    Thank you for the script! Im still trying to find a quickier way to bulk edit different objects and packing their UV channels for lightmap automation without merging them... I came up with this updated version but since I suck at python its not getting me results.

    
    
    import bpy
    for obj in bpy.context.selected_objects:
        obj.data.uv_layers.new(name='lightmap')
        
    meshes = {obj.data for obj in bpy.context.selected_objects if obj.type == 'MESH'}
    
    for mesh in meshes:
        mesh.uv_layers['lightmap'].active = True
        bpy.ops.uv.smart_project(island_margin=0.05)
        mesh.uv_layers['UVMap'].active = True
        bpy.ops.uv.unwrap(method='ANGLE_BASED', margin=0.001)
    
    


     Anyway, here's a little series Im putting up sharing the process of creating a city inspired by the anime Evangelion.




    https://www.youtube.com/watch?v=9PEfNxxffxo
  • wazou
    Offline / Send Message
    wazou polycounter lvl 5
  • Justo
    Offline / Send Message
    Justo polycounter
    @LuisCherubini Thoroughly enjoyed watching you model those buildings, thanks for sharing. What was the light setup you were using in that eevee scene? Resembled like an sunrise/afternoon-light hitting the city, kinda :) 
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    I came up with this updated version [...] its not getting me results.

    
    
    import bpy
    for obj in bpy.context.selected_objects:
        obj.data.uv_layers.new(name='lightmap')
        
    meshes = {obj.data for obj in bpy.context.selected_objects if obj.type == 'MESH'}
    
    for mesh in meshes:
        mesh.uv_layers['lightmap'].active = True
        bpy.ops.uv.smart_project(island_margin=0.05)
        mesh.uv_layers['UVMap'].active = True
        bpy.ops.uv.unwrap(method='ANGLE_BASED', margin=0.001)
    
    

    If you want to use blender operators, you need to do it in the same way as if you use the GUI. You need to make sure your active object is set accordinly for each iteration of the loop. Sometimes selection as well.
    So, iterate over objects, not meshes, then make them active, then use the ops.

    A slightly smarter way that doesn't require to explicitely set the active, is by using a context override instead.
  • Justo
    Offline / Send Message
    Justo polycounter
    @MACHIN3 Could you (or anyone reading this) elaborate on that? There are a ton of scripts I use that I could apply this knowledge to. I understand I need to iterate through selected objects to be active so that I can execute whatever commands I want to, but is the code you shared doing that?

    The for at the beginning is going through all the objects you selected, and the for mesh in meshes is doing it again...but in mesh edit mode? I don't get it.   

    I tried placing some commands in both fors, namely these ones:

    bpy.ops.object.shade_smooth()
    bpy.context.object.data.use_auto_smooth = True

    ...But the only resulting objects that were correctly modified was the active one in my selection, whereas I would want/expect it to be applied to all of them.
19394969899139
Sign In or Register to comment.