FLIP fluid simulation does not detect collisions anymore

Sorry for false alarm-question.
It seems that was an issue with effector(for some reason it was changed accidently). Effector's Surface Thickness was set to 0
Just now tried same file with reinstalled Blender, and changed only this option and collision worked.


How to use set up transparent background on VSE (alpha file combined with mp4)

As mp4 doesn't support alpha channel, the file you have is a black and white movie that brings the alpha information.
White means matte, while black means transparent.
In Blender compositor (or any other) you can plug it into a color mix node, where black will bring the top input image, white the bottom input.
In VSE you can add a mask modifier to the video strip that needs transparency, targeting the alpha strip.
Alpha strip has to stay under the visible strips.


How can I create a snapshot of a curve in the Graph Editor (like Buffer Curve Snapshot feature in Maya)?

Yes it is called Create Ghost Curves

It will create a snapshot in dotted lines of the selected curve(s). That lime can then be used as reference.

For 2.8 Use the icon at the top of the curve editor.

To clear the ghost curve it just click on the X icon again on the same place where you created the curve.

For older versions of blender select the curve, press the space bar to acces the search menu and type ghost curves. Then you can enable or disable the function.


Having Trouble Snapping Vertices Between Irregular Shapes

I'm posting this just so I can post some pictures easily - if it doesn't help, let me know and I'll delete it.
I think what you're looking for is to choose which vertex is the "snap point" on the object you're moving to snap.
To do this make sure to select your whole object (in edit mode), making sure the vertex you want to snap is selected last (the active vertex). Then, from the snap menu, choose "Active":

From here, move the object (G) and place your mouse cursor over the vertex you want to snap to. The object should snap aligning the vertex you left active, with the one you selected with your mouse:


How to install yafaray for blender 2.77+?

The current YafaRay Release v3.1.0-beta works with Blender v2.77a and v2.78.

You can download the builds for Linux, Windows and MacOSX from www.yafaray.org


An alternate workflow and a much more controlled one is to load your canvas image as a brush texture in the basic TexBrush and use stencil as mapping for the brush - then you can move the image and rotate it exactly how you want it to align, and paint that part into the image.

edit: The Clone brush is mainly meant for cloning pixels to hide the UV seams, and not exactly a way to copy sections of paint onto the canvas without also picking up areas you might not want to pick up - those extra parts usually mean more work to paint out.


Although it may seem as though having a complete flat Ngon is preferable, it is far better to keep the most basic shapes and not merge them together.

(Thank you to Duarte Farrajota Ramos for this)


Blender 2.8 December 24 Grease Pencil convert to geometry is gray out and it's not working

I'd suggest to report this issue to developer.blender.org, as it sounds like more of a bug of the latest builds rather than anything else.


Make a dashed line where objects overlap

Thanks @Duarte! The dashed line portion of my question can be solved using these steps:

Create a second Freestyle Line Set (and name it something like HiddenLines)
Click on the Hidden toggle
Scroll down to Freestyle Line Style and tick the checkbox for Dashed Line
Modify the line settings to your liking


How could I find the intersection between a face and an edge?

Not sure if this is what you mean, but the TinyCAD extension might be able to do this.

It doesn't have an "intersect face with edge" operator, but as a workaround it can extend an edge to a face, so you might be able to do this by shortening your edge enough that it no longer intersects said face, then extend it.

Snap the 3D cursor at the end of said edge, set pivot to 3D cursor and scale the opposite vertex towards it.

You can then press W Specials > TinyCAD > Extend Edge to Face


Scale changes when applying curve modifier

If you've scaled your curve and applied its scale, the radius of its vertices is no longer 1. So select your curve, go in Edit mode, select all the vertices, and W > Set Curve Radius (value 1 by default, that's what you want, but you can change it on the bottom of the T panel), or in the Tools panel of your 3D view (displayed with T on the left of the 3D view) go in Tools > Curve Tools > Set Curve Radius and choose a value of 1.


How do I fix the pivot point of my vertex

This is because the armature modifier is not taken into account (this is intended behavior), so the pivot point is at the non modified location of the selection.

This becomes obvious when toggling Modified edit cage (the triangle icon on the modifier):

To make things more manageable, try disabling the modifier in edit mode:

Also see Why is vertex snapping with auto merge enabled not merging vertices?


You can walk the select history in reverse and find the first BMVert:

import bpy
import bmesh

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

for elem in reversed(bm.select_history):
    if isinstance(elem, bmesh.types.BMVert):
        print("Active vertex:", elem)
        break

Note that select_history does not support selection operators like box and lasso select. They don't make a geometry element active, nor do they add to the history at all.


Tab into edit mode, and in top mode, press U -> Project From View (Bounds).

This should unwrap your plane properly so that the image maps across it correctly.

If your image isn't square, you'll need to do some extra scaling (of the plane) in the UV Image Editor to get it to match correctly, or you'll get stretching on the plane.

Then just apply the texture in the material.


Font that looks as if made out of ribbons?

You can use a curve object that uses a second curve as a bevel object, and you can rotate the control points with Ctrl+T and move them in 3d space.


Principled BSDF subsurface scattering values for skin material

Is the Subsurface parameter value always at 1.0 for a skin material? If not, does it need to be mapped with a texture?

Some parts of the skin have more SSS than others, therefore a texture helps... and rarely a skin gets 100% SSS. So a value of 1 is unrealistic.

  Would the Subsurface Radius parameter be constant across the face of a real person? If not, how can I map this value with a texture given it accepts a Vector input?

Also another non-constant value. Depending on the density and depth of the skin, if there's bone or flesh under it, etc; this value can change. Here you can play in conjunction with the SSS color, as this parameter is only there to help SSS color to get higher radius. Note that Cycles simply multiplies both Radius and Color. If your SSS has a maximal radius less than 1, you can just use the SSS color. Vector texturing is possible in formats like EXR or HDR (and since in this case, the radius is allways positive, you can use also PNGs or any +16bpp format)

  Is the Subsurface Color intended to have a subdermal map as its input?

Same thing as the above.

  Is there a document that lists parts of the skin and common SSS values for them?

There are plenty of artists who shared their common values... But this is not rocket science, and there's always plenty of room for artistic interpretation.


How to get information about linked files?

I found 2 ways to get the information I need.

Using Edit Linked Library plugin (Object : Edit Linked Library) is rather helpful.

It allows me not only to see what file contains the selected linked object but to switch to its editing from the Relations tab of the Tool Shelf.

Other way is to use the Blender File mode of the Outliner. It shows the sources of all connected data (objects, materials, armatures etc...), but does not highlight links of the selected object (at least I did not find the way to do it).

One can use search by name of the object to find all information needed.


In some way, you can do this with:
3D Viewport ‣ View ‣ Viewport Render
but you have to keep in mind it won't be standard render. You will have to disable from rendering viewport overlays, like: floor, axis etc.
Examples:
Standard render:

Standard viewport render:

Viewport render without viewport overlays:

More info: https://docs.blender.org/manual/en/latest/editors/3dview/viewport_render.html


Parent Grouped Objects in Animation Nodes

Parenting in essence can be implemented as a simple matrix multiplication. For instance, give an empty and an object with a certain initial transformation. In order to parent the object to the empty, we simply multiply its initial transforms by the transforms of the empty as follows:

So, to answer your question. All you have to do is multiply the output matrices to the transforms of the empty.


Update: Use bpy.data.fonts.load() instead -@Ray Mairlot

If I understand your question: You want to load a directory that contain font files. And the you can select those font in blender font selector?

Then use bpy.ops.font.open

In Blender 2.80 with Python 3.7.0:

import os
import bpy

dir_path = 'C:/myfolder/fonts'

directory = os.fsencode(dir_path)

for file in os.listdir(directory): #list file
     filename = os.fsdecode(file) #get filename from file
     bpy.ops.font.open(filepath=os.path.join(dir_path, filename)) #join the path

Update

for a button and panel in properties panel (Blender 2.8, Windows):

import bpy
import os

class OpenFontDir(bpy.types.Operator):
    bl_idname      = 'data.openfontdir'
    bl_label       = "load fontdir"

    directory : bpy.props.StringProperty(
        name="Directory of Font",
        default="",
        subtype='DIR_PATH')

    def execute(self,context):
        directory = os.fsencode(self.directory)

        for file in os.listdir(directory): #list file
             filename = os.fsdecode(file) #get filename from file
             bpy.data.fonts.load(os.path.join(self.directory, filename), check_existing=True) #join the path

        self.report({"INFO"},"load from: {!r}".format(self.directory))
        return {"FINISHED"}

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

class Dirfontpanel(bpy.types.Panel):
    bl_idname      = "CATEGORY_PT_Dirfontpanel"
    bl_label       = "Dir font panel"
    bl_space_type  = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context     = "data"

    def draw(self, context):
        layout = self.layout
        scene = context.scene
        layout.label(text="Open directory")
        layout.operator(OpenFontDir.bl_idname)

classes = (
    Dirfontpanel,
    OpenFontDir
)

def register():
    from bpy.utils import register_class
    for clss in classes:
        register_class(clss)

def unregister():
    from bpy.utils import unregister_class
    for clss in reversed(classes):
        unregister_class(clss)

if __name__ == "__main__":
    register()

You can't directly add object on the properties > object > font panel.

The operator:


How to make an object have a clay like surface?

For a clay material, simply set the Specularity to 0:

If you want it to be more like "play-doh" you might want to raise the specular lighting by a bit (maybe to 0.1), but it will also be important to actually deform the model some. Play-doh shapes aren't perfectly smooth. I find that using a Voronoi texture on a Displace modifier, followed by a Cast to Sphere, works pretty well. Here's an exaggerated image and a more realistic image:

Finally, here's the modifiers and texture setup I used:


Transfer texture from one mesh to another with transparency?

Transparency is a mask, a black & white map (0=transparent, 1=opaque). You can store this data in the Alpha channel of an image (RGBA) or use a separate (b&w) image.
Plug this channel in the Alpha slot of the Principled BSDF to have transparency. (In EEVEE you have to set the Blend Mode in the material's Settings to Alpha Clip, Alpha Hashed, or Alpha Blend to see the transparency. With brush settings Erase/Add Alpha you can paint transparency in blender.)

Baking
With the Emission node in the material you can bake the Emit color to an b&w image. In Gimp or Photoshop you can add this b&w image as alpha channel/tranparency layer to the diffuse color image and save it as PNG file. This file format supports  RGBA/transparency.
Back in Blender, connect the Color slot of the ImageTexture node (with the baked image) to the Base Color of the BSDF, and the Alpha to the Alpha. Done :)


NO, it's not possible: modified quad views reset to the default if you exit quad view.

A workaround would be to create a new screen layout that has your modified quad view.


Slicing an object into parts along axes other than x, y, z with a python script

Alignment object.

Have made a small modification to my answer to linked question, to instead of using the objects bounding box, use the global bounding box of the object named "Cube".
Above shows a test run on default cone. The active object gets sliced. It uses the object named "Cube" as axes.
This could all be done via script by realigning and calculating the bbox given the chosen slicing axis.
import bpy
from mathutils import Matrix, Vector
context = bpy.context
ob = context.object
scene = context.scene
axis_ob = scene.objects.get("Cube")

size = 4 * max(axis_ob.dimensions)
mw = axis_ob.matrix_world

def bbox(ob, matrix=Matrix()):
    return (matrix @ Vector(b) for b in ob.bound_box)

def bbox_center(ob, matrix=Matrix()):
    return sum(bbox(ob, matrix), Vector()) / 8

def bbox_axes(ob, matrix=Matrix()):
    bb = list(bbox(ob, matrix))
    return tuple(bb[i] for i in (0, 4, 3, 1))

bpy.ops.mesh.primitive_plane_add(
        location=bbox_center(axis_ob, axis_ob.matrix_world),
        size=size)
chopper = context.object
m = chopper.modifiers.new("Sol", type='SOLIDIFY')
m.thickness = size

chopper.select_set(False)

def chop(ob, start, end, segments):
    slices = []
    planes = [(f, start.lerp(end, f / segments))
            for f in   range(1, segments)]

    for i, p in planes:
        m.thickness = -size
        bm = ob.modifiers.new("BOOL",type="BOOLEAN")
        bm.object = chopper
        bm.operation = 'DIFFERENCE'
        M = (mw @ end - mw @ start).to_track_quat('Z', 'X').to_matrix().to_4x4()
        M.translation = mw @ p

        chopper.matrix_world = M
        cp = ob.copy()
        cp.data = cp.data.copy()
        context.scene.collection.objects.link(cp)
        bpy.ops.object.modifier_apply({"object" : cp}, modifier="BOOL")
        slices.append(cp)
        m.thickness = size
        bpy.ops.object.modifier_apply(
                {"object" : ob}, modifier = 'BOOL')
    slices.append(ob)
    return slices

segments_x = 1
segments_y = 1
segments_z = 8

# change the cutting box
block = context.scene.objects.get("Block")

o, x, y, z = bbox_axes(axis_ob, mw.inverted() @ axis_ob.matrix_world)
for ox in chop(ob, o, x, segments_x):
    for oy in chop(ox, o, y, segments_y):
        chop(oy, o, z, segments_z)

bpy.data.objects.remove(chopper)


How do I make an automatic tail that is bone rigged?

[Updated]
Simplest tail rig ever possible.
The tail has 8 bones the last bone is its tip.
In pose mode.
Adjust all influence to about .5
Add a bone constraint to the 6th bone "track to" the 8th bone.
Add a bone constraint to the 4th bone "track to" the 6th bone.
Add a bone constraint to the 2d bone "track to" the 4th bone.

Done.


Here is the answer:

Use CTRL+L instead of Shift+L


The behavior of the viewport, reverting to a perspective view from any of the set orthogonal views, is a User Preference, and can be set here:

The 2.7x system of layers and render layers has been entirely replaced with Collections and View Layers. which are much more flexible, and in the end, easier to use. Beyond the manual,  there are tutorials out there.. I hope this helps by giving you productive search terms.


Can I have Wireframe view + material preview At the Same Time

In material preview you can show an object's wireframe:

Or you can show all object's wireframes:


Select all the last vertices of every branch

Select verts with only one linked edge

import bpy
import bmesh

context = bpy.context

ob = context.object
me = ob.data
bm = bmesh.from_edit_mesh(me)
for v in bm.verts:
    v.select = len(v.link_edges) == 1

bmesh.update_edit_mesh(me)


How do i weight the whole mesh to a single bone?

What you can do is:

Select your mesh, then select your armature using Shift+RightClick
Hit Ctrl+P then choose With Empty Groups
Select your mesh enter Edit Mode then select the vertices/faces you want to be part of a particular bone and then select the bone you want them to be part of from the vertex group panel and hit Assign as shown below.

Then these vertices will be part of this bone.


i'm worked on augment app when i augmented the texture getting disordered

Try Ctrl+A
 "Apply rotation and scale" before exporting, if it doesn't work try reimporting the .obj in Blender and analize what happened. If you still can't figure out, upload your file.


Meshes appear traslucent/white when they are not

It might be worth looking here to see if you can recover the previous state of your scene.


Combine Sky texture with other layers with alpha channel

The problem is that the layer with the landscape and the clouds does not have an alpha channel (that is why the alpha over operation does not work). In the film section enable "transparent"

To use the background set on the world settings enable "environment" on the layer passes.

Then connect the environment socket of the rendered layer to the alpha over node to use as background:


I found out, one has to enable Use Nodes button (either in Properties editor or in the Node editor with lamp selected) which will make Emission and Lamp Output nodes appear in the node tree used to control strength information.


Save the 2D bounding box of an object in rendered image to a text file

This script determines the camera space bounding box and calculates the top left corner location in the rendered image + width and height (clamped to render resolution).

It will return incorrect results if the object is partially behind the camera, it should work if it's in front and crossing the camera view border however.

import bpy
from mathutils import Vector

class Box:

    dim_x = 1
    dim_y = 1

    def __init__(self, min_x, min_y, max_x, max_y, dim_x=dim_x, dim_y=dim_y):
        self.min_x = min_x
        self.min_y = min_y
        self.max_x = max_x
        self.max_y = max_y
        self.dim_x = dim_x
        self.dim_y = dim_y

    @property
    def x(self):
        return round(self.min_x * self.dim_x)

    @property
    def y(self):
        return round(self.dim_y - self.max_y * self.dim_y)

    @property
    def width(self):
        return round((self.max_x - self.min_x) * self.dim_x)

    @property
    def height(self):
        return round((self.max_y - self.min_y) * self.dim_y)

    def __str__(self):
        return "<Box, x=%i, y=%i, width=%i, height=%i>" % \
               (self.x, self.y, self.width, self.height)

    def to_tuple(self):
        if self.width == 0 or self.height == 0:
            return (0, 0, 0, 0)
        return (self.x, self.y, self.width, self.height)

def camera_view_bounds_2d(scene, cam_ob, me_ob):
    """
    Returns camera space bounding box of mesh object.

    Negative 'z' value means the point is behind the camera.

    Takes shift-x/y, lens angle and sensor size into account
    as well as perspective/ortho projections.

    :arg scene: Scene to use for frame size.
    :type scene: :class:`bpy.types.Scene`
    :arg obj: Camera object.
    :type obj: :class:`bpy.types.Object`
    :arg me: Untransformed Mesh.
    :type me: :class:`bpy.types.Mesh´
    :return: a Box object (call its to_tuple() method to get x, y, width and height)
    :rtype: :class:`Box`
    """

    mat = cam_ob.matrix_world.normalized().inverted()
    me = me_ob.to_mesh(scene, True, 'PREVIEW')
    me.transform(me_ob.matrix_world)
    me.transform(mat)

    camera = cam_ob.data
    frame = [-v for v in camera.view_frame(scene=scene)[:3]]
    camera_persp = camera.type != 'ORTHO'

    lx = []
    ly = []

    for v in me.vertices:
        co_local = v.co
        z = -co_local.z

        if camera_persp:
            if z == 0.0:
                lx.append(0.5)
                ly.append(0.5)
            # Does it make any sense to drop these?
            #if z <= 0.0:
            #    continue
            else:
                frame = [(v / (v.z / z)) for v in frame]

        min_x, max_x = frame[1].x, frame[2].x
        min_y, max_y = frame[0].y, frame[1].y

        x = (co_local.x - min_x) / (max_x - min_x)
        y = (co_local.y - min_y) / (max_y - min_y)

        lx.append(x)
        ly.append(y)

    min_x = clamp(min(lx), 0.0, 1.0)
    max_x = clamp(max(lx), 0.0, 1.0)
    min_y = clamp(min(ly), 0.0, 1.0)
    max_y = clamp(max(ly), 0.0, 1.0)

    bpy.data.meshes.remove(me)

    r = scene.render
    fac = r.resolution_percentage * 0.01
    dim_x = r.resolution_x * fac
    dim_y = r.resolution_y * fac

    return Box(min_x, min_y, max_x, max_y, dim_x, dim_y)

def clamp(x, minimum, maximum):
    return max(minimum, min(x, maximum))

def write_bounds_2d(filepath, scene, cam_ob, me_ob, frame_start, frame_end):

    with open(filepath, "w") as file:
        for frame in range(frame_start, frame_end + 1):
            bpy.context.scene.frame_set(frame)
            file.write("%i %i %i %i\n" % camera_view_bounds_2d(scene, cam_ob, me_ob).to_tuple())

def main(context):

    filepath = r"D:\temp\bounds_2d.txt"

    scene = context.scene
    cam_ob = scene.camera
    me_ob = context.object

    frame_current = scene.frame_current
    frame_start = scene.frame_start
    frame_end = scene.frame_end

    write_bounds_2d(filepath, scene, cam_ob, me_ob, frame_start, frame_end)

    scene.frame_set(frame_current)

main(bpy.context)

One could try cut the mesh at the camera view border (world space, camera space or NDC?) and throw away all coordinates outside the frame. That should fix the bounding box problem with object partially behind camera. If we dropped these coords without cutting, it would likely return a too small box (should return a too large box in these cases at the moment).


It appears they are now where all the render options are - in the Properties Editor, Render Tab:

It seems you can also set different settings for the viewport when in 'Solid'mode and have different ones for 'Rendered' mode only. You can do that from the header of the 3d Viewport:

OpenGL render is now accessible from the header of 3d Viewport, Viev menu:


I think I have found your problem. I have a very fast computer as well, and the same grey thing happens too, but not very often. To trigger the grey, I had to move around very fast and "use up a lot of power". As fast as your computer may seem, it still has a max.

But here are some things you could try:

File > User Preferences > System > and check "VBOs".
Try to moving some objects to different layers, oddly enough Blender calculates each layer separately. (There is an article about that: http://www.blenderguru.com/articles/how-to-render-a-complex-scene-without-crashing/)
If all else fails, you could try reducing the number of complicated materials and vertices.

Hope that helps!


Is there a way Blender can export to PDF(.U3D)?

I cannot see it in the the list of Import/Export. However, you can convert to another format, and use an additional tool. These formats can be read/written by Meshlab: PLY, STL, OFF, OBJ, 3DS, VRML 2.0, U3D, X3D and COLLADA. Export as one one of the highlighted formats, import it into Meshlab, and export to U3D.


Script to add and remove F-Curve Modifiers to multiple selected f-cruves

import bpy
D = bpy.data
# We can access by action name
fcurves = D.actions['Goon_proxyAction'].fcurves
for f in fcurves :
    # TO add
    m = f.modifiers.new('CYCLES')
    #To remove
    f.modifiers.remove(m)
    # To remove all 'CYCLES' type modifiers
    for m in f.modifiers:
       if (m.type == 'CYCLES'):
           f.modifiers.remove(m)


You have to select the keyframes you want to affect first and then change the interpolation type.


The density (Volume panel in World) was set to a very high value. Setting it to 0.001 instead of 0.100, will make volume scattering be visible.


Scientific Illustration: Non-photorealistic rendering of sparse wireframe with dashed/dotted lines for backfacing areas - Blender 2.80

This can be accomplished by using Freestyle and Freestyle Edge Marks.

No silhouette

With silhouette

Assuming you already have a model that you would like to render using this style, select it and switch to edit mode (Tab). Deselect all vertices (Alt+A).

Next you need to select all edge loops that you should appear in the rendered image. Edge loops can be select by using the Shift+Alt+LMB shortcut (or RMB if your using right-click select). Once you have all the desired edge loops selected press Ctrl+E and select Mark Freestyle Edge. Alternatively you can use the menu Edge > Mark Freestyle Edge as well.

Enable Freestyle in the Render Properties.

Switch to the View Layer Properties. First we are going to create the line set for the directly visible parts of the wireframe. Selection By should have Visibility and Edge Types enabled and Visibility should be set to Visible. The only edge type that should be enabled is Edge Mark.

Create an new line set through the plus button and select it. This line set is for the dashed lines. Selection By should have Visibility and Edge Types enabled and Visibility should be set to Hidden. The only edge type that should be enabled is Edge Mark. In the Freestyle Line Style enable Dashed Line and give it the desired spacing.

A third line set is needed for the contours of the object. Enable the Contour edge type for this line set. The Silhouette can be enabled as well, if you want the boundary between visible and hidden faces marked with an edge (See example at the beginning). You can give the line set a larger thickness in the Freestyle Line Style if you like.

Now you can add a shader of your choice to your mesh, adjust lighting and camera position and you're done. In my example render I used the Toon Shader for Cycles, a single point light and Ambient Occlusion (World Properties).


getConstraintId returns zero with soft bodies

As an experience I understand that Blender's Game Engine can't create constraints on Soft Bodies dynamically by bge codes. Actually it creates the constraints but you don't have any access to them.


You can select the object, in the Dopesheet select its keyframes (to only see this object's keyframes, use the Only Include Channels Relating To Selected Objects option, small arrow icon button) and press ShiftE > Linear Extrapolation, and the object should continue its rotation infinitely.


Rigify/Armature - additional bones cause unwanted deformation

Your ORG-palm.0# finger bones (the base ones) have constraints copying transforms from the ORG-weapon bone.

The constraints were probably targeting different bone originally (hand probably).

Delete those constraints or re-target them to ORG-hand.

Why don't you use Child-Of constraining for picking up objects/weapons? I think you don't need the weapon bone, this seems very non-standard.


Blender Python Displaying UI Table with header

No, there is currently no way to do this.


How to set the frame range for rendering?

In the Properties editor > Output panel > Dimensions, you can choose at what frame you want the render to start:


Eevee Glass Problems with Overlap and Alphas

Add image from your shading , i think you missed some nodes
This is what you need :

Same in Evee .
And set alpha for BSDF material to "0"
GL .


Switching from eevee to cycles messes up lighting completely

I just need to uncheck "ambient occlusion".
It was making everything way too bright, even with low values.


Look at your outliner, see the 'template' object at the bottom?  You have set that object to be rendered (camera icon) but you have hidden in it in the viewport (eyeball is greyed out).  So it is appearing in your renders -- you want to hide its render visibility (by clicking the camera icon) so it is greyed out. That or just delete the entire object.


How to find and delete extra UV layers on many objects?

Script

Removes non active uv layers from all meshes in blend.  As with all scripts that remove things, save first.

import bpy

for me in bpy.data.meshes:
    uvs = [uv for uv in me.uv_layers
            if uv !=  me.uv_layers.active]
    while uvs:
        me.uv_layers.remove(uvs.pop())

Removes all uv layers not marked active render.

import bpy

for me in bpy.data.meshes:
    uvs = [uv for uv in me.uv_layers
            if not uv.active_render]
    while uvs:
        me.uv_layers.remove(uvs.pop())


how to control particle rotation during its lifetime?

You can use the Animation Nodes plugin to create your own particle system instances and use a node setup to control their rotation.

control_particle_rotation.blend is a simple example which sets particle rotation to their age. You can create more complex rotation control with more nodes. You can find an AN download on github. You can find discussion and AN examples in the blender artists AN thread.


There may be an way to do it with BPY code that I am unaware of.
On the other hand, you can toggle the viewport 3D gizmo visibility by clicking the arrow icon in the screenshot, then clicking the option Navigate.
There is also the shortcut CTRL + ~ to toggle the gizmo visibility.


Is there a way to Import a Houdini Generated Volume (VDB) into Blender Cycles?

Blender can use OpenVDB for smoke cache files (there's an option in the Smoke Cache domain settings to switch between Point Cache format and OpenVDB) but I don't know much about Houdini or whether the OpenVDB format it uses is anything like compatible with Blender.

Another option would be to transform your Houdini VDB file into a format that can be used in Blender - such as an image format as used in this answer to question "Voxel Data in Cycles". There the voxel data is converted (using Python - similar to the Smoke2EXR add-on mentioned in the link in that answer (see https://baldingwizard.wixsite.com/blog/tutorial-mesh-to-volume)) into an image containing multiple slices of the volume. Maths nodes can then be used to transform from the 3D coordinates into 2D coordinates within the relevant 'slice' and this can then be rendered as a volume.

Obviously for this to work you will need to develop something to convert from Houdini VDB into multiple image slices.

Note : It would also be useful if you could supply a sample Houdini VDB file to be able to allow others to investigate how this could be achieved.


Is there a way to override a material when working with UVs?

I believe it's not currently possible (as of December 2018) with a simple UI toggle. A UV checker overlay that doesn't affect the materials is one of the most loved features proposed by the community, but still not implemented.

mockup by Xuri Greer

I think that we will see this feature in the (very) near future, since it's known that the devs have discussed it already.

A workflow I normally use is:

Add a Shader editor to the "UV Editing" workspace, and switch the Viewport to LookDev

Make your actual material single user and create a different "Diagnostic material" with a textured Emission shader (add a UVMap input if it's not unique)

When you change the texture in the editor, update the material too

After having this set up, it's just a matter of one more click each time you switch.

(You may prefer using the "Node Wrangler addon"'s preview feature instead of a whole new material)


Selected Face color not updating in user interface

In the properties region P there is a panel called Mesh Display, check that the faces overlay is enabled.


Probably you should create all the UDIM tiles first. And seems like currently (2.91.0) Blender can't bake all UDIMs at once, but you can try this addon https://github.com/anfeo/blender_addon_bake_UDIM


Shrinkwrapping moiré-like artefacts (blender-osm)

Shrinkwrap will move the faces of an object on top of the faces of the target object, making them overlap or occupy the same space. When that happens you get Z-fighting errors. The program cannot decide which surface to render.
 (For a detailed explanation read https://en.wikipedia.org/wiki/Z-fighting).

To avoid it make the shrinkrwapped surface be above or below the target surface. Use the Offset option within the modifier.

Additional info in this related link:  How do I avoid rendering glitches from overlapping faces?


Procedural Generation is a broad area. You can use procedural generation to generate terrain, textures, models, growth-behaviour of plants, missions/quests and so on.
With my restricted knowledge about pg, I think that I can assure you that if you really want to generate everything procedurally it will be a long way.

I would suggest you read more into procedural generation and determine what you should start first (mesh generation for example?).

There is a textbook about that topic which gives a good and, what is more important, up-to-date overview. You can find it here http://pcgbook.com/.

My experience so far:

You can use Blender to generate the mesh of a object. I let blender create basic objects like a sphere or a cube. Then the algorithm manipulates the object (it's vertices, faces, size,...).

I also tried to generate textures for the object. I used the pillow-library (https://github.com/python-pillow/Pillow) for that. For my project we need about 3 or 4 textures which all have 2K Resolution. I noticed really fast that when I use python-modules, which weren't baked via C++, it gets tremendously slow (Pushing a button and need to wait for 20-30 seconds isn't great for a tool which should be used for game development). So I wrote a C++-Application, which communicates with Blender/Python and does the generation stuff.

And yes, I know that Blender is able to procedurally generate textures with different noises. But we need more control over the generation. And Blender's way wasn't what I wanted.

Regarding to your question about the file size:

It depents. If you are using procedural generation to generate the assets in realtime then you will have a reduces file size. Most of the time. But that does also mean that you need to write good (e.g. optimized) code. When for example your shaders are slow your game will be slow.

But you can also go the way to pre-generate some of your assets and deliver them directly with your game. This can be helpful for computationally intensive calculations or if the 'making it in realtime' is to complicated and the benefit isn't much.


cycles: ghost material / object alpha without texture

You probably want to filter out back-facing sides when using transparency.


Why is the airbrush grease pencil path so weird?

In the material tab change the Mode Type from Line to Dots to get stroke edges that blend properly when they overlap


Rendered result has a different camera angle than what I had set

Even though you have the camera view and have lock camera to view, the edges of the camera are not visible on the first image, hence you are looking at a zoomed in window that does not represent the full camera view.
Press the Home key to show the camera view.


Yes this is possible, the wire-frame tool has a Crease toggle, that gives a nicer result when the subsurf modifier is applied.

With Crease option enabled (right).

Note:
there is a bug in 2.68a, where this option only works if creases were already added to the mesh. Fixed in trunk (available in any builds newer than r60061 and will be in 2.69).
To workaround this you can add a crease to any edge before accessing wire tool.


You've parented the the ribs to the armature, so accidentally the arm acts on the ribs and you need to correct that:

Select the arm to know its name:

Select the ribs, go in the Properties panel > Object Data > Vertex Groups, find the vertex groups that has the same name, click on Remove:

The lower arm influences the ribs as well so do the same. You can also do it in Weight Paint mode.


Convert vertex back to world coords (Python)

Guess I solved it like this:
rot_mat = self._view_context._view_mat

v = rot_mat @ self._center
v2 = rot_mat.inverted() @ Vector((-v[0],0,0))

self._center += v2


how to differentiate different parts of a same object

Place an invisible plane above a shelf that you want to be clickable. This way you create a relationship between the plane and the corresponding shelf.


Rendering with background movie clip isn't working

The spider has a gray background that hides the image on the layer below. You need to render the spider whit a transparent background and the problem should be solved.

As the picture below.

If you don't know how to set a transparent background, go to properties editor/render/film/transparent

Eevee

Cycles


Execute a specific action on the first run of the script?

Use the window manager

Window manager properties only exist for a session, whereas scene properties are stored in the file.

It's good practice to avoid try except clauses. If a custom property "xxx" on object ob is defined, it will be a member of ob.keys() and can be tested for with "xxx" in ob.keys()

import bpy
context = bpy.context
wm = context.window_manager

if "new" in wm.keys():
    print("Not New")
    wm["new"] += 1
else:
    wm["new"] = 1
    print("New")

May also be an idea to investigate using a non persistent  on-load handler. (Remove the decorator from the example)


How can I adjust the (yellow line) length of the light in Blender?

You are using an Area light.

For area and spot type lights, the line visualizes the Custom Distance > Distance, regard of wether Custom Distance is active. You can change it with the Distance property.

If you would like to remove the yellow tracking blob "Look At", uncheck Look At in the viewports Gizmo settings.

If you are using cycles (or another render engine), this Distance propetry is not accessible, although it is represented in the viewport. Briefly switch to the EEVEE render engine, change the distance value until the viewport looks good, the switch back to your actual render engine.


How to create a "fluid/distortion" effect on a solid object (example inside)

Consider A Warp Modifier with the high vertex density mesh.

Below a rotating empty controls the two other empty targets of the modifier.


How can I cap a cylinder with a hemisphere?

The Round Cube Method

In addition to the other answers here, which are totally sufficient for addressing your case, I'll just mention that you can also attach a Round Cube to a Cylinder if the vertex count of the circumference matches.

The benefit of doing this is that you get a nice evenly-spaced quad mesh that can be textured and deformed elegantly, without any pinching pole at the tip.

In order to add a round cube, first enable the Extra Objects add-on for meshes.

Add the round cube by pressing ShiftA.

Delete half of the round cube (X) and add a cylinder while still in Edit Mode. Rotate either the cylinder or the round cube so that their vertices align.

You can perform a Loop Cut (CtrlR) around the cylinder to form a holding loop that will keep your cylinder's edges straight up to the point where they join the round cube hemisphere.

Once the vertices that form the outer edge loops of the cylinder and round cube are overlapping and selected, (Border Select B should suffice) you can Merge them from the Specials Menu (W > "Remove Doubles"). Adjust the Merge distance as needed from the Operator Panel.

And here is the result:

For your particular case I don't feel this is necessary - beveling the bottom of a cylinder is faster. But it's handy to know how to do this, for times when you're making something larger and more noticeable, or when topology is important. Sometimes it's good to think outside of the UV sphere. ;-)

Finally, here is a shading comparison with round cube topology versus UV sphere topology:

Note the triangle fan shading artifact that results when a UV sphere is used, and how this is not present when a round cube is used.


Is there a way to use a separate texture for object reflections?

In short: take any good HDR texture and put it in Environment node for your glossy shader.

For Internal:


If you want the change to be frame dependent, as opposed to lifetime dependent, I would suggest using a Value node with #frame written as it's input (makes value = current frame at any point), and then using some math to get the correct interval for your needs. Use this as a material for the object you're instancing as a particle.
In the example below, I took the time that the Sine of the frame number is greater than 0.5 (half the time) and used that as a mix factor for a MixRGB with the two colors. This gives particles that alternate between red and green every other frame. You can also use a ColorRamp if you want more control/multiple colors.

Lastly, this works in both Cycles and EEVEE.


MeasureIt / Blender 2.8 : black screen with only measures, how to render?

Since 2.80, the add-on generates the measures in a separate image. The final image is done through the compositor as below (before rendering as usual, F12).


Further to comments, to create an equilateral triangle, side length L -

ShiftA call up a Circle
In the fields of the Adjust Last Operation panel, type into Sides: 3,  and Radius: L*sqrt(3)/3


Render Image is further back than viewport image

In this first image, you can see a dark grey border around the plane and torus. Is border represents the edges of the render camera's view. I don't see this in your top image, which leads me to believe you're zoomed in like the second image. Notice in this view the camera has not moved, that is, both pictures will render the same, but you can no longer see the safe area because you have 'zoomed in' on the render area.
To see the whole render area press Home.


What is the term used to create a mesh with less vertices using shrinkwrap?

I think you're referring to Retopology. And yes, in Blender the Shrinkwrap modifier is commonly used in combination with other modifiers to perform retopology.


Merge the vertices by distance and then it will work, just tested


How to rotate a mesh around another one?

At a guess you want to select the elevator mesh then Shift-select the pivot or controller mesh. With the elevator selected and the control mesh selected and active press Ctrl P to parent the elevator to the pivot or control mesh. The first choice in the drop-down list should work: 'Object'.

However, do you need the pivot mesh? Perhaps you should use an empty object instead to control the rotation.

You can also move the center of rotation of an object. In edit mode select the front vertices of your elevator then ShiftS then U to choose "Cursor to selected". Tab out of Edit mode back into Object mode and then ShiftCtrlAltC to bring up the Set Origin dialogue and press shortcut T to move "Origin to 3D Cursor".

An absolute must-read is Witold Jaworski's excellent reference work Virtual Airplane which can be found on his site:
Virtual Aircraft

Here is a quick blend file showing one way to control a surface:
controlled_elevator.blend

Under the Properties tag you can lock rotation in the x, y, or z axis:

Under the Constraints tab you can limit the rotation of the controller (the empty):

As a follow-up, and keeping within the aeronautical theme, here is a link to a blend file of a variable pitch propeller, controlled with bones and drivers:

pitch_control_bones.blend


If you want to join edges so your edge continues around the front, then select the two vertices (start and end) and press J.

The reason your edge loop does not go all the way around is that not all your faces are quads.

If you are new then I suggest https://topologyguides.com/. Good luck!


How do I prevent child objects from stretching when duplicated on the parent's faces?

Select your Rivet_Surface and ctrl A to apply the scale. You have changed the scale of your object on its Z axis in Object mode and now you must make this scale real.


Rotating a 90 degree joint without inflating it

You will never get a perfectly straight mesh with this approach. Even if you tweaked the vertex weights so that this case (90deg rotation) looked fine, you would see the limits of it once you start rotating it further.
You could use two different meshes instead, each bound to one bone, or even two different objects, each parented to one bone.


How to rig a "cartoonish" style mouth that doesn't affect the rest of the face?

I think your topology is not good for a head, basically you've kept the topology of a UV sphere, it won't help to deform properly, what you need to do is create a kind of topology that follows the face features (found on google, from 3D artist Israel Audelo "izzy"):

See how the topology rotates concentrically around the mouth. As your character is even simpler and the expression more exagarate you should do the same with no more edge loops than necessary:


Add-On Dev: Button that simply calls a Function?

The following example shows how to create multiple operators each with their specific function. It only shows three buttons, but the concept remains the same for an arbitrary number of buttons and their underlying operators. The panel is created in the sidebar of the 3D View which can be opened with N.

I hope I haven't misunderstood what you're trying to accomplish. In case I did, feel free to leave a comment.

bl_info = {
    "name": "Multiple operator example",
    "author": "Robert Guetzkow",
    "version": (1, 0),
    "blender": (2, 80, 0),
    "location": "View3D > Sidebar > My own addon",
    "description": "Example with multiple operators",
    "warning": "",
    "wiki_url": "",
    "category": "3D View"}

import bpy

class EXAMPLE_OT_func_1(bpy.types.Operator):
    bl_idname = "example.func_1"
    bl_label = "Function 1"

    def execute(self, context):
        # Implement your first function here
        self.report({'INFO'}, f"This is {self.bl_idname}")
        return {'FINISHED'}

class EXAMPLE_OT_func_2(bpy.types.Operator):
    bl_idname = "example.func_2"
    bl_label = "Function 2"

    def execute(self, context):
        # Implement your second function here
        self.report({'INFO'}, f"This is {self.bl_idname}")
        return {'FINISHED'}

class EXAMPLE_OT_func_3(bpy.types.Operator):
    bl_idname = "example.func_3"
    bl_label = "Function 3"

    def execute(self, context):
        # Implement your third function here
        self.report({'INFO'}, f"This is {self.bl_idname}")
        return {'FINISHED'}

class EXAMPLE_PT_panel(bpy.types.Panel):
    bl_label = "My own addon"
    bl_category = "Name of your tab"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

    def draw(self, context):
        layout = self.layout
        layout.operator(EXAMPLE_OT_func_1.bl_idname)
        layout.operator(EXAMPLE_OT_func_2.bl_idname)
        layout.operator(EXAMPLE_OT_func_3.bl_idname)

classes = (EXAMPLE_OT_func_1, EXAMPLE_OT_func_2, EXAMPLE_OT_func_3, EXAMPLE_PT_panel)

def register():
    for cls in classes:
        bpy.utils.register_class(cls)

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)

if __name__ == "__main__":
    register()


giving a movie texture to lamp (spot) in cycles

might not be exactly what you need but could help.
The set up is for a videomapping.
Create a spot lamp, you might need to crank it up very high (Like VERY high, use filminc blender if needed)Put a plane between the spot lamp and the surface that needs to capture the projection. Nodes for the plane

animate the offset if it is a video file


Python: Access mesh selection history data

Don't use the string key. Instead use a direct reference for the layer:

layer = bm.faces.layers.int.new('layer_name')
bm.faces[0][layer] = 0

There is no boolean layer available.

The selection history works only for single verts/edges/faces.

You can use the bmesh operators similar_faces, similar_edges, similar_verts which will return the selection.

Links to the source: bmo_similar.c, bmesh_operators.h


You need to check "Is Resumable" in the Cache section of the smoke domain physics properties. Then when you bake data and bake noise, the simulation should appear in your viewport.
For some background, I was having this same issue. After doing some digging, I found this answer here: https://developer.blender.org/T80372
"This was a usability issue: Baking noise in the modular cache mode is only possible when also enabling the resumable option."
I wanted to make sure I knew what I was turning on by checking that option, so I will share this from the Blender manual as well:
"Use Resumable Cache: Extra data will be saved so that you can resumed baking after pausing. Since more data will be written to drive it is recommended to avoid enabling this option when baking at high resolutions."


You do have bad geometry.  To find and fix it it, I did the following in edit mode:
Go to face select mode and select most of the faces.

Then type h to hide those faces

This isn't strictly necessary but it makes it easier to follow the next bit.
Next I went into vertex select mode, and selected every vertex

and I typed m to bring up the merge menu

and I selected "by distance"

and in the lower bar it told me that it had removed vertices:

Next I tried to select the vertices that you want to make a circle using alt-LMB after deselecting all with ALT-A.  But that failed because you have some extra vertices that are not near enough to each other for 'by distance' to work with the default settings so I opened the merge tool information (at the bottom left of the 3d view)

I had to set the merge distance to 0.01 to get six additional vertices.
After that I reselected the ring, and Loop tool -> circle worked fine.

follow that with ALT-h to unhide the hidden faces and that's that.


Why does my blender crash when I open a file?

I think I can answer your question because the same thing happened to me when I was a beginner(I had intel i5 3rd gen with 12gb ram and integrated graphics). This can happen due to any of the following reasons:

If you were in material preview mode during last save. It happens because sometimes evee(renderer for material preview mode) can run out of processing power or memory if you have a heavy blender file(or materials).
Blender file is too heavy for your computer.

You can fix this by doing the following:

Make sure you are in solid mode or cycles rendering mode during your last save.
Get a better computer


Using texture painting on an existing node material

Yes it can be done. Here is a very crude example:

Here's the node tree:

To paint with an image stencil, create a new Brush and set the type to "Image or Movie" and then select the pattern image as the image in the Image settings.


How can I distort a gradient along an axis?

You can use a Noise Textures Fac as input to the texture coordinates of the Gradient Texture to get some smooth random distortion:


Here's how to set up what I think you want to set up.  (I used 2.82 Alpha, but it should work on any >=2.80).

Start with an empty scene.  Add an armature consisting of a single "Bone".  In edit mode, extrude a second "Bone.001" from the tip, and extrude a third "Bone.002" from its tip.  Switch to object mode, and add your spheres.  In wireframe, it should look like this:

Now, LMB select the bottom sphere and Shift-LMB select the armature.  Ctrl-Tab switch to Pose mode, click the bottom bone.  It should look exactly like this, with the bottom sphere as the secondary selection (dark orange) and the bottom bone in the armature selected (light blue):

Finally, Ctrl-P Set Parent to Bone.

To parent the second sphere, Ctrl-Tab back to object mode, LMB select the middle sphere, Shift-LMB select the armature, Ctrl-Tab switch to Pose mode, click the middle "Bone.001", and Ctrl-P Set Parent to Bone.

For the final sphere, Ctrl-Tab back to object mode, LMB select the top sphere, Shift-LMB select the armature, Ctrl-Tab switch to Pose mode, click the top "Bone.002", and Ctrl-P Set Parent to Bone.

You should now have each sphere parented to a single armature bone, using Bone Parenting.  In pose mode, each bone should control one sphere with no deformation of the other spheres.  Here's the blend file:


Extruding multiple edges simultaneously but separately

The best I could come up with is:

(i) Extrude and tapping z to constrain to the z-axis.  (The constraint keys combined with Transformation Orientations are well put together in Blender so you should check into those as well.)

(ii) For some reason, using Rip v doesn't work for the entire edge loop so I separated the Vertices a few edges at a time.

(iii)  Scaling by normals separates them without distortion Alt+s so once the scaling was finished I used regular scaling to bring the edges back down.(again, constrained to 'z')


How to insert space or make a gab between many joined stripped pieces of Audio VSE?

There are at least two fast methods:

First method

Inside the VSE, deselect all strips then, press b and drag your mouse to box select the strips you want to move. When you have selected them, press g to grab all of them and move them by the desired amount with your mouse. Finish with LMB.

Second method

Inside the VSE, place your cursor inside the strip after which you want to insert the gap with LMB. Then select Strip -> Insert Gaps or press Shift+= and it will insert a gap after the current strip. This is actually the reverse of the method mentioned in the question you linked.

Hope that helps.


When I add environment texture to world node object shadow disappears

It is not that the shadow dispappears, but it is not as dark... Why? Because the environment will illuminate that area. Think of the environment as a giant sphere that surrounds the scene, emitting light from every pixel of the image texture used. So the question is: if you like the shadows without the world texture, do you really need it? Else just bring down the strenght.


Animated difference boolean with displacement texture - Empty mesh error 2.8

Blender 2.8 is not stable right now, I do encounter these kinds of problem when rendering animation. It seems that some of the frame Blender render it with a wrong context.

Usually I will try to manually change the frame and render it as a fixed image. And if image is fine, I will use a script to do the animation rendering rather than ctrlF12.

bl_info = { "name":     "Auto Renderer",
            "category": "Misc",
            "version":  "0.0.1",
            "Authur":   "hikariztw (Taiwan)",
            "blender":  (2, 80, 53),}

import bpy

class AutoRenderer(bpy.types.Operator):
    bl_idname = 'common.auto_renderer'
    bl_label = 'Auto Renderer'
    bl_options = {"REGISTER"}

    start_f: bpy.props.IntProperty(
        name="Start Frame",
        default=1)
    end_f: bpy.props.IntProperty(
        name="End Frame",
        default=30)

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

    def execute(self, context):
        self.file_path = context.scene.atrender_folder_path
        for i in range(self.start_f,self.end_f+1):
            bpy.context.scene.frame_set(i)
            bpy.data.scenes['Scene'].render.filepath = self.file_path+str(i)
            bpy.ops.render.render( write_still=True )
        return {'FINISHED'}

class AutoRenderPanel(bpy.types.Panel):
    """AutoRenderPanel"""
    bl_idname = "VIEW3D_PT_autorender"
    bl_label = "Auto Render"
    bl_category = "Render"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

    def draw(self, context):
        layout = self.layout
        ###### RENDER
        layout.prop(context.scene, "atrender_folder_path")
        layout.operator(AutoRenderer.bl_idname,\
         icon='AUTO', text='Start Render')
        ######

classes = (
    AutoRenderer,
    AutoRenderPanel
)

def register():
    for klass in classes:
        bpy.utils.register_class(klass)
    bpy.types.Scene.atrender_folder_path = bpy.props.StringProperty(
        name="Directory",
        description="Where to render to",
        default="C:/test/where/",
        subtype = 'DIR_PATH')

def unregister():
    del bpy.types.Scene.atrender_folder_path
    for klass in classes:
        bpy.utils.unregister_class(klass)

if __name__ == "__main__":
    register()

the script add a panel in right of 3D-View panel

Press the button and set what you want to render. The main window freezes during the rendering process, you can open system console to see the process and status.


You can select the first object in the collection and then go down to the last object and Shift select, this will select all objects that are between the two selected ones(even if their visibillity is set to off).


Make sure your object is smooth shaded, as GiantCowFilms mentioned.

Select it and press smooth in 3D view > toolbar (T) > Tool > Shading:


I don't know how to unparent it, but removing all the keyframes should remove the motion.

I did it to the file my self

Here is the file.

I would just replace the "_layer" version with that file as well, and rename it, just in case. There does not appear to be a difference though.

If you still want to know how to do it...

Here's how:

Switch to the dope sheet

Press a once or twice until all the keyframes are selected (highlighted in orange). (if they are already highlighted, press 'a' twice anyway, just in case a few weren't selected).

Note: That will get rid of all animation, and we just want to get rid of camera animation. You may have to box select b to just select the keyframes that are on the same row. You may have to expand the higherarchy (on the left) until you can click on the bone you want. There may be a location, rotation, and scale, instead of just a rotation like on my example. If there are, make sure you select all of them. Now drag a box around all those keyframes (after pushing b) so that they are all highlighted. (don't select the first column, allowing you to skip the next step of unselecting it.) (it will be white if it is not selected.)

Just as a check, the source engine may have glitches if there are no keyframes, so zoom in to see things better (scroll wheel) [you can click and drag the middle mouse button to move your view to the beginning of the animation] and hold shift while right clicking on the first keyframe (orange square) to deselect it (right click on the box at the same x location as).

Now it should look something like this.

Now press x on your keyboard, to delete the keyframes. (click delete)

It should now look something like this (except with more columns of keyframes.) The bone you are trying to remove the motion from should be the only one that has its keyframes (squares) removed. If it is not, there is something wrong.

That should be good. Check if the bone is not moving when you play the animation (make sure the other bones are still moving), and you should be good. Now save it and replace the old .smd with the new .smd. You may have to export.

Here is a video that can help you with importing and exporting .smd in Blender. I think it's all about the same still.


How would you go about creating distorted textures like in Olga Bell's Music Video ATA?

I think they use this technique a lot:

Create your 3D object. I've made a cube to make it simple.
Choose the camera view and Unwrap your object with the Project From View option.
Now as long as you keep the same view the picture will appear correct, but as soon as your camera will move it will deform. It's a little bit like the Camera Mapping technique except that you don't try to make your 3D object match with the picture.


if the model already has weights, it should have vertex groups. Make sure the bones in your rig are named the same as the existing vertex groups. Then select the model, then the rig, and hit Ctrl-P > Armature Deform (and make sure the armature modifier on the mesh is set to Bind to Vertex Groups). If you have additional bones that you want to use that don't have pre-existing vertex groups, you can enter pose mode on the rig, then enter weight paint mode on the mesh, then select the bones you want to have weights for, press W and select Assign Automatic From Bones. I hope this helps!


Speed up Fluid Simulation for Fluidless Frames

The speedup is possible:

Update based on comment for Blender 2.81a:
(To my best knowledge, as it is a good bit more complex.)

This older version does not use Mantaflow, means it's still using the older fluid solver, which takes it's Time Start and End values as Seconds and not frames.

There is a bit more to the simulation with the old solver:

Time Start and End are values expected in seconds
Using any value higher then 0 as start essentially means the simulation skips the time til then and the result will be like starting in the middle of a movie.
The time between start and end (default 4 seconds) is stretched/squished according to the timeline given Start and End. Lets say start frame 1 and end-frame 200 with 25 fps, would mean the 4 seconds would be simulated over 200 frames.Essentially stretching it as 200/4 is 50 and not 25 fps. So to have the speed correct we would need to set End to 100. If the simulation is set to end at 8 seconds, 200 frames would be right, different fps though can make this equation a bit tougher.
After the simulation is baked, it can be played with an offset, means then you can use a positive offset to start the simulation again somewhere(depending on the frames given) from the middle, or use a negative value to delay the simulation and start it later then it was calculated for. "-25" would make it then start 1 second later at frame 25. (Why at one hand seconds and on the other side frames are used, is beyond me.)
Last but not least, there are 2 other places you may need to visit and adjust:

Making the timeline show seconds as to have a better indicator for how long the simulation may go and

the Output Properties to adjust the "Frame Rate" with it's "fps", as that influences the timeline as well as the calculation you may need to do to figure out what to set the simulation end and later offset.

Friendly suggestion, I'd update to the new stable Blender version 2.82a with Mantaflow if possible, as below shown the setting up became a lot easier:
You may not only have to time the inflow(s), but also set the Frame Start in the domain. See picture below, the frames that will be calculated, be there fluid or not, are set in the Cache Section. All in frames.
Version 2.82a+

While you can always cut off the inflow, the simulation is stubborn and goes through all frames between Frame Start and End when you bake.

Happy Blending


object exported as .obj is a solid cube instead of rendered volume when imported to MSblend

The OBJ file format is mainly a geometry only shape based file format, made for the purpose of transferring basic 3D model data between applications

It is not a full featured save file format nor is it suited for transferring complex shaders or materials between applications, only basic material data is saved along with UV coordinates for texturing.

The tutorial you show seems to be using using image sequences as volumetric data to simulate volume density, which in itself is already an "exotic" type of material, and is very specific to the way Blender works internally. Your actual geometry is just a cube, that is why when you import you only get the cube.

You will have a hard time exporting it out of Blender in any way or shape, even less so using OBJ file format.

Now I have never used Expression Blend and I have no idea how it works, or what are it's rendering capabilities.

If it has volumetric rendering functionality you could try and recreate the volumetric setup in there using it's native material creation workflow.

Otherwise only solution I could image in Blender is possibly modeling a tight sequence of small planes so they form a roughly cubic volume. UV Unwrap the planes so they can use your image sequence as textures.

For performance and workflow reasons you may want to create a "texture atlas" from your image sequence, that means joining all you MRI sequence into one big tiled image, so you don't have to manually set up hundreds of materials/textures one by one, and so they don't ruing your performance loading hundreds of independent files.


How to map cube uvs from existing tilesheet?

Enable Snap to Pixels in UV editor > Header > UVs to snap UVs exactly.

Use the Reset unwrap method (U, R) to unwrap all the faces of the cube over the whole UV space.
Scale (S) the resulting UV faces down to the area you want.
Select faces on the cube and reposition/rotate their corresponding UV face accordingly.


You have to comunicate to your plc by a python socket (import socket) and stripe whatever you are sending from your local port (arduino) or the local port on you have the plc.


Bone Limit Rotation constraint not fully working

I found this video on YouTube. You can watch this video.
https://youtu.be/y6ECmeANUSw


Go into face select mode and select the faces you want to delete then press x so the delete menu will appear then select face to delete the face and to again close the open face go to edge select mode and select the edges you want to close and press f to make the face.


Make object glossy, but not reflect other object's colors?

One way to do this is by preventing other objects from appearing as a reflection on any glossy material by disabling the Glossy option in :  Properties➩Object➩Ray_Visibility


Array Modifier Causing Objects To Become Hollow in Blender 2.8

The first thing I notice is you have a lot of overlapping geometry, there will always be distortions when faces occupy the same space, this is aslo probably why your boolean modifier isn't behaving as it should.

Hope this helps


In the UV editor use the N key to open the UV Properties panel then you will find the Stretching option in the View tab > Display > Overlays > Stretching.


delete 16 vertices that are on top of each other

You can use the Merge by Distance option.
To activate the option, use the shortcut M, than B to activate the function.
If any vertices are deleted, you should get a message like the one to the right in the screenshot.
The pie menu to the left in the screenshot are options for the function such as delete by vertices distances (from each other), selected or unselected, etc.


What does the Render and Preview of the Samples section do?

The Render samples is for your final render when you hit the render button

The Preview is when you switch your 3D view to be rendered. Its a quick view.


Why, despite matching FPS, does the audio not match the video in the rendered file?

At the very beggining of the tutorial, he tells us that it may be problematic to work directly with the .mov file, depending on the FFMPEG version in use within your system.

So you should try to convert the movie source file into an images sequence, and import it in VSE. Then, import the audio of the the original .mov file, and sync it with the images sequence strip.


If you want to keep the flat shaded look, then you'll just have to model more edge loops and achieve the rounded look with the actual topology.

Otherwise, you might be better adding a Subsurf modifier to get smoother surfaces and curved edges. If you want to keep some edges sharper you'll need to add edge loops near the corners to keep them sharp (or you can set the Sharpness value on the polygon edges alternatively).


What's the best way to extrude and expand complex objects?

To scale something in the direction of the normals, you can use Alt + S

Using this tool, you can fatten a model or make it more slender.

For a model that has many thin parts that are close together like this one, there will likely be some overlapping parts when you fatten it so a bit of manual work will be needed to clean it up.

Using a LICEcap screen-capture .gif I show an easy way to clean up the overlapping edges.  I'm using the circle select tool C to select all the edges then with the selection tool still active use MMB to deselect the surrounding edges leaving only the one which is not visible.  That one edge  is not visible because it's facing directly in and out of the screen and the display cannot handle that situation but the line is still selected even though we can't see it.


Selecting armature via Blender's Python API

Selecting the MBlab_sk3213u120r3289hyf38u9ghqf object will grab the data.


If you want to create world with erosion try world machine : Download it here. The demo version allows you to export the landscape in low resolution. (You can cheat it by exporting smaller tiles (instead of a big one))


Blender Internal Animation Render Crashes with New Font

Answering My Own Question:

Blender is short on official documentation ... it appears that free type fonts are supported and of those Blender can be picky about fonts with ligatures, or connections between letters.

So far all the fonts from http://www.dafont.com, recommended on that site, that I have tried worked.  That said I've only tried 4 that were very close to the original.

With that information I've been able to BI render the animated title sequence.


2.92, Simple Boolean, Won't Work... Why?

1.) select channel

2.) Tab -> change to edit mode
3.) A -> select all
4.) mesh -> normals -> recalculate outside

5.) select all vertices at the end of your channel and press 'f' to create a closing face (make sure you are in "vertex select" mode

6.) tab -> object mode
7.) change to "display as" -> bounds
8.) result


Can I use the weigh paint information as color vertex information?

Well a few minutes after I posted the question here, I sent the question into a Slack Group and Julian Perez (@julper) found this great addon that fits exactly to what I was needing.

I will share what he found with you.

The addon is called Weight-and-Color


Rendering a Transparent Object (with Outline added by Nodes) on a Transparent Background

Not the most elegant solution, and probably there is a better one, but if I understand correctly maybe this will help:

click to enlarge

Using a Color Key node to replace the white with transparent pixels, and adding the key to the image  seems to work well in this case.


Importing new brushes into existing .blend file

File -> Append. Then click on the file with brushes you need and on the folder Brushes


The hair displacements differs in object mode from those in particle mode

You have to go on edit mode of your hair object (the screw one) and rotate it in one of the three axis. This will rotate all the particles as well.

Hope it helps.


Applied modifier, closed blender, and i can't unapply it now

Applied modifiers cannot be undone after closing.
Your only hope is to try and go check the auto-saved files (if you have "auto-save" on) and find one with a date BEFORE you applied the modifier.

As to why the modifier created a spikey mess, now that's a greater mystery!


Boolean trouble: union and intersect work, difference doesn't

You have overlapping vertices that prevent the boolean, select your anvil, go in Edit mode, press Alt > M > Merge By Distance, and it will work.


positions variable is being cleared at every execution of the script by the line own["positions"] = [] to prevent this replace that line with :

if 'positions' not in own :
    own["positions"] = []

Edit :
The position list was not extended properly it was taking pointers to the object position to fix this replace own["positions"].append(own.position) with own["positions"].append(own.position.copy())


v2.8 support for 3DConnexion ndof devices

I have a 3dconnexion space mouse wireless and in my personal experience, all the basic functions do work without changing the factory settings. However blender still lacks "the what" is built in Fusion 360. In Fusion 360 the space mouse's focus is automatically "locked" to the object you are working on, so you can effortlessly fly around it like an angel. I haven't found the option how to do that in blender with the mouse which makes it more difficult to control.

HP Zbook G3 17" with Windows 10 PRO, 3dconnexion space mouse wireless and latest drivers.

Kody


blender's mirror modifier not working how I want it to

Actually it was just because the pivot point was not at the middle of my object, because before I had deleted the vertices which did not delete the whole object keeping the pivot point at the same place.


You can create a gradient on separate object with no UV map, by using texture coordinates.
If we use the texture coordinates of another object (like an Empty), we can easily control the position of colors by translating, rotating or scaling the empty.

Add an Empty at the location you want a color change.
In the material of the meta-ball-object, add Texture Coordinate node with the Empty selected as the Object. Separate the Object coordinates and use the first output, the X coordinate. (Adjust this to your objects orientation obviously.) Since we only want the absolute distance on X and not the signed coordinates, add a math node Absolute resulting in values >= 0.

By transforming the empty, we can move and scale the gradient.

To be able to be able to influence the overall strength of the gradient, let's use the objects Z position. To get the same value for all position on our meta-object, subtract our Geometry's position from the Empty's position. I concatenated an Add operation, to offset the 0 position. By moving the empty along its Z axis, we can control a single value.

Combine both results with a multiply operation and use this output as the factor between your desired colors.

The resulting material can be controled using the empty. By moving it along the Z axis we control the overall intensity of the second color, and by moving and scaling the X axis we control the transformation of the gradient.

If you want to alter the transition you can use

rgb curves

or a color ramp.


How to switch background image during video compositing?

The order for the input sockets for the Alpha Over matters. In this case they are reversed and need to be switched.
The top socket is used for the background image, the bottom socket for the foreground (or image to be placed over using the alpha channel).

See:
Background image shows in front of 3D objects, not behind them.


Can you access the distance values from the numeric input?

From the window manager's operators collection.
A very simplistic answer to how to get the values used in the transform translate operator. Other things to consider would be looking for edit mode switches. How to keep track of what objects have context at the time etc
Looking in info area after translating will see the python name of the operator, from which we can get the idname
>>> bpy.ops.transform.translate.idname()
'TRANSFORM_OT_translate'

Make some moves.
Translate 4 locally in $Y$ GYY 4 ,then -5 locally in $X$ GXX -5  and finally 3 in $Z$ GZZ 3
Get the details from python console.
Off to the python console, and get the details of the translations made using operator via UI above.
>>> wm = C.window_manager

>>> for op in wm.operators:
...     if op.bl_idname.startswith('TRANSFORM'):
...         props = op.properties
...         props.orient_type, props.value
...
('LOCAL', Vector((0.0, 4.9, 0.0)))
('LOCAL', Vector((-5.0, -0.0, -0.0)))
('LOCAL', Vector((0.0, 0.0, 3.0)))

Another option is
>>> wm.operator_properties_last("transform.translate")
<bpy_struct, TRANSFORM_OT_translate at 0x7f0df251cb48>

>>> props = wm.operator_properties_last("transform.translate")
>>> props.value
Vector((0.0, 0.0, 3.0))


Flickering of surfaces within the 3DView is caused by overlapping faces. With a boolean modifier you get the new generated faces in the same location as the mesh used to perform the cut, leading to flickering.

Having a mirror modifier on a mesh that has faces on both sides of the mirrored centre line can also lead to flickering.

If you want to keep the boolean modifier and not apply it, you can place the cutting object onto another layer (M and select a layer) that is not active or you can hide the object from view (H)

You can also use the outliner to hide/unhide objects.

The eye for each item specifies whether it is visible in the 3DView, the cursor allows you to select the item in the 3DView and the camera is whether it shows up in the final render. Click any of these icons to turn them on/off.

If you have overlapping faces from a mirror modifier then you need to remove the duplicate faces. This may involve deleting everything on one side of the mesh or just the few faces that have overlapped. The mirror modifier has a clipping option that can help line up vertices on the centre line of your mesh.


How to load an image from disc and assign it to a newly created image texture node?

You can use BlendDataImages.load() to load and assign the image to the texture node in one go. Following example code is based on Control Cycles material nodes and material properties.
import bpy

# Get the material
mat = bpy.context.object.active_material
# Get the nodes
nodes = mat.node_tree.nodes

# Clear all nodes to start clean
nodes.clear()

# Create Principled Shader node
node_principled = nodes.new(type='ShaderNodeBsdfPrincipled')
node_principled.location = 0,0

# Create Image Texture node
node_tex = nodes.new('ShaderNodeTexImage')
# Assign the image
node_tex.image = bpy.data.images.load("//your_image.exr")
node_tex.location = -400,0

# Create Output node
node_output = nodes.new(type='ShaderNodeOutputMaterial')
node_output.location = 400,0

# Link all nodes
links = mat.node_tree.links
link = links.new(node_tex.outputs["Color"], node_principled.inputs["Base Color"])
link = links.new(node_principled.outputs["BSDF"], node_output.inputs["Surface"])


Your scene contains some incredibly high amounts of subdivision. You can see in the stat readout above the scene had reached 6.7GB of memory use. (the remaining 1.3GB was probably lost to overhead and OS). Even just in the viewport, your scene is almost 15 million triangles. And several objects have higher render subdivision than viewport subdivision, resulting in even more geometry at render time! For example, you have a number of objects with a modifier like this:

This uses subdivision level 4 at render time, which is 16x the polygons of subdivision level 2!

Most objects in that scene are not going to look substantially different with reduced subdivision. The "door" and "body" objects might need one more level than they have in the viewport, everything else looks fine just at the viewport level it's currently set to, or even lower!


How can I use the vertex groups of an emitter to control the material of the particles?

[edit] There is a proper solution which I'll add as a separate answer, but since this technique is different enough to have its own uses (like if you want different grass models at the edges) I'll leave it here.
After digging around for a while, it looks like this is not possible. The closest I got was an OSL script using traceset to find the value, but it turns out that Blender OSL doesn't implement traceset.
I did come up with a workaround that more or less does what I want:

Create an additional vertex group (I called it water.edge) on the emitter and assign all vertices to it.
Add a Vertex Weight Mix modifier to the emitter, which copies the original water vertex group to water.edge.
Below that add a Vertex Weight Edit modifier that edits water.edge and applies a custom falloff curve that starts at 0, rises to 1 then falls back to 0. This makes water.edge have its highest values where the water values are intermediate.
Create a new particle system yellow grass, and use separate yellow grass variant particles.
Use the water.edge vertex group to control the density and length of the yellow grass particle system.

Downside is the texture doesn't "blend" from one region to another, but at least I can get dry grass where I want it.


A footpath (pink) plane is laid over the background image to hide and replace the original path at the left side of the water.

Two shadow-shaped masks are then laid over that which cut through it to reveal the background image's shadows once more.

The masks are not fully transparent so they can be tinted pink.  The shadows then appear to be on the added pathway when in fact, they're on grey concrete.

Because the masks are to be selective, in that they cut through the added path-plane but don't affect the background image-plane, we render in OpenGL.  (See footnote)

If the masks do cut through the background, parent both to the background plane, then unparent them immediately. (use "keep transform" option in both cases)

See here - for more about this form of masking

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

Footnotes -

An alternative would be to texture the masks with the background image and use the UV editor to scale and align the respective shadows.

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

Another, is to use Blender's internal masking which will cut a hole through everything and require post processing.

Render the holed image (or lossless video) in .png format with an alpha layer. (the RGBA button at extreme right in the rendering properties' output tab)

Note that the output still includes the background image-plane.

Save the project and exit. Fire up Blender again and use the 'Video Sequence Editor' this time.

Lay the holed image/video over a COPY of the background image which is tinted pink to match the overlaid path.

The holed image will only allow the tinted shadows through.

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

The post processing could also be performed using the Compositor.

All up, the easiest by far was to render in OpenGL and use it's masking, do it all in one go.

enter code here


The basic setup you are asking for is quite simple. You could just arrange the planes accordingly in 3d space (although I would render on a transparent background and later composite your 3D particles + ghost layer on top of your plate).

The part with only emitting particles from visible parts of the ghost layer could be resolved using a particle texture (just feed the transparent video into the particle system using the "Textures" panel under the emitter/particle system settings; a ramp could be used on the texture for additional transparency control).

On the behalf of the smoke I would try to utilize a low-res smoke simulation (source of which the particle system would be). That generally tends to look better than just faking it using particles.


Array Modifier creates something that exports as single mesh, how to create same through group/parent/etc?

It seems that joining (CtrlJ) is exactly what you are looking for.

Joining shouldn't prevent future modification.
Within the joined mesh, there will still be two disjoint islands (or five, if each leg is disjoint): the table top and the rest of the mesh.

If you want to separate it again to work with, you can use P → By Selection. You can even, immediately after joining, save the table top as a vertex group so you don't have to worry about selecting it again later, although the Select Linked function (L or Ctrl  L) should work for that anyway.

Are there any other concerns for joining? If so, perhaps there's a workaround.


Cut faces where they intersect with the mesh

In Edit Mode (Use TAB to toggle), Loop select the front inner ring of edges of the barrel by placing your cursor over one of the edges that goes around the circle and hitting Alt+Shift.
Separate this from your mesh by hitting P >> S.
Use TAB to Toggle back into object mode.
RMB over the inner ring to select it.
Hold Shift and select the mesh that you need to cut.
Now go into front view Numpad 1.
Make sure that your toolshelf is open at the left - T to toggle.
Use TAB to toggle back into edit mode.
Select all (Verts / Faces).
On the toolshelf use "Knife Project" - There is a checkbox on the bottom left hand side of the toolshelf that says "Cut Through", make sure you check it.
Now just delete the edges and faces that you don't want.


How to make smoke made in the smoke simulator transparent?

As soon I posted this question  I saw where I went wrong.

There is an option in the domain of the simulation called smoke which surprisingly adjusts the amount of smoke produced.


Stars feature has been dropped from Blender Internal render engine. See here. However, the official release 2.69 still has it. You can either choose that version, or find another way to get the same result.


Change Viewport's Orbiting Axis While Sculpting

A workaround would be to parent a camera to an empty, as follows:

Then, in the viewport snapping settings, enable face snapping and check Align Rotation to Target.

After doing this, dragging the empty around will snap the camera perpendicular to whichever face your cursor is on.

Setting the transformation orientation to Local will allow you to transform the empty relative to its own coordinate system.

Additionally, you can enable the visibility of gizmos to be able to easily rotate the empty:


Huge meshes (how to export, textures etc.)

You should decrease polycount. To achive this use decimate modifier or remesh modifier


A part of an object is not visible in the camera view - how can I fix it?

You have to check camera clipping settings. Try to increase the End value.


How can I prevent a pause at the end of animation loop to have fluid motion.

One common mistake with looping animation is to have the first and last frames share the same values. You want the frame after the last to be the same as the first.

Another cause for pauses in looping animation is to have bezier curves to ease in and out of the first/last frames. Using linear interpolation gives you a constant speed that matches the surrounding frames. Select the keys in the graph editor or dope sheet and press T to change the type.

Two cubes with the same rotation values keyed on the same frames, the red one uses linear interpolation while the blue one uses bezier.


Convert Cycles Hair Particle System to Mesh Object

I had the same issue converting hair particle into mesh, then trying to bake it in a low-poly model to use in a game engine. I found that there's no one-click solution built into the Blender, so here's my work-around:

Convert the particle into edge loops (click "convert" button in the modifier stack)
Convert the edge loops into bezier curves (select the edge loops and hit AltC)
Make them solid and shape them up using bevel and taper objects (Properties Panel > Object Data > Geometry)
Finally convert them back into mesh object (select the object and AltC)

You need to do quite a few steps in this workflow but it yields more control over final shapes.


"Default displacement = 0, consider adjusting" Error when applying materials

I'm new at this too, I had the same issue today and I spent 30 minutes figuring out what's going on. I see you're using the Poliigon nodes too.

No matter how much I tweaked the actual Displacement node, nothing was displaced.
I only saw the sliders under 2 after half an hour, displacement was visible after moving the Displacement Strength to something else than 0, see my rendered view in the screenshot.

However, I see you don't actually have those sliders in your material custom block. Does your texture have a displacement map in it's folder? Maybe you didn't include it in your download?


Maybe you have enabled Scene World in the Shading options for the Viewport. In this case there is only an HDRI Preview when you actually use an HDRI in your world settings. If you disable Scene World, the Viewport shows a default HDRI. If this option is always there by default when opening a new scene, you have saved it to your startup file. To change it, when you're opening a new default scene, change the viewport option, then go to File > Defaults > Save Startup File.


When you mirror, the vertices you create will be created on the other side of the axis, with the object origin as center. If you choose the X axis and create some vertices on the +X side, they will be mirrored on the -X side, but if you create vertices on the -X side, they will be mirrored on the +X side as well. To avoid any trespassing you can enable the Clipping option, that way you'll make sure that if you move a vertex close to the axis plan, it won't trespass on the other side, but it won't delete the vertices that are already on the other side, like what's happening in your case.
As for your second question, the mirroring currently happens on the X axis while you've selected the Y axis, but actually the Mirror modifier takes the local orientation into account, not the global orientation. You must have rotated your object in Object mode, so its local orientation is not aligned with the global anymore. What you can do is apply the rotation of your object in Object mode (CtrlA > Rotation), then choose X in the Mirror modifier.


Realistic rendering of mesh together with image?

What would make the CG imagery feel integrated with the environment depicted in an image? Realistic and photorealistic are complicated and nuanced...
Let's start with the most important concept:
There is no shortcut or magic button in blender for "realism".
Uff... now that we've gotten that out of the way, on to some ideas where to start.
You can achieve extremely convincing results if you are willing to put a lot of hours into learning about imagery, light, materials, surfaces and how those work and interact with each other in the real world, and in the virtual CGI generated ones. The more effort you put into understanding the concepts listed above and the specifics of color representation in digital images, the easier and more rewarding it will be to create "realistic" renders.

Camera settings:
Camera height, rotation and lens (field of view) have to match those of the original camera used to take the picture (or video), as close as possible. Wrong perspective will break the illusion of the CG object being part of the image.
Having the correct information for the sensor size and lens will also help you determine the correct depth of field for the virtual camera in the 3D environment.
If the image used as background has the camera model and lens used as part of the EXIF tag, then you can use those values.
If you don't have access to such information you'll have to estimate it. See this post how do I align my grid to backfround footage? and How can I recreate geometry using a photograph? and Lens specs of smartphones for camera tracking in Blender for some ideas.
Materials:
Use Shaders and Textures that resemble those of the real world. Research the Albedo (reflectance) values of the materials and make those be the "color" of your shaders.
Materials in CG tend to be too perfect, objects in the real world always have imperfections and irregularities, like scratches, nicks, bumps or dirt. Paying special attention to those imperfections will make images seem more real. There are numerous ways to create scratches and dirt maps, along with bump and displacement maps to create cracks and dents.
You might also want to research the use of PBR shaders(Physically Based Rendering). Starting with version 2.79 cycles there is a Principled BSDF shader that allows for the creation of very realistic materials.
Light:
The complexity of the lighting of the environment you want to recreate has to be taken into account. You have to study the image carefully and understand where the main illumination is coming from and how the light is interacting with the objects. You can recreate it like they do in movie studios, by careful placement of lights with different characteristics (ie: big sources for the sky, smaller sources to have defined shadows and colors, etc) The hardest part is re-creating all of the many ways in which light reflects on to the environment and interacts with objects on the scene. In your example you would have a lot of green on the scene filtering trough and reflecting on the leaves on the trees, but you would also have a lot of reddish light reflected from the the ground. Plus some parts of the object would be lit more directly from the direct sunlight an others from light in the blue sky than others, and there will be many different intensities on the shadows depending on the size of the trees and the density of the foliage.
One way (but certainly not the only) to deal with complex lighting like the one on your example, is to use a High Dynamic Range image as environment for the scene. Ideally the HDR image would have been taken on the same place and is made of several exposures blended together. The idea behind using an image as environment is that every pixel of such image becomes an emitter and contributes to the overall lighting and coloring of the scene. Think of it as a big sphere that has the image of the surroundings mapped on to it, and that uses the light values of the original scene.
Additional geometry
Create additional objects that will interact with those objects being added. If your object is reflective, the reflection of other objects has to come from somewhere. Shadows that are cast on the object itself have to come from the occlusion of the light by other objects. Likewise the shadow of the object has to be projected on some geometry, like the ground in this case
Those new objects can be also invisible geometry (like the ground for example) if you use what is called a "Shadow Catcher", that will only generate the shadows to be composited on top of the background image.
Adding elements that belong in the environment will also help to make the integration more convincing. Things that interact with the object: dead leafs on top, random dust and debris, parts of the image occluding the object or the background image (like if you want the objects to feel that they are behind a tree for example), signs of moisture or mold, etc. If the object is glossy it should also reflect parts of the background. Use masks to create elements that are supposed to be in front of your objects
Rendering
The image used in the background is already compressed to deal with light in a non-linear way. The CG elements are created using linear light values, and have to be transformed to match the characteristics of the image on the backgound. You can use color correction tools like the ASC-CDL node to make the image feel more integrated with the background.
Using the Filmic-Blender set of curves for color management will make it easier to have an image that resembles the way cameras deal light in the real world. I strongly recommend reading through @troy_s ' post to get more details on the concepts of photorealism and color transformations.
Compositing
If you care for quality, you will discover very soon that most imagery in compressed formats (like jpg and most video shot with lots of compression) creates endless problems and is unsuitable for this kind of tasks. Try to work with high quality originals with little or no compression, high dynamic range and a high bit depth (images in 16bit or 32 bit float will give you more information and will lessen artifacts and images that use linear information as opposed to "gamma" corrected will be easier to integrate)
It is unlikely that you will get an image that is ready to be composited over a background convincingly using a single pass, so you need to be willing to learn how to modify alpha channels and use different passes like occlusion, indirect rays, reflections. On top of that sometimes you need several masks for solid objects and those that have semitransparent or blurry edges.
Other considerations for compositing are the characteristics of the image used in the background. CGI imagery should try to have the same overall noise structure flares and other imperfections as the original, like Adding some lens distortion and chromatic aberration. The goal is to match the quality and defects and peculiarities of the original image as close as possible.

Here's a very rough idea of a scene lit with an HDR as Environment texture:

Long story short: this is too large a topic to discuss on a single post, and there are plenty of resources out there, endless websites on VFX, books, magazines and rivers of ink devoted to what seems like a simple task.
A vast topic but endless source of fun and creative obsession... Good luck!


How can I get position and type of Handle in bezier curve?

based on bezier spline point documentation and this useful blog
you can get the position of handle by handle_left and handle_right
Handl positions
handle_left
handle_right
you can get handle type by handle_left_type and handle_right_type
Handle types
 enum in [‘FREE’, ‘VECTOR’, ‘ALIGNED’, ‘AUTO’], default ‘FREE’

so you can get them easily
import bpy

# Type of the first handle
print(bpy.data.curves['BezierCurve'].splines[0].bezier_points[0].handle_left_type)

# Type of the second handle
print(bpy.data.curves['BezierCurve'].splines[0].bezier_points[0].handle_right_type)

# Coordinates of the first handle
print(bpy.data.curves['BezierCurve'].splines[0].bezier_points[0].handle_left)

# Coordinates of the second handle
print(bpy.data.curves['BezierCurve'].splines[0].bezier_points[0].handle_right)


Can someone explain PTEX mapping and how to use it in Blender?

You can not use it in Blender with Cycles neither internal, it is not supported yet.  Also you can not show them in viewport in Blender. Renderman supports it as PTEX is Disney product.

A Ptex file is an image file format, it isn't a purely 2d file format, but contains 2d pixel information on a face by face basis for a 3d model. So you can use it to avoid UV mapping. In nutshell it stores texture for every face.

It has some disadvantages though. Some of them are:

Some things are just easier to paint in 2d.
No photoshop support. Photoshop is the most common tool for painting textures in the industry, but it does not allow you to paint on Ptex files.
Changing the geometry of the model (like adding or deleting faces or edges) requires you to bake the Ptex file from the old geometry to your new geometry with possible quality loss. This is a solvable problem, Mudbox for example has the ability to transfer ptex from one model to another. But it is an extra step you have to worry about.
Ptex files are generally associated with their corresponding object by name, so Hand01.ptx is assigned to the 3d object in your scene called Hand01. So if you rename your model, you also need to rename its corresponding Ptex file.
Again, since ptex are associated to their object by object name, if you have 200 objects that need an identical color map, its easier to do that using uvs than to create and maintain 200 identical ptex files that are named for each object.

I think that industry will still keep UV especially with UDIM support before PTEX.


My background plane disappear when I use game engine

The problem was that the plane was upside down :)