text:
custom layout (via scripting)
I am trying to transform blender interface my idea is to display only the 3d view, showing only the green area:

I want to remove the main toolbar, timeline, outliner and properties panels
So my first question is, is that possible ?
The second is, can someone point me in the right direction =)
Thanks in advance
Ghus

possible duplicate of How to close view windows?

You could always just press Shift + Space.

I want to make this changes via scripting

I wrote about issues with joining areas here: http://blenderartists.org/forum/showthread.php?335823-custom-menu-for-views&p=2640545&viewfull=1#post2640545

Can you explain why scripting is needed for this?

Press Ctrl-Up Arrow (Cursor up) while the mouse pointer is in the viewport.
This wouldn't remove the main toolbar but is reversible by Ctrl-Down Arrow (Cursor Down).
You could get rid of the OS/Window-Manager decorations using Menu: Toggle Fullscreen Alt-F11.
What you (probably) want is this:

Select 3D View Full and drag the main menu away.
From python you can select a manually prepared screen layout (save in the .blend) by:
bpy.context.window.screen = bpy.data.screens['screen_name']

Note that this leaves the info editor open.

Hi thanks for your suggestions but what I was really looking for was a script to make my changes more definitive and have a easy way to share this modifications.

@Ghus - "I was really looking for was a script to make my changes more definitive" ~ it would help if you explain more of why this answer isn't useful to you.

Would it accomplish your mission to follow the instructions at https://www.blender.org/manual/getting_started/basics/interface/window_system/arranging_frames.html ?

hi bob
thanks for the quick reply, i would prefer a scripting since i pretende to share this with other persons. Basically I am trying to make a simple 3d modelling program without all of this features.

@Ghus The layout is saved in the .blend file, so you could distribute it that way..

@gandalf3 do you know how to reach the startup.blend file? I can't find it in my hard drive

It should be in the user or system directory.


text:
Textures on animated boolean moves with object
I want to ask you about the settings for a texture in an animation I'm making.
It is just a cylinder going through a cube and making a hole in it. It is working with a boolean  modifier set in difference mode, but the hole gets the texture of the boolean and moves with the cylinder. I need the texture stay fixed when the cylinder moves. I have tried all the configurations and can't find a way.
Please help!!

Can you post the Blend file. I haven't done that kind of animation so I'll try to figure out the problem.
You can post files at "http://www.pasteall.org/blend/"

Hi Ray, thanks for your answer. You can download de .blend file and a video of the animation. It is a perforation in rock soil, and the idea is that the material inside of the perforation tube stay fixed with the soil (don't move with the hole). LINKS: .blend: http://www.mediafire.com/download/a7otv8c220bb40d/Perforation.blend  Video: http://www.mediafire.com/watch/sc0019vfec1ogp8/perforation0001-0081.avi The file was worked in blender 2.69 because of a bug I find in the boolean modifier in the latests versions. Thanks a lot!

Ok, my error here is the .blend link again.. http://www.mediafire.com/download/c3hwq5boj5zkh5w/Perforation.blend

First start by making the texture "stay fixed" on the cylinder.  You can probably accomplish this by making a longer immobile cylinder which is then boolean intersected with a moving cube.  Then use that composite object to make the hole in the cube.
http://www.pasteall.org/blend/31488
The sample blend illustrates this.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Generate/Booleans#Materials documents that any new faces created in the process use the first material slot in the object hosting the modifier.  You will notice the cube has two materials.
You will notice that I have hide_render=True (the camera icon is greyed out in the outliner) for the drill objects.
The immobile drill cylinder has a UV map I created by marking seams and unwrapping with a cylindrical projection.

Please add some more details on how to do this.

Hi Mutant Bob, thanks for your answer. there is no second material in the stack. The file you send me looks like you can get the texture fixed, but I can't understand how.. I'm going to check the file in detail. My animation is a perforation in rock soil, and the idea is the material inside of the perforation tube stay fixed with the soil (don't move with the hole). LINKS: .blend: http://www.mediafire.com/download/c3hwq5boj5zkh5w/Perforation.blend Video: mediafire.com/watch/sc0019vfec1ogp8/perforation0001-0081.avi Thank you!

"You can probably accomplish this by making a longer immobile cylinder which is then boolean intersected with a moving cube. Then use that composite object to make the hole in the cube."

source: Stack Exchange

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

sort: votes


text:
Saving animated render from compositor (with denoise)
So basically I'd like to denoise an animation I did, and I know the settings to achieve denoise on the compositor, but it only really shows me one frame of it. When I try to save the render result, it only offers me the option of saving as a PNG as opposed to a video format. How do I go about saving the whole video, but denoised? Do I have to re-render the whole thing?
Note: I composited only after I finished rendering the whole animation

The rendered frames not stored in Blender, you have to save them while rendering. Use the File Output node in the Compositor. Save all frame in a folder then create an image sequence in the Video Sequence Editor, and render it as a video file.

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


text:
making a blender addon (in python) that has a keyboard shortcut and works in edit mode (not object mode as per example)
I am trying to make a blender addon using this template (last example on page):
https://docs.blender.org/manual/en/latest/advanced/scripting/addon_tutorial.html
I have successfully got my addon to work with a shortcut (I override the plus and minus keys), but when flicking to edit mode, the shortcut no longer works.
The example only shows how to make a shortcut for object mode.
How can I make a shortcut for edit mode?

i found you can use the keymap word "Screen Editing" instead of "Object Mode"
object_mode_keys = wm.keyconfigs.addon.keymaps.new(name='Screen Editing', space_type='EMPTY')

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


text:
Keyframe non IK bones
I've created a somewhat working IK rig for a video game character that I would want to animate for use in the game through modding.
My issue is that when I move my IK bones and set a key frame for all the bones, the ones that are moved by the IK only have a solid line in the dope sheet indicating that nothing has changed, so they stay still when exported and imported into the game for the character to use.

Is there a way to keyframe bones that are moved by IK bones?
Edit: This seems to work
How to use root motion with inverse kinematics?

Related: https://blender.stackexchange.com/questions/151002/how-to-use-root-motion-with-inverse-kinematics/151063#151063

Thank you!
That seems to have worked, too bad my rig has unrelated issues making it incompatible.


text:
Screen lag during GPU rendering
GPU rendering causes some screen lag while rendering, with the amount depending on how heavy the render is. I understand this is due to the display driver being busy.
What I don't get is why it happens on a computer with multiple screens and graphics cards. I have 3 screens: 1 running on a GTX titan and running Blender, and the other two on a 770. When I render, it is only with the Titan. So why do my other two screen running off the 770's also lag? Is there a way to stop this?
System info:
Windows 7
GTX Titan (primary screen)
Geforce 770 (second and third screen)
32gb RAM
CPU: Intel i7-4771 quad core, 3.5GHz.
I have had this same problem on previous systems with different graphics cards and CPUs (but always windows 7.)

Are you sure that you are rendering on the Titan and displaying on the 770?
Or rather, are you sure they are not by accident linked in the Nvidia Panel?

@AdamTM I'm sure that the 770 is not enabled in Blender's settings. I'm not aware of them being linked in the Nvidia Panel. What settings would that be? They are not in SLI (and couldn't be.)

I have a similar setup with one monitor hooked to a GTX 580 and another to a 980Ti and I also experience some cross lag, never could quite solve it or understand why

What OS? What CPU?

@bertmoog added more system info to main post

Have you tried turning down the threads under "Performance" and "Fixed"?

I once tried using a 660Ti and 970 together, similar situation happens.  This is an issue that might be caused by both software and hardware.  The PCI-E lanes on a motherboard look the same, but their speed are mostly different.  Your 770 or Titan might have been bottle-necked.  Also, the OS might have problems handling 2 different graphic cards.  The performance gain I have when I use both cards are not much different then just using a single 970.  Now I just use single 970 since my motherboard couldn't handle 2 Video cards anyway.

@TeaCrab I do get solid gains in render speed when using both cards, so I'm not concerned on that front.

@Drudge My 660TI is a defect, confirmed. haha

This may not be the answer you're looking for, but I'm pretty sure it has to do with how Blender interfaces with the GPU and how the Windows kernel reacts to that.  When the OS gets an interrupt requesting the GPU, it's put into a queue until the GPU becomes available.  When Blender gets assigned the GPU, it doesn't let go of it for an eternity in processing time... say, 60ms or so.  During that time, the Windows Desktop has to wait on Blender before it can update.
You obviously know that the most efficient way to render is by keeping the GPU load as close to 100% for as long as possible.  In order to do this and keep the monitor updating the screen, lag is introduced when the GPU becomes unresponsive for short periods of time.
When the driver becomes unresponsive to the Windows kernel (i.e. when Blender is using it)... it must wait until it responds.  You can see this when you enable Branched Path Tracing in the Sampling options.  If you set the samples too high, the GPU will become unresponsive long enough that Windows will actually reset the GPU driver and crash Blender (the operating system doesn't like when it's not sovereign over the affairs of the PC).
The point is that Windows is monitoring this.  When the Titan is your primary display and it goes unresponsive, the OS takes it's cues from that driver for the desktop display.  In other words, if Windows can't display the desktop at 60Hz refresh on your primary monitor, then it won't on the others.  I'm pretty sure Windows uses a complex queuing system for sending and receiving messages from the display adapters to keep them all in sync.
I don't have multiple monitors but I have multiple GPUs.  When I render with the two GPUs that are not hooked to my monitor, I get zero lag, and I'm running Windows 7.  You can try using the 770 as your primary and render using the Titan, but if my guess is right, if Windows is using the Titan as a display device, the 770 will also lag.
Maybe someone else will have a more promising answer/solution.  It's possible that Microsoft changed the way that it handles multiple displays in version 10, but I have no experience with it.

I've heard something along these lines before, so that is probably the case. I guess then I either need to use only the 770 for displays (a hassle, and then I lose my titan for gaming) or try to find some way to tell windows not to keep them all in sync, or whatever it's doing. I've dealt with the problem of it crashing if unresponsive too long in the past. There's a number in the registry you can change for how long windows will tolerate. Perhaps something similar here?

The registry entry will only keep Windows from resetting the driver.  The lag will still be there.  Like I said, I don't have another monitor to test, but I'd be interested in knowing if you used the 770 for primary display, rendered on the Titan, and used the Titan for secondary display, if you would see lag.  My guess is that you would.  I don't know if there's a way to change how Windows handles display interrupts.  It might be a single queue for all adapters, therefore, there's no "getting out of line".

It's the same as if you were gaming on triple monitor system, it wouldn't be right to have one display running at 60fps, one at 25, and one at 40.  All three should be synced at 25.

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


text:
Build a proper Cycles shadow pass in the compositor
I am working on a project that requires me to have control of shadows in the compositor (specifically, to darken or lighten them.) In BI, I would simply take the shadow pass and ramp it, them multiply it back in. But my scene involves mesh lights, and the Shadow pass only has Lamps and Environment lighting.
It seems that it should be possible to get the info I need for mesh lights from Direct Passes, and for indirect light from Indirect passes. But I am stuck on how to do this without also getting too much other info from those passes. From googling around, I've seen that others have run into this problem, but I couldn't find anybody that had actually tried to solve it.
Does anyone know a way to do this? Or can it be confirmed that it cannot be done for some reason?
EDIT: It is not enough to get shadows cast on other objects, which is covered by some other answers. I need the shading on each model itself as well. This is not for a shadow catcher, it is for isolating both cast shadows and shading so they can be worked with.

A really proper solution currently needs some renderlayer tricks which get complicated with more complex scenes. Ideally we'd have a "shadow catcher" shader in cycles, but we don't yet :/

I'm voting to close this question as off-topic because it appears to be a feature request

@GiantCowFilms it's a request for a workaround. Sure, it could be solved by a new or expanded feature, but that's true of many questions that get asked. But I found a solution.

I was able to solve it in the end by darkening certain passes before combining them. The usual combination method is Direct Pass + Indirect Pass multiplied by color pass. The Direct+Indirect contains all the lighting and shadow information, but does not have any material colors to throw off the ramping.
I took the direct+indirect, ramped it to get a mask of the desired darkening, then multiplied the direct+indirect by it. Then I multiplied by color, completing the combined pass. This was also done for the Gloss using a different ramp for more artistic control.


text:
Armature not in edit mode
I have a script that creates an armature in the first run, and then finds it in the second run. When I try to add a bone to it in the second run, I get this error: Armature 'Armature' not in edit mode, cannot add an editbone.
if armature_name in bpy.data.objects.keys():
    armature = bpy.data.objects[armature_name]
    armature_data = armature.data
    print ('armature found')
else:
    bpy.ops.object.armature_add(location = (0.0, 0.0, 0.0))
    armature = bpy.context.object
    armature.name = armature_name
    armature_data = armature.data
    armature_created = True
    print ('armature created')

#I was in object mode before
bpy.ops.object.editmode_toggle()
#Also tried bpy.ops.object.mode_set(mode='EDIT')

#This crashes the second time
bone = armature_data.edit_bones.new(bone_name)

What am I doing wrong? Why am I not in edit mode? It seems that I am in edit mode, but the armature thinks I'm not.

It turns out the problem was that the armature was not the active object. To make it the active object, I had to deselect the active object and then set the armature as the active object.
ob.select = False
bpy.context.scene.objects.active = armature
armature.select = True

It's more reliable to tell Blender which mode to switch to instead of relying on editmode_toggle(), because there's an enter editmode option, so you can't be sure what mode an object is in after creation:
bpy.ops.object.mode_set(mode='EDIT')

BTW: this is better than your current code:
try:
    armature = bpy.data.objects[armature_name]
except KeyError:
    # create armature

I've tried mode_set as well as toggle, and the problem is the same with either. I was using toggle as that was how it was done in a code snippet I was referencing.
I will try your suggestion, thanks!

I've given it a try, and this does not fix the problem :(

authors: Игорь Токарев


text:
Using shin/elbow twist bones?
I see lots of character rigs have the shin bone split into 2 or even 3 pieces. Why is this done? All I can find is that it has something to do with the ankle? It seems to be a common practice, but does not seem to be done in game rigs.
EDIT: I have found from another source that these are twist bones to deal with distortions from rotating a bone at it's root (in this case, the knee or elbow.) How do I use these correctly?

The previous answer is wrong.
The reason sometimes you see a bone or sometimes multiple bones in the middle of a limb section such as in between the shoulder and elbow bone, or in between the elbow and wrist bones is for volume preservation during twisting.
Do this:
Stick your arm forward palm down.
Now just turn your palm up but watch your forearm.
You will notice that your entire forearm twists smoothly across its length!
but if you turn your hand to the side or up and down, just the hand turns.
The idea of placing a bone in the middle of the forearm is to separate the twist from the other bone rotations for better skin weight deformations.
the same applies to the upper arm. if you stick your arm out to the side and twist your arm, you will see that your bicep muscle kind of sort of smoothly follows the twist of the arm WHILE the deltoid DOES NOT! so the idea of placing a joint in the middle of the bicep is, again, to separate the twisting from the other two rotations for better skin weight distribution.
If you can get away with more twist bones, the better as they will help preserve volume better than a single bone.
the same applies to the leg.
If you twist your leg, the big leg muscles near your hips will do little twisting and your gluts will do very little.
And same with your calf if you twist your foot HOWEVER the effect is much much smaller there.
If you want more help understanding this, look into the "Cane Toad" rig for Maya. Variations of it are kind of the standard across platforms.
I'm actually trying to find out if it's easy to setup something like this in blender before I decide to switch to it.

Many rigs have two sets of leg and arm bones, one is used for animating with FK (forwards kinematics) and the other for IK (inverse kinematics). These rigs will also have a property to choose which one is in effect and use a common bone layer to make it easy to show/hide each set of bones.
Sometimes an extra bone may be placed in the middle of a main bone to allow 'tweaking' the limb. This tweak provides a way to bend the limb, usually for more cartoony effects.
The feet often use several bones that provide multiple pivot points, which make it easy to lift the foot up on the toes or rotate it back on the heel.
Many armatures are custom built for a particular model, the animation planned for that model can influence what the rig is designed to do. Extra bones get added to provide some sort of extra movement that will be unique to that model, some are used for deforming parts of the mesh while others are only used as controllers to make moving other bones easier.
As for games, the less there is to work with the quicker it is to draw on screen, for the same reason that games use low poly models, they can also use simpler armatures to help maintain performance. During game creation a more complex rig can be used, then the simple rig can be calculated and saved for game play.


text:
Child of constraint and moving rig in Object mode
I have a character wearing a belt that's giving some problems. Here is the setup:

Several Empties are the children of vertices on the character
Each Empty then has a bone attached to it via the Child Of bone constraint
The Child Of constraints needs Set Inverse pressed or it offsets away
The belt mesh is controlled by these bones

So as the character moves, the belt moves with it. This all works just fine in pose mode. However, if put the character's rig (which the belt bones are a part of) into Object mode and move it, then the belt mesh moves in the opposite direction. This is fixed if I hit Set Inverse on the Child Of constraints again.
Normally this isn't a problem because if I am moving the whole character, I am going to do it in pose mode via the root bone, or if I'm moving all the characters objects, I move an Empty that all of its objects, including the rig, are child of. This all works fine.
The problem arises when I Link the character into a new scene and proxy the rig. Normally what I do is make the Linked character group a Child Of the proxied rig Object so that I an conveniently move them around (if you make the proxied rig a child of the group object, it behaves strangely.) But when I do this, my belt starts flying away again.
I know this problem is something to do with the parent/child hierarchy and the rig's object origin moving away in relation to the Set Inverse, so I experimented with different ways to set these objects up. What I've found is that if I proxy the Character's empty that I mentioned above, and make it a child of the rig proxy, then I can move the rig and everything works. But the linked group object has to NOT be a child of either, otherwise the problem comes back.
I've also tried making the belt objects the child of the rig object in the character's file, and making them a child of an empty that is a child of the rig object, and making them the child of the body object, but none of that works.
If anyone can explain to me exactly what is going on, or let me know a better way to fix or do this, or another way to rig this belt that doens't need child of, that would be great.

Can you provide a sample file? (or @CosmicDevGuy) Thinking a handler or modal script could be written to set inverse on modifier while in object mode. (more a workaround than a solution)

@batFINGER the file in question is for a client, so I can't share it easily i'm afraid.

Tried making an example and get a cyclic redundancyi the character mesh depends on armature via modifier, the empty(s) relies on mesh thru vertex parent, the armature depends on empty via child of constraint.  If I make the belt rig separate and parent it to a bone on character rig all works as expected.

After much more experimentation, I found a proper solution:
The offset is being caused because as the rig object is moved, a transform is being created by the Child Of constraint. This is because relative position of the parent object is changing. I don't fully understand the details of what's happening, but the solution is to use Pose Space in your constraint, as this ignores the offset of the armature object.
The problem is that Child Of does not have the option for different spaces. It is always World Space. The solution is to attach the bones to the empties with Copy Location and Copy Rotation instead, which requires the bones to have their axis match the empty object's. Then use World Space to Pose Space, and the problem is solved.

I've always found that parenting gear such as clothes, etc. to an armature bone would be sufficient enough to handle animating the character, armour, belts, etc. and also moving the character around in Object Mode all the same.
After testing the "Child Of" constraint on a simple mesh with a single armature and a "belt" (reshaped Sphere) I noticed the problem you described - the object always moves against the direction of the bone/armature.
All in all, I think it may be worth considering the option of directly parenting (Ctrl + P shortcut) the belt and other objects to the bone that controls them (i.e. via "Set Parent To" -> "Bone" option) and then other necessary parents (e.g. bone(s) to empty parent through "Set Parent To" option) and see if this method doesn't work better for you.

If you dont mind me asking, how did u parent each bone to an empty ? because the only way i manged to do it is by parenting the whole armature to the empty. not individual bone

@Abukaff I don't have access to blender right now but from memory you should: Make sure Armature is in "Pose Mode" > Select your "empty" object > With the Armature still in "Pose Mode", then select (click) on the respective bone you wish to parent to, then follow the above action (i.e. "Set Parent To" -> "Bone").


text:
How to find the best place to set up the vanishing point axes in fSpy?
I'm aiming at the accurate recreation of this shot in Blender using fSpy.

I'm struggling to find the best place to set up the vanishing point axes.
This is what I have done so far.
https://prnt.sc/ubxvco
If I put that fSpy file in Blender things are close but not quite right.
https://prnt.sc/ubxxmw
Should I just go with what I have and try to fudge it, or have I just picked an image that is impossible to analyse?

Hello :). You're almost there. The closer Z axis isn't properly aligned (try using the white building with tiles). And you can get better precision for the Y axis by putting them farther apart (e.g. left and right curb) .

Hi Jachym, if i use the close building for the Z axis (https://prnt.sc/uc083q) I get this result  https://prnt.sc/uc08co

it also doesnt help if i use the left and right curb https://prnt.sc/uc08co

Hey :). You're right, the photo seems to be somewhat distorted. Perhaps some photographer can explain what exactly it is.

Fspy calculates the camera placement and field of view based on perspective, by tracing lines that would be straight and parallel in the real world, but in an image they converge towards a Vanishing Point.
So try to find the lines that give you the best sense of perspective and fspy will do the rest.
In this case the vertical lines of the building would work fine (most buildings are indeed vertical), and it gets a bit trickier on the street.
The lines you are using are setting in fspy seem too short, specially the vertical ones, extend the lines so that you trace most of the building.

Set the horizontal lines a bit further apart so that you get a better sense of the perspective.

Hello :). Just a follow up - You mentioned something about perspective corrections before, could you elaborate on that a bit? It seems to be relevant in this case, since the photo seems to be distorted in a weird way :).

@JachymMichal if the picture has gone through any kind of perspective correction, then fspy will not work. but in this picture that seems not to be the case.

This image seems to have been cropped and its principal point is not in the middle.
Luckily this is a 3-point perspective (the easiest case) so it's enough to set 3 vanishing points in fSpy and it will do its job automatically.
Take a look at my Complete fSpy tutorial, as it covers all its options:
https://youtu.be/daiMOYR8GS8


text:
How can I change the resting position of a rig from T-pose to A-pose

The avatar is in a T-Pose and the weighing etc. works, but I want to put it in an A, standing position so that I can more easily create clothing for it. But whenever I reposition the rig, the weights break and nothing wants to work. I wanted to try making a new resting position to see if it works, but I do not understand how to do it. I've read multiple logs and don't understand any of them.

Please use the builtin image upload feature in the editing toolbar only, your images are not easily visible. Also edit your title to be descriptive of your problem.

I think you need to do two things, reshape the mesh to the new pose as well as make the new pose the rest position of the rig. This and this should help with the rig. I think go to the new pose and then apply the armature modifier to reshape the mesh, then alter the rest pose of the rig and create a new armature modifier, you won't need to re-parent and weight, just add an armature modifier and select the rig.


text:
Best Way to Combine 9 sided NGon in Scooter Model
I need to fix the topology on the seat piece of the scooter here so that there isn't any pinching, but still maintains a somewhat square shape. How would you go about fixing the massive 10 sided (I think) NGon in the screenshot?
The Blend File

why don't you simply do something like this: https://zupimages.net/up/18/45/hcu8.jpg

also you could separate the meshes, especially when they are completely different objects

@moonboots not necessary. That's more work than needs to be done.

actually sometimes it much more easy, for example here I don't see why keeping only one mesh, even if it's a nice challenge

Solid objects like this don't need to be separated, though. When I made low-poly chess pieces, I didn't bother with having separate meshes. I think it depends on what the final goal is, too. And for exporting (I'm presuming that's what he'll end up doing), it's not going to work if he doesn't join all meshes together.

maybe in some cases you must not separate some meshes, I don't know


text:
Why is moving objects, on the Z Plane, so unprecise?
When I look through the camera and try to move objects in the scene while constraining their movement to the Z-Plane (G, Shift+Z), the tiniest movements throw them from one side to the other.
But this only happens sometimes.
Other times I can move them precise and without a problem, so surely I must have hit a button that does that.

When translating constrained to a plane, the mouse motion is translated relative to that plane. This is fine when the 'view' is relatively distant to the plane but if the view is close to the plane of motion then any small movement can be drastically amplified (for example, moving the mouse slightly 'up' can result in the object disappearing into the distance).
To test this, simply open the default scene. Select the cube and G to grab it, then Shift+Z. Note that when you move the mouse the motion of the cube closely matches. Cancel the movement by pressing Escape so the cube returns to the centre.
Now move the view so that you are close to the plane of the grid like so :

Now repeat the above keystrokes to grab the cube constrained to the plane. Move the mouse up/down and see how it now behaves - it will shoot off into the distance as the mouse moves up. The motion is relative to the plane - since the plane is at a very shallow angle in the view, small vertical motions correspond to large changes in distance.
To avoid this issue simply ensure the view point is not close to the plane of motion.

My problem is not with the general concept. Problem is that  i cant move the mouse at all without it shooting off. I have worked in the same scene, through the same camera, with the same objects before and it worked fine.

@JensClar If it's not the same as described then perhaps you could provide more info - it's very difficult to diagnose without seeing it happen so if you could capture an animated gif or video or a blend file that shows the problem and edit it into your question that would be useful.

Now its back to normal. I'll either edit this question when it happens within the next days again, or i'll have to ask a new, more precise question with additional info and a .blend once this one gets burried under the new submissions.

You can also try holding down shift as you move the object it slows down the movement speed and snap increments

I know that if your object is parented to something else, it can make it harder to move precisely (depending on your situation), but you can also type in numerical values for how far you want it to go. Select your object, push "g" to grab, push "z" to constrain to z plane, and then a number that you can change to your liking. Sometimes that works better for me than to use my mouse to drag the object.


text:
How to make Regular gaps/holes on a wall?
I want to model the great wall of China, but meet some difficulty with these gaps on the wall. As you can see in the picture below, there is a lot of regular holes and gaps on the wall left and right side wall.

(source: worldalldetails.com)
and here is my idea on this object, I want to use a path and bevel it with another curve (the unselected one). Although this gives me a approximate shape, but without these holes and gaps in the real photo.

Is there any tech or addon script helps? Thanks for any suggestion.
===================
New problem:

You can create one segment with all the details, then add array modifier and curve modifier to follow the selected curve.

@Denis it looks very well when the curve is approximately to be a line, but when the curve is really 'curve', segments will change their shape slightly. How should I fix that?

Can you add a snapshot where you have the problem?

@Denis The screenshot have added.

You can't avoid distortion while bending the object, you can do shape correction after applying the modifiers.

@Denis okay, but I want to give texture to the single segment as it is harder to map uv for a curve object, do shape correction will change the texture, is there any better method to map this curve object?

@DavidPage why won't you just texture the model first then add the modifier later on?, and i think your model is too big (z axis) so the distortion is occur to happen.

@noob.blenderhead I mean how to avoid texture changing caused by shape correction.

@DavidPage Correct me if i'm wrong, but couldn't you just re-project the model (that have been shape corrected) with the texture and edit it in uv/image editor (i think you need to rephrase your question for easier understanding on the community part :])

@noob.blenderhead oh, you are right. It's my misunderstanding. Thank you.

@Denis I found I cannot move the wall properly. after I set the modifiers, press g ,x and move my mouse it moves along the curve but not along the x axis. How does that happen?


text:
How to introspectively modify nodes from Python
Ok, this is quite a weird case.
TL;DR

Why (and how is it Pythonically possible that) Blender's nodes dont have the __dict__ attribute.

How to programatically add attributes to them without this attribute. (No, I am not going to use exec(), thank you very much. The incoming data is royally untrusted.)

First problem
I am trying to deserialize a bunch of nodes that I previously saved to JSON. I have one somewhat working solution to this, but it involves exec(). The basic idea is that I have an assignment written like this into JSON:
"a":b
Which should as the file is read become:
<reference to newly created node>.a = b
However I don't want to run the actual thing for security reasons, so what I actually want to do is this:

Add the field a to the node
Assign the field to whatever b is. (B is always a litteral value)

So, naively I tried this:
<reference to the node>.__dict__[a] = b
Python didn't like it:
'ShaderNodeMixRGB' object has no attribute '__dict__'
Yet when running dir() on the node, '__dict__' shows up. As the very first result, to be exact.
I find all this very puzzling: I didn't even know an object in Python can exist without a __dict__ attribute. Now I know the nodes are some kind of twisted wrapper around C and in some cases the very C is a wrapper around OSL. But still?
Nevertheless, I continued my search. Trying a static assignment on the node didn't work. (By this I mean <reference to the node>.foo = "bar". It seems to be blocked by __slots__. A simmilar assignment worked in the code with the exec(). And I honestly can't say why.
At this point I started thinking something was terribly wrong with my machine. I switched over to another, which had:

A different processor architechture
A different operating system
A different version of Blender (the first thing was with an unstable one)

but still it had the same problem. Thinking some external factor had changed, I tried the old code. And it worked.
So what is going on?
Second problem
One may set an attribute's attribute's value (<reference to node>.inputs["foobar"] = "baz" being the most common case) in the file. This works like a charm on the exec()-based version. However, I don't see how I could make this work withous exec().

brecht's advice to use setattr(node_reference, 'property_name', property_value) should be the non exec() equivalent. We use it in Sverchok to import / export node trees as .json ( see https://github.com/nortikin/sverchok/blob/master/utils/sv_IO_panel_tools.py )

For reference python objects can be created without a __dict__ - read about __slots__

Blender data does not have a __dict__ because it doesn't persistently store a Python object for all data. That would be very memory inefficient.
Set value for built-in and user defined properties of the node type:
setattr(node, property_name, property_value)

Set node input socket value:
node.inputs[socket_name].default_value = socket_value

For properties for one specific node you can use the method mentioned in the other answer:
node[property_name] = property_value

Thank you. The honorable mention goes to TLousky, who did do a good job at trying to understand my deranged ramblings.

You can create and set a value for a new custom property in a slighly more intuitive way:
t = bpy.context.scene.node_tree
n = t.nodes[0]
n['a'] = 1.2

>>>n.keys()
['a']
>>>n['a']
1.2

No need to use the dict explicitly, the node behaves a bit like it has a built in dict anyway, which you can access with keys() and values(), or directly as shown above.
If you actually want to add an attribute to the node, you can do that by altering the node type. Here's an example specific to CompositorNodes:
bpy.types.CompositorNode.a = bpy.props.StringProperty()

>>>bpy.context.scene.node_tree.nodes[0].a
''

>>>bpy.context.scene.node_tree.nodes[0].a = "Hello World"

This will add an attribute "a" to all compositor nodes.
Of course you can find the relevant type for other nodes in bpy.types, and alter those as well.

This is very interesting. Thank you very much. But that doesn't solve the problem itself, sadly. What I want is to set an actual attribute. (If we look at your example, I would want print(n.a) to output 1.2.

My point is to serialize a setup and deserialize it. This requires me to procedurally set attributes. But thank you very much anyway.

Alrighty, that's possible too, see updated answer

Still missed the mark by some but we are getting there. I don't want to add properties to multple nodes. Just to one at a time. When I say procedurally, I mean "no idea what property, node or value it will affect". At least no idea at write-time. Also, if it matters at all, I am working with material, not Compositor nodes.

And not neccessarily add. It could also be crushing an older value.

Don't think there's a simple way to add a custom attribute, accessible with dot notation to a single node. Does it matter if you add props to all nodes then assign values only to some? Default values can help you discern between those that were assigned values and those who weren't. You're looking for bpy.types.ShaderNode for cycles material nodes BTW.
Won't be a problem to create attributes, access nodes or set values dynamically.

I know. I have been fighting with this for hours. The wicked thing is that when I run the version with node.foo = "bar" inside exec() it works like a charm. And when I don't there is no way of doing things. I can't begin to understand why that is.

@TLousky I have thousands of objects for which I need to update their materials' nodes/links using Blender's Python API. I am pretty new to nodes stuff in Cycles and I haven't been able to wrap my head around how I can do that. I wonder, do you know how one can do that? If so, could you please take a look at my question here and see if you can offer a solution?


text:
Trying to create a glossy black plastic
I am trying to recreate the attached material, which is a carbon fiber injection molded composite. I've done a lot of research on Levels and shader nodes, and this is my best approximation of the material so far. I'm fairly happy with the texture (I would love to get it more accurate), but my primary issue right now is recreating the glossy sheen on the material. I've tried mixing a glossy shader node in the last step, I've tried to adjust the fresnel to give more weight to the glossy shader in that section, I've tried to adjust the principle shader with a higher specular, sheen, metallic, and clearcoat, but nothing seems to give any sheen to the plastic in the final render. Any thoughts or advice is welcome.

You're missing a Displacement node right before the Material Output

What's your lighting, for a start?

Why not just reduce roughness on the material panel?

Are you using cycles or eevee?

I'm using Cycles, with an outdoor hdr lighting setup. I've conducted similar renderings with a couple area lights (to simulate ambient lighting) with similar results.

I think your graph may be too complicated for its own good, so to speak. What I mean is that I think you can forgo a lot of the complex shader mixing and go with something simpler. Since you are using a Principled BSDF (which is basically every shader in one), you can just stick to it alone.
That being said, a common way to get a Roughness map (for textured plastics) is to invert the Bump map, and then adjust it to your liking. The reason for this is that you can imagine the outermost of the "bumps" has encountered the most wear , and therefore has become a bit shiny. You can control its effect rather well with a ColorRamp and a Bright/Contrast node (Note in the image below, I inverted the sliders on the ColorRamp to invert the image, hence why there is no invert node).
You can leave the metallic at 0 because it is a plastic (non-conductive), but I find plastics like that usually benefit from a very small amount Subsurface Scattering (because the thinnest parts let some light through).
Lastly, I think you can forgo the Displacement altogether, as the value you are using for the Noise is high enough that the displacement effect will need an enormous amount of subdivisions to display properly (if using cycles), and will not make much visual difference in eevee, and will likely only act to slow down the shader graph and the render.

Very nice. I especially like the generally useful roughening of bump peaks. Just for myself, i was looking to see whether I could extend this to get that kind of [exposed to too much UV, about to de-laminate?] hint of a  mica-like, cloudy surface layer. It's not really evident in this reference.. But to be strictly comparable, I wanted to see the rest of your tree, if there's not  too much of it to include?

The offscreen part of my node tree is the same as the OP's example (noise textures and colorramps) matched value for value, however, I just noticed I forgot to switch my MixRGB nodes to Lighten from Mix, so I guess I'm only getting a fraction of the noise mix as the example image.

Ahhhh. OK. Thanks.


text:
Objects in texture and material view appear black
I downloaded the .fbx file and used Principled BSDF for apply textures like in this video  https://youtu.be/9NjMeAFkm3s. Everything was okay (objects were been colored in Texture and Material View) until I reopened the .blend file.
Problem:
When I change from Solid to Texture and Material View my objects appear in black, but in Render View it still in color. When I choose Texture Paint, objects appear in white and I can not paint it (nothing happens). In UV/Image Editor the object has image and I can paint only the UV map (but object remains white in viewport).
I use Blendeer 2.79b and Cycles Render
Attempts to solve

I have a light source
I tried recalculating the normals
I clicked ImageColorTexture in the Node Editor
I checked out many solutions posted on the web

Also I have the same problem in another file.
Attach my .blend files
https://drive.google.com/drive/folders/1ShUylwewaqJwfKHZEizU1Ht8FoBQq-xD?usp=sharing
Originals from Sketchfab:

1 file in the 1.blend:
https://m.vk.com/away.php?to=https%3A%2F%2Fsketchfab.com%2F3d-models%2Freal-suit-for-ray-ii-retopo-3e543b8199f548cf99077c89929888b5

2 files in the 2.blend:
https://m.vk.com/away.php?to=https%3A%2F%2Fsketchfab.com%2F3d-models%2Fleather-gloves-ad7e72b634354a2daafa09a6ae085a24
https://m.vk.com/away.php?to=https%3A%2F%2Fsketchfab.com%2F3d-models%2Fblack-leather-glove-c954a6160ee34548a1b0ea538f3b92dd

I don't have 2.79b, but I have tried your files in later versions of blender and they seem to work fine.  Is it possible for you to upgrade your version of blender?  I'm using 2.93.1 but that's very different.  Can you at least upgrade to 2.83.16, which is the long term support (LTS) version of 2.8?  On the other hand, I looked at your shaders and as you have them they should work in 2.79b, I think.

Unfortunately, my PC don't support the newer versions of Blender. But I solved the problem. I restarted my PC, opened my files and they worked fine. So I just think it was odd bug.


text:
When I apply IK to the armature the knee moves weirdly
Im following this tutorial: https://www.youtube.com/watch?v=XkiWBSSuxLw but the knees never seem to work. Instead of moving like they want to, they rotate. I have tried adding more geometry but that doesn't work. My knees are bent slightly forward.
I have tried this tutorial twice with two different models.
here is my current blend file: https://pasteall.org/blend/a15407ee54f94d9fb89913873e906561

Your pole targets are too close to the knees. The knees will always point towards the pole targets, that's why they rotate as soon as they go beyond, to avoid that,just move the pole targets a bit forward:


text:
Why is there a white line on my Coffee cup?
I'm doing the blenderguru coffee tutorial and I need help. I've finished all the tutorials but there are still some problems. The glass looks weird and there is a white line in the coffee.

The white line seems to be the edge of the plate under the cup. Its because of the bright light on the edge that can be seen through the cup more then the rest of the material. I found myself I quiet problematic to set the transparency of glass to match the real life materiel, especially when you have multiple glas objects.

The fuzz on the coffee cup is because of low sampling. You can either turn up your samples, or try to use denoising. The white line could be any number of things, so I recommend you upload your blend file with blend-exchange.com


text:
Mesh Lagging Armature
I modelled a body to learn rigging then rigged the body but my model's fingers are lagging the armature bones in pose mode. When i check in weight paint mode everything seems to be correct to me. To check if i am doing something wrong i modelled a hand separately and rigged it which is working correctly. So i think i have made some mistake while rigging my body and rechecked it and could not find mistake and the side of hand.
Please Do guide me, why my mesh is lagging bones while deforming. Your inputs are highly appreciated.

Here is my blend File:>>>>> https://drive.google.com/file/d/1jboPdPqRHOuA3Rfr07e1w2sXshcZARSn/view?usp=sharing

As you can see in the N panel if you select one vertex of the pinky, it is also assigned to the Hand.L vertex group while it should not:

If you select the armature, then Shift select the mesh, switch to Weight Paint mode and select the bone called Hand.L you can see the vertex group called Hand.L that will be influenced by the bone. As you can see the fingers are all part of this group when they should not, they should only be part of the fingers vertex groups:

You can either correct that in Weight Paint mode with a brush in Blend > Subtract mode, or select all this part in Edit mode and in the Vertex Groups list, select Hand.L and click on Remove:

Thank You! Dear @moonboots your reply really helped.

I think you should mention the Auto Normalize checkbox which could cause weight painted groups to override each other.


text:
Mirrored the object then its edges got intertwined with Original
I was creating Human Model, Started with a cube cut it in half then mirrored, and started extrude, scale, rotate etc, when i reached at neck i noticed that original cube's faces/edges got itertwined with mirror object.
When i try to move vertices and edges manually and snap with mirror object it again does not work for me.
This will cause problem for me while joining neck with torso.
What do you think? i should be doing.

make sure that the Clipping option is enabled in the Mirror modifier, and also make sure that your vertices are on the good side, not the mirrored side

Thank you, It Helped!


text:
Adding Graphic Card Does not increase FPS
My System Specs:
i5-2.4-3.2
16 GB RAM
SSD attached
........................
Blender works fine but it lags a lot even 100 frames animation of default blender box takes an hour. FPS are at 3.5-4
In this anxiety i considered to attach a graphic card to my system i connected multiple cards with my system but FPS did not increase it remained same even when there is no animation. I connected GTX 1060 ^GB graphic card too but there was no difference in performance of blender, it still lags and gets held for simple Grass plane generation a lot.
I left graphic card there and did not buy thinking first i should know what is the problem which i am unable to understand.
So Please help me out understanding my problem. What is wrong with my setting. Please Note i had enabled graphic card from CUDa too.

Low fps depends on the complexity of your seen. No matter how high specs your computer has, if your seen is complex, your playback speed may be low. You may need to divide your movie into smaller scenes.
I think Slow playback speed is a known issue of blender. You need to disable all subdiv surface modifiers, avoid high resolution simulations, ...etc.


text:
Bridging the geometry of two parts of an object that were created separately
I am creating a chair and I created the backrest and the seat portion separately. I joined them and I want to model the transition between them but I don't know how to go about it

Here's the chair I'm referencing:

(source: chaplins.co.uk)
Link to my blender file:
https://drive.google.com/open?id=0BxtZBZThYAyjaHVjUEk2TFAxcFk
Thank you!

It's not possible to connect this meshes in actual state. Consider modeling beckrest also low poly and ten use Subdivision Surface modifier to smooth things out. Have in mind quad based topology and proper Edge Flow for easier use of Proximity Loops.

@LukeD is right.
You could in edit mode use select edge loop and Dissolve Edges (Ctrl+X) to decrease the number of edges of the armchair. Subdivide the lower edged parts to get more edges to work on. Try to conect these vertices now.


text:
Hook/parent/constrain to particle hair?
Is there any way to hook, parent, or constraint something to a vertex of a particle hair strand? Such as a hair accessory dangling from a braid that needs to move with the hair?
Converting the hair to mesh isn't viable, as I then lose hair dynamics and have to rig some other way.
Scripting solutions are fine too. There must be some way to get the location of a particle hair vertex or vertices from the API. Then you could have an empty copy it or something?

As hair particles, it will be hard to do this. You can convert the hair to a mesh in the Modifiers tab though.

I've found a method to do it. It's not perfect but it works :). It uses a Particle Instance Modifier.

Add a Cube (place its origin point in the same place as emitter's origin point). Scale it along the Z axis, then Subdivide, so it has the same number of loop cuts as the number of segments of your hair particles. Go to Object Mode and apply its transformations (Ctrl+A).

Go to Modifiers header and give it a Particle Instance Modifier. Enable the modifier's settings as pictured below.

It may not work properly though. If something's wrong just rotate your Cube 90 degress on the X axis (or Y, or Z, depending on your situation).

Now add an object which will be following your strands and rotate it perpendicular to your Cube. Select it, then the Cube and enter the Edit Mode. Select the opposite 3 vertices, as pictured below and press Ctrl+P-->Make Vertex Parent.

Go to Object Mode and place the following object (Torus in this case) wherever you want. Select a Cube and move it to another layer to see only the hair particles.

EDIT:
You may precisely parent any object to a chosen strand's segment. In Edit Mode select any vertices, then enable an option as pictured below (marked in red) to see where their location on the instance is.

Add a new object and parent it to selected vertices.

Then place it on a proper segment's location.

Now the object copies the location of the strand's segment.

Nice try though. I think the key here is the "Create Along Paths" toggle. But it seems works for a particular controllable single hair only? Since It is still hard to target which hair stand you want to follow.

Excellent. The part in your edit is exactly what I needed.


text:
Only render particles on silhouette of model
I have a particle system on a curved model. I want to have the particles only show up near the edges, at glancing angles. This means I have to have them only be created on faces with a glancing angle above a certain amount, or have them present but render as transparent. Using a texture to control their placement does not work because I need to be able to turn the model.
Is there any way to do this?
If I could use the emitter's normals in the particle's textures, that would be the most simple. But there doesn't seem to be a way to do that.

Please specify Cycles Render or Blender Render.  Please show a explanatory image of the mesh.

Cycles Render with Particles

In the above image are numerous undesirable issues.  Some might disappear with a little thought.  Convex sphere works easily.  Concave Box with visible inside and outside is more difficult. The simple cube can have difficult glancing angles.  Surface Normal testing is not enough in the general case.  Material Nodes.
Alternatives

Compositing.  Alpha Over Node. Transparent Background. Optional Render with Emission BSDF glowing particles. Composite Blur Node - Gaussian. Blurr bright glow colors. Dilate Node to increase blur size.  Multiple layers composited if particles are used in final composition. Object ID or Material ID can be use to select desired pixels in the compositor.  Stylized Blur.
Freestyle and Compositing.

Volume Shading with Emission

Below image.  Quickly contrived Volume Shading.  Meshes that Shrink/Fatten in a visually acceptable manner make this possible. Convex, Sphere, Torus Meshes.

What are the actual node setups? I see that it is working, but I'm not clear on how it's being done.


text:
Troubleshooting when Addons don't show up
There are often times when I install an addon (place the file/folder into my blender/2.XX/scripts/addons folder) and then it simply does not show up in the addons list within blender, so cannot be activated. Installing it from a file places it in the blender scripts folder in my app data folder (windows 7), but they still don't show up. These are addons that I know work for others, as I see them install them in tutorial videos or the like (.py, not patches or anything.)
So far, I have checked to make sure I am not filtering them out with the Support level filters.
What causes an addon to not be seen by the program, and what further troubleshooting steps I can take to get these working?

I don't agree with the reason for the close vote. The question is similar enough to existing ones. (related: http://blender.stackexchange.com/questions/36160/installed-py-scripts-not-showing-up?rq=1). A few things would help answer the question. 1) Which add-on (it helps to ask about a specific scenario, even if the answer can be generalized) 2) Do you have any messages about the addon if you start Blender from a commandline 3) Are you filtering with the correct Supported Level (there are three options just below the search feature on the Add-ons tab -- Official/Community/Testing)

It's one addon at the moment, but I've had this with several overall. I'm looking for a generalized list, not specifics for a given addon (as is the case for the linked question.) I have updated the question to clarify that I have checked my Supported level filters. I haven't tried running blender from a command line (It seems i need python installed? Not clear.) Is there another way to check for addon errors?

Here is the addon in question though: https://github.com/cheece/JiggleArmature

also related: http://blender.stackexchange.com/questions/39745/addons-only-some-zips-will-install?rq=1

@zeffi picked it, it fails if you download the zip and tell blender to add the zip. unzip it and add the single JiggleArmature.py and it works.

@sambler, pretty frustrating stuff I imagine for new users / non scripters. install from file could be more verbose.

Actually I'm thinking it could be more intelligent, does the unzipping create a folder containing __init__.py? no - only one .py file? let's use that.

Addon which name (or folder name) contains  . (dot) cannot be loaded in Add-ons list. See this bug report.
Take list below for example:

Lens0.3 cannot be seen in Blender's Add-ons tab. And MultiEdit2.5.py cannot be sucessfully enabled even though it can be found in the list.
Solution would be to manually remove dots or replace with other valid characters.

I'm afraid there's no dots used in my particular file. There is a dash, but removing it hasn't helped. Neither has removing caps.

After seeing the addon, it can be solved by directly put the .py file in the addon directory, instead of nesting it in a folder.

I have and it still doesn't work. I've got it both in addons folder in the install location, and in the app data location, both in and out of the folder.

It does work. Assuming you are using Windows OS, then paste it to .\scripts\addons or .\scripts\addon_contrib. Or you can put it to C:\Users\Your_Account_Name\AppData\Roaming\Blender Foundation\Blender\2.7x\scripts\addons.

I had it in both locations (folder and single.py), but it didn't show up. However, I then deleted it from both, re-unzipped it, and put it in. And now it shows up in either location. It's the exact same zip I had unzipped it from before, so this makes no sense at all. It should be the same file, and I've got it in the same place as before!

I have opened the new version I just unzipped, and checked the old version in my recycle bin. They are identical in text and file size.

You may check the MD5 of both files, which is more convincible. Sometimes Unzip softwares just fail due to unknown reasons, that's why they usually provide MD5 verification feature.

Solution
If you go to <user>/AppData/Roaming/blender foundation/blender/2.xx/scripts/addons , you will find your installed addons for that version.
If some addons aren't showing up, then go to addons folder and modify somethings of that specific addon's file.

make sure that there aren't any periods (.), or symbols like that
make sure that if you open your specific addon's folder, you should directly reach to .py files.
I mean , there should not be any extra folders between that path.


text:
Recreate BI's Edge in compositor?
I've read that the Edge post processing effect from Blender Internal is Z based, and something similar can be done in the compositor. Can anyone suggest a setup for this, or have any ideas on how it would be done?
I'm looking for something other than Freestyle or BlenderNPR edge nodes. Scripting is fine.

This probably isn't the answer you are looking for, but you could always render out using BI at the end of production, with a 'shadeless' white material applied in the render-layer settings as the material override (applies to all objects when rendered) Also, set the world colour as 100% white as well.

render result

This would then allow you to composite the rendered image or sequence of images ontop of your cycles render, you can use a colour mix -> multiply so that only the black 'edge' is applied to the cycles render.

Thank you. This does work, but still not quite what I'm looking for. Even if I automate it, making another scene adds too much overhead.

Yeah I know what you mean. The more complicated the setup the more than can go wrong.  I guess the only other thing I could think of would be to research further specifically how the blender internal edge effect works, then you might be closer to finding a way to replicate it. Possibly contact the developer too,  it's all a lot of work though.

There's an excellent post explaining how in details, on the excellent BlenderNPR with a .blend you can download and use the node group in you own compositions.

Thanks! I am familiar with BlenderNPR edge nodes. It's based primarily on Filters, although it does use Z to some extent. But as far as I understand, it's very different functionally from Edge, and does not have the Threshold effect of Edge. Edge nodes is also fairly heavy, and difficult to get clean. I'm trying to reproduce Edge to have something a bit simpler, although it would be less powerful.

I assume you've already tried with freestyle too ?

Yep! Freestyle is the main thing I'm using, but it can't handle intersections. I'm looking for something to plug those gaps. Edge Nodes works for a lot of things, but requires you to to tweak it's settings for almost every frame, especially if things move a lot. Whereas Edge in BI gives clean and consistent results all the time, but I'm using Cycles.


text:
Make object not receive cast shadows
I know you can make an object not cast shadows on others by disabling Shadow in Ray Visibility. But how can you make an object not receive shadows cast by other objects?

I don't think it is possible to do it in CYCLES yet. I tried to achieve it and even googled for this problem with no results. In BLENDER INTERNAL you just uncheck the Receive box in Shadow panel, but CYCLES is a different story.

That would achieve this, but causes lots of other hassle.

This should now be easily possible with the light linking feature in Blender 4.0

Hi, thanks for the post. This site is not a regular forum, answers should be substantial, stand on their own, and thoroughly explain the solution and required steps. One liners and short tips rarely make for a good answer. If you can, [edit] your post and provide some more details about the procedure and how it works, perhaps add a few images illustrating some steps and final result. See How to write a good answer?, otherwise it may be converted to a comment.


text:
Update/rerun a command on every frame?
I am doing various particle simulations. There are a number of tools in blender that I would like to apply non-destructively, and have update on every frame. Specifically, remove doubles and face intersect (self). I can take my current mesh and use them, but then my mesh is frozen. It seems that I would need a modifier of these tools to get the effect I want.
How difficult is it to setup a new modifier? What steps are involved? Is there another way to address this issue?

It seems that you need custom modifiers that manipulate the result from particle system. Here are two tutorials for adding modifiers: http://wiki.blender.org/index.php/Dev:Source/Modifiers/Adding and  http://wiki.blender.org/index.php/User:Enjalot/Creating_a_custom_modifier, I also do it myself: http://thebusytypist.github.io/learnblenderdev-site/2015/08/04/how-modifier-system-works-part-3.html. I suggest to ask coding questions on bf-commiters for more detailed answers. Adding a frame update handler in Python may also worth a try. But I do not know if it can access data from modifier stack.

I remember reading somewhere that the modifiers are hard-coded and can't be written in as add-ons. Maybe someone else can confirm this?

@Mentalist Yes modifiers are in C/C++ not in python. Adding a modifier means custom building blender yourself.

@TheBusyTypist Yep update handlers can access mesh out of modifier stack, they are what I would go for. Depends on vertex-counts of meshes though, they will have poor performance.

I've updated the question title now that I understand that it's not necessarily a modifier that I need for this. I'm not super worried about performance, especially if this is something I can pre-bake/cache.


text:
Vary the size of a particle instanced object
You can use the particle instance modifier to stretch a mesh object onto a particle hair strand, as discussed here: Hook/parent/constrain to particle hair?
However, every strand within the same system gets the same mesh. I am looking for a way to vary the size of the strands without making multiple particle systems. Is there some way to non-destructively modify or distort the object so that every strand isn't so uniform?
UPDATE: Starting bounty. As mentioned in old comment, i'm looking to vary the thickness. The length can be varied within the modifier settings.

If you work with an object, at first you can lock the two scale dimensions that you don't want to be modified. you can "duplicate linked" it multiple time  with different scale, make them into a group. Then juste use that group with your particle system. I don't know that can work for you, if you want I can make a full answer with a little python script that automatise the whole thing.

@lucblender As far as I know, using the mesh as the particle object/group does not map the mesh down the hair strand the way that Particle Instance does. So that would work for regular particles, but I'm looking for it to work with Hair.

Oh right, forgot about the ParticleInstance ... my bad

I would have a look here : https://blender.stackexchange.com/a/46589/16265. I couldn't make the nodetree work with A.N 2.0 but you should try with the previous version.
From there you can try to loop through the particle splines and if it works you can certainly randomize the thickness.

To give the instanced strands a random lenght increase the Random value in the Particle Instance modifier settings.

Thanks. I can already vary their length by varying the length of the particles or their children. I want to vary their thickness.

this is an interesting question. I did a little digging and think I found a solution to your problem. You can edit the size of the particle instanced object not in the modifier stack as Paul Gonet suggests, but instead in the particle system itself. Go to particles>physics>size. You can then edit your particles not only in the Z axis, but in X and Y as well.
Hope this helps.

I am testing this but it does not seem to work. Can you clarify your setup? The size field under physics does not change my particle instanced objects using either Hair or Emitter particle systems.


text:
What does the radius vector do on an SSS shader?
What exactly does the radius vector value on a subsurface scattering (SSS) shader do?  In his SSS tutorial (making realistic bread), Andrew Price says that the XYZ values translate to the RGB values of the scattered light.  But a lot has changed with SSS since that tutorial was made and that doesn't seem to be true anymore.
It does seem to have something to do with the scattering color, but it is not a simple XYZ to RGB thing.  Here are a couple renders I did:

(the sphere is 75% SSS and 25% white diffuse)
So [1 1 1] seems to be just white scattering, while a [0 1 1] vector gives a turquoiseish color.  Setting it to [1 0 1] gives a pinkish color and [1 1 0] produces a yellow scattering.
Intuitively, I would think that radius would mean the distance that the rays are scattered from where they hit the surface.  But that would not change the color of the scattered rays and could be accomplished easily enough with a scalar value as opposed to a vector.
I am looking for a technical, mathematical explanation of exactly what the radius value does.  I think I have a pretty good grasp on how SSS works, but it wouldn't hurt to explain that as well.

From the Blender Internal Wiki:

RGB Radius:
This is not in fact the radius of the subsurface scattering, but the average path length between scattering events. As the light travels through the object it bounces around then emerges from the surface at some other point. This value corresponds to the average length the light travels between each bounce. The longer the path length is, the further the light is allowed to scatter.
This is the main source of a material's perceived "scatter color." A material like skin will have a higher red radius than green and blue. Subsurface scattering is the diffusion of light beneath the surface. You control how far the light spreads to achieve a specific result.

Basically you change the radius value for each of the three primary colors, which results in the efects you described in your question. In both render engines the Radius value does fundamentally the same thing.
The Cycles wiki states:

Radius input:
Scattering radius for each RGB color channel, the maximum distance that light can scatter.

This is fundamentally the same as the Blender Internal engine.
View the entire entry on the Blender Internal SS Shader.
View the entire entry on the Cycles SS shader.

I think the wiki entry you linked is for the BI SSS, not cycles.  Though the settings are probably very similar, BI is fundamentally different from cycles so I would prefer a cycles-specific answer.

I updated the answer.

Thanks, the thing that had me confused was that it is a vector as opposed to a color.  Do you happen to know what units it uses?

If you are using hex 1=FF and 0=00 I would guess, although I am not sure.

I mean if I set the red radius to 1 how far will the red rays scatter; 1 BU, 1 foot, 1 inch, or is it a fraction of the bounding box size, etc.?

Probably a fraction of the bounding box, I don't know for sure.

I think it's in BU. That's why the default value of 1,1,1 is uttterly wrong, because 1 BU is 1 meter by standard. Set your radius in the range of centimeters(imagine the material you are doing - how far will light still pass through? it will be max 1 cm for skin - that is 0.01). With this, your renders will denoise exponentially faster.


text:
Why does my textured object appear black in the viewport in 2.8?
Does anyone know how to solve?
I can no longer apply texture.

Change the Viewport Shading (the 4 circles at the top-right of the viewport) from "Look Dev" mode to "Render Preview", and make sure Cycles renderer is selected (not EEVEE). If that works, then your graphic card may be too old to support EEVEE.  If that doesn't work, then delete your scene and start from scratch.

Material output node can be specific to one of the renderers.
Without a matching output you'll get a black object.

It's also possible that your graphics card cannot handle the renderer.

You Can also Solve this problem by updateing you graphics driver

Check the alpha of the material. If it's on opaque but with alpha value 0, it appears black.
This happened to me when imported models with materials already applied.
Another possibility is trying to delete the material and create a new one again.


text:
How to snap z location of instances with geometry nodes?
I have a plane object. I used Proportional editing to change the height of the vertices on some places on the z axis, creating these 'hills'.
My goal is to have cubes instanced on these points, creating a voxel-like look.
The plane is exactly as wide as 100 cubes. And it has been subdivided so that the location of the cubes on the x and y axis is already correct.
But I am struggling with figuring out how I can have the z location of these instanced cubes snap. So that there are clear horizontal layers of cubes instead of smooth like they are now.
I've tried using vector math set to 'snap' to translate the instances. But that didnt work well.
Is there a simple solution to this? Any help would be greatly appreciated :)

Here I have created a setup in which I set the position of the vertices of the ground plane mesh to have a step like look to. And on this mesh The cubes are now instanced.
The node tree:

The final result:

I seperated the z component of the position and used the snap operation. Then I recombined this back into the position and used the Set Position node to make the change in the ground plane mesh. Now on this mesh I instanced the cubes.
(Make sure that that the value of the snap increment is more than the height of the cubes that you are instancing.)

Thank you so much! This is exactly what I was looking for. Tried doing something like that myself but couldn't figure out the right nodes to use :)


text:
Lattice modifier deforms or stretches my geometry
I'm modeling a car and I made this scene to illustrate the problem i'm having.
I have the geometry of my car and would like to use a lattice so i can shape the car correctly. When applying it however, it stretches my geometry as seen in the pictures.
The object (or car geometry) has its scale and position (+rotation) applied.
The lattice object never moved position, I used edit mode to change the overall shape and position of the lattice. And added the subdivisions in the lattice tab.
Can someone tell me why this is happening? Or are there other ways i could do this? Thank you!
Here is the link to the file if you'd like to check it out yourself;
https://drive.google.com/file/d/1b66Rq3uprQROoIRWfVWOMMlZCrmh91TP/view?usp=sharing

lattice object scale in object mode.
your lattice  scale is not correct
blender file --->
https://www.dropbox.com/scl/fi/e6ir168d406rk5sw6w5g1/lattice-problem.blend?rlkey=e3wdiz35jbx7fwn4wdbcqhuun&dl=0

I should not apply the scale of my lattice it seems like. thanks for the answer!

Thanks for the posts. This is not a regular forum, according to site rules links to answers are not answers if the link goes missing your answer becomes an empty shell without content. Answers should be substantial and stand on their own without relying on external data like links, videos or images. Instead of having users go through external links, either describe essential parts of the process here, linking the source, or posts these in the comments section instead.

yes you are right. but this is not a zip file it blender file. artists believe this file. this question answer is short one liner. this is only lattice object  scaling problem.


text:
Geometry nodes, randomizing the height on the Z axis for distributed points
I have a plane, subdivided, and point instance from a collection. How do I make every instance on a random height (z-axis) from a minimum and a maximum value?

Use an Attribute Randomize node set to Vector and Add between your Point Distribute and Point Instance nodes. Type in position as the attribute.
Note : You need V2.93 + in order to change the Attribute Randomize mode, otherwise the point locations will be overwritten by the node.
Example tree :

Playing with the inputs :

Explanation :
The Attribute Randomize node will create a new random Vector for each point in the geometry, before instanciation. Since the mode is set to Add, it will add this random vector to the points positions. Each vertex will have a random Vector added, and the amplitude of the random value will be contained between the Min and Max inputs. Here we forced a Min of (0, 0, - amplitude) and a Max of (0, 0, amplitude). Thus, the points will be displaced along only the Z axis (because both X and Y axes are set to 0) by a value between -amplitude and +amplitude. In the end, it means the origin of each instanced object in the Point Instance node will be translated by a random value along the Z axis.

I'm having a hard time following, the instances all go to the world origin. How can I fix this?

In the Attribute Randomize node, set the mode to Add instead of Replace

I do not see that option, maybe i'm in an older version. I'm gonna update. Thanks for the help I appreciate it!

Oh, right, this has been added in the latest 2.93 release ! :)

Ok it works! I'd love to understand how and why. Thank you!

@WardD Added an explanation at the end of the answer, hopefully it's understandable


text:
When texture painting, it affects all textures on the mesh. Instead of the single texture I have selected
To explain my problem, I'll use this cube.
This cube has 2 textures on it;

Both Textures have an 'Image Texture' set as their 'Base Color'.
And the normals have been unwrapped. So ready to texture paint.
Say i wanna paint on the blue texture alone,with a white brush,
this is what would happen;

As you can see, the red texture gets affected as well.
Is it possible to make this not happen? Or is it something standard to how Blender works?
Any help is greatly appreciated!

Select "Single Image" in the "Texture Slots" and then the image of the texture you want. Painting will then only affect that area/image.

Thank you! It worked :D


text:
How to spread things out evenly
I was wondering how to spread things out evenly. When I look it up I only find things about aligning them, not about distributing them evenly. Here's a image to help explain
I want those three to be distributed evenly

You can use Snapping (Shift+Tab): Vertex or Edge if base mesh has adjacent loopcuts that are distributed evenly as you'd like, or Grid to snap to grid (better to be in ortographic mode to set up properly)

All the other answers are work-arounds when you want a single button solution like in Adobe Illustrator and others.
The solution you want is in the addon called Oscurart Tools. The link to the addon is here: http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/3D_interaction/Oscurart_Tools
It comes with many features but the one you want is the second button from the bottom in the Object section.

Addon Download tip: The wiki page links to a list of separate file links that you have to download separately. Once you download them all, put them in a folder labelled "oscurart_tools" and then make a zip file from that. You can then import the addon from file this way for ease of use.

You may do it using the Particle System.

Add a mesh you want to spread the other objects on and divide it as many times you want (one object will be attached to one face). Add an object that will be spread. Name it Object.

Add a Particle System to the divided mesh. Choose Hair as a Type, check the Advanced box and set the Emission number to (in this case) 4. Under Emit From: check the Faces button. Check the Even Distribution box and change the Random to Jittered. Change the Particles/Face amount to 1 (there will be one particle per one face displayed). Go to the Render panel, press the Object button, and input Object below, near the Dupli Object: window. Don't forget to check the Rotation box below.

Now rotate your spread object to adjust particles rotation.

Resize the particles using the Size slider in a Phisics panel or changing the size of the object you spread.

Go to the Modifiers header and click on Convert to convert the particles to the editable meshes.

I would use the array modifier and the boolean modifier. Object A is the base object and object B is the object you use to cut the holes out. Make sure you apply the rotation and scale on both objects CTRL + A.  On object B, I add the array modifier and set it to a constant offset over the Z in this case 1.5m and set the count to 3. I can still change this as long as I don't apply it. Then I go to object A and add a boolean modifier set the operation to difference and set object to object B. Then I copy object A and B to an other layer in case I want to change it.
I apply the boolean modifier on object A and delete object B, and clean up the mesh.

I would go to Scene tab in Properties panel and in the Units section, change the units from None to Metric

Then I would check Length in the (N)Panel in the Mesh Display section
*( this should be done in edit mode of the mesh )

And then I would divide the length of the cyllinder by 4 and place the objects after each time the length is presented (red spots).


text:
Knife Tool Making Extra Faces
The knife tool is one of the things I use most in blender. I use it to add vertices with out adding a Loop/cut/slide. I recently got a new laptop and installed blender on it, and it creates a random face when using the cut tool.
Usually this is what I do to adda vertex, as you can see in the picture.

But as you can see instead of only adding a vertex it connects to the corner of the object.

As for me it tends to create the best geometry it could, at least in given circumstances. I'm not sure how you could to cut line in the middle of the face without it connecting to one more vertice of the face. This is the same situation as with doing rectangle cut in the middle of polygon - new cut will be connected to 2 of 4 vertices of outer face.

I've always used the knife tool to add vertices without it making any extra edges or faces.

Use Alt+D with vertice selected where you'd like to add another one (you may want to slide added vertex for accurate positioning). I have to admit it isn't the best workflow as it doesn't create clean topology which you can handle with easily.

The behaviour was changed in 2.77 version, but strangely I wasn't able to find any documentation or mention in the release notes. Probably was made to speed up the cutting, sacrifing the vertex-adding functionality (btw covered by Alt + D and slide as said by @MrZak)

alt+ d only moves the current one for me

I think for what you want to do selecting an edge and choosing W > Subdivide may be a better less prone to failure workflow.
In you current case it is hard to tell from the screenshots why it is failing, it may be because of you current view angle. Try rotating the view more towards being perpendicular to the face normal.
Also in you case your geometry seems to be messed up, there are likely zero sized faces on the sides, overlapping edges, and probably two opposing faces on top and bottom. Try cleaning up your mesh by removing extra faces and duplicate geometry and removing doubles with W > Remove doubles and try using knife again after that.

It does it on every model, even a fresh blender file. Also I subdividing an edge does nothing for me

There may have been some behavior change in the latest blender version, not sure. Select an edge > W > Subdivide then you have to change to vertex mode, there will be a new extra vertex in the middle of the edge.

Thanks, that works but it will now be a lot more time consuming to add vertices :/

The type of topology you are trying to create isn't supported by Blender.  BMesh stores faces as a continuous loop of edges - branches and multiple loops aren't supported (yet).
If you try and create it by merging vertices you will find Blender ejects the edge from the face, creating a wire edge.


text:
Missing vertices in Edit Mode
I have append a mesh (rex) from this .blend file.
In edit Mode I see different vertices from objcet mode (see pictures).
The vertices of belt are missing!
OBJECT MODE:
EDIT MODE:
How can I edit vertices of belt?
Is It a bug?
This is my .blend file maybe can help.

In edit mode press Alt+H to unhide the vertices.
Vertices were hidden by pressing H in edit mode.

Yess! thanks you :) Do you know what are the red vertices in edit mode? maybe are link with vertex group but I'm not sure.

@user72708 The red edges are seams for uv unwrapping and the purple ones are creases to sharpen edges. Feel free to accept my answer by clicking the tick icon next to my answer if it answers your question.


text:
Particle system is not using density vertex group
My particle system doesn't seem to be using the vertex group which I set to effect the density. I am a little bit confused as to why this is happening.
Here is my blend file http://www.pasteall.org/blend/33498
Thanks

This is because you have a 'Multires' modifier above the 'Particle System' modifier, which is altering the geometry. Blender applies the modifiers to the object in the order they are in in the stack (see more here).
Because the vertex group gives specific vertices weights and the multires modifier changes those specific vertices, ie more are added, positions are changed etc., the vertex group has changed by the time the particle system 'sees' it.
To fix this you can either move the particle system modifier above the multires modifier (so the particle system is calculated before the multires modifier changes the geometry and sees the original vertices of the mesh) or you can check the 'Use Modifier Stack' checkbox in the 'Emission' section of the particle settings:

Note: Those two different methods will give slightly different results. The 'User Modifier Stack' option will act as though the multires modifier has been applied to the mesh, so the mesh will be higher resolution, potentially giving a smoother result to the particle emission. If you instead change the modifier order, the particle system will completely ignore the multires modifier and only use the original, untouched geometry to emit particles from.


text:
How do I change the focal length of a camera with python?
I am importing a VRML file using Blender command line. I need to change the focal length of the camera using the command line.
How can I do that? I cannot find Python api for this.
Thanks.

It's in bpy.data.cameras['name of your camera object'].lens, or camera.angle (thanks @ideasman42).
Note that you must have a camera in the scene.

Ok, I think I got it ..
We can get the focal length by using bpy.data.cameras.values()[0].lens. We can set this value as well.

bpy.data.cameras.values()[0].lens is better written as bpy.data.cameras[0].lens


text:
Object.to_mesh(): required parameter "settings" not specified
import bpy

C = bpy.context
ob = C.object

print(ob.data.vertices[0].co, "- Vert 0 (original)")

me = ob.to_mesh(scene=C.scene, apply_modifiers=True, settings='RENDER')

bpy.data.meshes.remove(me)

this is the code and i am getting this error, since i have specifies the value for setting parameter then why the error occurs
  me = obj.to_mesh(scene=scene, apply_modifiers=True, setting='RENDER')
  TypeError: Object.to_mesh(): required parameter "settings" not specified

In the line above the error you have the word setting. In the code above it you have settings. Which version do you have in your code?


text:
blender Python script not running from command line in background mode
I am using blender from last 2 months and i built a python script to generate animation and it was running pretty nice from command line by \path\to\blender -b -P script.py but i dont know it just stopped working for me yesterday after i installed some 3rd party modules, there is not error in script because i have not changed anything in script when it was working fine. what went wrong with blender, i added a line for printing on command line to get to know that does blender call my script, it just did not print anything, it just loads all the modules and stopped after that.

this might sound boring but you might just be able to make it work by reinstalling blender

Might be that the 3rd party module isn't working/compatible and blender stops loading addons? Try running with --debug to see what goes wrong.

@gtzkw yeah you are right , i found out the problem, i was importing matplotlib.pyplot which stops blender to execute, i also verified from blender python console, importing matplotlib is fine but can not import pyplot, whats issue? actually i want to see rendered image from command line, is there any other option to do this

It might depend on a specific version of another module that Blender only offers in a different version (or hasn't even installed).

but why would it does not give any error like module not found or something, it just exits python console itself as well as my python script  if i try to run it in command line

Could be because tkinter is not installed with blender python.  For using mathplotlib.pyplot I run blender using system python (same 3.x version) where tkinter is installed.   btw pyplot windows can be opened and controlled from, and without locking,  blender.

@batFINGER how do we use system installed python for blender, and what did you mean by without locking blender, can you explain a little bit more! and the way i installed matplotlib , do i need to install tkinter also to use pyplot?


text:
Extracting coordinates (x y z) from a BVH file
I want to extract coordinates in x y z format from a BVH file.
I read about the rotational and transational matrices used in a BVH file but cannot make any sense out of it.
At last i want to make python script to extract these coordinates and them feed them to another python script which uses BPY for animation of a character in Blender.
Any kind of references in this context would help too.

Surely the importer / exporter as pointed out in  answer below does this?  IMO explaining the bvh file format  is bordering on off-topic.

You can find a lot of helpful information by taking a look at Blender's import and export scripts for BVH located in /your/install/dir/2.80/scripts/addons/io_anim_bvh or if you have cloned the repository /your/git/repo/blender-git/blender/release/scripts/addons/io_anim_bvh or online in diffusion.
As you can see in the importer (line 173), the file contains so called channels which contain the x,y,z-coordinates. Since I'm not familiar with the format I can't tell you exactly how the matrix transformations work, but given that the importer script is rather short you may be able to figure this out on your own.


text:
How do I make sure my objects are always touching the grid floor?
I want to use the grid as an imaginary floor.
Is there a mathematical operation to make sure that no matter the length of the object that the bottom of the object is always touching the grid?
Apparently the grid is on 0,0,0 xyz coordinates. If I place my object on the same coordinates it just slashes my object in half. I don't want that. I want the bottom to be on that coordinate.

HA HA! I was going ask this but I think I'm on to it.
What I did is I've gone to edit mode, chose to only select vertex points, selected a bottom vertex point. Copied the Z axis location which was -3.22222 then, I've chosen to select the whole object with A, and just turned that - into a + for the z axis of the whole object and voila we've got a winner.
Someone tell me if this is the correct way or if there's a different way.

There are different ways. If your object has a bottom face that is supposed to touch the plane on z = 0, you select that face in edit mode, call shift+s, cursor to selection.
Then switch to object mode and change your object's origin by selecting origin to 3D cursor, as shown here:

Then, still in object mode, you can move your object to z = 0 by entering the value directly into the coordinates box.

hold up, don't I need to calculate where to place my 3d cursor? that would still requiere me to do the same steps I actually did originally in my post just to find out the exact coordinates where to place the object? I don't get this way :S

You don't. When you select the face, do cursor to selection, it positions itself at the center of the face. Now I'm assuming your face has no z dimension which seems to be the case in your example. In the way I'm describing the 3D cursor is there only to change the origin point of your object. Once it's done, your object is all above the origin, so you can position it (position its origin really) at z = 0.

Huh, I don't think I understood a thing lol. But if you agree that the way I did it is correct then I'll keep doing it like that

I didn't really agree :). It's about what works anyway, so your method is probably fine, although you have to calculate stuff, which sometimes is difficult.

Alright lol, I'll deal with numbers since I can't understand blender terminology. Thanks for the help :)

I'm back, I somewhat understand now what you mean however I don't have the option to set origin when in edit mode, only in object mode and I don't have the option to select a face in object mode so theres the problem...

In edit mode, set cursor so selected (after selecting the face. I'd select both downmost faces in your mesh so the origin is well-centered). Then in object mode, set origin to 3D cursor.

I got it thanks a lot :D could you please modify this part of your main post "Then change your object's origin by selecting origin to 3D cursor, as shown here:" to "Then switch and stay in object mode to change your object's origin by selecting origin to 3D cursor, as shown here:" It will be more helpful to people who come by the post :)


text:
How to change pose of armature of a gltf file when the mesh is deformed?
I load a gltf file by pygltf and deform the vertices of gltf mesh by using a nonrigid method. when I export the gltf file, the mesh is deformed but the armature position is not changed.
I am looking for a method to change pose of armature of a gltf file when the mesh is deformed.


text:
Weight paint controlled texture?
Is there anyway to control the gradient with a weight paint? If so, how could I pull this off and how can I change the falloff for the weight paint for the eyes?

You can't use Vertex Groups (Weights) directly in the Shader editor. You can use color attributes (made in Vertex Paint mode), and transfer the weights to color attributes.

Go to Vertex Paint mode
Select the vertex group what you want to transfer
Use Paint>> Vertex Color from Weight
Add an Input>>Attribute node to the Shader editor and type in the Color Attribute's name to the "name" field. (Color attributes are located below the Vertex Groups on the right side in the mesh properties panel)

Of course you have to refresh it every time you modify the weights. You can use ColorRamp in the Shader editor or you can smooth the weights in Weight Paint mode to control the fall of. If you don't need the vertex groups for any other purpose you can use Vertex painting immediately.


text:
ID user decrement error raised in the console but has no actual effect on Blender. What's the cause of that?

By displaying the property I am getting this error by editing the property or simple scrolling around in the node editor. So maybe something with the layout or UI?

ERROR (bke.lib_id): C:\Users\blender\git\blender-v340\blender.git\source\blender\blenkernel\intern\lib_id.c:328 id_us_min: ID user decrement error: OBarc.003 (from '[Main]'): 0 <= 0

But the weird part is that this error doesn't seem to affect the actual functioning of Blender in any way, the rest of the code I've written seems to work as intended, and Blender doesn't crash or exhibit any other strange behaviour. If the system console didn't raise this error, I wouldn't even know anything's amiss. I can't figure out any other way to delete these screens that works as intended, so I'm considering just entirely ignoring this error and moving on, but I know that's not best practice. Why is this error being raised and how can I change my code to avoid this? Thank you!


text:
IK only moving the last bone of the chain
I have this skeleton for a cow :

With this property for both IK bones :

The problem that I have is that when moving the front leg, the bone directly connected to my bone with IK constraints will not rotate. The angle will stay exactly the same. If I increase the chain length, then they will all be stiff joints, only the last joint will rotate. You can see what I mean in this video.
The backleg works perfectly fine. I already deleted it all and restarted but I have the same issue.
[EDIT] Here is the file :

hello could you please share the armature? https://blend-exchange.com/

@moonboots sure, I have edited the post with it. https://blend-exchange.com/b/Od4JjxP6/

I would do the following steps:
Correctly align the bones with a ShiftN > Global +X Axis:

Bend the knees a bit more so that it knows how it is supposed to bend them:

Put the head of the controller at the same location as the tail of the lowerleg, so that it doesn't jump as soon as you switch to Pose mode:

Correct the Pole Angle:

It should work:

Thank you that did it !  Even though when I enter 0° in the pool angle, the foot doesn't get in the right position on my side. Thank you !