How to get "Correct uv" to work on popup menu

Haven't had time to test this, the code comes from another answer.  Adds a menu label for each operator in the window_manager list of reg'd operators used.  The settings used for the Edge Slide operator are expanded. Added the correct_uv for you to test if changing the prop from the menu results in the behaviour you require.

import bpy
from bpy.props import BoolProperty

class SimpleCustomMenu(bpy.types.Menu):
    bl_label = "Recently Run Operators"
    bl_idname = "OBJECT_MT_simple_custom_menu"

    def draw(self, context):
        layout = self.layout
        wm = context.window_manager
        op = wm.last_edge_slide
        if op:
            row = layout.row()
            row.prop(wm, "set_correct_uv")
            row.prop(op, "correct_uv")
            layout.separator()
        # reverse order
        ops = [o for o in wm.operators]
        ops.reverse()
        for o in ops:
            row = layout.row()
            row.label(text=o.name)
            if o.name == 'Edge Slide':
                layout.separator()
                row = layout.row()
                row.label(text="bpy.ops.transform.edge_slide(%s)" % ", "
                         .join(["%s=%s" % (k, str(v))
                                for k, v in o.properties.items()]))
                for k, v in o.properties.items():
                    row = layout.row()
                    row.label(text="%s = %s" % (k, str(v)))
                # draw the prop
                row = layout.row()
                row.prop(o, "correct_uv")
                layout.separator()

def get_correct_uv(self):
    op = self.last_edge_slide
    if op:
        return op.correct_uv
    return False

def set_correct_uv(self, value):
    op = self.last_edge_slide
    if op:
        op.correct_uv = value
    return None

def get_last_edgeslide(self):
    ops = [o for o in self.operators if o.name.startswith("Edge Slide")]
    if len(ops):
        op = ops[-1]
        return op
    return None

def register():
    bpy.types.WindowManager.last_edge_slide = property(get_last_edgeslide)

    bpy.types.WindowManager.set_correct_uv = BoolProperty(get=get_correct_uv,
                                                             set=set_correct_uv,
                                                             name="Set Correct UV")

    bpy.utils.register_class(SimpleCustomMenu)

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

if __name__ == "__main__":
    register()

    # The menu can also be called from scripts
    bpy.ops.wm.call_menu(name=SimpleCustomMenu.bl_idname)

Narrow down the operator list above to the last occurrence of the Edge Slide operator, can also look at context.active_operator

Added a property on the window_manager with a getter and setter to emulate the operator property, and a last_edge_slide property on the window manager to return the last used edge slide op, or None.


From those images, I can only guess. Is it only visible in edit mode? Is it only on that edge? Have you tried to rule out usual suspects? Remove doubles, recalc normals?

Try this: add a bevel modifier to your object with segments > 2, does it disappear? if so you should be fine and this is only a viewport issue.


How to procedurally add a precious metal vein to rock

Just use a texture to determine the mix between two shaders

Adding a color ramp (or RGB curves would work as well) you can control how the texture affects the mix.


Why can't I bake any kind of functional normal map?

Switch from Blender 2.8 to 2.7 or 2.9, because 2.8 may be buggy with regard to baking.

Create a new image for the normal, enable the 32 bit Float option:

Your bake Extusion value is much too high, bring it back to 0.1 (or give your Ray Distance a value of 0.1):

In the Shader Editor, use a Normal Map node, not a Bump node.

Bake:

The low-res without the Normal map:

With the Normal map:


I placed the origin points in the same position and it worked. I didn't think the problem could be that easy. Thank you so much.


The addons path(s) is already known to blender, hence you can import from any addon within a scripts/addons folder, without the need to alter sys.path.

from io_anim_bvh import import_bvh, export_bvh
from space_view3d_copy_attributes import rotcopy

whether the addon you are importing from is registered or not.

There is also the scripts/modules folder.  Packages located there can be imported directly (akin to site-packages)

import osmium as o #  pyosmium


Snap transform pivot inside of selection

I'm not at my computer right now, but I'm pretty sure I would...

Select vertices to move
Press G to grab them
Press X or Y once, to restrain movement to that axis
Hold down ctrl to snap to grids
Zoom in a bit to snap to smaller grid squares or out to snap to larger ones


You can name your node group after exiting node group edit view, by selecting the Node Group and editing the text in the name box directly, or on the Properties Tool Shelf > Properties Panel to the left, while the group is selected.

Your Node Groups will be automatically erased once they have no users in your file, that means it is not used in any material and they have no Fake Users (pressing the F button to the right of the name.

Have in mind that in Blender data isn't truly deleted until your restart Blender.
That means Materials, Node Groups, Mesh or Object data, and everything else.

If you press the delete button it will stick around during that session with a Zero number in front of the name stating that it as no users. It will only be truly deleted after you restart Blender


how to make the Curve shape and join it with the another mesh

To make the semi-spherical shape alone, you can do it this way. If you want to make the whole object in one piece you will have to apply the Solidify modifier and start with this topology, which is totally possible.


Apply transformation from axis of one object to different axis of another object in Blender?

This is fairly easy using drivers. Look into that on docs.blender.org
Right click the property you want to drive from, and select “copy as new driver.“ Then go to the property you want to be controlled, right click, and click “paste driver.“


Creating Holes in Cylinder for Lightsaber

I have a few pictures that I can set up to show you. First, you add 3 loopcuts through the area you are working in. After that, you select 4 faces to make the inset for the rectangle and then 6 for the circle. I select the inner faces after the inset on the area to be turned into a circle, and duplicate it and separate it from the mesh. In object mode, I select that set of faces and use Looptools > Circle to round them into a circle after shifting the view to top view down with selection by pressing Shift Numpad 7. Here I then turn on the magnet and select Faces and then just press G to grab and confirm without moving it - the circle is then projected to the cylinder underneath. Join them back together with ctrl-J and enter edit mode -  and then delete the faces underneath , and scale the circle to fit the hole.  I used alt-M top merge at last by selecting the outer ring vert and then the one in the circle. After completely welded back together, I inset the faces to create another edge loop and then delete the inner faces for the circle and the rectangle.


How to remove self intersecting parts of model after Bridge Edge loops?

Rather than trying to do it yourself, Blender (2.8+) comes with an addon built in for producing extra mesh objects including pipe joints.
Search 'extra' in the Addons section under Preferences and check 'Add Mesh: Extra objects'

You'll then see an extra section on the 'Add menu' with a Pipe Joints section:

Add an Pipe Elbow and change the settings to what you need:
Then add a Solidify modifer, adjust its thicknes and apply it to give you the final object:


Rotate (generated) UVs of environment texture without mapping node

This is a node setup for a z-axis rotation.  The other 2 axis' are just as easy but adding all three axis' into one formula gets very complicated.

To rotate the image, adjust the Value node that is located at the top-left in the "Deg 2 Rad" frame.

Note: The math nodes all have two "value" fields but only the upper field is used for trigonometry so just ignore any values in the lower fields.


Using pythons's any and all

In general, code like in your question can be shortened considerably using ptython's any or all methods. any is True if any item in a list is True, and all returns True if all are True.

In this case using any to determine if any object in the scene is on a designated layer.  any(o.layers[l] for l in layer_range) emulates your inner loop break.

import bpy
context = bpy.context
scene = context.scene
layer_range = [1,2,3,4,11,12,13,14]

dirty = any(any(o.layers[l] for l in layer_range)
            for o in scene.objects)

print("Layer Range is dirty:", dirty)

PS: not sure this is "better", it is IMO more readable.


Unable to export textures with .obj files

Make sure the import and export properties are like below:

For importing make sure Image Search is checked:

For exporting make sure Write Materials is checked:


It's a clipping issue. If you increase the far plane of the camera you will see the entire wall.

With the Clip End set to 1000m it looks like this:

I'm no sure if you intended to scale your models that large. Perhaps it would be a good idea to scale all of them down. Your ball is currently 5.77m in diameter.


I've found a solution that's pretty simple with the help of this video: https://www.youtube.com/watch?v=lPCs4XbGth8

Basically, create a controller particle system that manages other particles systems. Then create the first (1) particle system which keeps the leaves tracked onto the tree, using No 'Physics'. Then, create a second (2) particle system in the same position, which uses Newtonian physics and Brownian motion.

In the controller cube, the first key should be attached to (1) and second key should be attached to (2) and you can use timing to set how long you want the leaves to stay attached.

It's an alright start: https://imgur.com/a/I6dVId5

One problem is, the leaves fall off all at once. The Brownian motion can hide this and make it look like some leaves stay attached for a bit longer.


Python Triangle Function Crashes Blender

I think you're calling triangulate() incorrectly.

From the Manual:

  triangle.triangulate(tri, opts='')
  Perform triangulation on the input data 'tri'. 'tri' must be a dictionary that contains the following keys:

  vertices - 2-D array that stores the xy position of each vertex
  segments - optional 2-D array that stores segments. Segments are edges whose presence in the triangulation is enforced (although each segment may be subdivided into smaller edges). Each segment is specified by listing the indices of its two endpoints.
  holes - optional 2-D array that stores holes. Holes are specified by identifying a point inside each hole. After the triangulation is formed, Triangle creates holes by eating triangles, spreading out from each hole point until its progress is blocked by PSLG segments; you must be careful to enclose each hole in segments, or your whole triangulation might be eaten away. If the two triangles abutting a segment are eaten, the segment itself is also eaten. Do not place a hole directly on a segment; if you do, Triangle will choose one side of the segment arbitrarily.
  regions - optional 2-D array that stores region attributes and areas.

It looks like triangulate cannot take a simple array, it has to be a dictionary.

Take this example from the Manual:

A = dict(vertices=array(((0,0), (1,0), (1, 1), (0, 1))))
B = triangle.triangulate(A)
triangle.plot.compare(plt, A, B)
plt.show()


Using the Rain rig, struggling to get IK hand to be constrained to a prop

I figured out what the issue was. It was a dependency loop thing. Earlier in the shot I had the bat constrained to the left hand when she picks the bat off of the floor. And now I added another constraint where the left hand is now constrained to the bat. So having both constraints exist is what was causing what you see in the video above.
Solution was to bake out the animation of the first constraint, delete it, and then add the new constraint. Not ideal, but it worked.


How can I make Christmas lights to put on a Christmas tree

You could do this with Modifiers, E.g. an Array modifier and a Curve modifier:

Create a stretch of wire with a light or two. The ends should be precisely placed so that the array modifier can merge them.

To model such a basic lowpoly cable, you could add a Circle with 5 vertices:

Then:
In edit mode, rotate 90 on the X axis (RX90), then extrude (E) it to both sides with increment snapping (Ctrl) so it is aligned to the grid:

Create two loop cuts (CtrlR) on either side of the middle edgeloop, then delete the middle edgeloop (Delete> Edge loop)

Scale the two top vertices apart (SY):

Extrude the two top faces up (E) and flatten by scaling to 0 (SZ0):

Extrude and scale in, extrude and scale up in a bulb shape, then merge (AltM) the remaining vertices:

add an Array modifier and enable Merge:

Add a Curve modifier and set the Object to a curve object:

Also see this tutorial on Blender Cookie


Is there any way to make the surface look smoother without subdiv or smooth shading?

Welcome to Blender Stack Exchange!

From the image you provided, it looks like smooth shading will be the best option. To fix the issues you mentioned, there is an option called auto smooth. It can be found under the Normals heading in the Object Data Properties panel, which is the little green triangle icon at the bottom right of your image.

If you enable smooth shading then turn on this option, it will keep edges above a certain angle sharp. You may have to adjust this angle, but the default is often pretty good. So for example the edge of the chamber will still have a nice crisp edge.

Here's a comparison that shows the difference between the different shading options. The first is flat shading, the second is smooth shading (with the issues you mention), and the third is smooth shading with auto smooth turned on.


I can't snap 2d cursor to vertex in UV editor in blender 2.8

I turn on snapping in UV Editor and the only thing that snaps is the vertex that I move, snapping to the location of the nearest vertex. I don't believe that snapping works with the cursor location, that I still have to use Shift + S  menu and choose Too Selection.


My models need a model file in .x accompanied by D, N and S texture files in .dds format, how would i make my model opaque?

OK, I've managed to answer this myself. I was messing with blender last night, trying some other stuff when I stumbled across the answer myself.

You don't actually need to set any alphas in blender (except to tick the alpha box when you hit new image for the UV unwrap), it's all in the editing of the textures afterwards.

For GIMP users, simply edit your UV textures as you would normally except this time right click on the texture layer you want to be opaque, select mask layer and chose white (full opaque).

Your texture should now be opaque, to choose how opaque it make sure the texture layer is selected and use the alpha slider located between the blend drop down and the layer list (before you do all this make sure the image you are using is in a format that can have an alpha channel, like png etc).

If you want to give it a coloured tint, or maybe darken the opaque image then use the fill tool on the mask to apply a colour.

Then just finish up the textures as you would normally, it should now be transparent in the areas you chose.


maybe you can use animation nodes
first make your array and use object offset and scale it down a little

then make copies if your object mesh (make sure your base object is in center, actually it doesn't matter that much)

now fun part

Note that instance count and amount in disterbute node is same, also I had to rotate base object along Z , just adjust stuff(nodes values and empty scale and location) to get good result and hide base object.
also make sure when rotating base you rotate its empty as well
if something went wrong try reconnecting nodes (animation nodes dont like ctrl+z)
here is my result with this


Materials and Exporting to different formats

Material definitions can become very complex. Simple things like the Color, Specularity, Transparency can be exported to .obj (wavefront format). More complex material definitions which involve the texture stack can not be exported as .obj afaik. However, if you ask if exporting materials is possible "in principle", then the answer is "yes":

You can transport more complex materials by using FBX or Collada as transfer format. But beware, not even with these formats you can transfer the complete material definition. This is partially because the material properties are blender specific, and partially because the exporters have not (yet) implemented the full capabilities.

I know that the Collada exporter allows to export materials with image textures in the texture stack. I guess the FBX exporter can do that as well (but this needs an approval)


How to get rid of black lines over finished render images?

The problem is that you have enabled freestyle render wich is responsible for these black lines. So to fix the problem you have to look for „freestyle render“ in the render tab and disable it.


You don't need to do this in BGE.

In object mode select your physic object or objects then in the Tools Panel select Physics and Bake To Keyframes.

Blend file:


I want to copy animation data but I don't want to use CTRL+L, how can I do that?

You can use CtrlL to give the same animation to all the objects. Then when you want one of these objects to have its own, press U (Make Single User) > Object Animation.


What value does the Displacement input of the Cycles Material Output node expect?

The confusion is probably stemming from the fact that this output was changed post-2.79. More confusingly, the later builds are still officially labeled as a form of 2.79 due to how Blender versioning works. For clarity, the rest of this answer will use "2.79" to refer to the stable release and previous versions, and the term "nightlies" to refer to the post-2.79 versions available in the buildbot. So:

In 2.79 and earlier, the displacement output was a float output (gray socket). The values expressed a displacement along the normal in decimeters. Yes, 1/10th of a meter. I don't know why this particular scale was chosen, maybe it was considered more artist friendly? In any case, this system was always a little unfinished and many people (myself included) have warned that it may change behavior in a later release.

Well, in the latest development trees those changes are here. The displacement socket has been replaced with a vector3 (purple) output. It now describes a world space transformation from one location to another, rather than along the normal. If you do need to simply displace along the existing normal, the new Vector>Displacement node you linked will do that. It takes a scalar heightfield and calculates a position along the normal based on the values. It outputs a world-space vector of the new mesh shape which you can feed to the displacement output. This works similar to the old displacement, but the scale is now in meters. So a value of 1 results in 1 meter of displacement instead of 0.1 meters.

There is also a Vector>Vector Displacement node. Since the new displacement is just a world-space position, it is now possible to describe more complicated shapes, such as baked down sculpts. The input itself only supports world space vectors. The Vector>Vector Displacement node can convert other formats, such as a tangent space, into the world space format needed for the output.


Extruding square shape (from mesh) along curve results in a flattened mesh

The problem is your object called "square". It does not have the same orientation as the "Cylinder.001" that you used to extrude the Cylinder. The curve will be extruded on the local Z axis so make sure its facing the direction of extrusion.
A quick fix is to open the object "square" in Edit Mode and rotate it on the Y axis by 90°.


How can I obtain an even vertex density base mesh?

Add loop cuts to the larger parts of the wall ctrl R, so that the size in between the loops is about the same as the thickness of your wall. Then subdivide, if the base mesh has about the same size topology, then subdividing will yield same size topology.


Cloth simulation presets are gone, how do I get them back?

It's probably easier to just tell you what the default presets are:

Cotton: Steps 5, Mass 0.3, Structural 15, Bend 0.5, Spring 5
Denim: Steps 12, Mass 1, Structural 40, Bend 10, Spring 25
Leather: Steps 15, Mass 0.4, Structural 80, Bend 150, Spring 25
Rubber: Steps 7, Mass 3, Structural 15, Bend 25, Spring 25
Silk: Steps 5, Mass 0.15, Structure 5, Bend 0.05, Spring 0

These are as of 2.77.


How do I get from the default view to the 3D Editor View?

Ctrl+upkey with the mouse cursor in the windows, the same to get out.
Nkey and tkey to pop side panels.


How to use those arrows for scaling the cube?

Most likely the "tutor" is scaling the object.
Press S (shortcut for "scale") and move the mouse out (to grow), or in (to reduce size).
But you should seriously consider following a "tutorial" that actually explains things... Don't waste your time with videos that don't help you learn.


Preview and Final Render Materials are Different

So I had to make sure that the resolution of the simulation between it's preview and final render were the same


Where is the default text object font (Bfont)?

The font is bfont.pfb

This is a built-in font which means it  is compiled into blender. The font file is available from the blender source tree in release/datafiles

You can access and download the file, e.g., from the GIT repository at blender.org:

http://git.blender.org/gitweb/gitweb.cgi/blender.git/tree/HEAD:/release/datafiles

In the directory listing, search for the file bfont.pfb and click in the rightmost column on "raw" to download and save the file.

Or try this direct link:

http://git.blender.org/gitweb/gitweb.cgi/blender.git/blob_plain/HEAD:/release/datafiles/bfont.pfb


Transparent Material in Blender but not in Unity

When working with transparent textures you'll have to set up a separate material in Unity that has it's surface type set to transparent and another material for rendering the opaque parts, In blender you'll have to assign an extra material slot for this transparency the extra slot will show up in the material options for your model in Unity.

Select the parts of the mesh you want to use the transparency and click "assign"

In Blender

In Unity


Accidentally hit "toggle full screen", How do I exit?

To toggle out of full screen area (what I think you did) press AltF10, or move your mouse to the top right corner and click the button that appears.
Here I start in full screen area, notice the button that appears in the top right corner.

If you just maximized the window you can get back to the normal view a number of ways.

Click the "Back To Previous" button in the info window at the top.
Press CtrlUp Arrow
Press CtrlDown Arrow
Press ShiftSpace

If you toggled blender into full screen view press AltF11.

Update
For blender 2.8 the shortcuts are

⎈ Ctrl + Spacebar to toggle maximize

or

⎈ Ctrl + ⎇ Alt + Spacebar
 to toggle Full Screen.


Check normals, doubled vertices, and possibly triangles to quads.

Normals: Ctrl+Shift+N "outside".

Merge doubled vertices: Edit mode, select all, Alt+M "by Distance".

Triangles to quads: Edit mode, select all, Alt+J.


Creating a helix look for a marble track

One possible way to go about accomplishing this would be to use an Array modifier on a single segment of your track. Make sure the origin of your track segment is at 0,0,0. Position the track segment in edit mode to the outside of your helix.

Create an array modifier on your track segment object using the Object Offset mode. Create an empty to use as the target object.

The basic deal is that every transform you apply to your empty gets applied between every iteration of the array. So, I rotate the empty 15° (360/24, the number of segments) about the Y axis. Then I moved the empty very slightly along the y-axis to create your helix effect.

The attached file contains the basic set-up. In my demo I used the merge options in the array to create a seamless loop. You can use the same principle if you want each segment to be disconnected. You will likely have to rotate your track segments very slightly about the z-axis in edit mode if you do in order for them to line up, or you will get this kind of stepping effect:


How to straighten edges when subdivided?

In my opinion, without adding more geometry, the image you included in your question is about the best you're going to get.

Referring to this image,

the way I'd change the geometry is to make the loop cut shown by the black line I added within the selected area. Next, I'd delete the face only under the two sets of green edges. I'd select the remaining edge from this face, and subdivide the edge into five segments. Now, I'd move the vertices labeled with a "1", the end vertices of the loop cut located at the black line, and the two sets of new vertices in the two green lines, and move those to conform to the position of the reference image. Then I'd build new faces in at the end. The three (I know the upper green line might look like only two, but it's three) green edges, plus the existing edge to which they attach at each end are each intended to make a quad, as do the the two approximately parallel edges from each side, the remainder of the original edge, and the original edge parallel to the cut.

To get the shading right, you may have to adjust the shading of the new geometry, and you may find additional geometry in this area provides a more satisfactory appearance than the two green-edged quads, but this illustrates the general principle.


Is it possible to move an FCurve from one bone to another?

I found that this moves an FCurve from one bone to another:

def moveFcurve(action, fromBone, toBone):
    for fc in [fc for fc in action.fcurves if fc.group.name == fromBone]:
        fc.group.name = toBone
        for channel in fc.group.channels:
            channel.data_path = channel.data_path.replace(fromBone, toBone)


Bone matrix assignment behaviour change in Blender 2.80


Pointiness for edge mask doesn't work at all

Subdivide the cube. It requires more geometry to be displayed. "Dirty Vertex Colors" in Vertex Paint mode works the same way if you want to mask out edges and corners.
EDIT: No wait I just realised what's wrong. You should move the color stop sliders in the ColorRamp node more to the left. Tried setting it up like yours and it's all black here as well. Try 0.515 for the black stop's position.


The curve is going in different directions because there are gaps in the curves. In your case there are several point where the curve has a gap. It looks like it is a single continous curve but actually there are 2 end points on top of each other that only make it look like a single curve.
You can fix this by moving on of the overlapping endpoints away form the other and than filling it, use F to connect to points. The direction of the curve will then automatically be normalized. Just to be sure: when you are done with that you can also normalize the curve using Ctrl+N

How to find these overlapping points:
To find these point you can in Edit mode, hover of a point with the mouse and hit L. This will select all the connected points. You can than select the end points manually.


How to remove "jumps" of trackpoints in Camera tracking when moving them?

see blender.stackexchange.com/questions/14330/… –  cegaton 56 mins ago

So my answer is solved now I think. After reading this I know, that the "jumps" the lines are doing are caused by moving them. Because if you move one its speed increases immensely. And if the lines indicate the speed of a tracker, they will go up too. That's causing the jumps.

The other points where the red and the green line is connected. A new Trackpoint was created.


"No Render output node in scene" rendering a simple animation

This means you're using Compositing nodes but haven't fed anything to the output node or don't even have one.
Either you don't need compositing, in which case you just open the compositing editor and uncheck the use nodes option in its header, or you connect some output node.

The usual one is the Composite:

A simple one, you just plug whavetver you want to have at the end in its Color input. That's basically a node saying to blender "I want this as a final result". There are plenty of other outputs nodes you can try too. But that's the one you will use more often than not.


Transferring materials made in Cycles Render to Blender Game Engine

Cycles and the BGE don't share the same (or even remotely similar) material systems, and the materials are not transferable between engines. That means you will have to create a new material when switching engines. However, if you have any image textures or any other non-procedural data you can reuse them, you will just have to set up the materials to use the texture.


The shortcut Alt+c was removed from the default keymap in 2.80 unfortunately. You can bring it back by just right-clicking on the option in the menu and selecting Assign Shortcut. If you do that you will have a shortcut for the specific operation and not the convert menu like it was in previous versions. If you wanted to bring it back exactly like it was, you need to go to the User Preferences(F4 -> p), find it using Key-Binding search mode and just remove the Target property there so it is unset and you are presented with the choice when you hit the hotkey.


Upgrading an Old Python Script : Change all Image Paths at once

You are right, this script is severely outdated (2009 !) This should do :
import bpy

# The path which should be replaced
oldpath = "C:\\OLDpath\\"

# The new path which replaces the old one
newpath = "D:\\NewPth\\"

image_count = 0

for image in bpy.data.images:
    if not image.filepath.startswith(oldpath):
        continue
    image.filepath = image.filepath.replace(oldpath, newpath)
    image.reload()
    image_count += 1

print(f"Image paths changed: {image_count}")

We take advantage of the python string method string.replace(old_string, new_string) to swap the paths. Note that they must both be written the same way, like in your example.


How to turn off the light from particle settings?

You just need to remove the light in the Moths collection. The particle emitter is duplicating the insects but also the light inside the "moths collections".


Drive the value of a Follow Path constraint

Right-click on the Offset value of your constraint.  Add driver ->
Scripted Expression (don't worry, no script needed)
Open a Driver Window (Shift F6)

In the driver select the armature as the object, and the control
bone as the bone.
Choose Y location and local space.
The expression should just be var, nothing behind it.
Move the controller in local y direction (in your scene global z)


Your keying set is "LocRot", every time you press I or place automatic keyframes, some Loc and Rot keyframes are created, but not scale values.

Your blinking eyes are drived by a scale value, so simply set your keying set as "LocRotScale" and you'll be OK.


I'm not sure how to fix this scaling issue

There shouldn't be any problems achieving that but in your case you have 0-area faces around those faces you're supposed to scale, probably it will help if you select all and press W > Remove doubles or you can start from scratch.
Aside from that I'd like to add that shape - scaling faces out and corner vertices in - can be created in 1 step by selecting all and pressing Shift+Alt+S to activate To Sphere tool.


BGE: How to change camera's focal length?

These two lines are all you need to change the active camera's focal length.

cam = bge.logic.getCurrentScene().active_camera
cam.lens = 90.0 #or whatever value you want

bge.logic.getCurrentScene().active_camera gets the active camera in the current scene.
Then cam.lens is accessing the lens attribute of the camera defined in line one.

Read through the docs about the game camera, and you will see other properties you can get or set.

Do note that because field of view and focal length are related you can not set both lens and fov at once. Which ever value you set last will be the value that is used, and the other will be calculated for it.


How to select multiple keyframes in the dopesheet

Simply go to your Dope Sheet, Press B for "box Select" and drag the left click button to select the keyframes and perform the operation you want.


As long as you follow the Rigify bone naming conventions, the rig widgets should generate. As it looks like you're creating your own custom rig, I recommend you read through the Rigify documentation so you understand how the addon works.


This won't set a default.. IMO, storing a base shadeless material in a startup file is a good way to go, as Timaroberts suggested...

import bpy
for mat in bpy.data.materials:
    mat.use_shadeless = True

But it will clobber all the materials in your Blend file, and make them shadeless, if they can be.


Rectangular/Portrait orientation. Is there any way to change the size of the camera?

Flip/Invert the Resolution X & Y properties in the Dimensions Panel (Properties > Output > Resolution).


Since my comment worked, here it is as an actual answer:

When your collision object has no thickness, you either need to add thickness (e.g. by using solidify), or check the Is Planar box, and fake thickness with the Surface Thicknesss slider.

A lower value will be more realistic, but risk smoke passing straight through, while higher values will more likely stop the smoke, but might look weird as the smoke will stop before reaching the geometry.


blender immediately shuts down my computer whenever cycles renders anything

TL;DR:
it was a bios setting that by default, shut down the computer when you tried to use it
full version:
I did end up finding the issue, but its what I least expected. to, in the bios on my mobo, you can control the current going through the VRM's, you can adjust it in percentage so that if it goes over a certain percentage, it'll enter a shutdown state and reset. mine was set to 35%, of the total allowed current draw, so it would shut down if it went over that. I was measuring different points on the motherboard, and I noticed that the shutdown on the VRM controller was being triggered, but there was no voltage drop, (which would mean its a power supply) so I went into bios and I found probably the most annoying default bios setting I've ever dealt with, the current shutdown limit, mentioned above.
my full setup, for anyone else having this issue:
ASUS TUF gaming+wifi x570 running the second latest bios as of 8/12/20 (all stock settings
aside from the boot order)
3900x, stock clocks with a 240mm AIO
1080ti founders edition, stock clocks
32 GB 3200MHz DDR4 corsair vengeance
Seasonic 900 watt PSU
3 HDD's, an ODD, and an M.2
running windows 10 home edition x64 fully updated as of 8/6/20
Blender version 2.83
latest Nvidia drivers as of 8/11/20
steps to create the issue:
render anything using the cycles render engine using the CPU.
steps to solve the issue:
adjust bios settings, specifically under advanced<DIGI+ VRM<current shutdown, from 35% to 100%. another thing that may have worked is flashing on the latest bios, or re-setting everything to defaults, but I don't recall changing this setting, so it may be a bug in this bios rev, IDK, but this fixed my issues. hope it helps :)
P.S.  sorry for the information overload, but I figure if anyone else has this problem, too much info is better than not enough info.


Blender 2.8 keeps crashing while rendering

While I can't pin-point the source of the issue, it seems to be caused by a problematic interaction of modal operators by some add-on or script and the auto-save feature which causes the TDR-Delay (Timeout Detection Recovery) to be exceeded.

The current workaround is to restore the factory settings. This can be done in Edit > Preferences. First load the factory settings by clicking on the button in the bottom right corner. Then save the preferences to make these changes permanent.


GPU can be used for faster viewport display, more vertices count. A PC with a powerful GPU can handle Millions of vertices and faces, but Consumer Notebooks cannot be used to get that performance. GPU can also take over some functions of CPU in rendering, it can handle Volumes , Procedural Textures better than CPU, specifically GTX is mostly used for Realtime, and is famous among gamers, and RTX is for  has specific algorithms for raytracing, (useful for Cycles in blender). When you set Your GPU in the CUDA section in Preferences , you let the GPU do most of the calculations in blender(after setting to GPU Compute in Render settings) and it can do somethings faster than your CPU.


This is because you're using Cycles, but the tutorial you linked is for Blender Internal Render. You can switch to BI by going to the 3D view's header and, to the left of the Blender logo, using the combo box to select Blender Render.


I have the same problem .
But i accidentally found a solution so I thought  I should share it.
The  import export options like . Fbx  etc are missing In layout workspace, if you switch to modeling you will find all the other import export options.
Same in case of  exporting uv layout, it's missing if you open a window and use uv editor but it's present in uv editing workspace.


Transform one object to another with animation

This is what I mean in my third comment, ie: if you can use "text" objects (not letters meshes), you could also start from the "straight" text and use the "text on curve" setting, using a curve to achieve the same effect, then you could animate the curve from arc to linear to get the desired effect... basically it's always easier to produce the curve and then reverse the effect in animation...

here the text object is "deformed" by a "flattened" curve.

You can simply animate the curve deformation in reverse...

If you have text meshes instead, you could use shape keys like this:

And even here you could just animate the shape key values in reverse...

In the end, about other solution I suggested in comments above:

deforming the whole object is not feasible: letters will be distorted
separate single letters and try to animate each from rotated to straight is feasible but extremely difficult, complicated and, imho, not worth.

I would use one of the methods described above, instead.


Using a baked position as new start position

It turned out all my objects had an animation linked to them for some reason (I'm guessing it is because I had been experimenting with keyframes as another way to solve my question, but I'm not sure). I reverted to a backup file without the linked animations, and it works just fine now.


AttributeError when moving object with script

When you select multiple objects one of them is highlighted in a lighter colour. This "lighter" object is known as the active object and is the object that bpy.context.object refers to. This active object may be just one of many selected objects that is listed in bpy.context.selected_objects.

When manipulating objects using python the active object can be left undefined or no longer pointing to a valid object. In this situation you will get the 'NoneType' object error which is saying that the variable you used (bpy.context.object) is a NoneType or null and non existent object so has no location attribute (or any other attributes).

Using bpy.context.object and bpy.context.selected_objects are convenience properties that allows a script to dynamically work with the currently selected objects and allow it to differentiate the one active object. An example is the copy attributes addon which can take a property from the active object and apply it to the rest of the selected objects.

If you know the name of the object you want your script to work on then accessing it through bpy.data.objects['name'] will reliably refer to that object every time. If you want to use an operator that works on the active object, then you can set the active object with bpy.context.scene.objects.active = bpy.data.objects['name']


Fading on additional materials to a section of an object

To fade from one colour to another you add keyframes to the factor of a mix node.

You can also get more control by using an animation to control which colour is used. Dynamic paint could be used to create the image sequence.


Emulate 3 Button Mouse not working on Satellite laptop

The reason this is happening is because Alt+LMB is the Ubuntu/Linux shortcut to move a window around. You may be able to circumvent this by using super+alt+LMB depending on your version of Ubuntu.


It is possible repeat a set of commands for multiple objects?

Using bpy.ops is really not recommended, as it needs context. The context will be wrong.
I suggest this instead:
If you want to create only 1 data block of a material:
import bpy

scene = bpy.context.scene

mat = bpy.data.materials.new("My Material")
mat.use_nodes = True
nodes = mat.node_tree.nodes
node_attribute = nodes.new(type="ShaderNodeAttribute")
node_attribute.location = (-1405.21, -1784.65)
node_attribute.attribute_name = "Col"

for o in scene.objects:
    if o.type =='MESH':
        o.data.materials.append(mat)

If you want to create a new material for each object instead:
import bpy

scene = bpy.context.scene

for idx ,o in enumerate(scene.objects):
    if o.type == 'MESH':
        mat = bpy.data.materials.new("My Material_"+str(idx)) #to make your personal index into name (if you want)
        mat.use_nodes = True
        nodes = mat.node_tree.nodes
        node_attribute = nodes.new(type="ShaderNodeAttribute")
        node_attribute.location = (-1405.21, -1784.65)
        node_attribute.attribute_name = "Col"

        o.data.materials.append(mat)

Note:
If you want work only on selected objects , you have to replace for o in scene.objects:with for o in bpy.context.selected_objects:


How can I convert empty images so that they would show in the render?

DanielEngler has created an add-on to convert Image Empties into mesh objects.

After installing and activating the addon, simply select an Image Empty and click on the "Add Image Planes" button in the Empty to Image Plane tab of the sidebar in the 3D view.

Related discussion on BA


Blender 2.91.2 Mantaflow fire + smoke simulation doesnt fully render in Eeevee (very little smoke and no fire at all) vs in solid object

Problem solved! Seems like it's the problem with 2.91.2 itself. Tested using 2.93 Alpha and it works well. Had to change blackbody intensity in shading editor of the domain and everything works well so far. Updated pictures in post.


There are a couple different kinds of baking.
Texture baking
Baking could mean that you calculate specified data, and save it to a texture, which then you use in your material.
The purpose of baking is to save in render times, because Blender recalculates all shadows, lighting and what not, every single frame, which results in a lot of time wasted time for long animations.
However, render baking should only be used on objects which don't move, or aren't affected by other moving objects (except for the camera), otherwise the viewer will notice that shadows are moving when they shouldn't be, or are not moving when they should, breaking the illusion of realism.
Physics baking
Baking can also mean precalculating physics simulations such as Cloth or Rigid Body. For this Blender saves them to a file, which then loads when rendering or playing back the animation so that the physics don't have to be recalculated every time.


I bet those 4x8GB gpus are much faster than single 32GB card. Here are some options:

Get the faster setup and a renderer that can do out-of-core rendering like Octane or Redshift. This allows your GPUs to use system RAM while rendering in exchange of slightly lower render speed. This is something Cycles can't do yet. If you are spending money on hw you might as well get a software.
Get the faster setup and if you hit VRAM limits optimize your scene - you can split the rendering into multiple render layers which you would be probably doing anyway on such large projects.
Getting the 32GB card has also benefits. This comes handy when doing physics simulations accelerated by openCL and you want to fit the ocean or the whole smoke explosion into your card. Blender is not there yet regarding simulations and can't accelerate it on gpu, but if you were using Houdini or something similar you might benefit and need this much VRAM. Simulations can't be easily split like rendering can.

8GB of VRAM is quite a lot and definitely sufficient even for serious production use. Most will be taken by:

~1GB for every 8 million triangles
500MB for Cycles kernel
64MB for each 4k texture (8bit x RGBA)
200MB for each 4k HDR texture (32bit per channel)

When you are not rendering you might want to mine crypto on those gpus and maybe those 4x8GB cards will pay themselves faster than that single 32GB one. Another thing to consider maybe.


Storing preferences without having properties in every scene?

This sounds like you would want to have a user-preference for the addon,
Blender supports this through bpy.types.AddonPreferences

This way, the addon can have settings that are saved with the user defaults.

API docs include example usage.


My mesh stretches and warps whenever I pose it?

You've probably scaled your armature on the Z axis in Object mode, so apply its scale in Object mode (or you may have stretched your bones in Pose mode but probably not).
You probably wanted to scale your character on the Z axis but it's not the way to do it, you need to select your mesh and scale it in Edit mode to do so, then change the bones size in Edit mode as well.


Slight variance in floor (normal mapping?)

There are several things you could do, one way would be to put the Normal value into the Glossy BSDF shader as well as the diffuse:

However I would recommend using the Material Output node's Displacement input. I find that it works very well though in many instances, your type of scene especially.

Here is an example of what it does:

You can do this with any texture, from noise to musgrave to image to normal, they all work using this method. Now of course, the mesh profile will not change like with a real displacement modifier, but in your case, this doesn't matter, as you only want it to look like the bumps are there, and unless you put the camera right down next to the boards looking towards the horizon, you will never notice the difference, Much faster too.

You can also change the strength by using a Math node set to multiply:

You can find this node under Add > Converter > Math.

You can now change the height of the bumps by changing the lower Value up or down.

You can also use negative values to invert the bumps as well.

In your specific instance, you need to set up your nodes like this:

Then you might want to re-make your floor mesh, as currently it is made from many N-Gons. Anyways, be sure to change the Mix shader value, it is set so only the glossy will show (1.0 glossy shader)


This is a wide area, but I did have one thought about it myself:
The eSpeak speech synthesizer can output phoenomes instead of sound. You could make something to line up shape key keyframes based on this, although timing might be an issue. You might look into either the eSpeak Python api for synthesis timing check on the words, or even try the Descript project: they might provide synchronization data for the layman.


Blender using my CPU instead of GPU even though all settings are set to GPU

It might be that you looking the performance of integrated gpu, that's why it shows 0%.
In task manager make sure you are looking the stats of your dedicated gpu.
Also change graph to cuda


Since the displacement modifier uses textures, you can make use of texture sampling options which apply with the example you give.

In the texture's Image Sampling panel, make sure Interpolation is enabled, and increase the filter size (values between [1.5 ... 2.0] give quite smooth result, 3.0 and above are smooth but you loose definition).

You may also want to change the color-space of the image between linear/srgb.


Rendering Blender animations on a server: more RAM or faster CPU or both?

Note: I assumed that you are just running a single blender render instance on the system at the same time.

Depends on the complexity of you scenes. If these are rather simple scenes than not that much of RAM is needed. Adding more RAM will then not increase performance. More RAM will only increase performance when the machine is going to swap on disk.

If the complexity of the scenes are known, then the Amount of RAM can be received from blender easy (see top bar). Add some percentage slack and you will be fine.

If you still want to render more quick, then just add more CPU's. Blender is optimized to scale very well by just adding more CPU. It does not have noticeable overhead on memory.

Another way to increase performance is to optimize your scenes. There are a lot of topics and tutorials on area's where you can win speed.

So to answer short: Find RAM needed for the complexity of your scenes. Then just add more CPU's.


How do a put a movie over a rotating cube?

This is mildly tricky but because it is a cube, not terribly difficult.
You need to UV Map the cube so that each face is a separate UV "island".
Select the cube
Enter edit mode
Select all.
The use the edge menu to 'mark seam' all of the seams.  You bring up the edge menu by typing CTRL-E[![Marking all the edges as seams][1]][1]
Now create a shader for the cube by going to Material Properties and clicking the '+' sign.
In the shader editor window you will have a new shader that consists of only the principled shader.
Add an image texture node.
[![added an image texture node][2]][2]
connect its color to the shader's color input
connect its alpha to the shader's alpha, as shown.
Click the file icon and select your movie.  In my example I picked an mp3.
Set the file type to movie
Set the number of frames to the number of frames in the movie.
Now comes the 'fun' part.  Your movie won't have the same aspect ratio as a cube.  So you need to unwrap and position the cube's faces one at a time.  Here's how.
Open a UV editor window and a 3D window.  (In 2.9 you can go to the "UV Editing Tab"
In the drop down window of UV editor, select your movie[![selecting a movie][3]][3]
In the 3d view select the cube and go into edit mode.  Select one face of the cube.
Type UU.  The first U will bring up a menu: [![unwrapping menu][4]][4]
The second U selects the first entry "unwrap"
Now a square will appear on your movie[![The unwrapped face.][5]][5]
You need to do this for each of the six faces.  You may need to move and rotate the squares in the UV editor to get the movie in the orientation you want.
[1]: https://i.stack.imgur.com/iqcYq.png
[2]: https://i.stack.imgur.com/rUcYY.png
[3]: https://i.stack.imgur.com/425j8.png
[4]: https://i.stack.imgur.com/m3xDd.png
[5]: https://i.stack.imgur.com/iTDqV.png


Create a black and white Displacement Map in image editing software.

Add six Edge Loops CTRL+R. Then select the two inner Edge Loops and Scale them in press S and then SHFT+Z to keep them from moving on the "Z" axis.

Using Cycles create a new material and bring the Displacement Map in to the Image Texture Node (Set this to Non Color Data).

UV Unwrap your bullet using Cylinder Projection. Open your Displacement image then Scale and position the UV Map to fit the image.


Texture painting from Plane to mesh? Like 3ds max

I don't know much about texture painting, but this looks like a projected UV map.

Add the image texture to your model
Put the camera in front
Add the UV project Modifier and target the camera


I have traced this back to the OSL code where the 'traceset' is accepted and passed out to the compiled 'oso' file. This is further passed to Cycles to be executed and does indeed include the 'traceset' string.

However, on picking through the Cycles source code I came across the only reference to 'traceset' in the following function (trace) :

bool OSLRenderServices::trace(TraceOpt &options, OSL::ShaderGlobals *sg,
    const OSL::Vec3 &P, const OSL::Vec3 &dPdx,
    const OSL::Vec3 &dPdy, const OSL::Vec3 &R,
    const OSL::Vec3 &dRdx, const OSL::Vec3 &dRdy)
{
    /* todo: options.shader support, maybe options.traceset */
    ShaderData *sd = (ShaderData *)(sg->renderstate);

    /* setup ray */
    Ray ray;

    ray.P = TO_FLOAT3(P);
    ray.D = TO_FLOAT3(R);
    ray.t = (options.maxdist == 1.0e30f)? FLT_MAX: options.maxdist - options.mindist;
    ray.time = sd->time;

    if(options.mindist == 0.0f) {
        /* avoid self-intersections */
        if(ray.P == sd->P) {
            bool transmit = (dot(sd->Ng, ray.D) < 0.0f);
            ray.P = ray_offset(sd->P, (transmit)? -sd->Ng: sd->Ng);
        }
    }
    else {
        /* offset for minimum distance */
        ray.P += options.mindist*ray.D;
    }

    /* ray differentials */
    ray.dP.dx = TO_FLOAT3(dPdx);
    ray.dP.dy = TO_FLOAT3(dPdy);
    ray.dD.dx = TO_FLOAT3(dRdx);
    ray.dD.dy = TO_FLOAT3(dRdy);

    /* allocate trace data */
    OSLTraceData *tracedata = (OSLTraceData*)sg->tracedata;
    tracedata->ray = ray;
    tracedata->setup = false;
    tracedata->init = true;
    tracedata->sd.osl_globals = sd->osl_globals;

    /* raytrace */
    return scene_intersect(sd->osl_globals, ray, PATH_RAY_ALL_VISIBILITY, &tracedata->isect, NULL, 0.0f, 0.0f);
}

Note the comment /* todo: options.shader support, maybe options.traceset */ - this is the only mention in Cycles source of 'traceset'. So, although the 'traceset' is passed into Cycles from the OSL shader it is not actually processed. This would seem to show that the 'traceset' option of the OSL 'trace' call has not yet been implemented.


Use a bevel object. You can enter the name in the Bevel Object field in the Geometry panel of your main curve object.

A bevel object is a second curve object that is extruded along the main curve. This gives you great flexibility to choose how the cross section of your main object should look like since you are not limited to rounding the edges. In that example however, I just imitated the original bevel.

I set the bevel bezier curve to Vector with the V menu. That produces straight lines. Alternatively you could use a nurbs curve with Order set to 2. I also put the object origin of the bevel curve on the curve. The origin of the bevelling curve is the reference point for the bevelled main curve.

In the picture below, you can see(from left to right):

The original size of the curve
The larger diameter, caused by an ordinary bevel.
The bevel object with it's object origin in the right place.
The resulting bevelled curve object with exactly the same diameter as the unbevelled curve.

A simple example of what a bevel object can do (the curve on top of the bevelled curve is a duplicate to illustrate the size of the unbevelled curve):

The artifacts at sharp corners can (so far) only be countered by altering the main curve or by doing a boolean surgery. Even converting into a mesh and bevelling that produces unwanted results. That seems to be the main reason behind the bevelled curve growing in size.


How to properly import from CATIA v5 to Blender?

You can use a Decimate modifier in Blender to make your mesh more manageable. First, import your high-res .stl in to Blender. To try and minimize shading artifacts and improve the Decimate results, select the whole mesh in Edit Mode and apply Remove Doubles (Mesh > Clean up > Remove Doubles).

After that, go to the modifiers panel and change the method to Planar (I can't tell what exactly your mesh is from the pictures you gave, but It looks like it is mostly flat).

Adjust the Angle Limit and Delimit settings so that your mesh looks good without a loss of detail on high-res areas, then apply the modifier.


the attributes are to control particles you can use them to change particles scale, rotation, etc...
I have a tutorial you can watch here: https://youtu.be/YudUfp0N2QU


Connect the 'Alpha' output (or even try Color Output alternatively) of your 'image-texture' and connect it to the Alpha 'Input' of the Principled BSDF node.
I will take a look at the file later, if not solved by tomorrow.


I would like to have same offset at Extrude Faces Along Normals

It looks like your object has been scaled in Object Mode, so even though you’re extruding an even amount in Edit Mode, after applying the object transformation, it looks uneven.
The way to fix this is generally to apply the object transformation, committing it to the mesh and then resetting the object transformation to zero. You can do this in Object Mode by pressing CtrlA (for apply), then selecting “Rotation & Scale” from the resulting menu. Then you can go back into Edit Mode and try extruding again, which should now produce what you expect.


A charge force field can work like honey or a magnet, as particles move close to it, they slow down or stick to it depending on the settings, with two opposing fields (one on the particle system) you can get a magnetic result that draws the particles to the force field.

Note that gravity overpowers a charge, so you should set gravity to 0.0 to see the effect.

The charge setting in the particles field weights defines whether a particle sticks to the charge field, as you increase it particles passing through the charge field will start to stick.

By also having a charge field on the particle emitter you can use positive and negative values to have the particles drawn to or repelled from the field, like magnets.


How to assign vertex group to single bone

Just name your vertex groups the same as your bones. The bone named "hand.left" will animate the "hand.left" group (by default the weights are set to 1).
Then both select the mesh and the armature (in this order) and parent it (ctrl+p) with empty groups.


Render is much faster when laptop is plugged in and charging

Your issue lies in power management.

Your operating system (Windows 10) is currently instructed to limit performance of your CPU and GPU and in order to save power and extend battery life and longevity.

It sucks.

How to fix it:

Navigate your way to Control Panel
Go to System and Security
Go to Power Options
Go to Change Plan Settings
Choose Advanced Power Settings
Verify that minimum processor state and maximum processor state are set to 100% all the time
Set cooling policy to active
Disable PCI Link State Power Management

I don't have Nvidia graphics, so I can only assume there is a power management section in the NVidia Geforce Experience or something

Since you're on a laptop, you should also buff up your integrated graphics as the data from your 2060 may or may not be passed through the integrated graphics card.
Follow the BlenderGuru's advice to speeding up Cycles rendering in general.
https://www.youtube.com/watch?v=8gSyEpt4-60
Update your drivers if needed.


Consider adding Collision objects and applying a force in the Physics tab.

Particles are affected/moved by a force.

In the image above the blue cone has Wind Force attached in the Physics tab.
Particles are being moved to the right.
Experiment with the forces as suits you.

Cyan Plane is collision object in the Physics in the image above.

Particle system from large yellow sphere.


Pressing P leaves Blender frozen, how to get undo?

If this happened when you pressed P, you've started the Game Engine preview. Press Esc to return back to your normal view.


Blender No Equilateral type in camera lens

You must be in Cycles to access this option:


How do you select an edge loop with BMesh?

This is almost a duplicate of this question. Simply add the select statement at the end. I also branched the code sample to go in both directions of the first edge.

e = bm.edges[0]

for loop in e.link_loops:
    if len(loop.vert.link_edges) == 4:
        e.select = True

        while len(loop.vert.link_edges) == 4:
            # jump between BMLoops to the next BMLoop we need
            loop = loop.link_loop_prev.link_loop_radial_prev.link_loop_prev

            # following edge in the edge loop
            e_next = loop.edge
            e_next.select = True


I've somehow got rid of my navigation bar so that it no longer appears in layout mode, which is a pain

Click on the little arrow icon to show the Navigation Bar for the Properties. You've likely dragged the properties area (edge marked in blue) when you wanted to resize the entire area. Instead you should drag with the cursor placed at the green line for the intended result.


bpy.ops.armature.duplicate_move() not creating a duplicate

Try this:

import bpy

arm = bpy.data.objects['Armature']
bpy.ops.object.mode_set(mode='EDIT')
bone_to_duplicate = arm.data.edit_bones['Bone']
arm.data.edit_bones.active = bone_to_duplicate
arm.data.edit_bones.active.select = True
bpy.ops.armature.duplicate_move()


Does Blender support the new AMD Vega M GL graphics card? If so, how must it be configured in order to work effectively?

Go to User Pref/System under Screencast switch none to OpenCL and choose you GC


HDR images are very toned down in blender?

The hdris are not like regular image textures, they must be fed through Environment texture rather than Image texture into background node like in the image above.
The difference between Image texture and Environment Texture is:
Image Texture: They apply on geometry.
Environment Texture: It's self explanatory. They apply and affect the scene's world.


Change collision properties through time

Like many of the values in blender the collision properties can be animated. You can't enable/disable collision entirely but you can change properties such as friction and stickiness so that it is effectively disabled.

Either with the cursor over the value press I or  RMB and select Insert Keyframe, then go to another frame, adjust the value and insert another keyframe.

When changing values in an on/off manner it is common to add keyframes on two neighbouring frames. In the graph editor, you will want to change the interpolation type by selecting the keyframes, pressing T and choosing either vector or constant to prevent value variations between frames.


Sometimes it's hard to paint some areas in the 3D Window. You may try going to UV Editor, change the mode from View to Paint and paint these areas there.


Procedural textures don't have MIP maps. They are calculated whenever they are needed. But if you're planning to use those textures in any other engine, you should bake them, and therefore you can create your own MIP maps.


Objects not rotating with each other (Rubik's cube)

All the small cubes of the Rubik's cube need to have their origin on the exact same point and it needs to be on the middle of the Rubik's cube. Also, when you've rotated and keyframed a face and its 6 cubes, make sure that you've also keyframed all the other cubes even if they are still, otherwise they will interpolate between other keyframes you've created for them and you may not want that.


What does `filter` parameter of Template_id do? and How to use it?

Linked to current scene, or any.

Have used this for setting the active object, or pointer properties to bpy.types.Object instances.

'AVAILABLE' for objects linked to context scene
'ALL' for all objects in the blend file.

Setting an object not linked to a scene to the active object of that scene is going to cause issues.
GIF shows following  draw method used in  (Used in gif above with Templates > Python > UI Panel Simple)
    def draw(self, context):
        layout = self.layout

        obj = context.object

        col = layout.column()
        col.template_ID(context.view_layer.objects, "active", filter='AVAILABLE')
        col.template_ID(context.view_layer.objects, "active", filter='ALL')

See Limit "prop_search" to Specific Types of Objects  re using poll to narrow down selection options for pointers.


An EXCEPTION_ACCESS_VIOLATION can only ever be caused by a thread accessing virtual RAM that it's not supposed to. That's the only possible cause.

There are only two ways that can happen.

1) a thread is writing to a RAM location that belongs to another thread. I cannot stress enough how uncommon this case is for production applications. This is practically unheard of. If this ever happens (which is rare) it's a driver, not an application.

2) an application ran out of memory. It's NOT uncommon that a program will "detect" that there is no more available memory by just attempting to address some, getting told "STAHP!," and then crashing.

I suspect that you're loading a lot more than you think you are, or you have some kind of weird circular dependency that is just recursively loading stuff until it crashes. This has also happened when the GPU runs out of VRAM. There's a weird thing that when a GPU runs out of VRAM, sometimes nobody listens... consequently, the system keeps loading stuff, ignoring the fact that it's all going to RAM... and then Virtual RAM... and then crashes.

I'd recommend manually trying to render on each machine to make sure they're all working fine.

Unsolicited Advice

Really, the best way to network render if you have fewer than 10 machines is to set up a network drive (or Dropbox, but DB is slower) and have all your machines render separately (as if they were rendering by themselves) to that location. Turn on "Placeholder" and turn OFF "Overwrite." Each machine will attempt to render a frame by creating an empty file with the right name. Because "Overwrite" is OFF, when it sees that a file with that name already exists, it will skip to the next frame. It will continue skipping until it's able to create a placeholder. Then it will start rendering that frame. When it finishes rendering the frame, it'll attempt to create a placeholder for the next frame, and the cycle starts over again.

This method is great because it automatically balances the load among "differently-abled" machines. Each machine just renders the next frame in the sequence. You can also stop any machine at any time, and add any machine at any time, without disrupting the process. Especially if you've got them all loading the same Blender file from the same location (network or Dropbox), you don't have to spend a lot of time copying Blender scenes from one computer to another.

Note: If your frames are coming out too fast, or if your network is too slow, two machines might create the same placeholder at the same time, and that frame will (oddly) end up getting skipped. Just stop one of the machines, delete the skipped file, and start it again. That machine will skip to the gap, render that image, and then skip to the next missing frame.


How do I put a stencil-like texture across a sectioned object?

This can be done quite easily actually in the Cycles render engine with an empty and by using Object texture coordinates.

First create an empty and position it where you would like the decal to be placed on your object.

Now setup the following material nodes for the bars.

Make sure Min and Max are checked on the Mapping node, this clamps the edges of the texture so that it doesn't repeat infinitely.

Instead of the two diffuse shaders you can use whatever materials you would like for the plain bars and the stenciled text.  The bottom diffuse shader is for the text, the top diffuse shader is for the bars.

This leaves one problem however: since the texture is infinitely thick along the Z-axis the texture will be stretched across the inside edges of the bars undesirably.  To fix this amend the above node setup with some math nodes as follows.

The added nodes use a Less Than Math node to to test if the absolute value of the Z component of the mapping coordinates is within a certain range (in this case I am using threshold of 0.03).  The multiply node works like a logical AND between this test and the alpha channel of the decal texture.


There is an option for Keep Vertex Order in the .obj importer. Use that and you should be fine.


How to do apply a shadeless material bump map

To achieve this effect, I just turned up the "emit" setting in the materials panel.


How do you turn off an objects interaction with others in the scene, but still show up in the render?

You don't need to put it as a plane, you can just import it as a background. You might have the background as alpha, if you do, turn it off.


You can do this with my addon, Mesh Align Plus (mating, relative movement/positioning, and other abstract precision transformations are its specialties).

To mate an object (or a group of objects) to another, just grab a source and a destination plane, then hit apply (to the selected objects). The GIF below shows relative positioning of 4 separate bracket objects, along with some uniform-spacing after the mate operation:

[][3]

You can think of the "Source" and "Destination" planes as 3-dimensional guides for your alignment. You can grab these guides from anywhere: a real face, or 3 disconnected verts (or from separate meshes, or the 3d cursor in the advanced tools).

You can apply operators to object(s), or to mesh parts. And, you can apply an operator to completely separate/unrelated objects also (this is what makes multi-object editing/relative positioning in the GIF work).


Is there an easy way to turn parrent child objects into rigged objects

A script to create an armature, create and place each bone at the objects and child objects positions. Then it makes each object parented to the respective bones (bone parenting).

Note that the script will loose the previous parenting hierarchy as an object can only have one parent.

From that if you want rigged objects, not just bone parents, simply select them all and parent to the armature.

Script principles:

Create an armature at the parent object location with same transformations
Parse the object hierarchy and create an edit bone for each object, recursively
Parse again in object mode to make the parenting to each object

Nearly each line is commented below. But if questions, please ask.

import bpy
from mathutils import Vector, Matrix

#Create the armature
def create_armature(object, collection):
    armature_data = bpy.data.armatures.new(object.name)
    armature = bpy.data.objects.new(object.name, armature_data)
    armature.matrix_basis = object.matrix_basis
    collection.objects.link(armature)
    return armature

#Create the bones
def bone_from_hierarchy(object, armature, parent_bone = None):
    #Create a bone parented and disconnect to its parent
    bone = armature.data.edit_bones.new(object.name)
    bone.parent = parent_bone
    bone.use_connect = False

    #Get its transformation matrix inside the armature from the object matrix
    matrix = armature.matrix_world.inverted() @ object.matrix_world

    #Place head and tail
    bone.head = matrix @ Vector()
    bone.tail = matrix @ Vector((0.0, 0.0, 1.0))

    #Recurse through the children objects
    for child in object.children:
        bone_from_hierarchy(child, armature, bone)

#Parent the objects to the armarture
def parent_from_hierarchy(object, armature):

    name = object.name

    #Get the pose bone
    bone = armature.pose.bones[name]

    #Keep the object position
    matrix_world = object.matrix_world.copy()

    #Parent it
    object.parent = armature
    object.parent_type = 'BONE'
    object.parent_bone = name

    #Make so we can unparent and keep object's position
    bone_matrix = Matrix.Translation(bone.tail - bone.head) @ bone.matrix
    object.matrix_parent_inverse = (armature.matrix_world @ bone_matrix).inverted()

    #Assigns its position
    object.matrix_world = matrix_world

    #Recurse through the children
    for child in object.children:
        parent_from_hierarchy(child, armature)

def make_bone_hierarchy(object):
    if object:
        armature = create_armature(object, object.users_collection[0])
        #Enter edit mode for the armature in order to create edit bones
        bpy.context.view_layer.objects.active = armature
        bpy.ops.object.mode_set(mode='EDIT')
        bone_from_hierarchy(object, armature)
        #Back to object mode
        bpy.ops.object.mode_set(mode='OBJECT')
        #bpy.context.view_layer.objects.active = object
        #Parent the objects to the armature
        parent_from_hierarchy(object, armature)

root = bpy.context.view_layer.objects.active
make_bone_hierarchy(root)


Can blender import collada files with external references?

Yes, Blender can indeed load geometry from external references.

I had bungled the test, because my referenced file was missing the tag:

<library_nodes>
   ...
</library_nodes>

Once I put those in, Blender did a great job of loading external references from Collada. Sorry for the confusion.


How to make it so that objects don't pass through each other?

Generally, this kind of actions are made using Inverse Kinematics:
when the hand reaches the table you switch the arm from FK to IK, put the IK hand controller in the same position as reached by the FK hand controller so, in the following frames, the hand stays still as the arm is moving.


Is it possible to hide curve handles behind other objects?

No, that is not currently possible.

What you could do is separate them into more objects and leave the ones that you are not currently working on in object mode or even hide them. You can also hide splines of the same object or parts of them in edit mode by selecting them and hitting h(alt+h to unhide all or shift+h to hide everything except selection)


I can't see lamps or selection outlines or anything "orange" in 3D view anymore

The only thing, that can make lamps and outlines disappear is "Only Render" Display option in right panel (the one that appears and disappears when you press N )


Can I change the display color of names of grouped objects in the viewport?

Yes, you can change the theme so that grouped objects are black:

In ⎈ Ctrl⎇ AltU> User Preferences > Themes > 3D view > Object Grouped.


Python text block selection box in add-on?

this is the solution code that will make script search box.

import bpy

class OBJECT_PT_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 draw(self, context):
        layout = self.layout
        scene = context.scene
        layout.prop_search(scene, "Script", bpy.data, "texts")

def register():
    bpy.utils.register_module(__name__)
    bpy.types.Scene.Script = bpy.props.StringProperty()

def unregister():
    bpy.utils.unregister_module(__name__)
    del bpy.types.Scene.Script

if __name__ == "__main__":
    register()


How do I apply the correct physics to a chain?

I just found the answer, the margin is automatically set to .01m. This is too big for the little chains I made and made them explode all over the place. I put it to .001m and now it works like it should.


is there a better way to smooth/flatten specific areas of a mesh than the tools or modifiers?

You might try selecting the faces you want perfectly flat and scale them to zero in the z direction (assuming you want the flat aligned with the x-y plane). You can use proportional editing mode to get surrounding faces to transition toward the flat area.


Armature: Clear Vertex Weights of selected Mesh

Select the vertices, if there is no active vertex, deselect one, and select it again with Shift RMB.
Enter the desired weights for the vertex, then press copy, to copy the settings to all selected vertices.

Although the other vertices copied the weights, there still may be additional zero weighted groups. To remove them, use Clean button on all groups.


I discovered that this is a known issue of Blender 2.81. Seems to happen when 4 or more 3d noise texture nodes are used.

Bug details: https://developer.blender.org/T69776

With Blender 2.82 Beta works properly, at least in my case.


Blender has a texture painter tool that could fill in that area with a smooth color. If all the textures have their own UV islands, it is a simple fix.


The easiest way to fix this is to project the texture from a perspective view and then manually adjust the top and bottom edges to remove their curve. To do this press 1, as you are looking down the Y axis, and press the middle mouse button to exit orthographic view. Select the entire surface and press U then V to project from view. Then open the UV Editor layout. Select all the points on one of the curved edges and straighten them out by pressing S, Y, 0, and do the same to the other curved edge.


How to add faces to a cylinder top? (cookie)

If I were you I would make the text apart, you won't notice it's another mesh, or join it with the rest with some tris. I would just model the ornement then join with the outer circle:


Rendering from at batch file fails on Windows

You are missing the file extension. The full name of the file is "layout_A.blend". So your command should be:

cd "C:\Program Files\Blender Foundation\Blender\blender.exe"
blender -b "C:\Users\Andy\Documents\Buildings\Malvern\Sienna\Pavilion\8x8\layout_A.blend" -a


How do I get the 'Filepath' attribute from a sound strip in the VSE?

You need to access the sound property of that strip which has the filepath property:

bpy.data.scenes['Scene'].sequence_editor.sequences_all["demo.001"].sound.filepath


Is there a way to determine if a ray is coming from a volume?

Okay I am not sure about using some sort of 'Is Volume Ray' value to make a light source only illuminate a volume, but if you simply want a lamp/meshlight to only illuminate a volume scatter material, in the ray visibility settings of that light, you can leave only the 'Volume Scatter' ticked and the rest unticked:

Keep in mind that the light source may still end up illuminating the scene due to multiple volume bounces and the density of the volume.

Here is a simple scene with a point lamp directly above suzanne with a volume scatter material and a maximum of 32 volume bounces. The ray visibility is of the lamp directly above suzanne.

Here is the same scene except with only the 'Volume Scatter' ticked for the point lamp.

Here is the same scene with only 8 volume bounces. You can see how there is more light exiting suzanne with 32 volume bounces than with 8, though it is a very small difference.


Best way to divide a face of a cube into several specific faces

Press CtrlR, then use the scroll wheel to bring the number of cuts up to two. Enter out of it, and then press S to to scale, and constrain it to a specific axis. This insures that the loop cuts are evenly spaced, and not one further away from the edge than the other.

You might notice that the middle edges go through the top and bottom sections. While you might now like to see this, it is necessary. You could technically do with out it by using N-Gons, but this is generally a bad idea.


How can lock editing to one patricular line in graph editor?

Click on the eye near the line name to hide it.


The result of render is physically OK. If you want to avoid darker parts in the background, then you will have to change your setup of lights. If you do not want to add more global lights, then you can add lights to groups and background material can be influenced only by lights in selected group:

There are probably other possible options how to fix it; e.g.: you can render background in separate render layer and tweak it in compositor


I cant create an inset on the face of an extrude

It appears that you have duplicate vertices in the area you are trying to extrude. Try Mesh>Clean-Up>Merge by Distance, then adjust the merge distance to get a good result. After this, to aid in the help of extruding and beveling, switch to object mode, then press CTRL+A and select Scale to apply scale. Now select that face in edit mode and try inserting face again. It should work.


Multiplying AO over diffuse/albedo/base color is never "right", hence why it often gives that overly shadowed and dirty look. This is a pretty famous blog post by Zap Andersson on the subject that sums it up really well:

http://mentalraytips.blogspot.com/2008/11/joy-of-little-ambience.html

The tl:dr if you don't feel like reading all that is that AO is not color information at all, it is a sort of fake indirect shadow pass.

The "correct" way to attach baked AO in Blender Internal - assuming you are actually using it for pre-cached ambient occlusion - is to set the mode to multiply and change the influence to just the ambient channel, like so:

This way it will only shadow the ambient light (ex, the environment light in the world panel) and not the direct illumination from your real lights, which is already shadowed.

Of course, all this assumes you are actually using it as baked AO data. If you have AO enabled in the world settings, you don't need baked AO at all, because you are calculating global AO at render time. Also, ambient occlusion bakes are useful for a lot of texturing tricks besides actual AO, since they tend to highlight contact points and crevices where dirt is likely to collect. If you're using AO for dirt, you generally will end up blending it over the diffuse color (and possibly the spec/gloss/roughness/whatever-it-is-in-your-shader). This is because in that case, the AO is not shading data at all but is instead being used as color information. On a side note, if you are using AO maps for dirt, it helps to take the map into an image editor and use a brush to break up the even shading. Dirt doesn't collect in nice gradients the way AO shading does. You may even want to pre-layer it over your color map at this point to save having to load an extra texture.

While we're discussing AO, I should probably point out a pretty common misconception when using Cycles. Cycles does not NEED actual AO for anything, ever. Cycles does not have a true ambient light. The world light acts like one, but it's actually a physical light at infinity in all directions rather than a classic CG ambient light. Cycles calculates indirect light "for real" and those diffuse rays are already occluded, even on secondary bounces.

Cycles has AO functions because they're useful for all sorts of artistic things, but in most cases you should not use an actual AO map. If you want it for artistic texturing purposes it is almost always better to integrate it with your color map ahead of time rather than within the shader. But it's not a shading thing you have to do, your GI is already properly shaded without AO.


Fast streaming camera view to video for linux (v4l) system device

I think I made progress which fits to your question.
With a modal operator I have achieved streaming a live camera view from the active Viewport to a v4l device with about 11 fps. Not that smooth, but a good start.
Of course I did not come up with this totally on my own, but i was guided by related threads or answers:

Question from bluejayke on realtime export of images
Brilliant Answer from CodeManX on question regarding screenshots

This method was tested in blender 2.82, in version 2.92 it somehow only delivers black images
Workspace "Configuration":

have a 3D View
switch to Camera mode (Num 0)
Zoom Camera to 1:1 (View->Navigation->Zoom Camera 1:1)
toggle all overlays, gizmos and helper bars which overlap your camera view as they will show in your stream

These steps are not required for the pipeline to work, however what you see in your viewport gets cropped to the render size, so you may have unexpected output if the view doesn't match the camera view 1:1 or has a smaller size than your set resolution
What my code does:
I set up a modal operator which runs at 30Hz (in my use-case it also updates the scene and the camera postion but this is not included in the example).
With the ffmpeg-python package I set up a stream to the previously created virtual video device (setup via v4l2loopback).
In the modal function I grab the pixels in the camera region and put them into the ffmpeg stream.
Example:
import bpy
import bgl
import ffmpeg

class VirtualStream(bpy.types.Operator):
    bl_idname = "wm.virtual_stream"
    bl_label = "Virtual Stream"

    _timer = None
    _updating = False

    ffmpeg_proc = None
    _region = None
    _res_x = None
    _res_y = None

    # change to the path of your v4l device
    _video_device = "/dev/video2"

    def modal(self, context, event):
        if event.type in {'ESC'}:
            self.cancel(context)
            return {'CANCELLED'}
        if event.type == "TIMER" and not self._updating:
            self._updating = True
            # correct start pixel of region to camera corner
            x = self._region.x + (self._region.width - self._res_x) // 2
            y = self._region.y + (self._region.height - self._res_y) // 2
            bpy.ops.wm.redraw_timer(type="DRAW_WIN_SWAP", iterations=1)
            # read pixel values in buffer
            buf = bgl.Buffer(bgl.GL_BYTE, self._res_x * self._res_y * 3)
            bgl.glReadPixels(x, y, self._res_x, self._res_y, bgl.GL_RGB, bgl.GL_UNSIGNED_BYTE, buf)
            # convert buffer to bytes for ffmpeg
            buf_list = buf.to_list()
            myBytes = bytes(buf_list)
            # write bytes to virtual video device
            self.ffmpeg_proc.stdin.write(myBytes)
            self._updating = False
        return {'PASS_THROUGH'}

    def execute(self, context):
        # setup timer for modal
        wm = context.window_manager
        self._timer = wm.event_timer_add(1/30, window=context.window)
        wm.modal_handler_add(self)
        # get render resolution -> size of camera view
        self._res_x = bpy.context.scene.render.resolution_x
        self._res_y = bpy.context.scene.render.resolution_y
        # setup ffmpeg stream
        self.ffmpeg_proc = (
            ffmpeg.input("pipe:", format="rawvideo", pix_fmt="rgb24", s="{}x{}".format(self._res_x, self._res_y))
            .vflip()
            .output("/dev/video2", format="v4l2", pix_fmt="yuv420p")
            .overwrite_output()
            .run_async(pipe_stdin=True)
        )
        # grab region we want to capture
        for a in context.screen.areas:
            if a.type == "VIEW_3D":
                for r in a.regions:
                    if r.type == "WINDOW":
                        self._region = r
                        break
        self._updating = False
        return {'RUNNING_MODAL'}

    def cancel(self, context):
        context.window_manager.event_timer_remove(self._timer)
        self.ffmpeg_proc.stdin.close()
        self.ffmpeg_proc.wait()

bpy.utils.register_class(VirtualStream)

Time constraints:
As I mentioned on my machine it runs at about 11 fps, with an additional update of the scene this drops to about 7 fps depending on the updates. When timig the individual parts bgl.glreadPixels took about 50ms and the conversion to bytes also took 50ms, the other parts are virtually irrelevant.
What I don't know is why your execution of bgl.glreadPixel was so much slower than mine or how to speed up from here.


Basic hard surface editing: What is the quickest way to make a frame around an opening?

If I understand correctly, what you can do is create some additional edge loops, select the inner side faces, AltE > Extrude Along Normals (enable the Offset Even option in the Operator box), then extrude the top faces up:


Change all image textures folder location together

Try to Find Missing Files:

select image folder and check Find All, to search not just missing files:


cutting a mesh object into equal segments for individual export to .dae

Go in edit mode with Tab
Select a loop where you want a cut with Alt+RMB

hit V to cut and RMB to cancel movement

Repeat this all along your mesh on the same axis

Now on the other axis, Alt+RMB the 1st loop and Shift+Alt+RMB to add the cut loops to your selection

hit V to cut and RMB to cancel movement, repeat on the same axis

You can select each separate part with mouse over and L but...

Select all with A and hit P then select by loose part in the separate menu

now every square is a separate object sharing the same material and keeping the UV

Don't forget to change the origins if needed, by default they'll use the base object's origin.


Change speed between particles appearing/dissapearing?

Increase the Random property under lifetime. This controls the pseudo-random lifetimes per particle.


Replace object's normals with normal map

this can be eliminated in two ways the simplest and immediate is to set, the angle of smooth to 30 degrees,

or second way is to determine which edges should be planar, but this requires a selection of all edges of planar faces by setting the sharp edges, and adding a layer of custom normal edge.

However, I suggest you also take a look at the manual, where you can better understand these commands.
https://docs.blender.org/manual/en/dev/modeling/meshes/editing/smoothing.html


REWRITTEN ANSWER: Based on your screenshot, you must be in "Blender Game" mode. The settings you are looking for are available only if you use Cycles or "Blender Render".


Apparently since the root bone had the whole object assigned to it (which obviously includes the hammer) that was causing the distortion. So I simply removed the hammer from the root bones weight paint.


Why does defining a value make the script break when the value is not even used

Yes, errors in the script's draw function will stop it from drawing beyond the line where the error happens (or it will stop drawing your panel entirely). The error you got is:

location: <unknown location>:-1
Traceback (most recent call last):
  File "/ui_panel.py", line ---, in draw
AttributeError: 'Context' object has no attribute 'material'

Fix this error and the panel will draw OK. It means context.material is the problem.

Get in the habit of starting Blender from Terminal during experimentation / development process. This will allow you to read the errors that occur when Blender doesn't explicitly tell you something's wrong.


How to have rigid-bodies and charge fields interact?

It would seem that there is a paradox going on in the (blender) physics...

from the manual

"Charge
It is similar to spherical field except it changes behavior (attract/repulse) based on the effected particles charge field (negative/positive), like real particles with a charge. This mean this field has only effect on particles that have also a Charge field (else, they have no “charge”, and hence are unaffected)!"

Unfortunately this means that charged objects will only affect other charged objects and that giving an object a charge (force/field), turns it into an effector, and therefore does not affect other effectors...

With the field added to an empty, the field will have no effect on the uncharged spheres.

Seems like a bug/glitch/oversight/unintended consequence of the negation of the effectors affecting each other.


How to get rid of this jagged edges in obstacle and fluid interaction?

I found a solution for my instance it appears to have been the export mesh option on the obstruction.

It was causing all those jagged edges and simply disabled that and choose partial slip and turned off subsurface on the domain.

I too am waiting for flips released next month but they want 76$ usd :(
Look up on Facebook flips fluid addon


As moonboots already mentioned, it sounds like your problem's issue is that your mesh's polygons are flipped the wrong way. You can easily recalculate polygon normal directions by using the [CTRL+N] shortcut. If you wish to recalculate only selected polygons, select the desired polygons in edit-mode, than use the [RMB] shortcut to bring up the edit shortcut menu, then choose the Mesh Tools -> Flip Normals selection.
Some documentation.
https://all3dp.com/2/blender-recalculate-normals-simply-explained/


How to exclude hair particles from freestyle render?

Use compositing. Enable strand render for the hair. Create one render layer with Freestyle enabled and Strand disabled. A second layer with Solid and Freestyle disabled and Strand enabled. That will give you one layer with freestyle lines around the object and another with just hair.

Composite together with an alpha over.


Set edge of an object at a precise distance from another

One obvious solution seems to be snapping.

Select the road, and put 3D cursor there (Object > Snap > Cursor to selected)
Add > Object > Plane and set  it's size to 9,012 meters. Now we have a measure.
Enable snapping to Vertex > Closest.
Move the rail along X axis and snap it to one corner of the 'measure' plane.
It will be exactly 9m from the center of the road.

New objects appear at 3D cursor. My plane size is 400 mm. Your's will be 9,012 m.


Parts of scene are cut off in the camera's view

You need to change the clip start/end for your camera's Object Data if you are working with a small or large scene.

In addition to this often causing problems, it looks like in your blend file your camera is sinking below the ground:

I expect this is causing the clipping you are seeing. I made a new camera that isn't clipping the ground, and it looks good.


Python: Create GizmoGroup for VSE (Video Sequence Editor)

This is a bug as acknowledged by the developers here: https://developer.blender.org/T70768
But basically it works if you set bl_region_type = 'PREVIEW'


How can I rotate the view while using another tool (like extrude) in 2.8?

You (nearly) can do that using the operator panel:


How do I bake a flat texture in Cycles? (2.79)

First of all read about overall baking process in the link provided by Cegaton: How do I bake a texture using Cycles bake

Then the "trick" is pretty simple.

Connect your material colors to Emission Shader.
Select Bake Type as Emit.
Bake.


After importing model from a different file I cannot change it

To fix this I found that you can select the object hit the object button in the top left corner>Relations>Make Local>All this separates the link and works!


Your texture is on both sides of your leaves, actually you have two other problems:

Your leaves have a lot of transparency/translucency, so what you see when you look form underneath is the sky through your leaves
The sky of your Background is a little bit too strong so it enlightens a bit too much your leaves


VSE: How do I speed up playback in the video preview?

The video preview window is too slow when I click to a new time location in the sequence view.. it can take several seconds to show the preview

Just hit this myself after not using the feature for a while. Did you change the Preview to use the proxy? It's Proxy Render Size under the View tab in the properties (N) pane.


File optimization: Duplicate or linked duplicate?

Especially in the case of things like trees you could use linked duplicates.
You can create those with Alt+D.

But if you have already created the normal duplicates in your scene you can still link them by selecting all objects that you want to convert to a linked duplicate, then select-click the object that you want to link them to and press Ctrl+L in object mode and choose "Data".
That will turn all these objects into instances. That means they share the same mesh. However, you can still transform the objects, by moving, rotating, scaling so that they look a bit different.

A common problem when using Linked Duplicates is that this will usually also mean that they have the same material. However, you can also have different materials on linked duplicates by changing the material link in the material tab in the properties editor from "Data" (which means the material is linked to the mesh) to "Object". By doing so you can have objects that share the same mesh and still use different materials on them.

That way can decrease the file size A LOT.

Another way to add many objects (like e.g. trees) to your scene is to use Group Instances. Usually this is done by having a separate blendfile for the object that you want to use as an instance, or, so to say, as a library object.

Example

Create a file with the tree. Select everything that belongs to the tree (but not lamp or camera) and create a group by pressing Ctrl+G. The outlines and wireframe will turn green to indicate that these objects belong to a group. Give the group a proper name ("tree" e.g.). Save the file in your project folder. In your main scene file, open the file menu (F1) and choose "Link" (or use Ctrl+Alt+O right away). In the now open file browser you navigate to the tree file and click it. That will bring you inside the blendfile directory, where you can go to a folder named "Groups". There you can choose your group ("tree") and link it to the scene. The tree is now attached to an Empty object. You can duplicate, move, rotate and scale this group instance, but you cannot edit the mesh or material, because all the data is linked in from the original file.

This is probably the cleanest way to add library objects to your scene.


Updated to v. 2.8; Why, now, all animations work except one in v. 2.79 .blend?

I fixed it by unparenting the character from the ground plane object. The configuration worked in 2.79 but not in 2.8 for some reason. Oh well, easy fix.


You can select the pencil on the tool panel (arrow) and you change the color using over on the object context menu (press N to pull up) under View.  I've circled where you can change the color.


Blender not rendering water in F12 render?

Hitting Numberpad / Seems to fix the issue, you were in local view.

I have no idea why that would cause an issue, and would definitly upvote an answer detailing why!