Is it possible to mimic the 'pin' operation in only one axis

Yes, this is possible - in a limited way - using 'sewing springs'.

When you create a mesh for a cloth simulation, any 'faces' act as cloth but any edges (without faces) are considered 'sewing springs'. These are edges that connect two vertices that can be 'constricted' by applying a force to draw those vertices together. The idea being that you could create a garment in multiple parts and then use the springs to effectively sew the pieces together around your model.

One useful feature of these 'sewing springs' is that they resist being stretched beyond their original length and we can use this to our advantage.

To demonstrate... starting with a cylinder, in Edit mode, remove the top and bottom faces and use the 'Loop Cut and Slide' tool to subdivide the edges. Select all the vertices at the top edge. You should now have something like the following :

Extrude the selected edges upwards (EZ1Enter). Now remove the faces from the extruded region (select those faces then press X and choose 'Only Faces'. Select the top 'rim' and press Alt+M and choose 'At centre' to merge them to a single point. You should now have something like this :

Add the top vertex to a new vertex group named 'Pin' and set up your cloth sim to enable Pinning, pinned to the new group 'Pin'.

Running the simulation should now result in the 'edges' remaining at a fixed length, thereby preventing the rest of the mesh from falling. The 'cloth will still fall a small distance but this will now depend on the radius formed by the length of the 'edges' - the longer the edges, the less the cloth will 'fall' - therefore, move the 'pinned' vertex further above the cloth (in Edit mode). You should now have something like the following :

Note that this can interfere with Self Collision, causing strange results. This can be overcome by setting the 'pinned' vertex and the connected top row to an additional Vertex Group and use that in the Self Collision settings to exclude those vertices.

Obviously, due to the nature of the pinning and sewing springs this technique will only work when pinning against the direction of gravity.


Cant change objects' property - Writing to ID classes in this context is not allowed. location: :-1

Draw Def using only for UI.
I had to add "update" in DD menu props that call a function in case value was changed
def common_update(self, context, origin):
    if origin == 'my_enum':
        print('button_one', getattr(self, origin))
        # bpy.data.objects["Macbook_Gold"]["00_iSight Camera Indicator"] = getattr(self, origin)

class MyProperties(bpy.types.PropertyGroup):
my_enum : bpy.props.EnumProperty(
    update=lambda self, context: common_update(self, context, 'my_enum'), #<------------
    name= "",
    description= "sample text",
    items= [('OP0', "Ничего", ""),
            ('OP1', "Квадрат", ""),
            ('OP2', "Двенадцатигранник", "")
    ]
)


blender 2.91.2 bevel node doesn't work properly

You need to lower the radius in the bevel node.
If your cube is 2 units wide and the bevel radius is 1 m, it means the normals are interpolated right to the middle of each face, generating artifacts. Try the default (0.05).
Examples of the effect of the radius field :


Does Blender no longer support Make Human file format?

The MHX1 format is extremely old and has been deprecated (in favor of MHX2) for many years. MHX1 should not be used, and no modern version of MakeHuman supports it.

Contrary to MHX1, MHX2 is an add-on that needs to be installed. It is not bundled with Blender.

How to get MHX2 support is answered in a MakeHuman FAQ, see http://www.makehumancommunity.org/wiki/FAQ:What_happened_to_the_MHX_export_in_MH_1.1.x_and_later%3F

Quick summary:

In a Blender + MakeHuman 1.1.x setup, you need to install MHX2 from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/overview
In a Blender + MakeHuman 1.2.x (currently in alpha) setup, both the MH side and Blender side of MHX2 are shipped with the MakeHuman zip.


.blend1, .blend2,... are the auto-backup versions of your last saved file (see in user preferences/File "save versions"). .blend is the current version.


How to check in a "for" cycle if an object is linked (User

Object.data.users returns the number of data-block users. Proof using the Console:

>>> for ob in bpy.context.scene.objects:
...     print ("Object name:", ob.name, "- Users:", ob.data.users)

Object name: Cube - Users: 1
Object name: Light - Users: 1
Object name: Camera - Users: 1


Blender does not allow vertices or edges to be colored. However, you can color individual faces.
While in edit mode, the material tab of the properties editor has an option to add the currently selected material to the currently selected faces.


This is an old question, but in case anyone else has this issue in the future:
Loop select with alt+click will choose which loop to select based on which edge the cursor is closest to.
To select smaller slices, hover the cursor over the shorter edges of the faces when selecting.


Adaptive units will be displayed as different units depending on the size of the values automatically. For example if you enter 1000m to any length input field, the value will be shown as 1 km, however smaller values will be shown as smaller units like meters or centimeters and so on:

This is exactly the same behavior as in previous versions.

The new functionality in Blender 2.80 is that units can be set to one specific fixed unit and then all values will be shown as that specific unit so for example even if you enter 1km to some length input field it will show as 100000cm if you have the units set to cm:


Automatically inherit an imported video's encoding

Currently there is no way to do this. However you would be able to do this via python.

I dont think the ffmpeg libraries (which is what blender uses to read and write video and audio files) have python bindings included with blender.

To write a python script to do this, you will need to use another python library, such as pipeffmpeg


It's not that bad I think? But if you want to see motion over time, use the graph editor. Here you can see how transformation happens over time. The more vertical the curve is, the more rapidly the change are. If the curve delta (change over time) differs, the movement may appear jerky.

In the screenshot below I have circles a jerky translation.


How to paste the keyframes of one animation at the end of another

tap on your second action to select

2.) tap G and move it with the mouse to the right

3.) repeat steps 1-2 with all other animations you want to move


You have an object that is hidden in the viewport but not in render, so make it invisible in render too:


Setting Up Smoke Domain Material in Cycles

To convert a BI fire simulation volume shader to cycles, you don't need to change the simulation itself (domain physics settings). Just change the engine from BI to Cycles. Then Change the domain material to nodes, using the same color ramp (position, hue, saturation, value, alpha) for color. I doubled the emission (5 in BI, 10 in cycles). Don't forget to convert the light to nodes (there is a point light that has an effect on smoke)

This is the fire+smoke cycles material, with some tweaks (frame 81).

The B&W flame color ramp uses the alpha from color as value.
The "density" is used for smoke density (voxel data) and "flame" for fire density.
The color attribute is not used here (white volume shaders) because the simulation uses only 1 smoke color. This attribute controls the smoke color and is useful when you have 2 or more smoke emitters with different color to get the color mix in the simulation.

Here is the .blend file :


Blender cycles - Diffuse + transparent map in one material

The last node, that you need to plug into material output is a Mix node, that mix your material node(diffuse, principled ets) and transparent node using mask:

Full setup:

Next you can plug more complex material instead just diffuse node. For example, principled, just keep mix with transparent node at the end:


Why does Blender slow down when I duplicate a model repeatedly?

Blender's viewport is a more or less simplified 2D representation of what your 3D scene looks like from a certain point of view.

This representation needs to get updated in real-time (if possible) if you rotate a scene and that update needs to be calculated by your GPU as well as your CPU.

As Shubol3D already hinted, duplicating a model also duplicates geometry. Even further, if you have assigned materials and modifiers, they get duplicated as well.

Mathematically every vertex in your scene is described by three vectors, x,y and z. But there is more data behind a vertex than just the geometrical coordinates. Color and light values are only two of them. Imagine a long list of those values in a spread sheet. The more geometry, the longer the spread sheet, the more time it takes for your hardware to update the information that needs to be changed to display your scene.

If this explanation answers your question, please mark it as "accepted".


Properties updates and handlers

Added a scene pointer property (x_camera for want of a better
name) which points to a blender object type. The poll method lets it
be narrowed down to those of type 'CAMERA'
Scene.x_camera has an update method for when this object is changed
and changes scene camera to match.
Added the property to the UI in the scene panel. The benefit of this
approach is the user can choose a camera, and run code based on this
choice.
Next added a simple getter boolean property, cam_change that is
false when  our pointer property camera is not the scene camera
To handle other ways the active camera is set, eg keystrokes, or
markers, a handler is used. The scene update pre handler ticks over a
lot. Another boolean could be utilized to turn the handler on or off.

Test code below. Added a couple of convenience methods to uncomment and remove handlers and panel draw_methods.

import bpy
from bpy.props import PointerProperty, BoolProperty

def cam_changed(self):
    return self.x_camera is not self.camera

def cam_update(self, context):
    if self.cam_changed:
        self.camera = self.x_camera
        print("UI UPDATE")
    else:
        print("HANDER UPDATE")

def cam_update_handler(scene):
    if scene.cam_changed:
        scene.x_camera = scene.camera

def cam_poll(self, object):
    return object.type == 'CAMERA'

bpy.types.Scene.x_camera = PointerProperty(
        type=bpy.types.Object,
        update=cam_update,
        poll=cam_poll,
        )

bpy.types.Scene.cam_changed = BoolProperty(
        get=cam_changed
        )

def cam_draw(self, context):
    layout = self.layout
    scene = context.scene
    row = layout.row()
    row.alert = scene.cam_changed
    row.prop(scene, "x_camera")

bpy.types.SCENE_PT_scene.prepend(cam_draw)

# handler

bpy.app.handlers.scene_update_pre.append(cam_update_handler)

def remove_handlers(prefix, handler):
    handlers = getattr(bpy.app.handlers, handler, [])
    remove = (h for h in handers
            if h.__name__.startswith(prefix))
    for h in remove:
        handlers.remove(h)

#emove_handlers("cam_", "scene_update_pre")

def remove_draw_funcs(prefix, panel):
    funcs = getattr(panel.draw, "_draw_funcs", [])
    remove = (f for f in funcs
            if f.__name__.startswith(prefix))
    for f in remove:
        panel.remove(f)

#remove_draw_funcs("cam_", bpy.types.SCENE_PT_scene)


Invisible Plane Lines In Top View Outside Of Edit Mode

Nevermind, just realized I could view them in wireframe view.  Please disregard.


You could use the Skin Modifier. After adding it to the object, it might appear fat and blobby, so to adjust the thickness you can Tab into Edit mode and use CtrlA to affect the thickness.

Another way is to just fill in the faces of your model and make use of the Wireframe modifier.


Can ultra-low-res textures cause problems while rendering?

Yes, having a low res texture can cause issues, but they can be prevented. Here is an example:
This is the texture I will be using in the example, which is 16x16 pixels:

If we import this into Blender we notice that the pixels are all smoothed and the detail is completely lost. This is because the interpolation is set to Linear, which will fade from the color of one vertex to the next using a linear gradient:

Switching this to Closest brings back all the detail and makes the image remain sharp:

In your particular example, as long as this is enabled, you can go down to a 1 pixel size without any issues.


Here's your retopologized mesh.

I'll show you the alternative method to Bsurfaces based retopology. Add a single vertex, enable a snap tool and change a snap element type to Face. Snap the vertex to the mesh and keep extruding it (E) to form a very rough head basemesh. Now make a basemesh model of a body (model it the same way as head). Add a cirle with 8 vertices and keep extruding it to form a tail. Join a body with a head (match the number of vertices and use Bridge tool to join them). When finished delete one half of a mesh and give it a Mirror Modifier.

Use loopcuts (Ctrl+R) to add more geometry to your mesh. Select newly added vertices and snap them to the mesh again. Correct the geometry moving vertices in proper direction. Repeat the process until you get a desired density of a geometry. Use proportional editing if needed. Think of the edge flow. Change it if needed.

Using this method I achieved the final geometry, which I polished a bit (relocated some vertices to smooth the shape and changed the edge flow).

Remember, that you can easily check the errors in geometry (like tris or ngons) using a MeshLint addon (you can download it here: https://github.com/rking/meshlint). After installing it, select the whole mesh (A) and press Select Lint button to display the errors.

TIP: Next time try to start modeling with a very simple mesh. Add a Cube and give it a Subsurf Modifier with subdivision level 1. Apply the modifier, then select one half of a mesh and delete it. Give it a Mirror Modifier and keep extruding vertices until you create a very rough character basemesh (I included it to the .blend file). While modeling try to add as little loopcuts as posible to define the shapes. I guess the biggest mistake you made with your model is you subdivided it too much too early so it lost the proper shape.

Here's the .blend:


Why has my camera button/icon disappeared?

Gizmos visibility
You have somehow disabled the gizmos visibility, you can simply re-enable it by pressing the button in the bar:


Blender won't correctly load the texture file (png image) in my custom startup file. Why?

Thanks you Jachym Michal for your comment, you helped me solve this.
To solve my problem I:

Loaded the .blend file that has what I want to load at startup.
File -> External Data -> Pack All Into .blend

Upon opening Blender it now displays my image correctly. :)


All UV info is collapsed into a single point

It's quite common to have 2 UV maps (or UV channels) on the same object, one for the texture maps (the one you show in your question is for the color map), and one for the lightmap.

When importing the model into UE, check the box "Generate Lightmap UV" and UE will create this second UV for you.

If you want to have more control on this map, you can create it manually into Blender :

In Object Data/UVMaps, hit the + button to create a New UVMap, and name it something like "Lightmap UV".
Make sure it is selected, then do your unwrapping as usual. Make sure no face is overlapping another, it's really important for a lightmap. The "Lightmap Pack" unwrap method give nice results (feel free to bump up the "Margin" parameter, it's quite low by default).
Import your model without checking "Generate Lightmap UV". Then refer to UE documentation to assign the correct UV channel to the lightmap : https://docs.unrealengine.com/en-US/Engine/Content/Types/StaticMeshes/LightmapUnwrapping/index.html


How to use view_center_camera for fitting camera to 3D view?

This code works in 2.80:
import bpy

def find_3d_area():
    for area in bpy.context.window.screen.areas:
        if area.type == 'VIEW_3D':
            return area

area = find_3d_area()
if area:
    override = {
        'area': area,
        'region': area.regions[0],
    }
    if bpy.ops.view3d.view_center_camera.poll(override):
        bpy.ops.view3d.view_center_camera(override)

Blender operators have optional parameter "context". In almost all cases, you don't need to override it, but this case is somewhat special.
In this case, you have to override area and region. I'm not able to explain into the deep why exactly these two keys are needed. It's only the result of my debugging inside C code of Blender, and trial/error in Python.


how to copy drivers to multiple Objects?

I'm going to say there is not yet a quick way to do it.

The closest I can come to accomplishing your mission is this python script (which you can put in a Text Editor panel and use the Run Script button on the right of the toolbar, which means you might need to widen the panel)

Select all your objects, and select the source object last (so it is the active object), then click Run Script.

import bpy
import sys

def copyDriver(src, tgt):
    if tgt.animation_data is None:
        tgt.animation_data_create()
    print(tgt)
    if False:# or isArrayPath(src.data_path):
        d2 = tgt.driver_add(src.data_path, src.array_index)
    else:
        d2 = tgt.driver_add(src.data_path)

    d2.driver.expression = src.driver.expression
    for v1 in src.driver.variables:
        copyVariable(v1, d2.driver)

def copyVariable(src, tgt):
    v2 = tgt.variables.new()
    v2.type = src.type
    v2.name = src.name
    try:
        v2.targets[0].data_path = src.targets[0].data_path
        v2.targets[0].id_type = src.targets[0].id_type
        v2.targets[0].id = src.targets[0].id
    except:
        print("dang, %s %s"%(src.targets[0].id, sys.exc_info()[0]) )

def isArrayPath(path):
    return path == 'location' or path == "dimensions" or path == "rotation"

print ( isArrayPath("location") )
print ( isArrayPath("text_box[0].x") )

scn = bpy.context.scene

src = bpy.context.active_object

for obj in scn.objects:
    if (obj==src):
        continue
    if obj.select:
        print("object")
        if not src.animation_data is None:
            for dr in src.animation_data.drivers:
                copyDriver(dr, obj)
        print("data")
        if not src.data.animation_data is None:
            for dr in src.data.animation_data.drivers:
                copyDriver(dr, obj.data)

I have tested this only partially.  I did not even attempt to copy modifiers.  I'm sure there are some other driver doodads I'm not properly copying.

Anyway, I expect if someone can find a reliable API function to replace my copyDriver() kludge, your life will get a lot easier.

In the mean time, feel free to point out shortcomings and I'll see if I can kludge a way around it.


Weight paint doesn't allow you to paint on vertices that were generated with the multiresolution modifier; it only interpolates the weights for each point based on its neighbors (same as the subsurface modifier). It also won't let you modify the mesh with any modifier besides the armature modifier while you're in the weight painting mode.

A simple solution would be to simply apply the multiresolution modifier. If you'd like to retain the original (low poly) mesh, you could create a duplicate of that mesh, hide it, and apply the multiresolution modifier on the duplicate mesh.


Start modal operator from a click in panel

Use the screen.
Edited Code from https://blender.stackexchange.com/a/101894/15543
Creates a modal timer operator which is invoked from the script. (Invoke is equiv of pressing button.)
While the modal timer below is running removes right click support from all areas that are not text editors nor 3d views.
Instead of using context.space_data find the space from its coordinates in the screens areas collection.
import bpy

class ModalTimerOperator(bpy.types.Operator):
    """Operator which runs its self from a timer"""
    bl_idname = "wm.modal_timer_operator"
    bl_label = "Modal Timer Operator"

    _timer = None

    def modal(self, context, event):
        if event.type in {'RIGHTMOUSE'}:
            screen = context.screen
            x, y = event.mouse_x, event.mouse_y

            areas = [a for a in screen.areas if a.x < x < a.x + a.width
                    and a.y < y < a.y + a.height]

            if areas and areas[0].type not in {'VIEW_3D', 'TEXT_EDITOR'}:
                print("Right Click Taken Out")
                return {'RUNNING_MODAL'}

        if event.type in {'ESC'}:
            self.cancel(context)
            return {'CANCELLED'}

        if event.type == 'TIMER':
            # change theme color, silly!
            pass
        return {'PASS_THROUGH'}

    def execute(self, context):
        wm = context.window_manager
        self._timer = wm.event_timer_add(0.1, window=context.window)
        wm.modal_handler_add(self)
        return {'RUNNING_MODAL'}

    def cancel(self, context):
        wm = context.window_manager
        wm.event_timer_remove(self._timer)

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

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

if __name__ == "__main__":
    register()
    # test call
    bpy.ops.wm.modal_timer_operator('INVOKE_DEFAULT')

The above is from modal timer template, will work same as a modal.
def execute(self, context):
    wm = context.window_manager
    #self._timer = wm.event_timer_add(0.1, window=context.window)
    #wm.modal_handler_add(self)
    wm.modal_handler_add(self)
    return {'RUNNING_MODAL'}

def cancel(self, context):
    wm = context.window_manager
    #wm.event_timer_remove(self._timer)

Override the context.
To run an operator with different context members, override the context. For example modify above to give the usual suspect override dictionary of area, space_data, and region
As an example, edit for above to clear the console if right clicked. Notice the override has passed the poll test of the bpy.ops.console.clear() operator.
def override(self, context, event):
    screen = context.screen
    x, y = event.mouse_x, event.mouse_y

    areas = [a for a in screen.areas if a.x < x < a.x + a.width
            and a.y < y < a.y + a.height]
    if areas:
        return {
                "area" : areas[0],
                "space_data" : areas[0].spaces.active,
                "region": areas[0].regions[-1],
                }
    return {}

def modal(self, context, event):
    if event.type in {'RIGHTMOUSE'}:
        override = self.override(context,  event)
        if bpy.ops.console.clear.poll(override):
            bpy.ops.console.clear(override)
            return {'RUNNING_MODAL'}


You can use the 'from_pydata(...)' function to create a mesh. This function accepts a list of vertices, a list of edges, and a list of faces.

The vertices should be formatted as a list of X,Y,Z triplets (defining each coordinate in space) while the 'edges' and 'faces' define which of those vertices are linked (by specifying the index in the list of vertices (with 0 being the first in the list, 1 the second, etc.)). Edges can be empty if you are defining just the Faces and similarly Faces can be empty if you are defining just the Edges).

To illustrate, the following example will create a new object (a skewed pyramid) with 4 vertices and 4 faces :

    import bpy

    bpy.ops.object.add(type='MESH', enter_editmode=False, location=(0,0,0))
    o = bpy.context.object
    o.name = 'myobject'
    o.data.from_pydata([(0,0,0),(1,0,0),(0,1,0),(0,0,1)],[],[(0,1,2),(0,1,3),(1,2,3),(0,2,3)])
    o.data.update()

The first argument to from_pydata ("[(0,0,0),(1,0,0),(0,1,0),(0,0,1)]") defines the 4 vertices in space while the last one ("[(0,1,2),(0,1,3),(1,2,3),(0,2,3)]") defines the faces (ie, the first one being between vertex 0, vertex 1 and vertex 2).

For your particular case you should be able to use your raw data to generate a set of vertices and then use the Edges argument to define the Edge between those vertices (ie, 0 to 1, 1 to 2, 2 to 3, etc. along the chain - ie, "[(0,1),(1,2),(2,3),...etc..."). Once created as edges you could then simply add a Skin modifier to convert it into a solid mesh.

See http://blenderscripting.blogspot.co.uk/2011/06/using-frompydata.html and https://wiki.blender.org/index.php/Dev:Py/Scripts/Cookbook/Code_snippets/Three_ways_to_create_objects for some further examples.


Camera rotates on Z angle (rolls) during following spline

You've got at least two options to control the roll of your camera as it follows the path.

Any curve has not only a longitudinal direction, but also a twist, interpolated between its control points. You can see it  by looking at the changing plane of the arrows which constitute the curve's Normal display. In edit mode, you can modify the twist by selecting control points, and after hitting CtrlT, winding the mouse around the selection. The camera will follow the twist.
For better and perhaps more intuitive control of the roll of your camera between control points, you can create an empty, and assign a 'Locked Track' constraint to the camera, with Y as the direction, and the empty as the target.
The empty then becomes a handle for the up direction of the camera,(which now ignores the twist of the path). How you control the empty is up to you.You can animate it, leave it stationary a long way off, make it follow the path too, so it's always easy to reach... all sorts.


Create and preview texture in Blender 2.80b?

The workflow of creating materials & textures is different for each render engine.
The tutorial you are trying to follow explains Blender Internal renderer workflow, it is fast and easy, but this renderer is no longer supported in Blender 2.8, so this method is no more applicable.

This means - if you want to learn how to create materials and texture your models in 2.8, you have to watch tutorials focused on 2.8 and it's supported renderers (Cycles / Eevee).


Show addon in Tool Shelf - simple newbie question

The screenshot you show with the missing tab is from the node editor, the tab and panel for the addon is only located in the 3dview toolbar.

You need to switch to the 3dview to access the addon.


Problem mixing a scene with video clips in the VSE

The main output of Blender is the 3D window, after that you must activate the Compositor to apply effects (like color grade or blur) by checking the Compositor box in the Scene Properties panel. Then you can bring that compositor output (or the 3D scene) into the VSE for editing with other footage (as you have done). But for this render engine to work you must check the Sequencer (as in Video Sequence Editor) box.

Note that you can check either or both the Compositor or the Sequencer box, depending on what functions you want.

If you only want to edit video clips or pre-rendered animations, then you MUST check the Sequencer box, otherwise the VSE output will not be rendered. In fact all you will see is what is present in the 3D view.


Does running a python script via Blender command line not actually do anything?

David above solved it.   When manipulating a .blend file with a python script, that script must contain the following line at the end of the run in order to save the file:

bpy.ops.wm.save_as_mainfile(filepath=savepath)

Obviously insert your filepath/filename in the "filepath" variable. Thanks!


First you haven't assigned your material to your walls, so, in Edit mode, select the walls, then select your brick material in the material list, and click Assign.

Now you still can't see bricks because your current material is not good.

You've plugged your Brick Texture node in the Factor of a Mix Shader, it could work like that but:

It's not the colors that will be taken into account in the Factor of your Mix Shader socket but the values, the more your color will be white the more it will let the bottom node of your mixed nodes prevail, that's why in general we plug only black, white and grey values in this socket. In your case your values are too close, so maybe only use black and white to make it clear and simple.

Beside that, in your Mix Shader sockets, you've plugged 2 Principled BSDF node that have pretty close Base Colors, so it won't allow you to see any brick precisely, maybe choose more distinct reds.

At the end it could give something like that:


Track simulation jittering & Instability

Decreased the solver iterations from 100 to 50. Eliminated the issue.


Select vertices by their indices (by vertex id)

I have modified the code from this answer to solve the problem, where I have replaced  if vert.index == index: to if vert.index in indices: where indices= [1, 2, ...]

example :

import bpy
import bmesh

indices = [1, 3, 4, 7, 8]

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

vertices= [e for e in bm.verts]
oa = bpy.context.active_object

for vert in vertices:
    if vert.index in indices:
        vert.select = True
    else:
        vert.select = False

bmesh.update_edit_mesh(me, True)


The length of rigid body simulations depends on the Cache.
In the Scene Properties > Rigid Body World open the controls for cache and set the start and end to suit your needs.


Might be a quaternion rotation issue.... if your bone is performing a full rotation at some point you will find it had to make a reverse rotation to get back to where it started..   try a different rotation method..  Unfortunately it means you might have to start animating from scratch


Blender - Fisheye ( Panoramic camera not available in freestyle?)

You can not yet render a panoramic shot using the freestyle setting.

You must uncheck freestyle.

You can then try disabling panoramic view. (if you do not need it)

select your camera
switch from panoramic to perspective


I got it to work today after restarting my PC. I don't know why it was being an issue, probably something to do with my poor satellite connection.


My friend suggested I check if the finger end was connected to any other bone, it was also connected to the middle part of the finger. Fixed that, and now it works fine.


How to get a material to keep the transparent border from it's texture

Here I have added a Color/Invert Node to swap the Black/White of your texture before feeding it into the Color of the Mix Shader

On the left is with the Invert node and on the right without. Showing what is and what is not being transparent.

and the final result.

FYI For more control plug the Alpha into the Factor on the Invert Node and then change the colour.


Cycles Rendering Engine is only rendering a black screen

Your ground object is set to be hidden for render.
To fix this, open an outliner window:

then click the greyed camera icon.


After the spline is extruded as you have it above, you choose (in object mode) Object>Convert to>Mesh:

Then fill in the faces (choose vertices and hit F):


I have had this exact problem with other addons, namely the add mesh rocks, and cg cookies' poly strips.

The problem comes from the name of the directory you created in the addon folder. For your case the folder needs to be named exactly add_mesh_siding_utils. If you rename the folder the addon will work.
This is why, blender is trying to import everything from the addon (this line in the error message.)
from add_mesh_siding_utils import *

Blender is looking for a directory called add_mesh_siding_utils; the directory name is the module name.


Constraints for attaching planar object to multiple poles

I'm not sure about your constraints, but this might be a solution?

Hook each plane corner to an empty (select the vertex and ctrlH > Hook to New Object).
Create your 4 poles (here I've created one cylinder pole).
Parent each empty to your pole.
Move your pole, the corner will follow.
Give your poles some Limit Location constraints if you don't want them to move on the Z axis or if you want to limit them on a certain X or Y area.


Cannot modify UV texture in the UV editor

To manipulate UV on the image you need to:

Unwrap your model.
Copy image name from texture node by Ctrl+C.
Find it in dropdown menu of image area.


Scaling a Cylinder scales other layers too?

You have proportional editing turned on. When both objects are within the influence radius, (the white circle around your mouse) the objects will be affected. Pressing O (the letter O, not zero) toggles this on or off.


Data transfer to a mesh with different topology

I was able to get a uv transfer using the the Data Transfer Modifier.
Select object to transfer the UVs to, add the Data Transfer Modifier
In the source parameter select the model to get the uvs from, check on Face Corner Data.
In Face Corner Data check on UVs. In the mapping parameter select Nearest Face Interpolated.
Also, clicking off the Object Transform button next to the Source parameter is great if your source object has been moved away from your destination object.


Suggestion. Select armature in object mode. Go to  start frame 02. Insert Key frame rotation.  Go to end frame 08. Rotate armature on Z-axis. Insert key frame rotation. Test Animation.
Consider watching a tutorial video on a video website.  There are some really useful introductory tutorials on the web.  Search Blender Tutorial Keyframes.


Why I can't smooth a cylinder right in Blender?

You can use 2 ways, one is to select the specific faces you want to be shaded flat and then go in the Mesh menu, under Shading and select the Flat Faces.

Or you select the object and go in the Object Data Properties under Normals and activate Auto Smooth.

The latter works very well with most objects, but does not give you as much control as the first way.

Auto Smooth demo:

Happy Blending


How to make posed model stay in place in edit mode?

I guess what you want is to enable the On Cage option in the Armature modifier. It has a downside though, if you select a vertex, the Move gizmo won't stick to the vertex pose position but to its rest position. It would make more sense that once you enable On Cage, the gizmo sticks to the vertex pose position.


Finally fixed it
if anyone has this problem, just recreate the bone structure and it should work :)


Yes, this can be done by pressing ⎈ CtrlH:


Texture rendering incorrect on a parcticle in cycles

I got it!

The root of the problem was bad lighting and roughness at 0.2 in BSDF shader...


Is there a way to assign an object to coordinates on the local axis using Python?

Believe this is the answer... although there may be better solutions.

In essence when the local x and y axes are flipped then the matrix looks like this:

>>> cab.matrix_world
Matrix(((-1.0, 1.5099580252808664e-07, 0.0, 0.0),
        (-1.5099580252808664e-07, -1.0, 0.0, -0.12700000405311584),
        (0.0, 0.0, 1.0, 0.0),
        (0.0, 0.0, 0.0, 1.0)))

The key values there being the scale values which represent the flipped axes. So this axis is determined the following way:

matrix = cab.matrix_world
axis = (matrix[0][0], matrix[1][1], matrix[2][2])
axis = (-1, -1, 1)

Then to get the relative local coordinates the scale factor has to be multiplied by the local coordinates:

x = cab.location[0] * axis[0]
y = cab.location[1] * axis[1]
z = cab.location[2] * axis[2]

This gives x,y,z as if the whole coordinate system revolved around the local axis (instead of having local coordinates still being given in relation to a parent). This may only work in cases of the axes being flipped, since other rotations use more of the matrix (haven't got that far yet).

The reason I need this work in terms of location as opposed to translation is due to the fact that I keep an offset slider parameter for the user, which is the distance from the wall. Applying this slider to a translation does not work correctly, while being able to use the local axis with relative distance does.

If there are better solutions to this I'll update/replace this answer. However the answers I could find dealt with using local axes with translation, rotation, etc.


Why are there hexagonal holes in my donut?

I ran into the exact same problem when trying to follow the tutorials. It seems like Andrew unhides some vertices in the icing at one point but forgot to show it.

If you press Alt + H before applying the modifiers, it should work.


It seems handle.relative defaults to True. Setting it to false fixes the lack of attenuation, but to get doppler shifting you must tell audaspace the velocities of the source and listener objects as well:

import bge
import aud

sound = aud.Factory.file(bge.logic.expandPath('//laserfire01_mono.wav'))
scene = bge.logic.getCurrentScene()

def main(cont):
    own = cont.owner

    sound_device = aud.device()
    sound_device.distance_model = aud.AUD_DISTANCE_MODEL_LINEAR
    sound_device.listener_location = scene.objects["player"].worldPosition
    sound_device.listener_velocity = scene.objects["player"].getLinearVelocity()

    sound_handle = sound_device.play(sound)
    sound_handle.relative = False
    sound_handle.location = own.worldPosition
    sound_handle.velocity = own.getLinearVelocity()
    sound_handle.distance_maximum = 100
    sound_handle.distance_reference = 1


What David was asking is, have the lower front legs been assigned different Materials than the rest of the giraffe?

In Edit mode select all of the giraffe, open the Materials menu and select the material that the upper body is using then Hit the Assign button.


That looks to me like you have a few overlapping faces. The give-away is that there's some shimmering (called "z-fighting") going on between unpainted white vertices and the yellow verts.

With Vertex Painting you can limit the faces using a Mask. Any unmasked faces will receive no vertex paint instructions.

This masking mode lets you right click faces to select (mask) them:

then pick your colors (from the left panel),
move mouse close to the vertex you want to color
left click to color.

The vertex paint page in the manual is worth reading for all the options.

Shift+K is great for giving all masked faces the same color instantly. Notice that all masked edges get a faint dotted line around their perimeter.


J only works on faces that already exist, it's basically a shortcut to cut a face between vertices (like the knife tool but just for cutting a face between vertices with a single button press)
You want the F key for this one. It will "fill" an edge between the 2 vertices.
If you want to make a face from 3 or more vertices, select the vertices and hit F to make a face.
F can be used in many different situations, like simply selecting a single edge that has other edges connected to it and boom, instant face. Try it out!


Where are the nightly builds of Blender made available?

The latest builds are still here http://builder.blender.org/download/


How do I move an object on the y axis infinitely

Setting the y location of the object to a multiple of the current frame should do what you want, the object will always move as long as the time is moving forward:

As for the condition, a simple node tree like this can be used:

If you want a smooth rotation, then using such node tree should work:

You said:

  Yeah I could do that but then eventually it would restart all over again as the frames have ended, is there a way to do animations WITHOUT using frames?

The move node can be used, it will move the object each execution no matter what the condition are, so it won't reset.


How to define the diameter to a certain size

Using curve objects in blender you can set the size of the extruded shell that follows the curve and also adjust it along the path as desired.

There are two ways to turn a curve into a tube. For a quick circular bevel, just set the bevel depth and resolution for the curve, you will also want the fill to be set to full. The other way is to use another curve object to define the outer shape of the bevel.

The bevel depth is radius in blender units of the extrusion. If you use a bevel object then the size of the object used will determine the size of the extrusion.

Each point on a curve has a Radius property. At 1.0 the extrusion will match the bevel size set at that point. Other values will reduce or increase the size, so a point having a radius of 0.25 will be 1/4 the size of the main "pipe".

You can find the radius property in the properties sidebar T under Transform while editing a curve. You can also use ⎇ AltS to change the size interactively. A linear falloff is used between each points radius.

So once you set the main size in the bevel size, to adjust the size of specific points you will need to do a little calculation which can be done while entering the value to use. For example if you have the main bevel set to 0.95 and want 0.75 at a given point, in the radius enter .75/.95 and it will calculate the radius of .789 that you want.


Quick assignment of Shortcuts: e.g. Preferences?

I finally remembered, by right clicking on a menu item one is able to assign the shortcut key :)


What is the technical difference between softbody and cloth simulation?

In short, soft bodies are compressible while cloth is not. All other features are the same.

However, this makes a huge difference in computational speed. To better explain this, I will use an extension of the metaphor CharlesL used in his response.

A Cloth Simulation essentially models the object as a bunch of balls (vertices) connected to each other by fixed-length rods. Thus, for computational purposes, the simulation can treat the internal distances between points as a constant, and only has to calculate interaction with other objects.

A Soft Body Simulation, on the other hand, models the object as a bunch of balls (vertices) connected to each other by springs. So now, not only does Blender have to compute the interaction of the object with other objects, but also has to compute its own internal reaction and the spread of force applied at one point across all of those little springs, which is much more complex.

I don't know the exact complexity of the algorithms Blender uses for these simulations, but it's essentially the difference between a linear relationship and a differential equation.


Is it possible to edit the selected text via Python in the text editor?

Here is an example of a script that makes the currently selected piece of text uppercase. So the main thing here is the Text object of the space data which also has some other attributes you can use. The SpaceTextEditor might also have some usefull functions.
import bpy
text = bpy.context.space_data.text
fschar = text.current_character
fsline = text.current_line_index
fechar = text.select_end_character
feline = text.select_end_line_index

# The end and start lines and characters can be switched
# depending on the direction in which the text was selected
schar = min(fschar,fechar)
echar = max(fschar,fechar)
sline = min(fsline,feline)
eline = max(fsline,feline)

original_text = text.as_string()
lines = original_text.split("\n")

for line in range(sline, eline + 1):
    cur_line = lines[line]

    start_char = 0
    end_char = len(cur_line)

    if line == sline:
        start_char = schar

    if line == eline:
        end_char = echar

    # Uppercase the selected part of this line
    new_line = "".join((cur_line[:start_char], cur_line[start_char:end_char].upper(), cur_line[end_char:]))
    lines[line] = new_line

new_text = "\n".join(lines)

text.from_string(new_text)


How should I make a move point of 0.1 instead of free move

You can move an object along its local axes by pressing G, Axis, Amount.
For example GY2

You can an object along it three axis by pressing G, X Amount, ↹ Tab, Y Amount, ↹ Tab, Z Amount.
For example G↹ Tab5↹ Tab3↹ Tab4.

You can move an object perpendicular to the view, by creating a camera (which starts aligned to the view), rotating the camera on the view plane, and moving the object along a cameras axis.

 RMB select the object and snap the cursor to it ⇧ ShiftSCursor to selected.
⇧ ShiftA > Camera, to add a camera.
R to rotate it.
GXX0.5, to move it 0.5 along its local X axis.
⇧ ShiftS > Cursor to selected, to snap the cursor to the camera.
X to delete the camera.
 RMB click to select the object.
⇧ ShiftS > Selection to Cursor


Mirror modifier prevents me from weight painting

i just tried it out - and it worked exactly how i would have expected it: yes, you can just weight paint on the one side, like everything you can do only on the one side of the mirrored object. That's why it's called mirrored....you can also just change the vertices on one side...and so on.
You can apply the mirror modifier (just in object mode):
You don't need to apply the modifier, only if one side should not be mirrored anymore or you wanna change something just on one side.


4 edges are also selected.
Have noticed this too.
Remember that after the bisect as well as the four selected verts, there are 4 selected edges.  Even though you deselect the verts, the edges aren't picking this up, so when re-enter edit mode the verts of the selected edges are selected.
To make sure nothing is selected deselect the lot.
Bmesh has a select flush for this, and now a select_set to validate selection.
How does Blender know which faces and edges to automatically select when doing a multi-vert selection?
PS. A copy of sorts of the mesh is created when entering edit mode, and written back when exiting.. or calling
ob.update_from_editmode()

hence the different memory ref.
EDIT re edit and unaccept.

An answer below says that this is happening because there are edges
selected. And it doesn't happen if I use this same approach to select
edges. However,

which at the time of posting can assume is this answer... test on plane (no geom selected, in OBJECT mode)
>>> ob = C.object
>>> me = ob.data
>>> C.mode
'OBJECT'

if I start from having no components selected

>>> [v.select for v in me.vertices]
[False, False, False, False]

>>> [e.select for e in me.edges]
[False, False, False, False]

then select the same edges

Edge zero by way of example.

>>> me.edges[0].select = True
>>> [e.select for e in me.edges]
[True, False, False, False]

>>> [v.select for v in me.vertices]
[False, False, False, False]

then enter and exit edit mode,

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

>>> C.mode
'EDIT_MESH'

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

>>> C.mode
'OBJECT'

the vertices remain unselected.

>>> [e.select for e in me.edges]
[True, False, False, False]

>>> [v.select for v in me.vertices]
[True, False, True, False]

So it's not just about having the edges selected.

Sure appears to be the case to me.


There is an addon called Property Chart

This addon adds a panel to the properties sidebar that allows you to easily copy settings between items. This addon works in the 3dview as well as the VSE.

By adding mpeg_preseek to the list, the value is then shown for the selected items and by setting the top item to the desired value you can then click the clipboard and have the value copied to all other items. One catch is that you need to set the value in the top item, if the top item doesn't have mpeg_preseek then you can't set it. This only matters as the last item selected when you select all will be on top of the list, having a transform selected first will then stop this working, so be sure to select a movie strip then select all.

A small script could also be used to set them. With a little effort this can be adjusted to add a properties panel with a button to set all strips to the desired value.

import bpy

for seq in bpy.context.scene.sequence_editor.sequences:
    if hasattr(seq, 'mpeg_preseek'):
        seq.mpeg_preseek = 25


Python: Make an Operator update UI after executed

You can use static members (class variables) to store information in the operator.

Here's an example that adds a panel and an operator. The operator increases a class variable to reflect how often it has been called. This number is drawn in a panel in the Scene tab of the Properties Edtior:

import bpy

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

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

        layout.operator(SimpleOperator.bl_idname)
        layout.label(str(SimpleOperator.run))

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    run = 0

    def execute(self, context):
        self.__class__.run += 1
        self.report({'INFO'}, str(self.__class__.run))
        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()


How do I avoid quads appearing as triangles when twisting a mesh?

Method 1
You need to switch to smooth shaded mode with "auto smooth" enabled (auto smooth makes a hard normal on every edge that is greater than the set angle).

Method 2
Another method would be to manually mark the edges as sharp, then use an edge split modifier. First select all the "sharp" edges in edit mode, then hit Ctrl+E --> "Mark Sharp". (Make sure you already clicked Smooth in object mode)

Then add an edge split modifier that splits based on sharp edges.

Note: Hitting Smooth in object and edit mode do different things (you can smooth certain parts of the mesh in edit mode). For this solution, you will want to hit Smooth while in object mode.


What is causing this unexpected shading in 3D view?

There's a few things.

The normals of the faces in those sections are pointing in the opposite direction of the normals around it, but that's not the problem you describe, however it might be a problem later, best deal with it anyway. You can flip selected faces, if 'recalc normals' doesn't quite get all of them.

There seems to be a Vertex Color layer, with specifically those faces coloured. Press the minus on this. That will wipe the vertex colours.

How this happened? Being new to an application it is probable that you accidentally went into vertex paint mode a few times.


Joined objects remain separated in edit mode

if the vertices are close enough , you can Select all the vertices and click x to delete and do by distance , or else if you want to do manual work you can CTRL M to merge pairs of corresponding mesh vertex


How could I transform the vertices of my mesh to appear in Perspective view, as it does in Orthographic view?

This sounds like a job for math, python, and bmesh.  You'll have to have an understanding of the mathematics behind orthographic and perspective projections so that you can compute replacement coordinates for the vertices.

Once you have the formula, you can write python which iterates through the vertices of the mesh and rewrites their coordinates.  Something like this:

obj = bpy.context.active_object
for v in obj.data.vertices:
    v.co = funkify(v.co)


An operator is not a property.

Setting the  toggle behaviour for a Boolean property's layout, changes the markup to a button look, rather than a checkbox As with the checkbox it changes  when setting from True to False or vice versa.

An operator layout is rendered as a button which calls the operator, rather than setting a property.

Code can be attached for  when a boolean property is updated.  See example here https://blender.stackexchange.com/a/147144/15543


Set and display correct Z depth values Blender render

This is the default formatting of Blender's z-buffer, so I'm not sure where you're stuck? Are you trying to get these values into the RGB channels? If so, you can simply copy them like this:

Remember to save this in a linear floating point format (such as OpenEXR). Formats such as PNG will mangle this data, as they are not meant to store depth.

I should probably add, using the Combine RGBA node here isn't strictly necessary, it still works if you connect Z directly the Image output. Using the Combine RGBA just lets you specify each channel explicitly to be on the safe side.


Properties (bpy.props) don't update with keyframes and drivers?

This issue has been brought up to the developers in a bug report https://developer.blender.org/T63793
It is a known limitation.
The reply from Dr Stüvel from the developers team :

The issue is that an object is not "tagged for update" in the
dependency graph when a custom property is changed by Python. "Tagged
for update" means that Blender understands that the object (and
everything that depends on it) should be updated. This is done for a
few reasons:
Tagging the object for update requires a reference to that object.
This is available for simple cases like some_ob["prop"], but not for
nested cases like some_ob["complex_prop"][3]["something"]. Updating
an object could mean recalculating its constraints and modifiers,
which can be expensive. This may not even be necessary for that
particular custom property, but when exactly this is or is not
necessary can be hard to determine. As a result, this could make
Blender slower than necessary.
After setting the custom property, call C.object.update_tag(). This
should take care of the updates not "being seen" by dependencies. It
won't trigger a full redraw of Blender's UI, though, so until that
happens things on screen may still show the old status.

So it might work on bpy.types.Object blender objects, but I don't see how to use it in property groups or in objects which have a number of dependencies.
I found that like you pointed in the comments, the set callback of the custom property is rightfully triggered, but not the update one. This is however a bit limiting since the set callback doesn't carry over the current context which may be necessary to have in the following update logic.


Radeon proRender add-on does not show up in Blender Preferences

Add-ons sometimes do not show up unless it is a zipped/compressed file. If there is another file that came with it, then install that in the add-on preferences. Also make sure that the add-on is for your blender version.


Probably you have a wrong Parent/Child relationship: hair bones should be child of the head bone (keep offset), so that when you move the head the hair follows. Then hair mesh should have no parent, except that of its bones (if some part of the hair should remain still you can weight thoose vertices to the head bone, or create a new hair bone that you'll not move in animation data).


For the sake of completeness on this site, I am extending my comments to an answer.

To view the footage from the motion track in the camera, go into camera view Numpad 0, and then add a new background image. To do this go to the bottom of the properties panel, check background images, add a new one, and then set it to movie clip and select your clip.


speed up rendering a static scene with a moving camera

The answer is yes, but first I would like to explain something.

Cycles is what is called a backwards ray tracing engine.  This means that it sends photons (rays) from the camera instead of from light sources.  It then traces the ray backwards through the scene until it hits a light source or goes off into space, it then figures out what color that pixel should be based on what the ray hit.  You can read more in the Wikipedia article I linked.  But basically the jist is that rendering as normal, since the rays are coming from the camera (which is what is moving), you can't speed up rendering of a static scene.

But, there is a process called texture baking which allows you to tell blender to calculate the photons in the scene and “bake” what each object looks like to a texture, which you then assign to the object as an emission shader.  Then when you render your scene as normal it is only calculating emission shaders which is much faster.

Andrew Price has a very good tutorial on getting started with cycles baking that I recommend you watch.


TL;DR: AltH in the Outliner (thanks @aliasguru).

There are a few ways to hide/show collections in 2.8:

In the Outliner area (by default there's one in the top right), clicking the eye icon toggles visibility of the corresponding collection.
Pressing number-row numbers (123 etc.) will switch to the nth collection (according to the order in the outliner), hiding the others.
Pressing Shift + number will toggle visibility for the nth collection.
There is a collections section in the 3D view > N panel > View tab. This one seems to be the most convenient for toggling visibility on lots of collections quickly, using the click+drag toggle behavior.

Pressing CtrlH in the 3D view brings up a "hide collection" dialog which behaves like like pressing numbers (switches to the clicked collection hiding the others).
As noted previously, pressing AltH in the Outliner unhides all collections.

Also important to note, that the old hide in viewport/hide in render properties still exist on collections and are completely separate from the visibility set by the controls describe above. Controls for those can be found in the right click menu in the outliner, under Visibility:

I'm not really sure why it works this way currently, I wouldn't be surprised if it changes in subsequent releases.


'Knife project' works well here :

Add a plane
Place one of its edges along the middle (at the exact center)
You may work in a ortho view and along the axis (here top ortho)
Stretch it so that it covers your mesh
Select your mesh (keeping the plane selected) and enter edit mode
Hit 'knife project' and make sure the option is 'cut through'
Select the half to remove and add the mirror modifier


Baking multiple objects with seperate maps at once?

Cycles:

Bake Tool offers support for high to low poly baking of multiple objects. Set it up one object (high poly) and target (low poly) per job. Use multiple jobs for each additional set of objects. Bake Tool can also be used for baking multiple maps in BI. (This is helpful for displacement map baking.)

Meltdown also offers similar support.

As of version 2.78c, Bake Helper does not support high to low poly baking.


Distorted highlights when rendering microscratches (bump map)

I would reccomend trying to change your bump node settings. Set the strenght to 1 and the distance to 0.01 or anything sutable. Try to mix the displacement with the normals also. Attached below is an example low strength vs low distance.


What am I doing incorrectly with the Boolean modifier? *Video attached*

the problem is in the face orientation of your parts. Blue is ok, red is wrong.
Repair the face orientation and it will work.
you can check your (wrong) face orientation by tapping


How to create properties for new object types

bpy.types.Object.povcone = PointerProperty(type=RenderPovSettingsCone_add)
bpy.utils.register_class(bpy.types.Object.povcone)

you do not need to register a property from bpy.props like this

the property is there after the assignment and blender will use it as a wrapper for

obj.["povcone"]

so simply drop the second line


How to scale the texture used by Displace modifier

Displacement map made with procedural textures

Switch to Textures panel in order to open texture used by Displace modifier. You will find different options which vary depending on texture type. The Size option is accessible for many of them which is one you need if you work with procedural textures.

Image textures

If you have image texture, I'd suggest changing texture coordinates which use Displace modifier.

In modifier's panel, Texture Coordinates option, change it to Object.
Add a simple plane somewhere nearby, choose it as object in mentioned option.
Now to scale image which is used as displacement map scale that added mesh. Displacement map will be resized according to that:


Does render samples matter when using imported images in Compositor?

Samplings do not count in the Compositing process.

If you don't have any RenderLayer Node in the NodeTree, the 3D scene won't even be rendered, but the nodeTree will so, it doesn't count. You can have strange artifacts in glare if the Quality of the node is set to low.


Interacting with rigid body objects as animation plays [B2.83]

Sounds like a bug, maybe try checking the "animated" checkbox in the physics settings


BlenderGIS: import Georeference Raster onto Delaunay Mesh

From studying the code I found here, I found out that the CRS in Blender for the elevation didn't match the CRS I was importing...probably my mistake when I imported it.  I fixed that...the image then imported, but it imported on the bottom of the elevation instead of on top.  I'm trying to import it on the mesh so there must be something in the code that's selecting that face...or I'm doing something else wrong.


transfer same rotation in graph editor and 3d view

I think you are referring to inserting a keyframe for a single channel. Of course with quaternions the minimum number of axis are two (because how quaternions works)


Can I make an object invisible in Cycles without letting the camera see what is behind it?

To make the object transparent as alpha channel:

use a holdout shader so it renders as transparent

Place the object on a different layer and use that layer as mask:

Use a Pass index for the object and use that on the compositor to substract the object from the final render:

(click on the image to enlarge)
Similarly, you can assign a pass index to the material and use that as alpha on the compositor:

(click on the image to enlarge)


Is there a quick way to set a specific length for multiple edges?

Scale Pivot Center to 3D Cursor, Snap Cursor to selection for your convenience

The scale pivot is set to cursor. Please see tooltip in the image above.  An axis is decided such as [X]
We are using the yellow mesh in edit mode for this example.
Two vertices are selected on axis extreme .. left in this example ... Snap Cursor to Selected Shift S Cursor to Selected.  Now we can scale to the leftmost and increment from the leftmost in this example. See the cursor in the image above. It can act as the [X] zero of our imaginary ruler.
Select the vertex loop 1 in question.  Scale vertices on X axis to 0.

sx0

Grab on axis. Specify exact dimension.

gx.75.  I used [.75] for this example.

Select the vertex loop 2 in question.  Scale vertices on X axis to 0.

sx0

Grab on axis. Specify exact dimension.

gx1.5.  [.75] increment in relation to previous vertex
loop for this example.  If I had again set the cursor to the previous vertex loop I could have used a [.75] value as in gx.75

In the image above the Mesh Display shows edge length confirming our actions.

Of course you can snap the cursor to a single vertex or collection of vertices when the need suits you.  The cursor is to serve at your pleasure.
The info window on top shows some actions.  Selection is not shown.
You may also investigate vertex slide.  Vertex Slide is not shown here.
Assuming rectilinear alignment on the global XYZ coordinate system.  When this is not the case Blender allows you to create an [orientation] so the displacement vector can point in any direction. Please inspect, verify and improve these suggestions.


Nothing in the scene appears when i hit render

In the Properties panel > Output > Post Processing, you've enabled the Sequencer option, therefore it tries to render the VSE sequence, disable it.


Blender render issue: rendered images are different from viewport

Subdivision surface and screw have two different parameters for rendering and the viewport:

So to fix it, set render to 3 for the subdivision and render steps to 3 for the screw.


Normals of mesh are super small like a dot, what could have possibly gone wrong?

Sounds like your object may have some unapplied object scale.
Press ⎈ CtrlA> Scale in object mode to apply it.

The length of the normal indicators is defined in object space; scaling the mesh down in edit mode makes the indicators "longer" relative to the mesh:

But scaling in object mode scales object space itself, keeping the indicator size proportional to the mesh size. So if you have a huge object scaled down a lot, you'll end up with very small indicators.

Object scale behaves like a sort of offset, only affecting the apparent size of the object while mesh operators such and "see" the object without any object scaling. This can affect other things besides normal indicators, so it's a good idea to be aware of this behavior.

See Why are the longer edges being beveled more?


How to create customizable Cycles Cel/Toon shader, that generates shadows?

bence bu görselleri elde etmek için eevee veya cycles yerine compositing kullanılabilir. bu şekilde render modun eevee veya cycles farketmek sızın istediğin gibi ve gölgeli bir şekilde oluşturabilirsin.

I think eevee or loop instead of compositing can be used to achieve this instead. This way you can create the way you want and in a shaded way, regardless of whether your render mode is eevee or the cycles.
translate by: translate.google.com


Is there a way to use 'render region' with numeric input for size & position?

You can turn on the Python Console Shift+F4 and define the border there.

Use commands:

bpy.data.scenes['Scene'].render.border_min_x
bpy.data.scenes['Scene'].render.border_max_x
bpy.data.scenes['Scene'].render.border_min_y
bpy.data.scenes['Scene'].render.border_max_y

Like so:

You can also turn on the Amaranth Add-on that comes with Blender (Have the 'Community' button ON) in order to see how large the Border render box is:


Looking at your scene, you need to select the sun lamp and press R to rotate it. Rotate the sun lamp to point the light in your desired direction, and try rendering again.


There is an option called "enable in the view-port" when you right-click a collection.
Try using that.


Parent object to bone latency (lag) issue

I searched the bug report and the file you provided there. There is indeed a dependency cycle on object level - it prints out into the system console:

The culprit is that the empty is parented to the head. Blender checks dependency cycles on object level in old dependency graph, which is a known limitation.

To solve the issue switch to the new dependency graph by running blender with --enable-new-depsgraph command line argument. It will work there, because blender evaluates dependencies better and on bone level.


You can install from zip directly if the zip is either:

a zipped single .py file

  addon_name.zip
       |
       addon_name.py

a zipped folder, important that it's not a zip that contains a folder first.

these will work because the folder structure is at the expected level. The __init__.py is directly inside the zip ("top level").

https://github.com/nortikin/sverchok
https://github.com/JacquesLucke/animation_nodes

  addon_name.zip
       |
       addon_foo.py
       __init__.py

this will also work

  addon_name.zip
       |
       addon_name_folder
              |
              addon_foo.py
              __init__.py

for instance: this zip will fail, because the add-on folder is nested too deep, there's another folder inside the zip:

https://github.com/zeffii/TubeTool  (this is a link to a branch that first has an extra level of folder nesting)
Github will generate a zip from that repo that looks like this:

  repository_name.zip
       |
       repository_name_folder
            |
            first_folder_in_repo
                    |
                    addon_foo.py
                    __init__.py

Zipped add-ons with a structure that doesn't work with the install-from-file feature may or may not have a good reason for being that way.


A shape with Particle effects changes size after being temporarily masked in the Outliner

Your particles are huge.

Try using something like .01 for the root size (this value is in BU, at least when Scaling is set to 1).


I spoke to Campbell Barton (the developer who got eyedropper functionality implemented) about this, he said that this kind of functionality is not available in Python API at the moment.

UPDATE:

Blender 2.79 now allows to create add-on properties which reference datablocks.

custom_property = PointerProperty(type=bpy.types.Object)

Using this property with a prop_search() we'll get search box with an eyedropper.

UPDATE 2:

Usage of prop_search() is not necessary, in this case prop() will do just fine.
Noted by J. Bakker.


Select your object. Go to the the contsraints section of the properties window and add Child of constraint.Then select what object you want to use as target.

more info here: https://www.blender.org/manual/rigging/constraints/relationship/child_of.html?highlight=child


How can I place objects over the surface of HDRI?

create a plane under your object and keep it as shadow catcher... Search on Youtube for Shadowcatcher


In Blender 2.8, 3D Viewport shading render mode is missing. How do I get it back?

Same thing happen to me. Try switching to LookDev and under the Lighting (drop down menu next to the Viewport Shading Button), tick Scene Lights and Scene World.


Adding a "Super Elevation" or Twist to a road

I would use an array modifier and a curve modifier on a small portion of the road object. So you model a short piece of road and mirror it and then you add an array modifier to it and create a new bezier curve object. Then you add a curve modifier to your road piece and choose the bezier curve as the curve your curved modifier will use to draw the array on.


how to move object to same location of another one

There are various ways.

I would use the align tool.

Select object 2, then Shift select object 1. (The last one selected becomes the one whose position in space is used.)
Go to Object/Transform/Align Objects, then at the bottom of the tools column, highlight X, Y and Z by holding shift down while selecting the second and third axis.

If you've been doing things with these objects that could result in their origins being moved, you should first go to the Tools tab of the Tools editor, while in Object Mode, and set Origins to Geometry for both objects.

As for the size, I'm not sure what you mean. If they were the same size originally, but one has been scaled, of course you could just read off the scale of one and type it into the scale values of the other.


I have seen this issue before, I believe it is a bug in the UI theme, since it only seems to happen with certain bundled themes

After fumbling around with the settings I could not find any way to fix it, or what color to change, so this is more of a workaround than an actual fix.

For the time being just change the current theme in the user preferences, either permanently or temporarily while working with nodes.


To get a perfectly straightened unwrap from quad-strips, the Follow Active Quads method exists.

This will take the selected geometry and unwrap it as a rectangular strip, no matter what angle they have on the model. It is particularly helpful on objects with even but somehow spatially warped surfaces, like pipes, floor maps, etc. and truly invaluable if you need 100% straightened unwraps. These often make texturing a lot easier.

It has two options for the Mapping Type:

Even will make all UV-Squares the same size,
Length will take the average length into consideration

To use Follow Active, select desired polygons. Ensure that one of them is the Active Selection. The algorithm will make this one the border piece in the unwrap. Also, as its name suggests, it will not run without an Active Quad.

Follow Active Quads has a couple of quirks, though:

For one, it does not like Triangles or N-Gons. It will split those from the quad strips.

For another, if you have already unwrapped, the Follow Active Quads will sometimes give you skewed results. In that case,

select the strip you want,
choose Unwrap > Reset
with the same selection Unwrap > Follow Active Quads


The automatic weight feature in blender isn't perfect, pretty much every time you use it you will have to go back and manually perfect some weights.

How to fix it:

Hop into to weight paint mode (Click on the UI button that currently says either object or edit mode in the 3D Viewport, and select the Weight Paint Feature)
Open up the current object info tab (The box tab on the same 'tab group' as the render tab) and click on the index finger vertex group.
Use the weight paint brush to change the the effect the bone has on the mesh (Red is full parent and blue is no effect)

Happy Blending!


I think the problem you're having is what's sometimes called "fireflies." These are not in the texture, these are part of the render. The short answer is "render more samples." "Progressive" can be useful for this. Just let it render the whole image for as long as you can stand. It'll get a little better with each pass, and you can cancel whenever you want and still have a full image.

This is usually just a consequence of the probabilistic nature of the Cycles renderer. I'm going to mark this question as a duplicate, but I want to at least point you in the right direction.

One strategy that's not well documented is to render the same image more than one time, but with a different "seed" value for each image (set in the render settings). Stack these results in an image editor (careful with opacity math) to average them together, and the fireflies will be much less apparent.

Check out this other answer about why fireflies happen.

Also look at this question about how to reduce noise.

And lastly, this question about why Cycles has to cast multiple rays per pixel.

Hope that helps!


Using quick smoke cannot change from smoke to fire

After changing the emitter type from smoke to fire, in the domain material’s principled volume node, turn the black body intensity value all the way up to one.


The most elegant solution is using color management and a custom matrix to convert the image's color information to a grayscale.

You can easily and non-destructively represent your scene in grayscale without the need of changing materials or affecting the overall quality of the render.

User @troy_s has created a LUT pack and OpenColorIO (OCIO) config that greatly enhances blender's display transform.

Included in the pack there are a couple of matrices that can be used to set grayscale looks.

  Greyscale on Desaturation This is a greyscale preview of the desaturated look helpful for evaluating contrast and other details in some contexts.
  Greyscale This is a greyscale preview without the desaturation look applied.

LUTs and OCIO configuration can be downloaded at this Github link along with the instructions on how to install and use.

For other related topics read this link


Hmm in viewport try do a factory reset, press space and write load factory settings. Open up some monitoring programs, for GPU, cpu, ram and HDD. try see if anyone of them is being overloaded or overheated. third, is a question, is it anything in the viewport as you test?


What happens with the quality of sound if I render it twice as MP3?

It boils down to if you are increasing the compression or not, and has nothing to do with Blender.

The reason for this is that any given level of compression will "shape" the encoded values into the compressed shape required. Subsequent compression at the same degree using the same compression technique seeks the exact same shape. Given that the algorithm is seeking the shape the data is already in, very little further degradation will occur typically.

You can test this by trying to encode a JPEG image twice at the same compression level. What you should observe is very little encoded data value shift, and even possibly a growth in file size.

As a general rule, this is a poor option for a pipeline, and it would be much more prudent to keep your interchange data in a lossless and uncompressed format, and encode once and only once. Even expanding an MP3 to a WAV can help you here in theory.


Why does reducing Resolution X increase my camera's FOV and increasing it reduce FOV?

In short
If you set Focal Lenght and Sensor Size values matching your real-cam ... it should work. Those two values represent perspective (optics) behaviour, including FOV (sure without lens distortions and other optics defects). Dimension values (Resolution X/Y in px) are as naming states - about rendered dimension, that can be set as cropped or extended result over sensor FOV.

Closer
You have to stop think about render Dimension / Resolution parameters as something that represents real camera FOV. X/Y values here relates to sensor size only in sense of max Width or Height. The rest of format is "cropped" or "extended" over sensor FOV.
To limit rendered format to one of the real-cam sensor size (width / height) you have to choose under Camera Properties > Camera > Sensor Fit >  Horizontal or Vertical. Don't use Auto, this use squared size of sensor.

If you want to stay in range of real camera for example Sony A7S

go to Camera Properties > Camera > Sensor Fit, switch from Auto  to Horizontal or Vertical and set Sensor Size to 35.8 x 23.9 mm
go to Camera Properties > Lens and set appropriate Focal Length (here 35 mm)

These two parameters mimic your real cam. To see what real camera see (real FOV) enabled under Viewport Display > Sensor

Dashed rectangle is Sensor size, green square is Camera object in size 1920x1080 px when Sensor Fit > Horizontal. From that you can see that your sensor is able to capture movie file in 1920 x 1280 px (1.5 proportion).
Anymway with this setup blender camera should mimic real-cam FOV.
By changing X or Y values under Output Properties > Dimension > Resolution you can see only FOV-width is changing when Sensor Fit is set to Vertical or FOV-Height is changing when Sensor Fit is set to Horizontal.

So what is changing here is not Camera Field of View (FOV), but only resolution and aspect of rendered image.
I was always asking my self why this Dimension > Resolution is not a part of camera properties ... and here it is - they are two separate things. It looks confusing just because changing Output > Resolution is changing shape of Camera object in 3D view. That gives an impression I'm changing camera itself, but in reality it is more like you are cutting printed image by scissors or adding more canvas on sides, because sensor and all the optics is still the same unchanged in camera properties.
Any advanced explanation is welcomed, so in mean time ... I hope this helps a bit.
Also for more convenient work to match other real-cam setups try Real Camera addon.

Bug report – Viewport Display > Sensor enabled is working under 2.83, but not for any 2.9x. Since it is just for
reference it should not affect result, but make it hard to illustrate
for you what is real-cam FOV. I'm going to check if someone posted a
bug report.*


Can I use OSL shaders with Eevee in Blender 2.8?

To be clear, OSL evolved from Renderman and has always been about Monte Carlo ray tracing, much like Cycles. It makes little sense to implement it for Eevee, as Eevee is a rasterizing renderer meant to run in real time or very close to it; while Cycles is designed to take its time once and provide a very detailed and realistic-looking result for playback later. I want to emphasize that Sony designed OSL with specifically this use in mind, it was made for (and continues to be used for) Hollywood productions; you can use it with other rendering engines, sure, but they have to be ray tracers for a large portion of its functionality to even make any sense.
Eevee would be better suited to GLSL or HLSL, built more for games, than it would OSL, so no, it isn't possible to implement them (you would have to completely redesign them to work in this context) and it's unlikely to become so. I do think it is a possibility that some form of shading language will be implemented in the future, though.


The x,y,z values in the fluid domain settings define the effect of gravity on the simulation. Values of 0,0,0 mean the fluid is floating in space. A Z value of -9.81 is used to approximate earths gravity.

You have a couple of options for the object used as the starting point of the fluid, setting the type to fluid gives you a single "blob" of fluid with a total volume equal to the size of the mesh while a type of inflow will give you a constant flow of fluid coming in. The initial velocity here defines the direction the fluid first moves, a negative z value will have it fall straight down, while changing the x and y values can get it to flow diagonally into your cup.


Do .blend files store information on which version of Blender they were created in?

Open the .blend file in any text editor, the first few characters will be something like this (followed by a lot of unreadable binary data which you can ignore):

BLENDER-v267

That's the version number right there, this file would have been saved with Blender 2.67.

If it's not there, that probably means you are looking at a compressed .blend file. In that case you can rename the file to have the extension .blend.gz and decompress it. Note that resaving from Blender doesn't work because the version number would change.


Under the menu: Scene selection > Rigid Body World > Rigid Body Cache > Free All Bakes > Reset Start and End > Bake

This worked for me in 2.74. It took less than a minute to bake 325 frames.


Did you try to enable "emulate 3 button mouse" in preferences?

windows could map your middle wheel/button to other functions (eg: double click), and it can break blender functions.

I had similar issues, and I started using a small utility called X-mouse, which can change mouse setting "per application"

And it changed my life... :D


Blender 2.90 Alpha - Stereoscopy, how do i render interlaced output?

"How do I render interlaced output"?
"Interlaced" is a viewing method.
When your window renders the image, it displays a composite.
If you need to further grade and edit your stereo footage (sequence):
You export a L+R sequence. Use an external compositor like Nuke, Katana or AE. Export side by side (up down or L+R) in the same aspect ratio you intend to view your stereoscopy (long technical explanation about 3D compression, format and playback inserted here).


How to nicely render mathematical object made from slices

In edit mode, with all geometry selected hit Ctrl+N to recalculate the face normals, they are doing crazy things. This unifies their direction.

A render of the cuboc you provided, with light spheres (Cycles Emission material) placed at incident angles with respect to the faces they are intended to highlight.

You have more Z slices, than XY steps around the object, this produces elongated polygons, and is one reason why you won't get smooth surfaces. You will get neater results if you can generate more points per z-slice, resulting in the polygons being closer to square shapes. Either that or fewer Z slices, but then you loose detail.


You can do that easier in a compositing step.

Choose whichever renderer.
In the Rendering Tab of the Properties Editor, activate the Shadow Pass.

The shadow pass hold exactly that information: where light hits and where not. The intensity isn't relevant. It is also antialiased.


The filename is not allowed to include "."

So my_addon_10.py is correct, but not my_addon_1.0.py.


Modal Operator double keytrigger (RELEASE triggered twice on Ubuntu)

The problem here was with the operating system /environment, and confirmed by pink-vertex. While this isn't a bug report, it may still be handy to keep around in case others experience it.
The behaviour had me stumped until I wrote the above code to localize what was happening.
This seems to be a long-standing bug in the windowing system that ubuntu uses: https://developer.blender.org/T21528 (dating:  Mar 9 2010)

knowing it's broken isn't good enough.
@NoamPeled asks how one might get a working solution in the case of the windowing system throwing multiple repeat event.values, like RELEASE -- thus  increaseing the potential for the interface to behave in unexpected ways (ie a quick tap of a key could trigger release once or twice, but mostly twice -- at the very least the lack of consistency is the true issue then)
untested and verbose,
# somewhere at the top of your python file
# add any other keys you want to track
event_values = {'MINUS': None}

# your modal operator code (snipped for brevity, see above in the question)

    def modal(self, context, event):

        # somewhere it makes sense
        if event.type in event_values.keys():
            if event.value == event_values.get(event.type):
                pass  # or some other passthrough/ignore
            else:
                event_values[event.type] = event.value
                # do some other useful thing


How to have person in video mask added geometry as they walk in front

In the video clip editor you can create masks and animate them with keyframes. For precise rotoscoping over video, load the video element on the Video Clip editor, create a new mask and you can animate the shape and feathering as you like.
Overlaying an image to cover a face in a video?
You can also use trackers and parent the points of the mask with the trackers, to ease the rotoscoping process.
Can a mask stick to a shape in the motion tracker?
Then you can use those masks in the compositor with a mask node that uses those masks to combine other images.
You don't need to use AfterFX.
How to draw a Rotoshape (mask) in the Compositor?
To work with geometry you can check this link as well:
Use masks as part of materials in cycles


Accessing the key_modifier property for a key binding

I found your question looking for the same issue. I found how to do it by looking at the code of Power Sequencer add-on.
After you define your shortcut you have to add a property to the keymap:
kmi = km.keymap_items.new(OPERATOR.bl_idname, 'LEFT_ARROW', 'PRESS')
setattr(kmi.properties, 'bool_property', True)

Then read that property from the operator:
class OPERATOR(Operator):
    bl_idname = "operator.id"
    bl_label = "One operator"
    bool_property: bpy.props.BoolProperty(
        name="A property", description="Does something", default=False
    )

    def execute(self, context):
        print(self.bool_property)

The operator's property you define retains its value after you call it from the shortcut, so remember to restore the property to its default value (or whatever you need) after the operator is called.


Anyone knows the correct way of parenting the mesh to the rig?

Your mesh is set to flat shaded and then smoothed by subdivision modifier that cranks the model to 4 million faces and that is way it is getting laggy. This is not a proper way to make smooth models.

Select the mesh, find "Shading" in the left panel and click "Smooth". This provides smoothing that makes the subsurface modifier unnecessary. If you need some edges sharp, add an edge split modifier. You can further teak which edges are sharp and which smooth if you untick "edge angle" and go into edit mode, select the sharp edges and CTRL-E -> mark sharp and only those edges will be sharp.

The mesh seems to deform well with the amount of faces without subsurface modifier although the resolution still seems little high at certain places depending on the intended use.


Animation Nodes - instance objects over time

The wave/scale effect is controlled by the scale of an empty (simply animate it the way you want).

The node setting is in two parts:

Main part:

Get empty scale and generate a set of scales from it.
Duplicates the model (a curve).
Put the result in the resulting curve.

The scale is limited between 1 and 5 in this setup but you can change it as you want.

The next nodes are making an array of scale.
Say current scale is 3.19, we want the array to be [1.19, 2.19, 3.19].
This is done using the float range node.

Sub loop:

The loop is done over the precalculated scales (above).
For each scale duplicates the input vertices and scale them.
The result is merged (reassign to the output).

The result is cumulated in a "reassign" node which is also set as output.
The model input is set as copy as we want a new circle at each iteration.


You can also mix the material of the sides of the hole with a holdout shader while using the backfacing output of a geometry node as the fac input of the mix shader.

Without the holdout shader:

With the holdout shader:


Video editing: keyframe values not setting

So this is a common problem and not obvious.  You need to update the keyframes after setting the value, otherwise they revert back to there former state when the timline moves.  To do this just hit the I key when hovering over the value control you want to key.

You can also use auto-keying, this is probably the behaviour you are looking for ... look for the Record symbol on the left of the transport bar.

This will automatically create a key for you for each property you change at the current position on the timeline.


How to move multiple objects to central point

You can enable the Transform > Affect Only > Locations option:

Make sure that you have the right Pivot Point enabled, in your case maybe 3D Cursor once you've put it at the center with ShiftC:


Can Blender VSE sync the video and audio with VFR strips?

Blender does not allow you to decode variable frame rates. Sorry, this is because Blender is only aware of one frame at a time and expects to play 1 frame per frame. In other words it is temporaly blind (can't look ahead) and doesn't understand that you may want to hold the current frame for a period of time. You'll have to transcode to a compatible Codec to use the VSE in sync with audio.


Deformation of a plate with a curved profile

Add a curve.

Give it the extrusion you need (In the properties edtitor: Geometry>Extrude)

Give the curve a flat shape.
Add as many subdivisions to the curve as you will need for the final shape. Adding new subdivisions later complicates things.

Exit edit mode. Add a shape key (use the + sign on the right). That will be the basis shape.

Create another shape key it will be called Key 1

Enter edit mode again and move the control points to where you need.

Exit edit mode. Don't worry if your shape go back to the basic shape. The deformation has been recorded. Just set the value for Key 1 to 1.00
Make a new Shape Key, but this time click on the little triangle on the right and add "New Shape from mix" (Key 2)

Enter edit mode again and keep reshaping the curve and adding shape keys.

When you exit edit mode change the value of Key 1 to 0 and bring up the value to Key 2 to 1 before making the next key shape.
Keep making key shapes and deformations until you get to where you want.
To view all of the different shapes just bring up the value for individual keyshapes. To make an animation from this, add keyframes for the key shape key values.


In preview mode of the Video Sequence Editor open the properties panel by pressing N on the keyboard. Then check Prefetch frames under the view settings tab. You will see an orange line under track 1 of the sequencer growing until the video has been pre-loaded. Large clips may need more RAM allocated in settings as VSE fetches the video frame by frame.


According to this screenshot, the export buttons are located in the scene settings, not in the import/export menu.

Also, you should keep in mind that after installing the addon, you still have to activate it in the addons tab (check the button on the right).


Thank you for your help and time. I actually found the answer to my question on my own. The way to animate the image on the sphere. (Going around the sphere as I intended) is to add a multi-res to the sphere, and to apply the shrink-wrap mod to the plane. Then I set the plane's origin to the center of the sphere so that the image can be moved around the sphere. It will look like it is on the sphere though, and thus solves my problem.


I want to Transfer Weights from a Vertex or Multiple Vertexes one VG to Another in the Same Mesh Object using Python

Solution:

This code is clunky and really inflated. I know that actual coders out there will tell me that there are much better and more efficient ways to write this, but as I said, I'm just learning.

After playing with this abit, I found that this new code does just what I need it to do...

import bpy
vgname1 = 'Leg_R'
vgname2 = 'LegD_R'
vgi1 = -1
vgi2 = -1
vvgi1 = -1
vvgi2 = -1
verts=[]
vWeight=[]
x = 0
y = 0
z = 0
mode = bpy.context.active_object.mode
obname = bpy.context.active_object.name

for ob in bpy.data.objects:

    if ob.name == obname:

        for vgn in ob.vertex_groups:

            if vgn.name == vgname1:
                vgi1 = vgn.index
                x=x+1

            if vgn.name == vgname2:
                vgi2 = vgn.index
                y=y+1

        for vgn in ob.vertex_groups:

            if vgi2 == -1:
                z=z+1
                ob.vertex_groups.new(name=vgname2)

                for vgn2 in ob.vertex_groups:

                    if vgn2.name == vgname2:
                        vgi2 = vgn2.index
                        print(vgi2)

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

        for v in bpy.context.active_object.data.vertices:

            for vg in v.groups:

                if vg.group == vgi1:
                    verts.append(v.index)
                    vg2 = ob.vertex_groups

                    for vga in vg2:

                        if vga.index == vgi2:
                            vga.add(verts, 0, 'ADD')

                    for v1 in bpy.context.active_object.data.vertices:

                        for vg1 in v1.groups:

                            if vg1.group == vgi1:
                                    print(v1.index, vg1.group, vgi1)
                                    vWeight = vg1.weight

                                    for v2 in bpy.context.active_object.data.vertices:

                                        if v2.index == v1.index:

                                            for vg2 in v2.groups:

                                                if vg2.group == vgi2:
                                                    vg2.weight = vWeight

            bpy.ops.object.vertex_group_set_active(group=vgname1)
            bpy.ops.object.vertex_group_remove()

If you wish to leave comments on how this code "should" be written, please go to the posting I made on here https://blenderartists.org/t/solved-trying-to-move-weights-from-one-vgroup-to-another-in-the-same-mesh-object-using-python/1156842/2 and post there.

Thanks


How do I limit the rotation of the camera in an FPS

The mouse move script allows cutomization. In order to restrict up/down rotation you could add the properties as shown in the image.


Adding material to spheres sequentially using Python

Since each sphere's material gets the same properties, I think it's a shame to create a new material for each sphere. Here's my solution, which:

Doesn't use an operator to create a new material, but rather calls a regular function bpy.data.materials.new(). This is faster, doesn't create unnecessary undo steps, and directly returns the material;
Uses next(rdr) to skip the first row, rather than using enumerate and checking the index each and every iteration;
Uses bpy.path.abspath to convert a blendfile-relative path to an absolute path that Python understands;
Separates data conversion from the strings obtained by the CSV reader to the floats you need for Blender;
Uses slice notation to shorten the b.o.m.primitive_uv_sphere_add call;
Follows PEP-8 for readability.

import csv

import bpy

# Create the material
try:
    mat = bpy.data.materials['Sphere']
except KeyError:
    mat = bpy.data.materials.new('Sphere')
mat.diffuse_color = (1, 0, 0)

fp = "//spheres.csv"
with open(bpy.path.abspath(fp)) as csvfile:
    rdr = csv.reader(csvfile, delimiter=';')
    next(rdr)  # Skip column title
    for row in rdr:
        # Generate UV sphere at x = row0, y = row1, z = row2, and radius = row3.
        data = [float(x) for x in row]
        bpy.ops.mesh.primitive_uv_sphere_add(location=data[0:3], size=data[3])
        bpy.ops.object.material_slot_add()
        bpy.context.object.material_slots[0].material = mat


Why does applying rotation cause my object to rotate?

Actually your object is not a cube mesh, the box we see is the bounds you can display around your object in the viewport:

As you've rotated your object, it has been rotated as well:

If you apply the rotation, it doesn't rotate the object, that's what we are expecting, but it resets the bounds box, which is also expected for an object that has now a rotation of 000:


Generally speaking curves in Blender are kind of a second though. They work but are mainly seen as a helper for animations rigging and other related tasks, rather than actual modelling tools.

I do love using Bezier curves as actual modelling tool, and my daily workflow relies heavily on curve objects for geometry in Blender. It is an unpopular and exotic method, very few people actually use it, and can certainly be very cumbersome in some situations. It lacks features and tools, requires a lot of workarounds and sometimes convoluted workflows for seemingly simplistic tasks, yet when used to your advantage it presents very unique benefits and advantages that totally outweigh its downsides, with some practice you can get a good flow going.

There have been several attempts to improve this area of Blender before but success rates have consistently been poor.

You will find there are no builtin trim/extend/offsets currently (though there are several quite acceptable addons), snapping and precision tools are also scarce, and materials and texturing are limited too.

Importing your curves as SVG/DXF from an application like Illustrator or Inkscape is indeed the best workflow. They will come as regular 2D bezier curves.

Avoid filters and effects or any other curve altering modifiers in those applications that create additional geometry; because they will import as garbage and duplicate vertex you will have to manually clean once in Blender to achieve good results and avoid artifacts.

Imported curves often come with varying scale factors, make sure you apply it before proceeding to avoid problems. After applying scale to a curve always make sure you enter Edit Mode and force-set all vertex radius back to $1# with the Set Curve Radius operator, otherwise it will yield weird results.

There are two main curve types in Blender 2D (constrained to the local XY plane) good for logos, text, and bi-dimensional stuff; and 3D for anything else like wire or tubular structures.

Inside each curve splines can be either Poly, Bezier or NURBS type. Polys are straight-segment only, beziers have handles, and NURBs are fit through control points.