text:
Can't Edit Quick Explode
I used the preset Quick Explode (Is it a preset?), and after a while, I wanted to change it so Quick Explode happened later on in the animation so I could animate before it (like you would on the dope sheet), but I couldn't find out how to. If anybody could help that would be AWESOME!
(P.S. I'm using cell fracture if that makes a difference)
Thank you for your time.

Quick explode adds both an Explode Modifier and Particle System to the active object. By default, the particle system will start and end on frame 1, causing the explosion to occur instantly.
To change this, go to particle system settings and change the start and end frames to the desired frame.


text:
How do I get just the surface of a complex object (with a lot of overlaps)?
I'm using Blender to create some procedural shapes by using textures and modifiers. Whith this process, I get a lot of overlapping, as some faces get though other faces and the normals are probably a mess.

Of course this object has A LOT of useless internal geometry that I would like to get rid of. My first thought was to use the Shrinkwrap modifier, but even with a lot of vertices it gets "stuck" in those "spikes" of the shape.
Any ideas?

Did you try the Voxel Remesher?

Perhaps ..........In Edit mode, Wireframe mode, Open the Select menu > Select All by Trait > and try the various options, Non Manifold, Loose geometry, or Interior faces?   Or select all and Mesh menu > clean Up< and maybe one of the options there may help? Don't forget to save a copy of your model to disk before trying any of those :)

source: Stack Exchange

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

sort: votes


text:
Bone rotation deforms mesh in weird way
I've made this tiger head rig, and started adding teeth. When I started to rig those teeth (as separate objects), I noticed they did not move with the head bone in a similar fashion. This was the case, however, until I noticed that the jaw/mouth itself was deforming when the head bone rotated, making the teeth not stay within the head. It does this for any direction.

^Every bone appears to be linked.

^Viewed straight-on appears normal.

^Rotating head makes it slack-jawed.

^Weight painting seems fine to me (but I'm very new). I also painted the teeth, but they don't deform strangely in the same way.
File Download

The jaw-lower bones are acting to deform its jaw.
I cleaned some weights in jaw and all works fine now.
See the image below, the bone selected and some cleaning in law:

This works! There were multiple bones with slight weight painting on that jaw. I just need to clean it up better.

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


text:
Making a complex animation be controlled by a simple value from 0 to 1
Basically, I wanna convert a set of keyframes (If possible) into a simple custom slider, for example, I want to turn a set of 80+ keyframes across bone transforms and shape keys into a single 0 to 1 slider. I don't know if that's even possible, but would be nice if it is.
Any help would be appreciated!

So after some time and tampering, I actually found out how to get this to work using drivers, No bones, none of that.
First I gave the object a custom property that was a float value that has a min of 0 and a max of 1, the name can be anything. I then would right-click the value and select Copy as New Driver. I would take that driver and apply it to any of my shape keys for my mesh, which could be a single key or multiple. Where this is different is I would instead right-click the driver and select Open Drivers Editor and change a few things, I would change the Type of driver from the default Averaged Value to Scripted Expression and within that expression, I would expand the value to something large or a pre define frame amount as I know some animations come from Unity or such. For now, I will set the value to NAME*600 for example, and the reason why we should do this is that the keys inside of the graph editor slide left and right at an increment of 1, so we need that space to add more keys in between. I would then add a start key and an end key from points 0 to 600 and just add a key between them for the animation I desire, after a bit of tweaking and editing, I have my own animation within a 0-1 slider where I could easily animate that 1 slider over everything to be able to reuse and easily manipulate a complex mesh.
Example:

The tool you're looking for is the "Action constraint", which has to be set on all bones you want to control, and then you will use a single channel transform of a new bone to drive the entire action, in a 0.0 - 1.0 fashion.
https://docs.blender.org/manual/en/latest/animation/constraints/relationship/action.html

I don't guess this applies to shape keys as well, does it? Only bones?

You should use bones to drive shape keys values, so that the animation is bone-related only (and this is a general good practice, so to edit everything into one single action), and then use action constraint to have the single-slider behaviour.

For bone transforms you can store 1 frame of animation data as a pose in a Pose Library https://docs.blender.org/manual/en/latest/animation/armatures/posing/editing/pose_library.html
For a complex animation, what you can do is save a pose asset for each stage of the animation, then when you want to play it you can simply move between each pose you saved.
This doesn't solve the problem of shape keys since they don't get stored in a pose asset, but that can be setup. What you can do is setup a separate bone that will be a Driver for the shape key https://docs.blender.org/manual/en/latest/animation/drivers/index.html
Right-click the value bar of the shape key and press "Add a driver". Set your amateur as the target object. Then there will appear a bone section, and you'll select the bone that you want to control the shape key's value with. Now you should be able to change the value of the shape key by moving/rotating/scaling the assigned bone in pose mode. Since the bone's transform will be saved in the Pose Library, your shape keys will now be saved too.

I get the entire concept of storing them all as drivers and such, but the issue is that most of these keyframes are all going onto mostly shape keys while bone transforms are also a thing for later on, main problem is that there are 20+ shape keys being controlled with almost all undulating back and forth between 1 and 0 to create a seamless transition and control which I don't think I could do that well with bones and drivers, that's my issue and wanted to pack my animation into 1 slider I could animate on top of it all.

I don't have a lot of experience with it but I think the NLA editor, short for NonLinear Animation can do what you're after. https://docs.blender.org/manual/en/latest/editors/nla/introduction.html You could pack your entire animation into a single Action, then place it on the NLA editor, then you can do animations on top of it.

This might take me a little to tamper with, I'll let you know if this is my resolution when I get something done.

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


text:
Where can I find answers to these Retargeting errors?

With models imported from both MakeHuman and iClone7, and with bvh files from any source, I get the errors listed in the attached png file. I am not a programmer (or that bright, just a hobbyist), so I don't know where to begin in order to resolve this.
Thank You in advance for any insights/suggestions.
Kevin K

Looks like a bug in the script, should probably be reported to the authors

I think you probably have not clicked the the armature you want to animate. Can you share the file?

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


text:
Unable to export sound and video into the same file
...I can get one or the other, but not both. I've used the Video Editing component to composite, with a sound track, and it plays fine in Blender, but I cannot get an actual A/V output file, in AVI or MPEG.
Help Please?!
Thank You.


text:
When i use texture paint, it doesn't show when i render it
So, I have UV unwrapped my model and made a texture for it and then started texturing the model, at first it appears textured when I render the image, but for some random reason after when I paint something it doesn't show anymore when I render it. Does anyone know why this is the case?
So this is something random,

And this is it rendered, as you can see the thing I drew isn't on the model. The thing is it worked before I saved the texture in a texture folder. This really confuses me since it used to work on this exact model, anyone knows why?

Make sure you're saving the texture you painted on before rendering

@MrZak yeah, it worked. Now I feel stupid. Thanks anyways


text:
Exporting to Unity as .blend
Currently, I'm trying to learn Blender and Unity together.  I have a very simple model with three animation actions for Idle, Walk and Run.  They are all using the fake user so that their data-blocks are saved.
This is my setup in Blender.  Run and Idle have the NLA and dopesheets setup similarly.

My issue is occurring when I attempt to import the animations into Unity.
If I save my .blend file with Walk as the currently selected action, and the end frame set to 24, the walk animation will be fine in Unity, but the Idle will stutter and the arms and legs of my character seem to be stuck in the first frame of my walk pose.

Alternatively, if I save my .blend file with Idle as the currently selected action and the end frame set to 35, the Idle animation will be fine but the Walk animation seems to only play half of its frames (results in an animation that resembles a playful skipping or hopping).

The Run animation is just as janky and unreliable.  I'm trying to work out just the transition between Idle and Walk before I add Run into the mix, so for now, let's just pretend it isn't there (even though it is).
Is there a way to fix this so that my workflow between Blender and Unity remains as fluid as possible?   Ideally, I would be able to save in Blender and immediately see the effects of my changes in Unity.  I don't know if that's possible, but if it is, please tell me how.  I would like to be able to make a lot of small tweaks and subtle changes to my animations as I learn this stuff.
Thanks for any help you can give.

I'm answering my own question since I seem to have figured it out.
My issue was in Unity.  On the base layer of my player controller, blending was set to Additive.  I changed this to Override, and my animations are now playing smoothly within the game.


text:
Navigation not working after upgrading to Blender 2.79 from 2.78
After recent upgrading 2.79 none of navigation controls are working properly, eg. instead of going through camera perspective with num 0 it opens a layer.
Same is with changing from perp to ortho with num 5. I tried resetting input to Blender and also tried loading factory defaults.


text:
Blender wont work and just stays white window
I have been at this for hours and have not found a solution. Manually switched sound settings to 44100hz and then doesn't show that error but still opens and just stays all white window. I have checked my opengl and is on 4.4. I have tried older versions still same issue. I have copy and pasted opengl32 into the blender foundation folder. Tried -noaudio same issue. Im trying out Blender to learn animations and still have not been able to begin to learn. I hope it is not a sign that it is not something for me. Thank you so much for helping me.

Looks like it is not initializing properly. Do any other versions work? If so report it as a bug. Also, that is black not white :)

Possible duplicate (Search is your friend) https://blender.stackexchange.com/questions/77857/error-al-lib-updatedeviceparams-failed-to-set-44100hz-got-48000hz-instead-wh/77896

Does the program open after that warning? Does it continue hanging on without loading up the interface? Please clarify "still opens and just stays all white window". Maybe related https://blender.stackexchange.com/questions/61765/latest-version-of-blender-opens-with-blank-screen

I have also this message since I use USB headset, but Blender works properly. Only with different sound setting than default. I don't thing this is a problem. I thing the problem is what happen after - with no error message.

have you tried uninstalling Blender and removing all config files?
They're found in %appdata%\Roaming\Blender Foundation\Blender*version number*\config.
I had your same problem and solved it by uninstalling and removing that folder, then reinstalling. Let me know!


text:
How do you rig a 3d scanned object?
I downloaded a model to rig (see below)

but I want it to look more like

So that it can be effectively rigged.

You need to do retopology, and if you want it to be animated think about making it guad based.

Also, imho that model is not thought (designed) to be animated, likely. So it will be difficult to get a decent deformation from its legs, eg. There's a reason if most models rigging starts (for bipeds) on T position...


text:
How to view and edit OSL built in closures?
I am aware that OSL has some built it closures like diffuse(N), absorption() and others. Is there any way I can edit those? I want to view them and maybe edit them.


text:
Can bevel do 45degree in edit mode?

I create Plane and adjust it to scale that I want.
Edit mode and extrude
I try to bevel 1 edge scale is correct but degree is fail.

So bevel can do the 45degree?

Some things you could try, go into object mode and apply the scale using Ctrl+A > [Scale], before doing the bevel operation, or if that doesn't work you could try using the bevel modifier with a vertex group including the two vertices that make up your edge.

Just select an edge, press CtrlB and adjust the bevel amount using the mouse.

Try this:
You make a cut slide and drag it to make it square like. Use the grid to see it.
Now Select the vertice and use bevel until it hits the borders.
See the image below for shortcuts.

Chose another Amount Type than Percent, because this is relative to the edge length. You will also need to adjust the value. Offset will do a 45 degree chamfer.


text:
The light is too dark even at a high value
I try to practice on rendering process, but lighting is not working.
I set up one light (Area Type), first picture I set light's strength to 10000 and its still dark.
Second picture I set light's strength to 1 and its still dark.
How can I solve this problem? So sorry if image too small

Is your lamp object renderable?

Hemi lamp is dark too.
Thanks for correcting the mistake. My english is so bad.

Try making an object your light. All you do is simply create an object with an emissive material.

Check the size of your models, try selecting all of them and scale them down and do the render again.

Note sure if you have already found the answer and resolved the issue...
I think it's something to do with the Blender unit settings. I have seen this issue if the Blender unit is set to MM (unit scale: 0.001) in the scene tab. In that case the emission value is equivalent to milliwatt (0.001W) - and you need to multiply the emission value with 1000 to get 1 watt. So, 100W would be 100000 in blender unit. Also, the size of the Area light also matters - larger size of area light with the same unit gets softer and less brighter.
Unfortunately I haven't able to find any information about the co-relation between scene scale and Blender emission unit anywhere so far - so this is my hypotheses - if anyone has any better and more accurate explanation I would be very happy to know.

Upvoted because this answered a similar issue I had.  Occurred when setting units to metric, scale .01, and cm.  Setting light power 100 times normal solved light problem.  However, in same blend file, setting units to none did not allow me to use normal power, because now all existing objects became 100 times too big, and the effect of this was addressed by cegaton above.


text:
Replace objects with correct rotaion
I have a shoe file with stitches. The default stitches in the obj file have high polygon count and thereby increasing my file size by alot. I have made a simpler stitch that i want to replace all the existing ones with.

The problem however is that every stitch had the same origion.
Ctrl+Alt+Shift+C > 'Origin to Geometry' aligns the origin but does not help with the rotation.
I am using 'link object data' (Ctrl+L) for replace. >
Initial stitches>

Final result>

Try rotating your smaller stitch object 90 degrees on which ever axis is out, then apply rotation.  (same operation would be selecting all verts in edit mode and rotate about origin).  Re link  mesh and check alignment. If they're up, choose app. axis next time.

Can you please elaborate. Its not clear. I want some way to not have to rotate every single stitch, instead to apply an action that aligns all.


text:
Need to produce two-faced three-vertex meshes
Need to recreate a unique effect where two triangles share same verts but are flipped. It produces a normal effect that creates vegetation that always manages to properly angle lighting towards the camera.
I'm not super familiar with Blenders tools so I'm not sure if there's a way to do this already but a lot of posts I found before state that this kind of thing is treated as a bug when right now its a desired effect.

Resulting effect when exported two-face meshes used (Right side, Left is without this effect)


text:
How do I export a blender game to be played within my website?
Basically what the title says.
I haven't made the website yet, so I'm not looking for a specific solution. Is there ANY way that it is GENERALLY possible to play a blender game in-browser?

Related https://blender.stackexchange.com/questions/53919/using-blender-game-engine-for-vr-360-tour-on-mobile-is-it-doable

There is no way to do this.  As described here you can create only Windows, Mac and Linux native applications from BGE.
If you want to create a 3D web application from blender, you should
use a specific addons:

Blend4Web
Verdge3D

Both looks the same, but main difference between them is that Blend4Web uses JavaScript as main scripting tool, Verdge3D uses special block-style logic editor


text:
Blender linear tone mapping
I am currently using blender and would like to tone map an HDR. After researching this I found that there is a Tone mapping node : https://docs.blender.org/manual/en/dev/compositing/types/color/tone_map.html
How can I use the node to tone map linearly?

I think you may need to fiddle around with the settings under Color Management in the scene tab to get a linear output. Not sure what the correct settings to use are though. .


text:
Animation smoothness and correctness when exporting
I have a very low-poly model with an armature, animated with 4 key-frames over a cycle that I want to repeat seamlessly and smoothly. In Blender itself, I get a mostly smooth rotation, but with a slight hesitation at the repeat.
I've seen a video that suggests "altering the f-curve to linear rather than Bezier", but have failed to find how to achieve that.
See the way the motion slows, stops and resumes as the right foot reaches the top of the stroke (reduced frame rate to make the hesitation more obvious):

Also, when I export the model as a .dae for its ultimate use in SceneKit, the circular nature of the motion is lost and I'm left with linear interpolation between the keyframes (90 degrees of rotation each). Possibly the solution is the same for each problem? Or do I need every frame to be a keyframe?

I resolved the first issue by deleting all of my auto-generated keyframes as they'd recorded positions and angles for all of my model. I then re-created four keyframes manually (right-click the relevant property, in this case the W of the rotation, and select 'Make single keyframe'). Selecting them all in a graph editor window then allowed me to:
a) Make a cycle (Shift-e)
b) Apply linear interpolation (T)
This produced a smooth rotation in Blender, although something strange happened to make the direction the opposite of what I'd configured, so I reversed the slope in the graph editor.
Exporting the result still produced only linear interpolation between the four keyframes in SceneKit, so I used the graph editor again to make an actual keyframe at every interpolated point (a total of 40). I'm sure this isn't the ideal solution, but it does work.

I've been away from this project for a while and haven't had chance to check this, but I hope/expect that the 'bake animations' option on export will allow me to have only the minimum required keyframes in my model, but still have the intended smooth circular motion in SceneKit.


text:
Clamping camera to path, existing keyframe positions are thrown out when path is extended?
I'm using a Clamp constraint to animate a camera along a path for a long, continuous fly-by shot with pauses and target changes along the way. I'm keyframing on the transform of the camera dolly, but every time the path is modified, particularly extended, the position of the dolly in all the previous keyframes is thrown out, requiring lengthy repositioning and re-keying to correct all the timing. I've experimented with using a Track constraint instead, and animating the Offset, but this still suffers the same issue when the path is modified.
This behaviour suggests to me that, even when keying on a transform rather than an offset, Blender is doing some math and quietly converting everything to a relative offest. When the length of the path is modified then all the previously keyed positions also change because they're relative to the length of the path rather than being, say, fixed distances from the start of the path.
Is there a way to 'lock' an object to a fixed position in a keyframe so that it doesn't move when the length of the path is extended, i.e. if object A is X units from the start of the path in keyframe Y, when segments are added to the path then object A is still X units from the start of the path in keyframe Y.
Gracious thanks for any advice, it's much appreciated and may save me from this slow descent into madness. My apologies if my description is not clear, if this question has already been solved elsewhere, but especially if I am doing something really dumb, missing a trick, or otherwise dementedly trying to stuff a round thing into a square hole.

Maybe there's another solution but here is a trick that may satisfy you:

Create your curve, give it the right direction, put its origin at the beginning.

Create an object (here a sphere), in Edit mode select all the vertices and assign them a vertex group, in Object mode put the object at the exact same beginning point as the curve, give it a Curve modifier with the curve as Object.

Create your camera, give it a Copy Location constraint with the sphere as Target, and the sphere's vertex group as Vertex Group.

Now when you move your sphere forwards on the right axis (here the Y axis), it follows the curve and the camera follows as well. If you extrude the curve, it won't move the camera's position.

Thank you so much, I will try this at once and report back.

Aw yiss! That worked, the existing keyframe object positions remain fixed when the curve is extended. Thank so much for your kind help, you've just saved me a ton of work and I really appreciate it.

For anyone else trying this approach there are a couple of small things to note that might save you a little fiddling time:  1) To scrub the dolly object along the curve, animate on the same object axis that is selected in the Curve modifier's Deformation Axis property, e.g. the Curve modifier defaults to X so animate on the objects X position.  2) Using an empty as the camera dolly won't work because you need a vertex group to lock the camera to in the Copy Location constraint, so you may want to uncheck the Show In Renders property of your dolly object.

I also just found this solution, which splits a dolly track up into a number of smaller curve objects, then adds a Follow Path constraint for each 'sub' curve to the dolly, and animates the Influence properties of these constraints to switch the dolly from one track to another. This may be easier in some use cases and having multiple smaller segments may make it easier to manage in terms of workflow, particularly if there is a lot of change to the path. Your mileage may vary.

Ok, interesting, I guess someone should create an easy tool for this kind of situation, like a Follow Path with an "absolute distance" option


text:
How to *efficiently* find all lights within a scene?
I'd like to fill a custom UI list with all the lights that are in the current scene, but am unsure of the best way to do this. We could iterate over bpy.context.scene.objects and validate object.type == 'LIGHT' to filter things out and then use objects[i].data to get the actual light, but that strikes me as clunky and non-performant, especially for scenes that have a large number of objects.
Ideally I would like to drill into bpy.data.lights and then filter this much smaller dataset based upon the scene(s) each light is used within. But, given a light in bpy.data.lights, how can I find the object that's using it, and from there check this object's user_scene attribute? This strikes me as being much faster than iterating in a top-down fashion over a bazillion objects' data attributes, but if there's a mechanism for going bottom-up from a light to the object(s) that are using it then I can't find it in the API. Any ideas, smarter people of StackExchange?
Many thanks, and apologies if this is a DOH! kind of question, I'm new to this and still feeling my way around in the dark.

In the interactive Python window did you use text completion to find the likely candidate for the light [object name]?

Thanks @brockman, that's very helpful.

Cool, glad I could help @QuentinWalker

Put them in a collection
IMO the simplest way to do this is, as suggested
scene_lights = [ob for ob in scene.objects if ob.type == 'LIGHT']

One light object could have the same light data as any or all of the lights in a scene.  Even if there are few lights, checking that the data belongs to an object in the scene could prove less efficient than above.
If you feel that there are so many objects in the scene that iterating over them is inefficient, consider linking them to a collection(s) using name or ID property to tag the collection as being for light objects.
lightcol = bpy.data.collections.get("Lights")

if not lightcol:
    lightcol =  bpy.data.collections.new("Lights")
    scene.collection.children.link(lightcol) # or wherever
# populate it.
for lt in scene_lights:
    lightcol.objects.link(lt)

Could make collections within this collection to further categorize by light type
Polled PointerProperty
As mentioned by @brockmann can also consider using a polled pointer property, an example for materials
Custom search data to UILayout.prop_search
whereas in the case of lights the pointer property type would be bpy.types.Object, and the poll method would test against type. Could easily be extended to light type

Thanks, that really helped clear up my thinking.

use the script below:
import bpy

light_set = set(bpy.data.lights.keys())
obj_set = set(bpy.data.objects.keys())

# light data doesn't update by deleting:
light_set.intersection_update(obj_set)

light_objects = [bpy.data.objects[name] for name in light_set]

If any name is changed, or if objects share  light data, code  above will not work as expected. [ob for ob in scene.objects if ob.type == 'LIGHT']


text:
Is it possible to determine the UI panel class that is parent/host to an operator when its button is clicked?
I'm dynamically registering a variable number of panel classes, all sub-classed from a custom panel class that includes an operator. Thus all the new panel sub-classes contain a button that executes this common, ancestral operator code. When the button on one of these new sub-class panels is clicked I would like the operator code to be able to determine which of the panel/button instances invoked it. Is such a thing possible? My apologies if I've not described this very clearly. Basically I'm trying to recreate the same functionality as the 'X' button that sits in the header of modifiers sub-panels. In my example, the code behind the X button needs to know which panel class the clicked button belongs to in order to unregister the correct panel. Any advice is greatly welcomed and appreciated. Thank you!

Suggest you could do this by setting a context pointer in layout  to the class to unregister. eg https://blender.stackexchange.com/a/203443/15543  row.context_pointer_set(name="foo", data=self.__class__)

@batFINGER Thanks! Per the idea from lemon, I just got this working by storing the panel class bl_idname in an operator variable when the panel is registered, then later using that to unregister the panel. That works but it still feels a little imperfect, a pointer would be much cleaner. I'll try your suggestion later, thank you again for taking the time to answer.

You can define a property for the operator in order to identify something.
For instance:
class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    # >>>> Declare a property
    some_value = IntProperty(default=0)

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def execute(self, context):
        print(self.some_value)
        return {'FINISHED'}

Then, in the panel you can assign the property value as you want:
class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

    def draw(self, context):
        layout = self.layout

        row = layout.row()
        op = row.operator("object.simple_operator")
        # >>>> Assign its value
        op.some_value = 1
        op = row.operator("object.simple_operator")
        # >>>> Assign its value
        op.some_value = 2

Alternatively, you can assign the value in a subclass if your want to work with subclasses.

That's perfect, thank you! And what a resounding forehead slap! I knew I was making it more complicated than it needed to be. Much appreciated!


text:
How make loop to append text blocks
Stuck on making this a looped subprogram
Hi folks,
I'm new to this, so I hope I'm asking the correct way and in the correct place. I tried to scan this forum for answers, but couldn't find help. Basically, I'm trying to take the node tree shown below and make a simple loop to keep me from having to create another list element each time I add a text block.
Any suggestions?

Loop over the text blocks, get their texts, append them to a text list, join them as you wish:

To get a list of all text blocks, you can use this piece of code:
[text for text in bpy.data.texts]

Which you can possibly filter in anyway, for instance using the Filter Text Block List:


text:
Is it possible to get a weight paint value for a vertex group inside of a material?
I suspect, but can't prove, that the answer is "No", as materials are meant to be portable. However, I don't see why we couldn't implement something that would at least look up the vertex group name to be sure and return a default value otherwise.
I'm working on some very visceral-looking alien architecture, and I assumed that I could use a vertex group (and its associated weight painting) as the factor input to a mix shader. However, when I go browsing through Input nodes for my material, even though I could swear this was in there at some point, I'm coming up with nothing.
I may end up doing something complicated involving a custom property and a sequence of drivers here, if I can't find it. Seems overkill for a material, but thems might be the breaks.

Try an attribute input and set it to the vertex group name. It’s a long shot, but it works in geometry nodes.

It didn't work, but thank you, it was a great idea. I feel like it might still work if I could remember the path to the uv nodes. @ZargulTheWizard Do you think this might be a decent development suggestion or personal implementation? I mean we have vertex colors accessible (which is what I'll be doing next).

Since Geometry Nodes, certainly in 2.93, you can reference any GeoNodes attribute in the 'Attribute' input to a shader tree. Strangely, I don't think you can get at a vertex-group directly (yet).
You can do it by transferring the weights to an attribute created in the GeoNode tree. (e.g.) Attribute Fill your chosen name with 0, and Attribute Math add the vertex-weights from the group to that name.
Pre GeoNodes, there's @Nathan's Wonderful Workaround :)

Personally, I wish vertex-weights were a little more smoothly integrated into all other branches of the application, as they were in  XSI.

That hack is genius. Here I was about to say that this was useful information but I'm looking at material nodes; then I notice this. Honestly I've done everything I need to do in a cleaner manner with texture painting; but thank you for this.

So i think i just figure it out, so i created an input attribute of my vertex group in this case called ´´damage´´ in the new geometry nodes (Blender 3.0 beta) then i added a set material node with the material that i am gonna use, for the object in this case called ´´Rock´´ after that i created an output attribute and connected it to may vertex group, and i called it ´´RockPaint´´ after that i just went to the material ¨Rock¨ and added an attribute node that outputs ¨RockPaint¨ that way i can use it as a mack for my different materials.

So, after some digging, I've determined that the answer is effectively "no", most likely for the reasons above; but it's also redundant. You can easily simply UV-unwrap, and then texture paint any number of textures to carry your data in an R, G, B, or A channel; then reference the channel in the material. Or, given that your mesh is fine enough and you won't mind the interpolation, you can just paint vertex colors and reference the channels of those—which you can also have several of if you need them.
This in mind, weight painting has come to feel almost like a redundancy at this point, which gives me both questions about the future, and actually great ideas for it.


text:
How to receive a msgbus notification when an object is added to or removed from the scene?
I could track the object count in a variable and compare it to the size of bpy.context.scene.objects in a draw call, or similarly track the collection keys, but that feels imprecise and perhaps prone to sync issues. I'd much prefer to subscribe to something through msgbus and receive a notification when the size of the object collection changes, for example. But what to subscribe to? I managed to kill Blender a few times while experimenting with various things but so far have come up blank. My best guess is the size of a collection is computed rather than a stored property with RNA that can be used with msgbus, but I'd appreciate knowing for sure. Any smart folks out there who've been msgbus wrangling, I'd sure appreciate any advice, even if it's just to confirm that this is a silly idea. Thanks for your brain rental!

Related https://blender.stackexchange.com/a/163258/15543

@batFINGER are you... are you God? XD Thanks a million for your input, my friend, much appreciated. I'll read this then go poke Blender with a stick again.

@batFINGER The example you've given works for adding objects but not deletion, where the active object property does not change. I don't suppose it's possible to add msgbus hooks for bpy.ops?

It does change to None after the delete operator, however is not picked up by msgbus.  An idea would be to make a pointer property to the prior selection, which if None on the next selection indicates it was removed.


text:
Mirroring Bones Rotates Bones!
I labeled every bone with the .L and turned on x axis mirror, nothing happened. I set the cursor do the origin, duplicated bones and scaled them by -1 across the mesh and the new bone rolls were different for no reason. I tried going to the armature mirror option and still the new bones rotated for no reason. Why can't blender manage to execute a basic mirror function?

Symmetry is a wonderful operator for borns editing, so mirror constraints are not necessary. It can be used as follows.
In the edit mode, select L bone and press Armature > Symmetry in the header menu.

I already stated that I tried that.


text:
Bevel modifier not working
I'm making a Nintendo NES console. I'm using the latest version of blender, 2.9. All the other versions before this wouldn't work either.
I have modeled the ENTIRE console, but when i add the bevel modifier, nothing happens, literally nothing, the edges are still just as sharp and i see no effect when i try to add segments. I even tried to bevel it manually with CTRL + B, it works but i can't bevel a big complicated model with that many verts, even when i select the whole object and do the CTRL + B it ends up bad. what exactly is the problem? Also the bevel modifier works with simple cubes and simple shaped objects that don't have so many cuts in them but that's it. I researched tons and couldn't find anything. Here is my NES, it looks ok, but it is too sharp on the edges, not smooth like the real console. When I apply the bevel modifier, it still looks exactly like this with no change.

Try CTRL + A > Scale and then add Bevel Modifier.

OMG IT WORKED!!!!! THANK YOU DUDE!!!!! THANK YOU SOO MUCH!!!! how do i give you a thumbs up it's not showing up anywhere for me.

It's probably/mostly duplicate somewhere around here so I will not make an answer for this, and that would allow to upvote/accept answer.


text:
How do I detect if a specific keyboard button has been released in BGE python
I want to know how to detect if a keyboard button has been released in the blender game engine using python, not logic bricks.
So I use this code to detect if a keyboard button is pressed
    if (bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.WKEY]):

So that right there detects if the "W" key is pressed, but what if I wanted to detect if the "W" key was released, rather than pressed?

You check for bge.logic.KX_INPUT_JUST_RELEASED


text:
Is it possible to separate part of a joined mesh corresponding to it's assigned material?
So like say I had a single mesh, that had multiple materials assigned to it, like a character or something, I want too be able to separate the vertices that have the correspond material assigned to them into their own mesh. I know you can use the "Selection" method by selecting your vertices in edit mode and then pressing "P", then click "Selection" and it separates into it's own mesh, but the problem is I have to select the correct vertices, it's not so easy when you are trying to do that when the character has so many subdivisions. So is there a way I can just separate the mesh that corresponds to the material it's assigned to?

Select a vertex/edge/face that has the material you want to separate, then press P and choose the Material option. This will separate any faces that have that material into a new object, and you only have to select one.

In edit mode, you can deselect all, then under the material list you can select the  mesh that is using the material.


text:
Match shape key for mesh to size of text bounding box
I'm trying to place text and then put text bubbles around them. To preserve the text bubble corner curves, I'm using shape keys. But sizing their width and height is a problem. I calculated width and height of the text bounding box and tried driving the shape keys, but that wasn't accurate for some reason.
Below is my second attempt. This time I'm calculating the width and height of both the text and bubble bounding box.
In the picture below;

I increase iterate a number of times to incrementally approach the correct size.
The result is used to increase the bubble size
The code seems to work but gets caught in a loop somehow. The bubble flickers through the sizes after hitting it's limit.

I'm missing something with the loop structure I'm sure. Any help would be appreciated.
If you know of a better, more elegant way to size the text bubbles around text, I'm open for that too.
Blend File

Animation Nodes have a node to compute the bounding box called Object Bounding Box Node. You can use it to get a rectangle (plane) that bounds each of the text objects, to get round edges, you can use the bevel modifier with the Vertex Only option, no need to use shape keys. To get the mesh of each bubble, get every 2nth vertex of the output bounding box vertices (Only every 2nth because the rest is the upper part of the box), then create a mesh out of it:

Which when joined, output and beveled will produces:

Which is exactly what you want, but you might want to scale the rectangles a bit to give the text some space inside, this is easily done by translating the upper-right, upper-left, lower-left and lower-right vertices a bit in the directions $(1, 1), (1, -1), (-1, -1), (-1, 1)$ respectively (They might not be in the same order as I mentioned, so check first !):

By changing the scale, we get different padding widths:

And by changing the bevel width, we can control the radius of the corners:

Thanks so much Omar. It all works for me except for the beveling. The bevel doesn't show up on my mesh. If I go into edit mode and give the mesh a face, it will work. But exiting edit mode reverts to square edges. Any Ideas?

Found my problem! I hadn't attached the polygon list to the polygon indices for the Combine Mesh Data node. No polygons, no beveling.


text:
Only last text block out put in Animation Nodes loop
I have an Animation Nodes loop that takes three text blocks and three text objects and outputs them. The debug is showing the individual texts are intact, but only the last text block is output. What am I doing wrong?

At the moment all three text objects use the same underlaying data block. So when you change one, you are changing all.
There are two main ways to fix it:

Enable Deep Copy in the Object Instancer node.
Turn off Copy from Source and switch the created object type to "Text".


text:
bmesh.ops.bisect_edges interferes with my list of verts
I am trying to subdivide a face, using bmesh.ops.bisect_edges, followed by bmesh.ops.connect_verts.  I collect a list of vertices, before subdividing further, but after I use bmesh.ops.bisect_edges again, the list contains only dead vertices (although different vertices I think as they have different addresses).   I am using Blender v2.79 on Windows 10. See code and generated output.
import bpy
import bmesh

# Get the active mesh
startmode='OBJECT'
obj = bpy.context.object
if obj!=None:
    startmode=obj.mode
    if startmode=='EDIT':
        bpy.ops.object.mode_set(mode='OBJECT')
    del obj

bpy.ops.mesh.primitive_plane_add()
obj=bpy.context.object
me = obj.data
bm = bmesh.new()   # create an empty BMesh
bm.from_mesh(me)

for face in bm.faces:
    if face.select and len(face.verts)==4:
        ret1=bmesh.ops.bisect_edges(bm,edges=[edge for edge in face.edges[:]],cuts=1)
        ret2=bmesh.ops.bisect_edges(bm,edges=[edge for edge in face.edges[:2]],cuts=3)
        #Now there should be 14 edges and 14 verts in face
        print("=======Face",face)
        outside_verts=[vert for vert in face.verts] #Construct my list as face will soon be different
        ret3=[]
        for i in [3,5,1,7]:
            ret3.append(bmesh.ops.connect_verts(bm,verts=[outside_verts[11],outside_verts[i]])['edges'][0])
        print(outside_verts) #All 14 verts fine here
        ret4=bmesh.ops.bisect_edges(bm,edges=ret3[:1],cuts=2)#['geom_split']
        print(outside_verts) #14 dead verts here, but they are not even the same verts...?
        print(ret4) #vertices 10 and 6 are still alive here.
        #bmesh.ops.connect_verts(bm,verts=[outside_verts[2],ret4[0]])# This would generate an error

bm.to_mesh(me)
bm.free()
if startmode=='EDIT':
    bpy.ops.object.mode_set(mode='EDIT')

OUTPUT:
=======Face <BMFace(0x0000022F99011030), index=0, totverts=14>
[<BMVert(0x0000022F98E7C190), index=0>, <BMVert(0x0000022F98E7C350), index=8>, <BMVert(0x0000022F98E7C388), index=9>, <BMVert(0x0000022F98E7C3C0), index=10>, <BMVert(0x0000022F98E7C270), index=4>, <BMVert(0x0000022F98E7C3F8), index=11>, <BMVert(0x0000022F98E7C430), index=12>, <BMVert(0x0000022F98E7C468), index=13>, <BMVert(0x0000022F98E7C1C8), index=1>, <BMVert(0x0000022F98E7C2A8), index=5>, <BMVert(0x0000022F98E7C238), index=3>, <BMVert(0x0000022F98E7C2E0), index=6>, <BMVert(0x0000022F98E7C200), index=2>, <BMVert(0x0000022F98E7C318), index=7>]
[<BMVert dead at 0x0000022F98928BE8>, <BMVert dead at 0x0000022F97A92300>, <BMVert dead at 0x0000022F97A92AD0>, <BMVert dead at 0x0000022F97A92828>, <BMVert dead at 0x0000022F98928B48>, <BMVert dead at 0x0000022F97A92800>, <BMVert dead at 0x0000022F97A92A08>, <BMVert dead at 0x0000022F97A92A30>, <BMVert dead at 0x0000022F989283F0>, <BMVert dead at 0x0000022F98928788>, <BMVert dead at 0x0000022F98928878>, <BMVert dead at 0x0000022F98928490>, <BMVert dead at 0x0000022F989287D8>, <BMVert dead at 0x0000022F989288A0>]
{'geom_split': [<BMVert(0x0000022F98E7C4A0), index=14>, <BMVert(0x0000022F98E7C4D8), index=15>, <BMEdge(0x0000022F98F9B2B0), index=14, verts=(0x0000022F98E7C4D8/15, 0x0000022F98E7C2E0/6)>, <BMEdge(0x0000022F98F9B3F0), index=18, verts=(0x0000022F98E7C3C0/10, 0x0000022F98E7C4A0/14)>, <BMEdge(0x0000022F98F9B440), index=19, verts=(0x0000022F98E7C4A0/14, 0x0000022F98E7C4D8/15)>]}

Not fixed by upgrading to Blender v2.79b

Yes, your vertices and faces also change with bisect operator. I believe the intended way is to grab the return value from operators that give you access to the newly created geometry (geom_split: newly created vertices and edges).

Thanks Kheetor, however the return value doesn't include all the edges of the adjacent faces, only the new edges which replace the edge which was split.

I can't dig deeper into this at the moment, but obviously you should be able to subdivide existing geometry without losing all references in bmesh.

And further, if I tack on the following code before bm.to_mesh(me):
a_new_edge=[e for e in ret4['geom_split'] if isinstance(e,bmesh.types.BMEdge)][0]
for face in a_new_edge.link_faces:
print (face.verts[:])
many of the resulting verts are in my original outside_verts list, and not dead.

I have listed this as a bug see link


text:
Blender is only using one tile and only on CPU
I have tried to make blender faster by using my Nvidia GeForce GPU in the user preferences window and under the render options in the properties window.
But I can see in the task manager that the CPU is used mostly and even though it is set on multiple tiles it is still using only one. How could I increase the GPU usage and the amount of tiles? Thank you for the answers:)

Switch on GPU compute in the task manager. That will show you something else ;-) GPU compute is different than realtime rendering to task manager. It shows 97% to me while GPU 3D is barely working.
Go to GPU click on one of the sub diagrams like copy and select compute_0 or 1 or whatever yours is called.
be aware that you need something like 1080 before it is faster than a modern day cpu with 4-8 cores.

As your main goal behind this question is to get faster renders, then it is worth checking your tile size setting --- this can make a big difference.
CPU's generally like smaller tile sizes (e.g. 32 or 64) and GPU's large ones (e.g. 256 or 512).
You may wish to try the Add-on "Render: Auto Tile Size", which you can enable from
File > User Preferences > Add-ons

I am trying to make it faster but the gpu is not being used almost at all. so I don't know if I should use the setting for the cpu or the gpu when it comes to tie sizes

The best way is to do some test comparisons. Make or use an existing model for a test render and try different settings. I also had very low GPU usage at first (1 to 2%). 2 things made a big difference:

set the tile size big -- 256 or 512, and set Blender for GPU usage.

in the PC settings, set the performance. This may default to 'balanced' to (say on a laptop) give a balance between speed and power usage. Set it to top performance.

Also, your CPU might still be faster if your GPU is not that high end.
On my system, my 8-threaded CPU outperforms my GPU with CUDA, probably because it's an older model and a laptop.
My video card is a combined Intel/Nvidia (bumblebee)
Unless, I just didn't use the right settings...
But I noticed 8 tiles at the same time rendering through the CPU and only one with my GPU


text:
Normal map turns material black
I am trying to make a mirror with some scratches on it but when I add the normal map some parts just turn black (the stronger the normal map is the bigger the black area is). Thank you for your answers:)

One potential solution is setting your normal map image node to "Non-Color Data". You should use "Color Data" only where the image's colors matter, i.e. only when connecting to a color socket.


text:
solidify modifier is distorting parts of the model
I am completely new to Blender, outside of watching a few tutorials online and messing around for a couple hours trying to solve my problem.
I have this model, made by Yokiie on Sketchfab (https://sketchfab.com/models/9814e8f117c0426bbe3f04de7ad6a363), I am now trying to convert the file from .blend to .obj so I can send it to a 3D printer to make something for a cosplay. However, after exporting this model in Blender to an .obj file, the website I am using to send my project to a 3D printing service is telling me the walls of the model are too thin, as shown here in red.

Upon knowing this, I then tried the Solidify tool on Blender, and it minimally solved some of the thin wall issues (5% or so). However, upon making the walls thicker, it is also distorting other parts of the model (specifically the hand guard/round orb area), despite making a Verticies group with just the blade portion and using solidify on that.
I am just at a point where I don't know if there is something with the original model that is causing these problems or if there is another option. My end goal is to get the object into an .obj file so I can send it to a 3D printer through 3D Hubs.
I also apologize if this is answered somewhere and the answer becomes repetitive, I gave a quick look through google search and didn't find a result that I found to work. Soldify was the main method I saw people use and it didn't seem to work for me. Any help/tips/things to try would be greatly appreciated!
Thanks!
Zarvix

You can use 3D Print Toolbox add-on in Blender to check your object. It seems that it has more problems (non-manifold geometry) then only thickness. Probably solving this issue will help also with your problem. Regarding thickness you can also select just a blade and scale it along chosen axis but there will still be problem with the sharp part, for this you can use Bevel. There is no straight answer for your question as it seems object in this form isn't especially print friendly. Also Solidify modifier will create 'inner walls' so this is not a solution.

The fastest way to fix this is probably just to split the blade and the hilt, and apply solidify to only the blade.
To split the blade from the hilt, go into edit mode with the sword selected, then click anywhere on the blade and press ctrl+l, which will select all linked.  If this selects the hilt too, you will need to select the faces manually.  Once you have the blade isolated, press p while still in edit mode, then choose "selected".  This will break the sword object into a hilt object and blade object.
From there, you can just apply solidify to the blade as you did before.
From a 3D printer perspective, you may want to not print the blade at all, and make it yourself with plastic sheets from Hobby-Lobby or something.  3D printers have some trouble with long and thin.  Not to mention you will save money from avoiding printing costs.


text:
Ideas on how my object became hollow
I started out with a simple cube and edited the vertices to make it look like so...

I think somewhere along the way I did something to make the object hollow, because when I cut an object out of it (Boolean Modifier -> Difference), you can see the insides (as follows)...

Is there a way to add the "fill" back to it so that it's solid?
Blender Source File

I hate answering my own question, but in hopes it might help someone else...

Create a giant cube that surrounds all edges of your problem hollow object.
Add a Boolean + Intersect modifier to the cube with the target object as your hollow object.
Apply the modifier and delete the old hollow object, and now
you should have a filled object on the new "cube".


text:
Can I change the jump force of my character's physics in BGE while in runtime mode?
I want to be able to change the jump force for my character while the game is running. Is this possible using python and without using the "bpy" namepsace? yes I have my character set to "Character" in the "Physics" tab and it is also in "Blender Game" mode.

unfortunately jump force is not accessible through the bge module. https://docs.blender.org/api/blender_python_api_current/bge.types.KX_CharacterWrapper.html


text:
Is it possible to set the pivot point origin of an object in BGE with python
So what I am asking is WHILE, the game engine is running, is it possible to change the current pivot point origin of an object to a new location of the object, I'm making a car game and i want to set the pivot point on the left when I'm turning left, and to the right when I'm turning right. Is this possible while the game engine is still running?

When you mean the object's origin: No, you can't (and it makes no sense).
When you mean the rotation center, you can:

combine the rotation with a translation (= orbiting)
parent the object to another that acts as rotation center. Turn the parent rather the child.

When you mean the pivot point of a a rigid body constraint, I do not know. The API does not look like you can. An alternative would be to remove the current constraint and create a new one with the pivot at the new location.

I agree  using a pivot empty would absolutely be the  way to go.  Think tho, in theory,  changing origin could be done  via transforming verts of MeshProxy and moving local matrix accordingly.

alright that makes sense thank you for your help.

You can update physics mesh using this line of code!:
c.owner.reinstancePhysicsMesh()
Note: This only works with triangle mesh bounds

people don't give the bge enough credit...
    import bge

    cont = bge.logic.getCurrentController()
    obj = cont.owner
    def increase_origon_point(CONSTANT):
        meshList = obj.meshes
        mesh = meshList[0]

        vert = mesh.getVertex(0, 0)
        xyz_Pos = [vert.x, vert.y, vert.z+CONSTANT]
        vert.setXYZ(xyz_Pos)
        vert = mesh.getVertex(0, 1)
        xyz_Pos = [vert.x, vert.y, vert.z+CONSTANT]
        vert.setXYZ(xyz_Pos)
        vert = mesh.getVertex(0, 2)
        xyz_Pos = [vert.x, vert.y, vert.z+CONSTANT]
        vert.setXYZ(xyz_Pos)
        vert = mesh.getVertex(0, 3)
        xyz_Pos = [vert.x, vert.y, vert.z+CONSTANT]
        vert.setXYZ(xyz_Pos)
    increase_origon_point(.1);

Example(s).blend
shoutout to batFINGERfor giving me the idea. Thanks bro.

This is a great idea, but please keep in mind that this will not update the physics simulation

please elaborate.

If you take a plane on z=0 and enable collision, move all vertices to z=1 with Python and let some cubes fall on it, they will still fall to z=0 and not to z=1. Only the visible mesh gets transformed.

you are absolutely right. thankfully there's an easy fix. set that object as the visible layer and put an alternate bounding box around it.

You can do so simply with:

object = scene.addObject("Alternate_collision_box","Alternate_collision_box")

v1 = mesh.getVertex(0, 0)

v2 = mesh.getVertex(0, 1)

v3 = mesh.getVertex(0, 2)

v4 = mesh.getVertex(0, 3)

object.worldPosition=(((v1.x+v2.x+v3.x+v4.x)/4),((v1.y+v2.y+v3.y+v4.y)/4),((v1.z+v2.z+v3.z+v4.z)/4))

to calculate the center.

But I'm not going into any more details because that wasn't the question.


text:
Does the blender Eevee rendering engine really have indirect lighting?
I heard that it does, and there is also a panel in the render settings that says "Indirect Lighting" but I never see any indirect lighting while I'm using Eevee, that's for sure.

Related: https://blender.stackexchange.com/questions/99631/why-cant-i-make-mesh-lights-in-blender-eevee

EEVEE uses irradiance probes to calculate indirect lighting, it's not as accurate as pathtraced indirect lighting, but often is enough for realtime preview.
No indirect:

With irradiance volume:


text:
Can't enter edit mode after making proxy from linked object
So I linked my object into a scene and then made it into a proxy with ctrl alt P, but now I can't enter Edit mode for some of the objects in my scene ?

Are you editing link object or you want to edit proxy

I want to edit proxy (orange border around the mesh, not blue)


text:
transparent materials Issue
I've been trying to solve this problem for several days now and have had no luck. I simply can't get an even level of transparency on a material and this applies to all models i've imported and any file type.
https://cdn.discordapp.com/attachments/361742235525709825/375628554492313611/unknown.png
I have tried everything I can possibly think of and have discussed this with other users who are at a similar level to me with their use of blender. Nothing seems to fix this issue. Visually you would expect it to be a faces/normals issue, but its not as far as I can tell as flipping them makes no difference,  So here I am hoping that someone with more experience can shed some light on the problem. The issue also transfers over to unity.
https://cdn.discordapp.com/attachments/361742235525709825/375639920355573762/unknown.png
I'm using the latest version of blender. If any more information is needed please let me know and I'll provide it. I'm still a bit new to blender so it could be a simple solution that I'm just overlooking, but any help would be appreciated as I need to make a translucent humanoid and I simply can't do that with this issue.
Thanks

I've only looked at the 1st image but you could try ticking the "Backface Culling" box.  It's at the right in your 1st image.  It's in the 'Shading' tab when you press N in the 3D window. - have just checked 2nd image but it's unsure what might be causing those.

I tried that before and yes it does fix about 99% of the issue (certain angles still show very small areas of overlap when two sides of teh mesh are close to each other.), however backface culling does not seem to be a part of the render chain, just something you turn on and off to check if there are any face/normal problems. In the 2nd image the pattern of the uneven translucensy is the same at the pattern in blender so what ever the issue is in blender its being exported out with it.

Have you checked for double faces?

Yes, i used the check faces direction option and theres nothing facing inside  the meshs i can only assume the entire mesh is single sided.

Are the normals ok? Did you recalculate them?

when the normals are OK, we can't do much to help you. Maybe you could upload your model?

Have you got different materials in different parts of the mesh? Is there a vertex colour layer involved?

I've tried just about everything you can do when it comes to faces and normals. If it was a normals issue im pretty sure i'd be able to see the odd shading artefacts on the textureless model.
Unfortunately it's not a model specific problem, it happens with any model I import into blender.
As far as I'm aware the meshes use one material each. I'm unsure of what a vertex color layer is or how I would go about adding/editing or removing one.

With the help of another blender user in a discord group I belong to, we've come to the conclusion this is probably a bug with 2.79. I gave this person a selection of different models, bearing in mind this issue happens with any model I import.They imported in the same manner I do and they have no issues when making materials transparent. They are using 2.77a.


text:
Render gets too dark after clicking "Animation" button
During the rendering process of a short animation, I have come across
a problem with too dark PNG images being rendered out.
It seems that everything looks fine within Blender - once I click F12,
everything is lit the way it should be, however after clicking "Animation"
the entire scene is way too dark.
Could you please help me with this? Any ideas what I do wrong? :)

Thats kinda strange, if you do a still render ( F12) the result should be the same as for animation render (CTRL+F12). Especially since you render to bitmaps (which is recommended as it protects you against crashes of blender, later use video editing to import the image strip and render to mp4 (or use virtualdub for that)
It might be though that you made a node setup in compositor, that somehow darkens it, because things there happen after a render result.

Post your colour management settings, as well as codec details.


text:
Is there a way to force a bone to snap to fixed-step rotation?
As in, is it possible for me to set up an armature so that a bone's X-rotation will snap to, say, 30°, -30°, or some multiple of 60° from there? I'm working on a toggle switch, and while I can manually ensure this, I feel like it would be just like constraints to have solved this problem for me.
In other words, if you rotate it to 15° on X, it will snap to 30°; but if you rotate it to, say -17°, it will snap to -30°, which is closer. It feels like it would be easy to implement in Python, but that usually means that someone's already done it.
Thanks.

I don't know whether this is possible with just 1 bone, but if you create a helper bone, you can use that helper bone to move your rotation and this will make the other bone jump in 30 degrees like this:

Drivers are an excellent solution, thank you. I still feel like this would be well-served by a constraint, but then, a lot of different things probably are!


text:
Is it possible to expose the anaglyphic L/R shots in the compositor?
I'm asking because I'm trying to come up with a way to render a sequence of frames, including both standard and anaglyphic left and right, in a single run. This could be done with the compositor fairly easily, if I could get a layer input for left and right; but it doesn't seem to be obvious.
It seems like the only real solution is to have manually adjusted additional cameras for the left and right eye, and manually cut channels from them in the final overlay; but if there's something easier then I imagine someone here will know about it!

To render and save individual files for left and right view and the combined anaglyphic view in a single run, you can use the File Output node in the Compositor.
My example image isn't so exciting, but anyway: in the Compositor I placed two File Output nodes. In the screenshot of the Node Properties you can see that one is set to Views Format > Individual, the other to Stereo 3D. If you now press F12 to render, three files will be saved:

The left and right view images called cubes_individual0001_L.png / cubes_individual0001_R.png
and the anaglyphic image called stereocubes0001.png

The names "cubes_individual" and "stereocubes" are set under File Subpath in the Node Properties, the frame number will always be attached and cannot be changed, and of course the suffixes _L and _R to indicate the side are added automatically.

You do not have to add two File Output nodes necessarily, if you render an animation where the image sequence is saved automatically, you can simply set the regular output settings to create the anaglyphic image and a single File Output node for the individual views or vice versa.
Just one thing, what you are struggling with is getting the left and right view separated in the Compositor. I must admit I don't find a way to do this either.
For just saving the left and right view you won't need that, but let's say you want to composite the left and right view differently. In the above setup I just added a Glare node to the image. But maybe I want for example a glare on the left side and change the hue of the right side.
To achieve this you can add the Switch View node (under Add > Converter). This node has two inputs left and right and a single Image output. So you can plug the Render Layer output into different nodes, use the individual results in the individual inputs and get an Image where the left and right side are separate compositions.

By the way, it is very annoying but I didn't find a way to show the left and right side in the Backdrop of the Compositor to directly see the separate compositions added to the views. What you can do is either switch between left and right in the Image Editor where the Render Result is shown:

Or you can use a Split Viewer node instead of the regular Viewer node in the Compositor. This will still show only one view of the stereo image, but you can plug different inputs into the two Image inputs so you can work on the left and right composition simultaneously. The X and Y buttons let you decide if you want to split the view vertically or horizontally, the Factor going from 0 to 100 is the percentage how much of the second Image input is visible. But note: the second image will be overlayed from left to right resp. from bottom to top (which in my screenshot makes the left side of the backdrop show the right view composition).

Thanks, this is a great answer. I'm sorry I didn't find time to check for it sooner.

@MichaelMacha No problem, you're welcome. If you'll ever find out how to display the left and right view separately in the Compositor let me know.

If I ever do, I'll update my question. My best guess at the moment is rigging my own binocular camera, but that's kind of brute-force for my tastes.

Just to be clear, you already tried setting the file output properties to "Individual" instead of "Stereo 3D"? That usually does trigger a binary output (one for each eye), but I've never played with it in the compositor.

Of course, that's what I usually do to get the individual files. But still, in Blender - after rendering - I can only switch between left and right view in the Image Editor, not the Compositor. However, since I never ever felt the need to composite the left and right view different from each other (for example, why would I want a stereo image where I add glow to one side but not the other... or change colors etc. only for one side?) it is not really that much of a big deal.

My concern is that my ultimate rendering platform may vary—I could have one group using anaglyphic, another viewing on Oculus or Google Cardboard, and some boring bum looking at in 900p. If I can render all of them at once—standard, left, right, and anaglyphic—it may substantially save me some time. I'll let you know when I've got it all figured out, I'm a little buried in a different project right now unfortunately...

Oh, you need standard, too... the problem with this is, you can render the scene with Stereoscopy enabled or not. You can choose to deselect the left or right view so that only one gets rendered, but this would result in having only one view for the anaglyphic render as well, and only the _L or _R files (deepnding on which view you choose). So if you want everything I suggest rendering anaglyphic, left and right as described above and then duplicate outside of Blender either the _L or _R files without a suffix to use as standard.


text:
Can I snap the cursor to a vertex which has an armature modifier applied?
Hitting Shift+S provides several options in a wheel, including snapping the cursor to the selection. This works in both object and edit mode. However, if I'm dealing with a model that has an armature deformation applied to it, the cursor always snaps to the original, undeformed, position; it does not see the post-armature position.
Is it possible at all to snap the cursor to the deformed armature position? I imagine this is true with other deformation modifiers, too; but they just aren't considered by it, by default.
(To some extent I understand this; some cases, like a Mirror modifier or an Array modifier, would be a little vague. However, it's a show-stopper when I'm working on a heavily animated mesh and need to, say, spawn a specific shape in the scene, at a specific place on the mesh, at a specific time. Lots of manual adjustments.)

it doesn't seem to work, it's like the transform gizmos that don't stick to the selected vertex when it is changed by the Armature modifier, I think it would make sense to change that

You have at least two options; neither is ideal.

You can simply project the cursor onto the mesh.  Use your cursor tool and click on the mesh, with "Surface Project" on sidebar/tool enabled, which it is by default.  It does not snap to any particular vertex, but just doing it to eye, you can be very, very close.

You can use another object constrained in a way to acquire the exact position of a vertex, post-modifiers, and then snap your cursor to the position of that object.  There are a number of ways to do this.  One would be to mark the exact vertex you wanted with membership in a vertex group and then create an empty with a Copy Location constraint targeting that mesh, limited to that vertex group.  Then, you can simply select the empty and snap cursor to selection.  Any number of constraints could do this, although in various ways; vertex parenting in rest pose could even do it.

We could even combine these.  We could have an empty with a shrinkwrap constraint, set to nearest vertex, snap it to the location of a surface-projected cursor, then snap the cursor to its location.  This way, we can get the exact location of any vertex that is a part of a face, even in the case of generative modifiers like array or mirror.  And we can reuse the same empty, just moving it about to snap to whatever vertex we wanted.
For creating stuff carefully around deformed geometry, as a more general solution, a shrinkwrap modifier can be useful.  You can limit the shrinkwrap with a vertex group so it only affects some vertices; you can apply it when you're done modelling; you can set it to nearest face or nearest vertex (or other options) as desired.

I was worried that this was going to end up being a Right Click Select kind of thing. Thank you for the workarounds. My other option has been to parent it (usually in an awkward place) to the unmodified mesh and make microadjustments to get it to work right post-deformation.

I'm submitted the idea "Snap To Cursor (Absolute)" on RCS. It would basically snap the cursor to the average of the points selected, presented to the internal logic in the same way that they are to my eyes. There might be a better name for it. It sounds easy enough, but I'm not as familiar as I would like to be with Blender's internal C++ and the team has a lot going on right now as it is... so we'll see what happens.


text:
Is it possible to get the object properties of a geometry node parent when shading an instance?
I'm working on a sea anemone, and have an old trick I like to use where I feed an object location (for a static object) into a noise texture to get a hue rotation. In the past, by doing this, I can get new colors for each instance of my object.
However, for the nematocysts (the little tentacles) I'm using geometry nodes, and I've noticed that each instance has its own position being fed into the hue rotation, which is causing unwanted color shifts. (It may be pretty, but it's dead wrong.) Is it possible for me to access the instance parent's location in the shader?
I'm guessing the answer is "no" and I'm going to have to apply the geometry node modifier, but I feel I should check because it would save me a world of time.

The node's current behavior

What I would be expecting, but with the geometry nodes applied instead of having them available. Note that as it's moved in object mode, the hue shifts.

Note that, weirdly, it seems to be working now that I've undone the application of the geometry nodes. That's very strange and a little bug-like. I think the question still stands in principle, though. (Good thing I took a screen shot.)

Instances inside an object are basically separate objects.
Just add Realize Instances node at the end of GN tree. This will remove all separate objects and merge them into one.


text:
Is it possible to use multiple active vertex colors?
I'm using vertex colors to control features of a material. This works well for one of them, but I'm out of channels and need to handle pigmentation now.
The other option is of course using a texture, but that would be mildly more complicated for me here.
I know that I can add additional vertex color sets, but as of yet, only one of them is active at a time (even though I'm selecting the other vertex color set in my Vertex Color node). Having one active makes the other invisible, which I can understand, but muting it in a material surprises me. It very much limits what can be done with vertex colors.
I've tried shift+clicking and control+clicking to no avail. Can more than one vertex color group be concurrently used?

You can use that attribute node in the shader editor. Type the attribute in the field at the bottom to access the channel you want.


text:
Randomizing position of duplicated (non-instance) elements with Geometry Nodes
I have some edges, I want to have a number of duplicates of these edges so that they are offset in space but keep their direction. Should be simple? But I'm scratching my head over it for too long now. The elements are created with the Duplicate node, they aren't instances so I can't use Translate Instance node. And Set Position offsets all points in space.

the scene: https://www.dropbox.com/s/x0ki8cbhpq48kqn/geo_random_duplicates.blend?dl=1

Basically, Jiří Honzák has already addressed the underlying problem here, but unfortunately not the solution.
To solve this task correctly, you would simply have to feed the node Random Value with a constant value per edge.
To do this, first capture the index of the edges in the attribute domain Edge, and use this index for the input ID of the node Random Value.
This will generate a unique value per edge, which you can use directly as Offset.

Thank you! I have a question: why plugging the Duplicate Index socket into ID doesn't produce the same result: the edges aren't split? Because those are only new indices of the duplicates, not all the indices? https://imgur.com/a/ljHbbXP

@SergeyKritskiy You don't get the same result because the Duplicate Index starts counting at $0$ for each curve, which gives you groups per duplicate, not the points of an edge as a group.

Set position node changes position for each vertice you have within the object. Right now you are creating random numbers for each vertice within the object (which is 3 for the original + 4*3 for the duplicates) and assigning new position for each of them, that's why it is a mess. For simple translation you can use transform node, but that would change the position of the whole object (the duplicate lines would stay on top of each other) What you need to do is to create instances that you can then move separately. If you need the output to be one object again, you can add realize instance at the end of your script.

As for the split edge. I don't know how would you be able to divide those into separate instances. 'Separate geometry' node might allow you to do this in this particular case but in different ones it won't (when there are more than 3 edges). You would have to copy separate geometry node multiple times (so it would not be automated) It would be nice to have something like 'disconnected to instances' but we do not yet

Thank you for the reply! As I understand transforming to instance didn't work because when you've instanced 2 separated edges they've became a whole, not a separate instance for each geometry object

Yes exactly. As I wrote before, you could separate them (easy when there are just two of them) but when you have more of them you'd have to repeat the separation over and over. Quellenform's solution for this particular problem is much more elegant.


text:
Align instances on verts to a curve with Geometry Nodes
I have a bunch of running creatures and want to them to be instanced on very specific points, so I'm using some vertices as a base object with Instance on Points node. And I'd like them to be oriented on a tangent of a curve (blue arrow).

In my head I need to find a closest point on the curve for each clone and sample a tangent from that point. but.. Sample nearest takes geometry as input and everything else is confusing.
I've tried to go backwards: instance objects on curve, orient them on the curve orientation and then set positions to my vertices but obviously positions are set not in the same order as the objects are instanced on the curve so orientations are all over the place

The scene. Please send help. Thank you!

You have the right idea: sample the nearest point on the curve, get the tangent of that point, and then align the rotations of your instances to that vector. Let's see how we could manage that here.
First of all, just for convenience, I took the liberty to organize and simplify your setup. For example, I re-oriented the axes of your goblin figurine so it stands upright. If you don't wanna do that, you could also simply use a Transform Geometry node to do the necessary rotations inside Geometry Nodes:

As you've already pointed out, Set Position uses the indices of the points to place the instances, and that index order doesn't necessarily correlate with the order of the indices of the closest curve points we want them to align to, thus, there's no need to use Set Position at all—we can directly instance on the vertices. Rest of the setup we construct going backwards:
We want to sample the nearest point. Sample Nearest—Point gets us the index of the nearest point to our vertices, and  Sample Index enquires that point about a certain value—in this case a Curve Tangent so we can Align Euler to Vector. These two sampling nodes only work with meshes and point clouds though, not curves, so we need to convert Curve to Mesh first. However, mesh vertices do not have a Curve Tangent value, so to not lose that information, we use a Capture Attribute before the conversion, propogating those values from the control points of the curve to the points (vertices) of the mesh. We feed this captured attribute into the Sample node to enquire about it later in the tree. Since we're not instancing the goblins on the curve, we're not trying to match the number of control points to the number of vertices anymore so technically we don't need to use Resample Curve either, but more control points means more granular sampling of values, so resampling a decent amount is still desirable. Just using the Evaluated mode was satisfactory to me here, but you can use Count or Length to get slightly different results.

This is amazing — thanks for the explanation and your reply! The way attributes can be juggled around feels pretty confusing but little by little it starts to make sense to me


text:
Editing a multi-file addon?
How would I approach editing/reloading/printing to console a multi-file addon?
There's a (someone else's) multi-file addon with a complex structure of libraries and classes with a bug in a particular class and I'd like to try to fix it. However I never made an addon with several separated files and I don't understand how to reload it properly. At the moment I edit the original .py file and restart Blender which seems like a terrible workflow.

I really am not sure but you can try to reload the module with the 'importlib' module. Use "import importlib" and then "importlib.reload(module)"

Does F3 > Reload Scripts help? You can also bind the operator to any hotkey...

@Gorgious I'll try that, thank you

@brockmann this doesn't seem to update the code

Does it for me. Is the addon enabled? Also see: https://blender.stackexchange.com/a/28505/31447

@brockmann Yes, it's enabled. I've included a print('custom print') in the modal I wanted to change, started Blender, it was printed, changed 'custom print' to 'custom print updated', reloaded scripts, but the print was still showing 'custom print'. I'll try importlib later, thank you

@brockmann actually you were correct and Reload Scripts works: don't know why it didn't work the first time. However I found a different solution that suits my needs better and posted it as an answer. Thank you!

You are welcome @SergeyKritskiy

Not sure why Reload Scripts didn't work at first for me, maybe I didn't save the correct file or whatnot, anyway, that's a possible way. My issues were however with this method is that

I have to edit files in Blender addons folder, not in my project folder;
this reloads all the scripts, on my machine with a lot of addons installed it takes about four seconds and plus after that some addons reset their settings;

In the end I followed this article for creating and debugging multifile addons. Author suggests using a specific setup for the __init__.py file and then provides a Blender script in the second part of the article to update only a specific addon. I've assigned this script to a hotkey and it works much faster than reloading all the scripts.
Here are the final scripts from the article. __init__.py:
bl_info = {
    'name': 'Test Multifile Addon',
    'category': 'All',
    'version': (0, 0, 1),
    'blender': (2, 80, 0)
}

modulesNames = ['addCube', 'addCubePanel'] # a list of imported module names

import sys
import importlib

modulesFullNames = {}
for currentModuleName in modulesNames:
    if 'DEBUG_MODE' in sys.argv:
        modulesFullNames[currentModuleName] = ('{}'.format(currentModuleName))
    else:
        modulesFullNames[currentModuleName] = ('{}.{}'.format(__name__, currentModuleName))

for currentModuleFullName in modulesFullNames.values():
    if currentModuleFullName in sys.modules:
        importlib.reload(sys.modules[currentModuleFullName])
    else:
        globals()[currentModuleFullName] = importlib.import_module(currentModuleFullName)
        setattr(globals()[currentModuleFullName], 'modulesNames', modulesFullNames)

def register():
    for currentModuleName in modulesFullNames.values():
        if currentModuleName in sys.modules:
            if hasattr(sys.modules[currentModuleName], 'register'):
                sys.modules[currentModuleName].register()

def unregister():
    for currentModuleName in modulesFullNames.values():
        if currentModuleName in sys.modules:
            if hasattr(sys.modules[currentModuleName], 'unregister'):
                sys.modules[currentModuleName].unregister()

if __name__ == "__main__":
    register()

Blender script to reload the addon:
import os
import sys

filesDir = "d:/Python/TestMultifile"

initFile = "__init__.py"

if filesDir not in sys.path:
    sys.path.append(filesDir)

file = os.path.join(filesDir, initFile)

if 'DEBUG_MODE' not in sys.argv:
    sys.argv.append('DEBUG_MODE')

exec(compile(open(file).read(), initFile, 'exec'))

if 'DEBUG_MODE' in sys.argv:
    sys.argv.remove('DEBUG_MODE')

May find this of interest  https://developer.blender.org/diffusion/BAC/browse/master/object_facemap_auto/auto_fmap_utils.py;9468c406fb554e32ff47b62bfef356b3908ec651?as=source&blame=off

I have found an easiest method. In this example the addon has two modules - main and operator
__init__.py:
bl_info = {
    # Your regular bl_info goes here.
}

# This is essential part
if "bpy" in locals():
    import importlib
    importlib.reload(main)
    importlib.reload(operator)
else:
    import bpy
    from . import main
    from . import operator

classes = (
    main.AddonProperties,
    operator.OBJECT_OT_skt_my_operator,
)

def register():
    for cls in classes:
        bpy.utils.register_class(cls)

To keep code "modular" I would recommend each module with  classes to register having a register method  as above..  eg  modules = [main, operator] then in the register method loop the modules and mod.register()   IMO making adding another module easier to test and integrate into addon.


text:
Removing instance points that share the same coordinate with Geometry Nodes
I have a mesh with a junction point (selected vert — shared between 2+ edges) converted to a curve (so the junction point gets separated into several segments) and an instance created on each point:

Node tree:

Can I somehow remove all the instances that share the same coordinate of the junction points? And keep both Mesh to Curve and Curve to Points nodes
Scene: https://www.dropbox.com/s/ms95uxnop464fed/remove_on_junction.blend?dl=1

Instead of deleting the instances that have a common point, I would not create an instance at these positions in the first place.
You can solve this by a selection, which you get by determining the number of points per edge:

(Blender 3.1+)

Amazing — thank you. I was sure I have to use Vertex Neighbors but wasn't sure where to plug it


text:
The color of my object changes when I use Shadow Catcher
So, I was playing around with the principaled shader and I noticed that when I included a shadow catcher to my scene, it changed the color/texture of my object. How do I fix it or is it a bug?

So, I figure the answer. It's because the first picture there is no plane under the head but the one with the shadow catcher has a plane which I guess reflects the light which brighten the head. My nodes setup is simple, it's principled shader to the material output.

So, I figure the answer. It's because the first picture there is no plane under the head but the one with the shadow catcher has a plane which I guess reflects the light which brighten the head. My nodes setup is simple, it's principled shader to the material output.

The shadow catcher plane has a normal material like other planes. You can modify it, but the shadow intensity might change.

You confused me, so yes the shadow catcher plane has a normal material because it is just a plane but the shadow catcher setting you can't modify other than the Ray Visibility settings.

But I found out, if you deselect all the diffuse, glossy, transmission and volume scatter but leave camera and shadow on. The object won't get affected by reflective light.


text:
When I parent my model with a Bvh animation the arms cross? why is that?
So when I parent my model with a bvh file and then I start the animation the arms of the model crosses, Why is that?

Could be a problem with the coordinate axes. Which software wrote the BVH file? And can you share it with us?

Can you provide an image of the rest pose.  Is it a T-pose?    @dr.Sybren given the 10_04 name, (kick soccer ball - walk), assume it's some flavour of CMU cgspeed

I got the bvh file from https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/cmu-bvh-conversion

The animation works fine before I parent it, once I parent it then the model crosses the arms.

Can you please  edit question and describe the steps you took to parent to rig.  A screen shot with rig in rest pose, and with rig  expanded in outliner.  Or upload file

It won't let me upload any of the files, but my steps are I import my mesh and bvh file. Once their imported I put the rig in Rest Position then I go into edit mode for the rig so I can match it up with my mesh. Once it's matched up, I go into object mode and parent it with automatic weights.

Yes the Rest position and pose position are T-Pose. But I have gotten other rigs to work so im thinking it could just been the bvh file.

What are you parenting it to?

I Parent the model to the rig with automatic weights

If you edit the rig to match your mesh, you naff up the action.  That is why the arms are crossed.  The action is an offset from the rest pose.  Either edit your mesh to match the rig's rest pose, or use something like in this answer which fixes animation to fit new rest pose

Another solution that I found that works for any mesh is the makehuman bvh add-on for blender

So the answer to my question is, because my model was not in a complete t stance when I Parent it,  the animation starts on t stance which mess up my model. If this makes any sense lol. So the answer is make sure your model and bvh rig matches up before you parent it.


text:
Blender 2.8 keeps crashing while rendering
So I'm trying to render the Spring demo but everytime I render it using GPU it crashes but if I render it on my CPU it doesn't crash. Does anyone having similar issues? My computer spec are 32gbs of ram, ryzen 2600x and gtx 1060. I'm thinking blender still has some stable issues still.

You could try to update your graphics driver https://www.nvidia.com/Download/index.aspx

I rolled back my driver and it stills crashes and then I update my driver and it stills crashes

What exactly means crashing in this context, is there any error message? Can you go to the install directory and start Blender with blender_debug_log.cmd and provoke the crash by using GPU (or on Linux with from terminal with the --debug flag).

what I meant by crashing is that blender closes while rendering. I did get a crash report but I don't have a way to upload it.

If it's short you could edit your question and put and a ` in front and after for proper formatting. If it's longer you could put the log file on Google Drive or something like this and post the link.

https://drive.google.com/open?id=1an888L7QFTyrMVaEVLVdoK5PLtpFvtZi

Looks like there is a timeout during GPU rendering. Besides that there seems to be a lot going wrong with your animation, but that is some other issue. Seems like some modal operators cause a serious delay (some broken third-party add-on?). Try to increase the TDR with this guide if you feel comfortable with this sort of tinkering https://docs.substance3d.com/spdoc/gpu-drivers-crash-with-long-computations-128745489.html

Do you think it could be a bad demo file that they provided because I can render everything using my GPU but when it came down to rendering that specific file, blender will crash every time during the rendering process. Have you tried rendering it yourself? I'm wondering if I'm the only one having this issue with that file.

Works for me, the animation warnings/errors have nothing to do with this. I don't get the modal operator delay though that is reported in your log, which likely causes your GPU to timeout. Anyway since you already created a bug report  (I assume that's yours? https://developer.blender.org/T68037) we can continue this on the official tracker.

Yes, I reported it, just in case it was a bug. I found it to be odd that blender crashes everytime trying to render that file

Could you try to start Blender from command line. Go to the install directory and type cmd in the address bar and press enter. Then start Blender with .\blender.exe --factory-startup, open the scene and render. Does it still crash?

Ok so if I do a factory reset before I render, it doesn't crash but if I open Blender without doing a factory reset, it will crash.

Can you check what add-ons are enabled normally, but not with the factory settings? Seems to me that one of these add-ons causes the larger delays with the modal operator. Edit > Preferences > Add-ons

only the standard add-ons are enable. Import-Export of BVH, import-export of STL, import-export of SVG, import-export of  PLY, import-export  UV layout, import-export OBj, import-export X3D, import-export gITF 2.0, and Cycles Render Engine.

The same add-ons are enabled with your usual settings where it crashes when your render?

Yes I don't change any settings. But if I open blender and do a factory reset and open up the scene, it will render.

So when I did the factory reset, I forgot to change the preference to CUDA, that's why it didn't crash. So it's crashes only for the scene. It's up to you if you want to reopen the case.

Sure we can reopen this on the bug tracker.

I have same issue on Radeon VII. Timeout Detection Recovery is already longer than default cause of substance painter advise me to set up:
https://docs.substance3d.com/spdoc/gpu-drivers-crash-with-long-computations-128745489.html

Thanks for the answer below, I discovered that I had turned on the VR Scene inspection addon and its calls were causing timeouts. Thanks again ;-)

While I can't pin-point the source of the issue, it seems to be caused by a problematic interaction of modal operators by some add-on or script and the auto-save feature which causes the TDR-Delay (Timeout Detection Recovery) to be exceeded.
The current workaround is to restore the factory settings. This can be done in Edit > Preferences. First load the factory settings by clicking on the button in the bottom right corner. Then save the preferences to make these changes permanent.

Thank you for the help

@J.Jesse You're very welcome.

I have this problem for a long time already and from time to time it causes me to lose significant amount of work. What it does, besides crashing PC with BSOD, is it corrupts the autosave file, and these don't come with .blend1 backups. :/ I can't find a single thread about it but this one on google, so I guess it's not a common issue. Were you able to pinpoint the issue by any chance? I don't really use unnecessary addons...

@Shaggy If you are getting a BSOD this is an issue outside of Blender. Most likely this would be an issue with your graphics driver, OS or a hardware problem.

It seems like setting TDR delay times to ridiculous values much higher than the ones presented in online instructions fixed the issue.

I just started using a Dell G7 with Nvidia graphics, and I immediately started having the dreaded "Your computer had a problem ... we'll restart it for you ..." with a VIDEO TDR FAILURE error message.  My complete setup is as follows:
System:
OS Name Microsoft Windows 10 Home
Version 10.0.17763 Build 17763
System Manufacturer Dell Inc.
System Model    G7 7790
System Type x64-based PC
Processor   Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz, 2592 Mhz, 6 Core(s), 12 Logical Processor(s)
BIOS Version/Date   Dell Inc. 1.6.0, 6/1/2019
Video:
Adapter Description NVIDIA GeForce GTX 1660 Ti
Adapter RAM (1,048,576) bytes
Driver Version  26.21.14.3153
Blender:
version: 2.80 (sub 75), branch: master, commit date: 2019-07-29 14:47
Rendering with Cycles or Eevee.
Graphics interface: CUDA (unable to find version)
So, being a software veteran of many, many years, I'm tolerant and inquisitive.  I found some reference (and subsequently lost it) to a Registry setting for TDR Timeout.  It seems that the graphics system interface keeps tabs on whether the graphics driver is hung or not, and if the interface hangs for more than a certain time, it throws a fit and dumps some data somewhere.  It then proceeds to restart the computer.
I looked around in the registry and found the following:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\TdrWatch
The initial or default setting on my system (as described above) was "Value not set".  Well, that strikes me as terribly uninformative, so I had read somewhere that the default was meant to be two seconds.  I upped it to first 5 and then 10 seconds, restarted the computer and Blender, and proceeded to try to make Blender and the video fail.
Interesting observation: when it seemed that Blender was totally unresponsive, I started counting seconds until the crash.  When I had the timeout set to 5 seconds, the crash came 5 seconds after I noticed the Blender stasis.  When I moved the timeout to 10 seconds, I could count 10 seconds before the apocalypse.  I also noted that several times when Blender became unresponsive, it might recover and become responsive again as long as the delay was less than the 10 seconds I had set.
What this says to me is that the Nvidia driver coupled with Blender 2.8 somehow generates an occasional spate of "hung".  The pair will sometimes recover, and all is fine.  These hang times varied from less than a second to several, but fewer and fewer times did the hang exceed 10 seconds.
DISCLAIMER: I messed with my Registry on my own computer.  Do not do this unless you are a trained Windows technician; you could damage or destroy your operating system or hardware.  Don't say I didn't warn you!
Update 9/19/19:
Nvidia came out with a "studio" driver update just last week.  The studio version is meant for "production users" as opposed to gamers, so I downloaded and installed.  It's been a week now with no die-and-reboot.  Things are looking up.  I've been switching from Blender to a browser (Firefox) to GIMP to Camtasia with no problem.  It's only been a week, but I used to get these every day before.  Maybe the Nvidia driver was it.  I'll wait a week and then reset my TDRWATCH timeout to default and see what happens.  One thing I did notice is that a really heavy graphics use will sometimes "pause" for one to 5 seconds and then resume.
Here's hoping.

Can you send me the link to the studio  drivers

Here's the page I got it from.  Note that I had to specifically choose the Studio Driver.  You should of course use your computer's info.
https://www.nvidia.com/Download/index.aspx?lang=en-us
I followed this link just now, and I got a driver dated 2019.11.18 - later yet, so I guess they're still changing things.  Mine is from 2019.8.7.
For the record, I haven't had one single crash since, and I've stressed it with big cycles renders in Blender.  Of course, Windows 10 has done several updates in the meantime, and Dell did an update, but I think that was for other stuff.  Good luck.

Thank you for the link.

Lumiere-V0.3-for-2.8-master.zip free addon
corrupts render animation and pyton scripting
and many other functions of blender
I removed the free addon and reinstall blender 2.9 /2.8
Blender is in excellent condition

I had the same and it ended when I disabled D-NOISE addon (from NVidia). Still testing though.

Disable Render > Performance > Final Render > Persistent Images.


text:
Where is the shadow catcher in blender 3.5?
I can't seem to find the shadow catcher in blender 3.5. Did they moved it or is it a bug and it's just not there?

Do you mean this?  Object Properties -> Visibility pane
You have to be using Cycles engine.