Child of constraint and moving rig in Object mode

I've always found that parenting gear such as clothes, etc. to an armature bone would be sufficient enough to handle animating the character, armour, belts, etc. and also moving the character around in Object Mode all the same.

After testing the "Child Of" constraint on a simple mesh with a single armature and a "belt" (reshaped Sphere) I noticed the problem you described - the object always moves against the direction of the bone/armature.

All in all, I think it may be worth considering the option of directly parenting (Ctrl + P shortcut) the belt and other objects to the bone that controls them (i.e. via "Set Parent To" -> "Bone" option) and then other necessary parents (e.g. bone(s) to empty parent through "Set Parent To" option) and see if this method doesn't work better for you.


Static particles freak out after certain amount of time?

Additionally (re-editing my last answer)
I am attaching a blend file in which I noticed that I had to use Brownian Force and Damp instead of Turbulence or any other kind of field.

This should do the work.

Blender File

In order to keep the particles still you must turn off the Normal property in the Emiter Geometry under the tab Velocity of your Particles System.

The second thing that you have to do, so your particles will not go towards the "ground plane" is to turn off the Gravity affection in the "Field Weights" Tab.
From this panel you will also set the desired affection from other fields (such as Turbulence, Wind, Vortex etc) that you may use to give to your particles the kind of movement you are looking for.


Modelling in separate pieces VS one object

The best way to go about it is to keep it all as one mesh, that the way most pros do it and it prevents your scene from getting to cluttered
If you like to be able to have all your objects separate Keep them all together in one object and then separate them inside edit mode. However Do not have one object for your scene. a good scene can have anywhere from 3(for a object display) or 1000(for a simulation)

Also if you want to learn a bit about photo realism, go check out Andrew Prices blenderguru.com them website is really heavy but they have a lot of good tips as to how you can make something realistic


Boolean Difference Tool Not Changing Shape

I don't have enough reputation to comment but looking at the blend file you posted, it looks like the normals on both objects are flipped inside out. Using "Make Normals Consistent" on both meshes seems to make it work okay.

You said you already did this, though. Perhaps the "Inside" checkbox is checked for you? I didn't see that in the blend file you posted though so I'm not really sure. But the skull mesh in your screenshots and both the meshes in the blend file you posted are definitely inside out, you can tell from the weird purple black thing they've got going on.


Moving bones in a specific manner with two fixed points

You can use empties and constraints to solve this, here are the steps:

I'm using different visuals of empties for visual distinction, however you can choose any shape you prefer.

1- Create an empty in the center of the fixed arm (the selected sphere in the image below), this empty will control the movement.

2- Create an empty in the center of the left arm (the selected circle in the image below), parent it to the first empty by selecting it then the first empty (the sphere) in this order (the last selected object is the active object) and hit Ctrl + P, select Object.

3- Select the left arm, add a Copy Location constraint to the left arm, from the Constraint menu, set the Circle empty as a target, this will make the left arm move with the circle empty positioned at it's origin, we need the circle empty's location, but not it's rotation.

4- Move the origins of the upper and lower arms to the edges positioned at the fixed arm, to do this, select the upper arm, press Tab to enter Edit mode, select the edges at that end near the fixed arm, then press Shift + S, choose Cursor to Selected. This will position the 3D Cursor where we'll move the origin, next Tab to go back to Object mode, press Ctrl + Alt + Shift + C, choose Origin to 3D Cursor. Follow the same steps for the lower arm.

5- Create two empties, position them at the other ends of the upper and lower arms (the ends at the left arm, see the image below), these empties will be the axis of rotation of the upper and lower arms at the left arm, parent both empties to the left arm, to do that, see step 2.

6- Select the upper arm, add a Track To constraint, set the top empty as a target (see the image below), repeat the same step for the lower arm, use the bottom empty as a target.
This way, each arm will rotate on it's origin (which we set to the fixed arm end in step 4) in order to keep pointing at the empty it's tracking.

And that will be it, in order to do the movement, you only need to rotate the sphere empty on the X axis (in my case it is the X axis, which is the axis the arms will rotate on) , check the image below to see the results, you can assign a limit rotation constraint to the sphere empty, so it won't rotate past a certain limit on the X axis.

Summary: When you rotate the sphere empty, the circle empty will follow it's rotation since it's parented to it. The left arm will copy the circle empty's location due to the Copy Location constraint, but it will not rotate with it, this is why we used a constraint rather than just parenting it to the circle empty. The top and bottom empties will move with the left arm, since they are parented to it. The upper and lower arms will rotate on their origins, and they will keep pointing at the empties they are tracked to, which are the top and bottom empties.
P.S.: Naming the empties and objects will make it much easier to keep track of what you're doing. Giving distinctive shapes to empties will make it easier to control than using the same shape for all empties.
You can use the following link to download the file. Happy blending!

Edit: I managed to refine the process to make it shorter and using less steps, you can skip creating the top and bottom empties, instead add a Copy Rotation constraints to the upper and lower arms, and use the sphere empty as a target (the controller at the center of the fixed arm), this way you only need two empties, one in the center of the fixed arm (the controller), another at the center of the left arm (the circle empty), parent the circle empty to the controller, then add a Copy Location constraint to the left arm with the circle empty as a target, and the Copy Rotation constraint to both upper and lower arms with the sphere empty as a target. This method is shorter and better, because Track To constraint (and even Damped Track constraint) have their limitations when rotating to an angle more than 180 degrees, even when using Quaternion instead of Euler. Here's the edited file:


Subtitle like text always facing to the camera

Setup a new Scene for text.
Select the Camera and change it to Orthographic.

Properties > Data(Camera icon) > Lens > Orthographic

Reset Camera Location (Alt+G) and Rotation
(Alt+R).
Move Camera along Z-axis till it is above 0.
Text Object can be place on the X-Y plan as you like.

To combine the animation and text, crate another new Scene and import the 2 Scenes into VSE.


How to make the game engine render stereo on 2 monitors?

You need to setup your desktop to "span" across both screens.

This way both screen areas will be treated as a single desktop. How to accomplish that depends on your OS and graphic card. A good way to test if it's working is to take any application (not-Blender) and see if maximizing it takes over both screens or only one of them.


How to create correct tetrahedron (platonic shape) in blender 2.8?

Nothing has changed.

The Add extra objects addon is still there:

Then use add>mesh>math function>regular solid

Then use Source: Tetrahedron.


Simulation of CMYK color space based on icc profile

The issue here is understanding what simulate would mean. CMYK nor RGB are colour spaces per se, but rather colour encoding models.

This sort of a question would mean going through all of the nuances that may be in an ICC profile and simulating the resultant output on screen as though it were paper. This would be a dark labyrinth of colour primaries conversions from reference space to destination, illuminants, TACs, BPCs, etc.

Best advice is to learn Argyll and use that.


Sounds like you're looking for the Bevel Tool. Select the edges you want to bevel in Edit Mode, press Ctrl+B, drag the mouse to start beveling the edges, use the scroll wheel to set the number of segments.
For a more detailed description of the Bevel Tool read this article in the Blender Manual:
Bevel Edges
There's also a non-destructive way to bevel the edges:
Bevel Modifier


Why are the materials of my objects not rendering?

You will laugh when you see how simple this is.

You have the material for your table leg set as the render layer material override. What that does is override all your materials with that one (and because only the books have a UV map you don't see that texture expect on the books.)

Simply clear the Material Override, switch back to cycles and it will render normally. (All your materials are for cycles, so none of them will work in the internal render.)

EDIT:

Newer versions of blender don't use layers, but "collections" so the override function is in the scene>View Layer section.

Additional info:

Where is the Layers panel in Blender 2.8?

2.8 - Is it possible to assign (override) a material to a whole collection?


Water animation in final render completely different from preview

You had disabled Use modifier during render in Modifier Tab or in Outliner.


You can change the selection style by left clicking on the select mode for several seconds and a selection mode menu will appear.  But this may not be the issue you're encountering...


Add more fractals without subdivide again

No, you cannot change the parameters of an operation after you have modified the mesh with other operations.

What you can do is reopen the dialog of only the previous operator with F6 if you've accdently closed it, but this is not quite what you are looking for.

(An operator is basically every command where you move or change something about a mesh, an object, a material, you name it)

What you want, if I understand you correctly, is to open the operator history with F3 and change the past and have everything that happened after the fractal subdivide to be reapplied on top of your change of the past. This is basically the same as if every operator was a modifier. Modifiers work that way, but operators don't. Once an operator is applied you can't change their old parameters (well, Blender keeps the parameters editable for the last operator).

Maya does almost what you want: It keeps the full operator history of a mesh and you can actually change it afterwards and all the subsequent operators are reapplied. BUT it doesn't work in complicated cases and can lead to crashes :)
Also it's common practice in Maya to regularly collapse (=delete) the operator history, otherwise Maya gets pretty slow.


You can enable Edit Linked Library in the preferences (Edit > Preferences > Add-ons).


You could enable the Wireframe option in the Viewport Overlays panel:

Or enable the Shadow option in the Viewport Shading panel:


Only Vertices/Wireframe in Blender Render and Object Mode

You changed your material type to a HALO
In material settings, switch to a Surface type, and you'll be fine


Fluid sim silently fails at high resolution

Pretty sure you ran out of memory. The fluid sim is a notorious memory hog, and most users do something to "fake" more detail in fluids. Bit of a bummer because it takes a very beefy system to make liquid that doesn't look chunky and gross.

I think there's a project to improve this somewhere...


Creating a large landscape with accurately varied elevations

A map with 3D elevation can be generated from images.

In Blender 2.76, here is a workflow for generating elevation maps.

Obtain elevation data as an image. For example, potential sources are http://viewer.nationalmap.gov/basic/ , http://eros.usgs.gov/elevation-products , or http://earthexplorer.usgs.gov/ .
Import the image as a plane. This may require enabling the 'import as plane' add-on.

Go into edit mode and subdivide the plane lots of times - 10 to 16 times works well. The more times you subdivide, the finer the elevation will be, but the slower blender will respond.

Apply the displacement modifier to the plane. Choose the image that was imported as the texture.
Adjust the displacement modifier to get a good scale for the displacement.

For some visual effects, in Blender cycles, a color ramp can be used to color based on the altitude.

A blend file with a south-east use map imported is here:


I guess that the Boolean operations created some geometry that the Bevel Modifier can't handle as you expect.

If you create the mesh starting with a plane like so:

and use the Spin Tool Alt-R while in Edit Mode
(Note that the position of the 3D cursor and selected view (Top/Ortho) is important.)

The Bevel modifier works fine:


How can i add an extra object to a mesh/armature that i have forgotten to add to the mesh before i added the bones?

i couldn`t find where to delete a question but i have the answer for the problem, the object was still a bezier curve that's why it didnt work


Drawing surfaces with BSurface, get many wrinkles and stripy texture

Yes there is an align verts with grease pencil tool. You should be able to use this to line your vertices up, and get rid of that weird affect. You may have to download an addon though...


First of all, model the differences in the x dimension; the tail is never as thick as the fuselage. go into edit-mode and scale the faces of the tail on the x axis. (S+X) you may need to hit O to maintain a good profile while scaling.

Next go in and select the top and bottom side edges of the tail and in the options on the right (N) turn up the Mean Crease to 1.00. This will make sure that as the side is smoothed, the profile is not lost.

Based on your second screen shot, I would say that you have included the entire side of the fuselage as one N-Gon: you need quads for sub-surf to work efficiently. You can go in and break the large n-gon up by selecting opposing vertices and hitting J. Now you can successfully add a subdivision surface modifier without getting unexpected results.

I will add screen shot when i get home :) hold on; they're coming.


In BGE, can you make an objects animation only play when that object is in motion?

Well, make a Mouse sensor, and controller and action actuator and connect them together. Set the mouse sensor to what you need(for example, left button with true level triggering) and action actuator to your action! So simple!;)


Is there a way to restrict blender renders to a predetermined 256-color palette?

I'm going to say "no".  Fortunately there are tools like ImageMagick that make it fairly easy to quantize images as a separate step.


UV map for cuboid produces islands of same size

It sounds like you have scaled your mesh. Unwrap operations should always be done with the object scale set to 1 (to avoid problems like yours).

In object mode if you select the object and look at the scale in the properties region, you will see that it is not all 1.

Press CtrlA > Scale, to apply the scale.
Then in edit mode re-unwrap the mesh, and it will have the proper scale.

As an aside, if you were to use the Unwrap operation, blender would warn you with this message.

  Object has non-uniform scale, unwrap will operate on a non-scaled version of the mesh.


Move vertices to center of mirror modifier to join with other side

Found out there is an option in the mirror modifier settings called clipping that lets me drag the verts right to the center and they will stop when they meet


splitting UV islands to have each face separated by small amount

Margin

In order to create a small gap between the UV islands you can use the Margin factor it is shown in the tool options panel while performing most of the UV mapping related operations (Unwrap, Smart Unwrap, Lightmap,...)  or even in the Pack Islands command.

This will create an uniform margin along the island's boundaries. That's probably the supposed way to achieve the result that fit best the baking-with-margins workflow.

Scale islands individually

If you are not interested in a uniform margin, but you just need to scale each face down, there is the possibility to change the scaling (S) pivot as shown in the image sequence below:


It ultimately depends on what format and / or where your images originate.

If they originate in a render, the best advice is to store your intermediates as EXR. Even half EXRs are tremendously more useful than many other options.

If your images originate in a camera, you'd be wise to take them to a reasonable high fidelity format such as EXR. This can be tricky depending on your needs and experience and the format of your camera.

If your images originate from a consumer grade camera and the encoded format is H264 or another codec, you can extract the raw frames using various tools such as FFMPEG or its ilk, to varying degrees of quality depending on the tool and options chosen. With proper care, even an H264 encoded file can be properly decoded to either display linear or scene linear EXRs depending on need.

Getting to a high fidelity still image format however, is only a portion of the puzzle. Coming up with a reasonable offline to online path is another challenge entirely, and critical to optimize the quality of your work if you choose to avoid the "good enough" path.


Use a sphere and a lattice modifier.

Add a sphere for the eye.
Add a lattice object.
Select the eye and then ⇧ Shift select the lattice.
Parent the eye to the lattice ⎈ CtrlP and choose Lattice Deform.
In Edit mode for the lattice, move its points on the axis you want the eye to shrink.

Now as you rotate the eye, it will stay deformed within the lattice.


Geometry Nodes - How to randomise rotation around just one axis

Using Attribute Randomize you are able to create a new attribute, instead rewriting the existing one. Then use attribute math to add a random vector to the existing rotation.
Another useful node is point rotate, it has the ability to rotate instances in local and global coordinates:


What version of Blender are you using?

The stable version (Blender 2.79) doesn't have the "new" Grease Pencil, which comes with the rim effect.

To experiment with the new tools, you might want to try the version of Blender currently being tested: Blender 2.8 alpha. It is an alpha so it's not guaranteed to be stable nor will necessarily stay the same until the final release early next year.

More information about the Grease Pencil improvements in this and this video.


Select Multiple Key Frames in Timeline Editor

The timeline isn't actually an editor. It's simply a viewing port for all the keyframes in your animation. What you can do is:

Go to the Graph editor and select the objects that are keyframed
Move the playhead in the timeline to the keyframe you wish to delete
Hover your cursor over the graph editor and press Ctrl-K
Go to the next keyframe and repeat steps 2-3
Press X to delete the selected keyframes

PLEASE NOTE This process works if you want to delete all keyframed information about the selected objects. If, say, you just want to delete X-Location info but not Y-Location info, you have to manually select each keyframe in the Graph Editor.

Hope this helps!


How to set weights for a mesh to bend smoothly?

From your image, it looks like you don't have any weights painted on your root bone (i.e. the one for the blue part on the left). Adding these weights (and possibly the bone if it isn't there) should allow you to adjust how smooth the blend is.

In order to be able blend between bones, blender has to actually know which bones to blend. To do this it looks at all the bones that have some weight assigned to a vertex and blends the effect of the bones based on the relative strengths of those weights. If a vertex has only one bone weighted to it, regardless of the value of that weight, it will only be influenced by that bone.


Poll the panel
Given this from the question

When a combination of items are chosen in another panel, I want this
panel to appear, but not otherwise. Right now the panel will always
show after being registered. I browsed through the documentation and
found nothing useful. What function can I call or flag can I set to
show and hide a panel,

to not show a panel at all have it not poll.
Every panel class has a poll class method. Being a class method it is available without an instance of the class being created.
if the poll method return value is non None or boolean True then the panel shows.  In the example below panel shows if the context scene name starts with "Scene"
If the panel polls it instances the panel and in doing so calls the draw methods (draw_header, and draw if expanded)
The draw method below draws the scene name property iff it is exactly "Scene" Remember it must poll.  Only modifiying the poll will show name prop if the scene name is "Bob" for example.
A conditional in the draw method wont stop the panel from being drawn, just the content within. The poll method is the way to stop the panel from being drawn at all.
Have added an __init__ method that prints "init", the poll method prints "poll" and the draw method "draw"
import bpy

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"
    def __init__(self):
        print("init")

    @classmethod
    def poll(self, context):
        print("poll")
        scene = context.scene
        return scene.name.startswith("Scene")

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

        scene = context.scene
        if scene.name == "Scene":
            # it's the scene named "Scene" woohoo
            col = layout.column()
            col.prop(scene, "name")

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

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

if __name__ == "__main__":
    register()

Have produced this answer because the idea that the draw method is called often is in fact not strictly the case, it is called only once per instance of the panel. The panel is instanced a lot... if it polls.
Running above when a scene name polls will print to console
poll # check if panel polls
init # it polls init the panel
draw # draw the content ....
poll
init
draw
poll
init
draw

or if it doesn't poll
poll
poll
poll
...

indicating that if the there is activity to redraw the area the panel resides, it checks if it polls, if it does it instances the panel and draws.
Can see here that rather than having conditionals in the draw, could set a particular  self.draw = self.draw_bob method when initializing the class.
Use a combination of both.
Given the OP's accepted answer, will speculate the panel resides in the file browser and is designed to show when a certain operator is being run. Changing code above such that panel resides in filebrowser tool props
bl_idname = "OBJECT_PT_hello"
bl_space_type = 'FILE_BROWSER'
bl_region_type = 'TOOL_PROPS'

to poll only when export scene obj (for example) is being run.
>>> bpy.ops.export_scene.obj.idname()
'EXPORT_SCENE_OT_obj'

a new poll method to reflect this
@classmethod
def poll(cls, context):
    op = context.active_operator
    return op and op.bl_idname == "EXPORT_SCENE_OT_obj"

Will ensure the panel only instances when that particular operator is active.
Using this poll can rest assured in the draw code of the panel   context.active_operator both exists and is the one of interest.
Use conditionals in draw code based on the operators props, or what is more often the case these days use subpanels that poll based on a condition, within the condition of their parent panel.
Will notice more and more import export operators are beginning to use this method.
Why?  to simply have an always polling panel (the default) and something like
   op = context.active_operator
   if op.prop:
        pass

in draw code will throw an error constantly chattering messages  into console like an endless stream of garbage when the operator doesn't exist or  doesn't have a property prop whenever the tool props panel of filebrowser is active for some other operator we are not interested in.


Is there a way to render an animation that looks like as if it is rendered with the OpenGL lights (View-port lights)?

Can you tell which part is Cycles and which is viewport render? ;)

Unfortunately blenders normal ball widgets don't have any way to set values numerically (yet), so you'll have to use some python to get and set the values.

Get the default openGL lights from the user-preferences. To do this, run the following in the python console:

for light in bpy.context.user_preferences.system.solid_lights:
    print(light.direction)

It should print something like

<Vector (-0.8920, 0.3000, 0.9000)>
<Vector (0.5880, 0.4600, 0.2480)>
<Vector (0.2160, -0.3920, -0.2160)>

Create a material and add three normal nodes, then run

bpy.data.materials['openGL'].node_tree.nodes['Normal.001'].outputs[0].default_value = (0.5880, 0.4600, 0.2480)

Where openGL is the name of the material, Normal.001 is the name of your normal node, and (0.5880, 0.4600, 0.2480) is the direction you want to set it too. Do this three times, changing the the node and direction until your three normal nodes look like the light widgets in the user preferences.
Copy/paste the diffuse colors from the user prefs into RGB nodes in your setup:

Note that you can copy/paste colors by pressing ⎈ CtrlC/⎈ CtrlV while hovering over a color field, but make sure the correct window is focused when going between multiple windows.
Setup the rest of the nodes, and enjoy your path-traced openGL renders :P


How to sequence actuators to perform two or more tasks in sequence

You need to sense the end of the previous operation to start the next one.

As motion actuators (mentioned in your screen shoot) have no end you can start the followup operation when you deactivate the current one.

According to your description I suggest to use steering actuators with enabled self-termination together with the method described in How to start second action after check that first one is done in bge?.

This allows you to let the enemies patrol between various checkpoints. Moving to a specific checkpoint is represented/performed by a single steering actuator.

I hope it helps.


Mesh imported from DazStudio always render as pure black

This hair is not a "hair" made with Blender: Blender does not recognize it as hair. This is simply edges and edges cannot be shaded without faces.
Enter edit mode, select all A and give a very little extrusion E to the mesh (less than a millimeter or around that).
In the shader part, change the "hair BSDF" by a "Principled" shader.


Is it possible to automatically simplify geometry in blender without losing object shape?

You could use the Decimate Modifier. You can find the documentation here.
Please note that you only see its effect while in object mode.

You can find a 2 minute tutorial here.


Why does the rendered and baked lighting differ so much?

All I did was switch to CPU (I have GPU problems on my Mac) and decrease render samples to speed up the bake and I got this:

My thought is that perhaps your problem was with the GPU since that is the only relevant thing that I changed (depending on what GPU you have, some features of Blender don't work, for example, HDR lighting).

Here is the baked image with higher samples:


Particles System not showing up on Viewport

You Particle System modifier has disabled visibility.

Go into the plane object modifier stack and turn on visibility for the particle system modifier


This is caused by how object is calculated in z-buffer. People call them Z-fighting. I won't go too deep for it.

Imagine that there is a painter going to oil paint your scene. We Know that oil paint can stack on it to cover the color behind it, right? So we can draw the farthest thing first and cover it with the closer object. That is basically how your view-port been rendered.

And for some math reason, the calculating for the near and far value - z-buffer, will become inaccurate in certain distances (depend on which algorithm). In Blender, the far distances.

Then, the inaccurate result from two object will some time become overlap with same value. Causing the painter confused on what should he paint first. And that is what you see in your view port.

See this post as well: Cause of black artifacts in render?

And this one(point out by batFINGER): Faces become distorted, strange and look glitchy when looking through camera view


Orient your meshes when they are still separate:

Join them with Ctrl + J:

Select the whole (joined) mesh in edit mode and select mesh > Convex Hull:

Resulting shape:


How to enable internationalization? (translations)

In User preferences (CtrlAltU), under System check International Fonts, select your language (German is available, I just checked), and mark the parts you want to translate (Interface, Tooltips and New Data).


Read value from an fcurve at specific frames

I think this will do what you're asking:

object.animation_data.action.fcurves[1].evaluate(7)

In this example, fcurves1 would access the Y location curve in the collection of fcurves belonging to 'object'. And the Evaluate function will return the value of fcurves1 at frame 7.

This question has a more thorough answer.


Cut mesh with circle pie chart like mesh for animation

There's a lot of ways that you can change the shape of the cutting mesh.
For versions where you only alter the shape, you can animate whether the boolean even affects the cylinder , so you have a full cylinder to start with. You simply switch it on for the first frame of cutting.

You can use shape keys which is a very cool answer, you could use hooks, you could use an armature.

But why not go overboard with this and boolean Napoleon the boolean?

From Haunt's bag of tricks:

The yellow box is just ever so slightly larger than the orange one. When they align, it swallows the orange one whole in effect making it cease to exist...  sort of.

If I rotate the yellow one, it reveals more and more of the orange box. I simply subtract the yellow box from the orange box and I subtract the result from the cylinder. The possibilities are endless.

Although this only works for a 180° cutaway.

TLDR: yellow eats orange, orange eats cylinder. YUM!


Multiple camera panels per viewport layout, aka "Area"

Hi Aaron,
If you have multiple camera's and some 3D viewports as shown in the picture. You can select a different camera in each viewport, by using the N key and then to the view tab, check the local camera and then choose the camera you want to use.
Best regards Gladys


I'm not 100% sure we can guarantee the order that layers are rendered in but it does appear to be the order they are listed in the scene layers list. With that the easiest way would be to use a file output node to save the first layers to file before the final layer is rendered.

The bpy.ops.render.render() operator accepts a parameter for the render layer, this is what is used by the node editor. A script could render one layer at a time, saving the layer to a file ready for the next layer. Note that you are walking into the chicken and egg problem, the render you do for the material will not have a material until you finish the render to give it a material. You should make sure that the camera used for each material does not contain an area that relies on any future materials to be generated.

scn = bpy.context.scene
objs = bpy.data.objects
scn.camera = objs['layer1_cam']
scn.render.filepath='//layer1.jpg'
bpy.ops.render.render(layer='layer1', write_still=True)
scn.camera = objs['layer2_cam']
scn.render.filepath='//layer2.jpg'
bpy.ops.render.render(layer='layer2', write_still=True)
scn.camera = objs['final_cam']
scn.render.filepath='//final_render.jpg'
bpy.ops.render.render(layer='final_layer', write_still=True)

If you are placing the renders as a flat plane on the final render, you can automate it without a script by using multiple scenes, each scene can use a different camera, so they aren't all rendering the same thing. You duplicate the scene with the link objects option so that any changes are seen in each scene and to keep each scene in sync when adding new objects be sure to use ⎈ CtrlL->Objects To Scene->Scene... to add them to each scene.

Once the scenes are setup, add a new render layer node for each scene, use scale and translate nodes to position the layer and alpha over to combine them. You can either use the pass index for an object to get a mask matching an entire object or the pass index of a material to get a mask matching a material, which allows you to apply the material to selected faces of an object. The ID Mask node is then used to get the mask. Enable the object or material index in the render passes to have it available in the compositor.

Now when you render the final scene, all the other scenes will get rendered and be composited onto the final image.


Inset the faces with I, then use To Sphere tool (Shift+Alt+S,1) to make the edge loops round.

Next enable the proportional editing (with a Sphere falloff type) and transform the middle vertex upwards (G,Z). Finally extrude the four middle faces upwards (E,Z).


I personally like to think of this backwards

see this link or this other one that mean starting with an unwrapped plane and making a sphere out of it, to avoid using a UVsphere and the triangle fans at the poles.

But if you want to use a UVsphere here's an alternative:

In edit mode go to front back or a side view, chose an edge loop and mark a seam.

Switch to face selection and choose a face adjacent to the seam, that will make it the "active face".

Press A to deselect everything and press A again to select all. You will see that the previously selected face is still the active face.

Press U to unwrap, and choose "follow active quads" and then press on OK using the default values

That will give you a perfect grid UV map, but the map will be much larger than the UV space.

you can scale it down to fit within the image you want to use.


Cant select/move multiple keyframes even with B select?

The dopesheet behaves similiar to the 3D view.

The right mouse is used for selecting objects or keys. Incidentically, the RMB followed by a movement before releasing the mousebutton selects an object/key and immediately enters the translation operation.

But since you only want to do a translation, you have to initiate it with a shortcut as intended. The correct way is to do a box selection and then...

make sure the cursor is hovering in the dopesheet (so it will receive the keys pressed and not some other window; Blender is context sensitive)
press G (grab) to enter a translation operation (G key down and up)
move the mouse, (moving the keys)
press the left mouse button to confirm the operation and exit the translation.

OR

4a. press the right mouse button to escape the operation. The keys will snap back into place.


How to render a portion of the image through command line with background image

I stopped searching, I created a plane with the background image as a texture and make the camera as parent, I put it far with an emissive shader node and far enough not to emit on my scene object, in another render layer.

This way instead of an texture layer and a render layer, I have two render layers subject to the scene.render.border.


How to create poly cylinders on all edges easily?

Youd could clone your mesh with Alt + D and add a wireframe modifier to it, that way the meshed are kept linked and in sync so modifications propagate.
Or as suggested by Samoth add the wireframe modifier without the option Replace Original so the underlaying mesh is kept visible

The Wireframe modifier does add a flat shaded grid with square section, so you may want to add a bevel modifier on top of it to make it smooth and cylindrical


Locate the cache of the simulation. Per default, this would be in a subdirectory called blendcache_smoke.

Next open up the folder and find the frame index in the filename.

In my case the index is positioned at the -15th to -9th position counted from the end.

  43756265_000001_00.bphys

By simply replacing 000001 with 000011 the simulated cache of frame 1 is moved to frame 10.

Several options:

Replace all the filenames manually.
Use a third party program to rename files.
Use a python script.

This script will do what you asked for.

import os
from bpy import path

def OffsetCacheIdx(pPath, offset = 0, idx_position = [-15, -9]):
    start, end = idx_position
    idx_length = end - start
    if (idx_length <= 1):
        print("Need a valid index position.")
        return

    smokedir_path = path.abspath(pPath)
    smokecache_files = []
    for (dirpath, dirnames, filenames) in os.walk(smokedir_path):
        smokecache_files.extend(filenames)

    smokecache_files = list(reversed(sorted(smokecache_files)))

    smokecache_indices = []
    # parse index to int and store in list
    for i, sc_f in enumerate(smokecache_files):
        name = sc_f[start:end]
        smokecache_indices.append(int(name))

    if (smokecache_indices[-1] - offset >= 0):
        print("Negative frame values, can't do that.")
        return

    for i, file_name in enumerate(smokecache_files):
        smokecache_indices[i] += offset
        new_file_name = file_name[:start] + str(smokecache_indices[i]).zfill(idx_length) + file_name[end:]
        os.rename(os.path.join(smokedir_path, file_name), os.path.join(smokedir_path, new_file_name))

OffsetCacheIdx("//blendcache_smoke", 10)

The only line you need to change is the last line. The first parameter is the path of the folder containing the cache files, the second parameter is the offset (how many frames you want to shift the simulation).

An optional third parameter can be the position of the index in the filename.

OffsetCacheIdx("//blendcache_smoke", 10, [1, 10])


How to connect a cylinder/sphere to a flat/curved surface surface?

There are many ways to do so. But the question is often, is it necessary. Something artist needs the normals of the meshes to behave appropriately and sometimes the effort just don't really pay for the little returns.

On this video the user is creating an emboss effect on a gold bar. There is alot of times he needs to be joining faces in his video. Link below.

https://www.youtube.com/watch?v=O0mkoMkEbc0

Although this maybe about embossing text the underlying method of how to join meshes pretty much applies for all cases.

Select the edges you want to fill.
Subdivide the edge with the lower vertex count to make a closer match the number of vertices.
Press AltF to fill.


2D 'POST_VIEW' drawing with gpu.types.GPUShader(vertex_shader, fragment_shader)

Unlike 3dview, NodeView does not have:

matrix = context.region_data.perspective_matrix

so in the callback one option is to use gpu.matrix.get_projection_matrix(), it looks something like:

def advanced_grid_xy(context, args):

    geom, config = args
    coords, indices = geom.coords, geom.indices

    matrix = gpu.matrix.get_projection_matrix()
    shader = gpu.types.GPUShader(config.grid.vertex_shader, config.grid.fragment_shader)
    batch = batch_for_shader(shader, 'TRIS', {"pos": coords}, indices=indices)

    shader.bind()
    shader.uniform_float("viewProjectionMatrix", matrix)
    ...
    batch.draw(shader)

that works with this vertex_shader

vertex_shader = '''
    in vec2 pos;
    uniform mat4 viewProjectionMatrix;

    void main()
    {
        gl_Position = viewProjectionMatrix * vec4(pos.x, pos.y, 0.0f, 1.0f);
    }

'''

nice.


Object won't highlight in the 3d viewport

Maybe you deactivated the Outline in the Viewport Overlay? In Object Mode, click the arrow next to the Overlay button (top right) and make sure the box is checked.


How can I make an image plane have transparency in Eevee with nodes?

I figured this out just after posting, Isn't that just the way...
Anyways the answer to this question was to enable the blend mode in the materials settings to "AlphaBlend" along with the Screen Space Refraction. I also cranked the shader factor to 0.0 (I can essentially disconnect the Principled BDSF) which gave me the eyelashes I was looking for.


Hair particles causing cycles render to hang on 2.9

After some experimenting it seems I was wrong about the memory. I've learned that having too many particles definitely affects memory and render times.
To combat this I reduced the number of children by half which made a huge difference but then the hair looked too thin, so to compensate I thickened up the roots.
It seems that my system will alert me if blender is out of memory when using too complex meshes but not with hair particles. Also my render times have decreased significantly.


You can do something like this:
click on the edge you to to align, in order so 3d cursor will be there-->add a plane and scale it a bit--> select the object you want to move--> enable snap during transform (small magnet icon) and select snap to face--> press G to grab and X,Y ou Z to move on that axis. Once it is close to the plane, will snap onto it. press enter, deactivate the magnet and delect the plane


The safest is to create a new UV Map via the Data tab in the Properties window within the UV Maps section, and then prepare and unwrap your additional geometry.


Rendering issues with fire and smoke in blender internal

I took a quick look at your Blend file and it looks like it might be your first attempt at fire in Blender Internal.  I made the following changes to get the Smoke portion of the Flamethrower effect you are working on to show:
  1) Your particle emitter / Flow control (plane obj) looks fine for now.  You can leave it as is.
  2) Your Smoke domain (cube obj) also looks fine for now - no changes needed.
  3) Your Material settings for the Smoke Domain are also okay.
  4) Your one Texture for Smoke requires two changes: First in the Influence section of the Texture Panel you need to check the "Volume Density" property and leave it set to one (1).  Second in the Mapping section of the Texture Panel you need to make sure that Generated is selected.  For some reason this defaults to NO selection that cause nothing to be displayed.  This is the minimal you must do to get the smoke to display when rendered.

Now you can run the animation in the 3D view, once smoke is being generated stop the animation and render the frame.  You should now see the smoke as a very white cloud.  This is a very minimal setting required to achieve a smoke effect.

The Blender Manual actually has a pretty good explanation of the proper settings for this Smoke/Flame effect using Blender Internal.

After you have the Smoke you will want to add a second texture to the same material making the changes to the properties as defined in the Manual.  Note there will be a LOT of tweeking to get the results you desire.

Best of luck.
TC


Right after clicking on Unwrap press F6 and try to change unwrap method.


How to access the search menu 2.8? (used to be spacebar in 2.79)

To access the search menu in 2.8 press F3


Rendering an animated Normal Map using Orthographic Camera in cycles

I have made a test setup that works, at least as far as I can tell:
First, it's important to set the Colour Management display type to sRGB/RAW (or to None) and the gamma value to 1.0. This makes sure that the render output is stored into the output file in a linear manner. It shouldn't affect how the RGB values are shown inside of Blender though, so this should always be correct.

Then a glance at how Blender expects normal maps to behave and how it stores the normals internally helps with setting up the material. Information on this can be found here: Wiki: Bump and Normal Maps
Quote:

Red maps from (0-255) to X (-1.0 - 1.0)
Green maps from (0-255) to Y (-1.0 - 1.0)
Blue maps from (0-255) to Z (0.0 - 1.0)

In other places, the blue channel is also mapped from -1.0 to 1.0. Either way, this means that the red and green values have to be remapped accordingly. Optionally, this applies to the blue channel, too. This is easy to achieve using math nodes (here for blue from -1.0 to 1.0):

Then, using an orthographic camera from the top, the follwing result is achieved:

Here, camera-facing surfaces have RGB values of (0.5|0.5|1.0), as expected. Also, the colours stay between 0 and 1 in all areas, but use the full range. So this looks good to me.


Can hair particles acquire color from emitter's UV-mapped image?

Yes you can, In cycles.

In the hair's material, simply add an image texture, and plug it into the color factor as such:


How to texture a beveled curve without stretching

The curve has same amount of edge loops between control points in the U direction of the curve (the setting you can set in the shape panel). UV space maps linearly to this, and changing this functionality would be hard if not impossible. Usually it's the desired functionality, preventing the textures sliding around if the curve is animated among other things.

You can however work around it by using two curves, one of which is just a straight line and holds the materials, textures, and resolution and bevel settings used for rendering. This curve then uses a curve modifier to copy the shape from another curve, which is used for just defining the shape of the final object. That way the rendered curve has uniform distribution of edge loops.


Turn to "None" the Fill Mode in the Curve Properties.


Speed of baking fluid simulation slows down drastically

Using Fluid Control objects can significantly affect your bake times - particularly when using a large Radius in the control object.

The control object 'radius' determines how close fluid needs to get to the control object before it is influenced by it. When fluid is being influenced by a control object the fluid simulation has to do a lot more work to determine how that fluid is affected by the control object (which effectively emits a force on the fluid). Therefore, the more fluid is within the radius of the control object, the longer the simulation will take.

This means that at the start of the animation the baking may take a small amount of time but as fluid gets closer to the control objects it will drastically slow down.

To limit the overhead of control objects, keep the Radius of effect as small as possible for your purposes. If you are only using stationary control objects you may consider reducing the Velocity Force radius to zero.


The glTF-Blender-IO addon ships pre-installed when you download Blender 2.80 or higher.  You can find it in the File -> Import and File -> Export menus, and both the *.gltf and *.glb (Binary bundle) forms are supported.
If you can't see those entries in the menus the addon may be installed but disabled in user preferences. To enable it go to Edit > User Preferences Add-Ons, search for GLTF and enable the addon GLTF addon.
If nothing is listed after searching you may have to download and install the addon.
The glTF file format is intended to be a last-mile transmission format.  The data is stored in a manner similar to how a modern GPU expects to find its own graphics memory arranged (with vertex attributes etc), meaning that glTF can be loaded and almost immediately rendered even on mobile devices, in WebGL, without a lot of pre-processing.
The material model in glTF does not support all of Blender's complex shader nodes.  Instead, glTF offers a principled PBR (Physically-Based Rendering) material definition, and the importer/exporter does its best to translate this to/from Blender's Principled BSDF node according to some very specific rules.  The rules for this are laid out in the Blender Manual.

This is the Water Bottle sample model.  This model and other samples can be downloaded from the glTF Sample Models repository.  The glTF-Binary/*.glb form is typically the best version of any given model to download, as it bundles all the model's assets into a single file.


How to exclude passes from EXR file when using the denoiser node?

Just plug in the outputs from the Render pass or other nodes that you need directly to the inputs of a File Output node.

EXR multilayer can have any number of arbitrary layers (use the Add input button on the node to create them), so just create the ones you need for further compositing.


See Footage Settings in Movie Clip editor, N-Panel


Custom mouse jumps to center when it reaches the edge of the game window

Check that the mouse over sensor is actually outputting a value:

import bge

cont = bge.logic.getCurrentController()
own = cont.owner

over = cont.sensors['over']
if over.positive:
    own.worldPosition = over.hitPosition

The problem is caused by what's sometimes called the 'false' logic pulse. A sensor will run the python script twice, once when it is turned on and once when it is turned off (the frequency option makes it turn on every frame). Thus, when the mouse leaves the window, the sensor outputs a 'false' signal (detectable because over.positive is not True), and the values within the sensor are not guaranteed to be sensible. In this case, the default values of the hitPosition are the center of the screen.


no shadows where mesh intersect, weird glow instead,

In Light settings, low Bias setting of shadow. If it does not help, try set up contact shadows:


Is there a way to remesh an object to match the shading?

I figured out a solution.
By marking the 'Sharp' edges as 'Ceases', and then using the 'Subdivision Surface' modifier (which lets you acknowledge creases). This seems to smooth everything out really well, without the need for shaders.

Tab into edit mode, and select the edges that you want to preserve, right click and mark as creases (or Shift-E and drag)
Tab out of edit mode, and select the Subdivision modifier
2a. Toggle 'Use Creases'
2b. Step the 'Viewport' (or whatever's relevant) setting up until you meet the desired smoothness
Apply


How to continuously increase a value with the mouse?

Hover over the field, hold Ctrl and scroll with the mouse wheel or drag these as you would a slider.


Messed up textures, can't paint most of model

You have to recalculate the normals first. When you check the Display normals as lines option in Mesh Display panel you may see that there are some parts, where normals are directed in a wrong way.

Enter the Edit Mode, select the whole object (press A), and then press CTRL+N to recalculate normals. You can also do the same thing from the tool shelf on the left.

Now all the normals are heading the right direction, as you can see in the picture below.

With the normals recalculated you can easily paint on the model entering the Texture Paint mode in 3d view, or Paint mode in UV/Image Editor.

Remember that after you paint a texture, you have to save it, in other case it won't be visible after opening a blender file next time. When you see the 'star' symbol by the Image option it means that the image is not saved.

Hope I helped you.


Making a procedural mask for a specific parts of a mesh

The Pointiness feature may be able to do what you are looking for.  You can bring the results into visual range by using a Color Ramp node.


Using rigid body physics to set objects' initial positions

Apply Visual Transform
Another way to solve this problem without the need to bake is to use Apply Visual Transform like this:

Go to frame 300 and select all the mesh pieces

CTRLA -> Visual Transform

Applying Visual Transform will set the Location, Rotation and Scale of all the selected objects to what they are on frame 300.
With this method, you don't need to bake the simulation and you also don't loose the rigid body settings.
Credit for this answer goes to sergof here on StackExchange.


are there any hot keys for changing through viewport mode like solid, render and wireframe

Z will bring this menu:

And ShiftZ will toggle from the last selected solid view (solid, material preview or rendered) and wireframe.


You likely have Tool -> Options -> Symmetry turned on (X being on but Y and Z not is actually default somewhere I think). In 2.90, this stuff is by default in the right-hand sidebar of the 3D View editor. Press N to show the sidebar, then click the Tool tab...


Knife Project (projected text) is not transforming with the mesh

It's just a vertex weight problem, I think, perhaps because 'Automatic Weights' doesn't cut it, here.

If the vertices illustrated above are assigned with weight 1 to the groups tri_R, main, and tri_L respectively, everything seems to work.

Maybe select vertices in  Edit Mode in a wireframe view, to ensure you get them all, and assign to groups with weight 1 in the Data > Vertex Groups panel, rather than painting, in this case.


Bevel preventing me from seamlessly joining two modular pieces of geometry

I created small segments that fit between them, though I really don't like this solution! So if anyone has a better one please let me know!


It turns out that the feature I was looking for wasn't actually X-ray or at least there's another workaround. Instead I used the shrinkwrap modifier with a little bit of positive offset so that the new mesh doesn't sink into the original one.


Move group instances together after rotation

Set Transform orientation to Global, not Local. It seems that 3d manipulator widget confuses you and you drag with it.

You can move them along global axis also via keyabord -  G >
 X and Rightclick Drag + X.


This is an excerpt from properties_render.py. You can right click the property and choose Edit Source.

The properties are drawn using UILayout.column(). Specifically, it is the align=True, a property of the column, which causes the properties to appear to be 'glued' together.

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

    scene = context.scene
    rd = scene.render

    row = layout.row(align=True)
    row.menu("RENDER_MT_presets", text=bpy.types.RENDER_MT_presets.bl_label)
    row.operator("render.preset_add", text="", icon='ZOOMIN')
    row.operator("render.preset_add", text="", icon='ZOOMOUT').remove_active = True

    split = layout.split()

    col = split.column()
    sub = col.column(align=True)
    sub.label(text="Resolution:")
    sub.prop(rd, "resolution_x", text="X")
    sub.prop(rd, "resolution_y", text="Y")
    sub.prop(rd, "resolution_percentage", text="")


If you want develop python addons, build one and advertise it on forums such as https://blenderartists.org/forum/ (there are probably many other good places as well, this is just what I use). Make sure you include good documentation on what it does and how to use it, or people are less likely to try it. If you want to sell it, https://blendermarket.com/ provides this option.

If you want to contribute to the main development of blender, you should read through https://wiki.blender.org/index.php/Dev:Contents first. After that, you can discuss things on the developer mailing list or on IRC (see https://wiki.blender.org/index.php/Dev:Doc/Contact for more details) and submit patches at https://developer.blender.org/


The 'glare' for the bright parts should be able to be achieved with a Glare node in the compositor - set up the Threshold to ignore any parts that are not bright enough so as to get the effect on only the highlights.

However, for added configurability you could also add in the output of a Blur node as follows :

Adjust the Glare node, the Value nodes, and the Blur settings as desired.

Note the Subtract Mix node set to 'Clamp'. This effectively removes all but the highlights - so you only get blur of the particularly bright sections. The Multiply after the Blur allows you to control the strength of the 'haze' around those highlights. The RGB node allows you to adjust the color, to bring up the blue, for example.

Here's another example - with the effect over-emphasised for clarity :


As Chaola said, probably you are trying to select the edges with the left-mouse button. To change this preference:

go to File > User Preferences (or use the shortcut Ctrl + Alt + U)
move to Input section
in the left side you can choose what mouse button you want to use to select objects


How to select a face of a torus using python?

For 1 click script
Add torus -- go to edit mode --- select a single face (confirm that ur in face selection) -- run

import bpy
bpy.ops.mesh.faces_select_linked_flat(sharpness=0.261799)
bpy.ops.mesh.select_nth(nth=3, offset=0)
bpy.ops.transform.translate(value=(0, 0, 0.5), constraint_axis=(False, False, True), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1, release_confirm=True)

If you just want to select a face loop
Add torus -- go to edit mode --- select a single face (confirm that you're in face selection) -- run

import bpy
bpy.ops.mesh.faces_select_linked_flat(sharpness=0.261799)


Need help with a clean Normal map for a character in Blender

Most likely, the overlapping geometry is rendered in the baking process, there's a method called explosion when you do baking, which consider you taking apart each element of your mesh. Here's a example:

Since your model is simple, you can do this manually, by duplicating your model, and separating each mesh element, you can do this easily by pressing L on edit mode, which will select entire elements, and move them apart. After you done this, test to bake it again and see if you get the clear results you're after.

After you have your map baked, you can delete the exploded mesh and return to the original one, finally applying the normal map.

Would recommend you to Apply Rot & Scale (CTRL+A+Apply Rot & Scale in object mode), and make Normals Consistent (CTRL+N in edit mode) before your baking process, generally many problems can be fixed with this.

Cheers,


What slots are you referring to? Where are you missing them in 2.79b or 2.8? – gtzkw

He is probably referring to layers and the interface looks like 2.79b.

  There should be slots next to global but I cant find them. - Volt

Press numpad/ or View > View Global/Local.


How do I play animations in the game engine?

This can be done in the game logic view using an action actuator. First ensure the Armature Modifier on your mesh is at the top of the Modifier stack or at least above Subserf.
Change the screen layout to Game logic and the physics type to Blender Game using the drop-downs at the top of the screen.

Select your object that you want the animation to play from and in the logic Editor space, (large grey empty bottom of the screen) click the Add Sensor button and select always.

Now remember that a sensor sets conditions for something to happen, so you may not want to use the Always in different circumstances.

Click Add Controller > AND along with Add Actuator > Action.

Select your animation in the light grey box on the action actuator

and set the start and end values to encompass the entire length of the animation. My animation is 60 frames long, so I set start to 1 and end to 60.

The last step is to connect all the little dots in between the boxes so that it forms one string of logic. Always > AND > Action

Press P to play the game and see the animation play.


Camera animation caused the camera disappeared

Check that you camera is not hidden and it is on visible layer.

And also you can try this:

  Its easy to just delete the camera and create a new one but in this
  case I will lose my animation already applied on camera.

You will not lose animation because block with animation data will not delete with object.

So you can do this:

Open dope sheet in action editor mode

Find name of camera animation data:

When delete camera and create new one. And select animation data of your deleted camera:


Why do these two have different shading?

One of your object is auto-smoothed, the other is not. You have smoothed both your objects in the Tools panel > Tools > Edit > Shading > Smooth. Blender can't smooth a very angular and low-poly mesh without apparent artefacts. With Auto Smooth it will only smooth below the chosen angle and therefore you will avoid these kind of artefacts for the superior values.


removed duplicated points, texture completely warped

This is possible to repair by recognizing which island on UV map isn't needed for unwrap and deleting adjacent vertices. It's preferable of course to avoid such situations and check for double vertices / faces' normals / holes in mesh / internal faces / non-manifold geometry etc. before starting unwrapping / rigging and so on.

The workflow consists in toggling between Keep UV and Edit mode mesh in sync modes in order to find selected vertices in UV map on the model.

Split the window and set the newly opened editor to UV/Image Editor. See How to close windows for more info about closing / opening different editors inside Blender. In Edit mode select whole model with A.
In UV / Image Editor window select top islands of UV map because they don't preserve the unwrap, but do mess up the UV map and model when doubles are removed. In order to do that select them with RMB; to add to selection press Shift+RMB. You should end up with top islands selected. Grab them and the bottom ones will be revealed (and hence the doubles are present):

Move those islands somewhere so that they don't intersect with bottom ones. Check Keep UV and Edit mode mesh in sync in the header of the UV / Image Editor. Use B to box select the top ones.

You'll notice several vertices selected on the bottom ones, deselect them with Box Select tool (because these are shared vertices by both islands, thus if you delete them you'll loose the geometry of original mesh, not only double vertices). Hover mouse over 3D Viewport and delete selected vertices.

Now UV map shoudn't react on removing doubles because mostly they were already deleted, with preserving unwrapped islands.

Blend file


MixRGB nodes don't add up Value as I expected. What knowledge am I missing?

Go get white you have to pass something that will increase the color. For example... You have add and a factor of 1.000. This means you are not mixing the colors, but instead using one input of the node.

Just curious though, what are you trying to do? Why not just use a white shader?


How would I twist a torus or circle into an infinity symbol?

One way would be to do something similar to this, but with fewer twists.

I found that  100° twist with the simple deform modifier gives a pretty good infinity symbol when seen from the top:

By animating the amount of twisting (you can hover over almost any UI element and press I to insert a keyframe), you can get a result like this:

Example .blend


Arms scrunch and lose volume when armature moves

Your arm is affected by two extra bones:
Spine.2

Spine.1

That's why your mesh only follows the arm at "one-third speed"; the other two-thirds of the influence comes from these two Spine bones.
If I quickly clean up the Spine bone's influence, the arm moves correctly.

Btw, one quick way to check what bones influence a vert is to select the vert in Edit mode and look in the sidebar under the "Item" tab. You can see a list of all groups the vert is assigned to and their weights. See the extra Spine.1 and Spine.2?


If you look in the console you will see an error being reported

  TypeError: unsupported operand type(s) for ^: 'float' and 'float'

In python ^ is a bitwise XOR operator while **, pow() or math.pow() is used for power.


I have found my answer.
1. Close the 3d view port.
Replace it with a time line or anything.
Apperantly eevee doesn't like animating while the viewport is open. (perhaps because the viewport updates too?)(not confirmed theory)

2.Delete any files that has the same naming scheme as blenders in the destination

Save the blend.
Reset the time line (shift+left arrow key)
Use a lower viewport and rendering samples. I lowered the rendering samples from 512 to 256 and it worked.
Run the simulation at least once using( alt+a)

Restart eevee if you still get crashes,but save the file before to not lose changes and remember to run the simulation once.

You can hit animation button now with no issues.


How do you solve the issue with an object with subdivision and multiple materials on it?

I guess you have two solutions:

create 4 additional edge loops close to your first edges so that it forces your texture to stick to these edges

or

unwrap your object and use a black square as a factor in a mix shader


A simple workaround: extrude two vertices on right X. then spin 180 degrees around the center of top face, with 16 steps, then remove doubles (two vertices will be overlapping but not jointed).


Run EnumProperty's update on animation keyframe change

I achieved a similar functionality by adding a handler to bpy.app.handlers.frame_change_pre. This will make the print_to_console print every frame I can then check "is the gui displaying the same value as the previous frame", and if not it is animated on this frame.


Looking for a character rig equal to AnimSchools Malcom quality, or high quality cartoonish human rig

Malcom seems to have pretty complicated face setup not sure if I've seen readily available blender rig like that around... I guess BlenRig is the closest? (Not sure if that has been updated for 2.8, though)

https://cloud.blender.org/p/blenrig/


Attaching Custom Data to the blend file, scene, objects

Only ID types, Bones and PoseBones support properties:

  Custom properties can be added to any subclass of an ID, Bone and PoseBone.

http://www.blender.org/documentation/blender_python_api_2_70_release/bpy.props.html

The only type with just a single instance is bpy.types.WindowManager, but its properties aren't serialized to .blend.


Bounding box like object stuck in viewport

Thanks to Mr Zak's links, the answer-for anyone else stuck, unable to find a good Google phrase to find it-is in the Object->Display menu.

You get it by hitting Shift-T by accident!


As the texture is projected in the positive quadrant of the XY plane of the input vector, we need to translate the coordinates by (0.5,0.5,0.0), and clip them.

And to stop the texture from being projected on other places of the geometry (i.e. the backside), one can use a mask to limit the Z distance.

Now it's only a matter of placing and orient the empty for the needed projection.

Here's an example:


Turn off the X-Ray feature on the top of the 3D viewport display setting/menu:


Add the modifier adjust settings

When using a custom profile, 2 points are created at (1, 0) and (0, 0).  Add points between these.

When finished adding points update the profile.

import bpy

pts = (
    (0.4, 0.7),
    (0.6, 0.3)
    )
context = bpy.context
ob = context.object
bm = ob.modifiers.new(
        name="Bevo",
        type='BEVEL',
        )
bm.use_custom_profile = True

bm.segments = 4
bm.width = 0.4

points = bm.custom_profile.points

for p in pts:
    pt = points.add(*p)
    pt.handle_type_1 = 'AUTO'
    pt.handle_type_2 = 'AUTO'
    pt.select = True

bm.custom_profile.update()

To work out new features, recommend using the python console and auto complete.  The API is pretty consistent. This is akin to adding fcurve keyframe points, or bezier curve points.

>>> bm = C.object.modifiers.new(name="Foo", type='BEVEL')
>>> bm.custom_profile.points.
                             add(
                             as_bytes(
                             bl_rna

Yes also found the ordering tricky, without testing it appears the first and last points could be indices 0, 1


How to see a path transform graph for animated object

In the motion paths section of the properties window you can calculate the motion path for the selected object.

For 2.8:

Press the "calculate button"

A graph of the movement and keyframes will show on the 3d Viewport.

Note that any changes on the animation or keyframes will not update autmatically, you need to hit the "update" path every time you make any changes.

For more precise control on animation use the graph editor.


Remesh modifier hits cpu instead gpu and crashes

How can I set the GPU for just everything in blender and rule out the cpu?

Actually, most of the algorithm, operation, modifier, complex computing, data handling is done by CPU, not GPU.
Although Rendering can be accelerated by GPU, but those code is rewrite/design for GPU by developer. Migrating any algorithm to GPU instruction can take a lot of effort due to the lack of some ability and the difference of hard structure. Also, only some algorithm will benefit from GPU.
Remeshing is a complex topic in CG, the new method adopted by Blender is not transferred to GPU code for now. There is nothing Blender can do for you, unless you could develop a GPU accelerated Remeshing algorithm for it.
Algorithm and GPU coding is not that easy as you described.


Boolean modifier on groups - can't select 2nd object - is this possible?

When I run your Script in a fresh Blender pasted in a Text Editor, I get a couple of Icospheres and a cube. Now I select all the Icospheres and Join all of them (CtrlJ). This joined object now works pretty well (after being hidden) with your Cube and a Boolean Modifier set to Intersect with this object:

You don't need any groups. So did I understand your question properly?

If you want to retain only that pieces separately you could Apply the Modifier and then in Edit Mode Separate (P) by loose parts.


Export Blender Character animation to Cinema 4D Lite

I would use either COLLADA or FBX.
COLLADA
Copy these setting exactly. They can be found on the bottom left when you choose what to call the file.

Overview of settings

Apply modifiers:
Applies any modifiers like subsurf, generally a good thing since your mesh could end up different on the other side

Selection Only: If you have a hole bunch of other stuff in your scene, this can be useful to limit which objects you send.

Texture Options: Allow you to send textures.

Deform Bones Only: Removes all bones that don't influence a mesh

The rest of the setting are irrelevant
NOTE: You can only export Euler rotation, not Quaternion.
FBX
The default options work, just make sure you have Armature selected:

More Options:
Simply try each one of these the C4D Lite supports. Make sure to include animation + armatures in the setting in the bottom right hand corner (like mentioned above).


How to have different origin for each object when separating a mesh by loose parts?

When you switch back to Object Mode, you can set the 'Origin to Geometry'.

With all the objects still selected, int the 3D view port, Go to :

'Object' -> 'Transform' -> 'Origin to Geometry'

Then the origin will be centered on the meshes physical center.


Hair particles render not same as 3dView(Eevee)

Your Render steps are higher than the Viewport Stand Steps.
Change that and that's it


Texturing: Adding black lines from geometry

I would just make a material with one section to handle the setting of the colors (I used a SeparateXYZ on the X followed by a ColorRamp), and then another section to make the "Trim" by using a Brick Texture with pure white fill-colors and a pure black mortar. Multiply the two together to copy the black from the trim onto the colors:


Boolean modifier (difference) not staying with part

You have to options:

You can parent the cubes. Select the child cube first, then the parent cube last. The parent is the one with the boolean modifier. (Selection color should be orange, the child's selection color should be red. Then you have the correct order.). The press Ctrl+P and select Object to parent them. With Alt+P you can clear the parent relationship again.

Note: In the outliner, the child cube will be attached to the parent cube. You need to expand the hierarchy nodes to see and select the child cube. If you move a cube to another collection, the other cube will not be moved automatically but must be moved manually to the new collection.

Or you can apply the Boolean modifier in the modifier's tab. Then the changes of the mesh become permanent (destructive). The apply button is hidden in the drop-down menu for the modifier in Blender 2.9, it's right next to the modifier's name.


I found out my problem. The Bool Tool Blender Wiki article has the wrong link. Go to the Github dl here: https://www.blendernation.com/2014/05/14/add-on-booltool/
Then download the .rar
Optionally, after downloading the .rar move to whatever folder you want.
Open with 7zip or a program that can open .rar files, and move the BoolTools.py into the folder.
Open Blender, go to User Preferences, addons, and install from file. Go to where you have BoolTools.py and select that to be installed from file. Enable it by checking the black box on the side. That should work for you, as it worked from me.

Sorry for my stupidity, I am rather new to Blender.


Armature rigging seems fine in Edit mode, but messed up in Pose and Object mode

Go into pose mode. Press "A" a couple times until your entire armature is selected. Press Alt+G, Alt+S, and Alt+R until the bones are back where they belong.


Hopefully this will get you started... As others have said lighting is very important. This example uses Cycles to render and incorporates an HDRi for the overall lighting. An emission plane for an additional reflection (Camera Left) and a point light to brighten up the "Honey".


2.8 - Non Linear Animation Editor - How to remove tracks?

Put your mouse on the track name and press X


The texture show up in the positive XY plane of the UV space, the unwrapped UV islands are placed where the creator of the obj positioned them. It may happens if someone is using repeated tiled textures (it's easy to lose the origin) or creating the model with another piece of software.

I think there may be lots of possible different cases, you shoul try to find the pattern that all the offsets have in common before writting a script for moving/resizing the UV islands for each one of the sources your files are coming from.

Automatic matching between rastered pixels of the texture sounds quite hard and just scaling & resizing to the UV texture space size won't work in may cases.

In the provided example, I would say the UV islands are's just shifted below by the height of the texture in pixel.

So grabbing the UV islands up by the amount of pixels your texture is high would be enough.


Place a node over wires without it auto-connecting

The auto-connecting feature is currently inseparable from the Node Editor's translate operations, but you can press Alt + D to Detach the node after moving it, effectively "undoing" the auto-connect.


How to identify one face of cube via Blender's Python API?

This script should find the bottom face of the cube, not taking into consideration the cubes rotation.

import bpy
import bmesh

cube = bpy.context.active_object

bm = bmesh.new()
bm.from_mesh(cube.data)

minZ = float('inf')
for face in bm.faces:
    if face.calc_center_bounds()[2] < minZ:
        minZ = face.calc_center_bounds()[2]
        bottom_face = face

cube.data.polygons[bottom_face.index].select = True
print('The bottom face is '+str(bottom_face))

Thus, you will need to either apply rotation (Ctrl + A) to all cubes or use the global Z, like this

import bpy
import bmesh

cube = bpy.context.active_object

bm = bmesh.new()
bm.from_mesh(cube.data)

minZ = float('inf')
for face in bm.faces:
    Z = (cube.matrix_world * face.calc_center_bounds())[2] ## This line is different
    if Z < minZ:
        minZ = Z
        bottom_face = face

cube.data.polygons[bottom_face.index].select = True
print(bottom_face)

EDIT: Simpler code without using bmesh

import bpy

cube = bpy.context.active_object
mesh = cube.data

minZ = float('inf')
for face in mesh.polygons:
    Z = face.center[2]
    if Z < minZ:
        minZ = Z
        bottom_face = face

bottom_face.select = True
print('The bottom face is '+str(bottom_face))

for global coordinates replace the line

Z = face.center[2]

with

Z = (cube.matrix_world * face.center)[2]


Create image effect in Cycles as FNAF / video noise effect

I'd do this effect in compositing by adding a noise texture. Create a noise texture and play with the settings until you have something you like. You probably will want to stretch it in X direction a good amount, otherwise you'll get boring TV noise...

To mix the texture with the render output, you could add them together. Also try a color mix node between the render and white with the (inverted) noise image as factor.

If compositing doesn't work, put the texture on a plane and attach it in front of the camera. In the material of that plane, the black of the texture should get transparent.

To animate it, animate either the seed or the UV coordinates.

EDIT

Just tried it out myself by compositing this effect over the default cube. Some tips:

I used a clouds texture for the noise. The default noise texture didn't want to get scaled properly
Adding the effect was not such a good idea. Mix works better
The clouds texture needs a color ramp to increase the contrast
Blurring the texture (after the coloramp) can improve the result
You should use multiple effect textures with different size and strength or use the one texture multiple times
Animation can be done by creating an offset vector with the time input and some love
If you use multiple textures, animate them in different directions

ANOTHER EDIT

Here my node setup with the result in the backdrop:

I used the same texture three times, you can see its settings on the right. The combine RGBA node is just another way to input the scale vector so that you can see its values. Do not use transform/scale nodes instead because this will look bad if you are not scaling down enough. The texture on the bottom is the basic noise, it will also work alone without the others. The texture in the middle adds some really small noise. It is only stretched by factor 3. The noise setup at the top gives some of the bigger artifacts.

To animate it, put an RGBA node into the texture offset and animate it as usual.


Add Min and Max Values to Driver Expression?

Min max

Use the expression min(max(v, 0.5), 1.25) or its dual max(0.5, min(v, 1.25)) where v is the driver variable (sound curve value)

>>> v = 0.05
>>> min(max(v, 0.5), 1.25)
0.5

>>> v = 3
>>> min(max(v, 0.5), 1.25)
1.25

>>> v = 1.1
>>> min(max(v, 0.5), 1.25)
1.1

If you wish to double the variable v simply replace v with 2 * v in expression.

I would recommend you normalize the values in some way What's the range of values on a sound-baked f-curve?

Related

How to set driver distance max and min influence?


Why does my frame range start automatically revert back to 0 after I set it?

Never mind, I forgot to mention I'm using an add-on, and with that disabled, this doesn't happen.  So it must be overriding it.


That indeed sounds strange.
What do you mean with export? As .blend file? To another program?

"Are all the islands supposed to be oriented in relation to one another?" - No except that they shouldn't overlap.

Did you bake your textures previously? (then that might have been the problem, because the lighting is set before you rotated)

Uploading some screenshots or a .blend file might help to solve the problem ;)


Why is my particle system rendering differently on my cloud rendering service?

Ok, I found the answer to this. For hair systems, click the Convert button in the Modifier tab to convert the hair to meshes. Then delete the particle system itself from the Particles tab, otherwise they'll still render. Obviously save the file before you do this or you'll lose the ability to change your particle system.


Alright, so, in edit mode you've hidden some of the mesh, which causes the weight paint not to work:

Just unhide all the mesh in edit mode ALT+H and you can weight paint again :)


Force Logs to appear in Info View when chaining operator calls

You may want to fake the report banner by creating your own and appending it to the Info_header, while having a timer operator manage it ( show and hide, set the message ) as in the following example :

import bpy
from bpy.props import StringProperty, IntProperty

#properties to pass and store the message
bpy.types.Scene.message = bpy.props.StringProperty()
bpy.types.Scene.icon    = bpy.props.StringProperty()

#fake report banner
def report(self, context):
    self.layout.label(text=context.scene.message, icon=context.scene.icon, icon_value=0)

#timer modal operator
class LoggingOperator(bpy.types.Operator):
    """Log a message to the Info View"""
    bl_idname = "info.log"
    bl_label = "Direct Log message -> Info View"

    _timer = None
    lookup = ['DEBUG', 'INFO', 'WARNING', 'ERROR']
    level = bpy.props.IntProperty(name="Level", default=1)
    message = bpy.props.StringProperty(name="Message", default="Reporting : Base message")

    def modal(self, context, event):
        if event.type == 'TIMER':
            self.cancel(context)
            return {'FINISHED'}
        return {'PASS_THROUGH'}

    def execute(self, context):
        wm = context.window_manager
        self._timer = wm.event_timer_add(2, context.window)
        wm.modal_handler_add(self)

        context.scene.icon = self.lookup[self.level]
        context.scene.message = self.message
        bpy.types.INFO_HT_header.append(report)
        bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) #force UI redraw
        return {'RUNNING_MODAL'}

    def cancel(self, context):
        wm = context.window_manager
        wm.event_timer_remove(self._timer)
        bpy.types.INFO_HT_header.remove(report)
        bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) #force UI redraw

class ForwardLoggingOperator(bpy.types.Operator):
    """Call an operator that logs stuff"""
    bl_idname = "info.log_1"
    bl_label = "Indirect Log > Calls Operator"
    bl_options = {'INTERNAL'}

    def execute(self, context):
        print("Forwarding Operator called")
        bpy.ops.info.log(level=1, message="Forward : Redirected message")
        print(context.active_operator )
        return {'FINISHED'}

class ScenePanel(bpy.types.Panel):
    bl_label = "Test Scene Panel"

    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

    @classmethod
    def poll(cls, context):
        return True

    def draw(self, context):
        layout = self.layout
        row = layout.column()
        layout.template_reports_banner()
        row.operator("info.log")
        row.operator("info.log_1")

bpy.utils.register_class(LoggingOperator)
bpy.utils.register_class(ForwardLoggingOperator)
bpy.utils.register_class(ScenePanel)


Tutorials for simple objects like Railway wagons etc

Different functions of Blenders UI is mainly split into different sections and tabs, if you stick to just the modelling sections you can avoid the clutter of buttons for texturing and rendering. You can add reference images by pressing (Shift)+(A) and going to image>Reference.
To extrude simply select your mesh and press (tab) to enter edit mode. Then select something and press (e) to extrude. You can also snap the extrusion to an axis by pressing x, y, or z.

To activate tools for measuring you can follow this simple tutorial
I also found a tutorial that leads you through a step by step process of modelling in Blender for a 3D printing purpose. Just click here.
If you have any specific questions or need help with how to approach modelling a specific object, feel free to reply to this answer and I can give you some advice.


Add weight to all vertex groups on an object?

select the object  set the addition value and Run this script :

import bpy

addition = 0.1

obj = bpy.context.active_object
obj_data = obj.data
bpy.ops.object.mode_set(mode = 'OBJECT')
for vert in obj_data.vertices:
    for g in obj_data.vertices[vert.index].groups:
            g.weight  = g.weight +addition


How come my exported (fbx) files are weird and transparent?

The blend mode for the materials, under materials tab>settings turned to opaque after being exported. This is a bug of Blender version 2.92. Download the previous version without the bug here: https://download.blender.org/release/Blender2.91/


As cubes (head), or scaled cubes (arms, notice the variations of the edge thickness for arms), you can compare the location to some threshold.
Edge detection: top line in the image below
We can take generated coordinates, and recenter them to -0.5/+0.5,
Get absolute of that.
Compare each coordinate to a threshold.
And detect the edge if more than two dimensions are above this threshold.
Camera facing effect: bottom line below
Compare the incoming vector to the normal using a dot product.
Keep only what is above a threshold.
Combine with the edge detection.


Setting Scale Z of object to zero for complete movie?

You could try to go in edit mode, and then select the vertices you don't mind (press C and then use the circle to select them) and then delete them by pressing X and the option "vertices". Otherwise I think that for make the eye moving you need key-frames. If you selected the option LocRotScale every time you reach the key-frame, it set the location (Loc), the rotation (Rot), and the scale (Scale) of the object to the value it had when you have set the key-frames. So basically you have to delete them, set the Z scale of the object to zero, and re-set the key-frames. To delete the key-frames, select the object, go on the frame on which there is the key-frame, and press Alt-I. Hope helps.


Weight painting causing animation issues in UE4, unsure how to fix

When you're satisfied with the weight paint in Blender, in weight paint mode go to weight menu and use "Normalize all", and "Limit total" to 4 before exporting.
Blender accept all weight values and do an automatic normalization when some vertices sum more or less than 1.0 of total weight; exporting a non normalized paint can result in different weight ratios.
Limit total is necessary for Unity, maybe Unreal also has this limitation.


I don't know free solution, but with paid Hair Tool you can convert simulated hair to  curves, and then attach those curves back as particle hairs - but this time with ability to edit them (comb, cut etc).


Align Object A to Object B to their respective active faces with python

It seem like the script only apply a transform matrix to object origin, which doesn't consider the local location of the face center.

You will need to calculate the difference vector between that face center and the origin of the same object, and move that object by the vector.

Here is the script I modified (with mess, Blender 2.8 API):

import bpy
from mathutils import Matrix, Vector
import bmesh

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

context = bpy.context
scene = context.scene
A = context.object

A.select_set(state=False)
B = bpy.context.selected_objects[0]
A.select_set(state=True)

#obj = context.edit_object (!) equal to A
src_mw = A.matrix_world.copy()
src_bm = bmesh.from_edit_mesh(A.data)
src_face = src_bm.select_history.active
src_o = src_face.calc_center_median()
src_normal = src_face.normal
src_tan = src_face.calc_tangent_edge()

# This is the target, we change the sign of normal to stick face to face
dst_mw = B.matrix_world.copy()
dst_bm = bmesh.from_edit_mesh(B.data)
dst_face = dst_bm.select_history.active
dst_o = dst_face.calc_center_median()
dst_normal = -(dst_face.normal)
dst_tan = (dst_face.calc_tangent_edge())

vec2 = src_normal @ src_mw.inverted()
matrix_rotate = dst_normal.rotation_difference(vec2).to_matrix().to_4x4()

vec1 = src_tan @ src_mw.inverted()
dst_tan = dst_tan @ matrix_rotate.inverted()
mat_tmp = dst_tan.rotation_difference(vec1).to_matrix().to_4x4()
matrix_rotate = mat_tmp @ matrix_rotate
matrix_translation = Matrix.Translation(src_mw @ src_o)

# This line applied the matrix_translation and matrix_rotate
B.matrix_world = matrix_translation @ matrix_rotate.to_4x4()

# We need to recalculate these value since we change the matrix_world
dst_mw = B.matrix_world.copy()
dst_bm = bmesh.from_edit_mesh(B.data)
dst_face = dst_bm.select_history.active
dst_o = dst_face.calc_center_median()

# The following is telling blender to find a translation from face center to origin,
# And than apply it on world matrix
# Be Careful, the order of the matrix multiplication change the result,
# We always put the transform matrix on "Left Hand Side" to perform the task
dif_mat = Matrix.Translation(B.location - dst_mw @ dst_o)
B.matrix_world = dif_mat @ B.matrix_world

And since the face in quad is actually not flat in most of the case, you may find out the script is not always stick the face beautifully because it is impossible to bend that face with fixed vertices position.

You may want to split the polygon in to triangle to make the face flat.

And for the matrix tutorials, it's just math problem in 3-dimension space. You may want to check out some guide of how these surface model work in most of the 3D application.

Matrix Transformation: 3D Transformation - tutorialspoint


Make an object Always face the camera, and always be upright?

Locked Track Constraint

Locked Track Constraint
Setup Suzanne  akin to a compass needle via the locked track constraint. Suzanne faces the camera (To -Y) and can only rotate on the Z axis (Lock)


Use the name of the object as the file name

import bpy
import os

name = bpy.context.object.name
outputFile  = bpy.path.abspath("//csv_export\\" + name + ".csv")

print(outputFile)

If I save my file in D:\ and my object is named Cube, the outputFile will be D:\csv_export\Cube.csv.

Increase a suffix number for each export

import bpy
import os

index = 0
while True:
    path = "//csv_export\\mesh" + str(index).zfill(4) + ".csv"
    outputFile = bpy.path.abspath(path)
    if not os.path.exists(outputFile):
        break
    index += 1

print(outputFile)

In this script, we initially construct a path to a file with the suffix 0 => mesh0000.csv. While a file already exists at that location, we increase the counter.


Like most other fields in blender when you modify this value, you actually modify the mean (not median as sometimes stated in the tooltip...) value of all the vertices, not all their individual values.
You can use the scale transform tool to scale everything along 0. Use the 2D cursor as a pivot point to do it :


One method would be to select all the edges you want to form the cage and duplicate them to provide the framework for the cage. Go into edit mode and choose Edge Select mode. You should be able to use the Edge Loops select tool to make the selection simpler as you can simply click one edge and Blender will extend the selection around the mesh (hold Shift-Alt and right-click to select).

Once selected, duplicate with Shift-D, Esc and then (without changing the selection) use Separate By Selection (press P and select Selection) to separate the duplicated edges to a new mesh. Come out of Edit mode and hide the old mesh (right-click the original object and H) so it doesn't get in the way.

To turn the duplicated edges into the frame you can simply add a Skin modifier to the new mesh to form the bars around the edges (you may need to Apply Scale first (Ctrl-A, 'Scale') to ensure the skin is uniformly scaled). Set the radius of each vertex in the properties panel to set the size (select all with A first so as to affect them all). If you have strange artifacts on some of the vertices then you might need to Remove Doubles first (doubled vertexes will cause the skin to behave strangely).

Unhide the original mesh with Alt-H and scale and position the cage as desired.

Add suitable materials and you're done.

Alternatively, to add flat faces - as in the original question - you could select each section of the separated cage (eg, an edge Up the side, over the top, and down the other side - or a loop) using the Edge Select mode and extrude it out in the relevant direction. However, the Skin modifier effectively does all this for you.


Smoothing out jagged mesh edge in edit mode

In this case, You could select chunks of your mesh in Edit Mode, and invoke (Header Menu) > Mesh > Convex Hull, followed by X > Limited Dissolve:

But you lose some edges.
One other possible approach, if you need to retopologise, or Convex Hull is not a good starting-point:  somehow make parts of the mesh available to the shipped add-on Loop Tools, and its Curve operator. (Much Slower)
In Edit mode, duplicate off a region with a profile of interest:

and..

F fill, or X > Limited dissolve, convert it to a single non-planar Ngon
To make it available to Loop Tools > Curve, at least, extrude it. This one is inset, too. Select the projecting vertices. A good sign of acceptable topology is that this can be achieved by selecting the first two vertices, and the rest, incrementally, by using CtrlShiftNumpad +
Invoke Loop Tools > Curve on that loop.
Duplicate the loop, or delete the other vertices.

Now, with Snap set to 'To: Vertex' and 'With: Active', snap the fixed profile back on to the original model. Repeat the process with other profiles.
Then you can (Edge Menu) > Bridge Edge Loops reproduce the shapes with better topology.


Where are the item dialogue boxes in OS X?

Press T to open the Toolbox.

N for the Properties

F6 to bring the poup-up (that shows the same options as the ones on the Toolbox).

If the keyboard shortcuts conflict with the ones in blender you can re-assign them using the User Properties (or better still by changing the preferences on your OS)


FileNotFoundError: [WinError 2] The system cannot find the file specified

This suggests there is a problem with the path to something in your script. I think you may need to give the absolute filepath to your myScript.py file.

Also, the "\" is an escape character in python, so if you're going to use it in the filepath to something, then you should use one of these methods:

bPath = r"C:\Program Files\Blender Foundation\Blender\blender.exe"

or

bPath = "C:\\Program Files\\Blender Foundation\\Blender\\blender.exe"


Blender has many options for viewing the 3D scene.

One of them is probably close to or equivalent or superior to the notion of undo, for some readers, not all readers.

I have focused on Menu Choices below.

I would probably advise you that Blender can provide many good views for you as opposed to a single special view.

Use the numeric keypad with Numlock on to select view orientations such as

Numpad 1,3,7,9.

You can do this the control key as well. This will achieve front right top bottom views. Numeric Keypad

2,4,6,8

rotate the view in known increments.

You can align the view to active, which respects the local axis. You could view the [front] of a model rotated at some unthinkable rotation of 33.5 degrees. Thus you could put a non renderable or renderable object in your scene to recall your perfect view orientation.

Quad View menu choice is quite useful.

Pressing Numpad . (Numpad Period .) will center the view on the current selection.  If you select 2 or more or all objects with A and then press Numpad . you will get more items in view.

Items can also be selected in the Outliner Window which is sometimes easier.

There are probably 20 similar items I have not mentioned here.


How can I create a glass globe with a sandblasted effect?

Find or create a black and white texture which separates the parts you want to be "sand-blasted" from the parts you want smooth. For example, this public-domain land-mask from here.

Open the mask image in a texture node. Plug the generated output of the texture coordinate node into the vector input of the texture node, and set the image node's projection to Sphere.
This avoids the need for a UV map, and prevents artifacts near the poles.

Plug the texture into the roughness output of a glass shader, optionally using a mix node to adjust the min and max roughness:


How do I resize colour effect strips in the VSE?

When you enable cropping, enable "Image Offset" as well.

I also recommend you check out the VSE_Transform_Tools Addon which makes this kind of thing a piece of cake.


Be aware object names are not mesh names!

(Blender) objects and (Blender) meshes are two different entities. They can but do not need to have the same name.

The replace mesh actuator allows you to search for meshes by (mesh name) within the same scene.

I suggest you select your flame object and check the mesh name at properties/mesh


How do I get rid of the extra faces created when extruding inwards?

Answer (April 2020)
This feature has just been added to Blender.
It will be available from version 2.90 (https://builder.blender.org/download/)).
It's called "Extrude Manifold" and is located in the toolbox T, under the "Extrude" dropdown, or by pressing Alt+E.

↑ Here I'm using Face select mode (3) but it works in vertex select too

Old answer (January 2020)
You are expecting Extrude to work in the "Destructive" or "Push" mode,1 i.e to be able to remove faces (and portions of them) as well as creating them. Unfortunately, Blender's Extrude doesn't currently offer that mode of operation.
For older versions of Blender, namely 2.79, there is a free user-contributed add-on that does that: Destructive Extrude for Blender, but it hasn't been updated for Blender 2.8x.
To model a mesh like the one you're after, you luckily have a very easy alternative: instead of extruding inwards, extrude outwards!

1. Using terminology from the Blender addon and from SketchUp respectively.


How do I move an object in my scene using python?

You need to give bmesh.ops.translate a list of verts to translate.

Here I've used all verts,

bmesh.ops.translate(
    bm,
    verts=bm.verts,
    vec = (5 ,5 , 0) )

This will translate the mesh verts, the object will still be at (0, 0, 0).  To move the object, don't use the bmesh.translate op and  simply set its location

hexagon.location = (5, 5, 0)

We can then make a copy and move it somewhere else

anotherhex = hexagon.copy()
anotherhex.location = (10, 10, 5)

both objects share the same mesh "Mesh".   Translating the vertices of the mesh will be evident for all objects using that mesh.

The coordinate system for blender is described here
https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Coordinate_Spaces_in_Blender#Global_and_local_coordinates

Vertex coordinates are local, relative to the origin of the object.  Look at the default cube, the coords are the eight combinations of 1 and -1 for x, y, z from the origin at (0, 0, 0).  Moving the object via its location, (scaling, rotating for that matter)   leaves the local coordinates the same.

Translating the vertices moves them locally from the origin of the object, and leaving origin in the same position.  Akin to selecting all verts in edit mode and translating.

For most cases making a primitive with origin at (0,0,0) and then moving the object is the way to go, especially for multiple objects that share a mesh.