Scale whole object in normal orientation

In Edit Mode, create  a Custom Orientation from the face. (That's the '+' in the orientation dropdown at the top of the view, in 2.8 .) Check 'Use After Creation'..Then back in Object Mode, use it, with SZZ

However, it's probably better to A select the whole mesh in Edit mode, and scale that, because non-uniform scaling of the object (giving the object a transform matrix including a non-uniform scale) often interacts in undesirable ways with modifiers and constraints. Either that, or when you're done scaling in Object mode, CtrlA, bake the scale into the mesh by applying it.


Cannot see background image after reopening the blender file

Make sure your files are in the same directory as when they were first added.


How to control randomization during Operator life-cycle?

Set in invoke method.

If I understand correctly you wish to only set the random seed once when the operator is invoked.

The method is employed in this answer to only find the loose parts of a mesh once.

Altering properties only fires the execute method.

Adding a button to self layout.operator("test.random") in draw method will re-invoke and set a new random.

Here is simple operator example. Invoking sets the random property.

import bpy
import bmesh
from random import random

from bpy.props import (
    FloatProperty,
)

class TEST_OT_random(bpy.types.Operator):
    """Add a simple box mesh"""
    bl_idname = "test.random"
    bl_label = "Random"
    bl_options = {'REGISTER', 'UNDO'}
    random = random()

    width: FloatProperty(
        name="Width",
        description="Box Width",
        min=0.01, max=100.0,
        default=1.0,
    )
    height: FloatProperty(
        name="Height",
        description="Box Height",
        min=0.01, max=100.0,
        default=1.0,
    )

    def invoke(self, context, event):
        self.random = random()
        print("invoke", self.random)
        return {'FINISHED'}
        # or to run after invoke
        return self.execute(context)

    def execute(self, context):

        print(
            "execute:",
            self.width,
            self.height,
            self.random,
        )

        return {'FINISHED'}

    def draw(self, context):
        layout = self.layout
        col = layout.column()
        col.prop(self, "width")
        col.prop(self, "height")
        col.operator("test.random", text="Re-random")

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

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

if __name__ == "__main__":
    register()

    # test calls
    bpy.ops.test.random()
    bpy.ops.test.random(width=3)
    bpy.ops.test.random('INVOKE_DEFAULT')

Test run output

execute: 1.0 1.0 0.6802742102341347
execute: 3.0 1.0 0.6802742102341347
invoke 0.5433648186966845

Running from UI, sliding the width property

invoke 0.9656296014544301
execute: 1.059999942779541 1.0 0.9656296014544301
execute: 1.1200000047683716 1.0 0.9656296014544301
execute: 1.2999999523162842 1.0 0.9656296014544301
execute: 1.3299999237060547 1.0 0.9656296014544301
execute: 1.3600000143051147 1.0 0.9656296014544301
execute: 1.3299999237060547 1.0 0.9656296014544301

aternatively, remove invoke method above to have a random seed set only when addon is registered


Execute function on object property change

It appears that this is not supported by blender. So here is my workaround.

I made a little script that will allow you to execute a function when the property of an object changes. I'm not used to blender modules so I didn't made a downloadable module out of it. But it's still pretty easy to set up.

Create the observer module

first, we need to execute a function every frame, this function will check if any property has changed and call the corresponding observer function.

Add an empty to the scene.
Add a pydriver to the empty (open the property panel (n) and then right clic on the location and select "Add Single Driver")
Go in the graph window and open the "Drivers" display (clic on f-curve editor button in the bottom).
Open the properties (n)
Select the added driver in the list on the left.
Remove any variable and modifier in the properties panel.
Just below the "Scripted Expression" button there is the "Expr" field enter in it the following :

update(frame)

This will call our frameUpdate function at every frame change.

Now that we are setup

create a new file in the text editor named

observer.py

check the "register" option (this will create a new module loaded automatically with .blend) and add the following to the file:

#author : Vincent Picard

import bpy
import bpy.app

#list of all the observers.
observers = []
print("test")
#This is to function to call in your scripts. use it to have your function called everytime an object property changes.
#object : Object to watch,
#property : property to be wathed.
#function to execute every time the property of the given object changes.
#function will be given this parameters :
#    object : the object.
#    value : new value of the property
#    old : old value of the property.
#    frame : current frame.
def observe(object, property, function):
    observers.append(Observer(object,property,function))

#Called at every frame. This will call the function that are listening.
def frameUpdate(frame):
    for observer in observers:
        observer.update(frame)
    return 0.0

#make the function visible to scripted driver.
bpy.app.driver_namespace['update'] = frameUpdate

#Each time we call observe we create an observer object.
class Observer:
    def __init__(self, object, property, function):
        #if the property object needs deep copy
        try :
            self.oldValue = getattr(object, property).copy()
            self.newValue = getattr(object, property).copy()
        #if the property object doesn't need it (and don't have a copy method).
        except AttributeError:
            self.oldValue = getattr(object, property)
            self.newValue = getattr(object, property)

        self.object = object
        self.property = property
        self.function = function

    #Call the function if the object property changed.
    def update(self, frame):
        #if the object needs deep copy
        try :
            self.oldValue = self.newValue.copy()
            self.newValue = getattr(self.object, self.property).copy()
        #if the object doesn't need it (and don't have a copy method).
        except AttributeError:
            self.oldValue = self.newValue
            self.newValue = getattr(self.object, self.property)

        if self.oldValue != self.newValue:
            self.function(object = self.object, value = self.newValue, old = self.oldValue, frame = frame)

How to create an observer and use it.

You now need to reopen you .blend, that way the "observer" module will be available.

You can now observe object properties and make a function to be call when it changes.

Create your script file (example) :

import bpy
import observer

#define the function you want to be executed. this one as an example simply print old and new value when they are changed.
def updateAnimation(object, value, old, frame):
    print(value)
    print(old)

#register your observer.
observer.observe(bpy.data.objects["Cube.031"], "location", updateAnimation)

Run it, it will register your observer.

Potential Problems

do not run the observer.py file, if you do then it will stop working and you will need to reopen the .blend.


sparkles are beneath the donat not above it

got the solution from a guy in the comments here's the solution if any one faced same problem you need to click the arrow behind "source" and turn on "use modifier stack ..


Prepare a set of parameters for reuse in multiple panels

Answer is rather simple, afaik: you cannot.

There may be some ways to cache that result, maybe in scene object, but we do not have any set-like type of property in RNA anyway, and you would have to handle update of it, which would not be trivial.

Note however that I doubt this to be a real performance bottleneck, unless you have tens of thousands of bones…

And you should use context given to panel's draw func, and do not need to use list comprehension to create a set, there is a set comprehension too:

bones = {b.name for b in context.selected_pose_bones}


Blender is playing animation very slowly

It is hard to tell, but there are two likely issues.

Solution 1

You accidentally changed your frame rate in the Properties panel > Render tab > Dimensions drop down. Make sure the value is set to 30, or 24, or whatever it was at before.

 or

Solution 2

Most likely, your animation got too complicated for your computer, and it started slowing it down. I notice that you are in Material view and have No Sync selected in the bottom-right of the Timeline panel. Material view is very intensive on a computer. The symptoms of No Sync include a Red FPS bar in the top-left of the 3D Viewport. You do have this; It reads "fps: 23.45," which is way slower than your 30 fps time that's been selected. To fix this, change No Sync to Frame Dropping.

...changed to...

Hold up!

It does occur to me that now you might think, "I should always use Frame Dropping!" No. I am now going to explain the place to use each.

No Sync

This should be used before you render an animation to make sure that each frame looks right. No Sync will ignore the set FPS if it has to to show each and every frame.

Frame Dropping

If you want to see an accurate representation of how events will flow in your animation (time) this is the way to go. Note that Frame Dropping does exactly that: It drops frames. It drops frames in order to have your animation's time flow correctly, but you will miss some frames, and therefore, any events that only happen spontaneously (like the initial fireball of an explosion) could be missed. You should probably keep this on until it's time to use No Sync as notated above.


Question on How to Separate Meshes Into Multiple, Disconnected Meshes

Enter in edit mesh, deselect all, move the mouse over the object that you want to separate, use "L" as a shortcut and you will have a select option. After you select what you want to separate use "P" as shortcut and click on separate. Repeat this for every object that you want to separate.


rigged character's hair/particle system doesn't follow the movements

The problem may be with the modifiers order. Make sure that in the 'object modifiers panel' your Particle Systems are below the Armature. See the printscreen below:

I checked your model and I think it demands a little clean up:). You should remove doubles before adding a hair. If you don't you may expect a strange hair behavior on your model. Please check out this topic:
Problems with particle hair in 2.72 (cycles).


Grease Pencil Backwards compatibility or import function?

AH, i figured out a workaround in the meantime for anyone looking for the same thing. Basically the issue is that the old GP data is being brough in as an annotation rather than a GP object. I found an answer to this issue here
Convert annotations to Grease Pencil object (old GP to new GP)


How to get rid of subtle white pixel border on Eevee

I suggest you using openEXR instead of png. go on your image texture node and try to change linear to closest or to cubic
Then try putting color ramp in between and choose constant interpolation.
btw if you want to make a cirlce procedurally, here is the tree:


Is it possible for an object to follow multiple Clamp To constraints?

Add a Follow path constraint to the Cylinder, with the bezierCircle object as the target. Enable Follow Curve and set forward to -Z and Up as Y.
(For this to work the curve and the cylinder must have their origins on the same location)

The cylinder follows the path now, as demonstrated here changing the offset values:

Align your Cube.001 sliding object to the cylinder and add a child of constraint, with the cylinder as target. Disable all the boxes except for Location on the Z axis.

To control the slider change the offset values on the follow path constraint for the cylinder.


copy custom object properties to multiple objects

There is already a solution to copy custom-properties to and fro objects?
https://blender.stackexchange.com/a/24004/123064
import bpy

ob_sel = bpy.context.selected_editable_objects
ob_act = bpy.context.object

try:
    props = ob_act["_RNA_UI"]
except KeyError:
    pass
else:
    for ob in ob_sel:
        if ob == ob_act:
            continue
        for p in props.keys():
            print(p, ob_act[p])
            ob[p] = ob_act[p]

Note: I am not sure if you are trying to create custom-properties additionally from a script or just trying to transfer them.


Is it possible to repeat a geometry pattern along the lenght of a curve?

You need to use and array, then curve modifier. You start by adding the array, making it the length you wan't. Then add the curve modifier, and select the curve as the object


Here's the result I've achieved in few steps.

Add an Empty and a mesh representing the lamp's profile.

Being in Object Mode add the Screw Modifier and set Empty in the AxisOb window. Change the number of Steps to define the number of the strips (for example if your lamp consists of 12 strips, you should set the number of Steps to 24). Then apply the Screw Modifier.

Select every other strip and delete them.

Add a Simple Deform Modifier, set its type to Bend and change the Angle of a deformation a bit.

You may also use the other method to achieve it. In Edit Mode select the top vertex and snap the cursor to it. Enable the Proportional Editing Mode (O). Set the proper Proportional Size using Mouse Scroll and move the vertex horizontaly a bit. You can make the lamp shape look less regular using the same method.

You may now add Subsurf, Solidify and Edge Split Modifiers to make the strips look more smooth and give them some thickness.


My keyframes doesn't appear on the Dopesheet at all?

In the header of the Dope Sheet you have selected to show only animation channels that have errors:

De-select this to show your keyframes.


I can't seem to select any vertices edges or faces in edit mode, blender 2.8, Mac OS 10.12.5

This happened to me when I first started using 2.80 because it was trying to use my 2.79 key maps. That would explain why it is working on other machines where perhaps you don't have 2.79. Toggle the console on and see whether you have error messages at start up.

I don't use a Mac, but if you can work out how to delete your old settings then that might solve it. I have a feeling they added a button to the initial splash screen which allowed you to start fresh.


How to hide/show Collections levels with python?

The operator that toggles the collection visibility in the outliner is bpy.ops.outliner.item_openclose(). Unfortunately it depends on the cursor position to determine the collection that should be toggled. While we could position the cursor with bpy.context.window.cursor_warp() the x and y coordinates of the collection in the UI remain unknown. It's therefore not realistically possible to perform this operation in a script or add-on.

I could get it to work with manually determined coordinates to position the cursor on the arrow icon in front of the collection.

import bpy

context = bpy.context.copy()

for area in bpy.context.screen.areas:
    if area.type == 'OUTLINER':
        for region in area.regions:
            if region.type == 'WINDOW':
                context['area'] = area
                context['region'] = region
                break
        break

# Places the cursor directly on the arrow icon for the first collection with
# my screen resolution and UI layout.
bpy.context.window.cursor_warp(2150,1250)
bpy.ops.outliner.item_openclose(context, 'INVOKE_DEFAULT')


Get a full numeric z-depth from a rendered image

You can obtain depth values by plugin the depths calculated at render time to a "viewer node" in the compositor.

First make sure the rendering uses z (should be set by default):

Setup the viewer node in the compositor:

Render the image (F12).

Now you can have data from Python (principles only below):

img=bpy.data.images['Viewer Node'] # get the image corresponding to the viewer node

img.size # the image size width=img.size[0] height=img.size[1]

img.pixels # raw vector of pixels representing the depths. You'll have to reshape it to obtain a matrix, using numpy or by other means

What's remaining is to write it to a file (which is no more related to Blender).

Hope that helps.


The extrusions inside a flat surface should be inset, otherwise blender is trying to smoothen the sharp edge between the surface and the hole resulting in a weird geometry.


why the extruded verts not lay down on ground

Floor plane needs to be set as Collision, not Rigid Body.

Cloth needs Faces to work, not only verts. You should extrude your vertices by a small amount on Y. (Not to small : below 0.003 I had some strange results)


This is because knife project only uses wire or boundary edges:

  Knife projection is a non-interactive tool where you can use objects
  to cookie-cut into the mesh rather than hand drawing the line.

  This works by using the outlines of other selected objects in
  edit-mode to cut into the mesh, resulting geometry inside the cutters
  outline will be selected.

  Outlines can be wire or boundary edges.

  To use Knife Project, in 'object' mode select the "cutting object"
  first then shift select the "object to be cut". Now tab into edit mode
  and press "knife project".

emphasis mine

A boundary edge is an edge with nothing connected on one side, e.g.:

The primitives, being manifold objects, do not have wire or boundary edges.

Suzanne partially works because it is non-manifold (the eyes are disconnected). The two circles that you get by projecting Suzanne are the boundary edges around the eyes.

The error message is a little bit strange though.


How can i stick my camera to a curve after a certain frames?

Parent the camera to the circle/curve/path. Then open up the Graph Editor* with Shift+F6. Click on the very steep curve. In the Left Menu, click on your path/curve/whatever.

Parent the camera to the circle/curve/path.
Open the Graph editor (Shift+F6)
Click on the curve, that doesnt look like the other ones
Click the "Expensian Thingi" for your curve/path/whatever, that should be listed in the very left menu
Click on Evaluation time
Press N to enable the menu on the right side
Go to the modifiers tab
On the "y" field, type in your start frame with a - in front (Start frame = 80, input to the field = -80)


How to use CSV values to drive object scale?

It seems I was confusing "Game Properties" in the Game Editor and "Custom Properties" in the Properties Editor.  By moving my Game Property to a Custom Property, I was able to manipulate my cube through script.

My script had a handful of problems with it, distinctly: calling '.scale' instead of '.dimensions'.

My working code looks like this:

import bpy, csv

fp = "E:\Data_Viz_Prototype\Data Files\Workcenter_DPPM.csv"

obj = bpy.data.objects["Cube.002"]
cube = obj.data

with open( fp ) as csvfile:
    rdr = csv.reader ( csvfile)
    for i, row in enumerate (rdr):
        if i == 0: continue #Skip colum titles
        if row[2:3] != 2018: continue #Skip any rows not from 2018
        if row[3:2] != 1: continue #Skip any rows not from January
    wc, dept, year, month, run, rej, dppm = row[:]

if obj['Work_Center'] == '04-LSE200':
    obj.dimensions = (.5, .5, float(dppm))


How do I get invoke_props_popup to work?

You simply forgot to set bl_options:

import bpy

def set_keyframe_position(flt):
    print (flt)

class KeyframeChangerOperator(bpy.types.Operator):
    """Let's you change keyframe position"""
    bl_idname = "object.keyframe_changer"
    bl_label = "Keyframe changer"
    bl_options = {'REGISTER', 'UNDO'}

    my_float = bpy.props.FloatProperty(name="Keyframe position")

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

    def execute(self, context):
        set_keyframe_position(self.my_float)
        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.keyframe_changer('INVOKE_DEFAULT')


keframe error: no suitable context info for active keying set

I know this is an old question, but I figured I'd answer it anyways. I recently ran into this as well. The problem could be that you had multiple layers selected when you created the keying set, so when adding additional keyframes you have to have all of the same layers selected. At least, this was the case for me.


In edit mode in the mesh menu, there is a mesh cleanup submenu. One of the options is fill holes.


How do I get the Info window's log text with Python?

Reports to text block operator bpy.ops.ui.reports_to_textblock() .

The operator bpy.ops.ui.reports_to_textblock()  lists reports from the info area

into a text block named "Recent Reports"([.nnn] if run more than once.)

Test code. Removes existing recent reports before running operator.

#remove other Recent Reports
reports = [bpy.data.texts.remove(t, do_unlink=True)
           for t in bpy.data.texts
           if t.name.startswith("Recent Reports")]
# make a report
bpy.ops.ui.reports_to_textblock()
# print the report
for line in bpy.data.texts["Recent Reports"].lines:
    # if line.body.startswith("Operator:"): #it's an operator
    print(line.body)


While in edit mode, press  Ctrl  +  Tab  and select Edge. Then press  Alt +RMB to select the edge loop in question. Finally, press  F  to create a new face.

Alternatively, you may be able to select the upper and lower edges, bring them closer together until they're nearly touching and press  W  then remove doubles, and adjust your merge distance in the operator panel until you are satisfied with the results.

You may also want to use proportional editing for this kind of task. Press O to enable it, then use the scroll wheel to adjust the strength during a transform operation.


I think you are looking for the ID Mask node.  For an example, I set up a simple scene with one object inside of the other.

If you go to the Render Layers tab and check the box next to the material index pass, it will now add a pass for all of the different material indexes.

Next, you have to set the indexes of your materials.  In the materials tab, go to the bottom of the material that you want to set the pass index of.  In the very bottom, under settings, there is a setting that says Pass Index.  You can set that to whatever number you want to use for that material.  The default for the background is 0, so I set my material pass indexes to 1 and 2.

After Rendering, open the compositor and get an ID Mask node.  Plug the IndexMA output from the Render Layers node into the input of the ID Mask node.  Then you can connect the Alpha output of the ID Mask node into the input of a viewer node to see the result.  You can then change the index value of the ID Mask node to whatever index you set your material indexes to.

You can then use the ID Mask node for what it says it is, a mask.


Setting the right context for an Outliner Operation

Overriding the context finally worked for me, with the help of this
answer:

override = bpy.context.copy()
for area in bpy.context.screen.areas:
    if area.type == 'OUTLINER':
        override['area'] = area
bpy.ops.outliner.group_operation(override, type='LINK')


This script will loop through the modifiers on the specified object, check if they are boolean modifiers, check if the modifier has an object specified, and if it does it will print the name of the object being used:

import bpy

#Object with modifiers
object = bpy.data.objects['Cube']

for modifier in object.modifiers:
    #Check if modifier is boolean AND has a boolean object selected
    if modifier.type == "BOOLEAN" and modifier.object:
        print (modifier.object.name)

You could of course .append object names into a list instead of printing.

Alternatively, you can use a list comprehension version which does exactly the same, except this adds all object names to a list before printing:

objects = [mod.object.name for mod in object.modifiers if mod.type=="BOOLEAN" and mod.object]
print (objects)


Is it possible to save all rendered images (in the render buffer slots) in one operation?

save all images  is for modified texture images, images that you have loaded from storage or packed in the .blend file and have been edited ,if no straight option is available  you can use a script to automate that process .
this script will save all non empty slots to the file path specified in the render tab and with the name displayed in the Image-editor and the number of the slot :  "Render_Image_slot_1.png"

import bpy

scene = bpy.context.scene
path = scene.render.filepath
ext = scene.render.file_extension
for img in bpy.data.images :
    i = 0
    if img.type == 'RENDER_RESULT' :
        print(img.name)
        for i in range(8):
            img.render_slots.active_index = i
            try :
                img.save_render(path+img.name+"_slot_%d"%i+ext, scene)
                print("slot %d saved"%i)
            except :
                print("Slot %d is empty"%i)

in case you need this more then once here is the Addon file for download install it and you'll find the entry in UV/Image-editor➞Image➞Save_all_slots, you can assign a shortcut for it.

to install :


@batFINGER: Thank you! It works.

I've done it like this now:

import bpy

class Base:
    strprop = bpy.props.StringProperty(default = "Test")

class MyOperator(bpy.types.Operator, Base):
    bl_idname = "object.my_operator"
    bl_label = "My Operator"

    def execute(self, context):
        print(self.strprop)
        return {'FINISHED'}

bpy.utils.register_class(MyOperator)


Is there a way to deinterlace footage using Blender?

In the video sequence editor you have an option in the properties panel --> filter tab, you can check de-interlace.


On Windows, the icon is embedded in Blenderplayer.exe. You can either...

Build Blender yourself from source code, with the modified icon.

or
Replace it after-the-fact with another tool like Resource Hacker.

On Mac OS X, the icon file is part of the app bundle. To replace it is as simple as modifying the blender player icon.icns file.


Currently there aren't tools to do this right at the moment, but this is a fairly simple operation. Internally the exporting UV's layout to PNG does this. its just hidden from the user and the mesh is removed immediately afterwards.


Rendering with studio light setup in World

You can use the Mapping node for that.

Add a Texture Coordinate node and a Mapping node before your HDRI
Rotate around Z axis
Done


How do I use Grease pencil fill tool so that it doesn't bleed out of an area?

Firstly, make sure you have a material setup that has the "Fill" option enabled (ticked) and that its Alpha is set to any value above "0". Then, if it keeps bleeding off, while still in Draw mode, hold down ALT and draw 'invisible' lines to cap any gaps in your line work. Then just click to fill.

If the problem persists, I've found that you'd need to be on the same layer and select the strokes via Object mode. However, I did run into an issue where the fill will not line up with the stroke in the same 3D space.

Alternatively, if you don't need the fill as a separate object, you can adjust your material and just enable the "Fill" option. You can select individual strokes with edit mode and assign a specific material to whichever stroke you've selected.


What file must I use for a animation render to post online?

Although there are plenty of formats that are currently supported by Facebook, when uploading to the online video sites, I personally like to choose H.264 format, and simply choose the same in the Preset list in Encoding panel after that. Then give it a tweak if you want. The result format is *.avi in this case. Of course you can also try Xvid and others, as long as  they can be well supported by those sites. FYI and good luck.


How to unhide hidden objects with a Python script?

As of Blender 2.81, Object.hide_set() is working properly and seems to be the equivalent of Object.hide property in 2.7x versions.

Proof using the console:

>>> bpy.context.object.hide_set(False)

To unhide multiple objects you can run over objects in the scene and call the setter per object:

for o in ("Cube", "Camera", "Light"):
   obj = bpy.context.scene.objects.get(o)
   #if obj: obj.hide_viewport = False
   if obj: obj.hide_set(False)

You can also iterate through any given collection:

col = bpy.data.collections.get("Collection")
if col:
   for obj in col.objects:
       obj.hide_set(False)

Whatever you like...


How to make a simple one image + music mp4 video?

You can do that even with Blender, although it will not be extremely simple for a program novice. Here is something you need to know:

you have to create a "sequence", composed by sound track, and an image that is shown for all the sound track length.
then you have to "render" it, as an "animation" to a video+audio output format
blender sequences are created as frames, not "seconds": the binding between frames and duration depends on the "animation" frame rate you decide, eg: setting it to 25 f/s would mean that you need

25 f/s * 60 s/minute * 3 minutes = 4500 frames of Blender animation to get a "video" 3 minutes long. You need to tell Blender how many frames your animation needs to be. Later on this.

You can show seconds instead of frames in the "timeline" changing  this setting:

The output format of an animation can be everything from an image sequence (1 every frame) to a video file container like an .avi, with many codec (as supported by th bundled FFmpeg libraries, so many formats available).

you set start and end frame in render setting > "frame range"
you set the frame rate in render settings > "frame rate"
every frame size will be what you decide in render settings  > "resolution"

you set the output folder, filename, container file, video and audio codec in render settings > "output" and "encoding"

You will need some practice with all this.

I would do:

setup desired resolution, frame rate, output and encoding settings
switch to video layout and load the audio in a strip, position it so that it starts from frame 1
Note its length (eg: 4446 frames) in the right-side edit strip that appears when you select the imported audio strip. You need to tell Blender that your animation will be 4446 frames long
set this value in as resolution > frame range > end frame (start frame should be 1 of course), but also in the bottom timeline. This resizes "working area" from the default 250 frames to enough frames to contain all your sound file.

Now add another strip, with the image you choose. This will result in a little strip (a few frames long, just enough to allow you to select it)
You need to position the image strip so that's starting at 1 and then extend its end until it reaches last frame of the animation (4446 in the example above). To do this right select the whole little strip, and in the right-side edit strip change its end frame from what it is (eg: 26) to the same last frame of the animation (4446 in the example)

more or less it should be done: you will end with something like this ( I also show here how you can display the waveform - hint: you could also edit its levels...)

you just need to tell Blender to "render the animation", that for you will mean "create the video".

It will be slow, compared to similar specialized softwares, but it should work well (this slowness is a small price you have to pay but Blender can - .in the future - allow you, apart this basic video editing usage, more possibilities that only a few expensive other programs can allow you).

I also suggest you to start with shorter frame range (eg enough for a 30 seconds video) to practice.

To be honest, although it could be simpler than it looks, it will need a bit of practice with standard Blender basic commands like grab, zoom. But it is well worth imho, and if you like the workflow, and the possibilities, there is a lot more you can do, it's just a sort of a "primer".

Hth.


I would use the Mirror Modifier instead.

You can select the faces of your blade and then press I to Inset them. You can then move them some distance away from the Object Origin.

You can see the effect of the Mirror Modifier:


How to use blender to create a grid cylinder?

One of   procedural ways to create the cylinder and have its topology consisting of even quads is array a plane to create big plane and bend it afterwards.

Add a plane, rotate it so it's oriented up (along Z axis). Put its origin point in the corner (snap 3D cursor to selection when that vertex is selected and in Object mode use Origin To 3D Cursor).
Start adding modifiers, first will be Array. Set it to array along Z axis (if using default Relative Offset set value of 1 to the Z axis in the modifier options). Set number of iterations so that the height of final result is as height of desired cylinder.
Add another Array modifier and set this one to array along horizontal axes (in case of screenshot X). Set number of iterations to number of edges of cylinder.
Add Simple Deform modifier. Set it to Bend mode, then enter value for Angle to 360 degrees.

The modifier stack in this case is

Otherwise you can add a cylinder, enter Edit mode and use Ctrl+R to add loopcuts along its edges. This will be destructive change to geometry.


When is it acceptable to use roughness without a map input in the Principled BDSF node?

It is perfectly normal to use a single value for roughness in all the cases when roughness is uniform across the surface for example with smooth clean objects made of the same material.


Node editor, pick random Image Texture from set?

This Randomizer Node Setup should work for what you want to make. If you want you could also switch up the mix shaders for mix color nodes to only randomize the images but I would suggest randomizing the shaders because 1. you only have to do this setup once and 2. you can individually control for example the strength of the bump map and the mixing factor of glossy and diffuse and so on...

Just to explain whats going on here: I have that Random number from the Object Info Node and multiply it with 4 to have a Number between 0 and 4. Then I split that range in half by checking of it is greater or less than 2. Then repeating the same procedure splitting that ranges in half but checking greater 1 and greater 3 if that makes sense.


How would I apply a gloss or anisotropic shader to my model?

Your mesh objects are not rendering because many of them have Material issues. Either they do not have a material set up, OR they have the wrong material type for the render engine chosen. You have the Blender Internal engine selected, but your materials nodes seem to have been set up in Cycles originally.

Changing the engine to Cycles allows all the objects to render, so the solution depends on which engine you are intending to use.

If you do actually want to use the BI engine, then you need to replace your the nodes in your Materials to use BI type nodes with a proper BI output node.


Good Reference Images and Alignment

The biggest problem about modeling 3D models from 2D reference images is the alignment of your reference images - especially when you start modeling faces.

My advice for a beginner is to start with a "best as possible" aligned reference image. As you can see in the set of images below (from www.3d.sk) I used lines to align the prominent facial features, mainly the eyes, the nose and the mouth (The alignment is still not perfect for various reasons regarding the reference images).

Modeling Process

Although some tutorials on the internet mention that it's best to start with a base mesh for the head, I strongly suggest that you start with a simple plane at the eyes and a mirror modifier, then model the base shape of the face in front view with the least amount of vertices possible. Switch then to side view and start aligning the outer verts to the side reference.

During the modeling process you are then going to add loop cuts and constantly switch between front and side view to align the vertices.

The best and most in-depth tutorial for beginners on this topic is this one made by Joshua Alger.

Oh, and also do not expect to get a perfectly recognizable 3D representation of the reference images the first time you do this. It'll take some time, but with enough determination you will get there.


For duplicate operator use context.selected_objects for result

Is the last object to be created always the last element of the
bpy.data.objects list?

Lets run a very simple little test in python console to see: add an empty to the default scene
>>> D.objects[:]
[bpy.data.objects['Camera'], bpy.data.objects['Cube'], bpy.data.objects['Lamp']]

>>> bpy.ops.object.empty_add()
{'FINISHED'}

>>> C.object
bpy.data.objects['Empty']

>>> D.objects[:]
[bpy.data.objects['Camera'], bpy.data.objects['Cube'], bpy.data.objects['Empty'], bpy.data.objects['Lamp']]

The property list appears to be sorted alphabetically.
Use the context

This wouldn't be necessary if all operators which create objects
returned the object(s) created...

In the context - operator paradigm, an operator only returns a status (eg success) by using and altering context. The result is gleened after running from the context.  It is always the case that directly after running a create object operator, the new object is context.object eg.
bpy.ops.mesh.primitive_cube_add()
cube = context.object

bpy.ops.mesh.primitive_cone_add()
cone = context.object

print(cube.name, cone.name)

Your new question.
Firstly recommend never using bpy.data.objects["Cube"] since there is no assurance that it exists in which case it throws a keyerror or is linked to the context scene. The None state mentioned in question alludes to ob = context.object would be better, or by name scene.objects.get(name)
The question script example in question is creating states as discussed in
Is the active object and zeroth selected object always the same?
For the case of the duplicate operator it returns result in context.selected_objects  If the context.object is None or not selected it is not duplicated, else it becomes the new context object (first time thru loop)
First time thru loop, (ob is  context object to begin) have context object and is only selected after deselect all.
Have new context object "temp" (and selected) after dupe.
Then you remove it. context object -> None.  It does not magically revert to some default object, if you remove the context object context.object is None
End of loop status No context object and none selected... what is the expected result???

The first time through the loop, temp is an object. The second time,
it's None.

Yep, exactly as expected. (if printing context object) Takes a while to grasp the concept of context.
Options.
The duplicate operator takes the selected objects, dupes them and returns as selected, simply
temp = bpy.context.selected_objects[0]

Overide
bpy.ops.object.duplicate(
        {"selected_objects" : [ob]}
        )

temp = context.selected_objects[0]

or
Since interested in one object can  set as the context object at loop start. (as demonstrated in ideasman42's answer) (or end) with
context.view_layer.objects.active = ob

and
temp = context.object
#or
temp = context.selected_objects[0]

a case when context object and zeroth are the same.
Having no context object can affect how other operators, eg entering edit mode funtion. Depending on the script functionality is often good practice to leave context how we found it. eg reinstating the context object and selection.
API
There are more regular low level API methods, which return the object reference, eg adding an empty to context collection.
mt = bpy.data.objects.new("MT", None)
context.collection.objects.link(mt)

for the "CtGP's" duplicate case
for i in range(3):
    temp = ob.copy()

Subscribe to msgbus
Have left this in as, was my understanding of first incarnation of question, re finding the last object created with an add primitive object.
If the user has added an object with the UI and we wish to know  the last one :
Similarly to Origins to the down of the object by default and Auto Normals by default  look for the active object changing and check the active operator.
It is the case that most operators that add an object have a bl_idname that ends in "_add"
Finding other objects created by addon operators that do not adhere to this, or added via other scripting technigues is going to be tricky, without constantly keeping track of scene.objects and notifying on change. (Will look for link as have answered in this regard before too)
Here is a test script that sets scene.last_object_created to the object last created using one of blenders add object operators.
import bpy
from bpy.props import PointerProperty

handle = object()

# Triggers when an object is made active
subscribe_to = bpy.types.LayerObjects, "active" #

def notify_test(context):
    if (getattr(context.active_operator, "bl_idname", "").endswith("_add")
            ):
        if context.object in context.scene.objects:
            context.scene.last_object_created = context.object

bpy.msgbus.subscribe_rna(
    key=subscribe_to,
    owner=handle,
    args=(bpy.context,),
    notify=notify_test,
)

bpy.msgbus.publish_rna(key=subscribe_to)

bpy.types.Scene.last_object_created = PointerProperty(
        type=bpy.types.Object,
        )

Test in py console after adding text object.
>>> C.active_operator
<bpy_struct, Operator("OBJECT_OT_text_add") at 0x7fb73cc7ccc8>

>>> C.scene.last_object_created
bpy.data.objects['Text']

Another idea would be to make a collection of pointer properties to store more than 1 in some order.
Please also note that any use of context is referring to bpy.context


How to specify frames for "Сycles" modifier in F-Curve editor?

The Restrict Frame Range values for f-curve modifiers doesn't work in the way you're trying to use it. Those values restrict the output region where the modifier's result can be seen. The modifier itself still applies to all the keyframes in your f-curve.

As a workaround, you can get the same effect you're looking for by using the Non-Linear Animation (NLA) editor. For your specific example, you'd use the Action Editor mode of the Dope Sheet to create two actions (both start at frame 1):

Action 1 (staging) - This is the non-cyclic animation. In your specific example, this would be the first 40 frames where you rotate from 0 degrees to 360 degrees.
Action 2 (cycle) - This is the animation you intend on cycling. In your specific example, this animation would be 20 frames long and rotate from 360 degrees to 270 degrees.

Use the Push Down button in the Action Editor to Add each action as a strip in the NLA. Start the staging action at frame 1 and the cycle action at the end of the staging action's frame (in your example, that's frame 41).

Now, with the cycle action still selected, go to the Properties region of the NLA (reveal it by pressing N with your mouse cursor in the NLA editor). Scroll down to the Animation Clip panel. The last slider in that panel is labeled Repeat. Increase that value for as many repeats of the cycle action as you need.

Here is a .blend file, based on your original example, that shows the work-around in action.


The speaker icon in the Driver list allows the driver to be muted.

When the driver is enabled (unmuted) it will affect the property as normal. When it is disabled (muted) it will no longer execute.

When muted it is possible to adjust the driven value manually. Keying into the driven field will override the scripted expression of the driver (eg, entering '0.45' will change the Scripted Expression to 0.45) - losing the old driver expression. However, in the case of shape keys you can drag left and right on the Value property to adjust its value and, providing the driver is 'muted', the new value will take effect.

An alternative option is to use keyframes to adjust the value - since if the driver is muted the property will revert to the value of the f-curve. Note, however, that the f-curve value will only be re-applied on change of frame or if you adjust the f-curve directly.

To achieve this, simply move the mouse over the Value and press I to insert the keyframe; the colour of the property should change to yellow to indicate the keyframe.

You can now adjust the keyed value via the Graph Editor window. Select the Value channel (it should be represented by a horizontal line since it's a constant), press G to Grab, and move it up and down to adjust the value. With the driver enabled the change in the graph editor should not affect the shape key. With the driver disabled, the graph editor value should affect the shape key.


How to render mesh that's inside another mesh?

You can achieve this by using render layers:

Give the cube a transparent material.
Give each object a different object index for masking with the object ID mask in the node editor (Properties Window --> Object tab --> Relations --> Pass Index).
Render, go to the node editor and set up a node tree as in the attached image or blend file.


I've had a similar problem before. The solution for me was to use Alt + M  to clear any masks that might have been applied to the model by applying the modifier.
Not sure why it happens, but I think it has something to do with the Subsurf modifier.


Can anyone give me some tips on Lighting in Cycles?

Lamp Strength

One thing that might be confusing in the beginning when learning lighting is how the Strength value effects different light sources. For example, when you add a new spot lamp, the default Strength is 1.0. However, this is so weak of a Strength that when rendered, it will produce almost no noticeable result, which might make you think the light is "not working":

In order to get a noticeable result in your render, you might need to set the Strength to a value in the hundreds, or perhaps even in the thousands (if your light source is very far away from the desired target):

However, the Size of the lamp can also greatly effect how it lights your scene. Notice the difference between a Spot lamp different sizes:

Size of 0.100 & Strength of 1000

Size of 10.0 & Strength of 1000

Increasing the size makes it darker because it simulates increasing the area the light is coming from i.e. Same power over larger area spreads light thinner.

Also, if you are using a plane with an Emission Shader, depending on the size of the plane, you might need to use different strength settings:

Here, notice how if the emission plane is much smaller, a strength of 300 produces much less light in the scene:

So, experiment with the size and strength settings of your lights to achieve the desired result.

Visibility of Lamps vs. Emission Shader Objects

One of the biggest differences between lighting you scene with a lamp and a mesh with an Emission Shader is that a lamp will provide light in you scene, but the light source itself (the lamp) will NOT be visible in your render. For example, in the scene below, you can see the spotlight lamp in the 3D Viewport, but on the right, when the scene is rendered, you can see the lamp's light in the scene, but the lamp itself is not visible at all:

However, if if you use an object (such as a plane) with an Emission Shader added to it as your light source, both the light emitted by the object AND the object will be visible in your render:

Professional or Not?

There really is no one correct answer for "what is the most professional way of lighting". If you are actually using Blender professionally to produce a finished product for an employer or a client, then the best way to light a scene is the way that pleases them. If you are trying to produce something for yourself only, then the best lighting arrangement is the one you find most pleasing.

For example, if the goal is to create an anime-style scene with Blender, then you will need a lighting arrangement that achieves this goal:

If you want to create a more realistic looking, yet still somewhat cartoon-looking image, you will need a different lighting style:

If you want to create a photo-realistic result, you will need a photo-realistic lighting arrangement:

Lighting Tutorials

Study and practice will help you learn which style of lighting is best for achieving your goals. In this regard, searching Google for tutorials on lighting can help you find information on lighting in all different kinds of formats -- books, websites, videos, etc.

However, since Blender changes so rapidly from version to version, books tend to get outdated quickly. Therefore, YouTube video tutorials are one very good source of up-to-date information. If you search YouTube for "Blender tutorials lighting", you will find many useful tutorials. In fact, you can search for "Blender tutorials" and find excellent information on all aspects of Blender and you can learn quite a lot from them.


How do i show the whole object in the camera view before i render?

Increase the clipping end of the camera from camera setting.


Emission and Transparant mixture works in 3D View but not in Render

The lamp output node is not intended for use with surfaces, as a matter of fact I'm surprised it worked at all in viewport render.

It works fine for me if you replace it with a material output node:


To be able to use RTX cards with 2.79 you can use one of the 'nightly' builds of 2.79 that came between the latest release of 2.79 and 2.8.
From the 'Previous Versions' page (found by clicking the 'Blender 2.7' link from here):

You can also download the experimental nightly build from July 2019
which basically looks like 2.7 plus additional bug fixes and some new
features that later became part of 2.80.

Following that link takes you to here which is where the downloads reside. This allows you to download 2.79.7, which is compatible with RTX cards.
Note: These versions of Blender are the portable versions which run from the folder they are extracted to instead of coming with an installer.


I tested - grease pencil in blender 2.8 currently supports Sidecar with pressure sensitivity. It is a bit quirky at times - but it definitely works!


How to fix floating objects during weight paint deformation?

Alrighty, I figured a way to make it work. I adjusted the geometry to place edge loops around joints and under the spines so deformation could happen more naturally without such drastic vertex movement. Also increased the length of the spines further into the mesh a little so it takes much more (unrealistic) deformation to help hide the motion. Its not as ideal as having it not move relatively but it'll work for my use case.

The teeth were pretty easy to fix, just painting the weight to the hierarchy correctly made it work. It just confused me when in conjunction with the tail spine issue.


I know this is an old question, but --

are you sure you have shadows turned on in the render panel?

Under the render panel (the one with the little "camera" icon), scroll down to the "Shading" roll-out, and be sure you have "Shadows" checked.

Otherwise your shadows won't render.

Shadows are a two-step thing.  Once you've refined them in your lighting panel, be sure to turn them on in your render panel.


How do you link objects so that they use the same materials?

Select all your objects, make sure that the last object you select is the one with the material you want to link over to the other ones. Than press Ctrl+L and link Materials
And you're all set.


How would I go about in making a neck strap?

Model a small section of the strap. Add a curve object. Give the strap an array modifier and a curve deform modifier, set the curve for the curve modifier and set the array to fit curve and select the curve. You can set the start and end caps of the array to get a 'loop' at each end.

Now when you adjust the curve the strap will deform with it. Use ⎈ CtrlT to 'twist' a curve point. For ease of animation you can add a hook to each curve point with ⎈ CtrlH -> Hook to new object.

For physics you could set a small 'cube' at each curve point as the hook object (or make it the parent to the empty) and set rigid body physics on them.


How do I make a specular surface without reflections?

Gloss is essentially the same thing as specularity.  Glossy means that rays reflect off the surface at the angle of incidence (specular angle), producing a reflection.

From the Wikipedia page:

  Gloss is an optical property of a surface to reflect light in a specular (mirror-like) direction.

By definition, gloss (or specularity) will give you reflections, and thus “gloss without reflections” is a self contradicting statement.  So, short of some compositing tricks as sambler has explained in his answer, it isn't really possible to have gloss without reflections.

The roughness slider simulates miniscule roughness in the surface by scattering rays slightly away from the angle of incidence, giving the matte-like shading.


In Edit Mode, is it possible to invert selection?

This can be done with CtrlI or Select -> Inverse.

It detects which selection mode you're in, and inverts the selection by vertices, edges or faces appropriately.


How to change individual textures using an array modifier

The blender native array modifier unfortunately does not allow for different materials per array object, therefore to get the effect that you want there are only 3 ways:

Option 1:

Apply the array modifier and separate the resulting object by lose parts in mesh options and apply separate materials. This will obviously mean you also have to apply the curve modifier and place it where you want it first, etc

Option 2:

The UVProject modifier will allow you to uv project a picture to the entire object from an projector object (like an empty). In this case you would have to have one road texture that has all the variations in it already and project it using the UVProject modifier onto the array object. However this means that you cant add random variations automatically, and you have to plan the texture ahead of time to the length of the entire road object.

Option 3:

Use the Advanced Array Modifier build:
https://developer.blender.org/T26662

(Option 4)

(I do not have an Animation Nodes build available to me for testing right now so take this with a grain of salt, but i am pretty certain that you could offset a texture/material per object segment with Animation Nodes)


Where can I set the Vse playback frame rate

Make the project match the frame rate of the video.

Go to the Preferences window, In the Dimensions section set the Frame Rate to correspond with that of the video.

Read also: https://blender.stackexchange.com/a/6270/1853


Light areas appearing larger and dark areas appearing smaller in Cycles

I'm probably going to get laughed into next week for this one.......but I think it's an optical illusion. Not only that but I think it also has to do with 3d world as opposed to 2d screen. A white A on a black background is always going to look bigger than a black A on a white background. Take the Olympic rings for example ......there is an actual formula for how thick each ring should be so that they all look the same thickness. The greatest example of this that I have ever seen is as you look up towards the alter in St. Peter's in the Vatican where Bernini makes the letters at the top of the columns larger than the ones at the bottom of each pillar as you look up the nave so that they all look the same hight from ground level. Anyway put a cube or a plane in the scene and measure it.


2.8. background image doesn't show up in final render

The Reference and Background images actually insert viewport-only Empties, with images referenced on them. This feature is primarily for displaying blueprints or plans, reference items used during modelling, not intended for final render.

What you're looking for is to add an actual mesh plane into your scene, and texture map it with an image. That's such a common operation, there is a built in script to do it. I do not know why it isn't enabled by default when you install Blender.
To enable it:

Go into Edit > Preferences, then Addons on the left-hand column.
In the search field type 'images'. You'll see "Import-Export: Import Images as Planes" appear.
Enable the checkbox next to the addon's name.
Close the Preferences window.

A new third image option will now appear: Add > Image > Images as Planes.

This script opens one or multiple images at once, properly adds and proportions a plane for each, and adds correct texture, material and UV settings. That's what you'd need to do, end-to-end, to have a "real" image in the scene that shows up during render.


No you do not need Python (you can use it but you do not need it).

Concept

Add an overlay scene to your game (if you do not have one already).
Add a plane at each single side of the camera's view. The plane can be invisible.

Now you can add a mouse over sensor to each single plane. When the mouse is over the plane send a message. For example, the left plane sends "scroll left".

Now you can add logic that let the camera move according to the messages it receives. For example, when "scroll left" you move the camera along -Y.

I hope it helps


Gaps between liquid and obstacles in liquid simulation

The obvious answer is to increase the resolution, but while this will make the problem less noticeable, there will still be some of this "mushrooming effect". Furthermore, with increased resolution the behaviour of the fluid changes. It becomes more "splashy" if you know what I mean. I baked your sim at a resolution of 300, and the fluid splashed all over the place.

What you will then have to do is that once you have baked the sim, you move your domain downwards (or the obstacle upwards) and maybe do some slight stretching of the domain until these artifacts disappear.

Anything else won't matter. However, about some of your comments:

You say that it looked good with a resolution of 50, but I baked it and it looked horrible. Most likely your observation was due to some other factor, such as not having applied the subsurf modifier.

Yes, about the subsurf modifier. The fluid will ignore the modifier unless it is applied. It will just react to the obstacle mesh as it is. In your case, this might have covered up the problem, as the subsurf decreases the volume of the "canal". A lot of fluid will thus be hidden inside the obstacle, so to speak.

Good luck!


Object texture 1 pixel lines on some sides of model

As mentioned by Mr Zak Cube mapping is the correct way, have in mind however that Blender's OpenGL rendering engine does not support displaying of automatic cube mapped generated texture coordinates directly in the viewport or game engine, it always displays as a 2D mapped texture stretched on the sides.

When you render your images however, it will display correctly.

If you plan on using the OpenGL render or the game engine you will have to unwrap as generated or automatic cube texture coordinates are not currently supported.

For cycles render engine you can use object or generated texture coordinates, but again there is no support for previewing on the viewport, except for basic UV Mapped textures


This seems to be a bug with the most recent builds of Blender 2.8 (as of writing, build of April 26, 07:03:52 - 513b71c89ad0). You can open these items via the shortcuts N and T for the right and left context menus respectively. Once you toggle the menus via these shortcuts they will respond to the mouse correctly thereafter.

In case these aren't your keybindings (these should be Blender defaults), you can find and/or map them in Edit>Preferences>Keymap. You can search "context toggle" by name or find them under the keymaps of the respective editor windows. You are mostly looking for "generic" editor modes NOTE: Every editor window (3D view, node editor, image editor, etc.) has an independent keymap for this action which means you will have to change every case of this mapping you find if they are all not to your liking.


Problem importing the blender model into unity

In Blender you need to rename the bone AND any weight groups you have already assigned when parenting to the armature. The armature bone name needs to match the weight group created for the mesh, otherwise the foot won't be moving with the bone in Blender or in Unity.

Additionally in Unity you can go to Rig-tab and click the button configure the avatar where you can manually assign the left foot to the bone that your model has. But I assume if you fix the weight group naming first (which is mandatory for the rig to work) Unity should be able to correctly automatically detect the foot afterwards.

Finally after you have configured the avatar you can proceed to importing the animations.


Information about blender and its computer

Please follow this link to the Blender 2.8 Beta Hardware requirements page.
https://www.blender.org/download/requirements/

Hope that answers your question. If not, please come back!


Blender 2.8 stuck on some selection mode - no idea what it is

Tap the 'W' key.

I'm suffering this problem right now. I was using 2.82 while following a tutorial based on 2.78, and heard "tap W" to get a menu to pop up for doing something.  Nope, not in 2.8 and later. These days, 'W' turns on this permanent circle select mode.


Can multiple characters share a base rig but still use custom bones?

After you generate a rigify rig, it becomes a standard armature, that can be edited adding new bones and parenting them to the appropriate bones.

The only thing to consider is that the Rigify rig is quite complicated, it has a bone layer with all, normally hidden, deform bones, a couple of layers containing "service" and "machinary" bones, and a lot of layers which organize all control bones (thoose who have custom shapes).

To avoid problems of interference with the structure of the rig, I think it's better not to move, rotate or scale any bone of the original rig, and use the deforming bones (those who contain "DEF" in their name) as parents of your added bones. You can find them in one of the last bone layers (normally hidden, you have to atcivate it in the bone layers tab of the armature properties panel).

If you perefer to have a separate rig (and animation) for your added bones you can use copy transform constraint (in world space). In example you create  a head bone in the exact same place of Rigify head bone, set a copy transform constraint with the rigify DEFhead bone as target, and use it as parent for your ears bones.


Rescaling in the VSE yields low resloution, blurry images

Short Answer:

Besides the fact the the gimp is using a much different algorithm to re-scale the image, the issue (as pointed out by @TheBeachcomber) is that the image is getting rescaled twice: downscaled to fit the canvas and rescaled up using the transform strip.

Now off to the Long Answer:

When you bring an image into the VSE using the default settings, it gets re-scaled to fit the canvas set by the Render Dimensions on the project.

Lets replace your image with a resolution chart from wikimedia, its dimensions are 2000 pixels x 1545 pixels:

As you can see all of the image gets squeezed into a canvas of 720 x 576:

When you add a transform strip and resize it like you are doing, the transformation is not from the original image, but from the bottom layer, meaning the squeezed image.

Even changing the interpolation from bilinear to bicubic doesn't make the image any better. It will take away some of the blockiness, but will be as low quality as before (clik on the images to enlarge):

Now off to a convoluted (and non-ituitive) solution!

Instead of resizing you need to Crop your image (!!!, I know, Crazy...)

Crop is done in pixels so you need to guestimate how many pixels from the edges you need to loose.

The re-sizing is done from the original resolution of the file.

If the change is not evident please enlarge these images to see a side by side comparison:

As an alternative, you can force blender not to re-size your original image by enabling Image Offset for the strip. Then the image will be used on a 1 to 1 pixel ratio (no re-scaling). Find then the area you want to use and then you can use the transform effect strip to re-scale. The re-sizing will not be as extreme, since youi are using the original resolution of the file.

The limitation of this last approach is that the information available for the trasnformation is still limited by the frame on the undelaying strip. If you wanted tho show something beyond it, that information will not be available.

Now in your file, It's hard to see, but think that cropping is going to give you the best quality:


Trying to convert a DXT5NM Normal Map for use in my scene

Ok, first thing is to split out the channels with the separate RGB node. We'll put down a few re-routes too so we don't go nuts and mix channels up:

Next, put in a Combine XYZ node to recompile the channels together. (note that you can use a Combine RGB node here instead of you like, they are identical aside from labels and the color of the output socket. Color and Vector and both a generic vector3 format inside Cycles, they are only differentiated for UI clarity reasons).

Now, currently we have Z=0. That's not going to work. As you noted in the OP, we need to derive Z from X and Y. The reason for this is that X and Y have already been normalized so the full XYZ vector is in a 0-1 range. Thus we can't just shove a 1.0 in there, we need to actually compute Z using the forumla you have above. (note that this setup is exactly what the Unreal 4 engine DeriveNormalZ does under the hood).

First the multiplications within the parentheses, X * X and Y * Y:

Then sum the result:

Subtract that from 1:

Now we need the square root of that result. That's the same as raising to the power of 0.5, so one more math node:

Finally, the particular normal map you provided appears to be DirectX formatted, so we need to flip the G(Y) channel too:

And it works!


As requested the Blend file I used some time back has been placed here.

It's nothing more than a particle emitter with very few particles over a very long time - typically 50 particles over 1000 frames, their lifetime also 1000.

Physics settings were typically with a Size of 0.05, Brownian of 12.68, Damping of 0.224 .

The resultant alpha layered output (single frame .png files) can be an overlay for a video or image.  They can also be adjusted for further visual effects in the compositor or VSE as one would any image or material.

Don't forget to nominate your own folder for the video output -
there'll be 1000 files going somewhere if you don't !

Glad you've got your project going as things are...


What is the role of the graphics card, if any, for CPU rendering?

If you are only using CPU rendering then the graphics card will not affect your render times but that doesn't mean that you should buy the cheapest graphics card.

With large scenes you will find the viewport drawing will get slower if you choose a low end graphics card. So while it won't help your rendering you will still want to get a graphics card that is closer to the high end than the low end.

With support for OpenSubDiv the graphics card can be used to speed up drawing objects with a subsurf modifier, this short preview shows the benefits. The graphics card can also used through opencl to speed up compositing.


What is the best way to model the interior of a vehicle as accurate as possible and what source should I use?

The best way to model the inside accurately is to find a reference image of each individual part of that particular bus or any other bus. This way you will have a good reference that isn't warped in any way. You would then model that part and can use it for your bus. The advantage of modeling the part as a separate object means that you can then use that part in other scenes as well.

For example here is a steering wheel reference from a VW Bus:


I did manage to do it with a Curve modifer and a SimpleDeform (stretch) modifer. But this is not "pixel" perfect. Still open to other suggestions.


How to create "masking effect" with which parts of object gradually show until it's fully visible?

Path Reveal - (See addendum below)

At first an array of planes was tried and used with the build modifier, but that just plain didn't work.

What did give us a similar result to the video and which would be modifiable to pretty much match the video, was this...

The path (so-called) is simply a large plane subdivided 31 times to give us 32 x 32 faces.
To avoid confusion the faces will be referred to as 'Slabs'.

The 'C' circle select was used to select the pathway on the plane by simply 'painting' over those faces in order to highlight a path. (albeit very chunky)

Down at the bottom left of the window the 'Select' menu was opened to choose "Inverse'.  This switched the selected faces off and the non-selected on.  Those faces once highlighted were then deleted to leave just the slab-path.

This is duplicated and moved to layer 10 (0) to give us an original to come back to should things get fouled up.

Another duplicate is sent to layer 2.  This will be converted to a wireframe.

Back in layer 1 and the solid slab, add a "Curve-->Nurbs Path" and keep it set to 2D so it doesn't get hilly.

In Edit mode, shape the path to approximately follow the center-line of the solid slab's shape.  This is going to be used as a 'dolly' track for our camera.

Set up the Nurb's path's parameters.  I've chosen 150 frames for this one.

Add an empty at the same Origin Point as the Nurb's path and give it a "Follow Path" constraint.
Select the Nurb's Path as it's "Target".  If not already there, position the Empty at the path's starting point.

Position the camera at an approximate location so it's looking from ahead and at the top end of the path.  Parent it to the Empty.  (child=camera)

The camera (not the empty) can be freely adjusted and keyframed to suit whatever viewpoint you need as it travels down.

What's required now it to separate those faces/slabs that are to be switched visible as the camera moves down the Nurb's path. i.e. have separate meshes which will each be different sized slabs.
They can range from one to several faces in size, the more random their appearance the better.

The idea is to have varying sized 'slabs' appearing at varying intervals as the camera moves down, but they must start at the top and follow the cam's travel south.

-===========-

Had we set up an array of planes and then rows of those, used the "Build" modifier, there would have been a random choice but they'd be appearing all over the place, not constrained to the camera's travel and viewpoint.  Had we not chosen 'random', their appearance would still not have achieved the desired result.

-==========-

Once separated, each slab is made to appear by keyframing their respective EYE icons in the Outliner.

NOTE -  All will need to be keyframed OFF at frame 1.

There were 180+  faces in all but only 32 slabs to switch on so the job didn't take long.

Once the appearance switching is done, we turn our attention to the wireframe.

This is setup in Layer 2.  The duplicated solid slab inherits the subdivisions.  A "Wireframe" modifier is used on this to turn the edges of it's faces into solid mesh and at the same time get rid of the solid face surfaces.

Adjust the modifier's "Thickness" as required and "APPLY" the modifier.

All that's left to do is to reveal the wireframe ahead of the slabs as they come into view.  A mask was used for that in this example.  It was shapekeyed to shrink and deform (morph) as the camera moves down.

Over the final frames the wireframe's "opacity" in the Material slot was keyframed to fade away.

-================-

The wireframe's Mask -

Cycles is not used here and OpenGL rendering was used for the output video.

This allowed OpenGL masking.  The mask is just a large 2D plane located a little above  the slabs and wireframe. (z axis)
It's set up with a material slot Opacity set to 0.008, no Specular whatever to avoid ghosting and it's diffuse slider set down to about half brightness for the same reason.
NOTE - To view the masking effect, deselect everything (press A) and be in the "Material" viewing mode.

For details on this form of masking see here -

How to put a mask into 3d space

Blend file is attached -

-=================-

Addendum 22nd March 2019 - & 23/3/2019 (added 2nd Blend file)

This is an alternate method.  Simply shapekey or slide layer 1's mask down to progressively reveal the solid tiles. (no need to switch them on individually)

 (Replaced faulty gif here

Layer 2's mask shapekeys would simply have to see to it that it's own mask reveals the wireframe ahead of Layer 1's.

Each layer would be rendered separately.  Layer 2 as an AVI.  Layer 1 as an Alpha layered set of PNG files in another folder.

The VSE would be used to mix both sequences to get the final result.

A sparkly effect using particles could be added to the trailing edge of layer 1's mask such as here - How To Animate A Superhero Zap Into His Super Suit In Blender


Does the file size of the blend file influence the render performance?

.blend file size does not influence render times. Does not matter if render engine load packed data from .blend file or from folder. Here can be difference in milliseconds only on beginning while Blender preparing scene. Not while render it.

Difference between CPU/GPU: Of course there are difference in speed as well as final render output. If you ask for difference about preparing scene, here can be differences in millisecond too. Render engine need move data to your graphics card and this need a time. But don't worry about it, 4GB VRAM in graphics card can be filled in a split second. If we consider that GPU can render much faster than CPU this is absolutely insignificant.
Of course, all depend of PC specs- This is true for "balanced" systems, not for system with extremely powerful CPU and low end office graphics card.

In some cases image rendered using CPU can be different as rendered using GPU. Not always, usually if you use volume and/or SS shaders. Some of this differences was eliminated in Blender 2.78, but nobody know if everything is OK now. The time will show :-)


Extruding diagonal rectangle from interior corner

Make 4 Loop Cuts (Crtl+R) at where it should intersect.

Select the 3 vertices IN THAT ORDER then press J to make a diagonal a line.

Repeat step 2, but with opposite vertices, to create both diagonal lines.

Select all 4 corners of the rectangle we have created.

Press E and then whatever axis they are facing, then bring them out until they are flush with the outside rim of the box.

Go into Edge Select Mode, then select these two edges, press X, then click Delete Edges .

Select all the points and press F and then press Ctrl+N, to Recalculate Normals.

DONE.

Let me know if thats not what you meant or if I messed up on a step!


How can I use the bump node and wave texture node to create ridged spirals around a vase?

It looks to me like the big thing is that the strength of the bump map is too high; with Strength set to 1, it's trying to treat the bumps as having a maximum height of 1, which is very large compared to the size of your base. Try greatly reducing the bump map's Strength; maybe 0.1 or 0.05.
Also, note that a bump map will always produce "flat" ridges - bump maps use normal-vector trickery to produce the illusion of geometry, but when viewed from this close you'll always be able to see that the bumps aren't real. It may be better to use the "Displacement" option on that far-right node (attach a "Vector Displacement" node, and put your height map into that) combined with the "Displacement and Bump" or "Displacement Only" option in the material, with a subsurf modifier to supply some extra geometry. Displacement will actually move vertices, so it'll make ridges that actually look real.


Render and saving image progressively by adding samples

What you ask is not possible directly. It's possible only to use a workaround - basically the same technique as for stacking images in compositor.

Render with Progressive Refine enabled (to get the whole image at once) until satisfied with amount of noise for one iteration, stop the render. Change the frame to get different noise pattern. Render once more into another file / render layer (i.e. create additional Render Layer, select it and enable Pin icon to render only active one; repeat for all layers). Overlay the results in the compositor.

Setup with saving to Render Layer nodes is shown; the one with images will be the same but opening files instead. Find the most appropriate file format for that operation

Now once  you decide the image is still too noisy, render several times more and overlay them the same as before (so add several more Render Layer nodes and increase value of the Value node).

Note:  this isn't intended to be used instead of the final render (although it can be used as asked - render the same a bit more and overlay on top of already saved image). While this technique can be used to save the final render results in some cases, in most of them it might not be worth time spent on it. Instead it should provide you with 2 things:

an idea of how the scene looks like with given setup without waiting for [some time] only to preview the render;
rough understanding of how many samples does your image need to stop looking noisy with given circumstances.


Use API methods

Using base API methods to add new objects to a scene, alleviates the need for context.

To create a new empty with name "somename" linked to the context scene at location (0, 0, 0)

mt = bpy.data.objects.new("somename", None)
context.scene.objects.link(mt)
mt.location = (0, 0, 0)

Note: to put the empty at the global location of the vertex

mw = context.edit_object.matrix_world
global_vert_pos = mw * avert.co

otherwise it will be at the local coordinate, eg one local corner vertex of default cube is (1, 1, 1), any transformation on the cube and it's global location will differ.

Soapbox: since context is an argument of execute method use me = context.edit_object.data  (there is no need to fully address from bpy.)

Note scene.objects.link is no more in 2.8


What does the frame_offset_end/Trim Duraion (soft) mean?

Hard and soft cut, and the differences between them, explained here: Video sequence editing, cutting strips


To do this I would first add some loop cuts along your object where you want the extrusions, one loop cut for each extrusion.  Then, with the loop cuts selected, bevel them with Ctrl+B.  You can then select the proper up-facing faces and extrude them to your liking.


Cycles rendering is different than the blender internal rendering (this applies for v2.79b and lower).

You can however acces the Anti-aliasing settings if you really want to.
Under sampling enable branched path tracing and you should see the option for AA.

The Shading options also differ.
They are split into the world and object properties.
Everyting else you can probably edit via the node editor.


How to make all keyframe scene visible objects, visible in the renderer for each keyframe

Someone could have mentioned a quick fix... the openGL renderer uses the scene view and i spent the whole of last night trying to figure out ways until today. Thanks a lot guys.


Click Shift + A and go to "numbers" in the pop-up and then you will find "math" as a node there.


If you click that same spot - its easy to miss because its at the bottom but there is a search box there that you can type text into to get your texture.


GPU and CPU volumetric render noise discrepancy

There are some differences between CPU and GPU rendered images. Some have been fixed in 2.78, some have not. Maybe later. You can do nothing about this.
Only one recommendation: use what works better in your case and don't combine CPU and GPU rendering for animation. :-)

Blender 2.78 bugs fixes


Why my "Match the camera to 1:1 to the render output" (shift + numpad-enter) shortcut doesn't work?

I initially didn't understand what was the purpose of the shorcut, as nothing was happening. After some exchanges on the site, Martin Z suggested to check whether the menu option (View | Navigation | Zoom Camera 1:1) did show the same problem. It didn't, the menu option worked as expected.

Confirm the problem is with the shortcut

This is an indication of a potential keyboard problem, and for those suspecting something similar:

Confirm the shortcut is really the one you think. You may look at the menu entry or use space to display the search window. The shortcut will be indicated near the description of the function.
If the shortcut is the one expected, then try running the function using the menu. If it doesn't work better, then the problem is elsewhere.

Keyboard problem confirmed... what is the cause?

In my case I use a laptop and an external USB keypad. The problem is the keypad, which brand is Targus:

I don't know whether this device doesn't generate the correct key code for key Enter, or whether Blender developers didn't bother or weren't able to differentiate the internal keyboard Enter from the USB keypad Enter, but in Blender API both keys appear the same.

Workaround

The solution is to change the shortcut associated with the function. It's done in user preferences (open this window with the combination ctrlaltU (or menu entry File | User Preferences in the "Info" header).

Select Input tab and type a part of the function name, for instance "1:1" in my case, in the search field to display the function and its binding:

Put the mouse pointer over the keyboard shortcut
Press Enter to activate the key recorder
Type a new shortcut, in my case crtlaltreturn to prevent overwriting one already in use.

Don't forget to save the user preferences, else the new binding will be lost when Blender will be closed.


Change Transparency Value of an Object in BGE with Keyboard

Transparency animation

Go to first frame (1). Mouse cursor over Material/Transparency/Alpha I. The Alpha field will turn yellow.

go to last frame (21). The Alpha field should be green right now.
enter 1.0

Mouse cursor over Material/Transparency/Alpha I.The Alpha field will turn yellow.

Go back to frame 1 again.

Your material action is prepared. You can play the material action the same way as any other action. Here is one option:

Logic

Add an action actuator

setup start frame (1)
setup end frame (21)
setup action name (MaterialAction)
setup playback mode (Flipper)

Add a property

"opaque"
type: boolean

logic to toggle opaque

Keyboard sensor -> AND -> Property Actuator Toggle "opaque"

logic to play animation

Property Sensor Equal "opaque" True -> AND -> Action Actuator

I hope it helps


It looks like what you are looking for its the color ramp node.

The color ramp node can take any value between 0 and 1 (values outside this range will be clamped to 0 or 1) in it's fac input socket.  And it will output the respective color from the gradient specified by the color swatches just like in BI.

Use the + and - buttons to add more swatches.
Use the <-> button to flip the order of swatches.
The color (and alpha value) of the selected swatch is set with the large color strip at the bottom of the node.
You can adjust the exact position of the selected swatch with the pos spinner.
The alpha gradient is outputted through the alpha output socket.

So it could, as you mentioned, be used to adjust the affect of an image texture on a mix shader (the image texture could just get plugged directly into the mix shader if no color adjustment is needed though).


I'm not quite sure how the mesh has got like this, but essentially I think the mesh has been scaled (in object mode, I think) so it has zero thickness (in the object panel the 'z' scale value is '0') which I think is why you can't move anything in edit mode. Any movement is being 'squashed' back to zero.

To fix this you can go to object mode, select the mesh and press Ctrl+A> Scale. This 'applies' the scale, resetting the scale values to '0' but leaving the mesh appearance unchanged.

This question may help, though applying scale can be a complex subject:

Why are the longer edges being beveled more?


The way I see it, there are two distinct ways you could go about this, the image based solution, or the geometry based solution.
Both have advantages and disadvantages, which is best is up to you, depending on whatever end goal is planed for the model.

Image Based
This solution will use one or several image based textures mapped all over you surface.
Advantages

It is relatively easy to achieve
It can be light weight because it doesn't require additional geometry or objects
Relatively standard workflow using well known common texturing techniques
You can use a photo based textures to spare the trouble, or for added realism
You can use a custom made vector-based image textures (from say an illustration program like Inkscape or Adobe Illustrator) for added accuracy
Will easily allow you to add scratches grunge or wear, if you want to give it a worn out aged look
Exports well to other applications like external render engines or game engines

Disadvantages

Requires image based textures (which can consume a lot of memory for high resolution quality)
Image based textures don't work well for high contrast details like text or line art, so it will likely require several very high-resolution images for closeups, which will be memory intensive
You will likely have to manually unwrap your meshes for proper texture coordinates which requires additional work, and may be difficult to guarantee accurate dimension relationships.
A good UV map will require proper topology, and/or carefully placed geometry elements with correct rotation orientations to get good real-world texture proportions correctly.
You can simplify by using generated texture coordinates if you don't need to  export the model, but it will still require separate geometry elements with correct transform orientations to get good real-world texture dimensions correctly.

Geometry Based Solution
This solution will use text and/or bezier curve objects overlayed all over your surface for details. This will work well if you designed the console yourself and already have (or are willing to make) vector based drawings of the prints and surface details yourself. Can be imported as SVGs from illustration or vector drawing applications.
Advantages

Very high degree of quality and accuracy
Sharp details, well suited for closeups
Depending on required detail may consume less memory than several high quality textures
Good for a clean "shiny new" look (like product rendering)
Easy to edit and tweak, can be modified directly in the 3D View
Suited if you already have vector illustrations or CAD drawings of the prints
May be optimized with instances for repeating geometry or similar parts
Compatible with different materials, using separate shaders for LEDs and lit parts or color prints.
No need to fuss around with UV mapping or texture coordinates
Poor topology tolerant

Disadvantages

Heavy geometry based solution, may result in high poly count, and/or high number of objects
High poly and poor topology are likely less suited for exporting to game engines, or real time visualization
Non standard workflow (poorly documented, harder to find help online)
Less suited for "non vector" details like scratches, grunge or other weathering effects (may still be added as an overlay).
May require additional manual work designing vector masks
Geometry produced by bezier curves will have intrinsically ugly topology


Blender 2.8 - How to access material nodes?

in 2.8 the shader editor and the compositor have been split into two different editors.

You can use nodes in shading tab or if you go to compositing tab then enable the "Use Nodes" which you can see in the image:


linking rotation + location/trying to rotate a robotic "C-arm" along its "mount"

Ok, to start, I've created a quick (and not terribly accurate) recreation of an area of your model;

And we'll say I want to move the object on the left in a way that it follows the shared curve in the middle. The quickest way I know to do this is to set the origin of the object to an appropriate pivot point, then simply rotate the object.

Setting the origin

Go to object mode and left click in an area you want to pivot from (this is a bit of a guess at this point);

Set your pivot point to "3D Cursor";

Now hit r and move the mouse, see if the object moves as desired;

No no, that won't do. How about;

Yes, much better. Check the full range of desired motion;

Ok, this will do. right click to stop rotating (or ctrl+z to bring it back to where it was if you confirmed the rotation).

Now, hit space (or F3, depending on your hotkey settings), and search for (and select) "Set Origin";

Then select "Origin to 3D cursor";

Now set your pivot point to "Active Element";

At this point, you can hit r and rotate the object on that point, regardless of where the 3D cursor is;

Technically, you don't need to set the origin

You could pivot on the 3D cursor without setting the origin, but setting the origin allows you to move the cursor around and not have to find the optimal pivot point every time.


Once you put the .blend, textures, and icons folders in c:>users>YourName>AppData>Roaming>BlenderFoundation>Blender>2.79>config, open a new .blend and append the brushes from the .blend in the location above and nowhere else. Save as a new start up file and you're good to go!


How to see texture with a "node viewer" using node wrangler addon

As mentioned by @mr-zak:

Node wrangler uses Shift + Ctrl + Left-Mouse as default mapping. That means, you have to keep Shift and Ctrl keys pressed and Left-Click the node.


Python - syntax error in established code

b'' or b"" define a byte string, this is a feature of Python2.7 or 3.x

See: https://stackoverflow.com/questions/17707085/python-string-b-prefix-byte-literals

You can use Python2.7 with Blender2.4x, but you'll have to recompile Blender, linking to the newer Python version.


The Blender EEVEE render engine uses OpenGL for all the rendering, so YES, rendering on the CPU should be completely doable, as long as a viable CPU-based OpenGL implementation is also installed and enabled.

In particular, Blender lists system requirements of only "OpenGL 3.3", which is officially supported by both softpipe and LLVMpipe.

Base Knowledge

OpenGL is just a standard interface that programmers can use to perform operations that are commonly related to computer graphics. What happens when a program actually runs that code is completely up to the system it's running on.

In most cases, a program that runs OpenGL code will have its processing redirected  by the OS to the GPU, because the GPU is specifically designed to be more efficient than the CPU at running the kinds of operations that OpenGL is used for.

However, there is nothing fundamentally different about the mathematics that the CPU is capable of doing and that the GPU is capable of doing, so it is also possible for the OS to simply compute the result of each OpenGL operation entirely on the CPU, without the program ever touching the GPU (or knowing any better).

Analogy

Imagine that the CPU is a secretary, and the GPU is a group of workers. Usually, when a blueprint (OpenGL call) comes in, the secretary passes it along to the workers to do the heavy lifting (rendering).

However, there's nothing that's actually stopping the secretary from rolling up their sleeves and helping with the work themselves— so long as they have the proper training (OpenGL software implementation). They might not be as skilled or in as great shape, so they'll be slower, but they can still do it.

Caveats

There are only some limited situations where this would come in handy:

You do not have access to a GPU, for either a lack of compatible hardware or software.
You have a surplus of CPU power, and you want to squeeze out as much rendering speed as possible from what you have without caring about the efficiency and electricity usage.

Basically, if you have the choice, using the GPU will almost certainly be both faster and more efficient than the CPU. In order to match the speed of a \$50, 30 watt integrated GPU, you would probably need a \$400, 150 watt server-grade CPU. But in cases where GPU-rendering simply isn't an option, setting up a CPU pipeline should be fully possible too.

Addendum

Wikipedia has some information on the software OpenGL capabilites on most Linux desktop and workstation computers:

https://en.wikipedia.org/wiki/Mesa_(computer_graphics)#Software_renderer

The following software projects all purport to offer some degrees of support for CPU-only software rendering of OpenGL (and potentially other graphic APIs):

https://www.openswr.org/index.html
https://dri.freedesktop.org/doxygen/gallium/softpipe.html
https://www.mesa3d.org/llvmpipe.html

Phoronix.com has also done a performance benchmark of two of the above options:

https://www.phoronix.com/scan.php?page=article&item=llvmpipe-swr-xeon

(Note that the above tests were done on an 80-thread server-grade CPU— and it still struggled to reach a playable framerate in simple video games.)

These guys seem to have successfully run Eevee using openswr:

https://www.highperformancegraphics.org/wp-content/uploads/2018/Posters-Session/HPG2018_BlenderRenderingAbstract.pdf
https://www.highperformancegraphics.org/wp-content/uploads/2018/Posters-Session/HPG2018_BlenderRenderingPoster.pdf


"active object is not a selected mesh" error

In order for selected mesh to combine make sure one of these objects is text highlighted in the outliner, it's a means for Blender to decide which part inherits the other parts. If none of the parts are text highlighted you will get that error message and they won't combine.


Water Simulation not rendering the right way

You have several options to refine your outcome.

Most important for fine results: Increase the value for final resolution.
Increase values for smoothing and smoothing subdivisions under Fluid Boundary.
Use a Smooth Modifier on your water object. Values like Repeat: 50 may be necessary.


Why can't I see the transformation gizmo in the 3D View?

I don't see the left side of your Blender file, but maybe this helps:

If you click T a tool bar should appear on the left side of your screen. Here you can select for example the move or rotate tool and then you should see the correct gizmo. If you move or rotate the object using hot keys (for example G to move objects), there's no gizmo even if you turned on gizmos.


What are these white splotches on my smoke render?

I figured out the issue. My domain was too small and the white was where the smoke was touching the “walls” of it.


Is it possible to create a particle system which uses collection of objects or merge a collection into 1 object?

Solved my problem.

Create new particle system -> Render -> Render As -> Collection


How to build Blender with edited blender_icons?

Blender uses uncompress bitmaps for the icons, which are generated from the svg with a python script which depends on inkscape and blender. See this for details.

The basic workflow should be something like:

Edit svg
Run the python script in

blender/release/datafiles/blender_icons_update.py

If you are on linux, you can also run make icons instead.
Compile


Is it possible to render part of the composition in eevee and other part in cycles?

Sure, use two Scenes
You can specify the render engine for each of your scene.

Then in the Render layer node you can specificy the scene to inspect for picking the right view layer.

If you have problems in rendering multilpe scenes at the same time, visit: How do I batch render multiple scenes with animation settings?


blender grease pencil / Krita workflow question

To open a grease pencil animation in Krita, you first render the animation as a OpenGL animation. This will give you a sequence of images. Then you open Krita and start a new project with the same dimensions(or not) as your animation. Then you select File>Import animation frames and select the image sequence.

As for the painting, the author painted on a separate layer and used the Transform Layer brush with the Liquify option to manipulate the painted layer to stay with the animation. There is also an auto-frame option to keep changes per frame.


Most efficient way to create a frame for eye glasses?

Yes, the fastest way would be to use beveled curve. Here's a simple one using only curve with a Mirror modifier:

Cyclic property of the curve splines that form each lenses' rim is toggled on, and the frame's width can be varied by Alt-S on selected control point. To some extent, the frame's shape can be further modified by using taper and bevel object:

Note that both objects affect the appearance of all splines within the curve. Modifying just part of the curve will require that part to be separated as a new curve object.

Handle Part

Modeling the glasses' handle can be done manually as the others' answers, or by using a Curve modifier on the handle's mesh object:

You may get lesser control than by shaping it manually. But using this method, you can quickly adjust the handle's curvature by editing the curve, editing the mesh itself mostly to control the shape along its length:


Look-dev ambient environment not working in Blender 2.8 Eevee

Switch from Transparent to "SKY" on Film>Transparency on the Render tab.


Restore thumbnails in Windows File Explorer?

The answer courtesy of fmb501 at blenderartists (thread here) :

  This appears to be a bug in the Blender installer, but the fix is
  fairly simple.

  Open the Windows icon in the bottom left corner of your computer
  display and search for "command prompt"

  Right click on the result and select "run as administrator."

  There will be a small window with a black background and a blinking
  cursor.

  Type "chdir c:\program files\blender foundation\blender" and press
  Enter (chdir is the command for changing directories with the command
  prompt)

  You should now be at that directory.

  Type "blender -R" and press enter. You should receive a message
  indicating that the registration has been successful.

  Close any Windows Explorer windows and then open Windows Explorer
  again.

  Navigate to a directory that has your blend files and you should now
  see thumbnails for all of your blend files. If there some blend files
  that don't have thumbnails, it's probably an old file before the
  thumbnails were added. Just open and save it again and you should see
  the thumbnail.

  I'm not sure why Blender Foundation hasn't fixed this instalation
  problem by now. I'm wondering if you have to install blender as an
  administrator to get it to regiser the thumbnail dll.

  Anyway, until it gets fixed, you will likely have to register as
  described above with every new installation.