text:
Can anyone tell me why my cylinder is not in a straight line when I zoom out?

Here is the image of the cylinder; you can see there's a tearing when you see the cylinder clearly. What is the solution to make it smooth? Is it vsync? But it's Blender, not a game.

Make Viewport Anti-Aliasing higher

Why is this the accepted answer when the other one is clearly right and this is just a way to make it look prettier/smoother while still not straight.

Because the asker require fix the tearing in his question.

This is expected. The default viewport is look at the scene with a perspective projection, meaning that the parts of the cylinder at different heights will look different relative to the camera.
If you want objects to be perfectly straight, you can change the viewport to an orthographic perspective with Numpad 5 or the bottom button on top right of the viewport.


text:
Issues with materials after Mixamo export/import
I'm a noobie and I'm starting to make assets to mod a game called StormGate (not out yet) that will be on Unreal Engine 5.
I have a grasp on modelling by now but animation looks very complex so I want to use automated tools as much as possible. Mixamo offers free rigging and free animations (they're not great but I can tweak them in Blender).
I have managed to export my models into the website and put them back in Blender with animations, however I have a few issues while doing it:

I can't upload anything in FBX, it works fine in .obj though (though when I get the FBX file with animation I have to export it at 100 scale to get the same size, weird)

Maybe because of this I lose all my materials when uploading to the website (I checked the export options and I only saw write materials related to that and it's checked)

It's not a big deal to put them back on, however I want all my characters to have a black outline so I'm using a solidy modifier with backface culling and material offset (I followed a tutorial) and the export-import process messes it up

So what would be the best workflow? Put the outline after the animations?
Maybe there's a way not to lose the materials?

There are some limitations on export and import in FBX format relating to materials. This is the link to the section on FBX import/export in the Blender manual.

https://blender.stackexchange.com/questions/57531/fbx-export-why-there-are-no-materials-or-textures

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Scale a vertex group in edit mode
For the sake of increasing work speed, I am looking for a way to setup quick scaling of solidify thickness in edit mode. The context is that I'm making mesh hair consisting of lots of different strands, and editing them manually. To make this as convenient as possible, I am using very low poly flat strands with a lot of subsurf, and then solidify to turn them into flattened cylinders.
I need to be able to make the strands different sizes and thicknesses. If the solidify were applied, this could be done with Shrink/Fatten. I can scale the strands based on normals to make them wider, but their fatness is defined by their weight in the solidify vertex group (and capped by the thickness set in the solidify modifier.)
To get the full functionality that I want, I need to be able to set a hotkey that lets me adjust the value of a vertex group on my selected object. Ideally, it would multiply based on mouse movement, like most modelling tools do. But I'd settle for being able to type a number to multiply it's current weight by.
So overall, what I would need is a way to multiply the value of the selected verts within the active vertex group, and have the Factor be based off mouse or keyboard input. Is there any way to set this up? Or an addon that could do it? And if not, would such an addon be possible?
Update: It looks like Gain from the Levels tool can multiply the weights. I can hotkey Levels, and it will repeat the last Gain setting whenever I use it, so that helps. But i can't have the Gain change based on a typed value or mouse movement without clicking around a bunch.

There is a way that you can setup your screen to make it faster:

Try adding the vertex group to the Solidify modifier and set the max thickness.
Then you can either select some vertices and set the number directly or go into weight paint mode and paint in thickness.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Viewport performance changes when in camera?
I am working on a fairly simple scene (80k verts) that is mostly made up of simple objects with some subsurf. Normally, my viewport performance is just fine. However, when I hit numpad 0 to view the scene through the active camera (not rendering) my performance takes a massive hit and begins to lag. Disabling subsurf and solidify on objects helps, but does not solve the problem. (This drops the scene to 53k verts.)
This performance hit is strange as I have not seen it before, even in earlier versions of the same project file, and I normally have no problem handling much more complex scenes (GTX Titan GPU.)
What could be making it change merely by being in the active camera? The amount of the model visible is the same in both cases. The viewport and actual camera have the same lenses and clipping distances.
Update: I did some further testing. I created a second camera , and it does not have the performance drop when I use it. The first still does. They have the exact same default settings. I even tried changing the first camera to the second's data, and the second to the first, and still the performance hit only takes place in the first camera, regardless of camera data. So it's something to do with the object, not the camera settings. But I can't find any differences. I also tried duplicating the first camera both with ctrl+D and alt+D, and neither of the duplicates have the problem.

Solid or material/texture shading? Enabled display mist in the camera settings? A background image can be set to only camera view, so a large exr image or video could make a difference.

After more troubleshooting, I found it. My character's rig had an eye target bone constrained to copy the location of the camera. I had totally forgotten about it because the constraint was disabled. So apparently, disabled constraints still get calculated in some way and eat up a ton of resources? But that's a whole other question. Deleting it fixed the issue.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Edge Crease and multiple subsurf modifiers
If you crease an edge, then subsurf modifier won't round it. But if you have 2 subsurf modifiers, the second will ignore the crease and round the edge. Is there a way around this? I have a situation where I want one subsurf, then some other modifiers, then a second subsurf. Using Simple instead of Catmull-Clark doesn't help.

Top: The starting cube with all edges creased and 1 subsurf modifier with 2 levels of subdivison.
Bottom: The same starting cube with all edges creased and 2 subsurf modifiers with 1 level of subdivision each.

can you please add an image demonstrating your issue?

mmmh strange because in my case a second subsurf increase the sharpness (seems normal as it virtually adds edge loops)

Yes, I can reproduce this problem. You could use a manual edge loop to sharpen edges if needed, though thats tedious. Why do you need two subsurfs?

@Ignatiamus I am using Cloth Sim and I want to be able to control the amount of subdivisions before the cloth modifier as I will need different qualities depending on the shot. And then I need a subsurf after the cloth modifier to help smooth things out and bring the model to the final render quality.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Why is my model lit up when the sun is pointing away?
Why does my model show patches of light when the light source, a sun, is pointing away from it?

I'm working on a 24 hr hillshading animation. I use the rotation of the sun to represent the angle of light on the earth (in object rotation properties this is simply Y: 90 - altitude, Z: 90 - azimuth). So at sunrise / sunset the light source is pointing straight on the model from the side, 90 degrees. Beyond this (nighttime) the light source is pointing away from the model, up into nothingness. I figured this would leave my model in the dark, but it doesn't.
At the sun's nadir, which for my location on the summer solstice, the sun is pointing at 124 degrees up into nothingness but my model still has patches of light hitting it.

You can see patches of light on the mountains near the top of the image.
I'm using cycles. I have a glossy material combined with a water mask but I tried turning that off and it didn't change anything.
Edit: it is not world illumination. That made it darker but the patches of light still exist.
From viewing up close I can see that my mountains are simply too steep. They are steeper than the angle of light coming at them, so the edge is not blocking the light.

I thought having my sun above my model would prevent the underside from being lit up but it does not.
Edit: this was not a world lighting issue. Ambient light is key for this render. When the sun is just below the horizon it's not instantly black. The difference between that and my problem are there were signs of direct light.
Solved the issue, see below. Simply needed to block the light.

Hmm, maybe upload a .blend since there are a huge number of settings that could affect this?

I made a plane big enough to block out light coming from below. That fixed it.
It does not matter where you place your sun in the model. If it points up, it will light the bottom of the model even if it's above the model.


text:
With make runtime, python modules doen't work
I think it is no big problem but, it is really important for me, to do that quickly because I need to have application finished to Friday. I will be really thankful when someone helps me.
My problem is:
I have application made in Blender, which is using python modules in bge.
I have Always actuators linked on controllers of python modules. In that controlers I writed modulename.main for calling function main() in module "modulename". In modules I have functionality of the program.
In blender, when I press "P" all works great.
But when I export application as Runtime. And I copy files like Textures to folder where I save it. It is runeable and scene shows good, but functionality of that game, doesn't work.
I assume, runtime can't find my python modules.
But I was trying many many things, and I don't know, how to fix that.
I saved my python modules in files with .py extension and copy they in folder with runtime. That doesn't help. I copy they to folder with python libraries, and all over runtime tree, but nothing of that doesn't help.
Second I try to "Pack all in .blend file" in File-External (or something like that). With that I doesn't have to copy Texture files into Runtime folder when I save application as Runtime, but python modules still doesn't work.
Highest problem is, I don't know how to debug that. Blender doesn't shows me any errors, and Runtime application doesn't shows me errors too.
I am using Blender 2.73a, and I was trying tu save application as runtime with that version, but when that doesn't work, I try use 2.72 and 2.74 versions. I was trying all that things on Ubuntu 14.10 and Windows 8.
Nothing of that helps me.
I read
Packaging external libraries in the game engine 'Create Runtime'
but that doesn't help me.


text:
"'Context' object has no attribute 'active_object'" error when trying to use function as driver
import bpy

def driver_func(val):
    activeobj = bpy.context.active_object

    if activeobj.name == "A":
        output = val * val
    else:
        output = val + 20

    return output

#add function to driver_namespace
bpy.app.driver_namespace['driver_func'] = driver_func

Thanks to RJG for the improvement.
This script indeed runs in the scripting editor without errors, but when I
add driver_func in the driver's editor as scripted expression to an object's transform (e.g. z-rotation) I get ERROR: Invalid Python Expression ...
The terminal message reads:
Traceback (most recent call last):
   File "<bpy driver>", line 1, in <module>
   File "/Users/.../Test.blend/TestPython", line 4, in driver_func
AttributeError: 'Context' object has no attribute 'active_object'

You could enable Use Self in the driver editor to get access to the object that the driver is used on. Then you would need to modify the arguments passed into function and use self to check for the name instead of trying to get the active object. The modified script look like this:
import bpy

def driver_func(self, val):
    if self.name == "A":
        output = val * val
    else:
        output = val + 20

    return output

#add function to driver_namespace
bpy.app.driver_namespace['driver_func'] = driver_func

Modify the expression to driver_func(self, var) or replace var with whatever your variable is called. Be aware that your current script increases the value very quickly.

I'm not an expert at Blender's drivers, so if somebody more experienced has a better solution, feel free to add another answer.

Alternatively you can access the active object through bpy.context.view_layer.objects.active as you've pointed out in the comments. Then the script would look like this:
import bpy

def driver_func(val):
    active_obj = bpy.context.view_layer.objects.active

    if active_obj.name == "A":
        output = val * val
    else:
        output = val + 20

    return output

#add function to driver_namespace
bpy.app.driver_namespace['driver_func'] = driver_func

Thank you. Actually I don't want to access the object the driver is used on. The object with the driver is controlled by parameters of other objects via the function. I found a different solution, if one changes the syntax to  activeobj = bpy.context.view_layer.objects.active it works.


text:
BGE Switching camera
I have 3 cameras in my game scene. When I press P, I am using one camera. How can I use the other cameras?
Like pressing F1 to switch to front view, almost like a racing car game's camera views, which have a lot of view options for the player. I don't mean split screen .

You can specify the active camera with the Scene actuator, which has a "Set Camera" mode.


text:
Switch off the lamp in imported VRML
In my VRML file, I have lights switched off. But when I render it in blender (by using the import tool), the lights are switched on.
I looked at the code:
def importLamp_PointLight(node, ancestry):
    ....
    # is_on = node.getFieldAsBool('on', True, ancestry) # TODO
    ....

As I can see in the code, lamp's is_on has not been implemented.
But I need this to work. How can I contribute to the code and make this work?
I see the this is implemented in bpy.data.lamps, but it uses C code _bpy imports types.
Thanks.

You could try uncommenting the is_on line and add something like
bpylamp.hide = not is_on
bpylamp.hide_render = not is_on

Another option could be
if is_on:
    bpylamp.energy = intensity
else:
    bpylamp.energy = 0

The X3D/VRML2 import script was written by Campbell and Bart so you might want to contact them and ask what they planned to do with the lights and whether they want some help. It's possible they left it like that because there is no on/off light switch in blender (maybe adding one is a TODO somewhere).

I think you are correct. The camera button is hide_render one. I used your bpylamp.hide_render = not is_on solution, however not exactly. Because hide_render is an attribute of bpy.data.objectand not of bpylamp.

hide will hide the lamp in the viewport - this also applies to preview rendering in the viewport, hide_render will only hide it while rendering - as in final image rendering. There isn't a switch that turns off both at the same time.


text:
Why is 'Subdivide' deselecting vertices instead of subdividing?
I know that subdivide is on right click in Edit Mode but for me it only deselects all vertices.
I already searched the whole Internet and everywhere is only by right clicking in Edit Mode.

Without any information provided by you others can only guess. Probably you use older version of Blender (2.7x) where right click select is used while you were expecting to have 2.8 where left click is used to select while right for menu (kinda industry standard). However rightclicking in edit mode cannot be shown as menu call on the whole internet since 2.8 is new and many articles are still about 2.7x

Subdivide was never under rightclick though, it was always and still is in 2.8 under W.

@Mzidare not necessarily. 2.8 is quite bad for troubleshooting in this context. If Select With is set to Left click then there is context menu on Right click where Subdivide resides and W executes Move mode. If Select With is set to Right click then W is reserved for opening Context menu since Right click is used to select.

You shouldn't be in Vertex mode, you want to be in Face mode or Edge mode.

@Mzidare, In 2.80, subdividing is done by right clicking on your mesh, and selecting subdivide.

@Millard Ok so Mr Zak is right and you Millard and I were incorrect cause there are two ways of doing that depending on what is set as "Select With". I'm comming from old Blender background so I assumed that the correct answer is the one for right click and you Millard are probably new to Blender and started with 2.8 so you assumed that the only right answer is for left click select.

no, I'm not new to blender, I just always set it to left click select.  In blender 2.79, I used the W shortcut to subdivide, but now in 2.80, you right click and select subdivide.

Oh, Mzidare must be using right click select.


text:
How to get the state of the modifier keys from the keyboard when changing a custom property?
I asked a similar - but slightly different - question already some time ago and I found a solution for a custom operator:
How to detect if a modifier key is pressed when the value of a custom property is changed?
But now I would like to get the state of the keys of the keyboard while manipulating a custom property. In other words can I create an Event in a set or update function of a property?
def _get_stampInfoUsed(self):
    val = self.get("stampInfoUsed", True)
    # get Event here in some way...
    if event.ctrl:
        print("Ctrl Pressed")

def _set_stampInfoUsed(self, value):
    self["stampInfoUsed"] = value

myProp: BoolProperty(
get = _get_stampInfoUsed,
set = _set_stampInfoUsed,
)

Thank you

Btw I would also like to add that I am very likely in a non-modal context.

I found some more clues in the documentation on the "prop" type: https://docs.blender.org/api/current/bpy.types.UILayout.html#bpy.types.UILayout.prop
(look at the arguments event and full-event)
And this thread provides some lights too but not all the parts of this puzzle: https://blender.stackexchange.com/questions/71537/what-are-the-parameters-event-and-full-event-of-uilayout-are-for/184175#184175


text:
Crowd Scene: Generating many characters with random clothing objects
I'm working on a small crowd scene and trying to figure out the best way to set it up from a workflow perspective. I have addons or particle systems to place the characters, but I need to generate a bunch of characters to feed into those.
I need to place ~25 characters total. For that, I want to have a few unique bodies, and a few unique pieces of clothing, hair, etc. I will then mix and match to have ~25 unique combinations, even if they share a lot of parts. I'm looking for a way to avoid doing this manually. I also want to keep all the parts instanced, although it's not totally essential (but would be for bigger scenes.)
I'm looking to be able to do something like link/append a character, and each time I do it gives me a random body, shirt, pants, hair, etc from a group. I know it's possible to have a particle system use a random object from a group for each particle, but can it be done for something like this?
Does anyone know the proper way to do this, or something similar? Is this even the correct way to approach this problem?
EDIT: I am looking at making a script for this. I'm looking for the best way to approach it, or to get input from anyone who has made something similar.

I would suggest MakeHuman. You can get a variety of clothes as well as preset characters in the community assets. Depending on the detail you want, you can also use animations on planes or in compositing.

I am familiar with MakeHuman and may use it to generate the base assets. But the question isn't about making the body or the clothes, its about putting them together in different combinations with instancing.

@Drudge You are asking too much from Blender, either you script all this functionality yourself using python, or you grab a tool like Houdini.

I'm looking at scripting it with Python, but I'm trying to understand more about whats available, or what approach is best. There's many ways to build it.

If you're great at scripting, one way might be to use the shape keys. If you instance the objects and randomize the shape keys for different body heights and shapes and randomize the texture indexes, that probably should do it. With shape keys you can completely do a seamless remodel, so it might be good to start with... for example long sleeve, long hair- then model all other changes into shape keys.
It can do a final scene check in the strange event that two bodies match by checking first if any two parameters are the same, then continuing the check until it is negative. Switching a parameter if all parameters match two objects.


text:
Paint setup for uncombined Cycles passes
I am trying to make a painting setup to paint over already rendered Cycles passes and combine them. Specifically, Diffuse and Gloss Direct, Indirect, and Color. This cannot easily be done in other programs like photoshop due to them not having proper linear color 32bit support, and i'd rather work with blender's UI anyway. All of Blender's painting setup seems to be aimed at Textures on a model, so this is not intuitive to setup.
What I've figured out so far is that if I load my images (.exr) into a Cycles material, I can set up the combining with Mix Nodes. If that material is then on a flat plane of the same aspect ratio as my rendered image, then it all works fine. I can use the material nodes as if it was the compositor. In texture paint mode, I can use the new Slots set to Material to paint on each pass.
If I set a window to the 3D viewport on Material view mode (my material being textures+emission shader), then I can see the combined image. This seems to work fine in real time as I paint in the texture paint window, even with 4k images.
Overall it works very nicely, except for one small problem: The viewport Material view isn't quite accurate. My Gloss pass doesn't seem to have full strength, which is basically the same problem you have if you do this in photoshop. I know the images have the right data as when I live render it looks fine. But for whatever reason, the viewport Material view isn't handling this all correctly.
Does anyone know a way to fix this, or can you suggest another method of doing all this?
UPDATE:
Looks like Krita handles it all pretty well. I'd still be interested to know why the cycles material view doesn't handle it correctly, and if it's possible to fix.

Have you tried using Krita for this? I have seen a lot of depth to what it can handle, and I experimented before with using Krita and Blender to try to access openexr layers

@CraigDJones I have not, I'll look into it.

The viewport isnt cycles, as in real render mode, its a preview where some operations ar not included it just gives a good impression.
So if you could paint in for example a diffrent color and imagine how it would becomme than thats an option or else there is solution to this, inside blender.

@CraigDJones Looks like Krita does handle it well. I'd still be interested to know why the cycles material view doesn't handle it correctly, and if it's possible to fix if anyone wants to do a proper answer.


text:
Denoise node and File Output not working
I am rendering out several layers at a high resolution, running them through the Denoise Node, and then outputting them with the File Output node. I have some passes that are getting denoised, and some that are not.
After the render runs, the output folder contains images for each pass plugged into the output node, but all the ones that go through a Denoise are just black. While the compositor runs, I can see the files get created. It finishes creating all the outputted files before the denoise nodes finish running, as they are quite slow on 4k images. By the time the denoise finishes, the file output node has already run, and it does not run again. If I disable the denoise nodes, everything outputs just fine (but is, of course, noisy.)
I've tried turning off Two Pass in the compositor options, but it doesn't help. Is there any way to fix this? Is this a bug that I should report, or a limitation?
EDIT: It looks like this problem can happen when saving an image on its own. When you open the save file dialogue, it will trigger the compositor to run again. If you don't wait for it to finish running the denoise node before hitting save, your save file will be blank.


text:
What is meant exactly by 'Deformable Mesh Area'? (context: Was Reading when/when not to use triangles)
I have been learning basic modelling and texturing using Maya. I read many times to avoid using Tris and I can see why sometimes I get pinches or the edge flow breaks down.
But I was reading this thread: https://blenderartists.org/t/why-tris-are-bad/547399
The top answer says:

"Tris have their purpose and place. Those what blindly repeat never ever use tris probably can’t even tell you why.
They don’t deform well, can cause pinching artifacts, don’t play nice with subdivision surfaces, and kill the holy edge loop.
You can use tris. Just not on deformable areas and are best avoided on large planar areas as well. They work very well tucked away behind the ears though…"

It seems this guy knows what he is talking about and I understand that I should only use them in hidden areas. But what exactly does he mean by 'They don't deform well' and 'not in deformable areas'?
I googled it, it seems like any curved area is 'deformed' (https://catlikecoding.com/unity/tutorials/mesh-deformation/#:~:text=The%20mesh%20is%20deformed%20because%20a%20force%20is,entire%20object%20would%20move%20without%20changing%20its%20shape.). But is the answerer meaning deforming as in animation or live movement?

What is 'live movement'? Deforming here means animation. If your object is static and you don't use subdivs your can use triangles without issues. In some cases even animated geometry is triangulated (for low-polygon models for games, manually)

Perhaps this answer is a duplicate and a) giving you a link to better site to ask b) answers your question

"Deformed," in the context of 3D modelling and animation, means that it has a different shape than it originally did.  What's "original"?  That depends on the context.  Most often, it means that it has a different shape than the final shape the modeller gave it-- that is, yes, it's about animation (which is live/dynamic movement)-- but a modeller might say, during the process of creating that final shape, that he or she is deforming the model from a shape it had yesterday, an hour ago, or a second ago.  What's a different shape?  It means that one or more edges have changed their length (but not all of them uniformly, that would be transformation) and/or that one or more face angles, the angle between two adjacent faces, has changed.
It is most often used in the context of "skeletal deformation" or "armature deformation", where you use an armature to deform the shape, but there are a lot of different tools with which you can deform a mesh.  The important distinction is between deformation and "transformation" or "static geometry", and more about those in a second.  It is frequently confused with "malformation", or ugly deformation, by those new to animation, but those are not the same-- deformation says nothing about how appealing the change in shape is, only that it is changed.  It's totally appropriate to say, "That's great deformation!", which is of course not something you would ever say about a human baby.
Let's give an example.  You have a robot model.  In real life terms, this robot has some bits that are rigid metal.  Without a massive amount of force, those individual bits are never going to change their individual shapes.  They may change their relationship to each other, but only rigidly.  They will never stretch or bend.  We can say that those bits are static geometry.  They do not deform.  They only ever transform.  (And in the context of the original question, we can safely triangulate this, because once we give it custom normals or a normal map to fix anything we dislike, those normals are never really going to change.)
The robot also has some rubber hoses connecting its limbs to its body.  Those hoses are going to smoothly bend and stretch to reach their targets.  In contrast to the metal bits, these hoses do deform.  (And here, their normals are going to be dynamically adjusted with that deformation, ultimately from all faces neighboring that sample's face, meaning tris and quads are going to give us different results.)

Think of an ocean surface, various sizes of waves.
where all verticles move (try it in blender with ocean modifier).
You don't get strange artifacts with simulating that with quads
Not even if you later to decide to subdivide it.
Clean topology makes life easier, but there can be exceptions to the quads rule.
In some cases a tris might bend better, depending on the shape you might need a quad to have some bending angle divinding it into 2 tris.


text:
Why when I join all the particles it destroys my model?
I try to join the converted particles, but the result is a mess. Where do I miss something?

What happened/have you done between screenshots 2 and 3?

check whether you applied rotation/scale....

Blunder,  between 2 and 3 I have selected some sugar cylinder and joined them, and the result explode my model. (I made the same thing with all the 754 object selected with the same result)

Chris I don’t understand your point?

It's because the converted particles are separate objects but they all share the same mesh data (multi-user objects). It's similar to linked objects. You cannot edit the mesh nor you can apply Location, Scale, etc.
So before you can join them all into one object you have to make them single-user objects. Select them all, then use menu Object > Relations > Make Single Object > Object & Data. After this, you can join them (Ctrl+J). You will end up with one object that has one mesh that has as many loose parts as you had particles before.
If you have a look at the statistics you will see that this increases the verts count and face count.

Thank you very much for your help, it is very clear and effective! And it works now!
Thank you agan ;-)


text:
How do I make emission pass through something like it is underneath a cloth?
I'm working on a project for a client, where they have a panther model with a tarp or cloth over his head.. they want the eyes to glow red from underneath the tarp, but I haven't been able to figure out a way to do it? I currently have the faces of the model's eyes set as an emission material, but haven't been able to get the cloth to allow light through it.. any help would be super awesome!

What you're asking for is called translucency. There's a Translucent BSDF available in Cycles (not to be confused with Transparent BSDF) which you can use in conjunction with other nodes. Here's a basic-as-it-gets setup where I'm simply mixing it with the default Principled BSDF:

You can find tons of other tutorials and guides about translucent cloth materials on Youtube as well as here.

Here's a comparison between using a Mix Shader (which is subtractive) vs using an Add Shader node with an HDRI environment, as per Allen Simpson's suggestion. It does look like using Add Shader results in a more natural look.
  Mix Shader and Add Shader results, respectively.

I have seen in the docs (a long time ago) that one of these shaders (and I believe it is translucent bsdf) is meant to be used with Add Shader, because the light is being ADDED from behind, and shouldn't subtract from the surface response.  It's worth testing this answer with an environment to make sure it's behaving properly

@AllenSimpson Thank you for the reminder. I added two comparison images and indeed it seems like Add Shader gives a more natural, brighter result.


text:
How can I do a triangle shape in Blender?
I want to do the shape below in Blender. I am a developer and I have no idea about Blender. I will be grateful if you can tell me the steps simply.
The shape I am trying to do:

The shape I have done:

I have tried to combine 4 squares to obtain it.
How can I trim the upper parts?

You should build that from 1 single mesh or use mirror modifier to get result to shape like that

Hello and welcome. Please use a title that reflects the content of the question. It should be succinct, unique and identifying, and summarize what the issue is so that users can at a glance broadly understand what your post is about before opening it. Use the [edit] link below your post and avoid any emojis salutations or extraneous text not essential to the question. Remember, your title is the first thing potential visitors will see, and will weight heavily on their decision to open your question, which will directly affect the number of answers you might get.

You can create a plane, inset with i:

Delete the face with X, rotate 90° on X, rotate 45° on Y:

Delete the bottom part, select the bottom edges and extrude down:

Extrude on Y with E:

I think from all the answers posted here yours and mine are the only ones that have a right angle on the top corner, as it looks to be in the original... and yours is the easiest way to build this. Voted up.

thanks, yes it looks like there are a lot of ways to do it  ^^

2D Curves are very useful for creating mitered corners in a profile of even thickness. You can construct this arch from just 3 points, and it remains adjustable, by moving them around.
Working in the XY plane, with Transform Pivot set to 'Median'..

Create a Bezier Curve
Edit Mode, Right-Click menu, subdivide it once.
Select the 3 vertices, hit V. set their type to 'Vector'
Select the left 2 vertices, and SX0 straighten them parallel to Y
Drag the other vertex roughly where you want the tip of the arch. Doesn't really matter yet.
In the curve's 'Data' tab > 'Shape' panel, set its type to 2D. In the 'Geometry' panel, give the curve an extrusion to the depth of your arch:

(The blue version is just a rotated copy to show you the extrusion.)
You're almost done.

(left) Give the curve a Solidify modifier, set to 'Complex' and 'Even'
(middle) Give the curve a Mirror modifier, across X, with 'Bisect' and possibly 'Flip'  in X, too. You'll see..

You can now adjust the shape, depth, and thickness of your arch as much as you like, without reworking joints, etc. At any point, you can convert the curve to a mesh.

This should be the accepted answer - it's the only method of the ones given so far that ensures a consistent thickness between the "side" and "roof" segments.

@DarrelHoffman Although the original image in the question doesn't look like it has a consistent thickness. So whilst this is a great answer, it doesn't necessarily make it more "acceptable".

@MrWhite Hmm, fair enough - I was looking at the OP's first attempt, and that was at least trying to use equal thickness...

my only additional question is, why are there 5 answers to such a simple question

@MikoCG the only reason I chucked one in was because the uneven thickness was making me all twitchy :) But for all I know, it doesn't make the OP twitchy at all :)

STEP 1

STEP 2

extrude and apply the mirror modifier as shown in the second video

You should build that from 1 single mesh like this
Create 1 cube:

go to edit mode, take all vertices to the one side, scale it down a little to your needs like this:

use mirror modifier with axis value (in my case it is Y axis) and enable clipping:

move the top face upward, extend another face and shape it to your needs:

now for that last part, you can either use your eyes and try to make it look right or... pres G and G again to slide your edge, press alt while moving and you will be able to move toward the middle like this:

(sorry I cant take picture while holding alt...), but you just slide it to the top and clipping will connect it... remove the extra face at the top and merge vertices

Can't take a picture while holding Alt? I press Alt with my left index finger and take a screenshot with my right index finger...  :D

I use windows key+shift+S for selected screenshot and it doesn't work while holding alt it seems :D

Oh, I see.... didn't think of that.

@MikoCG Open Snip & Sketch and the dropdown arrow in the top left lets you take a screenshot after 3 or 10 seconds.  I use it a lot to take screenshots mid-operation or several clicks deep in a menu.

As you can see, there are many ways to construct this object. Here is another way.

Add a Cube object to your scene. Go into front view for example by hitting Numpad 1 and rotate it by 45°: Press R > 45 > Enter. Or in any other view after hitting R, press Y first to constrain the rotation to the X axis. Now select the two bottom faces.

Next press Alt+E > Extrude Individual Faces, drag them as far out as needed and then Enter or LMB to confirm the extrusion.

Now use the Knife Tool by pressing K to cut the extruded regions. Press C for angle constraint to get a straight horizontal cut and Z to enable cut through the backside as well. You can see in the status bar if the options are enabled. You can start by snapping the knife to the left or right corner vertex, if it is snapped to it the square green symbol gets a red border line. Then move to the the other corner, left-click to place the cut, then Return to confirm cutting.

After cutting, select the bottom edges and press X > Delete > Vertices. Select the now open edges and close them by filling in faces with F. The new faces should be selected after being created.

With the new bottom faces selected, hit E to simply extrude them downwards as far as it is necessary. And you're done.

Draw your shape, put it up as a background image.
Take a square turn it 90⁰, edge on camera. Turn on mirror modifier.
Extrude from face of square along shape of triangle. Mirror modifier should fill in other half for you.
There's 10s of ways to do it though. Even your model there, the first one...delete the faces of the ends where it overlaps. Join them together with a merge edge loop or just merge vertices. Drag that joint to the shape you want, throwing in edge loops where you can't get the shape exact.


text:
Subdivision Surface on Cylinder
I'm trying to subdivide this cylinder to give it more definition:

And to look as close as possible to this:

(To achieve this I first applied the Subdivision modifier and then moved the edges on position)
But when I try to Crease the selected edges (first image) to make them sharper, they are distorted like this causing a shading issue that doesn't look good on outer faces of the cylinder

What is the best way to do this without having to move the edges manually?

Hi :). You're gonna need more geometry, to support these details. In this case perhaps a hardsurface workflow with bevel modifier might be more appropriate.

If you can afford a bit more vertices, like 32 vertex cylinder, you can try this topology:

It's easier with 64 vertex cylinder:

I think that's the best option I have.
I was trying to create a high poly version but I encountered a lot of problems with the bake, I guess the low poly version have too few polygons than necessary.

yes I guess sometimes you have no other choice but increase the topology a bit


text:
My textures are stretched when attempting to apply a texture to a certain part of the model

Please help me, I am simple trying to texture this model. The textures are all stretched out and look awfully glitchy. I am wondering if I am modelling incorrectly as I have seen other people not run into this problem.

Have you unwrapped the UVs with any edges marked as seams? Have you tried Smart UV Project?

Welcome to blender stack !
the problem is with your uv . its not unwrapped in a correct way
did you use seams in the correct location ?? maybe you left out some plcaes if you haven't used any seam then this tutorial will help you for sure >>>>
https://www.youtube.com/watch?v=scPSP_U858k&list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&index=6
or just select the area where the texture isn't correct in edit mode and press u and click on unwrap,it may help . Or send me the blend files i could surely help you out .


text:
How can I grab or extrude an edge at an existing, arbitrary angle?
Let's say I have a little tent shape, like this:

I've decided I want the bottom segment to follow the diagonal angle of the top segment instead of being vertical. I could grab the bottom four vertices and move them along the X-axis like so:

I could also delete these vertices, and select those above them then grab or extrude along the angle. The problem is, I don't know how to do that! How can I lock the grab/extrusion to continue on along the angle of the tent?

There's a way to do it with custom orientation and scale on the 3D cursor, but it's a bit tedious, so the simplest way to get the same thing it is to delete the bottom vertices, and slide the face with GG and C to extend. You can snap on the grid (with the Absolute Grid Snap option enabled):

Then at the end add the edge loop where it is supposed to be
Or as pointed out by Marty Fouts, choose Normal orientation in the Transform Orientations panel and move along the good axis.
Or create a custom orientation on the face (the "+" button in the Transform Orientations panel) and extrude along the right axis, this way you keep the edge where it originally is:

One nice thing I've noticed.. GG snaps now. I'm sure it used to take no notice of snapping?

yes it's new since 2.8 or 2.9

You're right I'm going to specify that

A sometimes better way is to change the space to Normal and then extrude along the Z axis.

Oh yes you're right, I didn't realize it was possible. Edit: Actually it doesn't work for an extrusion as it will loose the face axis, so it works like a slide.

I've chosen this as the anwer---thank you for your help!

you're welcome, there may be another way but it doesn't come to my mind for the moment  ;)


text:
Fast motion cloth-simulation problem
Strange things happen to the dress when you move quickly or turn around.
Here's a video with the problem: https://www.dropbox.com/s/931fat4jpegahg3/wSdLfVG3Kq.mp4?dl=0
Cloth simulation settings:

Collision settings:

For all objects: scale = 1; position and rotation = 0.
Can anyone please help me with this problem, because I have no idea what I should do to fix it?

Try increasing the collision distance on the cloth simulation, it helps with clipping, but it also makes it "float" around the object if you add too much


text:
Where did the 'adaptive' check go in the subsurface modifier from 2.80, in 2.81?
Where did the 'adaptive' check go in the subsurface modifier from 2.80, in 2.81?

Looks like you haven't set the Feature Set to Experimental in the Render Properties.

sorry, I'm new. I don't understand your answer.

The adaptive subdivision feature is only available when you use the Cycles render engine and set the Feature Set to Experimental in the Render Properties.

Once the experimental feature set is enabled you will see the additional panel for the subdivision settings in the render properties and the subdivision surface modifier will have the options as shown in your screenshot.

Thank you so much. I don't ask enough questions here, so I can't upvote your answer. :(

@Shakaama If my answer solved your problem you can mark it as accepted by clicking on the checkmark next to it.


text:
Having changed the scene units and unit scale, how can I change the default size of new objects?
I am using blender most of the time to model things for my 3d printer. So a default unit in "meters" is not really helpful!
Within the scene settings it is simply possible to set the units to millimeter and the unit scael to 0.001 so everything seems to work as I want it to work...
But if I add a new primitive it uses its old default sizes in meters... so a new cube get's 2000 x 2000 millimeters instead of 2x2 or whatever will be useful..  Same for all other new objects...
How can I change the default sizes of new objects permanently?
And how can I change the settings in the application templates? Right now using ctrl+u changes the "general" template - perhaps because I loaded it before...
Thanks a lot and best regards
Stefan

Ok... I just figured it out by myself...
The scale of new objects is related to the scale of the grid within the "overlays" section if the 3d viewport... If I change the scale in there from 1 to 0.01 all new objects get 100 times smaller than originally which is quite the scale I can perfectly work with: new cubes have 20 x 20mm now...
I do not understand why the setting is located at that place but it works as I want it to work...

This doesn't work for me on 2.9.  If I set the Grid scale to .1 or .001 it doesn't matter.  I'll still always get a 2mm cube (or anything else I add to the scene).


text:
Eevee renders in gray and workbench renders in colors
About render engines, when using Workbench, the rendered image is colorful. But when using Eevee, the rendered image is gray.
Why?

Workbench render:

Eevee render

Did you just set for Viewport Render Color in your mesh?

That is not how EEVEE and cycles retrieve color. They have nothing to do with final render in both render engine. It just change your viewport color which is faster and simple for easy render task. Instead of that one, you should assign a material to your mesh, and change the color of that shader (principled shader perhaps?). Then you will get the color in EEVEE and cycles.

Exactly! I am new to Blender, so each small detail now is important. Thanks!


text:
Turn off the headers for the rendered window
I am using python script to render the image. I only want to show the IMAGE_EDITOR area( I think the rendered image gets shown in IMAGE_EDITOR area). It should show only the rendered image.
So basically I am trying to do 2 things here

Render the image
Show only the area with the image.

I hope I am clear on this. I tried to render image by -
for area in bpy.context.screen.areas:
    if area.type == 'INFO':
        override = bpy.context.copy()
        override['area'] = area
        bpy.ops.render.render(override, use_viewport=True)
        break

But it doesn't work.
EDIT: So as iKlsR told, I used a differnt display mode. I am able to get the whole rendered image using
bpy.data.scenes["Scene"].render.display_mode = 'FULL'
for area in bpy.context.screen.areas:
    if area.type == 'INFO':
        override = bpy.context.copy()
        override['area'] = area
        bpy.ops.render.view_show('INVOKE_DEFAULT')
        bpy.ops.render.render(override, use_viewport=True)
        break

However, I need just the rendered area. Not the headers . How can I make them turn off?

In regards to your edit. I'm not sure how to entirely disable headers. There is a screen layout called 3d view full that does this somehow for the 3d viewport, you could investigate from there.

If I understand what you are asking, you can get the same results by choosing New Window or Fullscreen in the Render panel under the Display drop-down list.
Choosing New Window will give you a tad bit more screen estate by not having the Info header. Hover over the list with the current selection for the python equivalent if you want to use it in a script.

Awesome, Thanks.
Here, I did bpy.data.scenes["Scene"].render.display_mode = 'WINDOW'. But when I did bpy.ops.render.render(use_viewport=True) nothing happens.

@iamkhush Looking at the docs, I am not sure what is supposed to happen.

Yeah, I also tried bpy.ops.render.view_show(), but still it isnt working. I used the --debug-all. I think its not able to set the screen with the rendered output.


text:
How do I enable custom gizmo display when I move?
I am currently working on a custom gizmo for my add-on. I have a function to move the object (transform.translate). At this point my gizmo disappears and a normal trajectory line appears. How do I enable gizmo display when I move?  use_draw_modal = True is not working. I'm using GIZMO_GT_arrow_3d

So this is a bit of a strange answer but having tested it there seems to be some other mechanism at play that I'm still looking into, but so you aren't chasing an answer in the wrong place, I'll share what I have found.
The gizmos don't appear to show themselves during the operation, they seem to be replaced by an operator specific gizmo until after the refresh is called.
For example, using the GIZMO_GT_arraw_3d against the transform.rotate operator replaces the arrow with a dial, as shown by this code:
def setup(self, context):
    # Run an operator using the dial gizmo
    ob = context.object
    mpr = self.gizmos.new("GIZMO_GT_arrow_3d")
    props = mpr.target_set_operator("transform.rotate")

So your gizmo is only your gizmo while nothing is happening.  This seems strange and is perhaps intended behaviour, but without some serious documentation to go by this is the most I could uncover.  I need to look into how gizmos and operators are linked.
Having played around some more, it appears that this behaviour only happens when you use target_set_operator, this doesn't happen with target_set_prop
There is another option here, which is to define a pair of callbacks for the gizmo by calling its target_set_handler method and telling it how to get and set the "offset" proerty of the GIZMO_GT_arrow_3d gizmo:
def setup(self, context):

    arrow = self.gizmos.new("GIZMO_GT_arrow_3d")

    def move_get_x():
        return context.object.location.x

    def move_set_x(value):
        context.object.location.x = value

    arrow.target_set_handler("offset", get=move_get_x, set=move_set_x)

    arrow.matrix_basis = context.object.matrix_world.normalized()

    self.x_gizmo = arrow

def refresh(self, context):
    self.x_gizmo.matrix_basis = context.object.matrix_world.normalized()

This example demonstrates how to use a vertical arrow to modify the x location, you obvious want to do something more sensible but this can be modified easily by changing the move_get_x and move_set_x callbacks.

thank you, I'm counting on you)

@MaxDerksen I hope this answer is helpful, if so don't forget to accept so others are aware that this has been resolved.

thanks, the last part solves the problem, of course is to Tinker with it, but this is the same approach I think is correct.


text:
The zoom function with the mouse wheel sometimes zooms uncontrollably
I do not believe the reference question about zooming to a point and refusing to zoom further relates to what I experience.  When I open a file, one click either way on the mouse wheel zooms + or - approximately as much as one click on numpad+ or numpad-. After working with the file for a while, zooming with the mouse wheel is no longer useful: one click of the wheel changes the image from microscopic to huge or the reverse. Numpad+ and numpad- continue to respond properly. It is especially bothersome when I depress the mouse wheel to inspect an element in 3D mode. It is hard to depress the scroll wheel without rotating it a little.  Just a little rotation makes the selected element almost disappear or become huge.  I'm using Blender 2.72b.

I recently had this same problem in Blender 2.72 with no apparent answer. However, I found that by pressing Shift - C re-centered the Viewport and then I switched from User Perspective to User Ortho with NumPad 5, and everything returned to normal. I too experienced uncontrollable zooming that led to unquantifiable Location coordinates, but this method worked for me, I hope it solves your problem.


text:
Halo-created lens flares aren't rendering
I'm following the Noob to Pro: Halo Materials tutorial and failing to get a lens flare effect that is displayed in the tutorial.
Compare the before image with the after image

. There's no difference. The lens flare isn't being created and I've tried dozens of positions and fiddled pretty much every setting on the halo, removed the sun, added/removed lights, etc. I've gone to factory settings and re-done everything from scratch a couple of times now.
My computer is an Acer Aspire E1, I'm using Linux Mint 15, and have Intel's proprietary graphics installed. This is being attempted on blender version 2.75.
Blend File

Here is a link to the blend file - http://www.pasteall.org/blend/37342.

@MikePan I actually can't get it to work in 2.75, yet the same file works in 2.69.

I accidentally used 2.74 during the testing, now I can also confirm it does not work in 2.75. I think it's safe to say it's an unintended bug. Please report to https://developer.blender.org/


text:
Plane is not appearing as blue in render
As a beginner I seem to be having a lot of trouble.  Here are some other questions I have asked along the way but found that I have to start again.
This time, my plane is not appearing.  It appears in Object mode, it only appears to be the correct colour in Material view.
Any solutions? I am sure it's simple.
My file is here.

For some reason your object has shadow catcher and dupli faces selected. Both prevent it being displayed in render view.

Where Dupli Faces is a way of duplicating another object onto the faces of your object(via parenting) and Shadow Catcher will hide the mesh except for any shadows that fall onto it.

@rob - thanks so much for your help today!


text:
How to draw edges on a sphere to make parts that fit into each other
I am trying to make sphere shaped designs with moving parts like spaceship doors & windows for 3d printing. However, the doors/windows don't always follow the edges on the UV sphere.
Is there a way to "draw" edges on the surface of the sphere that I can use to cut certain shapes out of it? The best example I can think of are the classic flying saucer spaceships with the lowering door in older movies.
Below are my two objects: the sphere (orange) & the shape I want to trace about the surface of the sphere to eventually cut them into two separate meshes that can fit into each other.
NOTE : I have tried using the knife projection approach and the shape does not follow the curve of the sphere. (2nd image). The third animation is the closest example I can think of for my goal.

(source: gbtcdn.com)

you can cut edges with the knife tool or with the knife project tool, maybe check these tools and tell if this is what you're looking for?

I've used the knife tool, but I was looking for a way to draw a shape and then overlay it on the surface of the sphere. The knife tool doesn't give the clean curves I'm looking for.

the knife project tool is probably more convenient as you can prepare the shape before, see here https://www.youtube.com/watch?v=bR-hWPirFZQ , but maybe show some pictures of your project?

also it all depends on the topology of your object, you can delete some faces and scale down the edge to create your doors, having a clean topology will make the modeling easy

wow that link helped a lot! I'm going to test it out, as I need it to wrap around the different sides of the sphere.

@moonboots that didn't quite do it, as it's not following the full curvature of the sphere's surface.

please show a drawing of what you're trying to achieve, it will help to find a solution. Also, try to work with as few polygons as possible, your object is high-poly and it won't help to easily work on it

@moonboots this is the example I'm thinking of: https://www.google.com/url?sa=i&url=https%3A%2F%2Fgfycat.com%2Fequatoriallazybunny&psig=AOvVaw2WGzfNM96Y_B6Lt-WcGnOA&ust=1612323549605000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCPCktLWjyu4CFQAAAAAdAAAAABAJ

You work with too many polygons and you should think another way. If we try something like your last picture:

Create a UV sphere, stretch it on the Z axis, keep only 1/32 that you mirror on the X and Z axis:

Cut the hole with a knife:

Extrude inwards:

Use an Array in Object Offset mode to make the mesh rotate around an empty, work on the mesh as long as necessary before applying the Mirror and Array modifiers:

this helped, but I am really looking to put organic shapes and circles on the surface. That's why the original image had the curves. Drawing the circles on the surface isn't coming out even.


text:
I downloaded some kitbash assets to use in my mech project but for some reason they look dark grey and there are no materials in that object either
I downloaded some kitbash assets to use in my mech project but for some reason they look dark grey and there are no materials in that object either. The problem is it looks darker no matter what I do, even when I remove materials they are still darker. If I add a new material the material becomes darker too.


text:
Create a castle wall using modifiers?
I am trying to create a curved castle wall using the array and the curve modifier.
This works fine for a wall on a flat surface. I'd like to add some terrain by also changing the curve on the z-axis.

As depicted in the image above this seems to work fine. However the merlons (extended part on the wall) start to lean and follow the curve as well.
Question: Is there a way to restrain the deformation on the merlons? I would like to keep all the vertical lines vertical. (See handmade mesh below) Maybe anyone has an idea for a better workflow?

Should the merlons on a sloping hill look like stair steps to overcome the height difference?

Not necessarily. I would be happy with a wall that could follow soft hills and terrain differences. Similar to this photo of Yorks townwall https://ichef.bbci.co.uk/news/976/cpsprodpb/BC50/production/_95780284_gettyimages-126355224.jpg.webp For steep hills I guess I would model a specific mesh.

I think it's easier to use a flat curve and than displace the wall based on the terrain. The starting setup I would use has mesh object with an array modifier and curve modifier pointing to a 2D curve. Then we have the 3D terrain as a separate mesh:

Pick the castle wall object and add a node modifer. First thing we need to do is to "apply" the modifier stack to the geometry of the object, so we add the Realize Istances node:

Then we need to displace the geometry of the wall up above, so we add a "Set Position" node that has as input the position field:

The offset value can't be a single value, or the walls will go up all by the same amount. We should sample wall geometry points to find the nearest point of the surface and transfer the only the Z value (see the position field multiplied by 0,0,1).

Sampling node may introduce some imprecisions whit this simple setup. You can achive better results by taking into accounts only the projection of the surface like this:

Finish by adding another node setup to check for faces that looks up (normal = 0,0,1) and scale them by zero on the Z axis

Final result:

Thank you for the detailed answer. I will give this a try!


text:
Dramatic changes in performance depending on selection
I am working with a very large scene with a lot of poorly optimized objects (from sketchup.) I am trying to optimize my settings so that I can properly navigate the file to make necessary material changes, etc. I have done the usual things like turning off outline selected, and have achieved fairly good performance. However, there is a big problem.
My current setup is that various objects are broken down into 3 Layers, and each is the child of an empty to help organize them.
Normally, I can fly around the scene just fine without any performance impact. But as soon as I select any object other than the camera, my performance completely tanks! It takes 5-10 seconds to respond to any clicks or commands. This makes it almost impossible to select objects and change their materials, add them to groups, etc.
I am trying to understand why my performance can normally be okay, but then goes to nothing when interacting with objects.
I do not think I can share the specific file as it belongs to a client and cannot be freely distributed (and is 400+mb).
Any ideas what could be going on?
UPDATE: I can add new objects to the scene and select them without any performance impact.

Are you saying the selection action itself takes a long time? If so, try setting File > User Preferences > System > Selection to 'Occlusion Query'.
Also, try disabling Double Sided under the Mesh property panel? Some GPUs really don't like that.

@MikePan Already had Occlusion Query on. And no Double Sided in the scene at all.

Any part of the scene you're not working on at the moment you should either move to another layer, hide, mask, or set the Maximum Draw Type to "Bounds".

The problems turns out to be an Addon I had enabled. Specifically, AutoRigPro. Disabling this addon removes all performance issues, regardless of what I select. I do not know why this was causing it, and I have not been able to reproduce the problem in other large complex files, so it may have to do with the interactions of several addons. So this problem may not even really be specific to this addon, but to the interactions of several addons.
I discovered this was the cause by disabling all addons temporarily, as described here: Temporarily disable all addons
UPDATE: I talked to the maker of the Addon and we got it fixed. No more problems.

Blender selection drawing method is notoriously slow. This well known among the devs and a known limitation of the current system.
Basically highlighting the selection outline doubles the required processing power of regular viewport drawing, yielding almost half the FPS.
Unless you plan on rewritting a whole viewport rendering engine code youself, or a new OpenGL realtime renderer there is not much one can do at the moment, as far as I know, other than await the 2.8 release and its modernized real time rendering based on EEVEE engine.
One possible workaround for the time being is turning off selection highlighting in the * 3D View Properties Region > Display > Outline Selected*, though it is not without its downsides. You won't really know what is currently selected or which is the active object while turned off.

I already have it turned off, as stated in the original question. Having it on does not seem to make a huge difference. When I am selecting a new object, the scene performance is fine. When I select anything else, it tanks.

Ah sorry missed that detail. There is not much more I can say I'm afraid. Try turning off any particles, duplis or other features that add large counts of independent objectd to a scene, those are generally the worst offenders for slow selections

I'm afraid I don't have any particles or duplis, just a large amount of unique objects. I wouldn't be confused if it was always slow, but I am befuddled because it is only slow when I have one of the imported objects selected. I can add new objects no problem! Thank you for the answer.


text:
Measure or log eevee compile times?
I am trying to troubleshoot some compile times on a complex setup. In order to do this properly, I need to be able to check how long it takes Eevee to compile in various different configurations (you can delete your shader cache to make it start from nothing). Is there any sort of debugging in the console or something I can turn on to get told exactly when compilation starts and stops?
I am aware that you can mouse over the compile bar and see the time. But you've got to keep your mouse over it, and it frequently freezes so I'm not sure if its even accurate.
Whatever info is being displayed when mousing over the compile bar must be accessible in some form?

If you run Blender from a command line, you can add a range of debug or log options as described in the manual.
The problem with this approach is that the specific timestamps you want may not be part of the available logging and debugging messages; but more importantly, turning them on may change the timings in ways that invalidate the results.
The usual technique for checking times like you want requires modifying the source code and inserting specific timing calls, that accumulate data and only report results at the end; or running Blender under a profiler and analyzing the results of the profiler.
Both of these approaches require recompiling and running in program debug and development environments.


text:
creating convex lens but focal length is not accurate
I made the biconvex lens with the following parameters:
focal length=30 mm
R1=30.4 mm
R2=-30.4 mm
lens diameter=19.1 mm
center thickness=3.1 mm
environment IOR=1
lens IOR=1.515
I set up a 2f optical system But the result is not correct, the focal length differs from the theoretical value by 1.5 times:

Hello :). We're Blender enthusiasts here, not optical engineers. What exactly is your question? What have you tried to solve the problem? You can also add the material setup and the file https://pasteall.org/blend/

The camera already has a lens on it. Have you accounted for this?


text:
Why is the model being all glitchy after i open it?
This thing looks like it came straight out of hell, i don't know what is going on with Rain's model on the viewport, a glitchy black color appears on the mesh, and then when i try to orbit or move to another place on the 3D canvas, it looks like the black thing don't actually update, i mean, it moves along with the mesh, but it just stays in the same place related to my screen, as if i enabled some onion skin mode in blender's preferences

Either blenders broken or your gpu might be

I upvoted this question partially because of how funny it was, but to the point does this happen with any of your other models?

Is this the rendered view/shading view? If Yes, then this is a common problem for AMD/Radeon Graphic cards, and this can be avoided by checking High Quality Normals in RenderSettings>Performance


text:
Why am I getting artifacts around the edge of a mesh I'm texture baking?
I’m trying to bake a high poly branch into a plane. I’m getting these weird artifacts around the edges of the mesh. Why am I getting this? Are there any ways to fix this?

hello; ùaybe share your file so that we can test. You could rework the image with an image editor or directly in Blender, with a Clone brush, but it's better to understand where this artifacts come from...

I found a solution to my problem. I set the Margin to 0 px. Blender generates additional pixels for seamless bakes which I didn't need.

yes that's it, I've just found out as well  ;)


text:
Making top and bottom sides of bandage
How should i create top and bottom sides?
Add rolled up texture or do it with mesh?

It depends on the level of detail you wish to accomplish. If it is a minor prop for a game a texture map on a cilider will do just fine.
Otherwise I would sculpt the general form the bandage starting with a cilinder and multires. Then do a Uv unwrap and create pattern on the side by applying a displacement map and the top by sculpting using a texture. When finished  a normal map can be generated if disired


text:
Remove doubles isn't removing overlapping vertices
As you can see, I have vertices on top of vertices, I'm trying to delete them using delete doubles but it says there are 0. But they're clearly overlapping perfectly. I set my merge distance to 0 but they still wont delete. I'd rather not manually delete all of them so if you guys could point out what I've done wrong please help.

Threshold at 0 effectively turns off any effect of the Remove Doubles operator. It should be set to something higher than default 0,001

I didn't realize you needed to select vertices for remove doubles to have an effect. To remove doubles on the whole model, select everything with A first (you may need to press it twice if you have anything selected beforehand).

Thanks for taking the time to share. I've taken the liberty of editing your answer to add some additional information. If you don't agree with my edits, please feel free to roll them back and/or edit some more.


text:
What are Geometry Nodes Attributes?
Precisely what are attributes in the context of geometry nodes?
I have been able to find little to no documentation and/or community info on this subject.
Explaining or linking to an in-depth explanation would be appreciated.

I did a tutorial on that: https://www.youtube.com/watch?v=YudUfp0N2QU

There isn't much documentation on it because they aren't done developing them yet

I am aware that there is no documentation on the geometry nodes' aspect of it, but attributes, in general, appear to have existed for a long time in shaders see attribute node. I assume that the terminology is the same, and most likely the underlying backend as well.

Every point referenced in an object has an attribute, whether that is vertexes or points generated using a point distribute node. An attribute stores a bit of information of every one of these points. This could be a points scale, location or rotation. It could also be a user generated value such as a vertex group. Think of them as variables for every point in an object.

the attributes are to control particles you can use them to change particles scale, rotation, etc...
I have a tutorial you can watch here: https://youtu.be/YudUfp0N2QU

Hi, what exactly is happening in the gif? The nodes are unreadable.. It would be very useful if you would [edit] and add an explanation.

I added the node setup and a link to a tutorial that shows a bit how the geometry nodes work.


text:
Where is the 'Viewport Color' node in Animation Nodes 2.1.4?
I cannot seem to find the viewport color node in AN 2.1.4. Eventhough the documentation still mentions it..
https://animation-nodes-manual.readthedocs.io/en/latest/user_guide/nodes/material/viewport_color.html

Viewport Node is available for Animation nodes (in blender 2.79) in the search menu. To find, press Ctrl+A then search for "Viewport Color"

Thank you for your answer. I should have mentioned that I'm using 2.8.


text:
Assign Values of Control Point's Handle on a Curve using Python
I am interested in a script that could reassign the Z values of the control point handles in this curve to 0. Are these variables accessible to change via Python? Seems simple enough but my coding skillset is limited. Any help is appreciated.

Following the link by batFINGER I attempted the following. My own simplistic coding knowledge is a limit here, unfortunately. Running the following does not produce errors but does nothing as well. If I move my last "for" statement outside of the "def", I get an "AssertionError" with line 17 and 45. (Note, I said 0 in original question but probably want "1" and "-1"? I just want the control point handles to align with the Z axis)
import bpy
import mathutils.geometry

# The parameters can be found by taking the coordinate and
# right handle of a point, and the coordinate and
# left handle of the next point in the Bezier points array.
# For cyclic curves the last point and the first point in the array
# form an extra segment.

selected = bpy.context.selected_objects

def printInterpolatedCurveSegmentPoints(existingCurveObj):

    spline = existingCurveObj.data.splines[0]
    numSegments = len(spline.bezier_points)
    assert(numSegments >= 2)

    r = spline.resolution_u
    if spline.use_cyclic_u:
        numSegments += 1

    points = []
    for i in range(numSegments):
        nextIdx = (i + 1) % numSegments

        knot1 = spline.bezier_points[i].co
        handle1 = spline.bezier_points[i].handle_right
        handle1.pointVec[2] = 1
        handle2 = spline.bezier_points[nextIdx].handle_left
        handle2.pointVec[2] = 1
        knot2 = spline.bezier_points[nextIdx].co

        _points = mathutils.geometry.interpolate_bezier(knot1, handle1, handle2, knot2, r)
        points.extend(_points)

    assert('3D' == existingCurveObj.data.dimensions)
    for pointVec in points:
        print("Point X:", pointVec[0])
        print("Point Y:", pointVec[1])
        print("Point Z:", pointVec[2])
        print()

    for obj in selected:
        printInterpolatedCurveSegmentPoints(obj)

Image of the problem. I have a mesh that I'm getting a set of outer vertices from. I have an Array and Curve modifier which allows my object to follow the curve. I want this wall to be vertical - not follow the Tilt of the inner arm of the Control Points - not sure the correct term. Maybe if I reassign the Face Normals before creating the Curve from the mesh, the points would align with the Z axis?

This is image of the direction I would like the Tilt -

https://blender.stackexchange.com/questions/48924/how-to-access-coordinates-of-bezier-curve-control-point-handles

Appreciate the link. I had experimented with that but mostly due to my own limited knowledge could not fully apply it. When I run my edits to that, nothing happens. I added a few lines to assign the pointVec on the 2 handles. I even tried without my edits. I'm sure a bit of it has to do with how I am trying to alter my selected object.

It also seems that the above script will be handling the Bezier points and not the Control Points of the curve. Maybe "control vertices" is the correct term for the Tilt arms. I'm just trying to auto place an object with an array and curve and unfortunately, the object follows the Curve Tilt.

https://blender.stackexchange.com/questions/191933/how-can-i-get-position-and-type-of-handle-in-bezier-curve   https://blender.stackexchange.com/questions/117062/fcurve-handles-to-3d-b%c3%a9zier-spline-control-points

batFINGER - I'm sure I'm just not using the correct verbage here. I am not trying to alter the Bezier handles. I need an object to follow a curve but always be placed in line with the Z axis. This curve originally comes for the outer vertices of a mesh. So, maybe before I convert it to a curve, I can have the face normals be vertical and the Control Points (Tilt axis) will be in line with the Z? I am posting an image above to show the issue.

Could you please edit question to make images inline again.  Think you have an XY Problem   AFAIK the handles represent the tangent (or derivative) of the incoming spline segments to the point.  Can't really set them orthogonal to the direction of curve. Possibly you are after the tilt. Select a control point in edit mode and N to see the setting.

Yes - well, may have been easier to show issue and say "How can this be solved?" as my original question was truly not truly what I wanted answered. (haha) My solution is going to be creating a second set of vertices and extruding them -Z and then using that as the mesh. After mesh to curve - it does what I want. I struggle with this BB interface to add images correctly to an Edit. Oh well, appreciate you helping me get to the answer I needed - even if it wasn't where I started.


text:
When I go to the Node Editor to look at my object's material I can't find any nodes
Whenever I open up Blender the material of the cube is already added and when I go to node editor I can't find any nodes. How can I make it so that my objects don't automatically get a material when I open Blender and I can see the nodes?

Possibly Related

Do you remember to switch to the cycles renderer? Also if material is created in Blender Internal, you will have to click on "use nodes" in the bottom of the node editor with the object selected

The cube you find when you start Blender has a default material called "Material". Check the "use nodes" checkbox to see them.


text:
Link obj files into blender?
I normally use Octane render, both standalone and plugin version for Sketchup. I'm not at all an hardcore user. I'm trying out Blender in my freetime, just for fun.
When I use the standalone version of Octane, I normally export my sketchup model as obj, and link this file into Octane Render, with it's own node. When I make changes in Sketchup (or Gravity Sketch) I export again as obj and simply press a reload icon in Octane, and the model is updated.
I can't figure out how to do this in Blender. I have only found out how to import, but not link / refresh geometry.
Is it not possible or am I'm looking in the wrong part of Blender?

You can't do this with Blender and OBJ files. Using Alembic files referencing geometry is possible.

Hi dr. sybren
I guess that requires that Sketchup exports ABC files?
Skechup is at bit limited regarding export formats.
The supported formats are 3ds, fbx, dwg, dwf, dae, fbx, ifc.
I hoped that there was an easy workflow between Sketchup and Blender, like there is between Sketchup and Octane - but there is a lag of tools octane, as it's only a render program.
I know that we could do all in Blender, model, render and animate. But it's not realistic, as all my colleagues are using Sketchup, and they find anything else than Sketchup to complicated.
Jorgensen

Technically you could write an add-on that stores some custom properties with each imported object, to indicate which OBJ file the object came from and what the timestamp of the file was. Those could then be used to find the changed files, delete the objects in Blender, and re-import the files.

Thanks dr. Sybren. That's to complicated for me :-) I'll just play around then. And keep Sketchup / Octane render for work.

There's a paid addon for that https://gum.co/VdfWk which supports both obj and fbx:

Linker is an addon for Blender which provides a functionality to link fbx and obj files inside Blender. Whenever the source mode file is updated, it will automatically update inside blender scene as well. This solution was developed in order to meet the needs of colaborative work, and improve teamwork pipeline in various projects, including: game industry, commercial, movies and many other scenarios.

Links to answers are not answers, if the link goes down your answer becomes empty and meaningless. Either transcribe essential parts of the process here or post these as comments instead.

Yes, this is possible 1 of 2 ways:
1) Simple - When you import an obj file, you will get both an object, and a mesh - you can change which mesh the object is referencing.  So, importing Cube.obj you will have an object Cube referencing a mesh by the same name.  Importing the same obj file a second time, you will have an object Cube.001 referencing a mesh Cube.001.  You could then change the reference of the first object so that it is referencing the second imported mesh.
Below, I have the mesh selected, and can change which mesh is referenced:

2) A bit more work, but perhaps better in keeping your scene more organized.  Use a separate blend file for importing and changing which mesh an object is referencing, then using Linking to link the object to your scene.  How to update a linked object is nicely explained here.

doesn't answer the question. Linking means that blender itself imports the obj on opening the blend file. Your (1) states that the user has to import the obj every time it changed and take care of all references. Your (2) uses the same workflow for the separate blend-file (-> still no linking). Yes, linking works, but only between the blend files, not between blend and obj.

So it is possible, but the workflow is to cumbersome, compared to what I use now. So i guess that Blender will be the fun part in the freetime for now, and not move into my professional work as an architect.


text:
Weird vertices on subsurf modifier
I used edge loops, and then while cleaning up, I had to delete some vertices (dissolved) and then joined them again using faces. Now when i use subsurf modifier, when mesh looks weird. Fairly new and going through a tutorial to create a face model. If someone can point me in the right direction, will appreciate it.

Subsurf Off

Subsurf On

You have at least one NGon on your mesh (face with more than 4 vertex)

The problem is due to faces with more than 4 vertices as the subsurf can only work with triangles (3 vertices) and quads (4 vertices).
Faces with more than 4 vertices are known as 'ngons' (basically 'polygon' with with the 'poly' replaced with 'n' to represent any number (greater than 4) - I can see two towards the top-centre of your image and it is those that are causing the issue.
The solution is to adjust the geometry to replace those faces with tri and quad faces. The easiest way to achieve this would be to simply cut one of the corners off to a tri, leaving a quad.

Thanks, that helped solve my problem. Quick question though, to select all such non-manifolds, I pressed Ctrl-Shft-Alt-M. That gave me all the problematic edges/vertices, but also said that the open holes in the mesh as well as the central edge line on which the mesh is mirrored is also non-manifold, though it has no deformity at all and looks good after applying the subsurf. Is that normal?

@Ratan I think you’re confusing the meaning of non-manifold. The faces with more than 4 vertices are ngons, while ‘manifold’ refers to whether that mesh defines a single enclosed volume - two different things. The non-manifolds shortcut will select the unbound edges. To select the Ngons you can use a different function - Select Faces By Sides - which allows you to select all faces with more than a specified number of edges.

Oh ok, got it. I think I got confused as ngons and some of those non-manifolds were having the same messed up affect on my mesh after the subsurf. That explains it, thanks!


text:
Python change of bone rotation is not update when export .bvh file
I want to write a function using python to modify the rotation_euler a bone in a frame, the next bones in that frame and the next frame it will automatically update under this change.
Can anyone give me ideas?

the scrip is active.
""""""""""""""""""""""""""""""""""""""""""""""""
for f in range(sce.frame_start, sce.frame_end+1):
    sce.frame_set(f)
    if f == FrameNumber:
        keyFrame = context.scene.frame_current
        keyInterp = context.user_preferences.edit.keyframe_new_interpolation_type
        print('key interp: {}'.format(keyInterp))
        for pbone in ob.pose.bones:
            if pbone.name == BoneName:

                lastMode = pbone.rotation_mode
                pbone.rotation_mode = "XYZ"
                bpy.ops.object.mode_set(mode='POSE')
                pbone.bone.select = True
                pbone[pbone.name].rotation_euler.x = math.radians(ValueX)
                pbone[pbone.name].rotation_euler.y = math.radians(ValueY)
                pbone[pbone.name].rotation_euler.z = math.radians(ValueZ)

                bpy.context.scene.update()
                pbone.keyframe_insert(data_path="rotation_euler" ,frame=keyFrame)
                context.user_preferences.edit.keyframe_new_interpolation_type = keyInterp
                bpy.ops.object.mode_set(mode='OBJECT')
                pbone.rotation_mode = lastMode


text:
Python Control - Float with progressbar
I am trying to figure out how to program such control and a function called eveytime I change the value.

Thanks guys for any tips or link!

https://docs.blender.org/api/blender_python_api_current/bpy.props.html#update-example

Thanks batFINGER!
How do we get the progressbar effect on the prop control?

Can be done easily setting prop  from a modal timer operator. Example I have noticed a progress bar class in 2.8  (No idea how to use it, would be handy going forward)

Actually, I just had to declare slider=True on my layout.prop!

Possible Dupe then?


text:
How do I split the edges on all objects in a scene with a script?
I want to create a script that opens a blender file and splits the edges of all objects in it, perhaps ignoring those that are specified as smooth.
This is for a custom renderer that takes in blend files but interpolates ALL mesh normals from its vertices, which makes it difficult to have walls when they have a volume (i.e. their vertex normals don't match any of their faces).
It should be pretty straightforward, but blender's API comes off as strange to me, and I don't quite get the best way of doing things.
This is what I've got
import bpy
import sys

scene_file = sys.argv[sys.argv.index('--')+1]

bpy.ops.wm.open_mainfile(filepath=scene_file)
bpy.ops.object.select_all(action='DESELECT')

for i in bpy.data.objects:
    i.select = True
    bpy.ops.object.editmode_toggle()
    bpy.ops.mesh.edge_split()
    bpy.ops.object.editmode_toggle()

bpy.ops.wm.save_mainfile(filepath=scene_file[:-5]+'modded.blend')

I'm kind of trying to emulate the steps I'd take on the GUI, go through every object, get into edit mode, select all vertices/faces/edges, split edges, exit edit mode and continue. But it doesn't seem to do what I want (or anything in fact).
I've also seen the bmesh.ops.split_edges(bm, edges, verts, use_verts) operator, but it requires mesh, edges and vertices, which I don't know how to retrieve from the object.
Also, I may want to make all normals consistent before splitting them just in case.

Using bmesh.ops.split_edges(..)
Test script, object mode, for all unique meshes of all mesh objects in the scene, load a bmesh, split all edges, rewrite to mesh.  Need only pass edges of the bmesh to the operator.
import bpy
import bmesh
context = bpy.context
scene = context.scene

bm = bmesh.new()
meshes = set(o.data for o in scene.objects if o.type == 'MESH')
for me in meshes:
    bm.from_mesh(me)
    bmesh.ops.split_edges(bm, edges=bm.edges)
    bm.to_mesh(me)
    bm.clear()

bm.free()

On smooth shading AFAIK it is set on a per face basis. Using the methods outlined here Using python to set object shading to 'smooth' could make a flag to check if any, or in this case all the faces have smooth shading.
# check if all faces in bmesh are smooth
is_smooth = all(f.smooth for f in bm.faces)

Some notes on question code:
when using operators its far better to iterate over context.scene.objects or if pre selected context.selected_objects.  The collection bpy.data.objects is all objects in the blend whether linked to context scene any scene or no scene.  As well as being selected you also want to set the object to active, and select all geom before calling operator
mesh_objects = [o for o in context.scene.objects if o.type == 'MESH']
meshes = set(o.data for o in mesh_objects)
for ob in mesh_objects:
    if not meshes:
        break
    elif ob.data not in meshes:
        continue
    context.scene.objects.active = ob
    ob.select = True
    bpy.ops.object.editmode_toggle()
    bpy.ops.mesh.select_all(action='SELECT')
    bpy.ops.mesh.edge_split()
    bpy.ops.object.editmode_toggle()
    meshes.remove(ob.data)

Note that 100 objects in a scene could share one mesh, hence the logic above to avoid calling the operator on the same mesh 100 times.
No biggy, but as a generality, i is used for integer iterators.

The first script doesn't work. I'm running this from the terminal (blender -b -P thescript.py -- thefile.blend) and saving it to another blender file and it just doesn't modify anything. The second one is also wrong (me is not defined).

Ok, yeah, I didn't run it correctly the first time... Still, I didn't mean the comment in a bad way, no need to get jumpy


text:
Ambient occlusion from high to low poly
this is the first question that I post here, I want to know how the ambient occlusion bake works due to the work I did on these 2 models (high poly is still wip)
and this is the AO bake I managed to make

I'm a complete noob when it comes to creating textures through bake, how can I avoid all that problems and artifacts in bake? for example the grid in the center has completely black results whereas the middle plate of the grip has a good result

One cause of these artifacts may be hidden, but "set as to render", objects. If some of their faces might overlap to your active object during the baking.
Even your high poly object can cause this if you don't correctly enable the option "bake selected to active".

Example:

Low and highpoly

Object are in the same location, so faces overlap themeselves or are occluded

Image above is the baked with with the option disabled

This is if it is enable. You must select the highpoly, and THEN the lowpoly in order to get this result.
Someone asked for a moon? :-)

Yeah I checked the option selected to active and all useless objects in the scene, I was searching for a theory explanation of ambient occlusion because as I say I don't know a lot about baked textures, btw I joined all the objects of the high poly and the result is really good, I'm sooo happy :)

If you don't know "what" AO is you can give a look to this answer, if you would like to know in which way AO can be useful in computer graphics...well it will probably deserve a big and surely quite interisting answer...baking it is just tip of the iceberg

I want to know in details how get good ambient occlusion bake when baking from high poly to low poly, for transfer AO informations to low poly :) I know it is a big question, maybe an external link could be usefull according to stack exchange politics (I'm sorry for my english)


text:
Issues with generating body normal map
first post!
I'm a student who is currently taking a 3D Modeling and Animation class for Blender, and for our final project we're doing the entire workflow for a character model (sculpting, retopo, texturing, weight paint, animation, etc). I've been working on my normal maps for the three objects in the mesh, but I've had an issue with the last mesh in particular.
For reference, we've been using the "Blender 2.91 Essential Training" tutorial series on LinkedinLearning for pretty much everything, including the map baking workflow.
After following the tutorials to the letter (and in previous attempts, I've experimented with the extrusion and max ray distance to see if it just wasn't baking enough of the depth), my normal map for the body is mostly blank with some areas of depth, but not really.

(source: redd.it)
Here are just some screenshots of my settings: I am using Blender 2.9.7 on Windows 10. If there's any other specs required, please let me know!
.Blend file with textures can be found here.

(source: redd.it)

(source: redd.it)
(I'm also using Cycles; Supported; GPU Compute; Open Shading Language)

(source: redd.it)

(source: redd.it)

(source: redd.it)
I'm hoping it's not a stupid solution, since my other normal maps have worked fine, but I appreciate any help! Thank y'all again!

Welcome! I tried to bake your body and here is the result I got:

The only thing that I changed is that I deleted all the empty material slots for the low poly body.
And I set the render sample value to 1 but that's just for the faster baking.
If you want to get rid of those yellowish-greenish parts from your bake you can start playing with the Extrusion and MRD values, but you can also separate your mesh parts apart from each other, like so:

If you do this you must move also the high poly version.


text:
Can't extend bezier curve without creating infinite loop curves
I'm trying to make some basic ribbon Bezier curve elements and I can't seem to extend without making infinite loops.

i am not sure what you mean, but you can click here on "cyclic" so your ribbon will have ends.

Thank you! I clicked it and it created a loop and then I unclicked it and my issue was gone. Thank you


text:
How to mix destructive and non-destructive modifiers to maintain vertex order for mesh-cache?
Say I have an instanced model (duplicated with alt+D) and I add a meshcache modifier with a .mdd or .pc2 file loading a different version of the model. Will this break the instancing and cause it to count as a different model for memory usage in rendering?
How about different shapekeys on instanced models?
How about modifiers that actually change the number of verts, like boolean or solidify?

This seems a bit of an odd question, why would it break?

I'm not sure. If it's the same object, but the vertices are re-ordered, is that still the same object? I'm pretty sure some modifiers break it, like boolean and solidify.

The question doesn't mention boolean-modifier - suggest to ask edit it to make it more spesific.

Good call. Updated it.

Duplicating mesh data won't change its vertex order, so to answer your first question - yes this is supported.
As for destructive modifiers (boolean, decimate, build... etc). These will change vertex count and order, not for the mesh-datablock, only within the modifier stack.
So destructive modifiers must be applied after Mesh-Cache modifier, for this to work as expected.


text:
Get Bendy Bone base curve to match bezier curve
I'm trying to get a bendy bone to match a 2 handled curve. The bendy bone setup is 3 bones: 1 bendy bone, and its head and tail bones. You can adjust the rotation of the head/tail in edit mode, and also adjust parameters like Ease In and Out to set the base pose of the bone. Here's a gif of manually adjusting a bone to match a bezier curve:

Here's the bezier curve. The left handle is 2 units from the control point on Y, and the right handle is 1 unit on X.

If we knew the relationship between the control point distances and the Ease In/Out values, then a script could snap the head/tail of the bone to a control point, and then align it with the handles, and then set some amount of Ease In/Out based on the distance to the handles to match the shape. But its not clear what the relationship between the values is. I used 2.58 and 1.34 to approximate it, but that's not exact (the base value being 1 in edit mode, and 0 in pose mode as they are added together.)
Anyone know what the proper math would be to convert these? Or is there some other way to accomplish this? I have a complex hair setup that's already based on curves, and I want to generate a bone strand for each bit. So its not practical to do by hand.

have you tried using a spline ik modifier? there you can edit the curve and the bones will follow.
orrr you can add drivers to the ease in/out values and control them with the bone's rotation

Spline IK will put a chain of multiple bones along a curve. I'm trying to have a single bendybone with multiple segments be along the curve. SplineIK won't do that.

i cant really think of anything else but to have the ease in and out values controlled by another bone. or maybe have an empty parented to one of the vertices and give the bone a damped track constraint with that empty set as target?

Found the answer from a BA thread asking the same question. I've tested this, and it works.
The length of each handle (hlength1 and hlength2 respectively) is based on the “ Ease In/Out ” properties, the length of the bone, and a magic-number factor (“0.5f * sqrt(2) * kappa”, where kappa = the handle length – apparently this formula allows “for near-perfect circles”). i.e.,
hlength1 = ease_in * length * 0.390464f hlength2 = ease_out * length * 0.390464f
From https://blenderartists.org/t/bendy-bone-that-matches-a-curve/1218163/13?u=oscalon, referencing https://code.blender.org/2016/05/an-in-depth-look-at-how-b-bones-work-including-details-of-the-new-bendy-bones/