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.
@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.
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
@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
@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.
@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:
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.
@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)
@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.
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.
@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 ...
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.
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?
@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?
@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.
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.
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.
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.
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.
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.
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.
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.
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 Now I'll have to check all the seldom used but still important features but it's already an awesome modelling tool
@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!
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!
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.
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.
@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
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.
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.
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.
@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
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.
@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:
...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.
Replies
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?
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
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
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.
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:
With great power comes great responsibility......
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.
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)
Just having the live snap modifier key in Max would be fantastic. Can't wait to test this one.
@Justo It might be that you have hard edges there.
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?
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.
It is sort of distracting in a bad way to have to work on meshes like this if I dont want the subd seams.
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.
Is there any way to replicate this?
Just to add one more quick way of doing this:
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.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.
Now I'll have to check all the seldom used but still important features but it's already an awesome modelling tool
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:
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!
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
https://blenderartists.org/t/modifier-list-1-3-1-improved-lattice-other-stuff/1147752
https://blenderartists.org/t/udim-support-for-2-8-by-lukas-stockner-development-thread/1114538/118
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
https://youtu.be/twH2KUmCcMY
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:
...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.