How can I apply a texture to a single mesh face? What is a simple way to apply a texture to a specific face of a mesh?

In vertex edit mode, mark seams, uv project, add texture, use the uvmap setting.
Seams are difficult to see.  They are necessary to get separation of faces for free movement of the image plane off the uv image editor
In uv editor only the target face should remain on the image area, all other faces can be moved to the side
Material Texture .. Image Mapping Extension must be << Clip >>
In the images below a cube has been modified and the target face is shaped into a trapezoid.  The base color is red.   Only one face has the texture.


Drawing FCurve with Empty I'm trying to archive drawing a FCurve with an Empty.
All works as expected, except that i have written a conditonal script that deletes the spline at the end of the frame range, sometimes its working as expected and sometimes not (reloading the Blend file sometimes fixes it)
For me it has something to do with the order of execution but I'm not sure about it, maybe its an other issue.

DeleteSplines.py:
if x:
    curves = bpy.data.curves
    #objects = bpy.data.objects
    # scene = bpy.context.scene

    obj = bpy.data.objects['FCurve']
    cu = obj.data  # the curve
    spli = cu.splines
    spli.clear()
    print("Splines deleted")

The order of execution was indeed wrong. I just put the script node after the "Curve Object Output", even if the Object input for the script is unneeded, it is required for the execution order.

It seems that the order of execution is in the non-fixed version undefined, but I'm not sure about that, I couldn't find anything in the docs about it.


How to change the Shadow darkness in eevee with HDR map? My shadow on my scene is so bright, i want change it , is it possible?

I usually use a sun lamp aligned with HDR main light source, then I lower the HDR light power. The result is quite different from that obtained with Cycles, but somehow it is satisfying, at least for me.


How to check if an object has a custom property with python? The standard python hasattr() doesn't work for me, giving me False in every case:

hasattr(bpy.data.objects["object"], 'char')

How I can check for the existence of a custom property?

Thank you

There are two types of custom properties:

Properties global to a type, bpy.props.* for e.g. bpy.types.Object
(ob.char = "foobar")
ID properties local to a type instance
(ob["char"] = "foobar")

To test for bpy.props properties / attributes:

hasattr(ob, "char")

Or get the attribute:

# note: throws AttributeError if not existing
getattr(ob, "char")

# don't throw exception but return default (None) value if not existing
getattr(ob, "char", None)

To test for a certain ID property, use:

bpy.data.objects['Object'].get('char') is not None

get() returns the value of the custom property assigned to the given key (the property name), or None if it couldn't find the key. You can make it return anything in case the key doesn't exist, like a string:

Object.get('char', default="Not found.")


Is this example of expressions correct? First time I use the expression controllers. The near sensor works, I tested it. The keyboard sensor is just triggered by E. So since none of the actuators work I guess the mistake is in the expression controllers. Any idea where the mistake is?

Edit: Fixed the expressions. But it still does not work as I intented to used it. It activates the actuator with the true pulse from near sensor or e sensor only. So can I add something to the expression to make it activated by the combination of both the 2 sensors?

p.s. duplicate thread me on blenderartists

Corrected by user "HG1" in blenderartists.
In the BA thread you can see the answer and a .blend file shared.
In short:

  Your expression is wrong "if ((cor_exhibit_door == stol_exhibit_door), True, False)" or "cor_exhibit_door == stol_exhibit_door".
  If you only want to activate the expression if are bot sensors active then you can add the names of the sensors to the expression. "if (Near AND E AND (cor_exhibit_door == stol_exhibit_door), True, False)" or "Near AND E AND (cor_exhibit_door == stol_exhibit_door)


Rigged character : Curves hairs (converted to a mesh) mades Pose mode laggy I have a rigged character, and I wanted to join it with his hairs.

Those hairs were made from Curves, which I converted to a mesh, then decimated thanks to the Decimate Modifier and the Clean Up tools of the Edit Mode to decrease the number of polygons of the hairs.

But despite this, if I Join the hairs to the mesh, the Pose Mode becomes very laggy (In fact my character has less than 40000polygons, but the hairs has more than 300k polygons haha).

Do you have an idea here ?

Thanks !

I've partly figured it out.

Please be aware that I'm a beginner, so I would be glad to receive advices from a more advanced user.

1. First : the idea to join the hairs to the body is not necesseraly what I (or you) want.

My hairs are split in 6 parts. Some of them needs physics, other don't, but every parts needs to follow the rig (and so, the body) movements.
More, for performances convenience, it is better to animate the character displaying the less amount of vertices.

Then I parented every hair parts to the rig and the body without joining them :

Select the hair parts, select the rig, Ctrl-P to parent with empty groups.
Select the body (or the object the hairs needs to stick on), select the hairs, go to weight paint mode and transfer weights (Source : by name, applied to All Layers).

Then you hairs will follow the rig & body movements, but you can animate you character while muting the hairs in the outliner.

If you want to add physics to any parented parts (the hairs here), just follow the traditionnal steps.

Secondly, I managed to reduce the number of polygons of my hairs parts.

They currently have less than 100k polygons. It is enough  for me :
Pushing the decimate modifier further, and always use the Clean Up tools after (merge by distance, delete loose, degenerate dissolve) and finally normal recalculation to avoid glitchy behaviors.

I don't like this method as my topology got completely f*cked. I don't encounter issues from that but, if someone read that, please feel free to give me some advices.

PS : Please let me know if my english is not understandable.


How to make fisheye lens for camera I recently started using blender 2.82. I'm able to tweak and modify the settings of shading and modeling for material. I'm thinking of animating a scene using the vision of fisheye lens, can anyone help me with the camera settings for this case.

The Cycles render engine allows to use a fisheye lense. Select the active camera and open the Object Data Properties. Set the Type to Panoramic and select either Fisheye Equisolid or Fisheye Equidistant, depending on the type of fisheye lense you would like to use.


After updating to 2.81, my previous works (done in 2.80) doesn't show colors This image is what's supposed to look like in Edit Mode/Object Mode(although I still can make these screenshots even after the update by pressing F12 which is rendering) but the following is what my donut looks like now in Blender.

It shows no shadows and colors. The only thing I did is updating blender to 2.81 from 2.80. And I don't know what but something seems off with blender. Sometimes I can't click any objects so I just pressed tab and then now it's all clickable. Seems like I was in edit mode, but to me, it looked exactly like object mode.
I don't know what is wrong with it. How do I make my colors show up again?

You're now in Solid view where colors don't appear.
Switch to Material preview or Rendered preview, and your colors will all be there :)

Good luck with your donut :).


Is there a way to draw a pattern onto mesh and then extrude? to clarify, I'm attempting to model a Kylo Ren (Star Wars Ep 7) helmet in Blender. As you can see in this picture, there are metallic patterns on his cheek area.

I am fairly new to Blender, so I was wondering if there is a way to trace the pattern with something like the knife tool, or a grease pencil type drawing tool that actually cuts the mesh, and then extrude the pattern to desired thickness.

Or if there is a simpler way to extrude the pattern, I'd be thankful for info on that too.

Thanks in advance.
JB

You may use use a Bsurfaces addon and then the Knife Project Tool. Go to User Preferences (Ctrl+Alt+U-->Add-ons) and enable it.

Add an object you want to draw the extrusion pattern on, then add a Plane (or any other object you like), enter the Edit Mode and delete it (X). In the Properties Panel (N) add a new Grease Pencil layer, then go to the Tool Shelf (T)-->Grease Pencil and change a stroke placement to Surface. Now go to the Tool bookmark in a Tool Shelf. Draw some strokes on an object (hold D, then press LMB [ How to draw grease pencil on a surface (blender 2,75)? ]). When finished, click on Add Surface in Bsurface panel. Change the settings below as you like.

Now (being in Object Mode) select a mesh you created using a Grease Pencil, then your base mesh and enter the Edit Mode. Go to the Tool Shelf-->Tools-->Transform-->Add-->Knife Project. Now the only thing you should do is to retopologize your mesh a bit.


What is wrong with my cursor in the shading work space There is something wrong with my cursor in the shading workspace it is a white hole
and I can't select anything it only selects things when you hold the right-click button on your mouse and I don't want that I want a normal cursor and I know I messed up but I can't find error.

You accidentally switched to Circle Select.

To select a different mode, click and hold the tool icon.
Or press W to toggle between different select modes.


I have an undesirable black area on my glass shader/object (Using Principled BDSF)

I'm aware that glasses are naturally going to have a bit of black anyway, and I have no problem with the black sections around the base of the main section and the beginning of the handles, but the rim just can't be correct, can it? It started out from following the BlenderGuru tutorial, but his looks nothing like what I ended up with.

If you look at the .blend and image you'll see there is definitely a problem there (at least I hope so - I'd rather a fixable problem than a generally incorrect model/scene). Rotating around shows that, even when the rim has only 2 layers opposed to 4 for the light to pass through, the problem is always there on the rim. Thickness of the glass and how many layers it passes through is not what is affecting the rim. Those 2 things do affect the base/handles, but I'm happy with that.

I have tried adjusting geometry and applied the first layer of Subsurf as other posts said to - no change.

I tried adjusting the bounce levels on light paths, under both Path and Branched Path Tracing - caustics and transmissions etc etc - but nothing seemed to happen.

I added an HDRI in case lighting was an issue, but again, no change in the rim.

The only thing that seemed to do anything is applying a Solidify modifier at a very low thickness above Subsurf in the stack, but this surely isn't the correct solution and the IOR seems off to me after doing so. I have already applied thickness to the model anyway, so it's not like I have a paper-thin glass.

I've had a similar problem today with an object I created using the screw modifier.

It turned out that for some face loops the normals were pointing in the wrong (opposite) direction and especially the bottom of your object looks to me as if it needs some normal recalculation. I suggest enable the display of face orientation to verify.


How to stop blender from recalculating normals? I have a mesh (a rock wall) that I would like to split into pieces and export each piece for a game engine.  The mesh has a smooth, undulating surface and when all the sections are merged into a single mesh, it looks the way I want it to.  However, when I split the mesh into pieces, Blender recalculates the normals along the edges causing a very visible change in shading.

I would like Bender to leave the normals alone, or maybe give me some way to edit the normals manually.  Can I do this?

I created a Blender add-on for this exact purpose called TiNA which allows you to easily transfer normals between objects. TiNA basically turns the somewhat overwhelming Data Transfer Modifier into a set of more comprehensible operations.
There's a special branch for those using Blender 2.80 beta.

 Hotkey           | Operation
------------------|-------------------------------------------------------------------
 Alt+N            | Transfer Normals from selection to active object
 Shift+Alt+N      | Transfer Normals from active object to all other selected objects
 Ctrl+Shift+Alt+N | Clear Custom Normals data for entire selection
 Alt+W            | Wrap Normals

In your case you could transfer the normals from an unsplit duplicate by selecting all objects, and - with the unsplit duplicate as your active object - hitting Shift+Alt+N.


How do properly snap faces I have tried over and over to get snapping faces to work. Occasionally it works and I have no idea why. But it seems the main problem is that it always wants to snap to the MIDDLE of an object. Even if I try and move the 3D cursor to the bottom.

I have set the snapping to face, active, align to rotation and snap to individual elements. I am using the control key to snap.

As you can see in the screen recording, when I snap, the cylinder pops into the middle of the box, which is no good. Nothing I seem to do helps. I also wonder if there is a way to snap faces while in edit mode, which would be super helpful.

https://www.youtube.com/watch?v=SHTabuakfdE&feature=youtu.be

It should work if you put the Snap Target on "closest", grab("g") the object and move your cursor to the face you want to snap to.

This works the same way in Edit-Mode.


Snap 3D Cursor to Grease Pencil Surface (Blender 2.8) Is there a way to snap the 3D Cursor to a grease pencil drawing?

With User Preferences > Interface > Cursor Depth checked, the 3D cursor will snap to the surface beneath it.

This works with everything but grease pencil strokes.  I've tried vertex snapping as well, it seems the points of a grease pencil stroke aren't considered vertices.

I've drawn a tree trunk that curves in 3D space and would like to draw branches coming out of it.  I can manually place the 3D cursor but aligning it with the trunk is a pain as the cursor won't snap to the existing grease pencil strokes.

Selecting the "Stroke" option in the Stroke Placement dropdown will let your strokes stick to other strokes.

I needed to download the latest beta build for this option to be there, but it works like a charm :)


Merging two bones that are children of 'one' parent enter image description hereThere are two child bones - sleeve bone, hand bone.
And there is a parent bone - arm bone

And the sleeve bone and hand bone both are one down below from arm bone. which means they are direct child of arm bone.

I don't know how to merge these two bones into one, while automatically keeping the two bones' parent relationship to mesh into one bone that just has been made.

In internet search, they say press Alt+M or just merge, but it won't work as what it says, I'm guessing because these two bones I'm trying to merge together aren't a parent-child relationship. I should not delete any bone, since it will mess up the armarture's parenting mesh, and to re-parent mesh to changed armarture, it will take so many time.

If you want to delete, let say, bone1, and you want to keep, let say, bone2, with influence of bone1 being given to bone2, you can delete bone1, then go in the Properties panel > Object Data > Vertex Groups, select bone1 group, press Select, select bone2 group, press Assign, now the vertex group that was linked to bone1 is linked to bone2.


Problem with displacement mapping I wanted to model a pyramid with a tiled panel look using blender 2.8. I don't want to use the displacement modifier, only the displacement mapping from the renderer. So, I unwrapped my pyramid using top view projection and created a black and white displacement map using inkscape:

Then I've set up this material:

I activated true displacement from cycles options but my pyramid is now completely distorted:

I'm probably missing something but I don't know what. Any help would be greatly appreciated. Here's the file:

Thanks,

As metaphor_set said, you need better geometry, and more of it, for good displacements. That's your issue here - it's trying to displace the geometry as the map is telling it to, but there's only 5 vertices to displace.


Create slanted end at a pipe / cylinder by Rotation I have a cylinder here.

And I want to rotate its end vertices along Y to create something like a Bamboo with a slanted end like in this image:

But trying to rotate them, the cylinder's diameter gets shortened at the end and the face turns into an oval from a circle. I want the entire cylinder to be of same diameter until the very end face, which should be slanted and yet circular.

Can this be done by using rotation at all?

Use the Shear Transform.

Press Ctrl + Shift + Alt + S, then Y to set the axis.


Why doesn't the baked texture match with the render preview? I'm totally new to blender and I'm stuck looking for a solution to my problem. I want to bake the texture just like it is in the render preview. How can I do that?

Why is the one side darker in the bake than in the render preview? I am using Cycles and I want to use it in unity.

Here is the blend:

It's hard to answer this question because it will look harsh. But don't take it bad, it's only for giving you the chance to realize what 3D is so you can improve your knowledge and skill.

You can't start learning to drive and go directly to a formula 1 competition. It's the same in 3D.

You want to bake and use Unity but you haven't learn the basics (how to model something, how to unwrap...)

Your mesh is really bad, you have inverted faces, self intersected mesh, edge over faces, ngons,... try to learn what topology is about (quads, tris, ngons... why and when to use or not), even if it's just a hobby and you don't want to model like a pro you really need the basics.
The same for your unwrap, there are overlaping parts, in fact quite all is overlaping, so no chance at all to even have an acceptable bake.  And I don't speak about using it in Unity.

3D is hard at the begining but if you like it learn step by step, I swear, it'll really be easier than moving forward with a collection of crappy things at each level.

One more time, sorry if it looks harsh but I opened your Blend, and there is a lot to learn before going to the baking part.

If we really want something there is nothing we can't learn.

Edit:

Regarding the first point of my answer, the flaps (wings parts) have inverted normals, the small parts on the hood are self intersected, the wing is mostly a big really not suitable ngon.
The unwrapping part need to have different places in UV space (not overlapping), otherwise you'll end up with bake parts covering other piece of the mesh.
You have more marging parts than the bake itself, learn about resolution of baking image, if you have an image really too small like yours the marging take most of the picture and covers baked parts.

One more time, the question isn't about having a simple answer but about learning a bit more. Hope it can help peoples who start to learn 3D to not rush to "advanced" topics and make baby steps.


How to bake normal map for discontinuous mesh I'm building models for an independent game and would like to use normal maps. I started by building the low detail meshes first, which are about 4000 tris each, give or take a thousand. I built the low detail meshes in pieces to save on polycount, so when I bake a normal map onto the low poly mesh I get all kinds of errors where the high poly mesh is being projected onto the overlapping faces, no matter what bias I use.

How can I bake normal maps for these meshes? If I have to redo these to get there, what should I look out for in the future? Should I have started with a continuous mesh with all the detail and then deconstructed it to make a low detail mesh?

Here is a workflow you could use:

Build the high poly mesh first.
Add details as you like by adding separate meshes.
Build the low poly mesh over high poly mesh, using Shrinkwrap and Surface Snapping to help.
Separate your low poly meshes according to requirements (textures, extrusion etc).
Bake your maps.

This ensures correct normal and AO map bakes.


Animate mesh so it's parts appear from left to right How can I animate a mesh to appear from left to right. Example: You have a dog and you want the tail to appear first and eventually get to the head (the head doesen't show up until the end). Thanks! :D (In the image you see frames of what my animation would be with a basic dog made of cubes).

There are at least 2 ways to do it: With a Boolean modifier or with a Build modifier.

You could use a Boolean modifier (Difference mode). It looks like you'll avoid bugs if your boolean object (my cube) is a bit subdivided:

To make the cube transparent in Solid mode, choose Viewport Display > Wire, to make it invisible in Render, disable all its Ray Visibility options.

For a different kind of effect you could use the Build modifier, it will make your object gradually appear, face by face, as if you were building it:

Model your object, in Edit mode put the 3D cursor on its tail:

Select all, in the Mesh menu > Sort Elements > Cursor Distance. It will sort the vertices from the tail to the head.

Give your object a Build modifier, play with the parameters so that the object appears gradually. You can animate with some keyframes on these values.


Animate turrets Shooting I want to animate the guns shooting. I'm thinking of moving the gun forwards
and backwards to show shooting. But to do this is very time-consuming. Is there another way to do this?

The simplest solution would be to create an animation that can be looped.

The most "proper" way to do this is with the Action Editor and Dope Sheet, but I don't understand it well. Someone else might provide that info.

However, you can also use the Graph Editor. If you create an empty that you can animate and slave the turret to that (parent, track to, child of, copy location, vertex parent, lots of options there), you can animate one "vibration" of the turret and then just repeat that same action a number of times. To do that, select the channel that you want to repeat (you might have to do this with each channel), press n, click Add Modifier and choose Cycles. To make it vibrate on demand, instead of constantly, animate the Influence value. Turn Influence to 0.0 when you want it to stop, and then bring it back up to 1.0 when you want a burst of fire.

Note: You don't necessarily have to use an empty, you could just animate the turret, but using an empty lets you isolate the curves for that one animation from other animations you might want to do. I.e. you only add modifiers to the empty's curves, without affecting other animations that you do to the acutal turrets.

Hope that helps!


How to render Lattice all shape keys to images using python? I have created many shape key in lattice which i pin one shape key at a time and render it and save it as a image. How do i iterate through shape keys of lattice and render them to PNG file.

Select  lattice object and run script. Iterates thru each shapekey
and renders to "Key:" plus shapekey name dot png to the directory of your render filepath.  Make sure this is set, on linux this is commonly /tmp.

import bpy
from os import path

context = bpy.context
scene = context.scene
lattice = context.object
fp = path.dirname(path.abspath(scene.render.filepath))
key_blocks = lattice.data.shape_keys.key_blocks
lattice.show_only_shape_key = True
for i, kb in enumerate(key_blocks):
    lattice.active_shape_key_index = i
    scene.render.filepath = path.join(fp, "Key:%s.png" % kb.name)
    bpy.ops.render.opengl(write_still=True)
scene.render.filepath = fp

Used render.opengl for testing purposes.  Change to render.render if desired.


Rigid body simulation of helical gears/oblique pressure vectors I have two meshes of helical gears.
I tried to simulate their motion using rigid body physics. Both gears have hinges connected to a static mesh, and one of them has a motor.
When I press play, the gears just seem to jam and glitch into each other:

There is a wide margin between the gear teeth:

Very similar gears with the same mechanics but straighter teeth work just fine as a rigid body simulation:

The helical gears are able to move just fine when they are separated, so I assume I have set up the rigid body constraints sensibly:

(The rear one has a hinge and a motor. The foreground one has only a hinge, but is able to interact correctly and spin when receiving an impulse from a colliding cube.)
The collision type on all gear is set to 'MESH'. The collision margin is 0.0, but increasing it (within the available space) does not seem to help. The teeth look quite thin, but thicker teeth (with the same clearance as in the working example) didn't work either, and in any case these thin teeth are able to interact with the falling cube above.
Increasing the simulation's substeps and iterations and decreasing its speed doesn't seem to help. In fact, by drastically increasing the substeps and iterations to 60 and decreasing the speed by 1000X to 0.001, I can see that the gears invariably end up with their teeth aligned and clipped into each other after just one or two frames:

The meshs are all fully manifold, and the normals are all facing outward.
Why is this not working?

I don't have the technical knowledge to explain why, but the Bullet physics library seems to like denser meshes.

Subdividing the tooth surfaces 4 times (equivalent to 15 cuts) made these gears work.


Edges don't "stick" to Object in Edit Mode Whenever I enter edit mode, these lines supposedly are the edges to edit. But they look to be very squared and detached instead of sticking on the object. Why is this happening?

This is because you are using a surface object, and this is the way surface objects behave. If you want the edges to "stick to the torus" as you say, you will need to convert to mesh (press alt-c and select the second option). You could also simply initially add a mesh torus and use that.


A problem opening old (non-filmic) VSE only .blend files when Filmic is installed? I'm finding the Blender crashes when opening an old VSE only .blend file (default cube, light and camera in 3D view) that was saved when I didn't have Filmic installed.  This isn't a problem with geometry files, only ones with strips and modifiers in the VSE.  This now means that all my old VSE project files cannot be opened.

An excerpt from the console when in debug mode:

Version 268 sub 0 date unknown hash
.
.
.
Color management: display "sRGB" used by scene not found, setting to default ("sRGB / BT.709").
Color management: scene view "Default" not found, setting default "sRGB EOTF".
Color management: sequencer colorspace "sRGB" not found, will use default instead.
.
.
.
wm_window_make_drawable: set drawable 1
Error: EXCEPTION_ACCESS_VIOLATION

A quick test seems to show that the reverse might also be true, that new VSE only files cannot be opened in a copy of Blender without Filmic installed.

I have updated the start file to use Filmic valid defaults on load and the three warning messages disappear but the Access Violation still happens.

I see you are using v2.68, try updating to the newest release.

https://github.com/sobotka/filmic-blender/issues/24


Deleting islands (lose parts) of mesh with Python My Goal is it to remove Islands from an 3D scanned object (3D printer purpose) with python. I was thinking something like:

Getting all vertices
Iterate through all vertices

Save linked vertices and number of linked vertices
Remove all already scanned vertices from iteration
Compare with old maxLinked, if lower delete vertices

If someone could point me to a solution it would be great.

Use the Separate into Loose Parts Operator.

Possibly the quickest and simplest way to do this is to run the bpy.ops.mesh.separate(type='LOOSE') operator to split the single mesh into loose parts.  Then remove all but the object with the most vertices.

import bpy

context = bpy.context
# edit mode
bpy.ops.object.mode_set(mode='EDIT')
# split into loose parts
bpy.ops.mesh.separate(type='LOOSE')
# object mode
bpy.ops.object.mode_set(mode='OBJECT')

parts = context.selected_objects
# sort by number of verts (last has most)
parts.sort(key=lambda o: len(o.data.vertices))
# print
for part in parts:
    print(part.name, len(part.data.vertices))
# pop off the last
parts.pop()
# remove the rest
for o in parts:
    bpy.data.objects.remove(o)

There are a number of methods for doing this without the operator in answers to  How to find the number of loose parts with Python? including my answer which returns a list of verts for each island in selection which would be ideal for making an interactive tool to do this per selection, to clean "splatter-cake" verts.


How to make textured planes double sided? I'm making some grass for my game and I can't figure out how to make the planes double sided(they look fine in blender) but in Unity they are only visible on one side :/

I found a quick solution to fix this problem(I can't believe how quickly I figure it out) what you need to do is to go into the plane/model and select the shader, then go into "Particles/additive" and select "Alpha Blended" this will make your textured plane visible from both sides :)


Animation flipping (the wrong way) when rotating I'm working on a Roll animation for my character and it isn't behaving porperly. On frame 12 the "W" component of the "hip" bone becomes negative (using quaternions). Then between the frame 20 and 32 it tries to interpolate towards a positive number, but it flips around the wrong direction. How do I fix this? If that is not possible then what is the best way to handle this kind of animation?

P.S. I'm using version 2.77.

Your issue comes from the quaternion rotation of the hip bones flipping in the W value, as you guessed. The fix here is to negate the W value on frame 40 so that the hip doesn't have to do a full rotation. Setting the Rotation keyframe to [-1, 0, 0, 0] on frame 40 fixes the problem because the W value on frame 20 is -0.961.


Render and Preview are different I'm trying to create a simple scene like the scene depicted in the answer here:

I reproduced the Compositor and Volume scatter settings, and this is what I get when I render:

But in the Rendered viewport, the scene looks somewhat closer to what I'm trying to do:

I've tried branched path tracing and path tracing, I tried rendering without Compositing enabled, tweaked various settings, and read many questions on Blender SE about light rays but can't seem to understand why it won't work...

Blend:

There is object named Plane.002 which is visible in rendering but not viewport. That's the culprit.

Hide it from render and you will get the same result in viewport and render.


Magic Room Illusion - making objects appear when viewed through another object How can this be done in blender?
https://www.instagram.com/p/B_frXZglF0k/?utm_source=ig_web_copy_link

This animation was done in C4D. The feature that I'm looking for is the ability to make an object (e.g. sphere) visible by placing another object (e.g. plane) in between the camera and the sphere. So, the sphere would be invisible to the camera, but becomes visible when seen through the plane.
This is how it was done in C4D:
https://www.youtube.com/watch?v=LZRjj89meMs

Add a plane (as "window") - give it this material:

Add a box with suzanne in it with this material:

world material:

switch to cycles

result

https://youtu.be/vMg0V0UcHPs
Video tutorial: https://youtu.be/Qgu4z5T-GV4


What should i do with cloth if i want to rig my character I have the eyes parented to the character and the cloth are separate objects, i want to start ringing an i'm not sure what should i do with the cloth, if i should join it parent it or what, the same question goes to the hair

I read that the body and the cloth should have a similar topology and i think they are pretty close. I know to that i can delete all the mesh under the cloth but i want to try to rig them together so i can learn more about this topic and how to avoid clipping when deforming them.
For the cloth i use solidify, and i will add details later on with normal maps

Here are 3 ways to rig your cloth, the 2 first ones are quite similar. I'm not sure you will avoid any clipping though, you'll probably have to make some corrections:
With Weight Transfer: (2.79 and previous versions)

Parent your body to your armature.
Make sure that your cloth has no vertex groups or is not parented to your armature.
Select your body, then your cloth, switch to Weight Paint mode.
In the left menu (T) > Tools, click on the Transfer Weights button. On the bottom of the T menu you'll see some parameters. For Sources Layers Selection choose By Name, and for Destination Layers Matching choose All Layers.
Come back in Object mode, select the cloth, then the armature, and ctrl P > With Empty Groups. The cloth should move with the bone and be parented the same way as the body.

With Data Transfer modifier:

Parent your body to your armature.
Make sure that your cloth has no vertex groups or is not parented to your armature.
Give your cloth a Data Transfer modifier. For Source Object, choose your body. Click on the Vertex Data option, then on the Vertex Group(s) button. Then on the bottom of the modifier click on Generate Data Layer and apply the modifier.
Come back in Object mode, select the cloth, then the armature, and ctrl P > With Empty Groups. The cloth should move with the bone and be parented the same way as the body.

With the Mesh Deform modifier:
As explained in this video by Daniel Kreuter:

Parent your body with its clothes to your armature (if the clothes are another object, choose CtrlP > Armature Deform).

Delete all vertex groups from the clothes (select the vertices and on the right of the vertex groups list, down arrow menu and Remove From All Groups). Assign these vertices to a new vertex group.

Create a mesh that is fully closed and that will encompass your whole clothes, i.e. that will be your « cage ».

Select your cage, then shift select the armature and CtrlP > With Automatic Weight. Give the necessary corrections in Weight Paint mode.

Give your body a Mesh Deform modifier (put this modifier above any Subsurf modifier) and in the modifier choose the clothes vertex group. Choose the cage as the Object and click on Bind.


How do I fix bad automatic weights? Every time I use automatic weights, they're applied very sloppily, effecting too much of the body and or wrong parts of the body. Is there any way to fix this problem without spending an hour manually weight painting the whole thing?

My understanding of armatures (I'm far from an expert) is when you set the Viewport Display mode (in the Armature tab of the properties) to Envelope this shows each bone as a visual representation of its influence when used for Automatic Weights. In the Properties panel (N) you can set the Head Radius, Tail Radius, Envelope to control the extent of the influence of the bone and this updates the visual representation.
When you then apply the armature with Automatic Weights, it is those bone influences which are used to assign the weights to the surrounding vertices.
So, for example, you can adjust a leg bone to cover just the surrounding leg mesh and the weights are then automatically assigned as appropriate, automatically including that leg and excluding everything outside that bone's influence.


How to export Blender file so it can be opened with the textures on another machine? Basically, my client wants to open the Blender file I'm working on but every time I send him the blender file he manually has to connect the textures with the objects.

Is there any way he can just simply open the .blender file with everything ready to go?

You can pack all textures into blend file from menu: File > External Data > Pack All Into .blend
Then save file and it should work.


How to get index or location of point selected in edit mode using python API? If I have selected a vertex in edit mode, how can I get its index in the on the list of vertices or its vertex location using python?
For example, this is my selection.

WHat I am looking for is to print to console the index of that vertex (107) or its location ([0.19,1.23, -0.5]).

Using this question and its numerous answers as a base for an efficient code, you can use this script :

import bpy
import numpy as np

mode = bpy.context.active_object.mode
# Keep track of previous mode
bpy.ops.object.mode_set(mode='OBJECT')
# Go into object mode to update the selected vertices

obj = bpy.context.object
# Get the currently select object
sel = np.zeros(len(obj.data.vertices), dtype=np.bool)
# Create a numpy array with empty values for each vertex

obj.data.vertices.foreach_get('select', sel)
# Populate the array with True/False if the vertex is selected

for ind in np.where(sel==True)[0]:
    # Loop over each currently selected vertex
    v = obj.data.vertices[ind]
    print('Vertex {} at position {} is selected'.format(v.index, v.co))
    # If you just want the first one you can break directly here
    # break

bpy.ops.object.mode_set(mode=mode)
# Go back to the previous mode


Change Darkness/color of shadow? So I'm working on a project, and the shadows of a CGI cube are a different hue than the other (real) shadows in the footage, as you can tell here:

Though it can probably pass as "good enough" it will bug me every time I see it.
I would like this shade to match the other shadows.

Settings:

It's not so much about the lighting, but about the surface of the plane that receives the shadow. If you add a tan/yellow material to the plane, it will show a tan/yellow shadow in the final result. As a general rule, do make your shadow-receiving plane the same color as the ground.


Control metal reflection color with PR Shader and an Albedo input texture I have a metal node setup with textures from texture.com which produces a reasonable metal material with Principled Shader (2.79)- but the 'Silver' reflection is what I don't understand.
How do you control the metal reflection color - let's say I wanted a Gold ball or a Blue ball - if the base color input is already used?

The base color is already input from the Albedo image, but it's application to the surface is controlled by the 'metallness' image (I think) which says which parts are metallic and which parts dielectric. If the Albedo input is only applied to the parts of the surface that are dielectric/diffuse..what's controlling the metal reflection color and how do I control that?

The metalness workflow uses an Albedo map to define both the diffuse and reflectivity content.

for insulators the diffuse is taken from albedo, reflectivity color is white and the amount reflected is small (about 4%).
for metals the diffuse is black, reflectivity color is taken from albedo and amount reflected is 100%.

The metalness map is then used to define how much the material is an insulator or a metal and so how the albedo color is used.

It is setup like this to save texture space, which is important to game engines and to render engines alike. In the specular workflow the diffuse and reflectivity colors are set explicitly with two unique texture maps. You can make PBR materials with both approaches, more on this is nicely written on Marmoset's site.


system requirements for Blender I installed blender in Ubuntu 16 , and I don't have any graphics cards in my CPU (JUST VIDEO CARD) , can I use blender for making 2d animation ? Thank you!!

Uhhhh... You can use Blender on basically any computer, it's just a question of how well it will work. (Buy the way, graphics cards and video cards are the same thing)

But yes, you probably will be able to run blender and make some animations.


Why won't my softbody fall? I'm trying to follow this tutorial on how to make dynamic tinsel, and I can't seem to get the thing the fall. I've applied softbody physics to the mesh, and added the goal as the ends of the tinsel, but it still refuses to fall. I've tried:

Flipping normals (Cntrl Shift N)
Checking if anything has been baked
Disabling the goal entirely (Absolutely nothing changes)

However, on opening a completely new Blender file, soft-body physics miraculously works, then stops working after a while
What would you recommend I try next? I followed the video step by step several times, and it never works
(I'm very new to Blender, so I've probably missed something stupid)
Thanks for any help

Good day Oliver,
Try adding Gravity (9.8 m/s2) under the FIELD WEIGHTS Tab of the Soft-Body section (located probably at the end)
Also Uncheck the GOAL option to release your object from hanging around and fall down with the specified Gravity and Mass.


How to get a single uv island I have created a circle pipe and converted to mesh and get all the square uv. I want this all uv to me merge or to be overlap on each other to have a single uv island. I want to have a single texture on all island. With the snapping on and grab i can but they are 100 island. Any addon or suggestion to get a single island.

Preferably I would do this by setting custom seams and unwrap it from a certain viewport (orthograpgic camera top - left etc 5 on numpad and then the voewport of your choice).
If you have a seameless tiled texture instead, you may just want to avoid uv mapping completely or use it afterwards to bake your textures on your model, which means that you will be in need of a very nice and well unfolded pelt.
So, if you tend to follow the second method (since you have one seamless texture) use the mapping node in your material node editor and in case you insist for a quick unwrap, use unwrap from viewport w


How can I delete an Empty with it's dependent objects? Hi I'm hoping someone can help me.

I'm running Blender 2.82 on Windows 10 with a 3.10 GHz 4 core processor and 16 gig of RAM.

When I delete an Empty (with multiple objects within it) the dependent objects (I think children is the proper term?) remain in the scene, but are transformed to astronomical sizes - 1000's of meters instead of mm.

I seem to have to delete each object individually, which takes forever.
Is there a way of deleting the empty along with it's dependent objects at the same time?

Having read the posts on this site, I've made sure that I'm in Object Mode before I try deleting anything.

Select your parent object then go to Select > Select grouped (shortcut  Shift  +  G ) and choose "Children". That will select every children and their children and so on. Then you can delete them like any other object.


Plugin to autosave render every minute Sometimes a render can take several hours. Is there a plugin that will take what I've rendered so far and save it to disk every minute or so? If not, how would I go about making one?

I am not sure if this can be done from within blender while it's rendering. It would require rendering the screenshot while rendering the scene. Something like this could easily be done with a shell script outside of blender.

OSX example:

while true;
    do screencapture ~/Desktop/img$(date +"%Y-%m-%d-%H-%M-%S").jpg
    sleep 10
done

This would take a screenshot every 10 seconds, so needs some adjustments.
And then just cancel with 'Ctrl-C'.

If you only want the script to run for a specific period you could do something like:

end=$((SECONDS+360))

while [ $SECONDS -lt $end ];
    do screencapture ~/Desktop/img$(date +"%Y-%m-%d-%H-%M-%S").jpg
    sleep 10
done

This will automatically stop taking screenshots in 6 minutes.

I think Windows looks like this:

:loop
 For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
 For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
 import -window root screen%mydate%-%mytime%.jpg
 timeout /t 10
 goto loop


3D slicing using Dynamic Paint leaves holes where there shouldnt be any I am using dynamic paint to take slices as an image sequence through a prexisting mesh (also created in blender). For this I create a plane and set that as a canvas which passes through my mesh object outputting a cross section every frame. I have played around with the parameters (dissolve time = 1 etc) and the output is clearly doing something right but leaves me with holes within my mesh. Hopefully the images below will explain this better.
These images are for the first slice (easiest to get images for). Ive circled an example of the issue.
UPDATE: Blend file now included.

Here is the code which assigns dynamic paint parameters Xmax, Ymax and Zmax, specify the location of the canvas.
context = bpy.context
active = context.active_object

print('Setting Up Ballast Brushes')

bpy.ops.object.modifier_add(type='DYNAMIC_PAINT')
bpy.context.object.modifiers["Dynamic Paint"].ui_type = 'BRUSH'
bpy.ops.dpaint.type_toggle(type='BRUSH')

print('Setting Up Plane')

bpy.ops.mesh.primitive_plane_add(enter_editmode=False, align='WORLD', location=(0, 0, 0))
bpy.data.objects["Plane"].scale[0]=Xmax/2
bpy.data.objects["Plane"].scale[1]=Zmax/2
bpy.data.objects["Plane"].scale[2]=1
bpy.data.objects["Plane"].location[0]=Xmax/2
bpy.data.objects["Plane"].location[1]=0
bpy.data.objects["Plane"].location[2]=(Zmax/2)
bpy.data.objects["Plane"].rotation_euler[0] = 1.5708

print('Setting Canvas Parameters')

bpy.ops.object.modifier_add(type='DYNAMIC_PAINT')
bpy.data.objects['Plane'].modifiers["Dynamic Paint"].ui_type='CANVAS'
bpy.ops.dpaint.type_toggle(type='CANVAS')
bpy.context.object.modifiers["Dynamic Paint"].canvas_settings.canvas_surfaces["Surface"].surface_format = 'IMAGE'
bpy.context.object.modifiers["Dynamic Paint"].canvas_settings.canvas_surfaces["Surface"].image_resolution = 1000
bpy.context.object.modifiers["Dynamic Paint"].canvas_settings.canvas_surfaces["Surface"].use_antialiasing = False
bpy.context.object.modifiers["Dynamic Paint"].canvas_settings.canvas_surfaces["Surface"].frame_end = endframe2
bpy.context.object.modifiers["Dynamic Paint"].canvas_settings.canvas_surfaces["Surface"].use_dissolve = True
bpy.context.object.modifiers["Dynamic Paint"].canvas_settings.canvas_surfaces["Surface"].dissolve_speed = 1
#bpy.context.object.modifiers["Dynamic Paint"].canvas_settings.canvas_surfaces["Surface"].use_dissolve_log = False
#bpy.context.object.modifiers["Dynamic Paint"].canvas_settings.canvas_surfaces["Surface"].dry_speed = 1
bpy.context.object.modifiers["Dynamic Paint"].canvas_settings.canvas_surfaces["Surface"].image_output_path = str(path)
bpy.ops.object.editmode_toggle()
bpy.ops.uv.smart_project() #the actual unwrapping operation
bpy.ops.object.editmode_toggle() #exiting edit mode
bpy.context.object.modifiers["Dynamic Paint"].canvas_settings.canvas_surfaces["Surface"].uv_layer = "UVMap"

You could simplified file to make it smaller ... just a Plane and one problematic stone, like that you could notice it works. So why it is not working in group? I would say for its overlapping geometry.
I can imagine that hole in place of crossing stones , but it happens just it is crossed somewhere. If you move stone behind it is fine.
You can try Remesh Modifier > Voxel > 0.001 m, before DP, but it would be very intensive calculation, but it worked ...

Or Separate stones by Loose parts set them Rigid Body (create a collision box) and let simulate for a few frames just to solve overlapping. Than merge them back into one object for DP.


How to scale multiple textures? Once i uploaded the texture that I also edited in my UV map, i noticed how 'zoomed in' the texture was looking on my 3D model. I wanted it to have smaller pixels and not so big & up close, so i was told to scale the texture in node.

When i scaled to 5 for example, i ended up with this proble.
The whole Uv map scales down and spreads out on my couch. Thats not right.

So then i tried to only add the texture directly in blender without editing it on my UV map in photoshop first. But then the texture applies on everything, so also the legs of the couch. Like this everything has the same texture, but the legs should be a different texture.

Maybe its really simple, but i dont know what other way i should try so that i have proper textures and does not look zoomed in.

Thanks!

You might be better off here using a single image that is tileable and the unwrapping the faces from views, and scaling the UV selections in the uv image editor. You can regulate the mapping by selecting a row of faces and choosing 'follow active quads' in the unwrap options. edit: I forgot to mention that you could do this on a second uv map, and then bake to the first one once you get the scale in your preferred size - this would then allow you to paint into the result with some variations like dirt or discoloration and not be stuck on the single tiled texture.


Cycles image sequence node offset and the object info random I have 3500 cubes and I want to randomly place about 119 different images on the sides of the cubes. I loaded the images into an image sequence node and changing the offset changes the picture. How can I connect the object info random node to the offset so that each cube gets a random texture?

I have tried using a driver to pass the value from a math node field, but it does not update with the object info random data...

Thanks

here is a quick and dirty script, its really inefficient though, creates a distinct material for each cube. I Suggest maybe investigating the animation nodes plugin? you can do fancier programming logic with that.

import bpy
import random
import glob

scene = bpy.context.scene

image_names = glob.glob("/Users/myuser/Blender/images/*")

for name in image_names:
    bpy.ops.image.open(filepath=name)

cube_count = 1000

for c in range(cube_count):
    bpy.ops.mesh.primitive_cube_add(view_align=False,
     enter_editmode=False,
      location=(3*random.random(), 3*random.random(), 3*random.random()))

for ind,ob in enumerate(scene.objects):
    if ob.type == 'MESH' and ob.name.startswith("Cube"):
        ob.select = True

        #make a new material
        rand = "--"+ str(random.randint(0,100))
        mat = bpy.data.materials.new(name="Mat"+str(ind)) #set new material to variable
        #add the material to the object
        ob.data.materials.append(mat)
        ob.active_material_index = len(ob.material_slots) - 1

        #make a new node texture node
        mat.use_nodes = True
        node_tree = mat.node_tree
        node = node_tree.nodes.new("ShaderNodeTexImage")
        tex_coord_node = node_tree.nodes.new("ShaderNodeTexCoord")
        mapping_node = node_tree.nodes.new("ShaderNodeMapping")
        diff_node = node_tree.nodes['Diffuse BSDF']

        node_tree.links.new(tex_coord_node.outputs['Generated'],       mapping_node.inputs['Vector'])
        node_tree.links.new(mapping_node.outputs['Vector'], node.inputs['Vector'])
        node_tree.links.new(node.outputs['Color'], diff_node.inputs['Color'])

        node.projection = 'BOX'
        node.select = True
        node_tree.nodes.active = node

        rand_image_index = random.randint(0, len(bpy.data.images))
        node.image = bpy.data.images[rand_image_index]

    else:
        ob.select = False
`


How would I integrate a texture with a particle 'carpet'? I have a 'rug' mesh with particles that constitute the fibers of the rug. I want to have my rug take on the visual properties of whatever texture I choose. What is a route (or routes) I would take in order to do this?

It's quite simple to do using object coordinates.
Make a material for your particles and the rug that uses "object" for the texture coordinate, and set the object at the bottom of the node to your rug mesh (or an empty if you prefer). Then just adjust the scale until it looks the way you need.
Attached is an image that uses the same principle to map an image to an array of cubes.

In this example, the array of cubes is all one object (named cube), but this method works with any number of separate objects as well. Since setting an object in the Texture coordinates node sets that object as the source to do the mapping from. Just make sure the origin of the object is where you need it to be. You'll also have to play around with the texture scale to get it exactly how you need. But if you have the rug mesh and the particles using the same material and coordinates, they won't get out of sync.
Lastly, if you have a separate object be the source, moving the objects with the material won't move the texture, so the object will move, but the texture won't. Kind of like "unmoving plaid" if you've seen that effect before. But as long as the source moves with the textured object, you won't have that problem.


Export to DAE with textures? I'm having trouble in converting OBJ to DAE while retaining textures or at least the colours of the model. Note, this is a voxel model so I only need colours, not detailed textures.

Anyway, I model within MagicaVoxel, then export to .obj, from there I import to Blender. In the scene editor, the model is white. That's ok, if I do a render I see the colours fine. But I need the format in .dae.

Within Blender, I export to .dae but I lose the colours that were packaged with the .obj file.
How do I keep the textures with the .dae file?

I have also tried MeshLab with no results.

When you are exporting to DAE make sure that you export the Material textures, because the texture coordinates are exported correctly but the material doesn't get bound to the texture correctly (and there's no color in the obj, MagicaVoxel uses a palette texture and so it encodes the color in the x component of the UV coordinates).


How do I keep the two objects from penetrating each other in Blender? I created the object by first creating the edges to the curved face with the script below followed by adding a face and then extruding it. I made sure to change the Source property under Collision to Base but still the objects penetrate each other. How do I prevent this? Any help would be much appreciated. It has been too long that I have been struggling with this :(

import bpy
import math
from math import sin, cos, radians, sqrt

# variables
n_verts = 24
profile_radius = 1
section_angle = 240.0 / (n_verts-1)
z_float = 0.0
Verts = []
Edges = []
Faces = []

# code for bottom face
for i in range(n_verts):
    x_float = cos(-math.pi/6+math.radians(section_angle*i))
    y_float = 1 + sin(-math.pi/6+math.radians(section_angle*i))
    Verts.append((x_float, y_float, z_float))

for i in range(1, n_verts):
    x_float = -math.sqrt(3)/2 + cos(math.pi/2+math.radians(section_angle*i))
    y_float = -1/2 + sin(math.pi/2+math.radians(section_angle*i))
    Verts.append((x_float, y_float, z_float))

for i in range(1, n_verts-1):
    x_float = math.sqrt(3)/2 + cos(-5*math.pi/6+math.radians(section_angle*i))
    y_float = -1/2 + sin(-5*math.pi/6+math.radians(section_angle*i))
    Verts.append((x_float, y_float, z_float))

# connect all the edges
for i in range(3*n_verts-3):
    if i == 3*n_verts-4:
        Edges.append([i, 0])
        break
    Edges.append([i, i+1])

profile_mesh = bpy.data.meshes.new("Base_Profile_Data")
profile_mesh.from_pydata(Verts, Edges, Faces)
profile_mesh.update()

profile_object = bpy.data.objects.new("Base_Profile", profile_mesh)
profile_object.data = profile_mesh

scene = bpy.context.scene
scene.collection.objects.link(profile_object)
profile_object.select_set(True)

The problem is that the surface Normals are facing inwards and this is breaking the collision.
To resolve this, select each object and go into Edit mode (Tab), select all (A) and select Mesh/Normals/Recalculate Outside. This should re-calculate the normals so that they are consistent with a solid object. Once you have done this for both objects, re-run the simulation and the collision should now be working correctly.
Bad normals

Good normals


Why this simple polygon-to-star does not work in a particular document I am trying to repeat this: https://www.youtube.com/watch?v=-1RPYlTl_uI&t=45s
In a certain document, the "s for scale" does nothing in case of a polygon:

In case of a cylinder, it shortens the edges instead of moving them to the center. Can it be, there is some switch on in this document, which prevents the scaling?

Because you have the "individual origins" set as transform pivot point.
Change it to "median point"


Vary the size of a particle instanced object You can use the particle instance modifier to stretch a mesh object onto a particle hair strand, as discussed here: Hook/parent/constrain to particle hair?

However, every strand within the same system gets the same mesh. I am looking for a way to vary the size of the strands without making multiple particle systems. Is there some way to non-destructively modify or distort the object so that every strand isn't so uniform?

UPDATE: Starting bounty. As mentioned in old comment, i'm looking to vary the thickness. The length can be varied within the modifier settings.

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


How to make blue hot metal I made this fire/hot metal node setup and can't figure out how to change it's natural colours to blue.  I tried colourizing the image texture (lava was used) but it didn't work.  Also tried using RGB to black and white with the image textures and playing around with hue/saturation, but nothing will change this natural hot metal colour.  I would post the node setup, but it was way to big to show in one picture.  However, I have posted the .blend.

Thanks

In base colour frame change Blackbody node to RGB Input or just disconnect Blackbody and set the colour in MixRGB socket, or set Blackbody to high value.


See simple effect of lighting on complicated material? So I was trying to follow Andrew Price's tutorial on how to make the earth, per here.

So far, I have this:
and while perhaps someone was trying to do that, this is not my goal.  I was trying to go for a distinct break between night and day - or at least, a more exaggerated one.

like this.  The problem is, I have no way of seeing the effects of my work except in rendered mode, and as you can see, that would take a lot of processing power.  All I can do now is put an even bigger sphere over the earth and render it in textured mode that way, but it still takes quite a bit of power in order to check it.  Is there a better way?

Where the output of the normal node is connected to the mix factor you can add a ColorRamp node. By bringing the white and black points close together you will reduce the amount of blending between the two. The location of the points will determine where the change happens.

You can also try different interpolations with B-Spline being a slow transition and constant being a very sudden change.

You can try using the material option for viewport shading to get a fast preview, or you could use simple diffuse nodes like shown here until you get the position right and then connect the rest of your nodes into the mix shader once you have it.


Bones aren't grouped perfectly when I rotate them two times on the X axis I'm rigging the foot of the bird Piero training course of the CG Cookie and I get stuck on episode 26 : piero rigging leg. The author has selected all the bones of the foot and he rotates them on the X axis two times and the fingers are grouped perfectly,but it does not happen to me. Why ? Added two screenshots.

I found the solution to this problem by myself. I have to rotate the z axis on the top.


Eevee emission reflections disappear when out of view I can't seem to get my emission shaders' reflections to cast on my model unless the emission shader's surface is actually in view.

Here I obscure the view of the surface I have the emission shader on from the first image and it no longer casts light on the rest of the model above it.

I assumed I need an irradiance volume to get the reflections to work but after baking I still don't get any light out of it.

I'm sure I'm missing something here but after extensive searching I just can't figure it out. Would appreciate some help.

Edit: As far as I can tell, an irradiance volume should solve this issue, but it simply doesn't. Maybe Eevee isn't able to cast emissions if the emission itself is out of view but I can't find confirmation on that anywhere.

Edit 2: After more testing I still can't figure this out and I haven't received any useful replies. I'm fairly confident now that there's no way around this issue until the developers provide a solution.

You seem to be mistaking your bloom effect with indirect lighting.

Left: Indirect lighting, Right: Bloom

Bloom will not be visible once an object disappears from view (e.g. when the camera angle changes). The indirect lighting is very faint in your example since the emissive area is very small and the illumated surfaces are at a 90° angle.

However, even increasing the brightness of the emissive material won't help much if the samples of the light probe are too few. You will quickly get unnatural artefacts.

A solution could be to use a very dense light probe and a very bright emissive light. You will have to reduce/adjust the bloom effect which will be even brighter then.

Many samples.

But as you can see, there are some artefacts. Light probes are not very useful for very small emissive lightemitting meshes. A real solution would be, to reproduce the emission with normal lamps.


Why depth map renderings stored in 16-bit PNG turn out to be 8-bit? I save my rendering results as 16-bit png files using Python as follow:

scene = bpy.context.scene
scene.render.image_settings.color_depth = '16'
scene.display_settings.display_device = 'sRGB'
scene.view_settings.view_transform = 'Raw'
scene.sequencer_colorspace_settings.name = 'Raw'
scene.use_nodes = True
for node in scene.node_tree.nodes:
    scene.node_tree.nodes.remove(node)
renderNode = scene.node_tree.nodes.new('CompositorNodeRLayers')

depthOutputNode = scene.node_tree.nodes.new('CompositorNodeOutputFile')
depthOutputNode.format.file_format = 'PNG'
depthOutputNode.format.color_depth = '16'
depthOutputNode.format.color_mode = 'RGB'
depthOutputNode.base_path = 'somePath/'
depthOutputNode.file_slots[0].path = 'fileNameDepth#'

scene.node_tree.links.new(renderNode.outputs[2], depthOutputNode.inputs[0])

bpy.ops.render.render(write_still=True)

However, it seems that Blender stores/exports the rendering in a different format than I expected. I loaded the images in Python after rendering and I found out that the maximum value for all pixels is not more than 255 (8-bits). Does anyone know why this is the case? I wonder, would storing the depth maps in OpenEXR format resolve the issue?

It doesn't matter what the bit depth is if the format is output referred. 32, 16, and 8 bit integer, and even in float instances, may result in output referred ranges, typically 0.0 to 1.0. In these instances, the bit depth doesn't increase the range, merely the number of steps between them.

The only real option would be a float format that supports deeper data ranges such as EXR or TIFF. Blender's TIFF support did not appear to support float instances when last examined, and even if it did it may be bound to output referred ranges.


Rendered model is skewed and out of shape I've just started creating the model of a Carom board and it looks fine in the perspective, orthographic views. But, when I render the same it gets skewed up and looks very odd. Am I missing something here?

When "Rendered" is selected, it looks different.

Blend file:

You have the render's Aspect Ratio set to 3:2

resetting them to the default 1:1 will fix your issue


Have console redo a function until desired outcome? I've found a way to define my scenes correctly as some scenes are inactive at the very start of the game engine and cannot be found. However, since the code can't find the scene at the very start, it prints an error only once. On the next run of the script, no errors are printed as the scene is found. Is there a way I can have a script re-execute a block of code until the desired outcome comes? In other words, keep redoing the function (find scene), and keep re-executing itself without continuing with the rest of the script and only continue once the scene is found? And is there a way I can have the console not print the error using this idea?

I'm not sure what exactly you are expecting.

The BGE loads and starts with exactly one scene (the current scene in Blender). It simply has no other scenes.

To add other scenes (Background or overlay) you either use the Scene Actuator or the BGE API. (I guess you know that already).

This operation will be performed after the current frame. In your case between frame 1 and frame 2.

Therefore you will never be able to find any other scene at frame 1. They are simply not loaded yet.

They are loaded within the next frame. In your situation in frame 2.

There are several options to deal with that situation:

Self-managed scenes

Each scene performs operations on currently existing scenes after being loaded.

The current scene is always the new one. Make sure not to look for other scenes, that do not exist yet.

Check for a scene after is was loaded

You know when you added the scene, check within the next frame.

The current scene is the scene that added the other. The new scene is a different one.

Notify objects

Send a message notifying that the scenes changed.

This way any object that is interested (regardless in what scene it resides) will be notified and can act accordingly.

The scene the listener is living in can be, but does not need to be the new scene.

There can be any number of listeners.

I hope it helps

Edit:
now I see it is related to question 44362. I think
the above suggestions should help you with your problem (which is a strong dependency from one scene to the other [not really a good design as you see])


How to make more then one character from one rigged mesh Is it possible to create one mesh character (all rigged with rigify) then change the mesh to look like a new character and adjust the rig? I'm making a comic book and that would save me a lot of time making all the characters in my story. I'm not doing animation just yet. Only pose.

Adjusting a Rigify rig is not impossible but it's quite complicated, due to the presence of lots of machinary and auxiliary bones, that can be revealed turning on all the bone layers of the armature.

The best way to achieve your result is to adjust the metarig to the new copy of the character, and generate a new rig (change the name of the first rig before generating the second).

If you don't want to redo the wheights assignement, you can use all weight already present, just bear in mind that the new rig will have a new name, and you will have to set this new name in the object field of the armature modifier.


how to add frame numbers over footage in blender video editor simple noob question, how to add frames footage in blender video editor like the image below?

In the scene preferences turn ON metadata. Select the information that you would like to see in the frame. You can choose to see the scene properties but not the strip properties unfortunately*.

Here is the overlay in the render view, only available when a new frame is rendered.

Sorry it does not seem to be available in the VSE live view. You could keep a little UV Image editor window open and hit f12 occasionally.

*According to this code entry for the Metadata function https://developer.blender.org/D1592 you cannot access Sequence Strip information.


Apply Text To Surface Question? How do I create this?

I want to similarly add text to an old plank fence, but I don't want it to just look like an "overlay"

We lack some informations about your current file, but the basic way to do it is this one:

Unwrap your planks (Smart UV Project mode is good for this kind of object) and put your wood image texture on it with the following node organization:

In your picture software (Photoshop, Krita or even Blender), create your text with an alpha transparency.

Create a second UV Map and unwrap (Project From View mode) the front plank faces, those where the text is supposed to appear. You need this second UV Map because the first you've created won't fit.

Now you need to mix your wood Image Texture with your text Image Texture. Create a second Image Texture and load the text picture.  Into the Vector input, plug an Input > UVmap node, and choose the second UVmap you've created so that the text will be displayed according it. Use a Color > MixRGB node to mix the 2 Image Textures. In the Factor, plug the Alpha output of the text Image Texture so that it lets all the transparent area display the wood.

Of course it would need a bit more work, like creating a bump map and plugging it into your nodes Normal inputs to give your object a bit of 3D bumps...


Blender hair simulation fine in viewport, but half of it won't render I have been creating a 3D character which uses hair simulation. It works fine in the viewport, but when I go to render it, half of it has disappeared. It does work in cycles, but that won't be an option as it takes around 8 minutes to render each frame.

Here is what it looks like in the viewport:

And here is what it looks like rendered (with eevee):

Q: How to get the preview settings for the actual rendering?

For others having the same problem: I found that it worked to just use the same settings in a different particle system. I'm not sure what actually happened, but I'm just glad that it works!


How to select all animated objects? Is it possible to select all objects that have animation data (connected to transformation, object data, material, etc.)?

Here's a python script that selects all objects with animation data or that have materials with animation data:

import bpy

animated_objs = []

for material in bpy.data.materials:
    if material.animation_data:
        for obj in bpy.data.objects:
            for slot in obj.material_slots:
                if slot.material == material:
                    animated_objs.append(obj)

for obj in bpy.data.objects:
    if obj.animation_data:
        animated_objs.append(obj)

for obj in animated_objs:
    obj.select = True


How to define and access a list property for a game object in BGE I am making a game with BGE.
It is turn based, so I want to save a sequence of key strokes in a list.
The problem is that the list is not preserved the next time a key stroke is entered, as the script is run on every key event.

My logic:

The way I have solved this til now is to convert the list to a JSON string and save it as a string property. However this is a very dirty way to do something like this.

How can I do this in a nice elegant way?

You will have to define the list in the script like this:

if 'list' not in object:
    object['list'] = []

You can then add objects using functions such as

object['list'].append('x') # adds the string 'x' to the end
object['list'].instert(3, 'x') # adds the string 'x' at position 3


Exporting to Unity - Origin problems I've noticed all my objects exported from Blender (FBX) have completely wrong origins when in Unity.

My Blender scene is made up of multiple objects which are spread out all over the place.

What's the best way to fix this? Is there a simple method / workflow to make sure an object & origin is at 0,0,0 when it's exported?

Thanks!

I had the exact same problem, but for me the origin in Unity was always the center of the part.

It turns out that there's a setting in Unity that determines how the axes are shown for the part. I spent probably three hours trying to troubleshoot what was wrong in the process.

There was no problem with how I had exported the part, just with how Unity was displaying the part handle. When I clicked "Center" it changed to "Pivot" and then the axes were shown from the same location as I had set the part origin in Blender.


locking axis in viewport navigation While navigating in viewport, how can I lock one of the axis and use MMB to turn my object around it (using Blender v 2.90)? I searched for axis locking, went through the docs, getting starter videos, but can't seem figure it out.
Here is an example:

When the Z-Axis looking straight up, dragging MMB left to right rotates the object around Z as expected.
I then drag MMB up->down to turn my object 90 degrees. Now the Z is sticking out of the screen, Y is looking straight up and X is looking  left to right
At this point dragging MMB left/right pans the scene (i.e. continues to rotate around Z) instead of turning around Y. I.e. the question is, how can I fix Y looking straight up and turn my object around it?

You can use G (to move an object) then tap X (to move it just on x axis) or Y(y axis) and ...you guessed it Z to move it on the z-axis.
So Tap G->X to move it on global x-axis.
Tap G->X->X to move it on local x-axis. Analog with x, y.
For rotation is the same, just with R -> X (rotates on global x-axis)
UPDATE:
you can navigate with these numpad keys:


Change Object Relative Position to Origin Example:

I create a cube and change it's position to 0, 8, 0.

How do I make this new position its new origin?

I want to export it to Unity and manipulate the position, which is rendered very difficult because of the blender settings.

There are several ways of changing an object's origin to a specific place.

Place the 3D cursor where you want the origin of the object to be.  This can be done by either modifying it's position directly under the 3D Cursor roliout of the N toolbar in the 3D view, or by selecting something and pressing Shift+S > 3D Cursor to Selected.   Then select the object and hit CtrlShiftAlt+C > Origin to 3D Cursor.
You can set an object's origin to the world origin by applying its location with Ctrl+A > Apply Location.


3d chess pieces from bezier curves I am trying to make a chess set in Blender

I have made chess pieces blueprints as 2d bezier curves in Adobe Illustrator. Now I would like to import them to Blender and then using Lathe-like operation create 3d shapes from them.

It appars that if I export/import SVG files, there's tonnes of problems, like wrong pivot point etc.

Is there a quick and easy way to make what I intend to do?
Thank you

Check this on changing the origin of the imported SVG curves: Change pivot or local origin of an object

I imported the SVG from Illustrator, changed the origin point and added a screw modifier. One thing to note, my imported SVG curve was a closed shape. I deleted a curve segment on the axis I wanted to spin around by selecting the two curve point that made the segment, right-clicked and chose "delete segment".

Here's a file you can see an example.


draw_handler_add() and draw_handler_remove() The bpy.types.Space class has two methods draw_handler_add() and draw_handler_remove(). However, the documentation for those methods only says, "Undocumented." Thus, what are those methods for?

Assign a draw callback on a space.

It is used to assign a draw callback to a space. Basically every time the space is redrawn it calls the assigned method.   Most often used in conjunction with bgl and blf to draw overlay on the screen.

See the modal draw template 'Text Editor > Templates > Python > Operator Modal Draw'.

In which the draw call back method is

def draw_callback_px(self, context):
    ...

The modal timer operator when run adds a draw call back, aptly named draw_callback, to the 3D View space bpy.types.SpaceView3D and stores the (handler's) handle to self._handle  (the handlers are internally assigned to a list on the space class. (Very similarly to application handlers)

        self._handle = bpy.types.SpaceView3D.draw_handler_add(draw_callback_px, args, 'WINDOW', 'POST_PIXEL')

The arguments, are passed using a list of args args = (self, context)

While the operator is running it draws on the screen everytime the window 'WINDOW' draws a ''POST_PIXEL'' event.

When the operator finishes the handler, with handle self._handle is removed..

See examples:

How to draw geometry in 3d View window with bgl

How can i add a text help window and a help button into the 3D View?

https://blender.stackexchange.com/a/113937/15543

In the last link, the draw callback is being used to listen for changes to text files.  Not sure it is good practice to do such as it seems to break the no changes in draw methods paradigm: ,in experimenting I added a rotation increment to context.object .. which while text space draw handler is active makes the object rotate in conjunction with scrolling, typing


An easy way to remove all children in a parent-child relation? I have some parent-child relations with the Blender objects that I'm working with, to make the things cleaner. Now I have an object with all its children that I don't want any more, the object specifically is an empty and the children are some meshes, there are a bunch of them and I'm looking for an easy and fast way to delete them all to avoid select them one-by-one. Maybe some python script?

Select the parent object, then use ShiftG > Children to select all the children automatically.

You can then remove the parent-child relationships acting upon all selected objects by pressing AltP.

See the official docs on parenting


My right toolbar is gone I recently got into blender and I think I accidentally pressed a key and now my right toolbar is gone. I looked it up and it said press t but that opens up the left toolbar. I pressed n and it open up properties but I don't want that. I want the default right toolbar. thanks for your help

In this case Ctrl + Uparrow is what you need. Or the "return to previous" button up the top.
You've entered the 'maximized' view mode which makes one panel (in this case the 3D view) occupy the whole screen.

Another very useful trick is to create a new file (File -> New) and then open your file with out loading the UI. To open a file without loading the UI, go File -> Open and then select your file, and uncheck the 'Load UI' button on the lower left before opening it,


How to make lamp visible to camera in cycles? How can I make the lamps (area/point/spot) visible to camera in Cycles render?
Currently they are invisible to the camera, unlike custom mesh lights which can be seen unless camera visibility turned off.

I would like to see the lamp (ie point/sphere) directly in the camera.

As others have said, Cycles doesn't do that, but you can work around it with proxy objects that are only visible to the camera.  Create a small sphere, parented to the lamp, with a node setup like this:

This will make the sphere directly visible to the camera, but it won't affect your scene in any other way.

This works nicely for point lamps.  Other lamp types could be a bit more involved, depending on the look you're going for, but the same principle holds.

Sun lamps are especially tricky because the proxy needs to be handled in the world shader setup, and can't be parented to the lamp.  Set up your world shader nodes like this:

You can replace the sky texture here with whatever you want the rest of the sky to look like.

You can see from the purple highlighted elements that I'm using drivers to effectively parent to the sun, and to mimic its actual size.  You don't necessarily need to do that, but it's handy.  Full details would be out of scope for this post, since you didn't specify sun lamps, but the setup is available on Blend Swap if you're interested.


What does the "Simulation Threads" setting in the fluid simulation do? I was just wondering what that setting below the bake button does. Anyone know? Thanks in advance.

It adjusts how many threads are used to calculate the simulation, 0 means "automatic"

If you hover over the label:

  Override number of threads for the simulation, 0 is automatic


No Collada (.dae) Import option on Ubuntu 2.76b I'm running blender on Ubuntu 16.04, with just a simple apt-get install blender and the blender version is 2.76b. When I goto File->Import there is no option to import .dae files. Is there anyway around this, reinstalling, using a repository or manually adding in an add-on that could help fix this?

Found a fix (by complete coincidence) on this Github page: https://github.com/dnschneid/crouton/wiki/Chromebook-Pixel

sudo apt-get update && sudo apt-get install python-software-properties
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:thomas-schiex/blender
sudo apt update && sudo apt install blender


2.80 Subdivision Surface issues? I use creases and subsurf modifiers a good deal for (more or less) hard-surface modeling projects.

This always worked great in 2.7x, but in 2.80 there seems to be a good deal of issues. Creased edges have some remarkable unsightly jaggedy areas that very much detract from the appearance of the model. I believe (though potentially fallibly) that this is due to Blender switching over to PIXAR's OpenSubdiv.

(The attached .blend shows off the problem well enough, but it can look exponentially worse depending on the situation.)

How might I avoid this issue in 2.8x, at least replicating the level of not-as-ghastly-looking-ness of 2.79b?

(The attached image shows the desired result.)

This was a bug (at the time of writing this answer), which got fixed in https://developer.blender.org/T58994
Basically the rest of the answer is redundant now, as 2.80 shows the same crease behavior as 2.79 since the bug was fixed. Automated builds will be updated starting from 24. 01. 2019.
Old answer
This is a bug still in the beta of Blender 2.8. The switch to OpenSubdiv could have caused the problem, but on the other hand, nightly builds of Blender 2.79 can also use the OpenSubdiv implementation in the SubSurf modifier, and don't show the described behavior / look. There are two bug reports available currently, see https://developer.blender.org/T58410 and https://developer.blender.org/T58994 - the latter one also providing a solution.
Potential Solutions until a fix appears
One option is to set the crease values to 0.9999 instead of 1.0. To do that, go to Edit Mode, select one creased edge, and press Shift + G. In the Upcoming Select Similar menu, choose Crease. This will select all edges you creased. Now, in the Properties Panel (N - Key), type in 0.9999 to the Mean Crease field:

A second option is the new modifier that was introduced in Blender 2.80, which allows for nice control over normals on more difficult geometry elements. A use case are extruded and beveled text objects with smooth shading turned on, but in your case this also serves as a solution.
Add the Weighted Normal modifier from the Modifier Stack / Modify section. This should immediately fix your problem, even though a warning is printed at the bottom of the modifier:

I have also increased the number of subdivisions and turned off Cavity from the Shading popover menu for clarity's sake. The warning itself might be interesting for you as well: It says that AutoSmooth should be enabled for this modifier to expose its full power. Once you do that here:

...your model should look even more refined:

But the best part is this: If you only use AutoSmooth without the Weighted Normals Modifier, you get entirely sharp edges:

So, depending on the look you're going for, choose your way to go.


Overlay, dirt with principled BSDF I've got a very clean aluminum metal texture with It's own roughness, metalness, normal etc-texture on a principled shader. It's nice but I want it dirtier.

So I've downloaded some dirt overlays and metal scufs from Poliigon... but I can't seem to find any tutorials on how to use them on the Principled shader. No matter how I try to MIX RGB and such it doesn't look right.

Please help!

Combine your existing Roughness map with your new Dirt/Scuffs map using a Math node with Type = "Maximum". Use the output of the Math node for your Principled shader's roughness socket.


How to place checkboxes in the same row? Everyone, I want to arrange the checkboxes horizontally like this, what should I do? I tried some methods but it doesn't seem to work

You need to split your layout or column or whatever with split() method.
def draw(self, context):
    layout = self.layout()
    props = context.scene.my_props # your properties
    col = layout.split()
    col.prop(props, "x_axis") # your property name
    col.prop(props, "y_axis") # your property name
    col.prop(props, "z_axis") # your property name

More on UI Layout


Triangles to quad for 3D printing Is it necessary to convert triangles to quads for 3D printing?
thanks
Dov

It is not. The most common file format used for 3D printing is .stl, which doesn't even support quads, meaning that it will convert everything back to triangles anyway. Basically, you only want quads when working with the geometry, some operations work much better with quads than triangles, take for example the subsurface modifier. Quads are, however, not desired when you want detailed information about the geometry, which is the case when printing. Take a look at the object below, which is an extreme case of a quad with the vertices not in the same plane.

The edges are defined, but the face itself is not. This means that programs have to guess what the face should look like.

Blender chooses to regard it as if they were two seperate faces, with an edge connecting the top vertices. Other programs might regard it differently, like you can see below.

This is why you actually want triangles, because another program might interpret the geometry in a different way than wanted.

Note that in general the quads are very small and almost in the same plane meaning that different interpretations of the same face won't even lead to visible differences when printing. In other words, hit 'export as stl' and don't worry about quads or triangles.

Edit: I just had a minor printing mistake because of the problem described above. There was one rather big quad that did not have every vertex in the same plane, as can be seen below.

This resulted in the following:

Note how the part is asymetrical because both quads are defined in a different way.
This could have been prevented by adding an extra edge.

In this case it is only a cosmetic difference and doesn't affect the functionallity of the part, but that could have been different.


How to Remove Weird Black Spot I have pressed some button and it created black spot that can be seen on the screen. How do I remove it and what is this spot?

I figured out that it was a grease pencil dot, I just selected "erase" option in the grease pencil menu and used it on dot, it got erased.


(Cycles) Transparent object casting shadow issue I'm trying to make an animation of a fade in, but when using transparent shader, glass with 1 IOR, Alpha, anything casts shadow.
I just wanted to make the object disapear from the scene, and smothly apear in order.

Here is the evidence.

Two possibility in my mind:

Object → Visibility → Ray visibility → Shadow in the object properties panel. (set to unchecked)

Material → Setting → surface → Transparent Shadow in the object properties panel. (set to checked)


MMD models imported into blender are missing all textures? I am very new to using Blender and I've been using the add-on "MMD_tools" to import MMD models into the program. The models themselves are imported fine but they're always missing all their textures when they are and I'm not entirely sure how to stop that from happening or how to add their textures back on?

This is an issue unique to MMD models in Blender due to the way MikuMikuDance understands shading, textures, and all things of that sort.
When you open an MMD model in Blender, you might see something like this.

(All of the following images are taken using the Blender 2.8 version of MMD tools)
There are several things we can try to get our textures looking normal and not so pink.
1. Disable Sphere Textures in the MMD Display tab.
Open your Visibility Sidebar on the right (usually can be opened by pressing N ) and navigate to the tab titled Misc. Under the section MMD Display, uncheck the box next to Sphere Texture.

If this does not correct any or only a few of your textures, continue to the next step.
2. Disable Toon Textures in the MMD Display tab.
Directly to the left of the Sphere Texture option from the last step, there should be an option titled *Toon Texture. Uncheck the box next to this option.

If this does not correct any or only a few of your textures, continue to the next step.
3. Turn off Use Shared Toon Texture.
Selecting the mesh of your model, navigate to the Material Properties tab under the Properties panel. You should see a list of all the textures being used on your model.

Select a texture you see on the list that has the pink hue we're trying to get rid of. For example, these textures are supposed to be a pale yellow but they are appearing as a vibrant pink in my textures list.

Once you have selected the texture, scroll down in the settings underneath the texture list until you find a section titled MMD Texture. There should be an option titled Use Shared Toon Texture in this section. Uncheck this option and see if the texture has gone back to normal.

If there is a part of your model that is bright purple still, there may be an issue with the model or a missing texture.
After trying these steps, your model should be back to normal. Mine turned back to normal once I unchecked Toon Textures in Step 2.

Something Important To Know
Some models rely on things like Toon Texture and Sphere Texture if they have a special shader attached to them (to make them look more anime-like, or because of the material the textures on it are trying to emulate).  If you have a model that only has a few sections turning up pink try Step 3 first on those textures in order to have the model work correctly. However, this method can also be used if you don't want those shaders on your model!


How to move the master bone of a rig to the actual pose? I have just started animating with Blender. Now I have a question:

I have imported a MakeHuman Model of a person with the default rig. After that I posed the rig and created a stand up animation. So first, I moved my model in object mode to the start position and rotated it by 90 degrees. Then I made the animation, at the end of the animation the model stands next to the bed.
This works fine, but ...

Now the model stands there, but the master bone of the rig is still at the original position.

So how can I move the master bone to the rest of the rig, without changing the pose or the location of the model?

Thanks for help!

You never move the rig in object mode, you want to use the Root/Master bone exactly for this and also you never move the rig away from the Root/Master.

The reason is when you only animate bones, you get only 1 Action. Whereas when you animate also the object you get 2 Actions and it's messy. Can be problem when the rig is linked and you need to apply animations to the proxy. You also can't save such pose to pose library. Etc. this can go on and on why not to do it.

There is no easy way of fixing it. You will have to investigate what bones are parented to the Root/Master, move those bones back and position everything with the Root. And if you have animation do it for every keyframe.

If you have lots of keyframes it might be better to bake the animation. You do this by creating and parenting an empty to each bone that is parented to Root(local axis should correspond). You then bake animation to the empties. Then you move (and animate) the Root where you want it and override the transforms of parented bones with Copy transforms constraints from the empties. Then you bake the animation to the bones and you delete the empties.


Looking for advise on modeling/faking lots of rope Another question for my Titanic model. I’m wondering how to efficiently add the rope arches on the lifeboats. My first thought is using curves and an array modifier to add long cylinders with a rope texture, but I’m worried that’ll add to much geometry to my already geometry-heavy model. Another thought was faking it with a flat/displaced texture, but I’m not sure if that’ll work as I want to make my model explorable at some point (so people will be able to see it up close). I might just fake it and make it more convincing at a later date, but I was wondering if I’d be able to do it now/soon.

best way to do so imho would be to use normal maps over simple geometry (curves in this case), you may find it out hard to keep the correct uv coordinations, so you may use either the Mapping node in materials node editor or convert it them to geometry and do the uv's properly. First way seems to be more legit.


Projecting a grid of points unto a model and displaying collision output I was wondering if there is a way to use blender to project a grid unto a model and only keep the points that the projection collides with, basically I want to simulate a Time of flight sensor that emits a laser grid and receives the reflection of that laser which indicates the presense of an object and its distance, ideally slanted objects would reveive the laser but reflect it to a different direction and thus would not show up on the output of the sensor.
Would this be doable using a python script?
Anything that could set me on the right track would be appreciated.

Not a scripted solution, but you can achieve a similar effect using a particle system.

Create an emitter plane and a particle system. This will have all the particles emitted at frame start = end = 1.000 and a lifetime long enough for the collision.

Set the emission to grid and assign a velocity in the correct direction in the Emitter object box. Leave all the other options to their defaults (Newtonian physics with all the forces = 0) and in Field weights remove the effect of Gravity by setting gravity to 0.

Last, you would like to render the particles as lines. Select Line under Render, set Tail to zero and Head to some value between 0 and 1. Use a high trail count and set Length as long as your particles lifetime. Also, tick Length in frames.

Now, make sure that all the objects that you want to detect have a Collision property (with default values).

(Now you can also add another plane - as a "sensor" - behind the emitter and make it collide with the particles that are coming back, killing them. Then you can render the dead particles as dots on the sensor)


how to align and array I have a mesh and model i want to align it and array it

I want to achieve like this

For that i have made a profile mesh

But for me its getting hard to align i tried with the magnetic tool to snap but for me works do difficult. Any other way or good way to align it and then array with the reference image.

In Editmode, select the face and choose View >> Align View >> Align View to Active. 'Top' usually works.

Next add a cube and put the checkmark on 'Align to View' in the redo Panel to the left ( or F6). Back in medieval days, objects were aligned to view by default.

Now you can copy the cube's rotation for your stone.

By the way: the original wall in the picture is vertical, no need to align anything.


Rotating actual object to face outward using arrary and empty How do I rotate within the array or empty so that the patron boxes bottle sides are all facing outward (not cock-eyed pointing leftward as they now appear)?  And then ultimately I'd like to tilt the bottles up, IOW so that the bottom is slightly forward and the top slightly in or back toward the center.

This can be done in 5 easy steps

Move the origin of the object, to the same location as the empty.
Uncheck relative offset from the array modifier.
In edit mode, remove the rotation from the box.
Now move the box to directly out to one side from the origin of the object.
Rotate the box to the desired rotation.

Keep in mind, that it may be easier to simply create a new object, texture it, and use a new empty. Put them in the same place, and in edit mode move the cube away from the origin along an axis (y or x). Then rotate the empty, and you should be good.


Poly / Bezier curve from a list of coordinates I'm trying to create curves from a list of points, I have the xyz coordinates in text files.
I could make it manually via the python console for a single curve, but I have to do it many times and I don't know how to correctly implement a loop.

How can I do that?

This should work:

import bpy

# sample data
coords = [(1,1,1), (2,2,2), (1,2,1)]

# create the Curve Datablock
curveData = bpy.data.curves.new('myCurve', type='CURVE')
curveData.dimensions = '3D'
curveData.resolution_u = 2

# map coords to spline
polyline = curveData.splines.new('NURBS')
polyline.points.add(len(coords))
for i, coord in enumerate(coords):
    x,y,z = coord
    polyline.points[i].co = (x, y, z, 1)

# create Object
curveOB = bpy.data.objects.new('myCurve', curveData)

# attach to scene and validate context
scn = bpy.context.scene
scn.objects.link(curveOB)
scn.objects.active = curveOB
curveOB.select = True


How to used the mousescroll to as a modal function to, for example, move the object? For example, in the template in the text editor has an example script that utilizes a modal function with mousemove to change the location of the object along and axis, how can I use the same function, but instead it's the scroller that controls the function ?

The event.type that you get within modal() will be WHEELUPMOUSE or WHEELDOWNMOUSE when the scrollwheel is used.

def modal(self, context, event):
    if event.type == 'WHEELUPMOUSE':
        context.object.location.x += 0.5
    elif event.type == 'WHEELDOWNMOUSE':
        context.object.location.x -= 0.5
    elif event.type == 'ESC':
        return {'CANCELLED'}

    return {'RUNNING_MODAL'}


scale several bones envelopes proportionally I am looking to proportionally scale down (for example) all bone envelopes in the hand of an armature .
However I cannot seem to use the Deform Distance:

nor the Scale tool to effect the envelope distance of the multi-select, proportionally.

Is there a way to do this without resorting to scripting (python)?

It appears the Alt-S and Ctrl-Alt-S work to scale multiple, proportionally.


How to make a cone frustum I've tried a lot to make a 3D model of frustum of cone but have been unsuccessful. How can I model one?

You can simply add a Cone primitive and adjust the radius of the top (Radius 2) and then adjust the length and or bottom radius as needed.