Error generating rig with Rigify addon Background

With Unity, I downloaded this asset (Unity Asset Store link) for a game I am doing. I decided to use the "Army1" soldier for my game, but I needed some animations.
After searching a bit on Google, I found that I needed Blender for doing them and to load the .fbx file on it for adding the rig necessary for models parts to move.

Blender work

When I loaded the model, it already had some bones on it, but those were for moving on a specific way, and did not allowed the model to move on more ways than that one pre-established.
Then, I deleted that rig and followed this (YouTube Rigify tutorial) to learn how to rig from scratch.

Problem

However, when I generated the rig (This is the .blend file), this error appeared:

Question

I have to say that I am very new to Blender, and a bit to Unity too. Any way I can solve this? Thanks in advance.

Somehow, your metarig had become corrupted in some way. By deleting the rig and just starting again and being careful with positioning the bones, it should work as expected from the video tutorial that you were following.

***I believe the mistakes you made that could have corrupted were extruding the bones from the foot bone to make extra bones there which swapped the parenting around in a way that conflicted with the python scripting that comes with the Rigify addon.

There was also an elbow bone called Bone that had been created by mistake along the left arm. After trying to generate the rig and coming up with errors, the original metarig, even after undoing it, had become corrupted after that. It's always just better to start again with the rigging process if you suspect any corruption in an object. It saves time in the long run.***


Restoring object transformation data after execute 'apply' command I have a box and it has been translated,rotated,scaled using random value. If i apply the transformation. Is there any way i can get the data back or how to restore the trasformation value ?

Thanks

Script.

Grab the script from here

Basically its the rotation that needs to be reset, once it is axis aligned, scaling, translating and moving the origin are trivial.

Put the object into edit mode.
Select a face that has a normal and edge aligned to axes.
Run the script.
If the selected face didn't axis align, Undo  Ctrl Z,
and try with another face.


How to get the name of the property that has a bad driver in Python? I’d like to write a script that will tell me which drivers in a scene have problems. For example, the driver that I’ve highlighted in yellow has problems:

I want to return a list of every driver that has problems, rather than having to look at each driver in a scene individually and determine if it is valid.

Here’s what I have so far:

 import bpy
 for obj in bpy.context.scene.objects:
     if obj.animation_data:
         if obj.animation_data.drivers:
             for d in obj.animation_data.drivers:
                 if d.driver.is_valid == False:
                     # Now what??

The issue is trying to figure out the name of the property that has the driver. I’ve looked in the API documentation and it’s not immediately obvious how to get that.

In the case of the screenshot above, I want to get (or create) the string value "Y Euler Rotation (forearm.IK.L)".

How do I do that?

Just like keyframes look at data_path and array_index

data_path is the path from the owner of the driver, array index if it is an array type, eg 0, 1, 2 for x, y, z locations.

Example Y Euler rotation of pose bone "shin.L", from the context object in python console.

>>> for d in C.object.animation_data.drivers:
...     d.data_path, d.array_index
...
('pose.bones["shin.L"].rotation_euler', 1)

>>> C.object.pose.bones['shin.L'].rotation_euler[1]
2.0

>>> C.object.pose.bones['shin.L'].rotation_euler.y
2.0

Note for booleans unnecessary to test equality to True/False  ,

if not d.driver.is_valid:


Why can't I access the rotation and location values of an object moved with empties and constraints with Python? I created a mesh in a script that has 5 vertices and each vertex is moved by an empty using Hook constraints. This animates the plane to follow the path of a spinning torus based on the animation I had on the empties. The pivot point is at the center of the mesh.

I want to access the location and rotation of the full object. However, when I look at the location and rotation, is not changing and the rotation is always 0, 0, 0 no matter what rotation type I use. Any ideas what could be causing this? I just need the values of its location and rotation on each frame.

This is how I create the mesh... not sure if there is a way that can give me better results:

bpy.ops.object.mode_set(mode='EDIT', toggle=False)
mesh = bpy.data.meshes.new("myBeautifulMesh")  # add the new mesh
obj = bpy.data.objects.new(mesh.name, mesh)
col = bpy.data.collections.get("Collection")
col.objects.link(obj)
bpy.context.view_layer.objects.active = obj

verts = [order[0].location,
         order[1].location,
         order[2].location,
         order[3].location,
         order[4].location
         ]  # 4 verts made with XYZ coords
edges = []
faces = [[0, 1, 2, 3, 4]]

mesh.from_pydata(verts, [], faces)

Modifiers alter mesh at a local level

The hook modifier, or most modifiers modify the mesh data, not the object transform.

The location of the hooked object could be estimated from all the hook empties (average there global translations).

Or use a copy location constraint.  Add all the verts to one group, make that the constraint target.  The rotation can be estimated (depends on mesh) using track to constraints.

For rotation consider parenting.

Can parent an object to 3 of the beautiful mesh vertices.

See this answer https://blender.stackexchange.com/a/175503/15543  The modifier for this case is shrinkwrap.  The cubes are parented to 3 vertices modified "foot" object.


Checkerboard Artifacts when Sculpting I am working through a tutorial and modeling a couch. I'm at the stage where I have been sculpting in fabric details and wrinkles (I am not using Dyntopo). I've noticed that when I sculpt with anchored alphas, this weird checkerboard pixelated effect occasionally shows up that I can't get rid of. Smoothing doesn't remove it, and even when I add an extra 1-2 layers of subdivision it won't go away.
Here is a picture of my sculpt:

Here is an image of the cushion from the tutorial's file without the problem:

Here's the wireframe of both my mesh and the tutorial's mesh:

I thought at first that it was because I'm using a low quality stencil, but it's the same alpha that came with the tutorial.
I then thought the problem was that I didn't have enough geometry, but subdividing further doesn't solve the problem either (it helps, but minimally). Also, the tutorial's version of the same cushion has the exact same amount of subdivision / density.
Furthermore, I've noticed that the effect is exaggerated depending on the rotation of the alpha when placing the stroke.
Does anyone have any possible ideas as to what this is, and how to get rid of it?
Thanks much.
Edit: I've uploaded the .blend file for you all to look at. Both my mesh and the tutorial mesh are side by side in the scene. I've also updated the wireframe image to include both.
Edit2: Just added a +100 rep bounty to the question.

This is just a half-answer.
Causes
As I looked closely into the difference of your meshes ...

Some of the wrinkle in your sculpting is more in the diagonal direction of the edge than the tutorial.

Your brush seem to adjust only in Normal direction of the mesh, but tutorial brush seems to also pull nearby vertices close together to keep up with the deep detail.

Workarounds
There are 2 different approaches I can think of.

This one is more of the macro level.      I googled and found 2 links. (https://www.youtube.com/watch?v=vYzS94fPo1w, and https://www.youtube.com/watch?v=MLUnfE4FcOY)
They use cloth simulation to (automatically) generate wrinkle and pull vertices to the location that needed.    Thus the artifact become less.

However, I believe the main problem is the sculpting brush type.
The correct brushes should have pinch attribute e.g. pinch-brush itself (but has no add/subtract mode, sadly), or crease-brush.
The pinch (search for the word in https://docs.blender.org/manual/en/2.82/sculpt_paint/sculpting/tools.html) means to will pull vertices together when sculpting.
If there are enough vertices, just the crease-brush should be enough. (as I found in https://www.youtube.com/watch?v=vbUJVzBBlVY )

Here is the setting of crease-brush. Not every brush type has this pinch feature.

Here is my attempt to reduce the artifact.  I used pinch-brush after normal sculpting.    After the process, it is noticeable that the result become better.  I didn't use crease-brush though.


Error: import Point3D of Geometry Module of sympy0.7.5 in Blender2.71 I want to use  Geometry Module of sympy0.7.5 in Blender 2.71 (64 Bit).
  But I got some error when I try to do "from sympy import Point3D":
        ImportError: cannot import name 'Point3D'.

Here is what I have done:

Clone the latest sympy0.7.5:

git clone https://github.com/sympy/sympy

Install it in python3.4.0 [MSC v.1600 64 bit (AMD64)] (same python version in blender 2.71 except MSC v.1800 64 bit (AMD64)). The sympy's location is in c:\Python34\Lib\site-packages\.
Test from sympy import Point3D"- in python3.4, everything is fine.
Copy sympy folder in
c:\Python34\Lib\site-packages\ to
c:\Program Files\Blender Foundation\Blender\2.71\python\lib\
In python console of the blender, it works for

   from sympy import *
   from sympy import Point
   ...
  but failed for
   from sympy import Point3D

I found the solution:

get a fresh copy of sympy by git;
simply copy the subdirectory "sympy" into the corresponding site-packages directory of my blender:
  c:\Program Files\Blender Foundation\Blender\2.71\python\lib\site-packages\

Every is fine now.

ouyang


when I render an animation it renders a different image When I press the render button it shows me exactly the scene that i wanted, but if i click the animation button to make a sequences of pictures, it renders the wrong picture. Why is that happening ?

Select the camera you want to render in the outliner, then press CTRL+0 (zero numpad). That will make it the active camera.
If you did added MARKERS on the timeline (which seems to be the case) hover the timeline, locate the markers, delete them. Probably you have a binded camera as well. So delete markers, unbind camera, make selected camera active camera. Render and voilá.
Also make sure to check you´re using the SCENE's camera in the correct SEQUENCE if you´re on VSE, check also on GUI:


Rigid body connect settings I'm following this tutorial: Blender3D Tutorial - How To Make Dynamic Rigid Body String on how to make a dynamic rigid body string and since it's made in 2.79 I'm having some trouble finding the settings shown here, specifically Chain by distance.

I found the connect setting in Blender 2.8, it's here, but not sure where the other settings are...

So the question is, where are the Rigid Body tools settings, specifically the connect body ones! Thanks so much for your help in advance!

Nevermind I think it was a bug! I closed the program and opened it up again and got this pop up window!


How do I apply different normal maps in different areas inside a material? As the title and picture explains...

You'll need to do three things :).
1. Create a separate UV map for each texture (3 in total).
Only faces you put inside UV bounds will be used. Faces outside bounds will be ignored.

2. Connect a different UV map to each texture (use the UV Map node).
Set textures to Clip, so they don't repeat.
3. Combine the textures using Mix RGB nodes set to Add, fac=1.
And plug the result into a Normal Map node.


How to set up the interface How can I set up my interface with the image editor on the left and viewport on the right in order to be able to see my image immediately in my viewport when I hit render?

There are several ways to do this in Blender. The first and maybe easiest is to click (at the top bar of the program) the little icon with two left cubes, and a tall right one. This will open a bar with different window layouts. Click the one that says "UV Editing." This will give a layout similar to what you want.

Your other option is to manually customize the layout to better fit your preference. To do what you want, look at the top right of the 3D Viewport window for three small lines. Click and hold down that button, and drag to the left. Now, you'll have two windows where the viewport used to be. In the left one (in the bottom left of the window), click the little icon showing a 3D cube. In the window that pops up, select "UV/Image Editor."

Now when you render, the render should show in the UV window instead of the viewport!


How to animate the twisting of a rope? What is a good reliable method to animate multiple ropes being twisted together? One end of the ropes will be fixed in space, while the other ends rotate in a circle, creating twist. All the ropes should be along the edge of this imaginary circle (none in the middle), and do not come together (the twist moves closer to the ends, and the angle of the ropes between the twist and then end becomes steeper).  These ends are separated not together. How can this be animated? Simulations are ideal in this regard, since I may need to twist a considerable number of ropes.

So far I've tried:

linking several spheres with constraints and performing a rigid body simulation
Soft body simulation on a curve
Cloth sim on line of vertices

None of these worked very well (maybe I'm doing something wrong).

Here is a video that roughly shows the twisting motion with three ropes.

The twisting ropes is best accomplished using a curve modifier.

Start with a mesh that has a high enough resolution along the length
of the "rope".  Then create a curve representing one of the twisted
ropes plus some untwisted rope leading away.  Finally, add a Curve
modifier to the rope mesh; choose the guide curve, and set the
Deformation Axis to match the helical axis of the guide curve (I used
Z for my demo).

In a static situation you will see the rope coiled along part of the
curve, and then follow the untwisted part away.  Create a 2nd and
third copy of the rope mesh and the curve guide to illustrate 3
threads twisting together.  For 3 curves you will want to rotate each
one by 120 degrees.

In order to animate this, have each guide curve spin on its helical
axis.  This will appear as three ropes spinning in a partly twisted
state.  In order to make it seem like the twist is progressing along
the ropes, animate the curve to move lengthwise along its helical axis
(keyframes for the Z coordinate).  The change in the relative position
between the mesh and the guide curve causes the mesh to change what
part of the curve it follows over time.

You will probably want the fcurves to be linearly interpolated
(t in the curves editor) and linearly extrapolated
(shift-e).

Unfortunately, the exact geometry of this situation causes the mesh to
slide backwards along the curve (because the length of the curve is
longer than the axial distance travelled).  To compensate, you can
animate the mesh to translate in the opposite direction to the curve.

If you don't want to animate the Z location of each of the 3 meshes
independently, you can animate a single one and use the Dope Sheet's
Action Editor mode to give all of the meshes the same Action datablock
which will cause them all to animate identically.

Now you have an animation where the twisted end of the rope appears to
be spinning and the loose end with the threads is sliding up along the
Z axis.  If the loose ends are supposed to be spinning, you will have
to animate the guide curves spinning as well.

If your guide curve is constructed by python, you should know exactly
how much translation represents a full twist of the helix.  If not,
you can just eyeball it.  Again: you will probably want the fcurves to
be linearly interpolated and linearly extrapolated.

There is a remaining twisting motion of the thread mesh that you can
counteract by animating the rotation of the mesh.  You can eyeball
this (mostly because I don't know exactly what equations are in play
so I can't guide you to a mathematical calculation).  Again, you will
want to make this linear to match the animation of the guide curves.

The final hairball is keeping the loose ends of the thread at a
constant distance from the helical axis.  This requires us to animate
the SHAPE of the guide curve.  This is accomplished using a Hook
modifier.  The hook modifier can be used on curves and on meshes.

While the hook modifier can bind several vertices or control points to
the motion of another object or bone, the simplest situation is to
hook a single control point to a single empty.

Select the curve.  Switch to Edit mode and select the control point
for the loose end.  Use Ctrl-h to hook that
point to a New Object.  Switch back to Object mode.

The curve is still the active object, and the new empty has
conveniently been added to the selection.  Use
Ctrl-p to parent the empty to the curve.  This
will allow it to rotate with the curve.

Now you must move the empty into position to match whatever frame the
"loose" ends of the thread are attached to.  Since I chose Z for my
helical axis, that means my X and Y will remain fixed.  I will animate
the Z so that the hooked empty lines up with the end of the rope mesh.
You probably want to take care not to keyframe the X and Y position
(you can select the unwanted data_paths in the Graph Editor and
x to get rid of them if you accidentally create keyframes
for X or Y).

(The reason you avoid keyframing X and Y is so you can reuse the
animation on the other hook empties.  It revolves around the
obj.matrix_parent_inverse and could easily become its own essay if I
knew what the heck was going on).

At the beginning of the animation the keyframes of the hook empty can
be spaced out (1/rotation was fine at the beginning).  However, as you
reach the end of the animation and the available rope begins to run
out, the Z will have to change faster, and non-linearly (I think it
ends up being a hyperbola).  Just scrub through the time line; adjust
the Z coordinate; and insert a keyframe.  If you aren't satisfied go
ahead and insert more keyframes whenever the hook deviates too far
from the end of the rope.

Once you have animated one hook you can repeat the hook-creation
procedure to create hooks for the other threads.  However you do not
have to repeat the keyframing.

Since the hooks are children of the curves, you can reuse the
animation datablock.  Go into the Dope Sheet and switch it to Action
Editor mode while the Empty is the active object.  You can use the
menu button to pick the action from the previously-animated empty (you
might have to select that first empty so you can see its action name
in the Action Editor if you did not memorize it).  Now the action is
shared between those objects.  (The NLA editor also has the ability to assign actions to the active object, but as of 2.74 there are bugs in the UI that can confuse novice users).

At this point, your twisting ropes should be animating correctly, at
least for a certain range of frames.

If you go too early, your ropes will separate because they no longer
line up with the helical portion of the guide curve.  And if you go
too late they "break loose" from the frame and become completely
wrapped.

Because I am better at python than hand-modeling, I constructed the curves using the script at http://web.purplefrog.com/~thoth/blender/python-cookbook/spiral-bezier.html .  I will include a copy of the python source inline, even though it is only peripherally interesting, and you might need a different shape on your more advanced curves:

import bpy
from mathutils import *

def adjust_handle_right(bpoint):
    bpoint.handle_right = bpoint.co * 2 - bpoint.handle_left

def set_handles(bpoint, dx, dy, dz):
    bpoint.handle_right = bpoint.co + Vector([dx,dy,dz])
    bpoint.handle_left = bpoint.co - Vector([dx,dy,dz])

def make_bezier_spiral(name, radius, dz, cycle_count):

    curve = bpy.data.curves.new(name, 'CURVE')
    curve.dimensions = '3D'

    bez = curve.splines.new('BEZIER')

    after_spiral = 4 * cycle_count
    final_length = after_spiral +1
    bez.bezier_points.add(final_length - len(bez.bezier_points))

    for bp in bez.bezier_points:
        bp.handle_left_type = 'FREE'
        bp.handle_right_type = 'FREE'

    for i in range(cycle_count):
        bp0 = bez.bezier_points[i*4]
        x = radius
        y = 0
        z = (i)*dz
        bp0.co = (x,y,i*dz)
        set_handles(bp0, 0, radius*.5, dz/12)

        bp1 = bez.bezier_points[i*4+1]
        x = 0
        y = radius
        z = (i+0.25)*dz
        bp1.co = (x,y,z)
        set_handles(bp1, -radius*.5,0, dz/12)

        bp2 = bez.bezier_points[i*4+2]
        x = -radius
        y = 0
        z = (i+0.5)*dz
        bp2.co = (x,y,z)
        set_handles(bp2, 0, -radius*.5, dz/12)

        bp3 = bez.bezier_points[i*4+3]
        x = 0
        y = -radius
        z = (i+0.75)*dz
        bp3.co = (x,y,z)
        set_handles(bp3, radius*.5,0, dz/12)

    bp = bez.bezier_points[after_spiral]
    x=100
    y = -radius
    z = dz*(cycle_count -0.25) + x/(radius*.5) * dz/12
    bp.co = (x,y,z)
    set_handles(bp, radius*.5, 0, dz/12)

    return curve

def mission1(scn, radius, dz, cycle_count):
    name = "spiral"
    obj = bpy.data.objects.get(name)
    curve = make_bezier_spiral(name, radius, dz, cycle_count)
    if obj is None:
        obj = bpy.data.objects.new(name, curve)
    else:
        obj.data = curve
    try:
        scn.objects.link(obj)
    except:
        pass

#

scn = bpy.context.scene
mission1(scn, 2, 12, 5)

This solution works well for twisting, but if you end up needing weaving or any other complex motions, you may need more hooks on the control points of your curves, or resort to more advanced techniques such as a hundred-bone armature chain.


Why does rig work only on one side of the mesh? I've rigged everything fine, it looks good, it feels good, everything is good. The rig works, but when I try to use the rig, the right side of the rig doesn't work.

and when I try to use the left side....

Everything is good! I still had the mirror modifier so I thought that was the problem, but I've applied it and nothing still works. Can you help me out?

Several conditions have to be fulfilled to make automatic vertex group weight mirroring work:

bone names are correctly formatted, usually suffixed by .L or .R, respectively.
vertex groups for both sides exist on your mesh - these may be empty, but must exist for the mirrored side too. First  LMB select the mesh, ⇧ Shift LMB select the armature > ⎈ CtrlP > Armature Deform > With Empty Groups.
vertex groups must be enabled on the Mirror modifier, but they already are by default
make sure the mirror modifier comes before the armature modifier


Problem with texture applying I'm working on a model at the moment and I've spent hours texturing the torso of my character. The node setup is okay (I think), the paint worked perfectly, it was all fine and dandy until I stopped to texture a 2nd object. As soon as I had done this, the texture on the first object disappeared entirely, to be replaced with solid black. I suspect it might be something simple, but I honestly can't for the life of me figure it out & would really appreciate some help.

P.S I did UV unwrap, did create an image texture, and the image texture is still saved in the blend file. Did I need to save the UVs somehow perhaps?

Looking at your screenshot, I can see that it is a generated image. It is blank, which is why it is black. When adding a new image from the UV/image editor, choose an option other than blank, (color grid or uv grid) if you want to use a default image from within Blender.

You do need to save the image that you create as well if you use a generated image. You will notice an asterisk next to image in the editor header if the image has not been saved as it is in your screenshot.


Objects hides when drawing in full size Objects partially hides when are modeled in full size. These ar 900mm high. It happens in every view.

you may have pressed CTRL+B instead of B when tryed to select. this clips the wiew to the rectangle area you draw after the keystroke. Try CTRL+B again to remove it.


Textures Not Rendering Blender 2.8 I can't get my textures to render on this model.  The materials are assigned and the shader nodes are hooked up.  I think.  It shows up when I view in solid mode with the color set to "texture" (2nd picture).  Won't show up in render view or lookdev.  Not sure what is going on, any advice??

UPDATE:

I do have a few other materials/textures patched up the same exact way and they seem to be working if that helps at all...

UPDATE: picture of UV mapped correctly, right? shows texture only in solid mode w/ texture color.

The reason why they don't show up is that the UV unwrap is not done properly.

If you select the eyes in Edit Mode, you can see that the vertices are all in the bottom right corner, where the texture is transparent (so there is no color data). To change that, just position the vertices on the eyes in the texture and you are all set!

This is what you have right now (the wrong way):

And this is the right way:


I need to make a 12 sided soccer ball All tutorials I find are for 20 sided balls, based on an Ico spehere. Is there an easy solution to get a 12 sided ball? Thank you!

choose this here:

then this:

and you get:

you need this add-on enabled for this functionality:


Objects showing through other objects in the BGE? I am having trouble with a rig I imported from MakeHuman. When I run the Embedded Player or the Standalone Player my character's facial features come through the mesh.

They are positioned properly, but for some reason they seem to get priority over the outer mesh and are displayed through the outer skin.

Here is a picture to illustrate my conundrum:

The simpliest way (and only one known to me) is to go to "user prefernces-editing" and in "Duplicate data" uncheck the "Metaball". Then duplicate problematic meshes. Duplicates shoudn't have these problems.


Separate in two parts a Mesh using Knife Project How can I separate this mesh:

Using this plane:

In two separate parts, the on above the plane and the one under?

  Objective:

What I want to achieve is to separate the mesh in two part like a boolean modifier (extruding the plane a little bit, in the way to have a 3d mesh instead of a 2d one) would do.

EDIT

The hard part is to make two separate meshes using the separate by loose parts operator, like after a boolean difference operator as explained above.

  Why I don't use boolean:

I cannot use the boolean modifier due to some non-manifolds (or overlapping) vertices and edges in the mesh.

Is this all possible or not?

After further research, I have decided to scrap everything that I had before (it isn't that complicated). You can see my edits if you'd like to see the "old" way.
1. Select all vertices
This is pretty self-explanatory. Make sure you're in edit mode, then hit A
2. Use the Bisect tool
Just drag and you should get a live display of where it will cut. (You can alternatively use the plane and knife project at this stage if you'd prefer. Just make sure to enable "cut through.") When you are done with Bisect or Knife Project, you should have the "cut" selected.
3. Rip/Tear the selected ("cut") vertices
For this step, hit V, then left-click before moving the mouse. This essentially makes a nice set of double vertices on the edge of the cut.
4. Select the top or bottom
Deselect all, then you can use the L select linked tool on the top or bottom. Make sure you get everything in the top including the half of the cut line.
5. Separate the mesh
Use P + Selection to quickly separate.

Here is the complete GIF (I finished the operation in 30 seconds):


Object not visible in render? I've spent hours searching the internet trying to solve this problem.

I have a green ball in my scene which is emitting particles. Ball is visible everywhere but the render, I have render icon in outliner turned on, duplication in object settings set to None, I've tried changing materials and moving it between layers but nothing works.

Try going in the Properties Tab>Particle system>Render and make sure the "Show emitter is turned on"


Odd shadows being cast I've got a fairly simple shape, and when I render it in cycles I notice some odd shadows being cast across part of the faces.

Here are some images of my wireframe - what could be causing the green-encircled shadows?

Do you have smooth shading active? If that's the problem, try marking some edges as sharp, use the "Auto Smooth"-option in the object data panel or split some edges.


What is this tool that's shown here? In the gif below it shows the mesh being pulled upwards with a circle tool and all the faces/verts form a nice smooth curved surface. How do i do this?

Blender Proportional Edit.
You may search with this term.


How to clear all keys of all objects and bone? Is there any way to clear or delete all the key frames of all object and bones?

I created an animation, but now I only want the model and not the animation. Selecting each bone and deleting every key frame is very tiresome job. I tried selecting all object and pressing alt I, but somehow the key frames still come back when I select a single bone.

Using scripts

Often for repetitive (& tedious) tasks it is handy to use a small script.

Remove all actions in file

Keyframed animation data is stored in an action. To completely remove all keyframed animation data, can remove all actions in the file.

import bpy
for a in bpy.data.actions:
    bpy.data.actions.remove(a)

Clear all animation data on scene and scene objects

To remove animation (actions, NLA, drivers) from scene objects and scene, but keep the actions in file.

import bpy
scene = bpy.context.scene
scene.animation_data_clear()
for o in scene.objects:
    o.animation_data_clear()


Preview and rendered video from VSE suddenly shows nothing I started using Blender couple of weeks ago to edit some of my video clips. Spent quite a while editing this one, and everything worked fine. Video rendered as it should. The whole project consists of a MP4 file with a whole lot of soft cuts. Came back to it a couple days later and now the preview won't show a thing. When I render the scene, it's just a black screen with no sound.

The original file is still working, as well as my other Blender projects. And the weirdest thing is that if I add a new movie clip to the project, the preview works just fine for that clip.

Can anyone guess what might have caused this? I've googled like crazy and haven't found anything helpful.

Select your tracks and press AltH to disable the hide function.


Fireflies in my bake texture Hi I wan't to bake my texture, but I have a lot of fireflies:

It was baked in 4k and 500 samples. Can you help me?

Increasing clamp indirect (found next to samples) reduces fireflies.


How to model the rounded outline of a column I need a good way to model the rounded shape of a capital, just like in the picture.

My problem is, that it should be precise for architectural modeling.
I could use paths, but that would be really painful to do ;)
And Bevel is not precise enough I would say.

So what would be the best way to model a capital ?

I'm not sure there is a best way, but using a Curve and the Screw Tool allows you to edit the profile non destructively and get nice flowing curves by using the Bezier handles.

Tools needed.

Import image as background (or use Import Image as Plane addon.. if you want to get work done)
Curve Object, with origin placed on the point you want to rotate around.
Use the Screw modifier, to "Lathe" the Curve geometry.

The trick with Curve object is you can have straight and curved sections in one Curve object, and each curve section can have a different level of subdivision.

If you want straight section: select the two handles of the section you want straight and press V and choose Vector.

If you want a section curved select the handles for that section and V and choose Free then move them around.

To help see stuff, you might want to change the Normal size, else it just looks like random lines fanning out from your curve.

Adding sections of curve is easy, select the last Knot ( not handle ) and press extrude and drag away, just like with vertices.

On its side that Curve looks something like this, it was done fast only to give an impression. Take your time to include transitions and change the subdivision per segment if you can get away with reducing geometry.

Quick recap


How can a smoke domain be hidden from render? In the 3D-View everything looks as
 expected:

But when rendered the smoke domain covers the whole scene. I tried to place camera inside and outside of the smoke domain but this doesn't work either.

The box is caused by my fault in the smoke domain material:

Then the question should be how to reproduce the 3d-view in the rendered image.

Your problem with the highlited nodes is that the density is affecting the color, but not the density of the volume.  So all areas of the domain are emitting light (at strength 1.1).

To fix this simply plug the density into a math multiply node to change the overall strength, then plug that into the emission strength.  You could also put it through a color ramp or RGB curves node first to adjust the falloff.

This way the areas of the domain with 0 density will be emitting 0 light as they should.

Without density controlling strength:

With above node setup:


Keyframe not animating bone from initial position? I'm new to blender and even newer to animation.

I was working on animating my enemy model for the game I'm developing and everything went fine with the right leg.

However, when I went to edit the left leg, I discovered that it wasn't being saved in the keyframe for some reason and instead was edited so every frame has the left leg in the air.

The record button is on but nothing seems to be making it move into the air. The right leg edits without a hitch.

Frame 20:

Frame 40:

Any idea why this could be happening?

You need to set an initial keyframe for any animated data, including armature bones, in the first frame. The pelvis left bone is set to that position at frame 40, but because there's no keyframe before it, its position is interpolated all the way to the starting frame.


Blender 2.9 Python GPU Module, drawing lines in the wrong position I have problems with the GPU Module and rendering custom geometry in Blender. When I run the example code from the Blender docs, it works as expected. Running the first line drawing example produces the image below, drawing a thin red line ten units up in Z:
import bpy
import gpu
from gpu_extras.batch import batch_for_shader

coords = [(0, 0, 0), (0, 0, 10)]
shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
batch = batch_for_shader(shader, 'LINES', {"pos": coords})

def draw():
    shader.bind()
    shader.uniform_float("color", (1, 0, 0, 1))
    batch.draw(shader)

bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')

But, when I try to encapsulate the code in a simple class, things get weird. The same coordinates in the code produces a line in a weird position, downwards at an angle instead of straight up. And I have to execute the code twice to make it even show up.
import bpy
import gpu
from gpu_extras.batch import batch_for_shader

class drawManager:

    coords = []
    shader = None
    batch = None
    handle = None

    def __init__(self):
        self.coords = [(0, 0, 0), (0, 0, 10)]
        self.shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
        self.batch = batch_for_shader(self.shader, 'LINES', {"pos": self.coords})

    def draw(self):
        self.shader.bind()
        self.shader.uniform_float("color", (1, 0, 0, 1))
        self.batch.draw(self.shader)

    def doDraw(self):
        handle = bpy.types.SpaceView3D.draw_handler_add(self.draw, (), 'WINDOW', 'POST_VIEW')

    def stopDraw(self):
        bpy.types.SpaceView3D.draw_handler_remove(self.handle, 'WINDOW')

dm = drawManager()
dm.draw()
dm.doDraw()

Am I missing something essential here or is this a weird bug?

The problem seems to arise only when using uniform_float(). Instead I put the position/color information inside the batch_for_shader()-function and update it whenever necessary. It now works like a charm.


How can noodles (the lines that connect nodes) be changed from straight to curved lines? Unitl now I haven't found the option to enable the curved representation of connectors between nodes. The documentation doesn't mention such an  option. Is there a keyboard shortcut?

The option can be found in User Preferences > Themes under Node Editor:
Higher values will increase the curviness of noodles. Setting it to 0 will make them straight line.

For 2.7#

For 2.8#


Trying to render with GPU only, but uses very little of it I'm having this problem for quite some time with all of my projects. When I'm trying to render an image or animation (I'm rendering with GPU only because it's the fastest way for me), the beginning gets rendered really quickly, but after a short time later (when the render is finished at 15%), the process becomes really slow, until the end. I have posted details about my machine and the reference photo too below:

My specifications:

Processor - Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz 260GHz;
RAM - 8.00 GB (during rendering, it only uses ~500 MB);
The program is installed on SSD disc;
Windows 10 Home 64 bit (version 1809);
GPU - NVIDIA GeForce GTX 1650 6 GB.

My render image:

As you can see, very little of the GPU is used, which is why I think the rendering is slow...

Go to system settings (Blender top menu > Edit > Preferences > System) and check that you are using CUDA with GPU checked and CPU un-checked

Check also that you are using GPU on the "Render properties":


How to hinge an object and apply physics? I'm trying to hinge a modified torus to a hole made to a modified cube.

Torus: physics: rigid body | dynamic ON | Collisions shape: Mesh

Cube: physics: rigid body | dynamic OFF | Collisions shape: Mesh

But during simulation the torus simply flies off, instead of hanging.
[Model screenshot attached]
[]1

Blender version: 2.73a

Your described set up works fine.

  The Rigid Body World

  The dynamic chain element

  The static collision object

Start trouble-shooting

Double check your settings.
Create a duplicate of your file and delete everything except the problem area.
Create the scene from scratch and append it to your file.
...


Why is this object black in my scene? No matter how much light is pointed at the projector screen behind the chair, the object comes out black in the render. It has the same material as everything else. Also why does the door look the way it does with those dark shadows?
Blender File

FYI to the moderators, I tried using blend exchange and it wouldn't work.

Okay this took me a bit to figure out. The problem was on the screen_roller object hidden in the viewport, not the Plane.002 object that's overlapping it.
You were right the material is fine! It's identical to the materials used on other objects, and even removing it doesn't change anything. The problem is the normals for the screen are facing the wrong way, so the light doesn't reflect off the surface toward the camera. I fixed this by clearing the custom split normals data:

This data was taking priority over anything calculated directly from the geometry. Though if you need the custom normals, you're free to adjust them manually.
[Edit] Oops didn't see you ask about the door! But it looks like it's having the same problem as the screen, just to a lesser extent. Clearing or tweaking the split normals should fix it as well.


How can I interactively change the shape of a cloth? Below is a tutorial from Marvelous Designer to fold the tie into desired shape.

Is it possible to do it in blender?

Blender is still on the way to develop a full workflow for cloth modelling, but some of the functionalities of marvelous designer have been implemented in the recently added cloth brush. You might want to check out this post to see the updates.


How to make flat spirals What would be the most efficient way to make a spiral curve for objects shaped as in the photo?

You may do it using Spirals of the Curve Extra Objects add on.

Activate the add on in User Preferences-->Add-ons (Ctrl+Alt+U).

Add a spiral and play with its settings (Spirals panel in a Tool Shelf).

Extend the spiral's lenght extruding the curve's points. Add a Bezier Circle in the same position as the spiral is. Scale it to give a curve a desired thickness. Apply its transformations (Ctrl+A-->Rot&Scale).

Select the spiral in Object Mode, go to the Curve Data header and set the Bezier Circle as a target of the beveled object.

Select the very top point of the curve, enable proportional editing and translate it along Z axis a bit to hide the ugly end of a curve.

You should get something like this:

To make make it gradually thinner in the inside select the very top point of the curve and scale it a bit with Alt+S using the proportional editing. Then scale it with S with a big proportional size falloff.

You may also use the proportional editing to easy change the curve's height.


scaling a circular shape while keeping its thickness I have this circular shape:

I need to duplicate it and scale it, in order to have a copy of it, with the same thickness, just with a bigger radius.

Using duplicate and scale (using the 3D cursor as center) the result looks like that:

As you can see the external one is much thicker, because the thickness was scaled as well, is there a simple way to have the second one as thick as the first one?

Add a curve with desired shape and set its orgin point as shown below. Then add the one segment of the model in the same place where the curve origin point is.
Add the Curve and Array Modifiers to the model segment. Set the proper array count.

Now scaling the curve and increasing the array count, you have a bigger object while keeping its thickness.


Vertex paint colours keep flickering A Blender beginner here.
So I recently modeled a low poly plane and applied some vertex paint to it, but after I baked the vertex paint to an id colour map the vertex paint started flickering like so

And here is my id map. I think there no issue with it.

Thanks in advance

You probably have faces of different colors sharing the same space, flickering will result from these faces conflicting with each othe during the drawing of the model.

Check the flickering spots in Edit Mode, make sure to show occluded geometry (untick the button marked in red). Delete any faces that should not be there.


Create distorted striped material I'm trying to make a mountain model in Blender with distorted striped layers. Based on this solution I made striped layers but I need to have distorted layers in the final model as well. I mean something like this. I tried to add a random value to the Sine function (using Object info node) but it didn't work. Can you please help me to add this kind of distortions to my model?

I am sure if you asked google on this you would find fitting Materials. But you seamingly didn't and neither did I. So I made the following setup to be as parametric as possible, since you didn't make clear what you want to achieve.

There are those named fields that you can use to tweak the distortion and there is the color selector on the left on which you can specify the direction of the lines. You can also replace that color selector by a Combine XYZ Node to gain better access to the numbers of the normal vector. Hope this solution can satisfy your needs.

EDIT:
If you want to make the texture that you showed in your post, you just need to turn the distortion of the noise texture up. I pretty much got it to match your image.


Blender is only rendering a composite of a movie clip that I made and not the full scene, which I want it to I am trying to render a scene, but when I render I'm only rendering the keyed footage that I composited initially in the project. Please refer to this video link where I show my project and break down the issue more in-depth.
The gist is: I want to render a scene that has more objects and an HDRI added, but Blender is only rendering a composited video clip.

This is  the expected behaviour: if in the post processing tab compositor and sequencer are checked, the output will be overwritten by what is resulting in the compositor and sequencer windows.
So, to solve, uncheck thoose options or create in the compositor a render layer input and plug it in the compositor output node.
Be sure that no video sequence is in the VSE window also (or it will overwrite the output if checked in the post processing tab).


The fonts on the interface are too small, how can I make them bigger? I just downloaded Blender to my Surface Pro 4 tablet, but I cannot read the menu bars, the fonts are too small. How can I make the menu fonts bigger?

Open Blender's User preferences by going to File > User Preferences or pressing Ctrl + Alt + U and under the System tab the first option under General > DPI should do what you want.

Just increase the DPI to the desired value or to match your display


Why is my own add-on not showing in the Preferences panel when installed? I made a super-simple, one script add-on that duplicates objects and moves them to a hidden 'Backups' collection. It installs and works fine, but for reasons unknown to me does not show up in the Add-Ons panel in preferences. I have a bl_info object in my script:
bl_info = {
    "name": "Quick Backup",
    "blender": (2, 80, 0),
    "category": "Object",
    "location": "Tools (N key) > QuickBackup Tab"
    "description": "Create a duplicate of selected objects and move it a Backups collection. The button will make a Backups collection if one doesn't exist"
}

What am I missing?

The bare minimum is adding a register() function, otherwise it won't install. Also bl_info dict has to be formatted properly, make sure the entries are separated by a ,. Easy to test using our famous Operator Simple template (Text Editor > Templates > Python > Operator Simple)
bl_info = {
    "name": "Your Add-on Name",
    "blender": (2, 80, 0),
    "category": "Object"
}

import bpy

'''
class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    def execute(self, context):
        pass
        return {'FINISHED'}
'''

def register():
    pass
    #bpy.utils.register_class(SimpleOperator)

def unregister():
    pass
    #bpy.utils.unregister_class(SimpleOperator)

if __name__ == "__main__":
    register()

Further reading:

How to create a custom UI?
https://docs.blender.org/manual/en/latest/advanced/scripting/addon_tutorial.html


How to move multiple objects into another collection? I am using this code which works very well for one object. I select Object_A and it moves to the collection MyCollection. If I select two or more objects, how would I change the code?

bpy.data.objects['Object_A'].select_set(True)
obj = bpy.context.window.scene.objects['Protrusive']
bpy.context.view_layer.objects.active = obj
A = bpy.context.object
A_old_coll = A.users_collection
terrain_coll_name = "MyCollection"
if terrain_coll_name not in bpy.data.collections:
    terrain_coll = bpy.data.collections.new(name=terrain_coll_name)
    bpy.context.scene.collection.children.link(terrain_coll)
else:
    terrain_coll = bpy.data.collections[terrain_coll_name]

terrain_coll.objects.link(A)

for ob in A_old_coll:
    ob.objects.unlink(A)

You just have to .unlink(object) each object from all linked collections and then .link(object) each object to your target collection.

Example on how to move all objects in selection to MyCollection:

import bpy

C = bpy.context

# List of object references
objs = C.selected_objects

# Set target collection to a known collection
coll_target = C.scene.collection.children.get("MyCollection")

# Set target collection based on the collection in context (selected)
#coll_target = C.collection

# If target found and object list not empty
if coll_target and objs:

    # Loop through all objects
    for ob in objs:
        # Loop through all collections the obj is linked to
        for coll in ob.users_collection:
            # Unlink the object
            coll.objects.unlink(ob)

        # Link each object to the target collection
        coll_target.objects.link(ob)


Are there any built-in color swatches or color palette? Are there any add-ons (or any other way) to get color swatches? In Coreldraw, Illustrator or any vector software we have color swatches.

Ready made color shades, no need of mixing.
We can have a fixed value for a specified color (red, green, blue, etc.).
We can directly apply a fixed color value on a mesh.

How can I have a color swatch or is there any add-on available to use it?

I don't think there is any inbuilt add-on. But you can use this free add-on. http://www.blenderskool.cf/kaleidoscope/


Rendering Layers while compositing showing overlaping Problem! I have an Animation, at the 1st  frame, the green box is behind the Red Box. At the end of my animation, the red box in front of the green box. I want to each box is rendered as separated layers. My Problem is overlapping is going on at the last frames while at compositing.  How can I get out of here?
Thank you...enter image description here

You have enabled masking option for layer with red box, but forgot to enable it for layer with green box.


Why is sculpting causing trouble with object? Here I am sculpting in sculpt mode

But for some reason when I go to object mode, the object starts to stretch some parts-
This is how it looks in edit mode-

If anyone could help, I would really appreciate it!

It could be due to the shading in different mode. I suggest to switch to sculpt mode and smooth out these areas and then come back to object mode.

You can also have a look at these areas in edit mode and you will see if there are distortions.


Unable to fix error message "You should have an active texture to use multires baker" I have been following Kent Trammel's YouTube tutorial series on creating a realistic head within Blender without many obstacles. In part 3 (https://www.youtube.com/watch?v=KoiYMx2xXGA&t=27s) he bakes a displacement map from his multires mesh (seen at 5:42). However, when I attempt this I am greeted by "You should have an active texture to use multires baker". This issue has been raised before with various solutions (https://blenderartists.org/forum/showthread.php?319591-Multires-Baker-You-should-have-active-texture , How to pick target texture image for baking?) yet after trying each one I get the same message.

In the images below you can see that I selected my UVs and created an image Untitled.001.
 I also assigned this texture to my material.

and the texture even shows textured view

yet I still get the error message.

I have been trying to fix this for hours now, so any solution would be greatly appreciated.

Not all faces of the mesh are assigned to that texture so baker can't start working due to that.

The culprit is that some faces of the mesh are hidden, never fall under selection hence don't get assigned to the texture in UV Image editor. Unhide them in Edit mode with Alt+H. Only unhidden geometry is selected in the screenshot below.

Note also that while baking will work once you select all after unhiding and assign to the texture, it's better to fix that area as it's non-manifold geometry which can cause some troubles down the road.
Select overlapping edges and remove them:

Also there're overlapping vertices on the back of the head left probably after applying Mirror modifier. To avoid UV map corruption don't delete them rather than use Alt+M to join them at center:


flat grassshader, like in Dauntless, Fortnite, the Witness, Zelda:botw I am trying to get grass that look like the one in Dauntless - Fortnite - the Witness - Zelda:botw and many other stylized games. It is flatshaded, but cast no shadows and recieves shadows from other objects. And it also gets brighter when the light shines from above.

Here are some examples:

from the Indiegame woodbound (gif)

from the Witness

I managed to reproduce it in Blender internal render:
No texture, only planes, lightsource is a sunlamp.
The Vertexnormals of the planes are looking straight up (blend4web addon helped me there).

In Cycles I tried mixing up a diffuse + translucent shader, edited the vertexnormals aswell, but it doesnt get the flatshaded look.

It only looks good, when all the planes face the same direction, or the light source is mainly hitting the Front. If the camera is looking at the plane at an angel, the color gets darker. If the camera looks at the backside of a plane its dark.

I searched the web for a view weeks now, the only thing that helped (and let me recreate this effect in blender-internal) was, to let the vertex-normals of the plane face straight up.

Maybe you guys have some Ideas for this stylized shader in Cycles :)

Since the suggetions are not working (still getting darker colors of some grassbillboards) :( ,
I managed to build a workaround.

The downside is:

it doesnt work for moving light/objects, because the shadows are baked. ( or is there a way to bake a texture for every single Frame).
it also inst an accurate shadow, because the color stays the same on the Z axis. (So it works best if the grass inst tall)
for large scaled scenes you need huge textures to bake on (10k*10k pixels and up).

How its done:

Bake shadows on a white plane, were your grass is emitted from.
Take the baked texture as an factor between a bright color (light) and a dark color (shadow).
Instead of using the hair particle system, use the emitter system, because it let you project the texture of the emitterplane onto the particles.

But its easier to explain the idea and technik behind this workflow with a picture:

So this question is half solved, thanks so far :D.
 I am also happy to see further ideas to solve it completely.


How to make faces face one direction For the example lets say there are two groups of faces. Is there a way to make them face one direction uniformly?

What I've tried so far:
  Set pivot center for transform as Active Element and transform orientation as Normal. Then select all faces in question with the face to which other faces will align selected last. Then S Z Z 0. Problem is: the second group of faces will (predictably) go out of its place too much:

Is there a way to leave it more or less in the position it was before the transform while making the faces facing the same direction nevertheless?

P.s. I've also tried to create new orientation to apply it to another group of faces (the same S Z Z 0), but a) it will clamp the geometry to a line if applied to the faces and b) it more or less works with vertices but there are problems aligning them to other axis and it is really time consuming.

yes, there is. Set the pivot to individual elements instead of active element and scale them to zero along the desired axis.

There is a way to setup custom transform orientations if normal, view, global, local etc. does not offer the desired axis. I believe you can find it here further down the page.

https://www.blender.org/manual/editors/3dview/object/transform/transform_control/transform_orientations.html


I'm making a table Rounded Edges - Noob question So I used a cylinder to make the table head but I've noted the irl table edges aren't just flat they tend to be a tad rounded I just need to know how to make the edges of this table rounded, I've tried smoothing the vertices and extruding them doesn't seem to work :(

In the 3D view, switch to Edge Select mode.
Select both top and bottom circles.
Press ctrl B to create a bevel, change the parameters on the bottom of the Tools panel of the 3D view (T).
Add a Smooth Shading and a Subsurf modifier.


How to do fluid simulation? Blender newbie here.
Trying to create a simple fluid simulation in blender 2.83 but it just doesn't work.
Here's what I did.

Create a cube. Add fluid modifier. Set type to domain and domain type to liquid.

Create a sphere. Add fluid modifier, set type to flow and flow type to liquid.

After clicking the play button in timeline, nothing happens. The sphere stays where it initially was and there's no change in its geometry.
Can someone tell what exactly are you supposed to do to create a basic fluid simulation.
Thanks!

You are already really close to setting up a fluid simulation and have all the right steps - you're just getting caught out by the order as it's at the point where the domain is set and containing flow meshes are being initialised - so since you're creating the flow last it appears that it isn't getting linked to the domain correctly.
There are (at least) two ways of resolving this. The first is to simply switch the sequence of creating the domain and the flow - create the flow first, then position and assign the domain; the flow object should then be initialised with the fluid particles and you can run the simulation.
Alternatively, you can change the domain to object's Fluid Type to None and back to Fluid (and change Domain Type back to Liquid) - this should also re-initialise the fluid. Additionally, I've discovered that changing the cache to Final and clicking Bake also re-initializes the simulation.


How can you make the mesh in a 3D view a bit transparent? I'm modelling with a reference image as a background image, but I can't see it through the mesh. How can I make it a bit transparent in the 3D view so I can see the image?

NOTE: I'm doing this in Cycles.

You want to set your background image like this:

Set it to front and give it some opacity.

Transparent mesh you can only make in Blender Internal in GLSL shaded viewport by setting the material Z Transparency Alpha or by giving it a transparent texture.


There is seemingly no way to get a Sketchup model to work properly in Blender. Pls help I'm very new to blender, I've had a very frustrating experience trying to get something from Sketchup Make to Blender to Unreal Engine, with seemingly no way to do it.
Sketchup Make only allows me to export as a .dae file or a .kmz file.

Here's a screenshot: https://imgur.com/a/ma0wavU
Here, I tried to import the .dae file.

On the right, you can see that the material still 'exists', as I can click on each individual polygon on the right and have it's assigned texture be recognised.

Unfortunately, for some reason, these don't appear on the actual model. Exporting a model like this to an FBX or OBJ to use in Unreal means I end up with a useless model which is unable to be correctly textured. (Also, every single polygon in the model is a separate object for some reason. Why is that? It means dealing with it in Unreal is a complete nightmare.)

I've read online that you have to assign each texture to each face. Well, for me, that will take literal hours. So I just can't afford to do that.

I also tried importing .skp files straight into blender with a plugin.
https://imgur.com/a/PrtsvJY
When I do that, all the textures become solid colours in blender (yes, I've tried 'Rendered' mode and along with rendering it and everything) and the UV maps are still completely screwed in Unreal, with the maps being so small that any texture just becomes solid colour.

All I want is for a Sketchup model, which I've spent heaps of time making exactly the way want, to be imported into Blender. Or even better, straight into Unreal.

Does anyone have alternatives? Can someone please please help me out? I can't find a single tutorial or forum post that actually works. I run into some sort of different problem every single time. Any help is greatly appreciated.

You will find that it works with Blender render, but not cycles render. Once in blender render mode (not cycles) change your view to Material rather than shaded or textured. You'll see your sketchup model as it appears in sketchup, with slightly better rendering. Rendering from here doesn't work well.
Cheers


Use Visual Studio for Blender Python scripting I'm starting to understand how can scripting make the use of Blender easy. However, I'm accommodated to Visual Studio's Intellisense and I don't know the Blender python API so it would be beneficial to use VS for the task.
Is there a way to do that? If so, how? It doesn't necessarily have to be VS, any SDK would do. This notepad-like scripting inside Blender is a bit tedious.

Yes, it is possible. You can use any external editor. If you only want to edit the code, see this question: Workflow for developing add-on/script

A way to avoid the constant reloading: Is it possible to run a script from an external editor without reloading the file?

Other things like correct auto-completion and debugging are also possible, but they require additional configuration, which can be somewhat tricky. Visual Studio is not very popular among Blender developers, I recommend PyCharm or PyDev for this kind of advanced stuff because you can find tutorials for them.


How can I duplicate and translate a selection of edges constrained to the original mesh? I have a rather large selection of edges on a subdivided plane. I would like to have duplicate edges right next to the original ones (on the same plane). In other words, each of the original edges should have a copy right next to it, with the distances between all pairs being equal. Is it possible to select all (original edges) duplicate them and translate them along the same face/plane? The only option I found the resembles it most, is just duplicating the edges, after which the duplicates are their own mesh floating around.

In the above image, I want all the vertical lines to have a copy right next to it, as shown with the middle vertex. Is there a way to easily achieve this?

You can always use the mirror modifier or array modifier.  Also you can snap to increment so after you duplicate the edge its easy line up the edges the way you want.

Now that I see your picture you can just subdivide again.  Select the entire top and bottom edge in your image and subdivide again.


What might have turned dupliverts off? I have a file with a duplivert system on part of it, which was working fine, and then something caused it to disappear. Nothing I do to fix it or rebuild it works, in fact, after testing, nothing made with dupliverts is working. For kicks I built a simple duplivert setup in a new file just to make sure that yes I am doing it right. That worked. The one in the file I'm working on still doesn't. Not the one I built originally or the test object systems.

What could turn that off?

There's the file, stripped down to just those objects.

Ok I have no idea what is going on, but I played with your blend file and got it to work again. It must be some kind of bug.

Collapse your windows on the left like I did
Then Collapse your side window with your main 3D window
Click the bottom window pane to get back to your 3D view
Notice it changes what layer you are on at the bottom
Click back to the 2nd layer with your object on it
And all of a sudden dupliverts started working again.

WEIRD!!


Rigid body: how to display collision margin in Blender 3D? Hello I'd like to display the collision margins in rigid body simulation how could I do with objects and particles ?

If you mean you want to see the hitboxes of the objects with rigid bodies (the collision shape), you have to do nothing. Usually they are shown on top of the object. If you cannot see them, try to set the Viewport shader to in WireFrame. If you still cannot see the hitbox its because the shape box is set to Mesh, so it overlaps with the current mesh. If your intent was to see a bigger hitbox for objects with an higher collision margin. I don't know if that's possible.


how can I separate these 2 fingers? I managed to sculpt a hand but the ring and middle finger are united half way.. How can I make a distance between them? My .blend file is here:

Here are some pics:
This is the side view of the problematic part in edit mode

They are not united. They are overlapping.
Well, easy ... not really, no. First you need to select the finger you want to edit. I did from the inside, which I think, is much easier.
Then you can rotate, move, scale the selected nodes/faces. Proportional editing might come in handy. Also, using the 3D-Cursor at the nuckle might help with rotations.
You could also select the middle finger fist, then hide those faces [h] to work on the ring finger - or vice versa. Unhide all faces (in edit mode) [ALT]+[h].
Hint: when you hide faces, switching to sculpt mode will keep those faces hidden.
Also, while you're in edit mode: create a vertex group of each finger. This makes further selections and rigging easier.

Viewed from the inside. Left, selected ring finger. Right, not selected middle finger. They are overlapping at the "first visible" bone.


Armature's Not Fully Connected to Mesh? Back again, I did some repainting the weights on my simple knight here. Previously he didn't have this problem. I had to subtract some weights off the chest which were pulling strangely but the arms seem partially detached from the mesh? I need a picture to describe it, because again, I cannot articulate it properly to let Google answer this question... which is probably ridiculously easy.

And I attached my blend file for ease.

Thank you.

The problem is that the 'Spine' is  also affecting the head and the arms. If you remove the arms and head from this vertex group, it works just fine.

In weight paint mode choose the 'Spine' vertex group. Use the subtract brush to remove the weights from the arms and head. Then test with different poses and adjust the weights where needed.

Here is a screenshot of how it should look like (although some more tweaking is needed :) ):


Increase cycles speed for interior render I modeled a house and wanted to render the rooms from the inside with the approximate sun lighting through the window. However cycles is incredibly slow in doing that. What should I change to increase my render speed? I am okay with sacrificing quality for it as it is not yet my final render and I am still planning the room layout.

The room is physically correct with ceiling and floor (cube with multiple small holes in it). I'm rendering in perspective mode using Cycles.

It sounds like you are using a sun lamp for it, that really slows it down. So the only thing I can add to Gwenn answer is: for interior renders, use planes with an emission shader in every window hole, and disable the "camera" option in the "ray visibility" panel in the object properties so you don't see it when rendering. You can combine that with a sun lamp if you want hard edge shadows coming from the sun.

I use this method a lot and it really speeds things up.


Cancel addon registering I am developing an add-on, which only works if some specific conditions are satisfied (e.g. some other add-on is installed). Hence, I want the user to be unable to register this add-on if the conditions are not satisfied.
I thought I can ensure the conditions during the register() function. If the conditions are not satisfied, I want Blender to cancel the add-on registering, while displaying a message, saying what the user has to do.
I figured out how to display the message following https://blender.stackexchange.com/a/118183/117198
def display_error(message):
    display_text = lambda self, context: self.layout.label(text = message)
    bpy.context.window_manager.popup_menu(display_text, title='Error', icon='ERROR')

However, I don't know how to properly cancel the add-on registering. I figured that raising an error would cancel registering, but it displays the traceback, which is not user-friendly.
def register():
    if not my_conditions:
        raise Exception("The conditions were not met.")
    else:
        # Continue register

Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 2.90\2.90\scripts\modules\addon_utils.py", line 382, in enable
    mod.register()
  File "C:\Users\VirtualUser\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\my_addon.py", line 116, in register
    raise Exception("The conditions were not met.")
Exception: The conditions were not met.

Is there a proper way to cancel add-on registering? Alternatively, is there a way to hide the traceback?

Some alternatives.
I am not sure what you ask is possible without some serious dicking around.
If these are bundled addons can simply enable and disable them as required in your code https://blender.stackexchange.com/a/58208/15543  In that you can enable an addon  when required  eg https://blender.stackexchange.com/a/189435/15543
Use a different Preferences if missing dependencies.

As it happens, am currently writing an addon prefs class to display any missing import dependencies.
Here is a "fudge-together" to show the warning message and suggest that the user investigate the addon on prefs.  The addon checks if the cell fracture addon is present and enabled, if present but not enabled puts a button in prefs to enable it.
Could add a big "Retry" button to check again.
bl_info = {
    "name": "Test Deps",
    "author": "Your Name Here",
    "version": (1, 0),
    "blender": (2, 80, 0),
    "location": "View3D > Add > Mesh > New Object",
    "description": "Adds a new Mesh Object",
    "warning": "",
    "doc_url": "",
    "category": "Add Mesh",
}

import bpy
import addon_utils
from bpy.types import AddonPreferences

deps = ["object_fracture_cell"]

class AddonDepsPrefs(AddonPreferences):
    bl_idname = __name__
    bl_label = "Missing Deps"
    def draw(self, context):
        layout = self.layout
        layout.label(text="Errors Registerning")
        fake_mods = addon_utils.addons_fake_modules
        for dep in deps:
            if dep in fake_mods:
                if not addon_utils.check(dep)[1]:
                    op = layout.operator("preferences.addon_enable")
                    op.module = dep

def register():

    fake_modules = addon_utils.fake_modules
    all_exist = all((dep in fake_modules) for dep in deps)
    all_enabled = all(addon_utils.check(dep)[1] for dep in deps)
    satisfied = all_exist and all_enabled
    if not satisfied:
        bpy.utils.register_class(AddonDepsPrefs)
        #unregister()
        def display_error(message):
            display_text = lambda self, context: self.layout.label(text = message)
            bpy.context.window_manager.popup_menu(display_text, title='Error', icon='ERROR')
        display_error("Expand Addon Prefs for Details")

def unregister():
    if AddonDepsPrefs.is_registered:
        bpy.utils.unregister_class(AddonDepsPrefs)

if __name__ == "__main__":
    register()


Is there as way to export a blender object for cnc machining so it doesn't become a huge file size when converted to .stp? I am a beginner. I want to export a blender object to be cut on a CNC machine, the workshop ask me for a .stp file or a .igs file. My blender object has 250,000 tris, when I export to .stl the file size is 9mb but if I convert this file to .stp it becomes a huge 500mb file. Is there anything I can do within Blender before exporting the object to make this file size more reasonable?

This is a good question, and the answer unfortunately is mostly "no". IGES and STEP files are (mostly) CAD/CAM files, and are not point- or polygonal-based. The file format itself is ASCII, and dates back into the 70s. It is great for driving CNC machines, since that's its history.

Some modeling programs (Rhino) can get you there from nurbs-based modeling. I am not aware of any option in Blender (or ZBrush, Maya) allowing you to get a clean IGES.  You can get STL files, which are great for 3D printing and which some routers will accept.

There are a number of programs that will go back and forth between Nurbs, STEP and IGES...  and some higher-end products (SolidWorks) will bring in an stl and generate an IGES or STEP.

If you finda  better answer -- post here. We use Blender for a lot of 3D output, but when we need tooling, typically we need to have IGES... and this is the best info I have at the moment!


How to disconnect a light path node My question seems obvious but I did not understand why I could not disconnect the path light node for other node. I have never had a problem with other node.
To disconnect any node ,I press the left button of the mouse on the output extremity of the link and I drag.

Exemples:

That should work for any node.. But another way is to hold ⎈ Ctrl and drag  LMB, "cutting" the node link(s) (aka noodles):


How to make corect sub d topology? I want to make corners like on this picture.

Now I have result like this
and like this (not clean)
Now my lowpoly wireframe
Have any ideas how to make clean corners like on the referens?

Different geometry

It's hard to tell from a single photo the exact geometry of the reference object, but it seems to me that there is no hard edges running up from the vertex of the triangle you are pointing with the black arrows.

The side looks in my opinion flat above that point, while it had different heights after that. I sketched the shape considering the two quads in the bottom left part of the image as if they were displaced from the other surface.

Starting from this simple geometry, I then added a few loopcuts and tweaked the crease of some edge to control the curvature of the surface. Here's the final result:


Baking error with multi-tiled UV map While searching for examples in baking I found this question Export "Project from view" texture as uv texture . On that page one responder provided a blend file. I downloaded it, tried to follow the steps and encountered a problem.

The model is unwrapped in such a way that it spreads across 4 different tiles: (I understand why and I also do this in my own projects, so it's a lot easy to manage)
The problem is:
When I bake the texture on the left to the layout on the right, the resulting texture is just a fraction of the tile (0,0).

But when I cram those 4 tiles into just 1 tile it bakes correctly:

Even when I tried to UVs -> Export UV Layout to use for pics in this question, Blender exported only the tile (0.0).

How to make Blender respect multi-tiled UV maps and how to make this particular example work (without collapsing all into 1 tile)?

Notes:
renderer used is Cycles
different UV tiles doesn't mean different UV maps
I have no idea where exactly the original asker got that model from

Always layout UVs up and right from 0,0. Otherwise this will happen. Never go left and down.


Rotating Face Won't Stop Shaking I'm trying to rotate an object's face and keep having the problem where it will not stop shaking, even if the mouse is moving.

Here's a giphy link to show what I'm talking about.

Edit: Here's the blend link. It's not the snap-on option. I don't think I'm using modifiers on the object, but Im pretty new to this and could be wrong.

My first idea is than you have "Snap tool" ON. Check Magnet icon (in horshoe shape) on 3D Viwe bottom bar. Next to "Proportional editing". Keyshort is "Shif+Tab". Can be easily switched accidentally.

If this don't help you, consider uploading your .blend. Because we can only guess now.


Separate/convert bones into their own armature I have the following setup:

Unfortunately this does not work in WorldViz. Instead I need every bone to have its own armature system. This results in an cascade of armature systems.

But I would like to reuse my already perfectly placed bones. Is there a way to convert a bone into its own armature system?

For example: The bone Bein would become Armature Bein with a pose and a bone Bein and this bone would be the original bone.

Here is the result I wanted to achieve:

The option you're looking for is CTRL + ALT +P.

Its called separate bones. All you need to do is select the bones you want to put in their own armature and CTRL + ALT +P.

Now you have another armature system, with any IK's still working.
From there if you want to have the bone it was originally attached to be the parent of it, all you would have to do is select the new armature, SHIFT + select the old armature, TAB into pose mode and select the bones you wanted it to be parented too.

Any pose data should still be left intact.


Blender reads serial data slowly? I'm new to blender and python. I want to read analog data from arduino to blender. I'm using the bellow code and it works fine. Even though arduino sends data quickly blender reads them very slow(about 800 ms). Does anyone knows whats the mistake I have done here?

ser = serial.Serial('COM3', 9600 , timeout=1)
 sensor00 = ser.read(size=1)
 sensor0 = ord(sensor00)
 print ("sensor0=",`sensor0)

This code is repeated 9 times for 9 other sensors (flex sensors).

Serial communication uses start and stop (1,1.5 or 2 bit length) and optionally a parity bit.
Assuming it would be 10 bits 9600 bits/s would transfer 960 bytes in a second.

You're reading the data byte by byte.

If you have messages with variable length it would be better to transfer a header containing the size of your message and read this first.

e.g.

<Header>     <message>
0x0000 0100  256 bytes of data

then you could read first the header (size=4) followed by reading the message at once.

To make the protocol more robust you could introduce a checksum (in the header) and an end-of-message marker which is not contained in the data (or escaped there), this would allow you to recover from transmission errors and re-synchronize.


Multiple addons using the same name I was trying to install the add-on Blam Master and for any reason was not showing up, and didn't show any action confirming the installation. I try to run it again an this error popped out:

Multiple addons using the same name found!
likely a problem with the script search path.
(see console details)

Looking at the console nothing shows up... Also, I tried to search for the duplicate file in the Program Files folder, and the AppData folder, but there is no duplicate add-on either.

How can I get rid of the warning? Is there a statement I need to execute in the console? I'm using Windows 10 i7 processor

In windows OS you can open the console form the menu:

Window->Toggle System Console:

There you should be able to find information on your error.

In your case you have a duplicated addon. This error can happen when you have two versions of the same addon as well.

The duplicate could be in two places:

On the programs folder in your system drive:

C:\Program Files\Blender Foundation\Blender\ version number \scripts\addons

or on the App data folder:

C:\Users\ your user \AppData\Roaming\Blender Foundation\Blender\ version number \scripts\addons

Open both folders, find the duplicate and remove it from the folder.

Then restart blender.


How to achieve a sharp tip/edge for a blade? I would like to make one edge sharp, and for the tip to be sharp as well. I've considered using the bevel tool, merging vertices, or just scaling things down to almost no distance. What would be the best way to make a sharp edge/tip?

You can choose whatever you feel is best.
You can scale it down a lot. You can merge it and have less geometry.(Preferred)
I'm not sure what exactly your question is.


How to do AddonPreferences using extensions_framework? I have seen scripts taking user preference values using classes built over AddonPreferences. Is it possible to do the same using extensions_framework by Doug Hammond. Why I am asking this is I need to get a path to an executable from the user, like a path to a renderer. The script which I made does all its class registration / unregister happens through EF. So is it possible to get the path from pref?

No (as of 2.68), the Python extensions_framework directory has no references to AddonPreferences.

You could contact Doug Hammond about this or check on adding support yourself.


Get length of Bezier curve with python? (For driver) Is there a way to get the length of a Bezier curve in Python such that I can use it in a driver?

The animation node plugin implements a node for calculating the length of a curve:

You find the sources here.

An older BA thread also provides some snippets.


How to snap plane center to a static vertex? I want to snap the center of the circular plane to the vertex of the tetrahedron while rotating the cone around the origin (keeping its' peak in the origin).

I have made a vertex at the center of the circular base, but it's not showing up in object mode, and does not appear to be interactive in a snapping manner.

I realize this could also be done just by knowing the angle (and, in this case, rotating along the X axis), but I'm not aware of an embedded way to determine it.

Generally, in dealing with symmetrical manipulations, it would be nice to have a snapping grid that conforms to certain form. The regular cartesian could then be called "octahedral" since there are 3 axes x,y,z , and the next in axis count would be "tetrahedral"(one I would be using in this example) which would have all the common options that constrict manipulation to given axes. Just a suggestion, or in case there's already an Addon, feel free to link.

It looks as if you've already done most of this, but for the sake of completeness, trying to keep the steps minimal from the worst case:

To place the tetrahedron's origin at its centroid

In Object Mode, tetrahedron selected, ShiftAltO > 'Origin to Center of Mass'

To place the cone's origin at its point

In Edit mode, select the point vertex
ShiftS > 'Cursor to Selected'
In Object Mode, ShiftAltO > 'Origin to 3D Cursor'

To place the cone's point at the centroid of the terahedron

In Object Mode, tetrahedron selected, ShiftS > 'Cursor to Selected'
Cone selected, ShiftS > 'Selection to Cursor'

TL;DR, cut to the chase....

To align the cone to one of the vertices of the tetrahedron

(given you have created a vertex at the center of the cone's base, and having centered the cone to the tetrahedron, as above)

Set Pivot to '3D Cursor', Snap to 'Active' and 'Vertex'.
Object Mode, ShiftS 'Cursor to Selected' ( either cone or tetrahedron, to put the cursor at the cone's point)
Edit Mode, select all vertices of the cone, make the base-center vertex active.
In each axis in turn, RX,RY,RZ, snap the active vertex in rotation to the desired corner of the tetrahedron.

To move the base of the cone to one of the vertices of the tetrahedron

With preceding step taken, S scale the base to the corner, snapping to the active base-center vertex.

(You don't actually have to create a vertex at the center of the base of the cone .. instead of setting the snap to 'Active' you can set it to 'Center' and snap the cone's base as a whole, to the corner of the tetrahedron.)


How to access bpy.props.StringProperty() from a different class? I need to access the string in 'my_type' string property which reside in the class Append_OT_Operator from the class Apply_OT_Operator. How can I make this 'my_type' a variable that I can access globally? Or is there a better way?

This is my code in my_operators.py:

class Append_OT_Operator(bpy.types.Operator):
    bl_idname = "wm.appending_basic_objects"
    bl_label = "Append the basic objects"

    my_type : bpy.props.StringProperty()

    def execute(self, context):
        path = (r'C:/Users/')
        blendfile = "Assets" + ".blend"

        bpy.ops.wm.append(
            filepath = blendfile,
            directory = path + '/' + blendfile + "/Object/",
            filename = self.my_type)

        return {'FINISHED'}

class Apply_OT_Operator(bpy.types.Operator):
    bl_idname = "wm.apply"
    bl_label = "Apply most modifiers for UV unwrapping phase"

    def execute(self, context):

        print(my_type) #return an error, instead of printing my_type string

To clarify, 'my_type' is set when the user click on a button of the UI in my ui_panel.py:

class UI_PT_Panel(bpy.types.Panel):
    bl_idname = "UI_PT_Panel"
    bl_label = "Bijoux Panel"
    bl_category = "Bijoux Addon"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

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

        row = layout.row()
        row.operator('wm.appending_basic_objects', text = "append my_object1").my_type = 'my_object1'

        row = layout.row()
        row.operator('wm.appending_basic_objects', text = "append my_object2").my_type = 'my_object2'

Window Manager keeps track of registered operators
Lets say we add a property to the simple operator template, and make it register - undo
class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"
    bl_options = {'REGISTER', 'UNDO'}
    xxx : bpy.props.StringProperty(default="foo")

Invoke it from the UI

Then in python console use WindowManager.operator_properties_last
>>> op = C.window_manager.operator_properties_last("object.simple_operator")
>>> op.xxx
'ggggg'

Note the template class name is SimpleOperator but really should be OBJECT_OT_simple_operator to match its id name "object.simple_operator" as per the naming convention
Store in blend objects
Alternatively store properties on ID objects in blender, eg scene, object, mesh etc.  Scene is often used as a "global".
from bpy.props import StringProperty

bpy.types.Scene.xxx = StringProperty()

set in an operator with
context.scene.xxx = self.my_string

retrieve with
print(context.scene.xxx)

layout with
layout.prop(context.scene, "xxx")


How do i straighten UV island without warping them? i have those curly UV island witch can make them harder to work with.
how do i straighten up without warping them?

Maybe this video will help
https://drive.google.com/file/d/1TZMg3nT229WVAF4RRS4pz20XnROdeJ7M/view?usp=sharing
This is the method I always use. If this doesn't work, you can try UV Squares add-on


Is blender the right tool for my simulated 3D environment? I want to create a (non-realistic) 3D representation of a true nautical environment (e.g. a harbor). I get a real-time stream of data for each ship in the harbor, containing position, size, speed, direction etc. over a tcp/ip interface. (For each vessel, I get an update every 3 seconds. Potentially there are hundreds of ships in the harbor.) Each ship can be represented e.g. by a simple box with the right dimensions floating in a blue plane representing the water. Then I want to put a number of virtual cameras in this virtual harbor, and output a video stream (h.264 over tcp/ip multicast) for each virtual camera at e.g. 10fps. These cameras are at a fixed position, but I need to be able to change pan/tilt/zoom from an external (tcp/ip) interface. All this needs to be done in real-time... Would Blend be the right tool to accomplish something like this? What would be a good approach to make something like this? Or do you have suggestions for other tooling that may be more suitable?

Blender is capable of doing what you describe.

One major hurdle with this system is going to be the viewing client. If you need to output a stream over the network, your simulation will need to render to python socket. Probably most easily done in BGE. possible.  Then you'll also need an adaptor to make that a usable video stream. (If you were trying to open it in VLC or iTunes type app)

Another option might be to build your clients with BGE also, then you could use a Multiplayer framework to let people login to the running simulation.


Apply as rest pose deforms the animation I am trying to apply skeleton to model. I can import BVH and see the animation just fine, however when I do "Apply as rest pose" which is necessary for the model to actually align with the skeleton's movement, the animation becomes completely distorted.

If I don't apply the rest pose the model gets distorted the moment I parent the model and skeleton.

What am I doing wrong?

EDIT:

Old blender artist thread to change the animation of bvh after changing rest pose.
http://blenderartists.org/forum/showthread.php?254060-modify-motion-capture-T-pose
The code in a zip file
http://blenderartists.org/forum/attachment.php?attachmentid=283112&d=1389806292
The concept~~

Pose the armature into the new rest pose.
Make a copy of armature and make the pose the copies new rest pose.
Join the two armatures
Use the bone snapping code from rigify to snap the copied bones to
the original bones, and keyframe the new animation from those.

run the script and you will get the following buttons in the armature data panel

Hit the New rest pose to rig button, this will give you a new set of bones to the armature.  Have a look at the rest pose, the new set has the pose as a rest pose.  Play the animation and you will see the new bones do nothing.
EDIT
The execute of the operator updated to 2.8,
import bpy
from bpy import context

###################################################
# dupe rig
# for copy
# add prop to point to original bone
# make current pose the rest pose
# join to original
####################################################

scene = context.scene

# original bvh rig
bvhrig = context.active_object

bpy.ops.object.mode_set() # object mode
bpy.ops.object.duplicate()
ob = context.object
print("DUPE", ob)

#add a custom prop for each bone in the copy

for bone in ob.pose.bones:
    bone['bvh'] = bone.name

# apply the pose as rest pose
bpy.ops.object.mode_set(mode='POSE')

bpy.ops.pose.armature_apply()

bpy.ops.object.mode_set(mode='OBJECT')

# join back to original
ob.select_set(True)
context.view_layer.objects.active = bvhrig
bvhrig.select_set(True)

bpy.ops.object.join()

The BVH action to new restpose rig button, copies the original's animation by snapping the bones for each frame of the action.  Play the animation now and the new bones are animated same.
Then lastly, copy, paste, n run this code
import bpy

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

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

    def execute(self, context):
        #dupe the armature
        bpy.ops.object.mode_set(mode='OBJECT')
        bpy.ops.object.duplicate()
        newarm = context.object
        # copy the action
        newaction = newarm.animation_data.action.copy()
        # strip out the old fcurves
        for fcurve in newaction.fcurves:
            if fcurve.data_path.find(".001") == -1:
                newaction.fcurves.remove(fcurve)
            else:
                fcurve.data_path = fcurve.data_path.replace(".001","")
        newarm.animation_data.action = newaction

        bones = [bone.name for bone in newarm.pose.bones if bone.get('bvh') is None]
        # remove original bones
        bpy.ops.object.mode_set(mode='EDIT')

        arm = newarm.data
        for name in bones:
            eb = arm.edit_bones.get(name)
            if eb is not None:
                arm.edit_bones.remove(eb)

        # rename bones to original names
        bpy.ops.object.mode_set(mode='POSE')
        for pb in newarm.pose.bones:
            pb.name = pb["bvh"]

        return {'FINISHED'}

def register():
    bpy.utils.register_class(SimpleOperator)

def unregister():
    bpy.utils.unregister_class(SimpleOperator)

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.simple_operator()

and you will have a new rig (single bone set) with the new animation and new rest pose.
As you are using the Male1__.bvh mocap set, you can use the same "double boned" rig with other actions imported from another file of same mocap subject.
Result.


Curve modifier only follows first Spline of a Curve Object I have beads along a curve (with array modifier+curve modifier). It works fine and forms a necklace. However, I want to have several subpaths (correct name?) to make up the curve.
I am trying to make a necklace like this:

I would like to use one curve for all segments with similar beads. But only the first subpath in the curve is used.
Like this. You see several curves and arrays. The selected curve is duplicated in edit mode, so it consists of two subpaths. But the beads only follow the first.

EDIT: I want each curve to be slightly different to not make it repetitive. I want to make it look hand crafted.

Yes, this appears to be a limitation of the current Curve Deform modifier. It will only notice the first Spline, The Curve can have multiple segments but as soon as there's a gap then infact the Curve object internally is made from two splines, etc.

If you think this is a bug you can file a bug report to see what the developers say.


Simple Emboss - Add vertices to a face? I want to add a simple 'pillow' emboss shape to a face. I want the shape to be square with rounded edges and lift off the face a couple of mm. It needs to be part of the face with seamless joins as if it were punched out of metal. I've attached my efforts so far but as you can see the subsurf is doing some funny things to the straight lines. Is there an easy way to add a square face within a face that I can then extrude?

I hope I understand what you need.
If you are doing square indentations you will usually need to use a grid topology to not get artefacts with the subdivision modifier. This will keep the edge flow align to the edges instead of creating a circular edge flow. Add at least one extra support edge to get flat surfaces around the indentation.

(You should also use smooth faces so you wont get small facetts.)


Shapekeys aren't saving to the animation timeline? Recently I decided to try shapekeys for facial expressions(as I used separate armatures) but I've run into the problem where I change the value, press I and hit rotlocscal(because I don't see an option for shapekey) and it doesn't change during the playing animation, staying the same.

How do I save the shapekey to the keyframe? I've tried looking it up but had no luck and I would greatly appreciate some help on this. This model is going to be imported into Unity and it's pretty important that these shapekeys work.

Also due to copyright I cannot upload any part of the model.

You can add keyframes by:

Press RMB on Value box and select Insert Keyframe.
Hover on Value box and press I

When keyframes created, you can edit them in Dope sheet or Graph editor like usual keyframes.

Also you can create a driver for shape keys.


Render outputs includes the scene incorrectly or uses the wrong input I wanted to track just a single point in a movie.

I followed a tutorial on YouTube which was also about motion tracking, but was more tracking motion in a 3D environment and placing blender objects in the real video.
This didn't work out for me so I tried it in a different way. This time I was able to track my single point, bind it to an empty and work my way out from there.

Since the scene was very simple (it had very simple and single coloured geometry in it) I wanted to render the image with blender render to be fast. The output of blender render displayed the movie as background image (as I wanted it to do), but the rendered objects was greyish and 50% transparent.

  Information on that topic: Transparent rendered object over tracked background (posted by cegaton)

Cycles was much slower, but did start out correctly. The geometry was correct in size and colour. However, after it finished rendering the scene with Cycles, the movie layer was put above the scene objects. So in the final video I only saw the initial video content and none of the objects I wanted to see.

I was using the movie editor and placed the scene stripe above the movie stripe and used it as alpha over. Even after deleting the background movie in the didn't help.

In the end I was able to figure out a solution myself. I want to share the solution in case you have the same problem or can tell me more about it/have a better solution for me.

Since this was a very strange behaviour, I wanted to check the whole setup in the node editor.
I realised that it seems I was searching in the wrong part of the rendering pipeline. Somewhere I got the idea to look at the compositor window.

This is what I saw:

I have no idea how or why the setup was that way. It may was caused by the motion tracking workflow I did at the very start.

Since my only goal was to overlay the movie clip with the coloured objects, I deleted everything but the movie clip, the rendered scene and the alpha mixer (plus the two outputs of course).

With this configuration I got what I wanted and blender render did work as well for rendering.


Why does the shadow pass not account for mesh lights? Why don't mesh lights affect the shadow pass?

For example:

I have a simple scene with a mesh light and an area lamp:

However, you can see that the mesh light does not affect the shadow pass:

Why is this?

Is there some technical limitation of mesh lights that prevents separating the shadows?

That is simply how the shadow pass works. According to the wiki, the shadow pass is only affected by lamp objects, not mesh objects.

I mad a little experiment and was quite surprised, but It may shed some light on this. I also edited my previous speculation since I was wrong (check revision history).

I rendered a little scene with both an area light and a light emitting plane. It was the default cube sitting on a plane and on the opposite side from the light source was another plane with a glossy shader (roughness 0).

This is the render with the area light.

This is the render with the mesh light.

The one with the area light have no caustics! This simplifies things a great deal when it comes to calculating shadows. Also, mesh light can be any shape while area light can only be square and rectangular. I'm guessing that devs made a choice. Mesh lights would be to complicated or expensive to calculate shadows for since they behave more complex. Area lights are simpler (only rectangles and no caustics) so calculating shadows are easier and/or cheaper.


How to control inner and outer edge of curve modifier separately? I am working on a project where I need to create circular roof where the inner edge is always in the same position (has always the same radius), but the outer edge can be adjusted (adjustable radius independent of inner edge). And all this has to be somewhat procedural (cannot lose resolution over size - similar to array over curve, where bigger the radius the more instances spawn).

Visual concept:

You can do it without the curve modifier, with the screw modifier and a displace modifier :