Best way to go about making a roof for a complicated object

If you don't want to 3D print it then:

Knife project the perimeter onto a plane
Remove unnecessary faces
Lower the roof to .001 above the model
Ctrl + J  to combine.


Generate rig produces a "bugged" controller

I looked into your file and noticed the problem. I looked to the knee of the metarig and it looks like your knee is facing backwards. You can see that because the pole is backwards. I posted several pics explaining this. That is why the IK is snapping weirdly when rotating the foot. I removed the rig and generated a new one using your metarig and it seems to have fixed the snapping issue. But there are several other issues with this rig.

While I'm a it, I would suggest you to move the kneecaps a bit to the front, so you're knees won't bend to the back when lifting the IK Foot.

Hope this helps!


In fact, you do not link the bone to an object.
You link the object (or vertices of that object) to the bone(s).

The title of your question should not be "How to link separate parts of a single bone to different objects?" but "How to link separate parts of my object to different bones ?"

Because a bone does not really have several parts. An armature has several bones (there are in fact bendy bones, with several parts, but you don't need them for your table).

For your need (folding a table), you could use different approaches.

Solution 1 : Animate separate objects directly

You could directly have your different parts of the table modelled in several objects, and animate those objects directly.
It would be sufficient for some simple animation.

Soltution 2 : Use an armature and parent each object to a bone

You would model each moving part of your table in a different object. Then you parent each object to a bone. For doing it for an object, you would do as follows :

Select the object (Right-Click)
Select the armature object (Shift+Right-Click in order to keep the object of step 1 selected)
If not already, switch to pose mode.
Select the bone you want to parent to
Hit Ctrl+P for parenting
Select option "Bone"

Your object is now parented to the bone. Repeat for other Objects/Bones couples. For a mechanical system like your table, I would go for this solution.

Solution 3 : Use an armature and a single object for the table

In this technique, you only have one mesh for your entire table. For joining different objects together, use Ctr+J after having selected all those objects.

You would have several vertex groups defined for your mesh, whose name corresponds to the bone's names in your armature. The weights in this groups will determine how vertices follow bones.

For instance, if for a given vertex, you have a weight of 1 for vertex group 'A' and 0 for vertex group 'B' : this vertex will follow bone 'A' and not bone 'B'.
If 1 for 'A' and 1 for 'B': this vertex will follow bones 'A' and 'B' with the same influence.

For doing it :

Select your table (one single mesh object)
Select your armature
Hit Ctrl+P for parenting
Select 'With empty groups'

Now your mesh object is ready to follow the armature. But since you don't have weights in your vertex groups (that were created t step 4), you will see nothing.

Enter in edit mode for your object. Select the vertices that will follow your first bone (you can use Ctrl+L shortcut for selecting all 'linked' vertices and work faster). Assign these vertices in the vertex group that has the same name as the bone it should follow, with a weight > 0 (1 for instance).

Repeat for all the moving parts!
That's it, you have the same result as solution 2, but with one single object !

This method is very good for organic objects, but I think it's easier to go with the second method for your table.


Perhaps, you are looking at the material data-blocks (i.e. the first image you have put it up here) instead of the object data-blocks.

Look out for Blender File as a Display Mode on your Outliner. You should have all the data displayed that is present on your current Scene.


I need to snap a the face of an object without changing the relationship of the origin point to that object

A number of ways of doing this, but here's one that should preserve all the relationships in your origami. It looks from your picture as if all the folding parts of the model are separate objects, with their origins on the folds, all parented to a static part, with its origin off-plane.
In brief: parent the existing origami-hierarchy to another object aligned to, and in its plane. Then snap the new parent.
Not so brief, and assuming the worst case, with the origami and the target plane both skew to the world and their own object-axes:

With the T > 3D Cursor tool active, and its N > Tool tab options set to 'Surface Project' and Orientation 'Geometry', drag the cursor to somewhere on the static section of your origami.
-ShiftACreate an Empty there, and in its adjustment panel, set its 'Align' to '3D Cursor'
CtrlP parent the static section to the Empty.

If the plane you are aiming at is skew to the world, create a Transform Orientation from its face in Edit Mode by selecting it and clicking the little '+' in the Header's Transform Orientation dropdown. (You won't need to, if the target plane is in World XY.)
With the Empty selected, Header > Object Menu > Transform > Align to Transform Orientation, with the newly created orientation selected. Your origami should now be aligned to the plane.
Snap the Empty to the plane, any way you choose
AltP un-parent your origami from the Empty, with 'Clear and Keep Transformation'.

This really is the worst case: if your origami's local axes are aligned to their planes, or the target plane is aligned to the world, you can skip some of these steps.


In the Symmetry/Lock section, have you enabled a mirror axis?


Can frames with no animation be automatically skipped?

I had the same problem, solved it with a bit of code. This script renders your animation frame for frame, skipping frames with no animation and adding them to render destination as copies of their equivalents.
This gives you the same result as a normal animation render, and saves you a lot of processing time.
The script does the following:

Take each animated object and store its F-Curve values at each frame in the animation.

Create list of still frames, by comparing differences in neighbouring F-Curve values for each frame in each animated object.

Render frames in desired range, skipping each still frame.

Fill in skipped frames with copies of their equivalents.
  import bpy
  import subprocess

  def render_with_skips(start, stop):
      """
      Take start and stop, and render animation only for animated
      frames. Still frames, are substituted into the output folder
      as copies of their equivalents.
      """

      render_range = list(range(start, stop))

      # create JSON like dictionary to store each
      # animated object's fcurve data at each frame.
      all_obj_fcurves = {}
      for obj in bpy.data.objects:
          obj_fcurves = {}

          try:
              obj.animation_data.action.fcurves
          except AttributeError:
              print("--|'%s' is not animated" % obj.name)
              continue

          print("\n--> '%s' is animated at frames:" % obj.name)

          for fr in list(range(start,stop+1)):
              fc_evals = [c.evaluate(fr) for c in obj.animation_data.action.fcurves]
              obj_fcurves.update({int(fr): fc_evals})
              print(fr, end=", ")
          print()

          all_obj_fcurves.update({obj.name: obj_fcurves})

      # loop through each animated object and find its
      # animated frames. then remove those frames from
      # a set containing all frames, to get still frames.
      still_frames = set(render_range)
      for obj in all_obj_fcurves.keys():
          obj_animated_frames = []
          for i, fr in enumerate(sorted(all_obj_fcurves[obj].keys())):
              if i != 0:
                  if all_obj_fcurves[obj][fr] != all_obj_fcurves[obj][fr_prev]:
                      obj_animated_frames.append(fr)
              fr_prev = fr

          still_frames = still_frames - set(obj_animated_frames)

      print("\nFound %d still frames" % len(still_frames))
      print(sorted(still_frames), end="\n\n")

      # render animation, skipping the still frames and
      # filling them in as copies of their equivalents
      filepath = bpy.context.scene.render.filepath

      for fr in render_range:
          if fr not in still_frames or fr == render_range[0]:
              bpy.context.scene.frame_set(fr)
              bpy.context.scene.render.filepath = filepath + '%04d' % fr
              bpy.ops.render.render(write_still=True)
          else:
              scene = bpy.context.scene
              abs_filepath = scene.render.frame_path(scene.frame_current)
              abs_path = '/'.join(abs_filepath.split('/')[:-1]) + '/'
              print("Frame %d is still, copying from equivalent" % fr)
              subprocess.call(['cp', abs_path + '%04d.png' % (fr-1), abs_path + '%04d.png' % fr])

      bpy.context.scene.render.filepath = filepath

  start = bpy.data.scenes['Scene'].frame_start
  end = bpy.data.scenes['Scene'].frame_end
  render_with_skips(start,end)

I should stress that this will only work if you do not have anything else moving around at the times when everything else in your camera view is still.
NOTE
At this moment the code is only Linux/OSX compatible because it uses a subprocess to copy frames which is not Windows compatible. MarcHorstmanns's answer below implements my code so it works with Windows.


place quick smoke icosphere over video in video sequence editor

Most video formats do not support alpha channels,at least not the ones built into blender. (there is one option if you are using OSX)

You have two options:

1.- Export your scene as an image sequence with in RBGA (in a format like PNG, Tiff, TGA, Jpeg2000 or OpenEXR) and then import it into the Video sequence editor to combine your shots

2.- Do the compositing directly in blender either by importing the smoke scene as a strip into the video editor or using the compositor located in the Node Editor


Where does blender store its config files?

If you’re on Windows, check your AppData folder -> Roaming. If on Linux, I might check /use/share but I’d be able to give better blender information in a few days time for that system.
I don’t think there are any configuration settings not covered in the GUI except maybe like GPU drivers or something: Blender is the most configurable interface program I’d ever seen.


Extrude face down without disturbing adjacent surfaces

By default the extrusion will follow the face normal (it's orientation). If it's not vertical the extrusion won't be either. To extrude and constrain on the Z axis just press E then Z.

Also, for this kind of faces that stick to the mirror axis, if you enable the Mirror Clipping option it will prevent the creation of a face on the axis itself.


Recognize bridging faces of splits at a plane

One not always working way is to select similar vertices by amount of connected edges with increasing selection after that.

Start by selecting one vertex located in the corner between one of those "bridged faces" and main plane.
Press Shift+G to access Select Similar menu and choose Amount of connected edges. This will select some of vertices of desired part.
Increase selection by pressing Ctrl+Numpad + to select more.
Switch to Face Selection mode and decrease selection by pressing Ctrl+Numpad -.

This won't work when part of plane between these "bridged faces" is less than 4 polygons. Then on step 3 you'll end up with more selected faces you could deselect in step 4; i.e. the deselection won't work that accurate.


Make sure windows ink is off.
Make sure double click detection is off on your tablet driver software (there is such option on wacom but none in xp pen, don't know about your brand)

Switch blender to win tab:

Let me know how it went.


Blender 2.81: Transfer rig to similar unrigged, unskinned model

I renamed the armature model1 to rig1. I suggest you adapt a naming system which differentiates between armature/rig objects and geometry/mesh objects.

Preparation

To better see the armature during the process, I select rig1, active In Front and choose Wire for the display as property. This way the rig is always visible in front in wireframe mode (less in the way but clearly visible).

Next I will create a T-Pose like action (take), to which I can always switch to if I modified some transformations.

Select the rig1.
Go into Pose Mode.
Select all bones. A
Clear all transformations. AltG, AltR, AltS
Press I to open up the Insert Keyframe Menu and choose LocRotScale to insert the appropriate keyframes.

Open up the dopesheet editor (1), and switch to the action editor (2) mode. Here you can see the keyframes we created with the I hotkey and also the action which was automatically created. Different actions can be stored independently from rigs in the blend. To preserve the action, even we do not need it, create a "fake user" for it (3) by clicking on the shield icon next to the action name. In the action dropdown, you can also see the other action Armature.001|Loco_Walk|BaseLayer which the other armature referers to.

I renamed both actions and made sure they both have fake users. With the  Rig selected, we can preview both actions by selecting them in the action editor. They have an F next to their name, if they have a fake user.

As both actions are protected now, I delete the unused additional armature.

Create the other armature

Select the armature rig1 and duplicate it by pressing ShiftD in the 3D Viewport. In the outliner, there will be the duplicated rig.001. Hide the original model and original rig, by clicking on the disable in viewport icon (TV symbol).

I rename the duplicated rig to rig2.

Briefly unhiding model1, I select model2 and position it as close as possible on top of the model1. I am in right orthographic view and eyeball the position while using the transform tools, G, R, S.

Then I go to the properties panel and open up the modifier section. We will use a data transfer modifier to transfer the weight groups from model1 to model2.

Select model2 and add a Data Transfer modifier to it.
Choose model1 as the source object (4).
Enable Vertex Data and Vertex Groups (5), then choose Nearest Face Interpolated as the transfer method. (6)
Make sure the evaluate in global space button is checked (7).

Clicking on Generate Data Layers (8) will generate the needed vertex groups.

If all vertex groups have been created, Apply (9) the data transfer modifier and hide the original model1.

The vertex weights have now been transferred to model2 and can be examined in Weight Paint mode.

Connect the armature

With the weights already transfered, we only need to connected armature. Select model2 and Shiftselect rig2 in the 3D Viewport. It is important that rig2 is the active object. Then press CtrlP/kbd> to open up the parent menu. Choose Set Parent To Armature Deform

This will parent model2 to rig2 and add an armature modifier.

model2 should now move if we assign the walk action to rig2 in the action editor.

This is how far transferring the weights and armature goes, since the object vary in their shape.

The next steps are

manually reposition bones of the rig2 armature in edit mode
correct the weights of model2 in weight paint mode
add new bones and new weights


Mesh sticking to edges when using subdivision surface

Normals are inverted either on right or left of the model.

To solve it:

Edit mode
Select all A
ShiftN

An easy way to detect this is to use X ray:


How can I repeat a group of animation phases

Does it need to be programmatic? If not, select one of the objects, select the keyframes (in the graph editor) in frames 1-300:

Hit Shift+D to duplicate the keyframes
Then hit G and 300
Then Enter to confirm the operation

This will duplicate the exact keyframe in 1-300 and move the duplicates to 301-600.

If it is more complicated than that, perhaps you might update your question with more details on exactly what you are attempting to accomplish.


When keyframing binary values there is no need to include a "holding" keyframe as you have described before each change.  Blender knows to only switch the value at the keyframe since there is no way to interpolate a boolean.

In the above example I have visibility keyframes at frames 1, 15, 30, and 40.  Notice that I don't need keyframes at frames 14, 29, and 39 to make sure that it stays constant up until those frames.


How to create a notch on a surface w/o messing up with the edges?

You could do it with this topology, at the beginning use i to inset. Then you can add some edge loops if you want to be more precise...


How to quickly create a cable easily editable?

Use a curve, add one by doing Shift + A then Curve > Bezier. Place and orient the controll points of your cable, to deform it and add gravity select both points and press W > Subdivide. From V menu set the intermediate cuts to Automatic to keep a smooth curve, then position it. If you add multiple cuts spread them to get some space to keep a smooth line.

To make that curve have some volume set the Fill mode to Full. In the Geometry rollout under the "Bevel" adjust the Depth for the width of the cable and the resolution for the amount of sides.


Try this - don't snap to anything.  Get into Ortho view mode so you're looking flat at the side to be extruded, extrude one vertice only a small distance in the axis that will take it along top edge.  Then press G and move your mouse down so the loose vertice is near but not touching the bottom right vertice.

Highlite the loose vertice, and with shift held, highlite the 2nd vertice at the corner, press ALT-M and select "first to Last" or similar, to "marry them". (my term)

If that doesn't deform the cube's shape, do the same with the other side.  Round it all off by removing any doubles.


Why did Blender move from 2.83 straight to 2.9?

Blender foundation wanted to move to a more familiar version numbering system.
Can't find a reliable source to quote at the moment, but I believe I remember reading somewhere that Ton Roosendal established that major Blender versions like 3.0 or 4.0 would have to carry deep API or paradigm changes to warrant a major version bump.
This meant that Blender would be stuck in the 2.0 series for a very long time, unless it was rewritten from the ground up.
After the 2.8 series revamp, newfound success and funding, a switch to a faster and more familiar numbering scheme was adopted, as stated in the Code Blog Post Blender LTS and 3.0

Release numbering Along with this, I also propose to accelerate a bit
our release numbers this decade.
This summer we’ll do Blender 2.90 (new particle nodes), and in summer
2021 the Blender 3.0 series begins! By then we will implement a more
conventional release numbering.
I suggest to do minor releases (3.0, 3.1, 3.2, … 3.7) for two-year
periods, and then move to a new major release. Blender 4.0 could be
there in 2023 already!
Below is a summary. Let us know in the comments below what you think

This way introduction of major features like the waited Particle Nodes warrants a major bump.


Can't see beyond a certain point in viewport?

It looks like you might need to increase the Camera End Clip Distance. Press N in the viewport, and select the "View" tab on the right side of the menu that appears. Clip distance is near the top. See below:


Why is the scaling point not in the middle of my selection?

You can select from which origin point to apply the scale using transform pivot points. They are at the top of your 3D view.

Right now I can see that your transform pivot point is set to "active element" which means you are scaling relatively to the center of the left face.

I am not sure what exactly you are trying to achieve but I suggest using "individual origins".


How do I fix the this rig to blend it's knees the right way?

When you add an Inverse Kinematic constraint to a bone, the Inverse Kinematic panel, in the Bone tab, allows you to lock the axes you don't wont the bone to rotate on.


SCULPTING - Blender 2.8 "emulate 3 button mouse" disables ALT+LMB

Solved it by remapping the 3D view global Alt+LMB  to Alt + RMB
Go to Blender Preferences -> Keymap -> 3D View -> 3D View (Global) and Scroll down to find a Select keymap box that has Alt+LMB  as keymap (it should be a few lines above the Box Select keymap).
Change the Alt+LMB  to Alt + RMB  instead.
Solved the issue for now. Not sure if this keymap was important for any other workspaces, but skimmed through the global keymap sections and could not spot one in any of the other sections.


repeating set of operations for all selected objects individually

import bpy

for object in bpy.context.selected_objects:
    object.location.z += 0.1 # Do whatever you want to the object


Popup Dialog StringProperty File Icons Do Nothing

You can use a CollectionProperty if you really need to let the user select multiple files (in different folders).

The following code invokes a file selector, that let's you add the current filepath as well as the selected files to a list. It allows for several input/output paths. It won't add duplicates, and you can also remove entries.

(The example operator is derives from the File Export template, but Add Files doesn't make much sense for an export operation - use it for imports instead!).

import bpy
from bpy_extras.io_utils import ExportHelper
from bpy.props import StringProperty, IntProperty, CollectionProperty
from bpy.types import Operator
from os.path import dirname, join

class AddFile(Operator):
    bl_idname = "export_test.add_file"
    bl_label = "Add File"

    filepath = StringProperty()

    @classmethod
    def poll(cls, context):
        op = context.active_operator
        return op.filepath not in (f.name for f in op.file_list)

    def execute(self, context):
        item = context.active_operator.file_list.add()
        item.name = self.filepath
        return {'FINISHED'}

class AddFiles(Operator):
    bl_idname = "export_test.add_files"
    bl_label = "Add Files"

    filepaths = CollectionProperty(type=bpy.types.PropertyGroup)

    def execute(self, context):
        file_list = context.active_operator.file_list

        for fp in self.filepaths:
            if fp.name not in (f.name for f in file_list):
                item = file_list.add()
                item.name = fp.name
        return {'FINISHED'}

class RemoveFile(Operator):
    bl_idname = "export_test.remove_file"
    bl_label = "Remove File"

    index = IntProperty()

    @classmethod
    def poll(cls, context):
        return len(context.active_operator.file_list) > 0

    def execute(self, context):
        try:
            context.active_operator.file_list.remove(self.index)
        except IndexError:
            pass
        return {'FINISHED'}

class ExportSomeData(Operator, ExportHelper):
    """This appears in the tooltip of the operator and in the generated docs"""
    bl_idname = "export_test.some_data"
    bl_label = "Export Some Data"

    # ExportHelper mixin class uses this
    filename_ext = ".txt"

    filter_glob = StringProperty(
            default="*.txt",
            options={'HIDDEN'},
            )

    # special prop, blender fills it with all selected files if present
    files = CollectionProperty(type=bpy.types.PropertyGroup)

    file_list = CollectionProperty(type=bpy.types.PropertyGroup)
    file_list_index = IntProperty()

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

        row = layout.row(True)
        row.label(bpy.path.basename(self.filepath))

        row.operator(AddFile.bl_idname, icon='ZOOMIN').filepath = self.filepath

        props = row.operator(AddFiles.bl_idname, icon='ZOOMIN')
        folder = dirname(self.filepath)
        for f in self.files:
            item = props.filepaths.add()
            item.name = join(folder, f.name)

        row.operator(RemoveFile.bl_idname, icon='ZOOMOUT', text="").index = self.file_list_index

        layout.template_list("UI_UL_list", "AddFiles", self, "file_list", self, "file_list_index")

    def execute(self, context):
        for f in self.file_list:
            print(f.name)
        self.report({'WARNING'}, "\n".join(f.name for f in self.file_list))
        return {'FINISHED'}

def register():
    bpy.utils.register_module(__name__)

def unregister():
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.export_test.some_data('INVOKE_DEFAULT')


Possible causes for blank output on rendering
Please follow the links in blue for further details
1 - No Surfaces

Make sure Surfaces is enabled otherwise Cycles has no geometry to render

2 - Objects have been disabled for rendering

Objects might have been disabled for rendering in the Outliner. To fix enable the camera icon in the outliner

The Eye icon is to toggle object visibility on the 3D viewport.
The Arrow Icon toggles selectability.
The Camera Icon toggles Rendering.

3 - Lights

There are no lights in scene.

To fix add some lights.

Lights are set at 0 power. To fix change the values to a higher number.

Lights have been disabled for rendering.

Enable the camera icon in outliner window.

The lights might might be blocked by objects in the scene

Lights have incorrect Shader Nodes with incoherent output

4 - Strips on the VSE

There are strips present in VSE and the Sequencer box enabled in Post-Processing. The VSE takes precedence over scene rendering.

To fix clear the strips on the VSE or disable the Sequencer box.

5 - Object or camera are in a different render layer

Objects might be in a layer that is not included as in the render Layers

To fix include the layer where the objects are as part of the render layers.
How Render Layers work

6 - Camera is blocked

The camera might be behind a wall or another object

An object in front of the camera might be restricted from viewport display, making the issue not apparent in the viewport or render preview.

Camera clipping might prevent surfaces very close to the camera from showing in the viewport but still prevent it from rendering correctly

If Backface Culling is enabled in the viewport surfaces might not block view in the viewport but still show in render.

7 - Camera is set incorrectly

The rendered image is that of the active camera's view. Not necessarily the view you have active in the 3d vieport. Press Numpad 0 to show camera view.

Active camera is aiming in a different direction.

Wrong camera being rendered.

You can have multiple cameras in the scene, but only one can be set as the active camera for rendering. Check that you are using the correct one.
In the Properties Window you can determine which camera is the active one

Or select the camera you want to make active in the viewport and press Ctrl+Numpad 0 to select the active camera.
8 - Object as Camera

An object in the scene has been set as camera.

To fix set the active camera back to an actual camera object.

9 - Output node disconnected

Output node in compositor might be disconnected. The composite node is the final output (not the viewer node).

10 - Wrong exposure

Film exposure is set to 0 (Cycles)
Unless you have a good reason to change it. This should be set at 1.

11 - Clip Distance

The clip distance for the camera is set incorrectly.
Make sure that you set the clip start and clip end so that the camera can see within a distance range that encompasses the scene. Geometry that is too close or further away than the set parameters will not render.

If your scene is too large or too small, if the scene is not within the range defined by the clip distance, then the camera will not "see the scene". Enable Display Limits on the camera to visualize the clip range.

12 - The scene is completely out of focus (blurry)

Focus for the camera set to 0 and lens aperture (f-stop) is set to a low value.

The scene is so out of focus that you only see gray or some color that is predominant in the scene.
To fix, change the distance value to the actual distance form the camera to your object, and maybe try a higher number for the f-stop.
To find where your camera is focusing you can enable display->Limits. If you move the focus you'll see a cross mark that indicates where the focus point is:

A trick you can do is use an empty. Move the empty to the place you want the camera to focus on and select the empty (or any other object as the focus target).

Also read also this related post: Why does my object not sow up ?


Baking in Cycles does not implement anti-aliasing yet.
Check this thread for more information : https://developer.blender.org/T43388


Select all objects that share linked data, then select your new object last so that it is the active object. Then press CtrlL and select Object Data from the menu.

Before:

After:


How to prevent modifiers from transferring onto separated faces?

You can't, this is how the separate operation works.

The preinstalled Modifier Tools add-on may make handling modifier stacks easier.


Yes you can if you use an addon, see  the BlenderArtists page here. That page doesn't have the correct download link but you can get it here.
From memory, this addon generates rather long and possibly unoptimised GLSL fragment code.


Fluid simulation doesn't work while using a sealed container as an effector with the inflow inside?

Immediately after writing this, i remembered something about planar surfaces and lo and behold, everything worked like a charm! Silly me for not knowing such a simple feature existed.


Sadly, this isn't currently possible in Blender.


Lets start with a few hairs and go into Particle Edit Mode. Use the comb brush to move shape them along the surface. Make sure to include some hairs that don't move the same direction as the others or it will look too boring.
I played with the material settings a bit and used a slight colour variation from root to tip which is controlled by the thickness.

I will then add at least one other particle system, so that we can control the few brighter ones separately from the darker base. By combining three systems on top of each other I got the result above.

(Could use some more tweaking but for demonstration purposes...)


I don't see any textures in your object, which would be helpful to diagnose texture related issues, also your node tree screenshot is barely visible which doesn't help either.

Anyway, you seem to be using both Generated texture coordinates and UV texture coordinates, both of which can vary by object, the former depending on the geometry's actual dimensions, the later depending on its current UV layout.

Use either Object texture coordinates or World based ones if you have different scales across objects.


How to display the motion path of bones in pose mode?

Use the Calculate available in Pose Menu.

With a pose bone or bones selected in pose mode, go to Pose > Motion Paths > Calculate
Or as mentioned by @FFeller in the Armature (DATA) Motion Paths panel.


Getting the actual (not default) input value of a node group for a specific user

import bpy

# get the object
ob = bpy.data.objects.get("NAME")

# get the material in 1st material slot
if ob and ob.data.materials:
    mat = ob.data.materials[0]

    # get the material nodes
    nodes = mat.node_tree.nodes

    # get the instance of the node_group by name of the node (not label, name)
    protein_vr = nodes.get("ProteinVR")
    # if there are multiple instances in one material, others will likely be ProteinVR.001, ProteinVR.002, etc..

    # get the inputs if node exists
    if protein_vr:
        color = protein_vr.inputs[0].default_value
        gloss = protein_vr.inputs[1].default_value
        print(color[:])
        print(gloss)

I compiled the answer from these 2, there is more in them:

Control Cycles material nodes and material properties in Python
How to assign a new material to an object in the scene from Python?


For use in the viewport, try the clipping border AltB:


How can I give a wet effect to my character mouth and eyelids

If you're using the default Blender Renderer try making the surface smoothly bumpy so there are plenty of angles to catch the light, and turn up Hardness to make the specular highlights sharper.  You could use extra lights at angles to the camera, placed here and there, with Diffuse unticked so it only gives Specular light, and if those extra lights interfere with your general lighting, you can put the lights on their own layer and tick This Layer Only, then put the gum on that layer too.  You can have more than one layer open by pressing Shift while clicking on the layers.  (You move an object to another layer with the M key, with object selected.)


We experienced the same issue here, though in our case the Viewport Render would not work either any more. However, we found out that it is linked to the Blender Screen Area, not the camera. We noticed this because we actually had more than one 3D View in our layout, and only one of them would show the described behavior. We checked again and again, and all properties were set correctly. They were indeed identical across the areas.

To fix it, switch another screen area to a 3D View. The camera should behave as it is supposed to there. Now collapse the broken one. You can also switch to a different screen layout using the Dropdown box in the header:


You can redirect stdout to nul:

blender --background --python hello.py 1> nul

In the script use import sys and one of the following to print to stderr:

print("blah blah", file = sys.stderr)
or sys.stderr.write("blah blah")
or sys.stdout = sys.stderr at the start of the script and later print("blah blah")


What you're looking for is called "limited dissolve", but I agree with moonboots, why to dissolve that edge?


Why faces have a dark texture? Already recalculated normals

Since you can't upload your model, I will try to point out the problems with your plane based on your screenshots. As stated in the comments, your issue is caused by flipped normals. You also have overlaying geometry, that can be caused by

duplication of the object at the exact same spot of the original mesh
duplication of all faces "inside" (in Editmode) of the objects

One of the objects has normals facing inwards, the other object faces outward. That explains why the normals are consistent, but look inconsistent. Find the Object or faces that point inwards (dark blue) and delete them or move them to another layer.

There were also some additional issues with your model, they are not part of the question but I want to point them out anyways.

faulty mirror modifier: (sorry for the typo in the screenshot)
the mirror axis is off, you have intersecting geometry on your Y-axis
there are several places with poor topology. I would suggest you to remodel parts of the object with cleaner topology. I hope you didn't pay too much for this model, its quality isn't very good.

if you want me to take a closer look, send the file to ian.smith[ätt]posteo[dott]de


If you want to do it manually just enable edge snapping, then grab the one you want and while moving it tap X to restrict the movement to that axis alone.
That way, you can move horizontally and snap it to the same place the vertex on the bottom is, while maintaining it's vertical position unchanged.

All that said, I would simply add a few UV seams along those horizontal loops.


Black reflections in cloudy glossy acrylic floor material

The problem is due to your wall material - specifically that you are using Subsurface Scattering on a mesh that is non-manifold.

The Subsurface shader (and the Subsurface element of the Principled shader) simulate subsurface scattering based on the surrounding geometry of that mesh - ie, to determine the thickness of the volume enclosed by that mesh and how the light that hits the surrounding surfaces would propagate through that volume before scattering out of the surface again. For this to work properly requires manifold meshes - otherwise you will get unpredictable results.

In your case you have a single-surface plane for the floor and similar for the wall (albeit with ridges for the beams and edges) - ie, these are non-manifold (meaning that they do not fully enclose a single volume in space).

To resolve this you have two options; either change the wall and floor meshes to be manifold panels, or switch to use a Translucent shader in place of Subsurface (which produces a very similar effect).

I amended your example to replace the Principled shader for the walls with a simple Translucent shader and updated the floor with a material made up of a mix between Translucent and Glossy (ideally you'd also include Fresnel for the glossiness but this is grossly simplified) :

This produces the following result (obviously I'm missing your logo - hence the pink) :

Blend file included

Note : To track down issues like this in the future it's best to start from a copy of your file and remove elements bit by bit until you have a very simplified file that contains just those parts that are causing the problem. For example, remove all the lamps, remove the side walls, remove all but one of the 'light panels', remove each material in turn - checking at each stage whether the problem still exists. Once you've tracked it back to a particular material you can substitute each element with a simpler one until you know the exact setting that is causing the problem (in this case the Subsurface setting of the Principled shader). After that it's a matter of determining under what circumstances the issue causes a problem and, hopefully, this should point to a cause.


Boolean modifier messes up material assignment

This is because assigning different materials to a mesh is dependent on the Topology of the mesh.

Adding a Boolean operation changes the topology, so the faces that no longer exist can't have a material, and new faces will most likely be in different positions or shapes.

Blender assigns the first material to new faces created by a Boolean modifier:

A few possible workarounds:

Applying the Boolean modifier and assigning the materials your self, as well as changing the topology to fit where the materials should go.
Using a texture to combine materials with a Mix shader, independent of the object topology.


If the texture is a black and white image, chances are that it is supposed to drive the Subsurface Amount. Simply connect the Color Output to the Subsurface Input in the Principled Shader. If the image is colored, connect it to the Subsurface Color input to drive the Color of subsurface.
Here is an image of how to connect the nodes (assuming you have a black and white texture):
The top setup is basic, and the bottom setup gives you more control over the amount of subsurface by adjusting the ColorRamp.


What's the difference between refraction and glass shader?

Firstly I'd like to point out that shaders are called BSDFs in cycles, and raytracing in general.

The difference is that the glass BSDF is essentially a mix of a refraction BSDF and a glossy BSDF - it reflects light as well as refracting it. The glass BSDF is designed to make glass and similar materials easier to simulate - otherwise you would manually need to mix a refraction BSDF and a glossy BSDF.

Some quick example renders (the darker is refraction):

You can see the similarities in that the Glass shader is the refraction shader with some more bits added. Note the weird black artefacts in the Refraction BSDF, whereas the Glass BSDF has the rays bounce off the interior more realistically. For an even more realistic shader, you would want to mix a Refraction with Glossy BSDF - the Glass BSDF is just intended to be easy to use and do what the name says, AFAIK. (Edit: a glass BSDF is extremely similar, or possibly identical, to a refraction BSDF mixed with a glossy BSDF with the factor set to a fresnel node. The fresnel node returns values based on the angle of the surface to the camera. If you want to simulate glass and have more control over these kinds of things, this might be a better setup, although if you're just beginning to use Cycles then glass should do for now.)

Here's a picture showing two cubes with those two different materials applied, but with the same final result (one is a Refraction BSDF mixed with a Glossy with a Fresnel node as the factor, the other is a Glass BSDF):

If I had set up the scene better and put another object next to the cube you would see it reflecting off the glass BSDF but not off the refraction.

I can't offer an explanation for the black bits in the Refraction BSDF, but I suspect it has something to do with the way the renderer processes internal light bounces. Edit: I believe that the refraction BSDF is casting a shadow on itself.

TL;DR (for those of you with really small screens): A glass BSDF is a refraction BSDF plus reflection.


Shape Keys: Best method for simple mouth shape

Yes extrude inwards seems like the right thing to do, here is a quick try, make sure you have enough geometry. Also have you tried bones instead of shapekeys?


Moving a bone moves only the first level of child, not all levels of children

You used automatic weights?  Click the cylinder and go to weight paint mode.
On the right side under Vertex Groups click on the bone in question. You will probably see that the cylinder is red and (depending on how many bones it has) green. But the piston is probably blue. There are two ways to fix this. You can extrude your current bone(s) so that you have a bone for the piston and then re-parent it with automatic weights. Or you could select the piston, in edit mode select all of the faces of the piston. Then find Vertex Groups on the right side of the screen. Click on the bone that you want the piston to move with. Make sure you are using a weight of 1.000 and then click assign.
Hope that this helps!


How would I make a good plastic reflection

The reflection will look better if the surrounding light is set as a complex scene (HDR 360 image).

These cube use the same material but the left one is using simple lighting and the right one use a HDR environment.

The reflection draw details on your cube face and for simple light it just look plain.

BTW, you should make those face bump out a little bit to make the edge catch reflection.


Smoke domain causes artefacts in non-density areas

Without a screenshot it's hard to tell, but I often see artifacts in smoke simulations even in tutorials because of too low transparency settings. Try to increase the Transparency value under Render Settings > Light Paths > Max Bounces. Maybe 32 or 64 or even 128. Important: Transparency, not Transmission (image is from a different question, the red framed part is important).


Reuse frames from normal speed animation to save time rendering slow motion

If you rename the already rendered files (using any batch renaming app) like make them all even or odd, then there is not much to do.

Change the speed of the animation using time remapping.

Read:
How can I modify the frame rate without changing overall animation speed?

Then disable the overwrite box in the output settings.

Existing frames will be skipped and only the missing numbers will be rendered.


Why does Rendering Reflection + Refraction take much longer than Rendering them Separately?

Enabling both reflection and refraction enables new light paths that are not rendered when only one of them is enabled. Instead of just reflection + reflection or refraction + refraction it now also has to render reflection + refraction and refraction + reflection.

Further, at each depth Blender will trace both a reflection and a refraction ray, which can make the number of rays to trace go up quickly. For ray depth 1, 2, 3, 4, .. you get 2, 4, 8, 16, .. rays.

Cycles on the other hand will randomly pick between tracing either a reflection or a refraction ray on each bounce. This avoids the quick increase in number of rays for a single sample, but it also means each individual sample contains more noise.


I don't believe you can use python to add a new particle simulation type. While you can use python to access the particle system data such as particle location, I don't think you will have any luck altering the particle positions.

Before you start coding yourself I would suggest looking at sverchok and animation nodes. There is an introduction to animation nodes here and you will find blendersushi has many videos of experimenting with both addons. If they can't accomplish what you want to do, they may be a starting point for your own project or maybe you could contribute your own custom node to one of them.


Problem using transformation constraints to rotate gears

The best way to do these kind of thing is using a combination of armature and Animation Nodes. download this addOn from here.

Do the following:

Add an armatures in the location of each gear and set its rotation
Combine all armatures (so you will have a clean armature for all of
your gears)
Create nodes in animation nodes as explained in the gif file
Link each gear to the corresponding bone.
Done!


Baking mocap animation to constraint re-target armature

Use the 'Bake animation' button in the animation tab when your target rig is active and in pose mode.
This should bake every movement to a new animation.


Play with the values for Threshold and resolution

From the Manual:
Threshold (Influence)

Threshold defines how much a meta’s surface “influences” other metas. It controls the field level at which the surface is computed. The setting is global to a group of Meta objects. As the threshold increases, the influence that each meta has on each other increases.
There are two types of influence: positive or negative. The type can be toggled on the Active Element panel while in Edit Mode, using the Negative button. You could think of positive as attraction and negative as repulsion of meshes. A negative meta will push away or repel the meshes of positive Meta objects.


The item (object or mesh element like vertex, edge or face) in white is considered the active element.

It is generally the "master" whose properties are shown in the UI (properties region sidebar or properties area); and may also be used as the pivot or center of transformations, if selected in the 3D view header.


Does Weight-Paint work differently in 2.80?

It seems that was something that had not been worked on yet at that time. It's already been fixed by now.


The solution ...

I found out that your model have a total of 112,330 triangles.
and on the wiki it states that 3ds have these shortcomings:

All meshes must be made of triangles.
All texture filenames are limited to the 8.3 DOS format.
The number of vertices and polygons per mesh is limited to 65536.
Accurate vertex normals cannot be stored in the .3ds file. Instead "smoothing groups" are used so that the receiving program can recreate a  representation of the vertex normals.
Object, light and camera names are limited to 10 characters. Material names are limited to 16 characters.
Directional light sources are not supported.

WHY?
So why was it having problem exporting even though you have the faces count
at 24,000 and vertices at 56,000 range? Both numbers comply with the 3ds format's limitation. The problem is that all the faces needs to be triangles
, the export operation convert all non triangle surface to triangles before saving. Moreover, you can test this. If you do CTRL + T and triangulate your mesh in edit mode you will realise that your mesh exceed that limitation.

After triangulation it sits at 112,330 faces! Which is equal to the number of triangles. In the case of 3ds format, the triangles count is the number we want to keep an eye on.

HOW?
Notice the word per mesh ... that is our key to exporting high poly mesh.
What I did was break up your mesh into 3 portion and then export them in
one single 3ds file.

DOWNLOAD THE BLEND FILE HERE

Try exporting the file and reimporting into blender should give no more problems
now.

A Little History of Polygon
A long time ago in the early days of CGI, polygon refers to triangles.
It's not until much later, more artist prefers to work with 4 sided polygons
then 3 sided ones. (Less clutter on screen, better work flow!) Sometimes when we read about some legacy format that were created in the 1980s, polygon may very well meant triangles!


What you are seeing are called fireflies.the fireflies are often caused by there not being enough samples for cycles to render with. I recommend upping the sample size you are currently working with.

There is also a really good article on other suggestions which you can try to reduce the noise.

7 Ways to get rid of fireflies

Additionally if all else fails you can also use the despeckle node which is used to smooth areas of an image in which noise is noticeable, while leaving complex areas untouched.

This works by the standard deviation of each pixel and its neighbors is calculated to determine if the area is one of high complexity or low complexity. If the complexity is lower than the threshold then the area is smoothed using a simple mean filter.

This will reduce the quality of your overall scene if your samples are too low however.

Despeckle Node


Where has my Mark Edge Seam button gone?

I'm not sure if I'm doing this right. But as @Robin Betts pointed out. The Mark Seams function has moved to the Edge Data Sub-menu.

Thank you @Robin Betts !


After your last node in the scene compositor, try adding a Chroma Key node (find it under Matte, Chroma Key). Set the Key color to black and play around with the rest of the settings.


I can't get emission shader to glow in Blender 2.83 Cycles

It's probably best to use a separate glow node just for the lightning in this case:

In the Render Layer options turn on Material Index In your material
under settings use a pass indes that you haven't used for anything
else.
Connect the index MA output to a glow node and add or screen
it back onto the original image.
You can also use the original
colors, if you multiply the image with the mask and let that glow.

Also: the blur node is your friend in this scenario.


Altering the height/width of an face loop/ring

Set the Pivot point to Individual Origins. Then if you Select > Inverse and use Push/Pull it will pull apart the 2 now selected halves, increasing the height of the mesh and stretching the initial face loop.
This might be difficult to do on meshes with complex topologies, though.


Why can't I get rid of seams when texturing objects?

It's not a problem of UV unwrapping, it's just the material itself. You won't get rid of the seams entirely, though.

As long as you don't use purely procedurally generated materials (that means no image textures are involved), it's next to impossible to create a UV map without visible seams. You would have to straighten the polygons on your UV map so it fills the whole texture map (granted your image texture is tileable).

If you want to use image textures and want to get rid of the seams, you need to "paint them away" in Texture Paint Mode. Use the Clone Brush, clone a similar looking part of the image and paint over the seam to make it less visible.

"Hard" 90 degrees angles like in your cube example are still problematic. You can solve this by using the "Chinese Box unwrap" instead of "Smart UV Project" , which results in less seams. Then start painting over the remaining seams starting with a very small brush.


Creation of a seamless texture from a model

Use another UV map for target image

The parts you must crop are created by the usage of the same UV map for both the source image and the target.

If you create another UVmap for your object that is filling completely your target image space and set up proper relations for the images coordinates like in the image below, you should be able to achieve a cropping of the image.


Well fixed the error,the mesh wasn't selected with the joints, if anyone else come to this point,

After generating the rig as above follow the following steps,
Hide up the additional rigging stuff by H
select the bone structure, you can find it in the layers in the display menu
Ctrl + Z to get wireframe of the model
select the mesh then the joint structure (Use shift)
Then apply automatic weights (setting joint structure as the parent)

For more info follow this tutorial: https://www.youtube.com/watch?v=dYiAd_08-0k


Subscribe to 'Finished' event of modal operator and get result of the operator

After a week of reasearch and discussion on blenderartist
iceythe helped me finding a solution writing a wrapper for the uv packmaster modal of the pack operator. (bpy.ops.uvpackmaster2.uv_pack())
Wrapper
import bpy
from uvpackmaster2 import UVP2_OT_PackOperator as op
from .bake_operator import callback

def modal_wrap(modal_func):

    def wrap(self, context, event):
        ret, = retset = modal_func(self, context, event)
        if ret in {'FINISHED'}:
            print(f"{self.bl_idname} returned {ret}")
            callback(ret)
        return retset
    return wrap

op._modal_org = op.modal
op.modal = modal_wrap(op.modal)

And an operator I tried it with :
import bpy

retval = None

def callback(ret):  # <- Modal wrapper calls this.
    global retval
    retval = ret
    bpy.ops.object.mode_set(mode='OBJECT')
    bpy.ops.object.bake('INVOKE_DEFAULT', type="AO")

class BakteTexureOperator(bpy.types.Operator):
    bl_idname = "object.bake_texture"
    bl_label = "Bake Texure"

    def invoke(self, context, event):
            bpy.ops.object.mode_set(mode='EDIT')
            bpy.ops.mesh.reveal()
            bpy.ops.mesh.select_all(action='SELECT')
            bpy.ops.uv.smart_project()
            bpy.ops.uv.select_all(action='SELECT')
            bpy.ops.uvpackmaster2.uv_pack()

            print("after invoke")
            wm = context.window_manager
            wm.modal_handler_add(self)
            return {'RUNNING_MODAL'}

    def modal(self, context, event):
            if event.type in {'RIGHTMOUSE', 'ESC'}:
                return {'CANCELLED'}

            elif retval is not None:
                return self.execute(context)

            return {'PASS_THROUGH'}

    def execute(self, context):
            global retval
            val = retval
            retval = None  # Reset.

            if 'CANCELLED' in val:
                print("operator was cancelled")
                return {'CANCELLED'}

            else:
                print("operator finished")
                return {'FINISHED'}

To try it out just install the addon, select an image you want to bake to in the node editor and click the bake button in the bake testing panel.
It will unrwap and pack the uv's and the best thing is that you get a progress bar and you can cancel the baking. It's all comming from blender by running the bake operator as a modal.
The code for the full test bake addon can be found here :
Bake Testing


Blender hasn't extended audio capabilities:  you will have to render the audio of the portion you need (use PCM encoding, which is quality loseless) and then reimport the new audio data, or edit the file in another software (Free open source Audacity, Cubase, Logic or the professional Pro-Tools).


Is there a way to set vertex color of selected vertices with single click?

You can apply the currently active vertex color for all vertices at once while in Vertex Paint Mode. Just select (Paint -> Set Vertex Colors) from the header menu. Basically, you set the dominant vertex color for the whole mesh and then manually paint a few vertices afterwards.

While this doesn't work on a selection but only the whole mesh, you might want to split/join your objects beforehand. So that you don't need to paint too much geometry by hand. But there might be some alternative approaches to this like working with vertex groups or utilizing the vertex weight. But this might be the more straight-forward solution.


My Base Color texture map is not displaying the black part

Ok, I figured it out. my Subsurface slider was turned up too high..


Blender GPU rendering pcie x16 to x1 using riser cables

I was hoping someone had the answer to this question. My gut feeling is saying that it will work just fine rendering and blender through a 1x to 16x riser. I do think it will bottleneck just a little bit whenever it's sending the information to the GPU but I think it will be imperceptible for the most part. I have seen the GPU risers used in gaming and you do have a fairly significant drop in performance but I think that's due to what you said cuz there's two way communication that's constantly taking place. But with blender my understanding is blender Sims 2 textures and all that stuff and the mapping sing mapping to the GPU the cheap you calculate 2 and then sends the results back now granted it's doing that several times a second because it's doing in tiles and so forth but the two-way communication is nowhere near as rapid as it is in a gaming situation. Or at least that's my assumption. I do plan on trying that very thing out within the next couple months or so. My motherboard has 116 x lot and two 1X slots and I'm going to buy a 1x to 16x Riser and then hook my GTX 1060 to it and see what kind of drop of formats if there is a drop in performance there is. I'm going to bookmark this question and then come back and add more to it or leave another answer whenever I do this little test.


Exporting cloth simulation to Collada results in static cloth instead of a waving one

A collada file supports a static mesh, while an armature may be included to deform the mesh using some animation data. For a mesh deformed from a simulation, you need to use a file that supports an animated mesh, that is, different mesh data is used for each frame.

This can be done in files such as Newtek .mdd, a .pc2 pointcache file or an alembic .abc file. Both mdd and pc2 can be exported using addons available in the standard blender release that just need to be enabled. Alembic should be available in release builds, but as alembic support is compiled into blender, if it isn't available you will need to find a different copy of blender that has it included. Blender can use this exported data in the Mesh Cache Modifier for mdd and pc2 or the Mesh Sequence Cache Modifier for alembic.


Why does fluid (water) stick to the top of an obstacle?

The no-slip for the obstacle is incorrect. No-slip as in not slippery so it is sticky.

From the wiki page on obstacles -

Noslip causes the fluid to stick to the obstacle (zero velocity).
Free(-slip) allows movement along the obstacle (only zero normal velocity).
Part(-slip) mixes both types, with 0 being mostly noslip, and 1 being identical to freeslip.


Yes indeed there is. Here's a very simple example using a World datablock and the .is_property_readonly(*property*) function.

import bpy
scn = bpy.context.scene
wld = scn.world
for a_prop in wld.keys():
    if wld.is_property_readonly(a_prop) is True:
        print("The property, %s, is 'Read-Only'" % a_prop)

This code would produce the following output:

The property, cycles, is 'Read-Only'
The property, cycles_visibility, is 'Read-Only'

The function .is_property_readonly(*property*) will output a boolean value, either True or False.


What's the fastest way to calculate the midpoints of a sequence of edges?

Some improvements.

Use list comprehension
Only need to multiply the local average edge coord by matrix world
once.
Multiply / divide a vector by a scalar, rather than on a per
component basis.

Test script

import bpy
import bmesh

ob = bpy.context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)

mw = ob.matrix_world
elist = [(e, mw * (e.verts[0].co + e.verts[1].co) / 2)
        for e in bm.edges if e.select]

could make a little helper routine.

def mid_edge(e):
    return (e.verts[0].co + e.verts[1].co) / 2

elist = [(e, mw * mid_edge(e))
        for e in bm.edges if e.select]


PY console code

Each 3d view space has a setting for grid lines and grid scale (as well as grid subdivisions) See 3D View > Properties (N) > Display

For example sake I have set the lines to 4 and the scale to 0.5.

Py console test code, first find the 3d view area.

>>> for i, a in enumerate(C.screen.areas):
...     i, a.type
...
(0, 'INFO')
(1, 'PROPERTIES')
(2, 'CONSOLE')
(3, 'VIEW_3D')
(4, 'TEXT_EDITOR')

>>> space = C.screen.areas[3].spaces.active

Get the settings

>>> space.grid_lines
4

>>> space.grid_scale
0.5

Set up our range (for example -2 to 2) Notice I use integer modulus j // 2 (since odd numbers give the result of prior even number)

>>> g = space.grid_lines // 2
>>> rge = range(-g, g + 1)

Iterate over x and y to give the 2D vec of XY grid. The scaling of 0.5 makes the point (2, 2) => (1, 1)  (_ ... are results edited out for brevity)

>>> for x in rge:
...     for y in rge:
...         space.grid_scale * Vector((x, y))
...
Vector((-1.0, -1.0))
Vector((-1.0, -0.5))
Vector((-1.0, 0.0))
Vector((-1.0, 0.5))
    ...
Vector((0.0, -1.0))
Vector((0.0, -0.5))
Vector((0.0, 0.0)) # origin
Vector((0.0, 0.5))
    ...
Vector((1.0, 1.0))

>>>


Ok, I found a quite nice workaround. One can just add a Scene->Set Camera actuator to one of the objects in linked group (for now I'm adding it to my character object) and feed it with camera. If the game engine will be enabled with this group linked to the scene, linked camera will be picked. One drawback I've noticed so far is that the rendered viewport is not limited respectively to the camera boundary if you use this method.

EDIT:
Actually, if you enable game engine in camera view (it can be any camera) the viewport is limited as usual.


The color wheel has three options. By default RGB, HSV and Hex(adecimal). The first option, RGB, uses linear color, but the second and the third are color managed. By default they uses the sRGB color space in you display device.

This question has been noticed by many blender users. You can see further details in this blender development task.

If you want to use linear color in all color wheel options, you need to modify the default set up for color management, and set None in the Display Device of you BLEND file.


This is not because of "non planar faces", they are planar, this is because of smoothed normals, which are interpolating with the holes, this can be fixed with a small inset, or an edge split modifier, or reducing the auto smooth angle or marking the hole edges sharp, you can check this is the case if you set the models shading to flat.

I would recommend the marking the edges sharp method.

I don't want to meddle too much but if you were to model for a subdivisions approach this would be a lot less messy, and probably easier.

A huge amount of N-gons will limit you, if you do know very well what you need go ahead; N-gons are a tool, very much like animation interpolation that should be left only to perform menial tasks.


Why is what I am seeing in my particle effect animation playback, not what I get when I render it?

From the information provided I believe the difficulty you are experiencing is related to your workspace environment, not your modeling and scene creation.

I suspect that if you look at the cache panel in your particle settings, the "# of frames in memory" displayed will be less than the total number of frames in your animation (this information is also represented graphically in the lower timeline).
If that is the case, then the reason you are seeing different results in the viewport and render is that they are using different data.
To fix your issue you should:
Set Playback sync to No Sync in the 3d viewport.
Invalidate the simulation cache data by changing physics values or moving the object.
Play the full simulation in viewport.
Verify all frames are cached in the simulation cache.
Render your animation.

Edit to add further information after comment: (Maybe should be a separate answer?)

I downloaded the blend file provided in the question, and made the following changes:

1) In the Properties Editor-> Render tab-> Render Panel
I changed the Render Device to CPU (I do not have a supported GPU)
and in the Properties Editor-> Render tab-> Performance panel set the tile sizes to 32 x 32 (for cpu use). I also set Properties Editor-> Render tab-> Sampling panel render samples to 80, to speed up testing.
(you may wish to duplicate this step to rule out any GPU compatibility errors)

2) I saved the file as a new blender file.
In the Properties Editor-> Render tab-> Output Panel
I changed the output file format from H.264 movie to PNG images, and set a new output directory.
(Rendering directly to movie formats can cause encoding errors, it is considered good practice to render image frames, and encode to movie format in an encoding pass)

3) I switched to the Video Editing screen layout
and changed the UV/Image editor to the Video Sequence Editor.
I then selected and deleted the Image Strip that is present.
(If there is any content in the Video Sequence Editor, blender will render that content instead of the current 3d scene, this can be disabled in the Properties Editor-> Render tab-> Post Processing Panel)

4) I switched back to the Animation screen layout
and in the Timeline, changed Playback Sync from AV-sync to No Sync.
In the Properties Editor-> Particle tab-> Emission Panel I changed the number of particles to 5001 (to invalidate the cache), I also made the Cache panel visible.
Then I played the simulation in the viewport to allow all frames to be calculated. After stopping the simulation, I checked that the particle cache had all frames in memory.
(this is the step outlined above this edit)

5) I saved the blender file.
I rendered the animation, seeing no errors in any frames.
I previewed the resulting sequence using the Info Bar-> Render-> Play Rendered Animation (Ctrl F11)

6) After being satisfied by the preview;
I again saved a new file with the name ParticleMovementTest_encoding.blend
I changed Properties Editor-> Render tab-> Output Panel output file format to H.264.
I switched to the Video Editing screen layout, and added an image strip, selecting the rendered frames produced in step 5, and rendered the animation again to encode the project into a movie file.
(If, in step 3 you disabled Sequencer in the Properties Editor-> Render tab-> Post Processing Panel, it will need to be re-enabled)

7) I verified the resulting file with VLC Player.

The above steps produced this render result (4mb).
Somewhere in the above steps lies the answer to your problem.


Please uncheck Only Selected option to solve all objects in the scene and select Object and Pose too for storing all the scene data. Tested and works for me buddy (as You could see I already removed those Action strips),


To adjust these, you just need to go to the overlays tab,

and adjust the scale, and the subdivisions to your liking.

I hope this is helpful, happy blending!


Here is the method to increase the particles size through time, as explained by BlenderShortTests in one of his tutorials:

Select your emitter and go to Properties > Particles, click New.
In Properties > Particles > Render, click Object and choose the object that will be emitted as particles and its size.
Go to your 3D view and press alt A to launch a preview of your emission animation, then stop it somewhere in its course.
In Properties > Particles > Textures, add New and give it a name.
In Properties > Textures > Type, choose Blend.
In Properties > Textures > Colors, click Ramp.
In Properties > Textures > Mapping > Coordinate > choose Strand/Particles.
In Properties > Textures > Influences, unclick Time and enable Size.
In Properties > Textures > Colors, play with the Ramp controller to increase or decrease the size of your emitted object through time.

The video also explains how to make a fade out effect on the particles: https://www.youtube.com/watch?v=67024UyCZ6A


How to place any object on the 'floor' of a scene?

You could select a vertex, edge or face in Edit Mode and snap the 3D cursor to the selection Shift-S Cursor to Selection

In object mode set the object origin to 3D-cursor.

After that you can easily position the object to the 3D cursors position which can be adjusted in the proerties panel.

Followed by Snap Shift-S  Selection to Cursor


There is no bone.duplicate_move  There is a bpy.ops.armature.duplicate(...) but being an operator it wont return the newly created bone(s) only a status set.  {'FINISHED'} if run succesfully for instance.

Need something like (run in edit mode ofcourse)

import bpy
arm = bpy.context.object.data
for b in arm.edit_bones[:]:
    cb = arm.edit_bones.new(b.name)

    cb.head = b.head
    cb.tail = b.tail
    cb.matrix = b.matrix
    cb.parent = b


You do not need to delete the old Blender version.

You do not need to delete the old Blender version, but as Hikariztw said you should probably backup the files in %APPDATA%/Blender Foundation/Blender/2.80/ in case some beta built accidentally break them.


How to move 4 objects symmetrically outward/inward on the same origin?

Take one of the cubes symmetrically placed on the plane and mirror it on the x and y axis.  Go to the mirror modifier and set the mirror object as the plane (which they will be placed on at the four corners).  Now if you go into edit mode you can select the one cube and move it to one corner, and the mirrored cubes will move symmetrically to the other corners.  Good luck!


I'm not sure where to go from here in my uv mapping!

That's kinda weird looking (the shading artifacts, not the model). Maybe you have some extra faces in the model you need to delete?

Assuming that's not the case, first remember that lamp shades don't have tops (unless you want this one to), so you can delete that face if you like.

If you still need them, they will cause you problems if you have faces with more than 4 sides. The fix for that is to select each n-gon ("circular"-looking face with many sides) in the modeling view and go to face -> poke faces. This will create a triangle fan pattern but leave your current UV's intact.

Now, a feature of UV mapping you might not be aware of is called "seams", as in seams on pieces of cloth that get stitched together to make clothes. In the modeling view, select all the edges that indicate separate pieces of the model (those would be the edge loops that separate the top of the lampshade from the cylindrical side, and the cylindrical side from the bottom. With those selected do Edges -> Mark Seams. You will get red highlights on those edges.  You will also need to select an edge that runs down the lampshade so it can be folded flat, like a cylinder being unfolded on a table. Choose Edges -> Mark seams for that too.

Now choose UV --> Unwrap and your model should be almost perfectly unwrapped for you without any manual adjustments needed.


Blender 2.8 Comb hair strands with children

In 2.8 you can find it in the "Active tool and workspace settings"-Tab when in particle edit mode.


Drive rotation of Empty2 by the rotation of Empty1

In Properties panel (N to toggle):

Right click on Y-Rotation axis of Empty2 and select Add Single Driver.

In the Drivers section of the Graph Editor:

Add a variable yrot, set Object to Empty1 and type to "Y-Rotation".
Set driver scripted expression to: pi * ((180.0 * yrot / pi) // 40 * 10) / 180.0

This will give you an increase of 10° on Y-Axis of Empty2 for every 40° on Y-Axis of Empty1

Looking at your image you'd do this for the Y-Axis of your empties.

If you need increments of 10 on different rotation speeds, change the 40 in the above formula to i.e. 50

You can chain empties setup like this by making the next empty always driven by the previous. So the variable you add should be chosen from the correct object. The formula stays the same.

The main driving power behind this step-wise driving is the // floor division operator, which does integer division.


How to reduce the number of faces for selected parts of a mesh?

Go into Sculpt Mode.

Pick any brush (for example "draw") and set its strength to 0.

Enable "Dyntopo" from the Sculpt toolshelf and set Density = Brush in the Dyntopo options.

Now, control the size of your brush using F and "Sculpt" on the areas where you want to reduce the number of faces. One quarter of the brush size will be the approximate size of the new faces. Use undo CtrlZ when you need to!


How to align two differently rotated objects to be exactly side by side

Since these object's local axes are both aligned to their meshes, you can use standard align and snapping tools.. in 2.8, all in Object Mode:

Create a Custom Transform Orientation from the target (stationary)
object. (Orientation dropdown in the header, '+' with target
selected)
With the source (moving) object selected, Object Menu > Transform > 'Align to Transform Orientation'. Now your objects rotations should be the same.
Move the source object roughly into place, and with Snap (ShiftCtrlTab) set to 'Vertex', 'Closest' , with Align to Rotation switched off, snap the source object into place.

2.8 has lost a lot of standard keymaps, which makes this harder to describe than in 2.79.


As already mentioned in the comments you need a low poly mesh with a good topology for animation. If you have sculpted the head with dyntopo or the remesher then you can retopologize it to get the low-poly mesh.
Alternatively, you can use a low-poly base mesh and use sculpt tools to get the shape that you are after.
The mouth is created in a closed/relaxed position because the lips get stretched when it opens. The mouth consists of edge loops that form the lips. If you extrude these edge loops towards the inside of the head, you can easily create an oral cavity.
Teeth and tongue are separate meshes. You can make your own object from them.


Volumetrics is heavily reliant on lighting, so the first thing to do is to place lights accordingly. This is most easily accomplished by using Rendered Preview (shading tab uses Material Preview which uses it's own lighting by default), and to place a light close to your volume.
In addition to lighting, volume "crispness" can be controlled from the Volumetrics section of the Render Properties tab:

Tile size has the largest effect, however it also can also have the largest effect on performance. Increasing the number of samples will increase the detail, and shortening the end value will increase it further (bear in mind - the "end" value is related to your camera distance - too small a value and you won't see the volume except for at very close range.)


Difference in rendering result vs viewport in v.2.8.0

There is overlapping geometry:

This button does not mean the mesh won't be rendered:

To disable things to be rendered, you need to use "disable in renders" buttons:


Remove the Sampling modifier from the Geometry modifier stack.

This modifier adds extra stroke vertices at a regular interval.  This modifier is added by default because it is necessary in many stylization situations, e.g., when you want variable color, alpha transparency and/or line thickness along stroke, and when you want to add distortion to stroke geometry.  If you don't need the extra points, you can just remove the modifier.


Actually in the end it seemed to be because I had 2 Compositor viewport windows opened at the same time.

Weird, thanks anyhow.


thanks to @Chebhou here the answer:

for v in ob.data.vertices :
            for p in ob.data.loops :

                if v.index == p.vertex_index  and v.select:

                    x = ob.data.uv_layers.active.data[p.index].uv[0]
                    y = ob.data.uv_layers.active.data[p.index].uv[1]

                    print(v.index, " 3d co: ", v.co, " UV co: ", x,",",y)


You can use an empty and hooks.

Select the sail, enter edit mode and select the vertex at end of the rope that should be attached to the rope, then press Ctrl+H and select Hook to new object. An empty will be created at the same position of the vertex, so that if that if the vertex moves it will make the empty follow the movement

Exit edit mode and select the newly created empty. Press Shift+S and select cursor to selected. This will place the 3D cursor where the empty is.

With the Empty still selected, press Shift select the rope. This will make the rope the Active object but keeping the empty selected as well

To align the end of the rope at the edge of the sail, enter Edit mode, select the control point that should be controlled by the empty, press Shift+S and this time select selection to cursor, so that the end of the rope ends at the same place as the empty.

The next step is to parent the control point of the curve to the empty, to do that press Ctrl+P and select "Make Vertex Parent". This will make the control point be pinned to the empty, and in turn, be pinned to the vertex on the sail.

Now if you move the control point of the vertex it will move the empty and the empty in turn will move the sail. If the rest of the sail moves, the pinned vertex will remain in place.

Edit:

For this example the sail is a simple quad (just 4 vertices) with a subsurf modifier set to Simple.

Read also:
How to simulate a rope?


Need to change pivot points during animation

If what you want to do is a series of rotations for your triangle, what you could do is use Child Of constraints with some empties:

Create an empty at the first pivot point of the triangle, give your triangle a Child Of constraint with the empty as Target, press the Set Inverse button, keyframe the empty:

Rotate the empty, keyframe the rotation, put the 3D cursor on the second pivot point, create an empty, give your triangle a second Child Of constraint with this second empty as Target and Set Inverse, keyframe this empty:

Rotate this second empty, keyframe.


how to create metric map and metric buildings/vehicles/etc in blender?

How to scale units from blender to unity?

Go into blender
Scene > unit presets >
change length to metric
Angles: radians
Unit scale: 1

Next, in our 3d viewport, the meters at the top left. this only means the grid space now understands metric units and tells us that the grid is measured in meters.

Not that our cube is now exactly one metric meter
It is clearly 2 metric meters

Next
Select the cube  > open “n” properties tab in the 3d view port > shift + left click drag on top of the x,y,z > set scale from 0.5 to 1

Next in
Object > Apply > scale

Notice scale is now set to ones.

Next
Export as either obj or FBX from blender > remember to name your file

Make sure only selected objects  and mesh is highlighted

Then hit export
Next
Open up unity > game object > 3d object > cube

To preview a Unity cube
Next
Import our cube by right-clicking in the empty space inside assets folder

Import new asset

Browse for the FBX file we just created

import

Left click and drag the model into the scene to compare to the Unity cube


In VSE, voice and video are not synchronized in rendered video

You should provide more details: general info (version of Blender, operating system) but also specific info (extension/codec of video file, source, frame rate, ...). You can easily get this information from a program like Mediainfo; see https://mediaarea.net/en/MediaInfo)
Your problem is probably that your 3.5 minute video has variable frame rate (eg shot from a smart phone). In order to compress a video, sequences with less action (eg still images) use a smaller framerate (less frames per second). The audio however uses a constant framerate. That's the reason that the audio is drifting away from the video. A more profound explanation is found at https://www.youtube.com/watch?v=keA2Gyye-D0.
You can check the framerate with the forementioned program Mediainfo. This should show something as:

Your solution of AV synch does not help because this option only helps in previewing the movie within Blender, making sure that the audio is in sync with the video by dropping some frames while previewing, if Blender can't catch up with the frame rate. Also, changing the output formats doesn't help because the problem is with the input video file; which is probably variable framerate (check this with mediaInfo!).
The solution thus is changing the framerate from variable to constant. You can do it with a program like Handbrake. See, the forementioned video for a in-depth explanation of the procedure.


How can I use Network Render on viewport's "Rendered" mode?

No that isn't an available feature. The network render only supports rendering final images.

The best you can do to speedup viewport rendering is to use the machine with the best GPU that can be used by cycles.

Other options include using border render to only render the part of the scene you are most interested in.


The Shade Smooth option is ignored when baking a displacement map

Now it's much more clear and you put your "real" question.

It seems you wish to bake displacement (ie: geometry) from shading (ie lighting): it will never work imho.

Use a real "smoothing" option, like more subsurf

so, why "Shade Smooth" doesn't work when baking a displacement map, unlike the "normal map" (that works)?

because "smooth shading" is, in fact, just a shading trick: it alters the normals, to let the object appear smooth (as if it had more geometry, which it has not), so the normal baking takes it into account.

the "displacement baking" instead needs to bake the geometry "height levels" into color levels (the baked image), but since "smooth shading" leaves the geometry untouched, you get the same identical result as without the smooth shading...


Adding tracks/markers with a custom name?

add_marker_at_click() is modal operator so it seems that it returns 'RUNNING_MODAL' and keeps running (waiting for user interactions) while your operator will finish without waiting for it , so I have used add_marker() instead and changed the your operator to be a Modal operator ,also added how to pas the button name to the operator , but the problem is that i could not get the coordinates of the mouse in respect to the movie clip, so i have used the region where the movie is :

import bpy
from bpy.props import *

class AddMarker(bpy.types.Operator):
    bl_idname = "wm.addmarker"
    bl_label = "add markers with names"

    def __init__(self):
        print("Start")

    def __del__(self):
        print("End")

    x = bpy.props.IntProperty()
    y = bpy.props.IntProperty()
    name = bpy.props.StringProperty()

    def execute(self, context):
        #using 'region' in this calculation  is wrong
        self.x -=bpy.context.region.x
        self.y -=bpy.context.region.y
        x = self.x/bpy.context.region.width
        y = self.y/bpy.context.region.height
        #add marker at that position
        bpy.ops.clip.add_marker(location=(x, y))
        #rename this marker
        bpy.data.movieclips[0].tracking.tracks.active.name=self.name
        #bpy.context.scene.active_clip.tracking.tracks.active.name=self.name
        return {'FINISHED'}

    def modal(self, context, event):

        if event.type == 'LEFTMOUSE':
            self.x = event.mouse_x
            self.y = event.mouse_y
            self.execute(context)
            return {'FINISHED'}

        elif event.type in ('RIGHTMOUSE', 'ESC'):
            return {'CANCELLED'}

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        print(context.window_manager.modal_handler_add(self))
        return {'RUNNING_MODAL'}

class MARKERPANEL(bpy.types.Panel):
    bl_label = "Add markers"
    bl_space_type = "CLIP_EDITOR"
    bl_region_type = "TOOLS"
    bl_category = "MARKERPANEL"

    def draw(self, context):
        f = ['left','right','floor','corner']

        for line in f:

            layout = self.layout
            row = layout.row()

            sc = context.space_data
            clip = context.space_data.clip
            row.operator("wm.addmarker", text=line).name = line

bpy.utils.register_class(AddMarker)
bpy.utils.unregister_class(AddMarker)
bpy.utils.register_class(MARKERPANEL)
bpy.utils.unregister_class(MARKERPANEL)
bpy.utils.register_module(__name__)


Make each Poly overlap and scale relative to the 0 - 1 space

Make bottom LH corner of each UV (0, 0)

Script to move the closest uv coordinate of a face to (0, 0) and adjust the others accordingly. To run. Run the script in text editor to register operator. Create a UV map first, via smart uv unwrap for example, and then run the operator in edit mode.  (Using space bar, and search for "Simple UV Operator")

Script is an edit of text editor > templates > python > Operator Mesh Uv

import bpy
import bmesh

def main(context):
    obj = context.active_object
    me = obj.data
    bm = bmesh.from_edit_mesh(me)

    uv_layer = bm.loops.layers.uv.verify()
    #bm.faces.layers.tex.verify()  # currently blender needs both layers.

    # adjust UVs
    for f in bm.faces:
        uvs = [l[uv_layer] for l in f.loops]
        uvs.sort(key=lambda o: o.uv.length)
        duv = uvs[0].uv.copy()
        for uv in uvs:
            uv.uv -= duv
    bmesh.update_edit_mesh(me)

class UvOperator(bpy.types.Operator):
    """UV Operator description"""
    bl_idname = "uv.simple_operator"
    bl_label = "Simple UV Operator"

    @classmethod
    def poll(cls, context):
        return (context.mode == 'EDIT_MESH')

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

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

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

if __name__ == "__main__":
    register()

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

Note: I've tested this whilst using 2.8, and needed to comment out #bm.faces.layers.tex.verify() . Might need to remove # for versions prior.

If you want only to move to left edge only remove the x component of the uv.

uv.uv.x -= duv.x

Result on 2.8 after running op after smart project


Is there a way to get all shortcuts of 2.79 back?

While I made the same switch as you and felt like I had to relearn blender, I am now very comfortable with the new controls, and they are much more intuitive. However, if you do want to stay with they 2.79 controls, here’s how you do it:

Go to preferences>keymap. Next in the drop-down bar at the top that currently says blender, click on that and change the selection to “Blender 27X”. This should give you all the shortcuts from 2.79. Hope this helps!


How to delete all objects/cameras/meshes/etc. using Python scripting?

Here is a function that can do for you.
Note, the passage on the group node is multi-pass, as the group nodes can contain other group nodes in turn, so a single pass is not sufficient in that case
import bpy

def mega_purge():
    orphan_ob = [o for o in bpy.data.objects if not o.users]
    while orphan_ob:
        bpy.data.objects.remove(orphan_ob.pop())

    orphan_mesh = [m for m in bpy.data.meshes if not m.users]
    while orphan_mesh:
        bpy.data.meshes.remove(orphan_mesh.pop())

    orphan_mat = [m for m in bpy.data.materials if not m.users]
    while orphan_mat:
        bpy.data.materials.remove(orphan_mat.pop())

    def purge_node_groups():
        orphan_node_group = [g for g in bpy.data.node_groups if not g.users]
        while orphan_node_group:
            bpy.data.node_groups.remove(orphan_node_group.pop())
        if [g for g in bpy.data.node_groups if not g.users]: purge_node_groups()
    purge_node_groups()

    orphan_texture = [t for t in bpy.data.textures if not t.users]
    while orphan_texture:
        bpy.data.textures.remove(orphan_texture.pop())

    orphan_images = [i for i in bpy.data.images if not i.users]
    while orphan_images:
        bpy.data.images.remove(orphan_images.pop())

    orphan_cameras = [c for c in bpy.data.cameras if not c.users]
    while orphan_cameras :
        bpy.data.cameras.remove(orphan_cameras.pop())

mega_purge() #call the function

Note:
You can put many other things into this function
for example bpy.data.scenes, bpy.data.lights etc. in the same way you see this function structured.
Another important thing is the hierarchy of this cleanup, if we started with deleting a Material, it wouldn't work. Even worse if starting from an image.
This is because the image can be linked to a material or texture, and as long as the material or texture is not deleted, it will turn out that that image is still linked to something so it will not be deleted.


A simple subdivision surface fixes this:

This is caused due to some faces being bigger than others, and as such Blender reflects the light differently. This happens when smooth shading is enabled, and the angle/size of two or more faces right next to each other differ greatly.

If using a subdivision surface modifier is not suitable to you (This should work with Blender Game engine as well), modifying the faces may be your best bet.

Hope this helps.


Arduino cannot receive serial data from blender

The traceback clearly prints:

Could not open port 'COM3' PermissionError(13) 'Access is denied'

Try to run it as admin.


How to get rid of the bonds between bones?

The dotted lines indicate the parent/child relationship. The child always follows the parent which is why the bone moves as it's parent moves.

The parent setting can be found in the bone's relations panel. Clicking the X will clear the parent linked to the bone.

You can also clear the parent in the 3Dview using ⎇ AltP ->Clear Parent


How to create a visible spotlight without fog?

You could add a spot light with Max Bounces 1 and shape a cone with the spot light.

Cone material would be just simple volume scatter.

Now there's lot less light escaping to the environment. In the image below there are two light sources. Another one is just sharper and bit more powerful.


Changing Multiple Influences Simultaneously

You can set up a custom property and drivers to do do this.

Basically you do the following:

add a custom property to your armature to control all the influences (see)
For one of the copy rotation constraints, right click and select add driver->manually create later
Go to the graph editor view, put it in drivers mode and find the driver you just created and press n to show the drivers panel
Set its variable to a type of single property and select your armature as the object
Find your custom property and right-click on it and copy data path. Paste the data path into the path field on the driver variable.
update the Expr field in the driver panel to the name of your driver variable (by default this is var)
for each other constraint, you can right-click on the first constraint's influence and copy the driver, then use right click to paste to the new constraint
You can now update the custom property and all the constraint influences will be updated at the same time.


Is there a way to disable the grid in orthographic view?

Open the side panel by pressing N and on Display controls just bring down the number of Lines to 0


Remove your brush mask.

on a mask, Black means 0 and white means 1.
you are telling blender to not paint anything by setting a black mask.


Why does the object turn black in the Edit Mode?

You have an extremely large number of faces (and edges, and vertices). If you hit 'A' a few times in edit mode it will toggle orange/black/orange, etc.

Depending on what you intend to use this for, it may be far too many faces.

It is possible that you have a subdivision-surface modifier on this object, and the 'view subdivision' count is too high. Check your Modifiers tab to find out.


How to render from multiple cameras in one go?

Assign the camera object to Scene.camera to make it the active cam of the scene:

import bpy

scn = bpy.context.scene

for obj in scn.objects:
    if obj.type == 'CAMERA':
        scn.camera = obj
        scn.render.filepath = obj.name
        bpy.ops.render.render(write_still=True)


How to make an object go around another circular objects?

You may use an Array Modifier with the constant offset enabled.
Add an Empty (it'll be your pivot point). Next select the object, enter Edit Mode and place it as fas from Empty as you like. Being in Object Mode apply transformations (Ctrl+A) and add an Array Modifier to the object. Check the Constant Offset and Object Offset checkboxes. Select Empty below the second one.

Now just rotate the Empty (in your case by 60 degrees).


When I rotate A mesh, B mesh will rotate too, but I don't want it, how can i do?

You have to disable the Proportional Editing option


Why can't I move some of the objects in this model?

This behavior occurred because some of the objects in the model had been added as rigid bodies. I made the objects movable again by going to

Properties -> Physics

and clicking the button to remove the rigid body settings from the object.


Latest version of Blender opens with blank screen

I had a variety of problems installing other brands of software on my computer and even installing Microsoft updates, I suspect it may have been due to an installation issue with Windows 8. I've since upgraded to Windows 10, and the latest version of Blender (along with the latest version of everything else) now runs just fine on my computer.


How can I connect two bones head to head (not head to tail)?

You can not "connect" (parent) a bone's head to another head, nor does tail to tail work. As I showed in my answer parenting bones to other bones is the normal way to connect them. The manual's page about armature structure explains how bones link together.

However, there is another option, using the bone Child Of constraint.*
In pose mode, Under the Bone Constraint tab of the properties window add a Child Of constraint to each bone you want to be connected.
Simply set the Target to be the armature, and then your "root" bone.
The Set Inverse button will keep the bones position. (as you may of noticed it jumped to the targeted bone's head).
The Clear Inverse button will move the bone to the traget's location.

The downside to this method is it will not work in edit mode.

* The manual warns against using a Child Of constraint to create chains of bones.
I don't see any problem in this instance, and it is the only way to connect bones' head to another head.


I think the best way to shoot a video is either by using a tripod and not turning the camera, which means you almost need to do no motion tracking at all, or you film it by hand and try to do it as smoothly as possible, any blurry frames mess up your trackers. or you just don't do motion tracking at all and try to animate the camera into the same position in the 3D viewport.


Editing the normal direction to be parallel with the face.

If you want to modify specific normals of specific faces of a mesh, the only way I know of is the "Normal Edit" modifier.

Basically you create a vertex group, containing all the faces you want the normals changed of. Then add the Normal Edit modifier, choose Directional, select the vertex group and pick a target object. After that all normals of all faces of the selected vertex group will point in the direction of the center of the target object. If you want the normals be parallel, select Parallel Normals in the modifier.


pointInsideFrustum not working correctly

I may have fixed the problem. It seems that no matter how long you delay, it doesn't initialize until the first bit of code has been executed. I made a script controller that runs some dummy code to initialize on the first logic tick, and then delayed my main script by a few ticks and things work now.


Was helpful to see the file. Bone roll 180 degrees and all is fine.


I want to rotate a parent object and see how far a certain vertex of the child object has moved

You can get this information with a vertex parent, and a driver.

Start by adding two empties at the corner of your cube, the point you want to measure, (I named my empties "corner" and "original location").
Vertex parent one of the empties to the corner vertex of the cube. (Select the empty, select cube Tab into edit mode, select the vertex then press CtrlP)

Now you know the original location of that vertex and the vertex parented empty will tell you the new location.

Add another object, any object (does not matter at all). Put a single driver on one of its transform channels.

Now open up the Graph Editor switch to the Drivers mode and click on the transform channel on the left. When you open up the proprieties region N, you will see something similar to the image above.

You first want you make sure the variable name is in the expression field. Now set the variable to Distance, and put in the two empties you added earlier as the objects in that variable.
The output of that driver is the distance the corner of your cube has moved. If you have your scene units set to Meters, then it will be in millimeters.


So, after having similar problems, I realized that in the Prorender materials library they have their own RPR bump maps, RPR image maps, RPR normal maps and so forth...

But there doesn't seem to be a way to add any of those through the Add Shader menu.

So I've been copying the needed nodes from their prebuilt materials library. Not sure why we can't add those in the add menu.

Some nodes seem to have some cross compatibility. From what I can tell the mix shader and RGB mixer both work.


Mapping an orthographic texture to a model

The last piece which is missing in your setup is that Project From View like any other UV unwrap method unwraps all the mesh parts which are selected.

As you selected the whole mesh and unwrapped it, its UV map was created according to that point of view - for the whole object (so there are intersecting parts on that UV map island you have shown in your screenshot).
The problem is that you want only side of the object to be unwrapped according to that projection and it is very likely that you want the front part of the object to be unwrapped with Project From View executed once your view is oriented accordingly. E.g. this famous person uses UV map made with Project From View executed from the front view:

It looks relatively good from the front view, but the side view is distorted as much as it was visible from the point of view when unwrapping.
So if you want to use Project From View, select only adjacent parts of the mesh according to what is visible while unwrapping, or mark seams and unwrap according to them (the view point won't make any difference then).


Thanks to @batFINGER and @poor comments, I've been able to do this, so I'm gonna post it here for if someone has the same problem.

The trick had to be done in the panel draw method, when drawing the UIList:

row.template_list("MyList", "", bpy.data, "actions", context.scene, "myListIndex")

The third and fourth arguments are the place from were the list items will be get. I was using a custom list here (that just pointed to an action), so that was redundant.
The fifth and sixth arguments are where the selected item index is stored, which in my case is in the Scene properties.

Thanks for your help!


Possible bug with high "3D view far clipping distance"

In Your .blend file the light source is set to Point not Sun.That's why You don't see direction line.


Why is there still a white background even though a transparent png image is used?

Open up the Node Editor, select the image texture node, then open the Properties Panel N and enable Use Alpha.