text:
Stretching model with ik makes model bigger
How can I get rid of this when I move my bone? Because I would like it to only stretch, but not get bigger. I have stretch enabled in the ik panel. It's the thigh that has the stretch enabled on it and also the one that gets bigger.

So when you tell IK that it can stretch in order to reach a target, it does that by scaling uniformly-- by the same amount in all three axes:

We can see that with a visual transform applied to the pose.  The IK bone scaled the same in all axes.  Unfortunately, just limiting scale won't do anything to prevent this, because regardless of constraint order, Blender evaluates IK constraints after all other constraints, so the IK will just override the scale limits:

That may not have been true back in 2017, but it's the case currently, at least.
If we want bones that follow our IK, but scale non-uniformly to do so, then we need another layer of bones to follow our IK:

When I copy transforms from an existing IK bone, I inherit its full orientation, including its full scale, but I can then use constraints afterwards to modify that transform-- something I couldn't do when using the IK bone directly.  So here, we'd deform from this second, copy-transforms layer rather than the original, IK layer.
A limit scale is not the only way to acquire non-uniform scale, of course.  I would be much more likly to use stretch-to constraints in order to get these kind of Y-scaled bones.  But for this case, where we're talking about simple IK, limiting scale is the simple solution.

Normally, scale will use global coordinates.
You want to use local coordinates.
Tap N to bring up the properties panel.
Scale along the appropriate axis, such as Y.
In the example, I scaled (from her view) left arm the standard way.
You can see it inflates, like you mentioned.
Scaled her right arm using local properties instead,
along the Y-axis, so it stretches, but doesn't balloon out.

edit:  OK, in response to the BlendSwap link you posted:
I've never used that rig before.
The website look nice, but loading in Blender gives me this:

I assume it's a version mismatch.  It's for Blender 2.74
You might need to ask the developer (nocemperor) about that.
I would try this instead:  http://www.manuelbastioni.com/manuellab.php
because it uses a standard Blender bones rig.
Again, try to scale along one of the local axis
How to scale along the local axis of an object?
edit:  Oh, I just realized it wasn't loading fully.

It's better, but only loads Orange model, not Black or Blue.
Perhaps, because it's for an earlier ver of Blender.
If you'd still like to use that .blend file,
the other trick you can do is add a Scale Constraint to the bone.
Select rig > Pose Mode > click a limb.
Set it to the limits you need.  To scale along Y axis:

But the thing is that i seen a rig that stretches the legs by moving the bone  and it doesn't "Balloon out"  https://www.blendswap.com/blends/view/81455

Check the edited answer, hope that clears up the confusion.

You should provide your .blend file, deeper diving is required if this answer isn't enough. Are you the author of the rig you're using?


text:
Animating multiple objects together
I'm trying to animate multiple objects together in one animation, but can't seem to do that.
I have 5 cubes. I created 4 animations, but Blender automatically created another 4 animations for 4 cubes, called Cube001.Action, Cube002.Action, and so on.
Basically, when I move one cube, it modifies its position in another animation rather than the one I want, and disappears from the animation I need.

I think this tutorial will help enter link description here

Turn the action editor window into "dopesheet" and you will see all your animations.
Every object has his own action, 5 objects animation will consist of 5 actions, editable together through the dopesheet.

Here is the problem. Each object is changing in a different animation. How to make them all change in the same ?  Picture : http://i.imgur.com/VEEBNCC.png

I want them all to be part of "MoveRight"

I somehow managed to do it with a different animation but I am not sure how. Picture : http://i.imgur.com/RKWHDP9.png

Ok, found out how I did it. If I touch an object, it says it's in "Move Right" in the Dope Sheet, but it then moves to the center where the first cube is, so you can't see it. Picture : http://i.imgur.com/kmt9yft.png

“MoveRight” is the name of an action datablock which – in your first image – is assigned to the object named “cube”; “cube.001” has “Cube.001Action”, etc....
Theese datablocks contain only informations about location, rotation, scale (which change every keyframe of the action).
You can assign this datablock to many objects (as you did in the 4th image) and you'll obtain that every object will move exactly in the same way (and if the objects are equal, they'll perfectly overlap each other).

This is the way Blender is structured: you can't address part of an action to an object and another part to another object: you have to use 2 different actions.
Why do you want to have everything in one action (which, as I said, is impossible)? If you export a multiple actions  animation every exporter will address the right data to the right object (tihs is the normal, common way to work with Blender).

Use an armature that has a bone centered at each cube, with each cube parented to bone without deformation. The armature will then be animated in pose mode, and each movement will be contained in one single action instead of five separate animations across five objects.

Found an easy way to do it, just rename all the NLA tracks using exactly the same name, export it and there's should be a single animation

source: Stack Exchange

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

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

sort: votes


text:
Exporting to FBX OBJ DAE 3DS
I am modeling pencil sharpeners. I unwrapped UVs and created a steel texture and a bump map and put it together in Cycles (see attached image). Now I need to export my models as .FBX, .OBJ, .DAE and maybe .3DS, because I want to publish it online for sale, and I want the model to be available in wide array of file formats.
However, when I import the exported files back to Blender, I see that in every case the Compositing of the Cycles materials and links to the texture files are lost, and only UVs are preserved. The renderer defaults to BI. In 3DS I lose parenting and in OBJ and FBX there are scale issues.
I understood from other threads that I probably have to sacrifice this information, and that there is no way to export it. Is that correct? Does that mean that the customer would have to reapply all textures and set settings ( like glossiness etc.)? That is not acceptable.
Is there a way to ensure that the exported files will work straight away? How to preserve the Cycles material settings? Do I have to use Blender Internal to make it work?

(Well educated guess) I believe Cycles' node-magic has an approximate zero-percent chance to get exported right. So for materials, I would strongly advise doing them in the internal if you want them to show up. On the other hand, testing with eg. 3DS Max coulde be beneficial. (Maybe the exporter works, but the importer fails.) I don't know about the parenting, but for the scaling have a look in the Scene settings. You can for example set the scene units to Metric and / or scale the units if it still is off by an order of magnitude. I hope this is of some help.

I frequently export objects to the wavefront OBJ format, and have found that the associated .MTL (material) file will only contain sensible information if I use Blender Internal materials. Using Cycles materials seems not to work at all.

Ok, I did some testing. I made a Cycles version of the scene and BI version. I exported FBX OBJ DAE and 3DS. And opened them in Max, Maya, Cinema 4D and Blender and it just won't work well. In every case there is something wrong with materials, diffuse, gloss or bump map. Only UVs and geometry holds. I'm still in need of help. How to prepare these files properly for sale? Also is there dedicated software for these 4 formats, so I can tweak the materials and save natively?

Materials are generally incompatible across all rendering software. Models sold online in various formats aren't often perfectly set up but it's not a problem for a 3D artist that buys your asset to set up and tune the materials to his liking. If you insist to perfectly set up models you'd need to up-to-date versions in all of them and you need to save from native application. But note that 3DS Max also support numerous render engines. My advice is not to worry about all the settings being right out of the box but of course you should check with guidelines of the marketplace you're selling on.

I'll also note that although there's little compatibility between materials in different software, having a diffuse color map, specular intensity map and normal map as textures will usually be sufficient.

This worked for me:
I packed and unpacked the blender file created, corrected allocation and exported materials from cycles into the .OBJ file. I exported from blender to 3dxchange, and the .OBJ file back into blender. The file retained the correct materials. As long as you create the textures in the same directory when you unpack the file, it seems to work.
When exporting alpha YAY, it took me a while to find this solution and it turned out to be simple.

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


text:
Non-Random Particle Emission from all vertices
Is there a way to control the emission of particles from a mesh vertices so that they are emitted sequentially from each vertex in turn?
If I set the emission to Random then the particles are emitted evenly from each vertex, but the sequence is indeterminate. If I set the emission to non-random then one vertex emits all of its particles first, followed by all of them from the next vertex, followed by all from the next one, and so on.
Is it possible to have the emission for individual particles in sequence. ie, given a cube with 8 vertexes to emit from 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, etc.
At the moment I'm just getting 1,1,1,1,1,1,1,......, 2,2,2,2,2,2,2,.....3,3,3,3,3,3,3,3.... etc.

Note : The cube started at the origin and travelled along the path shown by the particles (which are not affected by gravity). You can clearly see that they're all emitted from one vertex first, then the next (where there's a break in the line of particles), then the next. I want to be able to emit in strict sequence, one at a time.
Incidentally, I don't actually care what sequence they are emitted from, just as long as each set of (8) vertices emit in the same sequence for each set of (8) particles.

EDIT: I haven't been able to come up with a way around this and it seems the latest Blender versions don't address it. Possibly 'Everything Nodes' might eventually solve it but that's an unknown time in the future. I've raised it on the developer website as an issue : Particle Emission from Vertices non-random emission sequence. Hopefully a nice Blender developer can work some magic.

This isn’t possible at present. The node system is being radically redesigned with Everything Nodes at which point we should be able to do this and so much more.

Not completely relevant, in context.. but, a shader get-around, using particle index and transparency?

Thanks @RobinBetts, doesn't help, I'm afraid - can still only set either Random or Non-Random. In non-random the behaviour is to emit from each vertex (or face) in turn as shown above - so you get all particles from one vertex then all from the next, and so on. So there is no way to get particles emitting evenly (and non-randomly) from all vertices (or faces) at once. Only other solution I could come up with was to emit from empties parented to each of the vertices (with each empty having its own particle system) but that was really really cumbersome.

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


text:
Why does bpy.data.images.load load a single channel image as a 4 channel image?
Upon rendering I store an image containing pass_index property as a 16 bit, single channel. However upon loading this image using bpy.data.images.load it returns a 4 channel image.
My issue is that I need to access the pass_index property from the image once again, but I am unable to find those values in the 4 channel image. So how do I get the pass_index values again?
I use the following code
maskPath            = Path()
maskImg             = bpy.data.images.load(str(maskPath))
width, height       = maskImg.size[0], maskImg.size[1]
print ('\n width: {}, height: {}'.format(width, height))

imgArray            = np.array(maskImg.pixels[:], dtype=np.float32).reshape(height, width, 4)
print (np.unique(imgArray))

Note: I am able to load this image from a different python terminal using non-Blender image loading techniques and am able to access the pass_index values.

Hello. Don't the 4 channels of each pixel contain the same value duplicated 4 times ?

Yes, they do. But when you read the values they are not the pass_index values that I actually have.

you seem to decode the values as 32 bit float but you stored it as a 16 bit float. Could that cause an issue ?


text:
Text Editor, Python Module Won't "Unload"
I am writing a Python script for Blender and I'm using the text editor window to run it.
My code includes a line that imports a module (import ILD_Blender) that I have written and need to trouble shoot.
I have no problem running the script but when I make a change to ILD_Blender and run the script again, it does not contain the changes I just made to the module ILD_Blender . The script runs the "previous" version.
Under Edit/Preferences../Add-ons, the module is installed and is checked off. It sounds to me that this module loads on Blender start-up and is unaltered even if I change the actual file that is loaded.
So, How do I update the loaded module while still in Blender?
Bob B.

Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.

Do you have an unregister function that calls bpy.utils.unregister_class for each class you've registered?

OK, this post shows my limited knowledge of Blender! What I need to do when I make a change to a module already installed as a Blender add-on, I need to perform a "Reload Scripts". Problem solved.


text:
Copy animation incrementaly?
i have an object at 12 o'clock which rotates around z for 90° to 3 o'clock. Another object located at 3 o'clock should do the same. Rotating around Z for 90° to 6 o'clock...
Is there a way to copy this from first to second object?
My flowchart:

select object 1
press "i"
select "rotation"
pull "timelinecursor"
Value Rotation Z "+45°"
press "i"
select "rotation"
pull "timelinecursor" back

Then repeat for the second object
Best regards

Can't you simply parent the second object to the first ? (Ctrl+P)

Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.

if i understood you right, you could simply choose "individual origins"

select all objects, hit I -> rotation, then rotate z 90 degrees and hit i rotation again.

Welcome back! ...missed your brain! ;-)

Thank you mate!!!!

Oh, thanks... Thats it...

You are welcome. Please click on the checkmark left of my answer, if it helped you!


text:
Brushed Metal Texture from Material Library VX Renders Black in GPU Mode
I use brushed metal from [Material Library VX][1]. However, during GPU cycle rendering, my object appears black. Conversely, when utilizing the CPU, it adopts a chromesteel appearance, albeit lacking the desired level of shininess. Why is that?

Not enough details! Please include images of what you are seeing, the material nodes, and the settings you are using. A blend file demonstrating the problem would also be useful but please pack any images before sharing it via https://blend-exchange.com/.

Hi, sonic, I second @JohnEason 's comment. This could be a hardware / configuration problem.. we need a representative file to see if we can reproduce it. If it is not a user-setting, I'm afraid we can't help, here. Without a share, this post is vulnerable to closure as 'needing more detail'.

Ok I have upload an example file for that


text:
Increasing frame rate without speeding up the cloth simulation
I wanted to make my cloth animation less choppy, so I changed the frame rate of the whole scene from 30 to 60 fps:

But that only increased the speed of the whole animation (the animation didn't stretch over time). Can the cloth animation speed be independent of the frame rate? I just want it to be more precise.
Time remapping doesn't seem to work on the simulation.

In Blender 2.78, the speed for a cloth simulation can be adjusted here (Physics tab for a cloth object):

I did a quick test with a flag running at 24 FPS (normal speed), then changed the FPS to 60 which caused the simulation to run at a higher speed (unrealistic). Changing the "Multiplier" to a lower value reduced the speed while keeping the 60 FPS. If you change the FPS from 24 to 60 (2.5x) you need to have a multiplier of 1/2.5 = 0.4.
It seems the "base factor" is 24.
See the 2.78 release notes for more details.


text:
How can I get textures and baking working if I want this model to look right for exporting?
I am currently working on a set of prop weapons for transfer to an alternant 3d software. Currently, the best I can get is materials on the meshes, but obviously I need textures so that the items actually have color to them in the other program.
I have some high-resolution PBR type material/textures to make the materials on a prop of mine more realistic but because they consist of multiple maps (displacement, normal, color, roughness etc.) I cannot figure out how to effectively use the maps on my items in uv image mode, I do have the whole item joined together, and have different materials for each piece, the issue is that the material/texture images I'm using come out as solid white or black, instead of the color, and I dont really know how to have multiple maps assigned to the same portion of the mesh except through the use of texture nodes on the material panel in node editor (I dont know if adding image nodes to material nodes is the only way textureing actually work in cycles but it seems to be as I stated before putting them in the uv image editor makes them solid white or black)
I have been planning to do baking to the materials but as I cannot figure out how to bake everything without the light effects (so that lighting has no effect on the outcome as lighting seems to be a bit finicky, and one of the items produces light on its edge so it would mess up the bake) but still includes everything else (normal maps, color, roughness etc) without me spending all year doing individual bakes on my older pc which likely wouldn't work correctly anyway.

In the images above, the first is what i'm currently seeing in textured mode, not sure why the top of the blade is blue, but you can also see that in the uv image editor where that should be a metal color it is instead completely white.
  the second image is what the prop should look like, and it has the some images textures added to the principled shader in some places to give the different materials more accuracy, but where the arrow is pointing is an emission area (energy blade) which is part of the reason I cannot bake everything as the emission would likely mess up the bake so I need a way to do both things if possible, have textures uv mapped to my models (there are multiple of different looks) and baked versions which can include everything but not be messed up by lighting.
I feel as though I've explained the situation clearly enough. It shouldn't cause much confusion, but my train of thought is usually different top others so I can elaborate if needed.

i have been attempting to bake the materials to the mesh (when it is joined together) but every time i try to bake a texture as shown in this video https://www.youtube.com/watch?v=sB09T--_ZvU&index=3&list=LLxAu6QG5BUG6sn4MwI-P0TQ&t=197s
it instead bakes the textures to the wrong thing entirely for some reason.

So far i'm still getting nowhere with my baking, every time i try to bake the individual parts, it for some reason switches the selected texture, and screws up the one i'm attempting to bake, so i don't have much of an idea why it keeps doing this.
for proper clarification when i say it screws up the texture, what is happening is that the metal texture for the blade (see images of original post) keeps getting switched with the texture of the cloth wrapped on the handle which either messes up the metal, or the cloth, but i'm not even selecting cloth in the first place.


text:
Use cycles to bake textures for a physically based engine
I am trying to use Blender to procedurally generate a mesh and material(s)/texture(s) via python. Parts of the mesh are assigned to material A and other parts material B and so on... The scene is set up to have a sun and is illuminated.
I want to use the created mesh and it's visual details (diffuse, glossy, emission, etc.) in a game engine which can render physically based (not UE4 or Unity, but my own engine, which is in development). Of course, the game engine can set the light source somewhere else and the object should be correctly illuminated.
Now I want to export the textures (albedo, glossy, roughness, whatever-could-be-helpful). I know I can bake the textures in Blender. I need to unwrap the mesh, create a image in uv-editor and select this new created image in a image texture node.
Now I can choose between Subsurface Color, Subsurface Indirect, Transmission, Glossy, Diffuse, Environment and so on. I am a little bit lost looking at these bake types. What types do I need? What is the difference between Color, Indirect and Direct? Why is there diffuse and not albedo? (Diffuse is with shading, albedo isn't).
Can someone shed light on the differences?

I only use the "Combined" pass type for everything, it works fine for me.  Here's how to do some of what you asked above.  http://blender.stackexchange.com/questions/18362/exporting-multiple-materials-to-a-single-diffuse-specular-map

If Diffuse Bake type is set to color, the output will be albedo, assuming you haven't included an AO map in the node path. However if you choose either direct or indirect, the output will be a diffuse map since it is color fused with light and shadow.


text:
Bones rotate instead of moving
I have a human rig with an IK on the leg. When I try to move the knee separately in pose mode the leg doesn't move. The knee has the cursor as if it was going to rotate and the text at the bottom says "Rot:" and then a number, but it rotates only slightly, as in I can barely see the pixels changing on my low-res screen. I have tried toggling Auto IK but it does nothing. It's just the bones, I haven't parented them to any mesh.
Also my edit mode and object mode models of the bones are different, as the foot ans the IK bone are rotated in object but not in edit, and in pose mode the alt+g, alt+r and alt+s only make tiny adjustments as opposed to resetting the bone model as they are supposed to.
Any help would be much appreciated as I'm just a noob! Thanks. (° ͜ʖ ͡ -)
Link: Google Drive

please share your file: https://blend-exchange.giantcowfilms.com/

To make you leg work properly you need to:

Deactivate the Manipulate Center Points option in Pose or Object mode (made to shift objects from each others) otherwise you won't be able to rotate anything.
In Edit mode, give a correct parentage to your bones: Deparent the IK controller from any bone except the root bone that you will create at the end. Parent the foot bone to this controller.


text:
How to move a character rig file to another computer?
Every now and then I need to transfer files over from my work computer to my personal one when I'm working from home, but I've found that when I send over a file with a rigged character, it no longer works properly. For reference, this is what it looks like on the computer I made the rig on:
And here's what it looks like when I send the file over to the other (in wireframe so you can see the lack of bones, there's no control rig in solid/material preview either):
In pose mode, there's no control rig or bones, and if I select the rig from the outliner I can see the armature, but it's not correct, and doesn't function. Here's the outliner too:
Which is how it looks on the original file too. I don't have any isuses like this sending over other blender files that don't contain a rig, so I'm not sure if there's a special procedure to sending rig files over. I'm not exporting anything out before sending, it's just the file itself.

I assume you have the same blender version on both machines?   Do you use the "File >> External Data >> Pack Resources" to have a self contained file to transfer?   Or at least certain that any external files are in the same relative positions?   Use the "File >> External Data >> Report Missing Files" to see if you have any external references that are not resolved, perhaps due to absolute paths that differ.   In your Outliner, upper left corner, change the *View Layer" drop-down to Blender File mode.  Do you

I'm fairly certain it's the same version, so I'll try doing that. Thank you!


text:
All of my rigify rigs eventually vanish from their files
I'm currently working on a project that requires several different character models. I have every character in separate files. The rigs will work, and the controls will be there for a while, but eventually if I need to come back to a model after a while, the rig will just be gone. Everything is still there in the outliner, I checked and nothing is hidden, I checked the bone layers. When I open files with rig animation that this has happened to, the animation is also gone. There are no keyframes, and if I check the weight painting mode the mesh has no information, and has no vertex groups or bones I can weight paint for. This happens with EVERY FILE. The metarig is still present in the file, and I can generate a rig based on it again, but I don't want to have to redo the weight paints and reparent every time this happens.
I have at least 15 different character rigs, and after x amount of time it happens to every single one, so I have to get all the animations done asap and exported so they can be used. I have the rigs exported, but I have no clue how to properly reimport them into blender, in case this is a way for me to continue making changes/new animations.

Edit: I tried reparenting it to a new rig based on the metarig that stayed in the file, and with automatic weight painting it does this for some reason:
If I parent it with empty weights it's fine, but I really do not want to have to start from scratch with weight paints every time this happens.

Your second image shows that you've opened your Blend file created in Blender 3 or above in an earlier version of Blender. This video explains the reason and shows how to get round the problem. I've no idea whether this is the reason for your other problems too, but backwards compatibility isn't guaranteed with Blend files!

That would be it! The mac at my work apparently has been running 2.8 and I had no idea, my laptop has 3.0 so I've had to occasionally transfer files between them when I work from home, so I'm updating the mac now. Hopefully it will fix the issue with the rigs randomly vanishing too. Thanks!

Fingers crossed that it cures your problems!

Unfortunately, it appears that was not the solution. Already several of the rigs that I made just today suddenly broke and the controls have vanished entirely from them. I had just closed them, and then reopened them just to see each one now has no control rig, but everything still in the outliner. I really have no clue why it keeps doing this.


text:
Why is my blender export to GLTF missing some faces?
I created a model for a building in blender. To create the building I export .dwg plan of the building from autoCAD, then I converted it to .dfx for import into blender after which I extruded the walls to create the 3D model. All looks well in blender but when I try to export it as GLTF, I notice that some walls are missing. What could be the problem?

Probably face orientation by the sound of it. This can happen if you extrude in the "wrong" direction. In Edit mode, select All then SHIFT-N to recalculate normals and try exporting again. If that doesn't help we'll need to see some images which you can drag and drop into your question

Thank you, I have done that and re exported but still no change, and I have added the images to the question.

Are the walls visible from the "wrong" side?  I'm wondering if Backface Culling needs to be turned off.


text:
Mesh inside soft body - Mesh Deform not working
I am trying to make a mesh inside a soft body following this post:
make soft bodies stay inside another soft body
It creates artifacts when it moves, and i dont know what the problem is :

Please provide more info - it’s not clear what’s going on there. An animation showing it in action would be good, or upload your blend.

OK, i added a gif

Is the highlighted object the softbody or it is the rigid body container within? If it's the softbody then it looks like you have some vertices pinned to the goal. If it's the rigid body then it looks like the MeshDeform isn't working properly - did you edit the mesh after applying the MeshDeform or do those problem vertices reside outside of the MeshDeform container?

It is the rigid body, a made a subdivision, but I unbind it and bind it again

The subdivide must have resulted in some vertices lying outside the MeshDeform container. You’ll need to move them inside and then rebind - either by identifying them individually and moving them or you might get away with simply scaling the whole mesh down a bit and apply scale before rebinding.

Some, vertices where outside, this is the problem, i will do it with sculp.Thanks a lot

You're welcome. I've edited the question and added an answer to hopefully help anyone else with the same problem in future.

The problem is with the Mesh Deform modifier. The Mesh Deform only acts on those vertices that are within the Container mesh. In your case you have applied a subdivision surface modifier and this has resulted in some vertices that are outside the container mesh. This means that those vertices are not deformed to follow the softbody simulation and so they are left behind.
To resolve the issue, identify the vertices that are outside and move them within the container and re-bind the Mesh Deform modifier.


text:
Accessing the new External Image Save functionality using Python
As Gandalf3 recently pointed out, Campbell has recently added code that allows for saving images externally.
This sounds like the feature which experimental branches of Bake-Cycles were using to save baked images automatically when a bake finished.
https://developer.blender.org/D398
I can't find it exposed in the UI so I assume for now it's hidden until this is all sorted out.
This would be very useful for batch baking in scenes that already have dozens or more textures since finding everything that has just been baked can be difficult.
Does anyone have some script ideas on a simple way to access this new feature so that all images are checked for changes and saved if changes have been made?

The patch adds an additional option to the Save as mainfile operator:
bpy.ops.wm.save_as_mainfile(external=True)

In a build with this patch applied, the option should show as checkbox in the side panel in the file navigator if you use Save as... or Save Copy...

That clears it up, I did not realize that we'd have to use a patch.  Campbell wrote in the comments "update to master" and I thought this meant that it already has been added.

As an update, I applied the patch and it works as expected.  This is really nice to have for batch baking.

"updated to master" means he rebased it, so it's possible to apply the patch to master without causing conflicts. "Merged / applied to master" would mean it is in trunk.


text:
changing the intensity falloff of light sources using Cycles nodes
So generally people tend to agree that the intensity of light has a fall-off that is the inverse square of the distance to the light.
Something like:  intensity  = 1.0 / (distance * distance);
I'm fairly certain from what people say that this would be used in OSL/Cycles since it's supposed to be physically based however it's useful to have control over this when a scene is being difficult or even just to give more control when using several fill lights.
I'd like to find a node setup that can help modulate(or replace) the current falloff with something that is a bit more linear.
intensity = 1.0 / distance;
So does anyone have an idea on how to control the intensity falloff using what we have available to us already?


text:
Simulating a screw turning a gear
My goal is to model the parts for a guitar in FreeCAD and Blender, and then use Blender to make sure they will work before I have them made. I've started with the tuners, which consist of a screw turning a gear (and a post attached to the gear, and a little handle and enclosure).
I've figured I need to constrain the position of both main parts, and limit their rotation. But I can't figure out the best way to rotate my parts. The game engine doesn't seem to use precise enough collision detection, and I have trouble making my screw spin with regular Blender physics. I've tried adding wind to spin the screw, adding a vortex force to the screw, tweaking the weights of the objects, and nothing really works.
Here's the blend file.

Animating gears is usually done using the Copy Rotation  constraint, in your case you want to copy the rotation from another axis therefore you might want to use the Transformation constraint to copy and scale the rotation from one axis to another:

Video Tutorial:
Gear rigging tutorial constraints
Note: This is only to do an animation, I'm not sure whether Blender is suitable for simulation of mechanical parts from an engineering point of view.


text:
Different frames make rigid bodies act differently
So I am writing a small script to set initial speeds for objects in the Rigid Body system. It is really bare bones right now, but it essentially sets a keyframe for the selected object on the frame number of a variable called start_frame.
The goal of the script is so I can choose a start frame and a speed, and the object will have all of the correct keyframes set so it can just launch off with an initial speed. The problem is that depending on what frame I set start_frame to be, the cube reacts differently.
Here is what I mean:
If start_frame equals 1, the object is launched and then falls off the plane.

If start_frame equals any number greater than 1, the object doesn't travel as far.

From what I understand, there shouldn't be any difference because the distance between the start and end keyframes is always the same.
I looked at the graph editor but the only change I am seeing between the two conditions is being shifted, just like it should be.

I am so confused why changing the frame from 1 to anything above 1 would give such a different result.
So is there anything special about frame 1?
And if so, how can I avoid this problem in my script?

that's because  end_frame = start_frame + speed so "end frame" is always "speed" frames away from the "star_frame"

@Chebhou That is exactly what is supposed to happen. The start_frame defines the frame to start the animation on. I just want the cube that is launched to have the same physics no matter what frame it is launched on. I will upload a GIF to explain what I mean.

if you travel the same distance in the same duration you will end up in the same place no matter what late you are, duration needs to change but in your script it's constant as the distance is , why do you expect the result to be different ?

@Chebhou The result is different, and that is what is bugging me. I will reword my question and hopefully it will make more sense. For now, take a look at the GIFs I uploaded. The first one start_frame set to 1, and the second shows it set to frame 2. The result is different and I am very confused.

here is what is even weird : if the start_frame is odd it will fall off the plane , but if it is even it will stop before, even at larger numbers

ok I think i found something go to world tab ->rigid_body_world->steps_per_second and set it to 24 (or multiple of 24) and all animations will have the same result

@Chebhou Thanks a ton! I will look into this a bit more and see if I can make an answer that explains why this is. :D

So in order to fix this problem, the steps per second need to be a multiple of the current frames per second. Not exactly sure why this is, but it will make everything more stable!

The problem is the animation starts at frame_start and ends at frame_end and since end_frame = start_frame + speed the duration is always the same but shifted.
To achieve the desired effect the animation duration should get longer when frame_start gets larger, one way to do it is to set the first keyframe at 0.
so the first key frame shouldn't be the start_frame :
    # First keyframe
    scene.frame_current = 0
    bpy.ops.anim.keyframe_insert(type='Location')
    print(start_location)

if you want to start at frame_start and end at frame_end and get different results you have to change the frame_end expression :
frame_end = speed + 2*frame_start

this way the delay the start the longer the duration is , giving the cube lower speed ( less momentum )  and it will travel shorter


text:
How to calculate the minimum difference between 2 values in a range that wraps around itself using math nodes?

I made this illustration and used a circle for better visualization of what I mean. Basically you define the Min and Max values in the range (which end up being the same point) and the max possible difference between the 2 points is never more than half the Max of the range - so, in this case where it's from 0 to 1, the maximum possible difference between 2 points there is 0.5, because they can go back if it's closer - ... and then you define the 2 points, A and B, which you want to get the difference of.
I appreciate very much any help given!

min(B-A, A+1-B), if you know A to be smaller than B ? if min value is not 0, remove it also.

This can be the following:

Determinate who is the max and the min from the A, B inputs.
Either the distance is B - A, or it is A - B + V_Max - V_Min: take the smaller between the 2.
For instance:

 (Blender 4.0)

It's exactly this! You even made a node already ha thank you so much!! I appreciate it a lot.

It seems pretty straight-forward to:

Take the absolute (to get rid of the sign) difference between two values, that's your traditional difference.
For each of the two values:

take distance to (as in p.1. absolute difference) the minimum
take distance to maximum
take the minimum of the two distances above
sum up the both minimums, that's the wrapping difference; obviously you could only consider distance to minimum + distance to maximum vs distance to maximum + distance to minimum, but I think this way doesn't hurt and is simpler...

Take the minimum of the two: traditional and wrapping difference.

There is possibly an even simpler way to look at the problem: rotate your circle so that the closer point to the minimum is at the minimum - now if both values were already within range, you now know the bigger value has to either move to the minimum or to maximum in order to touch the smaller value.
Here's Python code to test both approaches and compare with lemon's:
def lemon(a, b, v_min, v_max):
    return min(
        max(a, b) - min(a, b),
        min(a, b) + v_max - max(a, b) - v_min
    )

def obvious(a, b, v_min, v_max):
    traditional_difference = abs(a-b)
    to_boundary = lambda x: min(abs(x-v_min), abs(x-v_max))
    a_to_boundary = to_boundary(a)
    b_to_boundary = to_boundary(b)
    wrapping_difference = a_to_boundary + b_to_boundary
    return min(traditional_difference, wrapping_difference)

def simple(a, b, v_min, v_max):
    a, b = sorted((a, b))
    b -= a - v_min
    return min(b - v_min, v_max - b)

v_min, v_max = -3, 5
print(f"{v_min=}, {v_max=}")

col_titles = ("a", "b", "obvious", "lemon", "simple", "equal?")
cols = len(col_titles)

row = "| {:>7} " * cols + "|"
header = row.replace('>','^').replace('<','^')
line = header.replace(' ','-').replace('^','-^').replace('|','+').format(*'-'*cols)

print(line)
print(header.format(*col_titles))
print(line)

for a in range(v_min, v_max+1):
    for b in range(v_min, v_max+1):
        args = a, b, v_min, v_max
        o, l, s = obvious(*args), lemon(*args), simple(*args)
        print(row.format(a, b, o, l, s, "yes" if o==l==s else "no"))
print(line)

v_min=-3, v_max=5
+---------+---------+---------+---------+---------+---------+
|    a    |    b    | obvious |  lemon  | simple  | equal?  |
+---------+---------+---------+---------+---------+---------+
|      -3 |      -3 |       0 |       0 |       0 |     yes |
|      -3 |      -2 |       1 |       1 |       1 |     yes |
|      -3 |      -1 |       2 |       2 |       2 |     yes |
|      -3 |       0 |       3 |       3 |       3 |     yes |
|      -3 |       1 |       4 |       4 |       4 |     yes |
|      -3 |       2 |       3 |       3 |       3 |     yes |
|      -3 |       3 |       2 |       2 |       2 |     yes |
|      -3 |       4 |       1 |       1 |       1 |     yes |
|      -3 |       5 |       0 |       0 |       0 |     yes |
|      -2 |      -3 |       1 |       1 |       1 |     yes |
|      -2 |      -2 |       0 |       0 |       0 |     yes |
|      -2 |      -1 |       1 |       1 |       1 |     yes |
|      -2 |       0 |       2 |       2 |       2 |     yes |
|      -2 |       1 |       3 |       3 |       3 |     yes |
|      -2 |       2 |       4 |       4 |       4 |     yes |
|      -2 |       3 |       3 |       3 |       3 |     yes |
|      -2 |       4 |       2 |       2 |       2 |     yes |
|      -2 |       5 |       1 |       1 |       1 |     yes |
|      -1 |      -3 |       2 |       2 |       2 |     yes |
|      -1 |      -2 |       1 |       1 |       1 |     yes |
|      -1 |      -1 |       0 |       0 |       0 |     yes |
|      -1 |       0 |       1 |       1 |       1 |     yes |
|      -1 |       1 |       2 |       2 |       2 |     yes |
|      -1 |       2 |       3 |       3 |       3 |     yes |
|      -1 |       3 |       4 |       4 |       4 |     yes |
|      -1 |       4 |       3 |       3 |       3 |     yes |
|      -1 |       5 |       2 |       2 |       2 |     yes |
|       0 |      -3 |       3 |       3 |       3 |     yes |
|       0 |      -2 |       2 |       2 |       2 |     yes |
|       0 |      -1 |       1 |       1 |       1 |     yes |
|       0 |       0 |       0 |       0 |       0 |     yes |
|       0 |       1 |       1 |       1 |       1 |     yes |
|       0 |       2 |       2 |       2 |       2 |     yes |
|       0 |       3 |       3 |       3 |       3 |     yes |
|       0 |       4 |       4 |       4 |       4 |     yes |
|       0 |       5 |       3 |       3 |       3 |     yes |
|       1 |      -3 |       4 |       4 |       4 |     yes |
|       1 |      -2 |       3 |       3 |       3 |     yes |
|       1 |      -1 |       2 |       2 |       2 |     yes |
|       1 |       0 |       1 |       1 |       1 |     yes |
|       1 |       1 |       0 |       0 |       0 |     yes |
|       1 |       2 |       1 |       1 |       1 |     yes |
|       1 |       3 |       2 |       2 |       2 |     yes |
|       1 |       4 |       3 |       3 |       3 |     yes |
|       1 |       5 |       4 |       4 |       4 |     yes |
|       2 |      -3 |       3 |       3 |       3 |     yes |
|       2 |      -2 |       4 |       4 |       4 |     yes |
|       2 |      -1 |       3 |       3 |       3 |     yes |
|       2 |       0 |       2 |       2 |       2 |     yes |
|       2 |       1 |       1 |       1 |       1 |     yes |
|       2 |       2 |       0 |       0 |       0 |     yes |
|       2 |       3 |       1 |       1 |       1 |     yes |
|       2 |       4 |       2 |       2 |       2 |     yes |
|       2 |       5 |       3 |       3 |       3 |     yes |
|       3 |      -3 |       2 |       2 |       2 |     yes |
|       3 |      -2 |       3 |       3 |       3 |     yes |
|       3 |      -1 |       4 |       4 |       4 |     yes |
|       3 |       0 |       3 |       3 |       3 |     yes |
|       3 |       1 |       2 |       2 |       2 |     yes |
|       3 |       2 |       1 |       1 |       1 |     yes |
|       3 |       3 |       0 |       0 |       0 |     yes |
|       3 |       4 |       1 |       1 |       1 |     yes |
|       3 |       5 |       2 |       2 |       2 |     yes |
|       4 |      -3 |       1 |       1 |       1 |     yes |
|       4 |      -2 |       2 |       2 |       2 |     yes |
|       4 |      -1 |       3 |       3 |       3 |     yes |
|       4 |       0 |       4 |       4 |       4 |     yes |
|       4 |       1 |       3 |       3 |       3 |     yes |
|       4 |       2 |       2 |       2 |       2 |     yes |
|       4 |       3 |       1 |       1 |       1 |     yes |
|       4 |       4 |       0 |       0 |       0 |     yes |
|       4 |       5 |       1 |       1 |       1 |     yes |
|       5 |      -3 |       0 |       0 |       0 |     yes |
|       5 |      -2 |       1 |       1 |       1 |     yes |
|       5 |      -1 |       2 |       2 |       2 |     yes |
|       5 |       0 |       3 |       3 |       3 |     yes |
|       5 |       1 |       4 |       4 |       4 |     yes |
|       5 |       2 |       3 |       3 |       3 |     yes |
|       5 |       3 |       2 |       2 |       2 |     yes |
|       5 |       4 |       1 |       1 |       1 |     yes |
|       5 |       5 |       0 |       0 |       0 |     yes |
+---------+---------+---------+---------+---------+---------+

Reproducing the formulas in geonodes should be easy...

in fact, if you also use "a, b = sorted((a, b))" in "lemon", "simple" and "lemon" are the same, isn't it?

@lemon so this was the logic you started with? I didn't work it out backwards... I guess in the end of the day all 3 of them are mathematically equivalent, the same?

maybe the same, yes. That does not matter so much, anyway! Thanks for the comparison!


text:
Compiling Shader.... taking too much time. "Hacks" to speed it up?

This is my node tree.
I'm still working on it and, as in right now, for every node change I have to wait more than 40 seconds for the shader to recompile and it's unmotivating and extremely time consuming to work like this :/

Does anybody have any insight or knowledge on how to speed up shader compilation? Tips/workarounds (apart from disconnecting some sockets, because I wanted to see it all put together). Turning some Blender options off/on... Stuff to check? And most importantly - nodes or ways of building the node tree that should be avoided because they're more intensive? I would find a workaround for it that is less intensive then. ...Is this a node quantity thing? Or do, for example, image textures add more loading time than math nodes... something like that? There are so many ways of testing this I've tried a bit but with no specific conclusions on what's better.
Anybody got any tips?
I'm using EEVEE on Blender 4.0.2
Hardware is Intel Core i7-8750H CPU @ 2.20GHz and a GTX 1060 6GB GDDR5)

You can bake the output of any bits of it that you consider finalized, rather than calculating everything from scratch every time.  Can't make out any nodes in your pic, so can't offer any advice more specific than that.

@Nathan hey, thanks for replying, the pic is just for a notion of the size of it. I can't bake anything because is a procedural dynamic effect. I already tried putting all repeating parts into linked duplicate nodes, not sure if that helped anything tho... (edit: sorry by bake u mean textures? or u mean u can bake node trees in general ?)

Update: The best solution I found is to use Cycles instead to visualize the changes (if the material is compatible), because Cycles actually updates the changes immediately. And even If I have to wait a few secs for the render to clear up it's always way faster than waiting a whole minute everytime in EEVEE.
I'm also probably gonna make a feature request post about the following later, that is: when I go back to EEVEE, the shader has to recompile still because it doesn't do it in the background while in Cycles, so (if it was possible), adding an option to compile the EEVEE shader behind the curtains while in Cycles would be super time saving. Even if Cycles was a little slower while it background compiled, for complex shader nodes, not having to sit still waiting a min for that white loading shader to recompile every time I change a node is still much less tiring and much much faster. This would be a good workaround for everyone building complex EEVEE shaders who feels limited because of these wait times.


text:
What's the simplest way on a Geometry Nodes extrusion to keep ONLY the "top" and "side" of the extrusion and delete the original mesh part?
I have this rectangle, which is a result of the extrusion of the leftmost vertical edge:

I wanna delete that original edge after the extrusion.
Basically wanna end up with the inverse (mirror) of this:

I can't find the correct combination of boolean math/ delete geometry node settings/ separate geometry nodes... or what it is to achieve it. Every combination deleted everything but the original edge exclusively. And the worst is this seems so basic. I'm losing my mind.
help

This is similar to this: https://blender.stackexchange.com/questions/308134/how-to-crease-original-edges-after-an-extrusion. You should base the selection on the edge indices.

With the "inverse" you mean "mirrored"? Or inverse like Boolean inversion "not"? Because real inversion would mean, everything that originally stays will be deleted, and the only thing that stays is what was deleted before - resulting in only the vertical edge being moved to the right, which is nothing you need an extrusion for. If you mean mirrored, use a Compare node to check if Index = 0, then use the result as Selection for the Delete Geometry node: mirrored version (you can even leave it at "All" in this case instead of "Only Edges & Faces").

@GordonBrinkmann yours was the simplest way, thank you


text:
Simulating moveable objects like gears
I'm pretty new to Blender.
Is it possible to test mechanical objects like gears in Blender before printing them in a 3d printer? If so, how?
For example, if I have created a robotic arm, is it possible to simulate what would happen if I turned something?

I wouldn't expect rigid body to work very well. I would setup constraints or a driver to automate the gears moving from one driven gear.

It is of course possible to test stuff in a 3D environment. Big companies for example do it when they build a factory to check whether any pipes intersect with the walls or cables. Better safe than sorry.
Doesn't mean it's easy in Blender. You can misuse Blender as a CAD-Software. I have used it to visualize stuff I wanted to build in order to find out lengths or shapes. Turns out it does a reasonably close simulation of a solar eclipse, too. You could write a script that accurately checks for intersections.
Realtime physics can help as well.
However...
All of the simulations in Blender are not built for high precision. Especially the physics are meant to be an amazing aid to animation, not a precise model of the world.
Also, most 3D printers have tolerances which means: what you model is not precisely what you get. Gears will work, just not amazingly well. You can't beat bought gears or a solid lathe to make them yourself with a 300 bucks printer.
Quick answer: it helps and you can model the parts for the printer but you need to gather experience to foresee all the pesky little details involved.

Thanks for youre answer! At first i know thats Blender is not the best option, but i´ve got more skills in Blender than in Autocad :D The printers manufactory says that the printer have an accuracy less then 0,2 mm. But i should level my skills in Autocad right? Best wishes

With 0.2 mm accuracy, Blender is perfectly fine. When you say gears, I think of precisions in the 0.01 range. Gears are supposed to roll off each other instead of causing friction. In the end, you simply make a few test prints and then you know how big a part has to be in order to fit.

I'm guessing that you are printing in plastic. This is a trial and error % factor that you will have to fine tune. The type of plastic, expansion when heated, shrinkage when cooled, and total warp when done will throw your accuracy out the window (semi-moving target).


text:
Setting up mechanical linkage of levers
Since I'm new to Blender (I made the model and rigging with gMax), I find myself stuck trying to set up a linkage for the reverser of my steam locomotive. I was finally able to set the pivot point for the lifting arm using the iv constraint (reverser 1a).

When attempting the function the arm moved correctly but the bones disconnected and failed to raise the reverser arm. None of the constraints could remedy this (reverser 1b).

Further attempts kept the bones together.

However I was never able to keep the last bone attached to the linkage.

Any help would be greatly appreciated.
Have a great day.
TOM
Addendum:
I have been able to answer most of my questions through a lot of trial and error. I am trying to model this steam locomotive for use in TRAINZ.

A short video of my progress can be seen on Youtube.
I was able to do the linkage with an armature starting at the reverser lever. Using IK constraints with limited chain length I could connect to various objects. Everything works great when running forward:

The problem is when shifting into reverse since the radius and valve rods are location constrained to the Y-axis of the expansion links pivot point, the motion is no longer correct.

I have tried everything I could think of, including the clamp to constraint, without success. I would be grateful for any ideas. Have a great day. TOM

Do you specifically need bones for this? Have you tried with a constraints only solution? Might be easier to achieve what you want. See related https://blender.stackexchange.com/questions/78170/precise-mechanical-rigging-intuitive-method/78183#78183

Sorry. Just got the notification of your reply. Thanks for the link. I tried using rigid body hinges but wasn't successful. Thanks again. TOM

Here one of my attempts. I believe I set up the hinge correctly. The L-shaped arm is child of the lever base and can rotate on the x-axis which is the z-axis for the hinge. (image 1).

Here one of my attempts. I believe I set up the hinge correctly. The L-shaped arm is child of the lever base and can rotate on the x-axis which is the z-axis for the hinge. (image 1) On the second picture you see that rotation of the l-shaped arm breaks apart the objects instead of bending at the hinge. I may try bones again. TOM   P.S. Could not add pictures. control G failed to work.

Could you include the name of the locomotive?

I've been at it over a month. I have a 99% solution.
The pictures show what I have done in Forward and Backward gear.
The solution isn't perfect because the travel between gears is on a circular route. I posted a video on Youtube. The first 30 seconds are still photos and then the action starts. If anyone has an idea how to make a straight route let me know. Thanks. Have a great day.
TOM
https://youtu.be/L5k6kLqcca4


text:
Unwanted purple reflections on a reflecting surface
I'm trying to make a golden armor and use a tutorial to get the desired effect, but when I put it in the rendering view I get a purple glow. I have no idea  where the glow is coming from.

These are the settings that you use to obtain this effect:

For the hair, I did more or less the same procedure but also has the influence on, I do not know if that's the reason why I get that purple effect.

You could tell me why it looks like this and how I can fix it?

Hi. Please [edit] your question title so it is descriptive of the problem you are having, not just the general topic.

As this purple is a reflection, check lights and  environment: the material is not the responsible. Also remember that purple color is used as "alarm" of missing or not definied texture (Maybe a light texture or an environment one).


text:
Trouble merging objects
I am trying to model a smart phone, but I faced this light problem.
As u can see from the photo the light is destroying the object its look like there is two objects.

How can I fix this problem? I tried a Shrinkwrap modifier but didin't work :(
.blend file if needed

Please share your Blend file via https://blend-exchange.com/ following the instructions on that page to add the link to your question.

If you're using two models, then the upper model have to copy the surface normal infos from the lower surface.
To transfer the normal infos you have to use the Data Transfer Modifier->Face Corner Data->Custom Normals
You shold also define a vertex group to limit this effect to the lower border edge.

This is how it works.
Best wishes
Chris
Here's your modified file:

Thanks man, but why the edges still noticeably?. is there any way I can merge them more so they be like one object??

I guees there are not enough subdivisions in your Phone model. The normals are calculated on a interpolated basis. The best will be to connect the case by modeling it.

Here I've booled the mesh in and joined both meshes then. Cleaned up some vertex. 5 mins work.
Here's the file:

Wooo, man your work is amazing

Please vote my post up, if you think it helps you or solve your problem. This help others, who have the same issue. Thanx


text:
Branches not scaling down over length of branch
I'm relatively new to geometry nodes and have followed several procedural plant tutorials to get me started. I decided to try and make a procedural fir tree and can't figure out why my secondary branches aren't behaving how I would like them to. I've tried searching on youtube and here for any answers but can't find anything.
Basic Setup: Trunk being the trunk, Primary branches being the branches on the trunk, secondary branches being the branches on the primary branches. I've started off with a Bezier curve for the trunk and then made quadratic Bezier curves in the geometry node tree for the branches.

As you can see in the above picture, the primary branches scale to 0 at the end of the curve which is good. However when I attempt to do the same thing for the secondary branches and plug it in, it doesn't scale down at all. It keeps the same scale for the length of the primary branch.

The red X next to the map range node is the node I'm using to scale just like I did for the Primary branches. I think it has something to do with the spline parameter not doing something correctly for the map range node????? Changing any of the values on the primary branch map range node changes the secondary branch scale equally. Which is why I think the spline parameter factor is not doing what I want it to do. What Spline does the spline parameter node use if there is multiple? Does it only do it for the main object your doing a geometry node modifier for? Or does it go forward through the nodes to the spline connected via nodes?
I've tried all variations with the map range node, and the input spline parameter node(changing from factor to length to index) but it doesn't change anything. Adding a different map range node (with spline parameter factor/length/index) doesn't change anything either.
A solution to fix my secondary branches not scaling down over the curve length would be greatly appreciated, also since I'm new any other pointers would be appreciated.
side note: I've changed radius of branches/trunk to be more visible in the pics, don't think this affects anything.
Edit: here is blend file i've done some other tests on here


text:
Is it possible to have a separate animation timeline in another layer?
I would like to have different animation speeds for different objects in the same scene. Having a separate timeline would help but I can't find an option to do that.
If it is not possible to create a separate timeline, what should I do to have different animation speeds?

You could try NLA editor for this situation.

I've achieved my goal by simply increasing the needed amount of timeline frames and duplicating and extending everything I need to be short into a loopable manner.
This way I can animate different objects to go faster or slower in the same scene.

NLA (Non Linear Editor) is your friend


text:
Character for Game Engine not working
I am making a game where you walk around and gather items from various gathering spots. My initial problem was that my rigid body player was not colliding with my static plant model, then I thought to make my player a character physics type.
However, once I changed the physics, it no longer collided with my floor plane properly, and when I press a key to move the player, the motion does not stop (it is perpetual motion).
I've attached both of my .blend files. the first is with a rigid body physics type and the second is with character.
Here are the files: Rigid Body,
 Character

I figured out my issue but I will leave this up in case someone else has my problem.
To solve this keep the player as rigid body type and change the armature attached to a sensor physics type. Remember to add collision bounds to the armature and ensure that detect actors is checked on the armature and that the static object you wish to collide with is set as an actor (don't worry the armature will not collide with the model its attached to.)
Thank you to anyone who tried to help me and I hope that I saved someone some time fixing their game.

Thanks for sharing the solution! Could you please accept your own answer so that it is easier to find for others that run into similar problems?


text:
Set grease pencil drawings on one level?
I am working on a project where I rely heavily on grease pencil drawings (for sculpting), always looking straight on top with 7 on keypad. I just noticed that my drawings are on different levels on the Z axis.
Is it possible to align them together to a certain level and decide on what level new drawings should be? I don't think a screenshot is necessary.
It's not really bothering my workflow, but it would be nice to know.

https://blender.stackexchange.com/questions/99000/grease-pencil-workflow-for-composition-or-storyboarding

Possible duplicate of Grease pencil workflow for composition or storyboarding

I don't think this is a duplicate of that question. Probably answer is, although that's not for closing even then.

As of Blender 2.79 you can reproject strokes to existing surface or just to make them planar.
When drawn over some objects from some projection (top one in your case) they look as expected from that projection:

If moving viewport projection problems will become apparent:

To fix that first hide or delete any other objects except for the one you're going to use as a new level for projection. Also make sure that mesh for the projection (probably plane) is larger when seen from the top view than all the strokes.
Then enter Edit Strokes mode, A to select all. Open Toolshelf, choose Grease Pencil tab. Open Edit Strokes rollout and on its bottom find Reproject Strokes dropdown. Choose Surface there to use surface of the mesh you want instead of planar projection depending on the current viewport camera position. Your drawing will be brought to the surface of the mesh you used as a new level.

That is a pretty useful answer; I could change my approach by adding my strokes to a plane. Until now, i just drew in the air. There is no way to set the strokes on one level on the Z-axis without adding them to a plane?

hm i can try and convert the strokes to geometry and then move them to one level.

@IrenäusBlaszkiewicz as mentioned in the answer you can draw anywhere and then move them to any level you want (note that only selected strokes will be moved). If using Reproject > Planar option strokes will be moved to one level depending on viewplane position (no geometry needed / involved). If drawing over some geometry and choosing to stick strokes to surface then strokes obviously will be moved to the surface they find. To avoid that either don't draw over surface or change stroke placement type

Okay now I get it, thanks. Didn´t know you could do so much with grease pencil. As you said, I went to Edit Strokes -mode and used Reproject-Planar in the Toolbar. That´s what I wanted!


text:
Straightening tilted viewport

I am not sure how I got that tilt. How can I get the viewport to be correctly aligned again?

If it's the viewport camera, simply hit NUMPAD1, NUMPAD3 or NUMPAD7 to get into an aligend view. Alternatively use the View menu (Right, Front or Top).
If your camera object got tilted, open the properties with N, find the rotation values in the Transform panel and find the value that isn't quite 90 or 0 degrees and enter a clean value.

Shift+C will re-center the camera on the origin. It is possible this tilt is acquired from Shift+Num4 or Shift+Num6 which control the roll of the camera.
As @Haunt_House mentioned, the N panel has all camera translation information, which you can change manually if desired.


text:
Attach rigid bodies to rigged mesh
So I am modelling something for a friend. Its a cat from a game and it has some little bells on a collar.

I modelled and textured everything, and I was able to use Rigid Bodies for the bells so they move with the cat. But once I rigged the cat the rigid bodies don't follow the cat anymore
I attatched them using a Generic rigid body constraint with empties connecting the cat mesh to the bells. I also have strings connecting the cat to the bells using the Hook modifier, but I have been able to figure that out.
I just can't seem to find a way to make the rigid bodies follow the deformations of the rig.

Here is how I attached everything. The best that I have been able to get is the empties to follow the rig, but the rigid body simulations don't follow with the empties that are constraining them.

I've done.
Youtube:

First of all - seems that rigid bodies aren't working with armature-deformed meshes directly. But with some intermediate objects it is possible to make them. I made the chain: rigid proxy object ("fake tip") and ball constrainted by empty ("joint"), this empty is child of "fake tip", "fake tip" is child of last bone in armature. Also armature constrainted with IK and deforms mesh ("tentacle").
Looks like you have to place additional rigid proxy objects for every bone where could be collision with other rigid bodies.
I made some different attempts with different combinations and only this one works for me. But hope somebody could make it simplier.
Added some screenshot:

could you give a more detailed explaination and a few screenshots? (I think this answer will still be useful in the futur)

I don't know how to explain more after what I wrote and attached scene. I just made simple armature-controlled object, one simple mesh which is repeating form of tip of that "tentacle", and one spehere. Then I linked that tip to the last bone in armature and linked one empty to it. Then I made tip and ball rigid bodies and added empty as point constraint between them. Then I made armature IK-controlled by additional empty (actually it doesn't matter), made some animation, and after all baked rigid bodies simulation. Finish.

Well. You can create two rigid bodies, one passive animated one (perhaps a lowres of your character or a dummy parented to it) and the rigid body you wish to simulate. Then create a generic spring rigid body constraint between them. I'm not certain you can create an animated passive rigid body from an empty, but if not you could create a plane, use box collision and set it to not render.


text:
How to enable CUDA on Ubunutu 14.04 for a GTX 970?
Yes, I've read this post already. But it didn't work. Now I'm looking for more information and ways to diagnose the problem... and perhaps find a solution.
The base system is an Ubuntu machine (14.04 LTS), 64 bit, and a GTX 970.
The GTX 970 is a "rather new" card and is not supported by the proprietary nvidia driver that "comes" with 14.04.  You have to install version 343.22 which is available via the xorg/edgers ppa repo.
Additionally, as mentioned here, the utility nvidia-moprobe has to be installed, to give non-root users access to CUDA.
Furthermore, they also recommend to install the newest development build from https://builder.blender.org/download/, as 2.72b does not support the GTX 970/980 (no idea why), and to install CUDA 6.5 from nvidia for the CUDA 6.5 toolkit.
I've done all this, but it's still not working. Along the way, I came across some conflicting information, which I hope some of you can clarify.
I've read on various sites, that the GTX 970/980 is only supported starting from nvidia driver 343.22, and CUDA 6.5. So I think this is a given fact.
Which means, that I can't use the CUDA library from the main Ubuntu repo, which is v5.5.
In some postings I've read that the builds from the buildbot contain a pre-compiled CUDA kernel and installing the CUDA toolkit is not necessary, in other places a CUDA update is recommended for better performance.
There is an Ubuntu bug report regarding the nvidia-modprobe, however I have no idea if this also relates to Blender.
Apparently the current Blender build (2240c26, Nov. 28, 2014) does not recognize the GTX 970 in the described configuration.
The nvidia-settings utility confirms that 343.22 is running on my system. And the GTX 970 is listed there.
My questions are:

Does the builderbot version come with a CUDA kernel and if so, is it 6.5 compatible? If not, is there a way to tell Blender to use the external toolkit (short of compiling from source)?
Which devices does Blender use under Linux to access CUDA? I.e. is  nvidida-modprobe necessary, and if so, how can I tell that it is working?
What does the developer build have, that 2.72b hasn't, that is needed here?
Are there any switches when starting blender, that might shed some light why it does not use CUDA?

Thank you for reading this far :) - any help is welcome.

I got it working, and I can at least partially answer my questions:
Problem #1: There are two CUDA 6.5 packages at nvidia, a "normal" one and one "with Support for GeForce GTX9xx GPUs" (here). Choose the later one.
Problem #2: I had already installed the nvidia 343.22 driver from xorg/edgers. The CUDA packages comes with its own 343.19 (as well as its own nivdia-modprobe).
FYI: I've used the .deb file (not the .run one). This drops a handful of other .deb files onto the system, but does not install them. After apt-get update-ing they can be installed using: apt-get install cuda
I needed to bring the system into a terminal-only state where no nvidia driver was running in order to remove the 343.22 one and install the cuda package.
Regarding to my questions:

Blender does use the (external) CUDA install.
2.42b produces a black screen and an error message in the terminal, i.e. there is a code change needed for the GTX 970 to work
nvidia-modprobe is part of the package - i.e. no need to install it separately.

Thanks for your specific answer. i followed your steps and blender still can't detect cuda. Is there anything else I can do? do you suggest installing the 343.19 driver? - thanks!

(i get the following error after installing cuda: modprobe: ERROR: ../libkmod/libkmod-module.c:809 kmod_module_insert_module() could not find module by name='nvidia_343'
modprobe: ERROR: could not insert 'nvidia_343': Function not implemented)


text:
How to combine two curves for a camera animation
I am working on a math-art animation in which a complicated object is changing and growing in the center of the scene. I want to animate the camera to follow a log spiral path that I've used a mirror modifier on to create a closed path that spirals out then back towards the object.
I'm using ADD:Curve:Curve Spirals:Logarithmic, then a mirror modifier. That works: I get what appears to be a single closed curve (it selects and shows in object and edit mode as one curve). But when I set up the camera to track on this curve the camera tracks correctly to the point where the original spiral connects to its mirror image, ignores the mirrored part, and jumps back in to the beginning of the original unmodified curve.I did the modifier part before any of the camera tracking part.
I'd like to know how to fix this manually for now, though ultimately I will add this piece to my python script that does most of the work in this project.
I've added some screen shots in both object mode and edit mode. In object mode the whole thing selects as one object but going into edit mode only the original spiral is highlighted and I can't seem to affect the mirrored half. Going into the object's curve tab Geometry panel I noticed that setting the bevel depth to non-zero bevels the whole thing. Thought this might be a clue to someone, though it just adds to my confusion.

You will need to apply the modifier

I'm not sure what the width will do, but I think you shouldn't have it unless you need it for some sort of visual for yourself.

Thanks for the suggestion avatar. I tried it but that undoes the already set camera tracking along the curve while looking at the origin. I tried to redo the tracking but discovered that when the curve becomes a mesh the parenting menu (Ctrl-P) won't offer the "follow path" option. However, I then tried converting that back into a curve (weirdly Alt-C wouldn't come up but the option was still in the Object menu of the 3D view). That worked, I redid the camera following curve and IT WORKS! I had read elsewhere that the Apply button is to be avoided if possible but in this case it was the key.


text:
Blender adding double forward slash (`//`) to image file paths on Mac
TL;DR: Blender seems to be prepending spurious // before filepaths when loading images from script.
Steps to reproduce: Save the following minimal script in a filename of your choice (e.g. blender_test.py)
import bpy
D = bpy.data
D.images.load('/Users/path/to/image.jpg')  # A JPG image in a different folder. You'll need to change this.
D.images[0].use_fake_user = True
bpy.ops.wm.save_as_mainfile(filepath="./fromscript.blend")

Execute using:
blender -b -P blender_test.py

Now open fromscript.blend in blender GUI, fire up the Python console and  print the path of the just-loaded image.
print(D.images[0].filepath)

I see the following in my console (part of the path has been redacted). Notice the two forward slashes in the path. When I load the image from the Python Console in the GUI, or using the dislog box, those slashes are not there. These two forward slashes are preventing my downstream commands (e.g. textured material creation) from seeing the loaded images. Why are there additional slashes when blender is executed as a script?

EDIT If I understand correctly, this is asking a different question, about linking images from a different machine using relative paths. My question asks about blender prepending slashes to an absolute path.

@Hikariztw:  Added an edit explaining the difference.

Turns out that the double forward slash is Blender's way of expressing relative file paths. E.g. ./file.jpg in a Unix filesystem is //file.jpg in Blender. So I needed to save my .blend file by turning off the default interpretation of filepaths as relative.
Turns out that this modified question is already answered here: Absolute path of files in Blender (with Python).


text:
Displaying text inside an addon Panel
This question is not about displaying text-like objects or mesh in the 3D viewport but rather about displaying plain text in a panel created by an Addon.
I have a panel with two rows. On the first row is a button (Action 1) linked to an operator which generates some long text (say a ~1000 character error message). I want to display this generated text in the second row (with wrapping instead of truncation or ellipsis). I  also want to allow the user to select some or all of that text.
My current attempt
I'm unable to come up with anything better than using the label attribute to display the long text (code below). But it doesnt satisfy my requirements: (1) Doesnt allow text selection (2) doesnt display full text (just displays first and last few characters with ellipsis in between)
Ideally I'd like to have a display similar to the box for "Vertex Groups" below

Of course, I'd want the ability to change the label "Vertex Groups" and to be able to populate the box with (wraparound) text.
code
from bpy.props import StringProperty
import bpy

class MESH_OT_action1(bpy.types.Operator):
    bl_idname = 'mesh.action1'
    bl_label = 'Action 1'
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        try:
            context.scene.long_string = 'x' * 1000
            return {'FINISHED'}
        except Exception as e:
            self.report({'ERROR'}, e.args)
            return {'CANCELLED'}

class PANEL_PT_MyPanel(bpy.types.Panel):
    bl_idname = 'PANEL_PT_MyPanel'
    bl_label = 'mypanel'
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = 'Panel test'

    def draw(self, context):
        row_action_1_btn = self.layout.row()
        row_action_1_btn.operator('mesh.action1', icon='WORLD_DATA', text='Action 1')

        # Text area
        row_text = self.layout.row()
        text = context.scene.long_string
        row_text.label(text=text, icon='WORLD_DATA')

bl_info = {
    "name": "Textbox",
    "author": "author@gmail.com",
    "version": (0, 0, 1),
    "blender": (2, 80, 0),
    "location": "View3D",
    "description": "Demo Addon",
    "category": "Development",
}

def register():
    bpy.utils.register_class(MESH_OT_action1)
    bpy.utils.register_class(PANEL_PT_MyPanel)
    bpy.types.Scene.long_string = StringProperty(name='long_string', default='')

def unregister():
    bpy.utils.unregister_class(MESH_OT_action1)
    bpy.utils.unregister_class(PANEL_PT_MyPanel)
    del bpy.types.Scene.long_string

if __name__ == "__main__":
    register()

Might be a good idea showing us how the actual text looks like. Otherwise have a look into Create an interface which is similar to the material list box.

@brockmann Thanks. I dont see how the exact text string is relevant to the solution (except perhaps its min/max length). It is dynamically generated by the operator but its format is Error <error code>: <error detail>. I dont want to display it as report({INFO}, ...) because I want the user to be able to select the error text.

Consider displaying the generated text in the text editor.  It has word wrap and is simple to select.  The text box panel UI is IMO just not set up  for this.  For instance could extend @brockmann s answer to add button to pop a text editor window with the text selected (or not), wrapped and readable.

@batFINGER I indeed ended up displaying my generated long text in the text editor. Your comment is the real answer to my situation.

Log Window
Example using an UIList based on the answer of Create an interface which is similar to the material list box as suggested in the comments. Removed all superfluous operators to get a kind of log window.

# ##### BEGIN GPL LICENSE BLOCK #####
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software Foundation,
#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####

bl_info = {
    "name": "log-uilist-dev",
    "description": "",
    "author": "p2or, brockmann",
    "version": (0, 1),
    "blender": (2, 80, 0),
    "location": "Text Editor",
    "warning": "", # used for warning icon and text in addons panel
    "wiki_url": "",
    "tracker_url": "",
    "category": "Development"
}

import bpy

from bpy.props import (IntProperty,
                       BoolProperty,
                       StringProperty,
                       EnumProperty,
                       CollectionProperty)

from bpy.types import (Operator,
                       Panel,
                       PropertyGroup,
                       UIList)

# -------------------------------------------------------------------
#   Operators
# -------------------------------------------------------------------

class CUSTOM_OT_actions(Operator):
    """Move items up and down, add and remove"""
    bl_idname = "custom.list_action"
    bl_label = "List Actions"
    bl_description = "Move items up and down, add and remove"
    bl_options = {'REGISTER'}

    action: EnumProperty(
        items=(
            ('UP', "Up", ""),
            ('DOWN', "Down", ""),
            ('REMOVE', "Remove", ""),
            ('ADD', "Add", "")))

    list_item: StringProperty()

    def invoke(self, context, event):
        scn = context.scene
        idx = scn.custom_index

        try:
            item = scn.custom[idx]
        except IndexError:
            pass
        else:
            if self.action == 'DOWN' and idx < len(scn.custom) - 1:
                item_next = scn.custom[idx+1].name
                scn.custom.move(idx, idx+1)
                scn.custom_index += 1
                info = 'Item "%s" moved to position %d' % (item.name, scn.custom_index + 1)
                self.report({'INFO'}, info)

            elif self.action == 'UP' and idx >= 1:
                item_prev = scn.custom[idx-1].name
                scn.custom.move(idx, idx-1)
                scn.custom_index -= 1
                info = 'Item "%s" moved to position %d' % (item.name, scn.custom_index + 1)
                self.report({'INFO'}, info)

            elif self.action == 'REMOVE':
                info = 'Item "%s" removed from list' % (scn.custom[idx].name)
                scn.custom_index -= 1
                scn.custom.remove(idx)
                self.report({'INFO'}, info)

        if self.action == 'ADD':
            if self.list_item:
                item = scn.custom.add()
                item.name = self.list_item
                item.coll_id = len(scn.custom)
                scn.custom_index = len(scn.custom)-1
                info = '"%s" added to list' % (item.name)
                self.report({'INFO'}, info)

        return {"FINISHED"}

class CUSTOM_OT_clearList(Operator):
    """Clear all items of the list"""
    bl_idname = "custom.clear_list"
    bl_label = "Clear List"
    bl_description = "Clear all items of the list"
    bl_options = {'INTERNAL'}

    @classmethod
    def poll(cls, context):
        return bool(context.scene.custom)

    def invoke(self, context, event):
        return context.window_manager.invoke_confirm(self, event)

    def execute(self, context):
        if bool(context.scene.custom):
            context.scene.custom.clear()
            self.report({'INFO'}, "All items removed")
        else:
            self.report({'INFO'}, "Nothing to remove")
        return{'FINISHED'}

# -------------------------------------------------------------------
#   Drawing
# -------------------------------------------------------------------

class CUSTOM_UL_items(UIList):
    def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index):
        split = layout.split(factor=0.2)
        split.label(text="%d" % (index))
        #split.prop(item, "name", text="", emboss=False, translate=False, icon=custom_icon)
        split.label(text=item.name) # avoids renaming the item by accident

    def invoke(self, context, event):
        pass

class CUSTOM_PT_objectList(Panel):
    """Adds a custom panel to the TEXT_EDITOR"""
    bl_idname = 'TEXT_PT_my_panel'
    bl_space_type = "TEXT_EDITOR"
    bl_region_type = "UI"
    bl_label = "Log UIlist"

    def draw(self, context):
        layout = self.layout
        scn = bpy.context.scene

        rows = 7
        row = layout.row()
        row.template_list("CUSTOM_UL_items", "", scn, "custom", scn, "custom_index", rows=rows)

        row = layout.row()
        add = row.operator(CUSTOM_OT_actions.bl_idname, icon="ADD", text="Add Log Line")
        add.list_item = "Error %d" % (len(scn.custom))
        add.action = 'ADD'

        row = layout.row().operator("custom.clear_list", icon="X")

# -------------------------------------------------------------------
#   Collection
# -------------------------------------------------------------------

class CUSTOM_objectCollection(PropertyGroup):
    #name: StringProperty() -> Instantiated by default
    coll_type: StringProperty()
    coll_id: IntProperty()

# -------------------------------------------------------------------
#   Register & Unregister
# -------------------------------------------------------------------

classes = (
    CUSTOM_OT_actions,
    CUSTOM_OT_clearList,
    CUSTOM_UL_items,
    CUSTOM_objectCollection,
    CUSTOM_PT_objectList
)

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

    # Custom scene properties
    bpy.types.Scene.custom = CollectionProperty(type=CUSTOM_objectCollection)
    bpy.types.Scene.custom_index = IntProperty()

def unregister():
    from bpy.utils import unregister_class
    for cls in reversed(classes):
        unregister_class(cls)

    del bpy.types.Scene.custom
    del bpy.types.Scene.custom_index

if __name__ == "__main__":
    register()

Note: the naming of the classes and variables might be off a little.

Sincere thank you for taking the efforts to create a code-based answer here. Unfortunately, I cant accept it since my situation requires displaying of a single long string of text with wraparound. I'd still selfishly request you to consider leaving your code here in the hope that it might help someone in the future (myself included).

The reason why I asked for how the text looks like @RDK

Remembered this one .. Maybe a candidate for https://blender.stackexchange.com/questions/160859/is-there-a-way-to-display-a-multi-lines-message-in-panel-popup  This is a good answer (and q IMO) sheets me no end  to come back and find the only two upvotes on page are mine. Please start up-voting people.


text:
Trying to create a simple add-on but Python keeps throwing errors
I am trying to create a simple add-on that will automatically reload images in Blender. I managed to find a few scripts that helped me and when I press "Run Script" it works as expected. However, when I try to add it to the Add-On in Blender, I get this error:

AttributeError: '_RestrictData' object has no attribute 'images'

The line causing the problem is:
images = bpy.data.images

Here is the full script:
import bpy
import os
from threading import Timer

bl_info = {"name": "Auto Reload Addon", "category": "Object"}
last_mod = {}

def startup():
    images = bpy.data.images
    for img in images :
        if img.source == 'FILE' :
            path = img.filepath_from_user()
            statbuf = os.stat(path)
            last_mod[img.filepath_raw] = statbuf.st_mtime

def autoreload():
    images = bpy.data.images
    for img in images :
        if img.source == 'FILE' :
            path = img.filepath_from_user()
            statbuf = os.stat(path)
            if statbuf.st_mtime > last_mod[img.filepath_raw]:
                last_mod[img.filepath_raw] = statbuf.st_mtime
                img.filepath = img.filepath.replace('\\old_folder\\','\\new_folder\\')
                img.reload()

def register():
    print("Auto Reloading Enabled")
    startup()
    rt = RepeatedTimer(1, autoreload)

def unregister():
    print("Auto Reloading Disabled")

if __name__ == "__main__":
    register()

The RepeatedTimer is a class I found online that run a function every X seconds
I searched online and The kinds of solutions I saw is to use bpy.data after the register(), and it didn't let me call it like this:
if __name__ == "__main__":
    register() # This is called
    startup() # This wont even be called when the Add-on is enabled!

I understand that this has something to do with the import but I can't figure out what is wrong. I tried a few things that didn't even run.
Am I doing something really wrong here? again, the "Run Script" button works as expected, but I want to be able to disable and enable the script.

Blender and threading don't play too well together.  The _RestrictData comes about as you're not allowed to access bpy.context or bpy.data at registration time,  neither in the register() function, nor in any function that is called in inside the register() function.

You cannot access Blender from a different thread. To create a periodically called function, use a modal operator with a timer.


text:
Left hand isnt deforming even though its properly weight painted?
I'm creating a really crappy video game character and I'm approaching the part where I need to animate! I'm having issues with my armature on her right hand and I can't seem to figure out why it doesn't work! There is probably a really simple fix, but I'm quite new to this! Sorry once again, but I'd really love help here!
Here is the blend file.
This is what I'm talking about:

It's not properly weight painted:

As you can see thoose are the vertices which doesn't move as expected; in the "N" panel, vertex weight tab, you can read their assignements: HandL and ArmR.
You can use the vertex group tab to remove unwanted weight (armR) and apply some weight on the desired vertex group (maybe armL.003).
In the armature modifier enable theese little two buttons to see the poses also during edit mode.
If you used some automatic weight assignement and automatic flip names, the problem came because all names should END with .L or .R (not armL.003); .l and .r are OK too, but always on the end of the name.


text:
How to play the animation after it has been rendered?
I'm pretty new to Blender and I followed a tutorial online to create an animation.
I finished the building of the animation and it told me to render the animation. So I rendered it and waited 24 hours before it was done. When the render was completed, I tried to click the play button and it showed that it was going through all of the frames but the animation wasn't playing. I'm wondering if anyone can tell me how to get the animation to play?

what file format did you render it to, and what output folder did you set?

How would i check that?

To play the Rendered Animation Click Ctrl+F11
Or :
Select "Play  Rendered  Animation " from Render menu :

I tried that except no luck.

There are many reasons Blender may not play back an animation after it has rendered it - here are some common reasons:

the animation was rendered at a large size and your computer does not have enough memory and/or processing power to load/play it in real time - you can set the size of the render in the Properties panel > Render tab (camera icon) > Dimensions > Resolution - a reasonable size is 1920px x 1080px at 100%
the animation was rendered as a frame sequence (a series of individual images as opposed to a video movie) and your computer doesn't have enough memory and/or processing power to load/play all those individual images in real time - you can set the output format of your render in the Properties panel > Render tab > Output - I've found that 1920px x 1080px H.264 video or AVI video generally plays back very well on a basic laptop
the folder to which the rendered animation was saved was renamed or moved and Blender lost track of where it is - you can set the output folder in the Properties panel > Render tab > Output
the play button you pressed may not have been the button that will easily play back the rendered animation - the play button(s) in the timeline run the actual animation in the 3D scene - they will only play the render of the animation if, after it is finished, the render has been loaded into the Movie Clip Editor (MCE) or Video Sequence Editor (VSE) and you have set the viewport to display the MCE or the VSE - alternatively, you can press Ctrl+F11 to "Play Rendered Animation" but the render won't play back if any of the previous points I have made are true - in my experience Ctrl+F11 often doesn't play back my renders for the reasons I have outlined - I often use an external playback application called DJV Viewer to view my renders - you can download DJV Viewer for free - search for it online

This comment seems to be outdated, as I cannot find any of the mentioned settings in Render (there's no Output tab).


text:
What is "Set normals from faces"?
If you are in the mesh Edit mode, you can find a button called Set normals from faces in the Tool Shelf, Shading tab, Normals section. The Blender manual seems to have no information about this feature (or at least I can't find any).
What does it do and in which cases could it help? I would like more information than the brief message from the tooltip.

You need to have Autosmooth activated. Then you can select a few faces, and with a click at the tool the normals of the involved vertices will be calculated in direction of the normals of the selected faces. Where two faces meets each other the normal will be middled.


text:
input node random expression not used
Following on from Is it possible to get a random number in the node editor?
I changed my node setup from
Object-Info -> Random -> Color-Ramp -> Diffuse-BSDF

to
Value(*) -> Color-Ramp -> Diffuse-BSDF

(*) When I entered the value as the Python expression "#noise.random()" the input field went pink but retained the value 0.500 and the colour generated reflected the middle colour in the colour ramp.
Hovering over the input field for the value node shows the python expression.
Rendering or saving first makes no difference, it always acts as if the factor to the colour ramp is a static value of 0.500
Also tried the expression as just "noise.random()" with the same result.
What I find really strange is I can use the arrows on the input field of the value node and change the visible value of 0.500 up and down and it affects value accordingly as if the python expression is being completely ignored.

In both cases, you will have only one random value per rendering

so why am I getting the value as 0.500 i.e. the middle most colour in the colour ramp?

you have 0.5 in the Python expression, but this is not the case with object info. Try to set object info as input and duplicate your object

In the second comment to my answer to the question you refer to, I mentioned having to update dependencies for the driver. This seems to be a manual step we need to perform when adding drivers to nodes.
You can find the driver details in the graph editor in driver display mode. With the driven value selected you need to click the Update Dependencies button and you should then find the node value will be updated properly.

Also ensure that you have enabled auto-run python scripts.
While work is being done on the new dependency graph it may be a good time to report this as a bug so that the developers can look into improving this.

There was a "reload trusted" or "ignore" box in the top menu bar that I had to use else it would not work and every time I reloaded the file the Auto run setting would be lost. But this does work, so thanks for explaining this in more detail.