Can I Move a mesh from Zbrush to Blender?

Yes you can!

Export your model from ZBrush as .obj (Wavefront Object). Even the texture can be exported on this way.

Then in Blender, "File -> Import -> Wavefront OBJ..." Make sure you have "Image Search" checked on and it will look for and import the textures as a Blender Internal material.


My question was answered on the Second Life Forum: These shadows happen because of a setting during upload to Second Life/OpenSim. On the first screen of SL/OS upload is a setting called "Generate Normals". Setting that to on causes the shadows. Setting that to off will not produce the shadows seen above.


Go to the Texture Paint workspace and do the following:

Create a new texture by pressing on + New button near the top.
Choose what ever settings you like.
Draw your texture of choice. Press N to see properties. Or right-click to get brush settings quickly.
After you are done go to the Shading workspace.
Select the object you want this texture on.
Choose a material for this object.
Create a image texture node. shift + a >> Texture >> Image Texture
Click on the Image Texture file drop-down. And choose the texture you made.
Connect the Color to Base Color.
Done!

Note: To view your changes in real-time as you are creating the texture you could do steps 4-9 right after you create your texture(before 3)


Make the outer circumference of the tire smaller

This is easy using proportional editing and the scale tool.

Go into an orthographic view that shows the tire from the front (it would roll towards the camera).
Set viewing mode to wireframe, with ghost mode on.
Use Border Select, Ctrl+B, to select the entire tread area of the tire.
Switch to the scale tool.
Scale along the desired plane (the two axes that are not the axle axes). The sides of the tire WILL NOT FOLLOW yet.
Go to the Adjust Last Operation area in the bottom right of the 3D View, and turn on Proportional Editing. Set the size to something just under the former distance between the tire treads and the part that contacts the wheel.
The walls of the tire should gradually tighten towards the treads, but stay mostly the same towards the wheel.


animating weapon along with armature from character

Insted of parenting the weapon to the hand armature I would use object constrains. You constrain the Weapon to the Armature, than Blender will let you select which bone to constrain to. The nice thing about constrains is that you can keyframe their influance, so you can have the wepon copy the rotation of the hand for 30 frames but the moment you want to give it a specific rotation you can just key frame the influance at 0 and rotate it as you wish, same goes for position.

In order to have the weapon passed from one arm to another you can have 2 sets of location&rotation constrains in it, one for each hand. Than as you pass it from one hand to another you keyframe the influance from one constrain to the other.
Here is a quick demo I made:https://youtu.be/Tncqr_CbkdA

Obviously you'd want to put more time into it to make the transition sooth etc.
Personally I'd not use the rotation constrains and just set the rotation of the wepon by hand but I've set it up his way since this is how it works with parenting.


Skinify Rig Options Not Visible in Pose Mode Blender 2.8

I found the Skinify options under the Create tab on the 3D View Sidebar (N key).


How can I unwrap an object with minimum distortion in the UVs?

Incase your doing some painting on it, and want the real size of your faces.
select whole object, mark seams (all face get seams) and unwrap.

There is another way for strange shapes that is a bit more configurable
for better resulting maps.
In mesh edit menu, there is an option to select 'sharp' edges.
First deselect everything, then go fo 'sarp edges' select.
You can give a angle degree (using mouse slider), to select more or less sharp edges. Then do a mark seams, select all and perform uv unwrap.


If I would be trying to achieve a cross section like effect, I wouldn't use the compositor but a mesh with a boolean modifier. In my opinion it's much more flexible.

To accomplish this add a cube to our scene and position it to intersect with your object in the place you want gone. Then add a boolean modifier to  the object, select diffrence for the mode, and chose your masking cube. Be sure to disable renderability/hide the cube you masked the object with.

I have created an example in which the object being cross-sectioned is suzane in a box. You can download it here. Here's the example render and viewport screenshot.

While this method works with almost any render system, the blender internal and cycles have trouble with multimaterial objects. In that case just split it into separate objects with one material each.


How can I stop my animation looping (Dope Sheet)

You can create a script with the following code. Run it once after you start blender and now the playback will stop at the value you have in the end box (ending range).

import bpy

def stop_playback(scene):
    if(scene.frame_current == scene.frame_end):
        bpy.ops.screen.animation_cancel(restore_frame=False)

bpy.app.handlers.frame_change_pre.append(stop_playback)


Blender proportional edit slider gone in 2.8 and above?

Solution discovered by OP:
I found a great solution. On my Wacom Intuos Pro pen tablet, my touch ring set to "ZOOM" is a perfect substitute to a mouse scroll wheel. Anyone using a pen tablet (with a touch ring) instead of a mouse can do this to adjust the spread of the proportional edit! Problem solved
For those whom this solution does not help:
The slider can be found in the Operator Panel. You can only adjust the size after the fact though (as far as I know), and the selection circle is not visible, so it's not ideal. Nevertheless it's there:


What is this view mode and how do I go back to the default one?

It's called X-Ray, and can be toggled with Shift+Z.

Here's a screenshot of the preferences window where I found the keyboard shortcut:

Thanks to @lemon. :)


What does "change" "repair" or "remove" mean in the blender installer?

Sounds like you are using a Windows installer. If that is so, Change, Repair, Remove are the options the installer is giving you. Remove would be un-installation, Repair would be like a re-installation. It should be noted that there is no reason to install Blender on your system, and in fact it is desirable not to. Instead download the compressed archive of Blender for your OS and you can drop the program into your root project directory. This way you can keep whatever version of Blender you are using for each project along with addons/settings on a per project basis and it will be fully portable to other computers. Helps ensure you maintain project compatibility and prevents you from ending up with a dozen Blender installs on your system as each version comes out. Especially true if you ever use developer builds or branches.


I guess you could enable the mist pass, and in the compositor, Ctrl+Shift+LMB to view the mist pass and you'll get the viewer node. Press N to open the side panel and in the Item tab there is an option to save that as an image. [the viewer node has to be selected in the last step].


There must be a better way to do what you want, but to answer your particular question about animating child of constraint, you can use the influence slider of each constraint.

Constraint the mag with two "child of" constraints, one linked to the gun, and another linked to the hand. Then you can animate their influences so that when the first is at 1, the other is at 0, and vice-versa.


How can i animate the spin property for curves (extruding while rotating)

Perhaps you can use the screw modifier and animate the angle property.

Here is my mesh that is curved and only an edge. I apply the Screw modifier and set Angle to 0. Then I hover over the Angle box and hit i. This adds a key frame to that property. Go to the frame where you want it to be fully spun and set degrees to 360 and hit i again over the green box. It should turn yellow.

Now, it should be animated! Here is a still mid animation.


OpenGL error on startup - Blender 2.80 - bumblebee

The issue is not openGL, but OpenAL (deals with sound rendering). Looks like hrtf function is enabled and can't be loaded. Disabling it in openAL configuration file alsoft.ini might help (hrtf=false). It is probably at /usr/share/, but you can look at source https://github.com/kcat/openal-soft/blob/master/alsoftrc.sample for details


You can use Pulverize to do multi-process rendering from Blender's Video Sequence Editor:

https://github.com/sciactive/pulverize

Pulverize will render multiple parts of your video in separate processes, then concatenate them into one video file using FFMPEG. It uses the Blender command line to select frame ranges for each render.


How do I get gloss/matte control through an image texture?

I believe the issue is with your Image Texture node for your gloss map. Near the bottom of the node, change the Colour Space from sRGB to Non-color Data.

Edit

Your specular map is working properly. I checked by unplugged the normal map and looking at it. You seem to be having trouble getting your materials to look right, so I'm going to recommend that you watch the following two videos from BlenderGuru on how to create realistic materials. They're from pre 2.80, but it's still very helpful in understanding how all the settings affect your material.

How to Make Photorealistic PBR Materials - Part 1

How to Make Photorealistic PBR Materials - Part 2

BlenderGuru also linked this Google Doc in those videos, which essentially contains real-life values for various materials, it's worth bookmarking.

Physically Based Rendering Encyclopedia

PS: Part of getting reflective materials to look good is to have something to reflect...and not to have an overpowering Light.001 hidden from the viewport.


You must be in Pose Mode.

Press CtrlTab with the rig selected, or select pose mode in 3D view > Header:


You can also use the Bevel tool.

Take the default cube, and extrude three sides
Select the outer edges and bevel them (e.g. Bevel modifier)
Remove double vertices (e.g. Weld modifier)

This image shows which edges to bevel


How to keep particles moving around inside an invisible box

I think "brownian motion" is probably what you're looking for.

The setup for this example includes two cubes: one as the emitter, and one (slightly larger) as a collision object, so that the particles don't wander too far.  These particles are emitted from the volume and I gave them a very slight starting velocity from the normals, but most of the motion comes from the Brownian force  under "Physics".  It is important to give the particles a small amount of drag and/or damp, otherwise the Brownian motion will keep adding up and the particles will increase in velocity over time.


Have you checked to see if you have key frames stored on your bones? To check, select all and choose Pose>Clear Transform>All, and see if the problem continues.


how can I sync the object in the texture paint?

Just sharing my story in case someone else comes here with the same scenario as me. My image texture was out of sync with what I painted. I then realized that every stroke I was making was appearing on the opposite side of my object and I had the normals issue described here. By pressing Ctrl+N in Edit mode, that recalculated the normals and solved the problem.


Certain colors not showing on Cycles Render

You are using a mathematical multiply. You should be using an RGB multiply

You can get the color multiply in the add menu Shift-A>Color>MixRGB and set the drop down the multiply.

The reason the math multiply doesn't work is that it simply multiplies a single value (per pixel) together, giving one output channel. The Color multiply multiplies each of the three channels (per pixel) and gives a three channel output.

This is how a multiply RGB node works, using the mathematical multiply:

Each color channel on the first image is multiplied by the corrosponding one on the second image. They are then added together to make a new image.

The factor merely mixes the multiplied image with the un-affected image.


Copy Transform Constraint Wrong Rotation

As mentioned by Denis, a child-of constraint would be easier.  But it's still possible to answer your explicit question, "How can I set the empty rotation in such a way that the hand will have the correct resting rotation when I add the copy transform to the hand ik?"

Get the hand posed how you'd like, without the copy transforms constraint.

Give the empty a copy transforms constraint (world->world space) targeting the hand bone.

Apply visual transform on the empty (ctrl A menu in object mode for me) then delete its copy transforms constraint.  If necessary, register keyframes for the empty.

Now give the hand bone the copy transforms constraint targeting the empty.


Disabling Group on the way (of running simulation) is like to change the rules of game in a middle of match (shocked audience).

Let Group Remove enabled
and animate Remove Treshold parametr

by adding first keyframe on a frame were pin group should still affect cloth with value 0, second keyframe on a frame were pin group should stop affect cloth with value 1.


How to access and edit Mapping Node via python?

bpy.data.materials['Material'].node_tree.nodes['Cracks_Mapping'].rotation[2] = some value

That's how you do it. input[0] is the only input of the node, the Vector. The 0 is the index. For example rotation has 3 index, 0, 1, and 2 for X, Y, and Z. Knowing that, if you assign a value to .rotation[2] like in my code example you'll modify Z rotation value of the mapping node. It's pretty straightforward really.


On the first frame, have you keyed all your selected channels with 'i' pressed -> Location/Rotation or whatever transform you are animating?


It is likely wiser to adopt an image based pipeline and assert that all of your color transforms and bit fidelity remain intact.
Using an image as an intermediate will be vastly more effective. The granularity required to handle the color primaries, bit depth, and transfer curve out of a codec correctly is not currently possible within Blender nor many other mainstream applications, and will often result in incorrect output. Well documented issues such as Quicktime's perceptual noise addition, incorrect transfer curve / gamma, inconsistent vendor flag reading, etc. all make for the stuff of nightmare when dealing with codecs.
If you are careful, you can easily step to an intermediate image format and use the Baptiste Coudurier FFMBC project to encode and decode ProRes with much more control, quality, and accuracy.
While it is a fork of FFMPEG, FFMBC extends the needs of the encoding and decoding of ProRes and DNxHD to meet media broadcast needs.
Further links:

https://code.google.com/p/ffmbc/


Random Streaks in Appearing Only in Final Render

Thank you, susu, it was just motion blur. Turning it off fixed the problem.


Or.. using Dupliverts

Ensure the origin of your gondola is at the point you want to be attached to the wheel.
Create a 9-sided circle
Select the gondola, then the circle, and CtrlP parent the gondola to the circle
In the Circle's Object Properties > Duplication panel, check 'Verts' and uncheck 'Rotation'

As mentioned before, if you want to make the duplicates real, use CtrlShiftA.

This answer doesn't cover how to rig the wheel so when it's rotated, the gondolas swing independently, but I guess that's another question.

EDIT: having read @moonboots' answer... all you have to do to rig it is keep the hierarchy when you make the duplis real (you're given that option), and apply his 'Limit Rotation'  constraint.


Can i colour black and white textures in Eevee?

You can use the Mix RGB node to multiply colors.

Add a Mix RGB node and set to Multiply
Connect your image texture
Use the other input for the base color

You can control the texture intensity with a Color Ramp.  And adjust contrast by moving the sliders.


Starting in edit mode you want to delete all faces from the mesh object X.

Then convert the mesh to a curve ⎇ AltC

Now that you have a curve object you can add any bevel shape you want to it by editing a new curve object to the shape and set it as the bevel object.

As you may notice in that screenshot, the curve from mesh object may need some cleanup. A mesh object can branch out many time from one vertex where a curve is one continuous line, this can leave "loose ends" in the generated curve.


How can I use a single action to trigger animations in multiple objects?

Ok I solved this myself and in fact for my problem I didn't even need to use the action editor or NLA editor, all I needed to do was make the bits I wanted as separate animations happen at different points on the timeline, and then when I put the object into unity I could select those frames from the animation to be separate animations, so the whole thing was a lot less complicated than I was trying to make it.
If anyone else has information on how to do this in blender though please add an answer because I'm sure not everyone who comes across this question will be intending on putting their animation into unity and so may still need another answer


your normal map looks quite good no obvious artifacts or anything wrong with it, same goes for your Image Texture node and the rest in the node editor.
imho I would suggest you to do a quick retopo in order to keep (roughly) the basic shape of your sculpted cube (hi-poly). Normal maps are not able to follow curvatures and they cant fake the edges so it is not that strange you get this result. You need a minimum of actual geometry to use them sufficiently !


I think the main culprit behind the trouble you are having is because of non-uniform scale. What I mean by this, is that every time you scale an object in Object Mode, you should apply scale (Ctrl + A > Scale), or it can and will cause a huge raft of issues later, from problems with texturing, to insets, to issues with curves and arrays.
Take this example - All I did was make a scene with 2 default cubes. One of the cubes (the one on the left) I scaled by 2 on the Z-axis in edit mode, and the other (the one on the right),  I scaled by the same amount in Object Mode. I then entered Edit Mode, and inset the front face of each of them by the same amount. I also added a horizontal and vertical loop cut around each so the "Edge Width" overlay will give more useful measurements.

Notice the difference between the two - not just as to the shape of the inset, but also as to how "long" blender" thinks each of the edges are. (ie: the cube scaled in Object Mode "thinks" it's still the original 2M long on the Z-axis).


How do i start the rigid body dynamic in the keyframe i want?

Go to frame 266.  Select your rigid body.  In properties/rigid body/physics/settings, check Animated and keyframe it.  Go to frame 267.  Uncheck Animated and keyframe it.


Edit: I wrote that quickly in late night, so today I added my Result and also fixed some information.
You can do this by making a mask, with which you can map an Emission Shader with  a Principled BSDF Shader. Set up your UV system first, you need the image to be projected perfectly on one of the faces, I picked the front one.
Second, find an image texture of diamond ore- I used this one

Then, in the Shader editor, we need to mask out the Ore from the stone.
First, take the UV coordinates and put them through a mapping node. With it, set the Location. If you want it centered, then add -0.5 on X and Y axis. Then, use Vector Math, set to scale to control the Scale of the image. Then, plug in the image texture. After that, if you scale it, you will see that it will repeat. So, that's why you have to set the image from Repeat to Clip. Now, you will have those diamonds to scale up and down with the scale node.
Now, Math node, set to Maximum, to cut out the diamonds from the background stone. After this, feed it through Map Range node cut out the background completely. So, now you have a good mask. Then, use Emission Shader for the diamonds part, and Principled BSDF for the stone. Mix then with a Mix Shader node, with factor of our mask.

Now, if you plan on using EEVEE, you can check on Bloom in the render settings for that bloom effect. But, in Cycles, you need to go into the compositing and to add a Glare node, set to Fog Glow effect, in order to get that bloom.

And that's it!


Change opacity transparent image texture?

Let's say you have an image with an alpha channel:

Which in turn, is nothing but a mask: an image with a black and white channel that determines the opacity of the RGB information. Black (0) is considered transparent, white (1) opaque.

If one were to use the image as color for the texture we get an opaque texture, because the alpha channel is not being used, just the RGB information.

Adding a transparent shader and using the alpha information to control the mix will make the black (0) pixels of the alpha channel be transparent and the white ones opaque (1).

To change the opacity of the alpha channel, you would need to make the white areas darker. To do that thre are quite a few options:

using a MixRGB node, multipy the alpha channel image with a black (0) color , that way the white areas of the mask (or alpha channel) will be less opaque.

By changing the value mix factor you'll get different degrees of opacity.

Alternatively you can subtract white (1) from the values of the alpha channel and get the same effect.

Using a math node with the multiply operation will also give you the same control by using values between 0 and 1:

Using a Bright Contrast Node with negative numbers for brightness will also have the same effect.

Or it can also be done with RGB curves

Or if you don't want to alter the values for the alpha channel for whatever reason, a different alternative is to use another mix shader and plug the result of the previously shown shader and mix it again with a transparent shader. Changing the fac values will change the opacity.


How do I emulate the Home key on a mac laptop in Blender?

For the Home command, press down the Fn+Left Arrow or Fn+Shift+Left Arrow.

Home : Fn+Control+Left Arrow (Works exactly similar to Windows Home key)

End : Fn+Control+Right Arrow

Page Up : Fn+Up Arrow

Page Down : Fn+Down Arrow

Essentially, all the buttons that would normally appear above the arrows on a  windows keyboard, are mimicked by using arrow keys with modifiers.

I don't know why the other answers are talking about un-related number pad, which is another key group entirely.


Linking object data but not the key frames

Suggestion.
Know some features of Follow Path Constraint. The constraint ..

active or inactive with keyframes ... see eye icon
[influence] can be 0 to 1.0 with keyframes
You can stack up many Path Constraints on a single object with judiciously placed keyframes.  Like relay runners passing a baton.
Thus the object can travel down each path one at a time with no influence from the other.  You known when you place paths near each other the movement may seem continous

I suggest you use these 3 features to address your issues.


How to access object instance from property instance? (in `update` callback)

id_data

the id_data property of any blender object is a refernce to the ID type object it belongs to.

def _update(self, context):
    print(self.id_data)


Python Panel Dropdownlist and Integer Button

Here the code for this example:

bl_info = {
        "name": "Test Addon",
        "author": "Me myself and I",
        "version": (0, 0, 1),
        "blender": (2, 80, 0),
        "location": "View3D > UI > MY TEST",
        "description": "This is a test UI addon",
        "warning": "",
        "doc_url": "",
        "category": "3D View",
    }

import bpy
from bpy.types import Panel, PropertyGroup, Scene, WindowManager
from bpy.props import (
    IntProperty,
    EnumProperty,
    StringProperty,
    PointerProperty,
)

class MYTEST_PT_Panel(Panel):
    bl_idname = "MYTEST_PT_Panel"
    bl_label = "MY UI"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "MY TEST"
    bl_options = {'DEFAULT_CLOSED'}

    def draw(self, context):
        layout = self.layout
        placeholder = context.scene.placeholder
        col = layout.column()
        col.prop(placeholder, "inc_dec_int", text="Increment/Decrease")
        col.prop(placeholder, "dropdown_box", text="Dropdown")
        col.prop(placeholder, "file_path", text="Filepath")

class PlaceholderProperties(PropertyGroup):
    inc_dec_int: IntProperty(
        name="Incr-Decr", min=1, default=4, description="Tooltip for Incr-Decr"
    )
    dropdown_box: EnumProperty(
        items=(
            ("A", "Ahh", "Tooltip for A"),
            ("B", "Be", "Tooltip for B"),
            ("C", "Ce", "Tooltip for C"),
        ),
        name="Description for the Elements",
        default="A",
        description="Tooltip for the Dropdownbox",
    )
    file_path: StringProperty(
        name="File",
        default="",
        description="Wanted File",
        maxlen=1024,
        subtype="FILE_PATH",
    )

classes = (
    PlaceholderProperties,
    MYTEST_PT_Panel,
)

def register():
    #the usual registration...
    from bpy.utils import register_class

    for cls in classes:
        register_class(cls)

    Scene.placeholder = PointerProperty(type=PlaceholderProperties)

def unregister():
    #the usual unregistration in reverse order ...

    from bpy.utils import unregister_class
    for cls in reversed(classes):
        unregister_class(cls)

    del Scene.placeholder

if __name__ == "__main__":
    register()

I believe this small example should be easy enough to follow through, i tried to use simple names to see what is used where.

The specific 3 Properties needed are the IntProperty, EnumProperty and StringProperty.


Can I add random viewport colours in 2.79 like in 2.8?

The following add-on randomizes the viewport color. It works for both Cycles and Blender Internal. Save the file into 2.79\scripts\addons and activate if through the preferences. The add-on creates panel in the 3D View properties (N) titled Randomize Viewport Color.

In order for the viewport material to be applied for Cycles you need to have a material applied that uses nodes. This is a safety feature, because otherwise changing the viewport color would also change the material color. A limitation for Cycles in 2.79b is that the viewport color is tied to the material. Every object with the same material will have the same color.

Please keep in mind that this is a quickly written add-on and may have some areas that could be improved.

bl_info = {
    "name": "Randomize Viewport Colors",
    "author": "Robert Guetzkow",
    "version": (1, 0),
    "blender": (2, 79, 0),
    "location": "View3D > Properties",
    "description": "Randomizes the viewport colors of all objects",
    "warning": "",
    "wiki_url": "",
    "category": "3D View",
}

import bpy
import random

class RandomColorSettings(bpy.types.PropertyGroup):
    use_viewport_color = bpy.props.BoolProperty(
        name="Enable Viewport Color",
        description="When checked and update is pressed the viewport coloring will be enabled for all materials.",
        default=True)

class RANDOMIZE_VIEWPORT_COLORS_OT_update(bpy.types.Operator):
    bl_idname = "randomize_viewport_colors.update"
    bl_label = "Update"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        if context.scene.render.engine == "CYCLES":
            for mat in bpy.data.materials:
                # Make sure that nodes are used, otherwise this will change the actual material color
                if mat.use_nodes:
                    if context.scene.use_viewport_color:
                        mat.diffuse_color = (random.uniform(0.0, 1.0),
                                             random.uniform(0.0, 1.0),
                                             random.uniform(0.0, 1.0))
                    else:
                        mat.diffuse_color = (1.0, 1.0, 1.0)
        else:
            for obj in bpy.data.objects:
                obj.color = (random.uniform(0.0, 1.0), random.uniform(0.0, 1.0), random.uniform(0.0, 1.0), 1.0)

            for mat in bpy.data.materials:
                mat.use_object_color = context.scene.use_viewport_color

        return {'FINISHED'}

class VIEW3D_PT_randomize_viewport_colors(bpy.types.Panel):
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_label = "Randomize Viewport Colors"

    def draw(self, context):
        layout = self.layout
        layout.prop(context.scene, "use_viewport_color")
        layout.operator("randomize_viewport_colors.update")

classes = (
    RANDOMIZE_VIEWPORT_COLORS_OT_update,
    VIEW3D_PT_randomize_viewport_colors
)

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
    bpy.types.Scene.use_viewport_color = bpy.props.BoolProperty(
        name="Enable Viewport Color",
        description="When checked and update is pressed the viewport coloring will be enabled for all materials.",
        default=True)

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)
    del bpy.types.Scene.use_viewport_color

if __name__ == "__main__":
    register()


2.81 Transparent Background Shadow Catcher

There is a "shadow catcher" option in the object visibility properties. It works only in cycles. Actually I don't know of a simple easy way to do it in Eevee.


Array light set to 100k strength isn't bright enough


Faces in solid mode suddely seem to be weidly bugged

The reason for this issue is that the viewport clipping start is set to 0. If you go to the properties panel (bottom left on the second screenshot) and make the value greater than 0 (the default minimum that blender will allow you to drag it down to is 0.001 and the default value is 0.1) then the objects will look normal again.


Drivers don't see the final rotation of a constraint. How to get copied rotation instead of (0,0,0)?

Let's reproduce the issue: two cubes, one copying the rotation of the other using a constraint. Each cube has a Suzanne copying the rotation of the cube in front of it, using a driver.

the driver for "sleeping" Suzanne:

Changing its type to Scripted Expression, default variable type to  Transform Channel and the property type to the rotation axis of your interest:


What's the difference between shader editor and compositor

Shader editor is for editing backgrounds and materials, and it has a large viewport so you can see what you're doing. Compositor is for compositing, or combining images, and this requires more nodes (most of the time), hence the larger node area


Why is Blender 2.8 messing up my colors in Texture Paint/Image Editor?

Had a similar problem and i noticed that on the image editor side, look at the properties tab and make sure there is no set texture then it will work normally.


I deselect all strips successfully via:

for s in bpy.data.scenes['Scene'].sequence_editor.sequences_all:
    s.select = False


The basic way to do it is to switch to top view, select the edge, put your 3D cursor where the center of the rotation is supposed to be:

Select the Spin tool:

Rotate the edge, use Ctrl to constrain to 10° by 10°, tweak the Operator box parameters if necessary:

You could also use a Curve modifier but it will be a bit slower


Blender Camera Settings Millimeters/Field of View conversion

It's because the sensor's size plays a role either. Wikipedia says:

  So a standard 50 mm lens for 35 mm photography acts like a 50 mm standard "film" lens on a professional digital SLR, but would act closer to an 80 mm lens (1.6 x 50mm) on many mid-market DSLRs, and the 40 degree angle of view of a standard 50 mm lens on a film camera is equivalent to a 28–35 mm lens on many digital SLRs.

Hence, you need to increase the sensor's size to 42.447
I believe there's a formula for this.


How to prevent malicious code execution loading blend files?

Yes, It is enough to open a blend file with Trusted Source disabled. *

But looking the the text editor is not the only place that can contain code. Animation driver expressions can also contain code too.

Take care, even when the file is not trusted you could inadvertently run a script by...

Starting the game engine.
Rendering with freestyle.
Executing a command in the Python console.

If you are in a situation where you need to load blend files you don't trust (an online render-farm for example). Suggest to sandbox the environment Blender runs in (see containers).

* There is the possibility of crafting a file which makes use of a buffer overrun exploit, these are much more involved then writing malicious Python scripts.

For reference, this is a known pain-point, see these threads:

"Python Security gets in the way"http://lists.blender.org/pipermail/bf-committers/2010-April/027216.html
"Python Sandbox"http://lists.blender.org/pipermail/bf-committers/2010-March/026778.html
"Please turn off Auto Run Python Scripts by default"http://lists.blender.org/pipermail/bf-committers/2013-June/040502.html
"Trusted blend files and scripted drivers bug and annoyance"http://lists.blender.org/pipermail/bf-committers/2013-August/041464.html
"Keymaps and presets - Security issues?"http://lists.blender.org/pipermail/bf-committers/2015-June/045523.html


Move the tool shelf panel to the other side?

Move the mouse over the Tool Shelf and press F5. This can also be done with the Properties sidebar and headers.


Without seeing the blend file I cannot be certain that this is the cause of your issue, but I have had this exact problem before when I was painting on a texture imported from a .dds (DirectDraw Surface) file.
When re-saved as a png file Blender could draw to it in memory and it updated just fine on the model.  When left as .dds it just wouldn't work, or would update in odd infrequent spots.  Even though the file is held in memory in Blender and it shouldn't matter what format it's in on disk... it does.  If you have a texture file and it isn't png or something equally simple, try saving it as that?


Error attempting to import image as plane in blender internal

I had the same error:

Apparently images can't be in the same context as the blender file (note on the report error, first line starting with File, context is written within the parenthesis).

So create another file separated from where the blender file is and import your images from there. It worked fine for me.


I don't think you can move skyline in these. You can only control the movement of the sun/moon and other parameters.

because these are similar to hdri, you can't really control such things, however there is some add on I forgot it's name that can make any hdri into a half dome, so it will close to a mesh.
P.S: I wanted to comment in stead of an answer, but I don't have enough reputation yet. because I may be wrong.


I found the solution.

Select the Point light object.
In Object Property, under Visibility, try the settings below. It works for me.


Can I run Blender on my universities server through SSH?

Yes, this is absolutely possible. With SSH, you can access the command line remotely (as SSH is Secure Shell). If you have the command line blender installed on the server, you can run a command to render a .blend file.

In some situations we want to increase the render speed, access blender remotely to render something or build scripts that use blender command line.
One advantage of using command line is that we don't need the X server (in case of Linux) and as a consequence we can render remotely by SSH or telnet.

To render an image:
blender -b file.blend -o //file -F JPEG -x 1 -f 1

To render a movie:
blender -b file.blend -x 1 -o //file -F MOVIE -s 003 -e 005 -a

From http://wiki.blender.org/index.php/Doc:2.4/Manual/Render/Command_Line
On CentOS, you would downloaded either by source, or with yum install blender. The yum method is better as it installs dependencies too. Root privileges might be necessary however. Contact administrator if you don't have them and ask him to install it. There are also pre-compiled binaries on Blender.org to eliminate the dependency issue.


Shift right click on the upper left corner of a window creates a floating window. Now you can drag that over to the second monitor.


How to get a Center Point from multiple Vertex Locations?

I will just assume that you're not gonna to consider weight averaging.

The following script show how you could get those coordinates and deal with them, with some comment for very beginner.

import bpy
import numpy as np

# This line select and get the active object from context
ob=bpy.context.object

# Create a Python structure: dict(), with key = vertex_group.name
# and value = vertex_group.index
GL = {g.index: g.name for g in ob.vertex_groups}
verts = {name: [] for name in GL.values()}

for v in ob.data.vertices:
    for g in v.groups:
        verts[GL[g.group]].append(v)
# All the location(co) and index can be found in "verts[name]" list by its attribute using '.'
# eg. verts[G_name][314].co == Vector((1,2,3)) #True
# The "verts" dict's list store the references list point to the data (which is object) they linked

vertex_group_info = {}
for key, value in verts.items():
    # Using numpy array for convenience
    temp = np.array([(v.co[0],v.co[1],v.co[2]) for v in value])
    max = np.max(temp,axis=0) #calculate the max
    min = np.min(temp,axis=0) #calculate the min
    # Average the cooridinates by add them and divide by number of vertices
    center = np.sum(temp, axis=0) / temp.shape[0]
    vertex_group_info[key] = {"max": max,
                               "min": min,
                               "center": center}

What is weighted version?

Let say we got 3 points assign to a group with 1.0, 0.02, 0.01 weight. You might want to calculate the weighted average, which is very closed to the 1st point since 2nd and 3rd show little to no influence to the group. The script above still treat these vertices as same weight if the weight value is not equal to 0 (not assigned).

In the weighted case, you will need to multiply the coordinates by the vertex weight and sum all these weighted coordinates. Than divided it by the sum of vertex weight.


You just might move cloth simulation over sur-sub modifier.


Did you make a UV map for your plain (plane?)?
If I understand correctly, your plane is square in the projection along the z-axis.
You could switch to top view, switch to edit mode, UV-unwrap with the option "project from view (bounds)". This should line up everything neatly.
Maybe you'll have to rotate the UV map in the UV editor by some multiple of 90 degrees afterwards, but the size and relative position should match then.
This is how you set the texture coordinates to use the UVMap:

Or maybe upload your blendfile, so we can have a better look?


How do you programatically set grid scale?

The error message is trying to inform you that the property lookup <screen>.overlay was unsuccessful, because that's not where that property is located (the tooltip is misleading..) . It's something you might want to iterate through screen area.spaces to locate and set. It's a little awkward, but acceptable.

import bpy

AREA = 'VIEW_3D'

for window in bpy.context.window_manager.windows:
    for area in window.screen.areas:
        if not area.type == AREA:
            continue

        for s in area.spaces:
            if s.type == AREA:
                s.overlay.grid_scale = 2
                break

or..

import bpy
for area in bpy.data.screens["Scripting"].areas:
    if area.type == 'VIEW_3D':
        for space in area.spaces:
            if space.type == 'VIEW_3D':
                space.overlay.grid_scale = 2
                break


Is Re-Topology necessary for Texture Painting?

I'm still new to 3d modelling but i believe the general rule is that for sculptures you always need to retopologize the mesh. If not, the 3d model will lag or crash the computer system when animating or moving it because the mesh is so heavy in topology.
UV-unwrapping the sculpture also becomes impossible to do by hand as there's thousands of different faces and vertices to choose in the UV-Unwrap process. In other words, the sculpture does need to be Retopologized before applying textures.


The Blender Material Preview Scene (BMPS) was included in the 2.61 demo files, which you can download here:

Blender 2.61 demo files: Cycles & Dynamic Paint

Just open the bmps.blend file to find the material shader ball scene.


Can Cycles take more samples at object borders?

What you are referring to is a strategy called Adaptive Sampling, which, unfortunately, cycles doesn't support yet.

To clean up the noise for this, I would recommend using the Branched Path Tracing integrator. This allows you to use different sample counts for different ray types!

It is likely that the noise is caused by only one or two of the ray types, or "passes" in Cycles. To find out which one(s) are causing the most noise, enable all the pass options in the Scene Properties tab and within the compositor, view the passes of the render output node individually.

Then, you can increase the samples for that specific pass using the corresponding "ray type" in the Branched Path Traceing sampling settings. This allows to increase the samples for a problematic element of the render while keep the samples the same for the rest.

Hope this helps! If you have further questions or need clarification, feel free to ask


You can find 'Color Management' in the 'Scene' tab of the 'Properties' area (the tall column on the right with the icons at the top).
You are currently on the 'Modifiers' tab (highlighted in orange, which is displaying the 'Displace' modifier), you need to click on the 'Scene' icon (highlighted in red):

In the 'Scene' tab is where the 'Color Management' options reside.


Collapsing Verts without creating triangles

You could simply add some perpendicular edges.
That will keep the geometry even along the whole edge.


Sensors are not detectable via ray detection.

Typically sensors sense other objects rather then being detected.

Workaround:
Add another object that fills the sensor object. Give it a physics type that can be sensed via ray. Parent it to the sensor (or the other way around). Ensure your sensor ignores this object. This way the ray can detect the new object.


we have several builds that recover BGE/UPBGE for Blender 2.8.
UPBGE has the possibility to input/output to a decklink card.

In this link (https://mega.nz/#F!t9EEFSaS!JPiOPSInCZyU-SW_-rhEOQ) builds from 2019/11/04 have decklink activate:

Maybe we need to update decklink examples (as in https://docs.blender.org/api/blender_python_api_2_78b_release/bge.texture.html) to use new Opengl shader version. We are in process.


How do I move an item on its axis when its rotated?

I think what you're trying to describe is moving along the local axis. Assuming you haven't applied the rotation of the model, you should be able to press g to move the model and then the axis you want to move on TWICE. When you press the axis key twice it goes in that local axis rather than in the world view.
I can go ahead and include some images if you need! Let me know if this helps you out.


If you're on Windows try selecting the font "MS Mincho" (it should be  C:\Windows\Fonts\MSMINCHO.TTF). Or MS Gothic (msgothic.ttc), this is how Libreoffice Writer gets it.

At least that font is used on my Microsoft Word (on Windows 7) when I paste your char into a blank document. I tried setting both the above on Blender, and it works:


It might not be a sexy answer, but I'd say: measure. If you want to simulate the real world, know your world.

What do you do if you want to model a realistic excavator? You either get a good model or you use reference picture. You imitate the real thing which has the knowledge of engineers. You use their knowledge. Getting bevel sizes is doing the same thing in detail.

It's mostly not shape or size, it's the manufacturing process or the intended use that decide on the roundness of anygiven edge.

So, get into the real world and measure bevels. And make a reference chart.

When I wanted to model a typewriter, I decided to measure all the bevels to get the proportions right.

The beauty of 3D is that you learn much more than to simply use the software.


Data gets orphaned when grouped into a collection (2.8+)

This is not classified as a bug, but rather a usability issue.
Anyone wanting more details can read the developer discussion here.
I hesitate to quote excerpts from that discussion in this answer, since the design will almost certainly evolve and change. But there seems to be some disagreement about how some of the functionality from previous versions of Blender should be carried over in 2.8 onward with regard to collections.
For now, users are better off using the M key when adding objects to a new collection.
More information about creating collections and adding objects to them can be found in the Blender Manual.


Particles don't collide with rigid bodies

I see what you were trying to do with the Soft Body Physics, but what you really need is a Rigid Body Physics simulation. You can learn a bit about it in this quick, fun tutorial, but it is basically a simplified physics engine for gravity and whatever else you want to have affect your meshes.

For the falling-through-the-bottom-box issue, I turned off Collision Physics for all of the meshes except the floor because it has to deal with the particles. I changed some settings to make the particles bounce nicer. I also added all of the meshes to the Rigid Body Physics simulation. You can tell this because when you select them, the outline is green instead of orange. Additionally, I adjusted the particle settings so that they began emitting at the collision of the two boxes.

Final result:

Here is the modified .blend file:


Modify complex mesh to sotfen hard angles (eventually for 3D printing)

For fixing such models for 3D Printing I suggest taking a couple steps:

Use 'Tris to quads' (Ctrl + j in Edit mode)
Try selecting the edge loop in question (Alt + RMB)
By using 'Scaling' (s) and 'Moving' the object (g) in combination with 'Proportional editing' (o, use mouse wheel to specify the radius in which vertices will be affected) you can smoothen the area in question.

I also suggest using 'Smooth Vertex' located in the 'Tools' panel (t), only the selected vertices will be affected.

If you edit the mesh and reduce the amount of proximity loops around the edge you want to soften, you can use subdivision modifier.

If you can't avoid the overhangs (front of the mask rounded, and the back has steep angles as in the picture you attached) you might want to split the model into parts and print them in a different orientation, in most cases however it requires more work to choose this solution.

Lastly, since the overhangs shown in the picture you attached are quite steep. Unless you want to make the back completely flat, I would suggest you still use some supports to print such models (as the overhangs tend to start at the last layers of the print, you might be disappointed to see the model printed well and when it came to the overhangs layers it failed.)


Align 2 faces with only two vertices and constraints

I'm confused with the question so here are a few options.
To flatten the faces on the $Z$ axis, for example, select all vertices, scale them to zero (press  S + Z+0)
You can modify the coordinates for any point numerically. Enter edit mode (↹ Tab) enable the Sidebar (press N) to access the Item Properties panel.
You can see the Local and Global coordinates and manipulate them at will.

So you can flatten the faces first and then, with all vertices still selected, you can set them at the correct coordinates numerically.

To move a vertex along an existing edge, use Vertex Slide (⇧ Shift+ V)


If you are using Blender Render and a texture with Normal Coordinates (as opposed to the viewport MatCap), the grey pixels apparently come from the image sampling.

In the Texture properties, try setting Extension to 'Clip'.

Or use the OpenGL render with the Normal matcap, which works well.

This happens because when your camera view vector is normal to the faces' normal vectors (in other words, when the face normals are at 90°), the texture is sampled at its border. If the surface is vertical or horizontal (eg. walls and floors) AND the texture repeats, it is sampled at both the left and right borders (respectively top and bottom for floors and ceilings), resulting in an averaged grey.


It's doing exactly what it's being told to do. If you view along the Y axis CTRL-numpad 1 and hit numpad 5 for orthographic view, you'll see the 2 eyes are not centered on the ghost in the direction that shrinkwrap is projecting it.

As you have it, in Project mode, Shrinkwrap projects a mesh into another mesh along a defined axis.
The simplest fix, is to move both eyes to be centered across the centre line of the ghost.

Also, apply your rotation so the direction of projection makes more sense, Negative Y.


Get visual transform of object through python

As your mesh is composed of multiple pieces that are posed with armature, the mesh itself has only 1 origin and 1 matrix transform.

To get the transformation of pieces you need to extract transformation of those pose bones.

You can use bpy.data.objects["Armature"].pose.bones["Bone"].matrix added to your armature global transform matrix or also you can use this answer:

How can I manually calculate bpy.types.PoseBone.matrix


I Want to Access Walk Mode in Texture Paint Mode With Shift + F

Using the Spacebar menu > Walk Naviation (you have to use type search, see more here) will do the trick. There is currently no shortcut for this in texture mode.

If you want to add or override a shortcut for it, we can do this in the user preferences, File>User Preferences or Ctrl-Alt-U.

(Note: Opening up a new instance of blender is a good idea if you don't want to mess up you startup file)

Go into the input tab. Tab into 3D view and then into image paint. Next look for the shortcut you want to override, if it is not there, use add new.

Fill out the above form with the infromtaion, be sure to enter view3d.navigate into the little text box.


How can I discover the author of a blendfile?

You can't, This author field is only ever used in exporters. In the COLLADA export to be precise, where the COLLADA format can have an author tag, and I wanted it to be possible for users to have a configurable content for this, so I added the author field to user preferences.

Not everybody will have this set, either, so best not to rely on this for 'correct' user data.


How do I load a UV map onto a 3d mesh in 3d View

Try adding in a material using nodes for the object then, use my example here:
*I recommend pressing Cltr + T on the image for a better time editing.

If you don't known how to get there, there are loads of tutorial online for you to use


Switch to editmode

select the 4 adjacent vertices

and press f


Using NLA strips on different bones belonging to the same armature

You would need to create actions for all of the four arms.

Reusing one action for different bones wouldn't work because the action holds the keyframed properties like rotation and location only for the bones selected while adding a keyframe.

But you can try to copy Ctrl-C and paste Ctrl-V the selected property values (or f-curves) from one action to another, this requires that you insert an initial keyframe for the bone to animate.


A few of thoughts:

The rendered view on the viewport is really not a good indicator of how things are going to look in the final render and should be viewed with caution.

(read this link for more info)

Instead, use a Render Border to test render small segments of the image and evaluate the real render settings. It is the only way you will get an idea of how things are working.

It is easier to perceive noise in Dark and low contrast images with small light sources. Our sense of a noisy image is relative, images with more contrast are perceived as to have less noise than those with low contrast. Even when the grain structure is the same.

Rendering at a larger size and reducing the image size in postproduction can also help mitigate noise.

Another trick is not to make the original image not quite as dark and then darken later, as part of postproduction.

Additionally you might want to try the new denoise feature on available on v2.97. You still need a lot of samples to get a decent image, but not quite as many as you do without denoising.


Maya camera navigation while keeping blender keymap

Go to Edit > Preferences > Keymap

Search for "rotate" and set your custom shortcut :

Also, I don't remember if maya rotates the viewport based on selection pivot but to set this behaviour go to Edit > Preferences > Navigation and check the "Orbit around selection" :


Replacement For "Centers Polygons" Node In Blender Sverchok?

Section analyzers has two nodes for this feature. Both have benefits, one output matrices, other has median calculation and bounds center and median weighted also.


To do that, set snapping on with these setting:

Then create an empty and move it on the face on the nut:

The empty now has the same orientation as the nut.

Parent the nut to the empty: select the nut then shift select the empty and CtrlP.

Now select the empty and remove its rotation using AltR.

The nut is well oriented.

Last steps, clear parent from the nut AltP with keep transforms and apply its rotation CrtlA then rotation.

Note: if several objects have the same fake rotation, you can use the same process parenting them all to the empty.


I did a little testing on the new egpu I have for my imac and there is definitely an incompatibility on my system between the board and the denoiser.

The incompatibility seems to make everything black with the Glossy Direct turned on.

With Glossy Direct turned off, everything is wicked contrasty after denoising.

With the glossy indirect turned off, everything is extremely dark after Denoising.

Playing with the different denoising levels doesn't change any of that.

I am running an AMD Radeon R9 in an Akitio enclosure, with a 2015 imac. Renders are faster but I definitely wish I could run the denoise to cut down on samples.

Hopefully, the incompatibility will get fixed in the next version.


Keep Voronoi texture look during Cell Fracture

The easiest solution is to use UV coordinates.
After fracturing the UV map is separated for each 'shard' and the texture stays in place.

The main downside are 'seams' along the edges of the original UV map.

For seamless look:
Use an empty to  control the Voronoi texture :).

Add an Empty in the same place as your sphere
Change the Texture coordinates to Object > Empty
Now fracture your sphere, and the texture will stay the same

Now bake the result for each individual shard.

One solid sphere. One fractured sphere. Each has it's own empty, textures look the same


Hide the bottom face and you'll see that you've got inner faces (a ring that goes all around), it messes up the faces normals, so delete them. Also flip the normals and delete the vertices that are almost overlapping.


You're trying to use a cycles material with blender internal. This probably happened because you created your material with cycles selected and changed to blender internal. Materials are specific and can't be used with both renderers.

You can choose to change the renderer to cycles (1)
You can unassign your material and create a new one (2)
You can remove nodes from your material and modify it to be blender internal (3)


Weird behaviour when assigning material to specific faces

The subsurf modifier is smoothing the edges which allowed the above material to bleed out to the sides.

Add two loop cuts to the sides to fix it. (shortcut ctrl+R, then sroll up once)


Removing white artifacts from composition

Set this transparent color to black (also transparent, but base on black):

Also try z-combine instead of Alpha Over:


How can I apply the Shape Key Driver to the Pose mode?

Set the driver to the value property instead of the mute one.


you have 12 vertices, but are only using 4...
'f 1 2 3 4' is your first plane, so edit second one to read 'f 5 6 7 8' and third one to 'f 9 10 11 12'


Using closest point on mesh

Test code, assumes spheres are named "Sphere[.nnn]" and cubes "Cube[.nnn]"  If a hit from the sphere's centre to a point on a cube is less than the sphere's radius, then it parents them.

import bpy
from bpy import context

scene = context.scene
spheres = [o for o in scene.objects if o.name.startswith("Sphere")]
cubes = [o for o in scene.objects if o.name.startswith("Cube")]

for s in spheres:
    o = s.matrix_world.to_translation()
    radius = sum(s.dimensions) / 6 # sphere radius guestimation
    for cube in cubes:
        cmwi = cube.matrix_world.inverted()
        local_pos = cmwi * o
        (hit, loc, norm, face_index) = cube.closest_point_on_mesh(local_pos)
        if hit:
            v2 = cube.matrix_world * loc
            # distance from global hit to cube
            l = (v2 - o).length
            if l <= radius:
                cube.parent = s
                cube.matrix_parent_inverse = s.matrix_world.inverted()


The reason you can't use a "constructive modifier" on a curve is because a curve has to be defined by mathematical control points instead of free-floating vertices. You can visualize the decimate modifier in the viewport or render, but if you were to actually apply it you might create a shape that can't be represented by the control point equations, and then you would have broken mathematics.

The way to fix this is to convert your curve to a mesh. Select the tree and use AltC:

Here's the result:

Then any mesh-based modifiers will work fine.


Physics issue - spheres are floating above the floor

In the floor Rigid Body / Sensitivity, lower Margin.

For optimization purposes, it would be a good idea to replace the floor mesh by an invisible plane, with a collision shape set to Box. (And set the shape of the balls to Sphere instead of Mesh)


Okay, if exporting as Wavefront's .obj file there is a check box "Write materials", unchecking which solves the problem. .obj is widely used and will work in my case.


I give a small suggestion when you add the cube add a little thickness (solidify modifier). Then use the boolean modifier it work perfect you can see below.


How to get the selected bone's selected order in python API

You can use a modal operator to handle your own selection order:

The script below is based on one of the scripts templates available in Blender (the one called 'operator modal draw', but 'operator modal' can be enough if you don't want to draw anything).

The needed parts are commented below (but please comment if you need more information):

import bpy
import bgl
import blf

def draw_callback_px(self, context):
    font_id = 0
    blf.position(font_id, 15, 30, 0)
    blf.size(font_id, 20, 72)
    blf.draw(font_id, " / ".join([b.name for b in self.bones]))

class ModalDrawOperator(bpy.types.Operator):
    """Draw a line with the mouse"""
    bl_idname = "view3d.modal_operator"
    bl_label = "Simple Modal View3D Operator"

    def modal(self, context, event):
        context.area.tag_redraw()

        #Escape here allows to stop, but you can also do it from any other property from your addon
        if event.type in {'ESC'}:
            bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
            return {'CANCELLED'}

        #Last selected is first in this way of coding
        self.bones = [b for b in context.selected_bones if b not in self.bones] + [b for b in self.bones if b in context.selected_bones]

        #Return PASS_THROUGH in order to allow Blender interpret the events
        return {'PASS_THROUGH'}

    def invoke(self, context, event):
        #Check the context for 'EDIT_ARMATURE'
        if context.area.type == 'VIEW_3D' and context.mode == 'EDIT_ARMATURE':
            args = (self, context)
            self._handle = bpy.types.SpaceView3D.draw_handler_add(draw_callback_px, args, 'WINDOW', 'POST_PIXEL')

            #Empty bones at the beginning
            self.bones = []
            #Or allready selected
            #self.bones = context.selected_bones[:]
            #Or from your data
            #self.bones = your previous selection

            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "View3D not found, cannot run operator")
            return {'CANCELLED'}

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

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

if __name__ == "__main__":
    register()


Short Answer

No, there isn't.

Long Answer

I just looked it up and it seems that there is not a hotkey for that by default, so I whipped up an addon real quick to do it. Install this and you can add a shortcut to it if you'd like. Another trick is to press and drag over the toggles in the outliner (this actually works just about everywhere in Blender's UI) to quickly enable objects that are close together in the outliner. The add-on can be found in the tool context in the 3d view. Just copy this into a text editor like notepad (simpler is better) and save it as quick_toggle_selectability.py, then install it like you would any other add-on.

# Copyright 2016 Jake Dube
#
# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# ##### END GPL LICENSE BLOCK #####

bl_info = {
    "name": "Selectability Toggle",
    "author": "Jake Dube",
    "version": (1, 0),
    "blender": (2, 76, 0),
    "location": "3D View > Tools > Select",
    "description": "Button to toggle selectability",
    "wiki_url": "",
    "category": "3D View",
    }

import bpy
from bpy.types import Scene, Panel, Operator
from bpy.props import EnumProperty

class SelectabilityTogglePanel(Panel):
    bl_label = "Selectability Toggle"
    bl_idname = "3D_VIEW_PT_layout_SelectabilityToggle"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = 'Tools'

    def draw(self, context):
        scene = context.scene
        layout = self.layout
        layout.operator("scene.quick_toggle_selectability", icon="RESTRICT_SELECT_OFF")
        layout.prop(scene, "action", text="")

class SelectabilityToggleOperator(Operator):
    bl_label = "Selectability Toggle"
    bl_idname = "scene.quick_toggle_selectability"
    bl_description = "Toggle/Disable selectability"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self,context):
        scene = context.scene

        for active in bpy.context.selected_objects:
            bpy.context.scene.objects.active = active

            if scene.action == 'TOGGLE':
                active.hide_select = not active.hide_select
            elif scene.action == 'ENABLE':
                active.hide_select = False
            else:
                active.hide_select = True

        return {'FINISHED'}

classes = [SelectabilityTogglePanel, SelectabilityToggleOperator]

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

    Scene.action = EnumProperty(
        items=[('TOGGLE', "Toggle", ""),
               ('ENABLE', "Enable", ""),
               ('DISABLE', "Disable", "")],
        name="Action",
        description="What the button does to selected object's selectability",
        default="TOGGLE")

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

    del Scene.action

if __name__ == "__main__":
    register()


Blender Doesn't Permit Indices in Drivers?

As I said in the comments

Raising a value to a power is pretty standard math, something python can defiantly do.

Your trouble comes from a simple python syntax error. You are using ^ when the syntax in python is  ** for power of (^ is the bitwise XOR operator
).  As you can see here in the python docs ** is the the correct form.

You could alternatively use pow() function.


Wrong / Undesired Bone Rotation problem with IK rigging

Re-symmetrize the left bones, roll 180° the top 2 right bones (CtrlR). You sometimes need to correct the bones orientation once symmetrized:


Sharp edges not sharp enough when bending?

You're using NGons (faces with more than 4 vertices/edges) and a curve converted to mesh, resulting in bad triangulated topology.
They're exactly what you don't want to bend.

Smoothed curve surfaces need quad topology.

All you can do is trying the face beauty fill (Ctrl+F menu with faces selected), or selecting the flat faces deleting them and reconstruct something better (extruding/scaling inside the outer loop) or using remesh modifier.

For your big round face of the background, inset it with I multiple times to the center and Alt+M at the center to merge the last loop at the center.

This is an exemple of a manual retopo. All quads, can be subsurfed, no bending artifact.

Blend file here


When you applied an armature on the particles system based mesh by default armature appeared at the end of modifiers, Please have a look of image below:

Please move up Armature modifier on top of particles modifiers and your hair should be follow the armature

Please take a look of image below:


How do you connect two edge loops with a face between?

There are several way of doing this.

The easiest is to use the vertex connect path tool J which will make a new edge between the two vertices, splitting the face into two.
The next best thing would be to use the knife tool K and just cut in new edge between the two vertices. Again that will take care of the faces.
To use the fill tool F you will first have to delete the N-gon in the middle. Then create two faces.

In this gif I go through the three methods listed above. First using the vertex connect tool, then the knife tool, and last creating the two faces manually with the fill tool.


Cannot assign material to the correct face

You are dealing with two issues: non-planar geometry and the interpolation generated by the subsurf modifier.

Let's start with the second.

The subsurf modifier is designed to make things rounder by subdividing the existing faces and make them smoother. If the faces are too big for the complex shapes you are trying to achieve, you'll see artifacts.

The solution is to edit your mesh with a bit more density so that the shapes are better described. Then the subsurf modifier will not be interpolating the surfaces and it's materials in such a drastic way.

Now, for an explanation of how to deal with non-planar geometry read this answer


Why does the same material looks brighter/darker on another object?

The problem seemed to come from the orientation of the UV unwrapped faces.

I didn't have the same textures, but replaced the missing 2 textures with concrete and stone wall textures to check. First i could not find the problem, as shading, normals and even custom normals did not help. Then i unwrapped the 2 parts from scratch and gave them more seams to have a clean unwrap, not the "Smart UV Project".

I then made sure the selected areas were given each the materials to have a similar result as was shown in the question:

Using a sun light to check the shadowing of the wall sections, the smaller one always seemed to be reacting exactly the opposite way then the big one. When i pointed the sun on the walls the smaller one became dark, and when i directed the light away it became bright.

As of that moment, considering that i tried all the other options mentioned, i had only one other idea: UV map.

I selected the UV map of the small corner wall and rotated it by 90° by selecting all with A and then pressing R followed by typing in 90 and confirmed it with Enter, the process shown below:

The result was this:

Also regarding the pixel density, i believe the easiest way would be to select all involved objects after they are unwrapped, go in UV Editing and select all elements A, to then use the "Average Islands Scale" function in the UV menu:

Happy Blending


iterate through all selected objects, but do a different operation to each one

Fortunately, your code can be made a lot simpler. In Python it is rarely needed to iterate over a collection and keep track of an index yourself, thanks to the built-in enumerate() function. Here is how I would do this:

Update: I've adjusted the code below to take the row length into account, and stack the objects in a grid.

import bpy

offset_y = 2.5
offset_z = 3
row_length = 5

for nr, obj in enumerate(bpy.context.selected_objects):
    row = nr % row_length
    col = nr // row_length
    obj.location = (0, row * offset_y, col * offset_z)

I have also renamed rowLength to row_length, as in Python usually local variables are all lower caps with underscores.

The trick is to first compute the row and column number given the object number, and then compute the Y and Z coordinates from the row and column.


inst_verts_coords is a list of coordinates (Vectors). So you won't be able to apply a matrix to this list. Maybe you want to change the following line (assuming you want to apply matrix to each individual Vector element of the list):

part_obj_coords = [p.location @ inst_verts_coords]

to:

part_obj_coords = [M @ co for co in inst_verts_coords]


How do I use/change Animation Extrapolation? (Can't find F-Curves / Animation Modifiers in 2.8(1))

The panel is hidden behind this tiny arrow:

This expands it and you can select the Modifiers tab (Cycles is the one you want)

The standard shortcut is "n", but I don't know about the industry compatible keymap.


You have to unlock your controller bone loc channels.


Random step between instances on animation nodes

You can use Evaluate Spline node instead of Distribute Matrices node and feed random floats as its parameters input.


Unwrapping creates incorrect mesh over texture (picture) on UV editor

Procedure that caused the problem:

1. Creating object (Plane)+ its dimensions

In 3D View; Object Mode:
Add\Mesh\Plane
Dimensions: x=82; y=313; z=0

2. Defining properties

In Properties:
Define material (doesn’t matter which one),
Define texture - by opening (importing) the picture (.jpg) file.

3. Adding Second window – UV Image Editor

Splitting area, so that I can see two working windows.
A new window is located on the right side. Switch  to ‘UV Image Editor’.

4. The picture

Import the same picture that was used for texture into the new (UV Image Editor) window.

5. Creating a mesh

Going back to left window (3D View window),
Change mode to ‘Edit mode’,
Tools\Mesh Tools\Subdivide
Repeat ‘Subdivide’ 3-4 times.
Note that the cells of the mesh that appears are rectangular shaped!

6. Unwrapping

Mesh\UV Unwrap\Unwrap

7. The Problem

That’s the point where the mesh is also shown over the picture (in UV Image Editor), but it doesn’t cover the whole picture. That was the main problem!
Note also that the cells of the mesh over the picture are square shaped, while the cells of the mesh over the object (in 3D View) are rectangular shaped!
It is not possible to reach the goal by changing dimensions or scale of the object (left window\Transform\Scale or Dimensions), one can’t obtain the goal – i.e. cover the whole picture.on the right window with the mesh!

Correct procedure:

1. Creating object (Grid)

In 3D View; Object Mode:
Add\Mesh\Mesh
Add Mesh\X Subdivisions = 82
Add Mesh\Y Subdivisions = 313
Dimensions: x=82; y=313; z=0

Note that Grid object type allows mesh to be subdivided unequal number of times on x and y axis, unlike the Plane object, that allows just equal number of subdivisions on both axes! Thus, using Grid,  one can obtain almost square shaped mesh on a rectangular (82 by 313 points) shaped Grid object!

2.   In Properties:

Define material (doesn’t matter which one);
Define texture - by opening (importing) the picture (.jpg) file.

3.   Adding Second window – UV Image Editor

Splitting area, so that I can see two working windows,
A new window is located on the right side, I switch it to ‘UV Image Editor’.

4.   The Picture

Import the same picture that was used for texture into the new (UV Image Editor) window.

5.   No need to create a mash here! It was already created In 1.

6.   Unwrapping

Mesh\UV Unwrap\Project from View (Bounds)

Note that the unwrapping here is done using a different option – ‘Project from View (Bounds)’.
That’s the point where the mesh is also shown on the right picture (UV Image Editor), and now it covers the whole picture!
Problem solved!


If your PNG has a transparent background, plug the Image Texture with your image in the bottom entry of a Diffuse, plug this Diffuse in a Mix Shader, and plug the Mix Shader in the Material Output. Now plug a Transparent BSDF (100% white) in the top entry of the Mix Shader, and plug the Alpha output of the Image Texture in the Factor of the Mix Shader. It should work


How to use the current file name as the the output name in the File Output Node and without the frame number at the end?

AFAIK the answer to both is No.

The frame number padding zeros can be configured by adding # to the filename:

From the wiki page on CLI rendering:

 -o or --render-output <path>
     Set the render path and file name.
     Use // at the start of the path to
         render relative to the blend file.
     The # characters are replaced by the frame number, and used to define zero padding.
         ani_##_test.png becomes ani_01_test.png
         test-######.png becomes test-000001.png
         When the filename does not contain #, The suffix #### is added to the filename
     The frame number will be added at the end of the filename.
         eg: blender -b foobar.blend -o //render_ -F PNG -x 1 -a
         //render_ becomes //render_####, writing frames as //render_0001.png//

This works in the GUI too:

So the above becomes render01.png, render02.png etc.
A single # = no padding. (i.e. render1.png)

However, I don't think there is a way to completely remove the frame number from the file name through blender, though it's really not hard to remove it later.

As for the blendfile name in the Base Path:
You could write a python script to set the Base Path of all File Output nodes to the blendfile name:

import bpy
import os

# Get file name:
filename = bpy.path.basename(bpy.context.blend_data.filepath)

# Remove .blend extension:
filename = os.path.splitext(filename)[0]

# set the base path for all file output nodes to filename:
for scene in bpy.data.scenes:
    for node in scene.node_tree.nodes:
        if node.type == 'OUTPUT_FILE':
            node.base_path = "//" + filename


How to set the camera in a precise position?

You need to rotate the camera 90 degree along the Y-axis. To do so, select the camera, then hit R then Y then 90.


In my case, the following worked on my own shared drive, both PCs running Windows 7 Ultimate 64bit:

1. in the sharing settings for that particular folder, make sure that Read AND write are enabled:

2. Make sure your antivirus and firewall allow the exe to run (In my case, Avast was blocking it)

3. make sure that "Run as Administrator" is enabled in the exe properties:


Animate 8-shape kite flight pattern with fixed camera mounted to it

Instead of Track To use the Damped Track constraint:

That results in this motion:

Orbiting a cube from above:


Smoke Simulation has weird artifacts and looks low res

You can:

Increase the domain's Division value (this will change how the smoke simulates, interacts and looks and will increase simulation time)
Turn on Smoke High Resolution (this will introduce noise into the simulation to add detail, more info in manual).
Check if the domain material has Cubic set for it's voxel interpolation (should be by default):

Volumetric domains are like raster images but in 3D. Imagine rendering a low resolution texture close to camera on a FullHD render - no matter what you do, even if you go to 4K, the texture would still render as ugly blob.


Here are two beziers pairs beveled to two differently sized circles: in my test, it's pretty much the same size... it could be something else, or I don't understand what you did.

my test .blend


How to build building that is made of small pieces - how to correctly put rigid body over rigid body?

AFAIK Bullet (the library blender uses for rigid body simulations) is designed more for real-time speed over accuracy, so you might have to use some tricks.

Select all the objects in the tower and enable Enable Deactivation and Start Deactivated in Properties > Physics > Rigid Body Collisions.

Then right click on each setting and select Copy to selected.

This will make it so the tower will not be simulated until another active rigid body comes near it.
Increase the number of simulation steps in Properties > Scene > Rigid Body World:

The higher this value is, the more CPU time is needed to calculate the simulation. However, higher values will also make the simulation more accurate.

Result:


Slow performance in viewport even in wireframe mode

I sympathise with you @Arqueo Artis

I use a MacBook Air 16", My school computer.
Its a pile of ****.

There is one simple fact:

You cannot have complex meshes. As you said it restricts production.

Though, if you have multiple meshes, use blenders layers. Use one to construct on, the others hold the rest. Just note, when you render you have to select all the scenes your objects are on.

If it is a sculpt, you are just going to have to reduce polygons.

I recommend using the modifier decimate.
Though it is slow to tweak with high polygons, you can normally reduce polygons in massive amounts without losing much detail.

If you are using any particle effects, just hide them until you need them.

BTW: I find object mode and sculpt mode the fastest. Wireframe mode is usually quite slow. I am fairly sure blender doesn't worry about vertexes behind faces, but don't quote me on that :-).

That's what I do anyway.

Good luck and I hope I helped,

BFB


You could set a background image and trace the contours using extrusion modelling (I startet with a plane).

After that you would add a few Shape Keys for all animated parts:

Add key frames of the Shape Key's values RMB with mouse over the value slider.

Quick result:

To finish you would extrude the flat model and perhaps add a bevel modifier.


Have location of grouped objects relative to parent object

A child always lives in the local space of its parent. You can easily check that by noting the current coordinates of a child that show up in the properties panel ("N"), moving the parent, and then comparing the new coordinates of the child with the first set. They shouldn't have changed, i.e. they can't be global).

At the time of parenting, the child object takes note of the parent's current state (location, rotation, scale) and stores it in child_object.matrix_parent_inverse. Blender applies this correction matrix to the parent's origin before calculating the child's effective global coordinates. (As it is the inverse of the original parent's matrix, it will "negate" the effect the parent had at the time of parenting, thus seemingly keeping the child in the global coordinate system.) Here is a nice official description:
http://wiki.blender.org/index.php/User:Pepribal/Ref/Appendices/ParentInverse

Or if you prefer it mathematically (at least this is how I interpret blender's behavior):

parent.matrix_world * child.matrix_parent_inverse * child.matrix_local

(where parent.matrix_world can of course be influenced by other parents and such).

Now to get rid of the correction matrix, and to be able to place your doors at x = +-0.5 of the parent, simply select the children in question, press "alt+p" and select "Clear parent inverse" (Or in the 3D View, go to "Object"->"Parent"->"Clear parent inverse"). This will set the matrix_parent_inverse to the identity matrix and place the children in the parent's coordinate system according to the children's local coordinates. (You could get the same effect by parenting while the parent is still at the origin with no rotation and scale==1.)


Why does Blender seem to freeze when I run this script?

Blender freezes because it's running the script and rendering out the frames. If you look at the System Console (Window -> Toggle System Console) while it runs, you will see the frame numbers and the filepath listed as each frame is rendered.

The amount of frames rendered depends on your Frame Range. By default this is set to 250 frames. Since the script renders out frames 8 times, this would be a total of 2000 frames. Blender will be frozen while this runs, which could take a few minutes depending on your scene and system specs.


How to stop independent actions on multiple armatures from fighting with each other

Each armature has its own reference to an Action datablock.  While it is possible for each armature to refer to an identical action (because datablocks are reusable) this would usually only be used when both armature objects use the same armature data (or use compatible armature data with compatible bone names).

It is unclear what you are trying to accomplish and why this behavior is a problem for you.

Just understand that it is inaccurate to say "I have multiple armatures under one action ".  What blender can do is have multiple armature objects which use the same action.  If you want an object to act differently than another object, they need to have different action datablocks in their animation_data.action field


To select faces you need to press 3 to switch to FACE SELECTION mode.


I'm not sure why you have the Layer Weight node ("TransFresnel") but my understanding is that the Layer Weight does not have any practical use when used for volumetrics - it should only be used for Surface shaders. In addition, using different densities for the Scatter and Absorption can cause unpredictable (and non-real-world) effects - and typically the Scatter and Absorption shaders should use the same colour or, again, this can cause unexpected results. Therefore, I'd suggest the following material :

Note how the RGB node feeds into both volumetric shaders so that the same colour is used for each. This is in place of the Layer Weight node in your set up. Also note the use of a single Value node to control both densities so that the shaders are consistent with each other.

Note also the Volume Bounces at the right-hand side of the image. This defaults to zero which would mean that rays are not permitted to bounce multiple times within the volume as they scatter, causing the light to never reach the camera (making it darker). You should increase the number of bounces to, say, 3 or 4 and this should make the material absorb less light.

The above example was based on the default cube with the only changes the material, brightening the default lamp from 100 to 1000, and increasing the Volume Bounces to 4 and reduced Volume Sampling Step Size from 0.1 to 0.025 to increase the volumetric quality.


In the header of the uv editor you can set the pivot point to your 2d cursor and then place it on one of the right vertices; scaling on the x axis should give you the stretch effect you're looking for


Prevent extruded/poked vertices from inheriting vertex group they were extruded/poked from?

After 'poking' select one of the new vertices - ShiftG and choose Amount of Adjacent Faces then CtrlI to invert selection. Create new vertex group if necessary.

Should probably add that the behavior is the same as parenting - meaning the children inherit the vertex group of their parents...


Have not admitted any. But you can start https://gist.github.com/f25845210d1d3b7e542c65fb9c696409 from importing this one


I was playing with the model after appending to a different project a couple of times and it occurred to me how silly I was being.  I had it set to be visible on frame 1 but on frame 50 it became invisible then on frame 51 I had set it back to become visible on accident. :P I am a silly rabbit sometimes.


You cannot select loops by double-clicking Shift+LMB in default Blender's 2.80 keymap. The hotkey for selecting edge loops in 2.80 is Alt+LMB by default. If you wish to add to the selection or subtract from it something that is already selected you hold Shift while using Alt+LMB.

So the answer to your question is:

When you select a few loops with Shift+Alt+LMB click, you can deselect them the same way clicking LMB while holding Shift+Alt on a loop that is already selected.


object flips while snapping to another object with align rotation, using face snapping

If you applied the rotation, then this is working as expected. Transform snapping will align the transformed object's local Z axis to the normal of the face to which the object is snapped.

To visualize where the object's local axes are, set the Transform orientation to Local in 3D view > Header:

Since your object's local Z is aligned to the world Z, this means that the local Z is aligned with one of the small sides of the object:

Note the direction of the blue arrow, which is indicating the object's local Z axis.

If you use an object with a local Z axis pointing out of the large side, then it works as desired:

To rotate the object's coordinates without changing the geometry, see Is there a way to rotate the origin without rotating the geometry? and Set rotation values without applying them.


How do I make a section of hair a different color?

Image above shows eye brow color different from the rest of face.  Single Mesh Shown.  Please excuse the grainy quick render and other shortcuts I took.

Image above shows [material.063] assigned to the [Brow] Particle System using material nodes for Cycles.  Note the multiple Particle Systems of type Hair. For a human there may be reason to consider eyelash hair and eyebrow hair and other locations of hair to be different types of hair.

In a given particle system of type hair in Cycles you assign a material.
First create a UV map for your mesh.
The material can use a texture to control the color directly.
You can paint your personal texture or use one of the standard built in textures.

The hair patches I used in the face image are separate islands.  Your example may be a little different.

In my example I used a texture just to introduce variation to use as input to the color ramp.  This is a common technique for Cycles.

That texture  can be viewed as a gray scale and input to a color ramp.

If a clump of hair has varying but closely related colors this will work fine.

If you want a highly secluded piece of hair you can also created a second or more particle hair systems with another material.  Vertex Groups and Texture can isolate hair systems locations.

You can also create one or more additional well fitting meshes, rather clip on style,  with  different materials.  Particle Edit Mode can place hair precisely.


How do you work with a background image in 3D view and then also include that image in the render?

The most correct * answer is to use the Viewport settings for one, and the Compositor for the other.

In the 3D Viewport press n to open the settings panel. Find the Background Image section, and add an image. You can specify which view you want the image to show up in, including "Camera." That image will be visible in the Viewport.

As for the render, adding a plane can get the job done, but it causes problems that you have to account for. Not the least of which is going out of your way to solve shading issues.

You only need 4 nodes in the Compositor to do this:

Render Layer (added by default)
Composite (added by default)
Alpha Over
Image

Nodes

When you open the compositor, there should already be a RenderLayer node connected to a Composite node. Press shift-a and add an Alpha Over node. Drop it on the noodle between the two existing nodes and it should automatically hook up. Do the same thing again, but add an Image node.

Settings

The RenderLayer noodle should go into the bottom slot on the Alpha Over. The Image node should noodle (yes, noodle is a verb) into the top slot. Use the Open button on the Image node to load in the image you want to put behind the render. You might have to turn on "Premultiply" in the Alpha Over node. I always forget which way that needs to go. Lastly, make sure that "Transparent" is ON in the Film section of your Render settings.

* most correct - The method that uses the tools that were designed to solve the given problem and creates the fewest new problems.


How to move vertices closer together without actually scaling them

If I understand correctly, you want to move the selection of vertices in opposite directions on the X axis without deforming the scale, right? If so, do it like this ...

In Edit Mode, select the vertices.

In the Sidebar, select the Push / Pull tool.

In the Header, in Drag, choose Tweak to activate the tool's gizmo.

In the Header, in Transform Pivot Point, choose Individual Origins.

Then just drag the gizmo. The vertices will move without deforming the scale.


Blender array modifier changes material when applied

This is a procedural texture (not an Image?) If so, it will default to using the Generated texture space. The Generated space measures 0-1 along the sides of an object's bounding box. However (I think inconsistently?), if an object is arrayed, the space takes its scale from the bounding box of a single element. When the Array modifier is applied, suddenly 0-1 is measured down the whole, (now single,) object.
You could use a Texture Coordinate node to put the texture into Object space. Then, you may have to tweak its scale, but it will be consistent, always considering the space of the entire array in Blender Units, (assuming no object-level scale transform,) applied or not.


Keyframing driver location results in unwanted movement of armature and animation

The OutsideOrbDriver and the armature are sharing the same action:

Then when you move the OutsideOrbDriver, and with "auto keying" on:

the movement impacts all the elements inside the action.


The trivial problem of weight painting and x symmetry

There are 2 different kinds of symmetry in weight paint:
n. 1 is for "center" bones, where every stroke on the left part of the mesh will be copied on the right side (in the same vertex group).
n. 2 is for couples of bones .L and .R, where a stroke on the .L vertex group will result in a similar mirrored stroke ond the corresponding .R vertex group.
Theese 2 options are not intended to be used together, you have to enable and disable them according to the selected bone/vertex group.


The yellow handler is to make the bevel and you can select the edges that you wanna use


Why does creating a new face int layer break Unwrap Reset?

This is a Blender bug. It has been fixed: developer.blender.org


How to create this wavy animation in Blender?

Plane -> Subsurf modifier + wave modifier (Y-constrained) + wave modifier (X-constrained)

Tweak values to your liking.


Why i cant rotate on axis with 3d cursor

You have "delta transforms":

Set these rotations to zero to fix the issue.


How to write a python script to execute a .blend file and modify it

import bpy
from random import randint

# Generate 50 cubes in random locations for i in range(50):
bpy.ops.mesh.primitive_cube_add(location = [ randint( -10, 10 ) for axis in 'xyz' ])

Replace cube with your model and this should work.


You must either apply the modifier manually or enable "Apply modifiers" in the export settings for whatever file type you are exporting to. For Collada, the setting is here:


Wacom has extra software provided with it's tablets where you can setup the tablet and pen buttons. This application is called "Wacom tablet settings" on Windows. Since you are working with macOS, you will probably find help right here.


Why can't I do a loop cut after Merging these vertices?

The fundamental problem is that loop cuts work on quads; they are interrupted by triangles, and faces with more than four edges. You can do the loop cut before you merge all the points together, because Blender treats each face as a quad, that is a face defined by four vertices, where one edge has zero length because two of the vertices have the same co-ordinages. The merge makes all of quads triangles, because two of the vertices on each face are combined into one. Similarly, if all of the three or more vertices of a face have the same co-ordinates, you still have a face, even though the face has zero area.

With respect to achieving an effect similar to the loop cuts, switch to edge select mode, select all the radial edges (but not the circumferential ones), and use the subdivide tool, setting the number of subdivisions to the desired value. Another way is to use the knife tool. Yet another way is to extrude the vertices around the circumference, and scale them almost to the center, then extrude again, and scale the second set of vertices to the center point, and merge the center vertices together. Now you can still make your loop cuts in the quad faces created by the first extrusion, and you can select the edge loop created by the second extrusion and use the edge slide to position it where you want it.


BPy Image_Editor - remove Image completely problem

UI redraw issue.

The issue you are seeing is UI related. The red is an indicator of this: warning that there is an issue, in this case showing the name of an image that has been removed.

If this is the case then issuing a tag redraw to the image editor will fix .

import bpy

img = bpy.data.images[0]
bpy.data.images.remove(img)

for a in bpy.context.screen.areas:
    if a.type == 'IMAGE_EDITOR':
        a.tag_redraw()


Curve Modifier doesn't work at all in some curves Not even deformation of shapes

I think curve called Problem Curve does really has problems. I couldn't reproduce this behaviour which is the fact that neither Fit Curve option of Array modifier doesn't work nor mesh can't be curved with it. Re-adding modifiers also won't change that.

The possible solutions are:

model another curve and use it instead of this one;
refresh several settings of Array modifier and clean existing curve.

If using the second solution, the steps are:

With Problem Curve_Model selected in settings of Array modifier set Fit Length, set some random value, then return option to Fit Curve.
In order to finish solution you should clean the curve; it has too many vertices which is overkill in this case (and for some reason it allows modifiers to work further on mesh object).
Select curve, in Edit mode select all, make any vertex active and in 3D View header choose Select > Checker Deselect operator. When vertices are selected one by one, delete them via X > Vertices. The mesh will become curved. Make sure to recalculate normals on the mesh (Ctrl+N in Edit mode with all selected).


How can I export a model with its textures applied?

The most likely explanations for why your textures are not exporting would be that (a) the textures are not in an image format supported by the export format, or (b) the material is not configured in a way that the export format's addon understands.
In the case of glTF 2.0 (I can't comment on FBX or OBJ), images must be in PNG or JPG format to be exported. The material should typically use the Principled BSDF material — arbitrary material node graphs cannot be exported from Blender to any format.
For full details on how to configure your materials for correct export from Blender, see the documentation of the Blender glTF exporter. In particular, this is a standard material setup with a base color texture:


How to find the right keymap to change on addon registration?

Are you after one of these, e.g. rotate?

>>> C.window_manager.keyconfigs.user.keymaps['Transform Modal Map'].keymap_items[5].propvalue
'ROTATE'

I'm pretty sure there's only one modal map for all transform operators (and not changable with python).

import bpy
wm = bpy.context.window_manager
keymap = [k for k in wm.keyconfigs.user.keymaps['Transform Modal Map'].keymap_items if k.type == 'G'] #k.propvalue=="TRANSLATE"]
modal_translate = keymap[0] if len(keymap) > 0 else None
print("\n", modal_translate)
for attr in dir(modal_translate):
    if not attr.startswith("_"):
        val = getattr(modal_translate, attr)
        if type(val) in {int, float, str, bool}:
            print("\t", attr, "=", val)

"""
 <bpy_struct, KeyMapItem("")>
         active = True
         alt = False
         any = False
         ctrl = False
         id = 5
         idname =
         is_user_defined = False
         is_user_modified = False
         key_modifier = NONE
         map_type = KEYBOARD
         name =
         oskey = False
         propvalue = TRANSLATE
         shift = False
         show_expanded = False
         type = G
         value = PRESS
"""

But note that you can't provide an operator name in modal maps. Only the predefined modal operations can be set (propvalue).


The subsurf modifier on the glass object is disabled in the render.

Make sure the camera icon the subsurf modifier is selected:


Symmetrize or Mirror

While in edit mode, you have two main options:

1) run the Symmetrize operator:

  The Symmetrize tool is a quick way to make a mesh symmetrical. Symmetrize works by cutting the mesh at the pivot point of the object, and mirroring over the geometry in the specified axis, and merges the two halves together (if they are connected)

2) or the Mirror operator:

  The mirror tool mirrors a selection across a selected axis. [..]
  The mirror tool in Edit mode is similar to Mirroring in Object mode. It is exactly equivalent to scaling by -1 vertices, edges or faces around one chosen pivot point and in the direction of one chosen axis, only it is faster/handier.

Both quotes comes from the manual.

The difference between the two methods, apart from the little differences in the usage, is that while Symmetrize wil keep your original selection in place, Mirror will instead "move" that selection on the other side.

Note: you'll probably need to recalculate normals (Crtl+N) after a mirroring operation.


How to make loop perimeter using Control Bevel operation

You can do this with the Face Inset tool.
Select the outer faces. Press I to activate Inset.
Un-check Boundary
Set the tool to Offset Even
To select the newly created faces use Select Outer
Then just adjust the thickness.

To keep the object flat keep the depth at Zero.