Blender Game Engine - Trigger something to happen in the future

There are many ways to implement "event in future".

The basic concept is you start something that takes a while and triggers an event later.

Animation based

This is pretty common as it starts a process and it presents progress to the audience. The animation is the cause rather than the effect.

When you play the animation with the action actuator (and it does not run in an endless loop) you can measure the end with the actuator sensor.

Be aware it measures when an actuator is active, but you want to know the opposite. Also keep in mind any actuator will start deactivated that will trigger the sensor too.

Counting frames

This is also a common practice. It provides you full control when to start and when to end. Unfortunately you have to implement a continuous process to run this behavior (not really efficient).

The implementation is simple:

Define a property with a start value e.g. 0

You start the delay by setting a value above zero (e.g. 10 to measure 10 frames).

You observe this property with a property sensor. When the property is above zero you decrement it by 1 at each single frame [True Level Triggering].
When the property reaches zero the time is up and you trigger your event (e.g. by sending a message).

Automatic property

You can use a timer property. The timer property counts the seconds automatically.

You start the delay by setting a value below zero (e.g. -10 to measure 10 seconds).

You observe the timer property with a property sensor.
When the property gets above zero the time is up and you trigger your event (e.g. by sending a message).

Be aware the timer property will continue counting and never stop. You can set any value at any time (e.g. to start another delay).

Delay sensor

This is not so common as there is a small but important obstacle a lot of BGE users stumble across. You need to know how sensors work.

The delay sensor start measuring when the object gets created!

This means it is perfectly fine to measure a time frame since scene start.

It is also fine to add the object and get a delayed event after creation. This way you can establish a sort of timer, just b adding such an object.

But there is more:

The delay sensor also pops when you switch the state of the build-in state machine (from a state without the delay sensor to a state with state sensor).

You start with a state without the delay sensor.
You start measure by switching to a state with delay sensor.

You measure the delay with the delay sensor.


How can I export a blender model as a sprite sheet?

Here's a possible workaround without using a script:

Add an empty to the center of you scene (or the center of your object, where ever you want the camera to rotate around):

Parent the camera to the empty (CtrlP):

With the empty selected, insert a rotation keyframe for the Z axis on frame 1 by hovering over the value and pressing I or right clicking and selecting Insert Single Keyframe:

On frame 33 (one frame past frame 32), insert another rotation keyframe for the Z axis setting the Z rotation to 360, then set the scene End frame to 32:

Switch to the graph editor:

In the graph editor, press T and select linear to remove the smooth interpolation of the keyframe:

Render

The empty will be rotated to exactly 90° on frame 9, 180° on frame 17, and 270° on frame 25:

Here is an example blendfile.


Fact that a tank reachs a ground faster than a feather falling from the same high is not a question of gravity, but matter of air friction. Thanks Lemon for pointing out :)

v01 Force Field - Drag
You can set Rigid Body as usual...

add Cube - enable Rigid Body simulation > Mass > 100 kg
add Plane - enable Rigid Body simulation > Mass > 0,6 kg

and simulate Air friction by adding Force field object (like Drag type) and play with Strength value. Here Linear 0.01

Notes
Example above is option how to slowdown falling object based on mass, without any physical accuracy, just to get desired effect.
For some reason speed fall is affected also by Dynamics > Damping Translation. Two objects, both of mass 1 kg, but one object with damping increased to 0.8 also gives air friction effect.

v02 Cloth Sim
Another option is to use cloth simulation, that has a parametr Air Viscosity per object, so it can be adjust individually.

In this example also Cube use Cloth sim, that with some setting can react as solid object. For tank you can just use Rigid Body as before.


Bake animation with modifiers, including "real" location of vertices

Create a duplicate of the object for every unique frame of the animation.

Apply the modifier separately on every object, with each object on a different frame.

Use "Join as Shapes" to combine all the objects into one. (Menu next to the Shape Keys panel, or ops.object.join_shapes().)

This will produce a single object with a shape key for every frame of the animation. You can then keyframe these shape keys to show on the correct frames.


I would approach it this way. There is only one additional vertex than the original and it's quad based modeling which has a lot of advantages.

Because it is flat unwrap it using "Project From View".


Which glass shader is physically correct?

Technically, using Maximum is better than using Add - since with Maximum the result will be in the correct range of 0.0 to 1.0 for the Factor input of the Mix node. With Add you end up in the range 0.0 to 3.0 since you’re adding three 0.0 to 1.0 values together. While this won’t in itself cause a problem (since Factor of the Mix will auto clip to 0.0 to 1.0) it could cause a problem or unexpected results if you later use the same value for other uses, not realising it’s outside range.

Without knowing what’s outside the window it’s difficult to tell which is ‘right’ - try rendering without the glass (either hide the window pane mesh or set to 100% transparent) - the thin sheet of glass should cause hardly any displacement (since it’s two parallel surfaces) - whichever more closely matches the view without the glass is by far the most accurate..

Also related : https://blender.stackexchange.com/a/90526/29586 and https://blender.stackexchange.com/a/77806/29586

After setting up a test, the second example  is by far more realistic for the refraction :

Bad refraction :

Good refraction :

This can be made even more apparent by simply rotating the glass along the Z axis.


Export as OBJ and create fitting image texture

This looks like your UV Map is stretching. Select the face you want to uv-unwrap, view it from that in orthographic mode and in uv context menu, select project from view.


Assuming your are using Windows Platform:

Open your python bundled in Blender to enter a Python interactive console.

Type down following code one by one line (#line can be ignored):

import subprocess
import sys
# enable pip
subprocess.call([sys.executable, "-m", "ensurepip"])
# upgrade pip to latest version
subprocess.call([sys.executable, "-m", "pip", "install", "--upgrade", "pip"])
# install any package
subprocess.call([sys.executable, "-m", "pip", "install", "inputs"])


All is working now, thanks to  Craig D Jones


Objects mesh set to smooth but some edges show sharp after using Bevel tool

You can use the Bevel Modifier with a Limit Method set to Angle, instead of Bevel tool + EdgeSplit modifier. EdgeSplit modifier only change wich Edge appear smoothed whereas Bevel Modifier allow to adjust wich Edge is beveled.


This is because you aren't seeing all your objects in the outliner.

Your object is parented to another object.
You'll noticed that when the object in question is selected, one of the inverted triangle icons next to the parent object is highlighted rather then another entry.

Click the + next to the parent object to expand the view and show that object's child objects:


GLB export has correct wireframe, but wrong render. What am I missing?

Per comments above, the solution was to recalculate the normals, and upgrade to the version of Blender.
In the screenshots, it looks like some polygons face the camera, while others face away.  If "Backface culling" is turned on (as a material property setting in Eevee), glTF will treat these polygons as single-sided, and may not render the ones facing the other way.  The fix could be as easy as Mesh -> Normals -> Recalculate Outside, to get them all to face the same way.  But if they need to be visible from both sides, make sure "Backface culling" is turned off under Eevee's material settings (not to be confused with a viewport option by the same name, that will have no effect on glTF export).
Also, Blender 2.90 includes several fixes to the glTF exporter, some related to normal vectors, so upgrading is recommended.


How do I copy bones from one armature to another?

You were correct with your unparenting strategy. The shortcut to seperate a Bone is P. Then select your separate armature and Shift select the armature where you want the object to be and press Ctrl+J


You've opened the Image Editor, not the UV Editor. If you want to see the UV in Image Editor, switch it to Paint mode, but you won't be able to edit the UV in this editor:

You probably want the UV Editor:


Can't activate experimental Particle Nodes/ Simulation Window

The experimental features are only included in the experimental 'daily' builds, not the official releases. You'll probably need to download from https://builder.blender.org/download/branches/ for those features.


How can I dynamically show objects properties in the UI with python?

Assuming you are already in the panels draw function and you have curve assigned.

tot_splines = len(curve.splines)
layout.label(text="Number of curves %d" % tot_splines)

tot_points = sum(len(s.bezier_points) (if s.type == 'BEZIER') else len(s.points)
                 for s in C.object.data.splines)
layout.label(text="Number of points %d" % tot_points)

However I'm not sure why you would want this, seeing as how the info window shows this already.


why boolean modifier not making difference

Ateks,the file had several issues:

car body had no boolean(?)
car body had several unapplied modifier mirror > subsurf > edge split - those were interfering after adding a boolean modifier (it showed an error), so I applied them all
the bars HAD negative X scale(corrected)
the bars also had edge split modifier (I applied it)

in this way I could obtain this:

which should be more or less what you wished, I hope.

Here is the modified file


Joining (Ctrl + J) multiple paths bevelled by a shape ruins the whole shape

This issue is most likely caused by modifiers either having different settings or operating differently because of a sudden change in relativity to the origin point since upon joining the objects it uses the origin from the selected object, If this is the case I would suggest ensuring all the origins are in the same location before joining them. If not make sure there are no differences in modifier settings before merging them or simply apply the modifiers before merging the objects together as user DontWalk commented


Can anyone tell me how to solve this issue with rigging and mesh?

Fist thing, the scale is -1 on the X axis, so apply the scale of your object:

Once done, you need to check the normals, enable Face Orientation in the Viewport Overlays panel:

Blue show face normal orientation, red the opposite, as you can see the normals are flipped outside on the right arm. To recalculate the normals, go in Edit mode, select all and press AltN:


Can I print the manual since I can't follow the online tutorials as the type is so small I am 89!

I am 59 and have poor eyesight so I can relate. First, try using the keyboard combination crtl and the plus key(+) and minus key(-) to enlarge and shrink the manual or any web page for that matter in order to read the text more easily. This works on the firefox and google chrome browser for sure as I just tested it out. You can also download the manual as a zip file to read it off-line from here https://docs.blender.org/manual/en/dev/. It's still in HTML format so it will open from from your hard drive into your web browser program. I just downloaded the manual myself and it displays just fine in Firefox(my default web browser). If you are using Windows 10 there is also a magnifying glass feature you can use. Google "magnifying text in windows" to learn how to use it. If you really really want to print out the manual you can convert the on-line HTML manual to PDF by using this free service https://www.win2pdf.com/html-to-pdf.html or you can buy the win2pdf program for $35 to convert and print from your down loaded manual. Hope this helps you out.

Regards, Jeff.


It's correct that the value is in radians. Blender uses radians for angles internally, since this is common practice for the calculation of trigonometric functions. The conversion to degree is only for display purposes in the user interface.

The same situation can be seen in the Python API. Assuming that you have an object named 'Cube' in your scene which is rotated 180° around the x-axis. When accessing the Euler rotation

bpy.data.objects["Cube"].rotation_euler.x

you will see that it returns 3.1415927410125732 which is a rough approximation of $\pi$.

This was previously asked on the bug tracker in T29797.


How do I change to Left, Right, Front, Back Ortho Perspectives?

Lets try to clarify a few things:

Camera Settings vs. Viewport Settings

Camera and Viewport are two different things:

Viewport is mainly for temporary navigating and inspecting the 3d scene
Camera is mainly for defining final rendering perspective
You can switch Perspective/Orthographic for both Viewport and Camera separately → 1.
You can change focal length for both Viewport and Camera separately → 2.
You can set the Viewpoint of the Viewport, without changing the camera → 3.

And here the two of them get mixed up a bit:

If you set the Viewport to Viewpoint>Camera, it will adopt the Camera's parameters without changing them, but will switch back to its own viewport parameters on rotation/change of viewpoint. → 3.
If Lock Camera to View is activated while in Camera Viewpoint the viewport will be linked to the camera parameters any viewport change will directly be applied to the cameras position and parameters.

Viewport Background Images

Background Images assigned to front, top, back, etc Axis are only shown if the viewport is in the corresponding viewpoint (front, top, etc.) and set to orthographic mode.
(you seem to be in Camera Viewpoint with an orthographic Camera instead)


How to apply mixamo mocap data to my character properly?

It seems like Mixamo has a problem with distances. When I tried something similar to your model (just more primitive - Cones) it fails as well.

But adding spheres in place of connections worked. So the only one explanation for now I have - Mixamo doesn't know how to follow topology of your mesh. Tested with FBX Export / Limit to Selected.

You can delete or hide them later in Blender.


Video Editing: I'm unable to trim speed control strip's duration

Split the clip at the points that you want to stretch, then select this strip. Press shift A key and add an Effect>Speed Effect. Then stretch the strip to your desired length.


For some sort of reason, after the last Ubuntu update and before installing Blender, something was changed in the GPU drivers that made the software to not startup correctly. Restarting the system fixed the problem.


Cleaning Up Dissolved Faces And Random Vertexes

It seems to me Limited Dissolve can help in this situation. It can dissolve all vertices between vertices of which the angle of the connecting edges and faces are below a certain given angle value.


The slow performance is most likely due to your unorganized and unoptimized node tree. In order to identify the source of the regression, we can measure the execution time of each of the individual nodes and identify the node(s) that takes the most time and try to refactor them. This measuring can be activates by pressing the details button here:

In your node tree, my best guess is, your Plane subprogram always generates the same mesh, yet you compute the mesh at every iteration! So simply move the node generating the plane outside of the loop and pass it as a parameter. Moreover, don't reinvent the wheel, use the Grid Mesh node instead. Also, remove all those viewer nodes, they have some impact on performance.


Cegaton advices are good to folow to help people to help you.

I've tried with my own textures and have the same fireflies.

In your specific case:

you've plug the normal in the Height slot, height is for bump map (grayscale images), with this I haven't got any fireflies at 32 samples.
it's better to have a mesh correctlly unwrap, apply the scale before unwraping and redo the unwrap.
too strong normal map or bump map can lead to fireflies
not really fireflies related but when trying to recreate realistic materials, never mix a diffuse and a glossy without a fresnel effect.
Node Input--> Fresnel and plug it in the mix factor

General advice regarding fireflies:

Personnally the most important feature when using HDRi is to set the map resolution to at least 2048, but I prefer 4096 for a good base, personnally I never go under but I'm not so limited by graphic card memory.
Go to properties tab--> world--> settings pannel--> map resolution.
An other fireflies killer and lighting killer if you don't set up corrctly, is the clamp direct in the properties tab--> sampling pannel.
To set up correctly you need to determine what is th most powerfull ray that land in your scene and adjust the value to clamp only what necessary. A bit tricky. In most case without too much risk a value between 100 to 80 make the job without altering the lighting (if you don't see light sources).

Perhapse I'll edit my answer to give my tech if someone is interest.


Seamless animation loop of procedural textures

A procedural texture can be made to appear continuous, repeating and seamless by blending with another section of itselfto hide the 'seam'.

Final result :

This can be achieved with the following nodes :

Note the nodes marked in Cyan which can be used to animate/adjust the texture to get pleasing results (to make the transition unnoticeable).

The first (Value) node allows the Z coordinate to be animated. The texture will be repeated every 1.0 unit (in this case it's using Generated texture coordinates and the blending occurs in the Z direction) by way of the Modulo function - use the Scale and an optional Mapping node to affect how big a section is repeated.

The Offset input node can be used to adjust which alternative section of Voronoi to use to blend over the seam - adjust this to choose a suitable section of texture that is as similar as possible to help hide the transition. The Scale of the Voronoi can be adjusted with the Scale input value.

The amount of blending between the textures can be adjusted via the Color Ramp node - moving the Black and White points closer or further apart will vary the sharpness of the blend between the textures.

Note that you can add a Mapping node immediately after the Texture Coordinate node and vary the scale to change the spacing of the repeat. Similarly, this same method would work with other textures such as Noise, Musgrave, Images, etc. - however, very regular textures (such as Brick, Checker, etc.) will likely produce noticable artifacts - this method works best with fairly 'organic' textures. Equally, you could use an Image Texture if desired.

Note also that since this is produced using standard nodes it will still be able to be rendered using GPU (not possible with OSL).

Blending between the textures occurs based on a Cosine function which is carefully scaled (note the Multiply nodes set to 2*pi) to be at a maximum (1.0) at the seam of one texture (at 0.0 and 1.0) and a minimum (0.0) at the seam of the other (which is offset so its seam occurs at 0.5). By mixing between the two textures in this way, the seam is always invisible.

Blend file included


Controlling saturation on scene referred data

The sample code for the ASC-CDL Saturation component looks like this:

/* compute the fully desaturated grey value */
luma =  rgb[0] * sat_coef_709[0] +
    rgb[1] * sat_coef_709[1] +
    rgb[2] * sat_coef_709[2] ;

/*
output rgb is a weighted average between the input rgb and
the fully desaturated grey value with "sat" as the weight...
*/

for (c=0; c<3; c++)
    rgb[c] = rgb[c] * sat + luma * (1.0 - sat);

The coefficients for any given RGB colourspace will differ. The coefficients for REC.709, are RGB 0.2126, 0.7152, 0.0722

Should be easy to sort out.

And yes, as per @cegaton, avoid the horrible use of (the also equally incorrectly labelled) YUV.

Technically, the RGB to BW node should work and honour the luma coefficients in the OpenColorIO configuration as well.


Blender 2.8 mesh zfighting a mesh thats not overlapping

I checked my viewport camera and its front clipping was set to 0.001, this was causing the zfighting because any amount of distance from the camera would cause major floating point errors.
I feel dumb, but atleast i resolved my problem.


Volumetrics behind transparent objects in eevee

Chris pointed me in the right direction - I had the blend mode set to opaque.  Changing it to multiply fixed my render.


Cycles wont do the amount of samples I put in at min samples

Adaptive Sampling min samples is not the actual amount of samples that cycles is using to render the scene.
From the manual:

Min Samples
The minimum number of samples a pixel receives before adaptive
sampling is applied. When set to 0 (default), it is automatically set
to the square root of the total (max) sample count.

So, what is happening in your case, is that your scene is set to render at 128 samples (the default until changed), so changing the adaptive samples to a higher setting doesn't change anything. If you raise the sampling to something more like 500, you will see a difference.


How can i put a Force Field between two items for Keyed particles?

With the physics set to newtonian, boids or fluid, particles are influenced by force fields and curve guides, while keyed particles only follow their own control systems. Keyed particle systems move particles from the position of one system to the position of another particle system. The key point is that you can use more than two systems for keyed particles.

By having a third system in the middle that uses newtonian physics I got the keyed particles to follow the middle particles as they followed the curve.


Fixed my problem, the mirrored bones were given a name with .001 at the end.
I took the .001 off every mirrored bone and it fixed my issue.


alternatives for operator's report() function?

probably, such thing as reporting to user interface must be the easiest thing to do in any API but... this is life. anyways, here's what I have found for myself.

Idea in short: so, when blender script runs, Blender does not redraw screen any longer. So I start drawing text into a particular window with blf. Because Blender is not redrawn while the script runs, you actually don't see it. So I force redrawing. And then you can see the text. Don't know how robust that solution is but anyways.

This is the function which starts drawing:

def UI_report_start(message, space_type):

    """
        draws specified message, in the specified space_type. space_type is a value in:

        ['Image Editor',
        'Node Editor',
        'UV Editor',
        '3D View']

        returns the draw handler and the space type
 for later deletion
    """

    # the drawer function
    try:
        blf
    except:
        import blf

    def draw_message(self, context):
        blf.position(0, 15, 30, 0)
        blf.size(0, 20, 72)
        blf.draw(0, message)

    if space_type == 'Image Editor':
        handler = bpy.types.SpaceImageEditor.draw_handler_add(draw_message, (None, None), 'WINDOW', 'POST_PIXEL')
        return handler, space_type
    elif space_type == 'Node Editor':
        handler = bpy.types.SpaceNodeEditor.draw_handler_add(draw_message, (None, None), 'WINDOW', 'POST_PIXEL')
        return handler, space_type
    elif space_type == '3D View':
        handler = bpy.types.SpaceView3D.draw_handler_add(draw_message, (None, None), 'WINDOW', 'POST_PIXEL')
        return handler, space_type
    elif space_type == 'UV Editor':
        handler = bpy.types.SpaceUVEditor.draw_handler_add(draw_message, (None, None), 'WINDOW', 'POST_PIXEL')
        return handler, space_type
    else:
        raise Exception('UI_report_start', 'Incorrect Window type specified')

this is the function that stops drawing:

def UI_report_stop(reporter, space_type):
    """
        stops drawing the report
        the drawing handler and the space type must be input
    """

    if space_type == 'Image Editor':
        bpy.types.SpaceImageEditor.draw_handler_remove(reporter, 'WINDOW')
    elif space_type == 'Node Editor':
        bpy.types.SpaceNodeEditor.draw_handler_remove(reporter, 'WINDOW')
    elif space_type == '3D View':
        bpy.types.SpaceView3D.draw_handler_remove(reporter, 'WINDOW')
    elif space_type == 'UV Editor':
        bpy.types.SpaceUVEditor.draw_handler_remove(reporter, 'WINDOW')
    else:
        raise Exception('UI_report_stop', 'Incorrect Window type specified')

this is a hypothetical function taking much time to complete and reporting is embedded into it:

def execute(self, context):
        handler, space = UI_report_start("does it have to be THAT difficult?!?!#$", '3D View') # <--- this starts drawing blf but you don't see it yet!
        bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) # <--- this is redrawing the screen and you see the message!
        # from now on redrawing stops but the message is still 'frozen' in place and you can see it!
        for i in range(0, len(bpy.data.images['heavy'].pixels)):
            bpy.data.images['heavy'].pixels[i] = random()
        UI_report_stop(handler, space) # <-- this removes the message!
        return {'FINISHED'}

as you can see, it does not draw the progress bar, only a message but I can live with it.

You can also update the screen more frequently but redrawing and drawing blf takes resources, so do it only once in a while


How can I upload my own image as a background image and texture to a 2D animation in Blender 2.8?

The process is relatively straight forward, but can be made easier by enabling a built in add-on for blender called "Images as planes". Go to User Preferences > Addons and search in the box for images - only one result should pop up -"Import/Export: Import Images as Planes". Check the box and exit user preferences.

Hover your mouse over the viewport you are using and press Shift + A. Select image and then image as plane. A box will pop up letting you select you photo from your PC. Pick the image you want. If instead, you are looking to use a background image, pick "Background", the rest is the same.

Lastly, to see the image, select one of the rendered mode tabs - either Material Preview or Rendered Preview.

This is the 3D viewport in the 2D animation tab. To add an image you have to be in object mode. But what happens when you press shift+a, are you saying nothing happens? If so, have you changed any of your shortcuts/hotkeys? You can also access it from the menu at the top. See image:


Try turning up the friction in the Cloth Collision settings.


Instead of using an always sensor, try a delay sensor to trigger the script. Slow it down by increasing the delay value and check 'repeat'. The text object needs an integer Game Property named 'counter' to work with the script.

import bge
cont = bge.logic.getCurrentController()
own = cont.owner

message = "Don't wish it were easier, wish you were better!"
mlen = len(message) # length of the string

if own['counter'] < mlen :
    own['counter'] += 1
    own.text = message[0 : own['counter']] # slice indices


What does 'Distortion' in the 'Mesh Analysis' panel do?

From Blender's Manual:
Distortion

  Distorted geometry can cause problems since the triangulation of a
  distorted n-gon is undefined.

  Distortion is measured by faces which are not flat, with parts of the
  face pointing in different directions.

Let's examine simple four sided n-gon

Before 3d printing each n-gon is being converted to triangles. Our four sided n-gon can be triangulated in two ways marked with yellow and purple line:

On a complex model leaving non-planar (not flat) polygons can lead to triangulation in a way that is not desirable for the final product. 'Distortion' option can detect all n-gons which vertices don't lie on a plane (flat surface)

The color of those n-gons is defined by the minimum and maximum angle that the resulting triangles may form - blue for minimum angle and red for maximum angle with color transition in between.

If the polygon is flat the color will remain gray.

Here is an example of the same n-gon but with one vertex rotated at 5 degrees (minimum angle for detection) around polygons center:

Here the vertex is rotated at 30 degrees:

Here the vertex is rotated at 45 degrees (maximum angle for detection):

Any angle above maximum will color the n-gon red.

Now by looking at Monkey mesh, can you tell which polygons are not planar and which are most distorted?


Why are materials linked to meshes by default?

Who knows what the original reasoning behind this ways, this default was chosen maybe 15 years ago and there has not been a good reason to change it.

To me it makes some sense to share by default. When you have a particular object that you want to give a different material than the others sharing the same mesh, then you're there in the material tab editing things anyway and you can change the linking to object at the same time.

If linking to object was the default, you might make linked duplicate objects with AltD, placing the object in different places in the scene. But now if you want to change the material you have to go and change each individual object.


Viewport perspective not indicating what view I'm in

In the user preferences (located in 'File' menu in 2.79), go to 'Interface' tab and change 'View Name'.

For 2.8, I think this is no more in the preferences but in the 'Viewport Overlays':


You can change it in User Preferences / File / Recent Files.


AMD Radeon Pro 460 not showing up in sys pref

I guess youre on Macbook? Opencl gpu rendering is not supported and abandoned by Apple. Try to use Radeon ProRender instead for gpu support.
https://www.amd.com/en/technologies/radeon-prorender


Rigging is not working in one Area, it has no affect on the mesh. Other areas fine

Okay, thank you Blunder for pointing me in the right direction.
The issue is I added the lips and what-not AFTER I did the original parenting of armature to mesh.
I assumed (incorrectly) that generating rig would reparent. It did not. Reapplying the rig using rigafy did not, as I thought, recreate the parenting.  I needed to do both.  I will figure out the extra bones shortly.  Thanks.


How to replace an existing material with one from other blend file with python?

This code

with bpy.data.libraries.load(filepath, link=False) as (data_from, data_to):
    data_to.materials = data_from.materials

works correctly and you will get appended materials with suffix*.001* in your actual blend file. I propose , maybe not very elegant solution, but it works I have tested on my side.  And it gives you possibility not to replace all materials after adding. The script looks in next way:

import bpy

scn = bpy.context.scene
D = bpy.data
filepath = '//10_rrd.blend'

actual_names = []
dict_names = {}

for i in range(len(D.materials)):
    s = D.materials[i].name + "_actual"
    dict_names[s] = D.materials[i].name
    D.materials[i].name = s
    actual_names.append(D.materials[i].name)

with bpy.data.libraries.load(filepath, link=False) as (data_from, data_to):
    data_to.materials = data_from.materials

all_names = []
for m in bpy.data.materials:
    all_names.append(m.name)

# finding name of added materials
s = set(actual_names)
new_added = [x for x in all_names if x not in s]

for mat in D.materials:
    for mat_fix_name in new_added:
        value = dict_names.get(mat.name, None)
        if mat_fix_name == value:
            print('Found a material copy for '+mat.name+' with name '+mat_fix_name)
            mat.diffuse_color = D.materials[value].diffuse_color
            mat.metallic = D.materials[value].metallic
            mat.roughness = D.materials[value].roughness
            mat.specular_intensity = D.materials[value].specular_intensity

print('-----------------------------------------------')

#clear appended materials
for mat_fix_name in new_added:
    D.materials[mat_fix_name].user_clear()
    bpy.data.materials.remove(D.materials[mat_fix_name])

#roll back names
for mat in D.materials:
    old_name = dict_names.get(mat.name, None)
    if old_name is not None:
        mat.name = old_name


The why is given here.
Workarounds:

If you want to keep the grid at the same size:

Use the option "correct face attribute".

If you want to stretch down the grid when scaling down:

Use some subdivisions to compensate the triangle effect. Only vertical subdivisions are needed, so you can also give some loop cuts manually.


How to select "in between values" with Math nodes

Presumably, you want their age-- their lifetime is their total lifetime, determined at birth, not the current time since emission.
To map color to some particular range of ages, first map your age range to a 0,1 range, then use a color ramp:

All particles younger than 20 frames are green.  All particles older than 40 frames are red.  Between, we gradate (by linear RGB, as set by the color ramp.)


Closest thing I know in Blender is using Mesh Analysis from the Properties Side Bar.

Enter Edit Mode on a mesh object, turn on Mesh Analysis, set it to Sharp and adjust the angles as desired.

Have in mind that it can't highlight single edges as illustrated, only face angles. Not sure if it can both show concave and convex edges at the same time.


How to bake softbody animation into keyframes?

You can't bake softbody into keyframes anymore, blender uses shape keys now. So you would need to generate a shape key for every frame of animation and also keyframe that shapekey to its frame. You do that with running this script:

import bpy

obj = bpy.context.active_object
start = bpy.context.scene.frame_start
end = bpy.context.scene.frame_end

def insert_keyframe(sk, f):
    sk.keyframe_insert("value", frame=f-1)
    sk.keyframe_insert("value", frame=f+1)
    sk.value = 1.0
    sk.keyframe_insert("value", frame=f)

meshes = []
for f in range(start, end+1):
    bpy.context.scene.frame_set(f)
    meshes.append(obj.to_mesh(scene=bpy.context.scene, apply_modifiers=True, settings='PREVIEW'))

obj.shape_key_add(name="Basis", from_mix=False)
for i in range(0, end-start+1):
    key = obj.shape_key_add(name=str(i+start), from_mix=False)
    insert_keyframe(key, i+start)
    for vert_id in range(len(obj.data.vertices)):
        key.data[vert_id].co = meshes[i].vertices[vert_id].co

for mesh in meshes:
    bpy.data.meshes.remove(mesh)

Don't forget to turn your modifier off or to delete it (or it will override the shape key animation)

Also you can export your softbody animation as an New Tek's .mdd mesh cache format (export addon will do this) and load this file into Mesh Cache modifier. This allows you to for example offset the animation and further manipulate it.


How to animate morphing a rectangular plane into a sphere

I think the one who made that reference GIF (in another software) used two Simple Deform modifiers:

Create a plane, switch to Edit mode, SY2. then use a loop cut to divide it into two squares, then subdivide;
Add a Simple Deform modifier, set deform method to Bend, use a new empty object as its origin, select the empty, then RX90. (to bend it along an expected Z axis)
Add another Simple Deform modifier, also set deform method to Bend, use a second empty object as the origin, select the empty, then RX90, RZ90.
At frame 1, set 0 as the Angle value for both Bend modifiers, insert keyframe for them. Then jump to, say, frame 60, set 180 for the first Angle, 360 for the second Angle (for 360, you may have to type on keyboard), again, intert keyframe for both.
If normal direction is incorrect, flip it in Edit Mode.

UPDATE: In the incoming v2.8, the Simple Deform modifer has a new option that allows choosing Local Axis, so you can use only one Empty in this case, like this:


Some modifiers missing in "add modifiers" tab

Not all modifiers are available for all kinds of objects.
The main difference is between Mesh objects and Curve objects

For Mesh Objects you can use:

If you are dealing with curves (and text is considered a curve object) none of the modifiers you mention will be available, only these:


How to export object as multiple meshes?

Use Batex plugin. which can be obtained here:

https://www.blendernation.com/2019/08/15/blender-2-8-free-batch-export-addon/


Blender 2.8 how to see rendertimes in RenderView

Well, it's still written at the top of the image viewer with render result opened:


How to apply texture to an object face avoiding triangular mesh

Select faces, hit U, Unwrap. Google search UV unwrapping, this is an important topic that you should learn and won't be explained in full here.


Bug with Blender (the UI to be more specific) - weird stuttering and glitches

I had graphical glitches as well with the mesa drivers. I fixed it by going to File > User Preferences > System, and under the Window Draw Method title select Triple Buffer and then press Save User Settings


There are no built in method that converts a Normal map to a Bump in Blender. It would be possible to write a python script to do this but it would take much research to be able to produce desirable results.

I only know of one tool that can do this and that is Substance Designer.


How to change the Viewport background color?

Edit :). This answer by @Moonboots is actually way more useful:
→ How do you change the background color of the 3D viewport?

It's a bit buried in submenus, but don't worry.
Preferences > Themes > 3D View

Scroll down to: Theme Space > Gradient Colors > Gradient High/Off


How do I change velocity in the Fracture Modifier?

We, the Fracture Modifier Team, are looking into creative ways to do in future features it but we don't have a workflow for that yet.

It also depends on what look you want to achieve exactly.
For example, the total mass of the fractured objects could be higher (so the shards have higher masses too).

Also you could play with gravity, friction, or some force fields to decelerate the shards.

Furthermore you could also try to adjust the time scale of the rigidbody simulation.


Thanks to Brecht (and some bug fixes to Blender), here's the workflow for using stereoscopic rendering in a render addon:

There are three main commands needed, all are part of the RenderEngine:

active_view_set: this is used to set the view to one of the stereo cameras.  Use the same name as the view, i.e. if the view is called 'left' the command would be active_view_set(view='left')

The camera matrix of this view is retrieved by using camera_model_matrix.

If you use the offset orientation then there is also an x-axis lens shift in one or both cameras.  That is retrieved with camera_shift_x.

For feeding render results into Blender, you need to add the view name to the begin_results call.  Blender expects the render engine to manage the logic of rendering the image twice from the different cameras and feeding the results to the correct view in the render results.

Note: Due to a bug that was fixed after the release of Blender 2.79b, camera_model_matrix only works correctly if a recent buildbot build of Blender is used.


All what is needed is an Array Modifiyer and an empty.

Add an array modifier to the oject.
Add an empty to the scene at the red dot.
Scale and rotate the empty slightly. Thats to get a spiral and a decreasing size.

Adjust the fine tuning with the relative distance. (Y und X values in my case).

If the empty is rotated, it creats a chain ring.
If you want to print it: move the empty downwards, until all segments ar on the same hight.

Also there is an advantage because there is no curve modifier wich deformes the single sements of the chain.


How to port a smoke simulation folder over to the render farm?

Render farms will take your .blend file and simulate it on their own site first, to generate the Cache folder. After that, the farm activates the distribute to render-per-machine (buckets assigned) from this file using path relative cache folder. This is how you get sequentially correct simulations on a render farm. It will involve human setup on the render farm.

Useful for hair, fractures, liquid.
Caching in Blender can take many hours or some seconds depending on the SIZE of your scene (yes, blender units to Meters..etc..) so make sure you are working with the right proportion and scale.


How do I custom set the origin when use the mapping node?

All you have to do is add a vector math node before mapping node, set it to add. Now you can easily change the origin by changing the value of vector math node


Is a large UV map heavy on performance while playing?

A UV map is a set of coordinates representing the vertices of a mesh in 2D space. It is not usual to talk about it in terms of 'large' or 'small' as its size/density mostly depends on the size/density of the mesh. You should generally not care about resources used by UVMaps. The size of textures (like lightmaps) or the resolution of the whole mesh are usually the things you should worry about.


Using datatoc.c to make the splash screen blender 2.79

While this is still considered off-topic -

You are mixing up two similar names, you want to use datatoc but you are running ctodata.py. The page you read is out of date.

datatoc is a c program built as part of building blender. You can find it's source files in source/blender/datatoc/. When you build blender it will be in the build/bin folder.

Tou make use of a custom splash screen you need to build your own copy of blender, therefore the easiest way is to save your image as release/datafiles/splash.png and let the build process merge it into your blender.


I found the solution,

Go to Edit mode -> Create 6 new colors -> Go to Edge - Split edge -> Deselect all (a) -> Select 1 face and give him 1 of the new Colors, repeat this for

each face.
Then -> File - Export - OBJ

Go to SH3D and import Furniture -> Import the cubes -> Customize furniture, now you can individually color each of the 6 faces.


Joined object not acting as its parent with a Curve Modifier

The band doesn't have enough subdivisions to  be able to curve. Try adding some loopcuts along it.


This will return all settings, including UI, to those you had when you downloaded Blender.... this will also reset any changes you have made to the Blender start-up file, too.

and this will allow you to load files containing alternate UIs without loading the UI changes... (just in case that is what happened...)


You're on the right track.

For the bones to deform an object, correspondingly named vertex groups must exist on the mesh. However, not all bones have to deform the mesh. There are often more bones which are just for the mechanics of the rig.

But that's no problem, you can just add another vertex group with the + symbol. You have to name it exactly like the bone. If the mesh and the armature are connected via an armature modifier, renaming the bone will rename the vertex group from now on.

Another option is to simply select the mesh and go into edit mode, with the armature in pose mode. Clicking on a bone, which doesn't have a corresponding vertex group yet, will color the mesh in purple. When starting to weight paint on the mesh, a vertex group for the bone will be created automatically.
For this to work in 2.8, first select the Armature and then ⇧ Shift Select the Mesh and go into weightpaint mode. If the armature isn't selected you can't select the bones in weightpaint mode.


Linux - Unable to set Blender to correct PULSEAUDIO Device

I resolved the issue by updating from 2.76 to 2.78 RC1 using the following 3 commands:
sudo add-apt-repository ppa:thomas-schiex/blender
sudo apt-get update
sudo apt-get install blender

This added SDL as an option under User Preferences > System > Audio.
I was then able to select the correct audio device in PulseAudio Volume Control (pavucontrol).

Cheers!


when I try to texture paint onto my mesh, my texture shows up in a random place on the mesh

All normals are flipped. It's inside out. In Edit mode, press A to select all, then Alt+N and "Flip" to fix it.


come to a solution based on the fact that cavity is calculated in blender based on the verticies. made a tripple subdivisio and was able to paint edges properly.


Mesh becomes extremely wrinkled around the hips and shoulders

Moving the multires modifier below the armature modifier solved the issue.  :)


You definitely want to use a particle system for the falling snow flakes.

You could use a physics sim of some kind to create the "piling up" effect, but I don't think the result would be worth the sim calculation time. Also snow in real life piles up fairly slowly as far as what the eye can see, it doesn't look like a bucket of sand being poured on the ground.

If it were me I would create some sort of mesh object for the snow cover on the ground, and use shape keys to animate it slowly growing higher. The snow particles could just pass right through it or die on contact. This should work unless you need a super macro shot of the snow flakes.


How do you mirror and invert at the same time?

Unfortunately, the mirror modifier can't so this as it creates copies of the object for each axis you tick instead of just transforming it but this is easily done with the Interactive Mirror tool (Ctrl + M) or from the 3d view header, Object > Mirror > Interactive Mirror.

Simply duplicate the half of the mesh you want to mirror and use CtrlM + Xto mirror it on the X axis, then without deselecting, mirror it again but this time on the Y axis.

Only disadvantage as compared to the modifier is that if you update one side, you will have to perform the mirror operations again (this can be avoided if you link both object's Mesh Data with CtrlD > Object Data but adds unnecessary complexity IMO). Also, as per Understanding mirroring and inverting an object, you will have to recalculate the normals if you perform this operation in Edit mode.


Set the sphere's y-axis to 23.5 and Rotation Mode to ZYX Euler. After that you can rotate the sphere around its local z-axis.

Set a keyframe with I at frame 1 add another one at e.g. frame 240 with z-rotation set to 359.

See also:

Manual Rotation


I don't know if this is your issue, but you should give it a try :D


Link collection from external .blend in 2.8 via python

Thanks for your initial self-answer! It got me on the right track.

I think this way is even easier:

import bpy

master_collection = bpy.context.scene.collection

blendFile = 'path/to/file.blend'

with bpy.data.libraries.load(blendFile) as (data_from, data_to):
    data_to.collections = data_from.collections

for new_coll in data_to.collections:
    instance = bpy.data.objects.new(new_coll.name, None)
    instance.instance_type = 'COLLECTION'
    instance.instance_collection = new_coll
    master_collection.objects.link(instance)


you just export mesh geometry. you can tesselate your geometry in alias (Auto Studio only) by the plugin "optimize for draw", that tessellates your mesh as fine as your construction options are. If you use the light Alias version you can tesselate also by the tool in the palette but it will leave you gaps. Take the meshes and export it as FBX. Done! If you are using an earlier version of Alias you do not have FBX export. You will have to export every part separately by OBJ. You could think of exporting everything by Material.


How to Make Metal Mesh using PBR texture....?

Here is the node which i used in blender 2.8 and Out put result

But in EEVEE engine for perfect result we have to choose blend mode as "Alpha Hashed" in the setting of Node editor using "N" key. if we use Alpha Blend then their will be some problem in mesh as we clearly see in image.


When I import files they "spawn" too far away from the origin?

Check your object origin on the object in the source blend file. If it's centered on your object, it should link into your new file at the world origin.


Mass is different than weight. Having a negative mass would cause all sorts of physics problems.
There's no easy way to flip the gravity for one object without flipping it for all. However, what you can do is create a wind forcefield pushing one of your cubes up. I'm no expert so there could be a better way that I'm not aware of.


Why is my action modifier not being activated?

Your action actuator is not being activated because you have a sintax error in

Interval1 = scene.objects["Empty"].get['interval'] you have to use parenthesis in the .get('interval')

Cube logic:

from bge import logic

act = logic.getCurrentController().actuators['Game']
obj = logic.getCurrentScene().objects['Empty']
print(obj['interval'])

if obj['interval'] >= 60:
    logic.getCurrentController().activate(act)

Empty logic:


Where are the Motion Blur controls in 2.76b as shown in the Manual?

Looks like they already updated the documentation for the the upcoming 2.77 release. The test builds do have these extended controls.


To the best of my knowledge you can't pause the playback of the particles via the physics system.

In order to accomplish this effect, you need to:

render the original particle sequence with the standard timing
render extra shots of frozen particles with Camera 2 and then edit the shots together in the VSE

In order to do that you need a way to freeze the particles in time so that you can render out the Camera 2 shots.

You can do this by setting up the particles to use a DupliObject, and then using the "Make Duplicates Real" command (CTRL+SHIFT+A) on the correct frames. I found it helpful to also parent the frozen particles to a new parent object.

Here's what I did to accomplish this.

Set up your initial particle system and animation (I chose a 10
particle, 50 frame sequence for the test). You will need to set
particle duplication to an object or group of objects. If you just want
a small point, use a small sphere)
You may want to bake your particle sim to disk and then switch your
particle system to read from external to avoid the simulation
changing.
Move the timeline to the frame you want to freeze (let's choose frame 20)
Select the particle emitter and use "Make Duplicates Real" command (CTRL+SHIFT+A)
Snap cursor to emitter and create new object (empty, plane, etc).
We'll call this one Frame20Parent.
Hide the emitter. Select new particle duplicates, then parent them
to the Frame20Parent object with CTRL+P
(keep transformations)
Now, you can render out frames from your Camera 2 animation with the
particles frozen in place.

Please note: I've spaced out the duplicate groups for clarity, but you would have to keep them in the same location as the original emitter object so the particle locations would match.

If this solution does not work for your project, please provide additional requirements and I can amend the answer.


How to slow down sensivity of grabbing objects via the user preferences

There is no way to scale down the cursor speed in Blender when grabbing, (aside from holding shift as you've mentioned).


If the Scale value of the Wave Texture node is low the problem won't be noticeable, maybe this is what's happening in his video:

Another way to fix the problem is to use concentric circles for your topology (right hat):


How to set a background using the cycles render engine with the API

When you select the Gradient option for the Color item in the World Panel, it runs a number of calls to create the Gradient node and route its socket to the color input of the Background node.

To replicate that process, you can't just call the panel tool that you clicked on. I believe you have to manually add the gradient node to the World nodetree and connect the node to the background node via python.

import bpy

scn = bpy.context.scene
scn.render.engine = 'CYCLES'
scn.world.use_nodes = True

#select world node tree
wd = scn.world
nt = bpy.data.worlds[wd.name].node_tree

#create new gradient texture node
gradNode = nt.nodes.new(type="ShaderNodeTexGradient")

#find location of Background node and position Grad node to the left
backNode = nt.nodes['Background']
gradNode.location.x = backNode.location.x-300
gradNode.location.y = backNode.location.y

#Connect color out of Grad node to Color in of Background node
gradColOut = gradNode.outputs['Color']
backColIn = backNode.inputs['Color']
nt.links.new(gradColOut, backColIn)

#set gradient type to easing
gradNode.gradient_type = 'EASING'


Why doesn't "auto-fit" properly fit the compositor backdrop?

The Backdrop is merely a convenient display of what the Viewer node receives - to allow you to see the effect of changes to your compositor setup without having to switch away from the node view. The backdrop does not automatically resize as your viewport resizes - but does provide options to 'zoom' and offset the image - so you can position it so that the part of interest is not obscured by the nodes that you are working on.

Since the backdrop is intended as a convenient method of seeing a part of your render - so that you can tweak the nodes to see how it would look in the final render - it wouldn't make sense to distort those results (otherwise you wouldn't be seeing what would be output in your final render) - so there are no options to change the aspect ratio of the backdrop - so it cannot auto-fit to the shape of your viewport.

The 'Fit' button automatically sets the Zoom so as to position your render as large as possibly without any clipping - and this does mean that you will have blank 'bars' at the top and bottom, or at the side. Blender has no way of knowing which parts of the image you aren't currently interested in so you need to adjust the Zoom manually and optionally adjust the Offset to scale and position the image as desired.


how can i make uneven distribution of lattice without changing the shape of object in the beginning

I don't know if you could have something very accurate with a lattice. Maybe you should try shapekeys or, if you have a reason to prefer a modifier, the Mesh Deform modifier or even the Surface Deform, as your object is a simple plane:

Create the object A, the one you want to deform.
Create the object B, a subdivided plane, it's the object that you'll use as the Surface Deform target.
Align its edge loops with the object A vertices.
Give your object A a Surface Deform modifier, choose object B as the target, click on the Bind button.
Select the object B, go in the Properties panel > Data > Shape Keys and create the shapekeys.
Now your object A will deform rather well.


How to create a render layer in blender python

Create a new render layer with Scene.render.layers.new()

As a rule of thumb, I always use an  API method such as  new_render_layer = scene.render.layers.new(name) in preference to the operator, in this case bpy.ops.scene.render_layer_add().

Test code, creates a new render layer named "Characters". Makes it the active render layer. Sets only  scene layer 0 (the first) as included, turns off zmask, and, just for fun,  makes true for every odd zmask layer.

import bpy

context = bpy.context
scene = context.scene

new_rl = scene.render.layers.new("Characters")
# make active
scene.render.layers.active = new_rl
# set only layer 0 true
new_rl.layers = [not i for i in range(20)]
# don't use z mask
new_rl.use_zmask = False
# every odd zmask layer
new_rl.layers_zmask = [not i % 2 for i in range(20)]

See RenderLayer docs for more render layer properties to set.


How to implement "air-strafing" in the BGE?

it's simple really,

just use seperate logic to apply forces on axis independently, and have each key only apply a cap to it's own directions

if keypressW.positive:
    if own.localLinearVelocity.x<10:
        own.applyForce((100,0,0),1)
if keypressE.positive:
    if own.localLinearVelocity.y<10:
        own.applyForce((0,100,0),1)

this way X(10) + Y(10) is greater then X(10) could ever be.


How do I anti-alias an image with a transparent background without getting semi transparent pixels?

The problem was Full Sample. This needs to be left unchecked.


Locking the viewport headers to a default position

This will depend on the file that you're loading as the GUI layout will be loaded with the file. You find this happens a lot when loading files which were saved in previous versions of Blender.
 You can prevent the current GUI setting being overwritten on load by unchecking Load UI in the file load window:


Those aren't precisely "edges." Think of a sheet of paper that only has four corners. If you put two opposite corners too closely to each other, you get a fold. That's basically what's happening here. Choose "Face Select Mode" and select one of those faces. You'll notice that the selection goes across that edge. That's because it's just a "fold" not really an edge.

Behind the scenes, the best-kept secret of CGI is that *everything * is triangles. You never actually have a quad, you just have two triangles that orient themselves differently, to accommodate a given scenario. And at render-time, everything gets triangulated, anyway.

If you can find the related vertices, you should be able to unfold that face into something that's a bit more reasonable. The other option is to select the two verts that are connected by that fold and press j. This will split the face and create a real edge, and that might help it make a bit more sense.


How to turn off camera's follow path constraint?

Hm, this is another "follow path". Try to make "follow path" in different way: select Curve, Shift-select Camera, then press  Ctrl+Shift+C and select Follow Path. Then chose: in constraint settings click on "Animate path" or animate "Offset" value. This is equivalent of  "follow path" via constraint.

Also, you can add a constraint from menu Add Object Constraint, but in this way you need to manualy select curve object in "Target" drop-down selector.

To remove default "follow path" go in curve settings and unclick Path Animation checkbox.


Other side of the world seemingly reflected in Fresnel layer; only shows in render, not in viewport

I had that problem too. Here is how I fixed it. I went to User Preferences and I click on system and disabled Mipmaps

Hope this helps


The brush you have selected has it's type set to mask and there is no image chosen as the stencil image. Most likely you selected the mask brush.

To get out of it, you need to select a stencil image, then you can change the brush or the brush type. You then need to remove the stencil image from the slots menu or by disabling the "Mask" checkbox.


How to avoid the wrinkle at the poles of the UV sphere?

The wrinkles are generated by the triangles that connect the pole to the rest of the mesh. Even quads with one side much longer than the other can lead to similar problems, expecially with subsurf.
My favourite way of get rid of it is to delete the pole vertex, loop select the circle, extrude and scale down until near of the center, then Ctrl+F Grid Fill.
Then select the new central pole, activate the proportional editing  with sphere falloff and grab the pole to the old position, that can be "marked" with the 3D cursor (Shift+S cursor to selected).
Then you can expand your selection with Ctrl++ and use the "smooth vertex" function in the toolshelf T.

You'll have to do some experiments: if the last circle is near the pole you'll have artifacts, if it's very distant you'll have to set the sphere "by hand", also the smooth vertex function requires some manual adjust. If you need perfect sphere use icosphere instead.


So I went and renamed all the bones to .R or .L and it worked then so I guess right and left don't work in the dope sheet.


After import to Unity, all my normals are flipped

My guess would be that your object has negative scale in Object mode. As .obj does not store object transforms, the scale is applied on export and so causes the normals have negative direction as well.
To fix this, in Object Mode hit Ctrl + A  > Scale, then do the operation described in answer you already found (in Edit Mode hit Ctrl + N or Shift + N for 2.8+) and then re-export.


How to Select a data block's user in outliner?

Okay, after looking online and trying to acomplish the same thing with python, I found that it has not yet been implemented. This can be seen if you right click on "Actions" just above what you were clicking on, and click "Select" or "Select Linked", Blender tells you this has not been implemented. It appears the devs forgot to add this to sub-items.

Basically, the button's there but it can't be done yet.


I think you should probably retopo.

I feel that it's much more difficult to unwrap a high poly mesh because edit mode for very complex models may be less responsive, and it will be more difficult to get a good selection of edges for adding seams since the geometry is so small and there are so many edges

you probably want to retopo for your own convenience, and if you need the extra detail, you can bake the high poly as a normal map for the low poly model

if you really need to sketch out a simple texture on a very high poly mesh, maybe you can use vertex paint? it won't be as detailed or look as nice as a real texture, but if you need to visualize something for planning it might be useful


You could run the script from the command prompt or a batch file

blender blenderFile.blend --python myscript.py


How do I make the back faces of a transparent object hidden while other individual objects behind it remain visible?

i know that your'e using blender internal, but you probably should use cycles or eevee (eevee is only in blender 2.80^).

with this simple node setup you should get the result below.

Result.


Removing polygon grid from displacement map?

In this case the grid effect on the map was caused by the amount of geometry on the low poly object.

To remove the grid effect on a baked map (cycles/BI):

On the low poly object, Modifiers >> Add Modifier >> Subsurf >> use the default >> apply
Create image for the map: UV Image Editor >> Create new (choose wanted size and rename), select the new image in the Node Editor so it is active
Select high poly, low poly, go to edit mode so uvs are visible
BI: Render >> Bake >> Bake Type: (choose map type, ex. Displacement), [x] Normalized, [x] Selected to active, [x] clear, Distance: (choose distance, ex. 0.18), Bias: (ex. 0.125, usually about 50-70% of the distance number), Margin: optional (default is ok) (should also work in cycles with cycles defaults)
Bake (without grid)! :D

If your object has less polys you may have to up the subsurf modifier to level 2 instead. My low poly had 1008 quads in this case and lv 1 worked to remove the grid. Also as a side note, in zbrush I started to have the grid appear again at higher poly counts (at the equivalent of a level 3 subsurf) for the low poly so it is kind of a test what poly count works best for the map problem. Usually about 4-5k poly is a good number to bake from to avoid the grid.

Example of fixed Blender displacement map:


Assign automatic weights from bones does not work at all for me

To solve bone heat weight failed issues:

1) remove doubles

2) disable bone deformation for bones that wont be deforming the mesh directly

3) apply location/rotation/scale for the armature and the mesh

4) apply the automatic weights


You can in theory create any material in the properties editor just as well as the node editor, but in practice the node editor is a lot easier and faster to work with once you get used to it.
Material nodes mostly work by mixing together different aspects of the way a surface interacts with light (shader nodes) and by mixing together different textures, whether they are 3D procedural textures or 2D image textures.
For instance you might mix some diffuse and glossy together based on fresnel node to make a simple ceramic shader:

Or you might use a procedural voronoi texture to add some displacement and make
a kind of hammered copper shader:

The possibilities are pretty much endless.
I'd recommend you look around for some tutorials to get used to working with nodes. There are plenty on youtube and similar sites. Here are some others to get you started:

Blender guru

Blender diplom

Blender cookie

And the manual is a good a reference for information on specific nodes.
And of course you can always ask around here if you have more questions ;)


In edit mode select all vertices and press "smooth vertex" in the tool shelf (T). The tool has some adjustable parameters (search in the bottom left of the tool panel, press the little plus icon if not visible.


How can I use a sequence of images as a texture within a render scene?

Yes. Instead of using an image on the plain, use a series of images using the node setup shown. Add > Image, and then select your image series.

You can also texture a plane with a movie file. Movie Clip On Plane

Whichever way you go, frame rates must match...


Lot of small holes in a sphere / round shape for game

Just use textures. Unless the player is going to be interacting with the holes in some meaningful way, they are just decoration and do not need to be modelled.

The texture could either use transparency, or just set the color to black and specularity to zero.


Keyboard Sensor - how to put NULL (NO KEYS PRESSED)

You need to setup your Logic Bricks like this:


1) With Blender (Cycles Render) and Photoshop you can do it this way:

Create your object.
Create a plane under your object. Keep this plane selected. In the Properties panel > Object > Cycles Settings, enable Shadow Catcher.
In the Properties panel > Render > Output > Choose PNG and RGBA so that you can have a transparent channel, and in Film > enable Transparent.
In the Properties panel > Render > click Render.
Open your image with Photoshop, you have a PNG file with transparency and there is a shadow under your object.
In Photoshop, put a white layer under the object layer.

2) As Risingfall says, if you know how the Compositing works, you won't need Photoshop, just use a white background and an Alpha Over node.

3) A more basic solution is to play in your 3D scene with a structure of planes that either have Diffuse shader so that they can receive shadow, or Emission shader, so that they stay 100% white.


Texture painting on an existing material

The answer is YES! And these are the steps you begin with:

Make sure to UV unwrap your model.
Apply a material, create and add an image texture.
Go to Texture Paint mode, and start painting directly on the model.

IMPORTANT

Remember to save the painted texture to a file or pack the image directly inside
your blend file, before you lose it!


How to reduce the convex shape of a surface, to make it more planar?

There is this neat trick that works in almost every 3d software out there that forces vertices to go to same plane.
Simply go to edit mode by pressing TAB select all by pressing A, press S to scale, then X or Y or Z depending which plane you want them to be thrown at, and then press 0.


Why does blender not compress file by default?

There is a checkbox in the User Preferences/File tab, if you want to have it checked by default.


Grease Pencil strokes don't respect world space

OK, after throwing the question out to Twitter, it turns out it is a bug, wherein, (as of v2.91.0) GP objects who's origin points are too close to each other can't seem to sort their display and render orders properly.
The temporary fix is to move the offending layer's origin point further out into the world space. This isn't optimal because now it has a "false" world space coordinate, and now you can't really rotate the GP object properly. But it's a solution for now, as long as your layers rotations don't need to animate.


First of all, any model you create will be converted into triangles eventually by the game engine. Sometimes the engine makes a bad decision for which way it should triangulate the polygon. When it does, the texture stretches wrongly, also as a form itself may look broken. That's why on the extremely low poly models you may find some polygons triangulated by the modelers


Object in texture mode looks like solid mode

Ensure that Maximum draw type is set to Textured in Properties > Object > Display:

See this answer for a 2.8 screenshot.


Contents on the VSE cannot be used on the 3D scene directly.

They would need to be rendered as image sequence or video and used as textures.


Update:
If this answer seems out of place, the original question was "How do I Duplicate Keyframes?"

Probably the easiest way is to the Dope Sheet editor. There are several ways to get there:

Click the icon on the bottom left corner of the 3D view and select Dope Sheet

Click on the dropdown that says Default on the Info bar, and select Animation. (Or press CtrlLeft Arrow twice)

This will take you to the Animation layout, with a 3D view, Graph editor, and Dope sheet.

From the Dope sheet or the Graph editor, select keyframes, and press ShiftD to duplicate.

Looping in the BGE:

Once you have an animation that ends where it starts, you can make it loop in the Game Engine with Logic Bricks:

Go to the Game logic editor (CtrlRight Arrow)
Add a Keyboard Sensor (Add sensor > keyboard) and set the key by pressing the button next to the word Key.
Add an Action actuator (Add actuator > Action) and set the Action value to your walk animation, set the end value to the last frame of your animation, and set the Action playback type to Loop End.
Connect the logic bricks by dragging the dot next to the Sensor to the dot next to the Actuator. An And Controller should be automatically created between them:


3D View : Abnormal(?) X-Ray mode and Edit mode interaction

when your x-ray is set to 1.0 it means that the visibility of the object is set to full. 0,5 means that the visibility is on half and 0 means that the object is completely see-through (invisible). When your shading mode is set to wireframe, wires will be visible no matter how low the visibility is set. The visibility you want is set by default.

Visibility set to 0.5, shading - solid mode, object mode

Visibility set to 0.5, shading - solid mode, edit mode


Does mesa driver works with EEVEE on Linux?

I use the default AMDGPU drivers because I tried thrice and have still not been able to install AMDGPU Pro. Eevee works absolutely fine on Mesa with my RX 560. Even for Cycles, it's not essential to have OpenCL, you just have to use CPU render. I'm happily blendering on after I switched to Linux Mint.


Ok, there are a number of issues with your file:

Select Layers 1 and 2 in the viewport to have both layers render.

In the Render>Shading panel you should select Transparent instead of Sky for the Alpha setting. This will allow your Text layer to render with an alpha channel instead of black.

Secondly, your Hue/Sat compositing node affecting the Shockwave layer IS keyframed on the Value field. Try muting it to see the difference.

Reverse the inputs on your Alpha Over node to put the shockwave behind.

The shockwave image is very light when viewing in Color+Alpha mode in the UV/Image Editor. If you switch to Color only you can see a stronger effect. Alternatively, you could composite a black background behind everything to see it better.


Way of seeing data as image anywhere in a Cycles nodes setup?

Personally, I use a temporary Emission shader and connect it to whatever I want to look at. I also have a small viewport render open almost permanently.
The emission shader renders really quickly taking only a couple samples to converge, so it's nearly instantaneous, especially if you go into local view (Numpad /).

I've recently released an add-on that uses this method, but sets it all up for you so you simply have to Ctrl+Shift+Left Click a node to view it's result (just like the compositor).

[Update: The Node Wrangler add-on mentioned is included in Blender now, simply enable it in your user preferences]


How to recreate the spaghettification process around blackhole in blender?

This sounds like a job for the lattice-modifier!
Outside of the funnel-shaped lattice, the sphere is undeformed...

...then it gets sucked in...

...and spaghettifies!

Make the lattice a bit more detailed and curved, and you should get what you need.
The accretion disk and jets can be made with particle systems. As for the gravity-lensing, there are quite a lot of tutorials out there that deal with making "Interstellar"-like black holes


As mentioned in the comments above:

Show Physics Visualization is for debugging purposes - and should not be part of the game.
Range indicators are part of your game. You can present them as you like. For example a cone with wireframe material would provide you the look you are looking for.


Alpha in Cycles isn't totally transparent, possible Mix node issue

Okay there you have the image going straight in to base color an image doesn't have transparency. You need to put it though a RGB to BW>ColorRamp> Fac in mix shader
As HoboFSlapfight had pointed out you could make these changes  "But swapping out the Mix for an Add, and switching the mixRGB for a pair of Math nodes set to multiply (as pointed out by a friend earlier) also seems to have corrected the issue."
Transparent needs to be it's own shader.


How to snap to vertex on an unstraight/uneven axis?

You can keep using the knife tool then align the edge after, using "edge slide".

Edge slide is a way to grab along edges and is obtained by typing G twice.

So here:

make the cut
select the edge and use GG (double keys does not appears on the cast in the gif below) to align to the edge on the right.
then GG again to place it where you want, but this time the edge is parallel to the one on the right


Understanding mirroring and inverting an object

The mirror tool (CTRLM) actually inverts the model by scaling it -1. This will flip the model, but will also invert the normals.

Here's what the docs say:

  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.

I'm not exactly sure what the mirror modifier is doing, but I'm assuming it copies the vertices location along the axis and puts it in the negative location. Here's what the docs say:

  The Mirror modifier automatically mirrors a mesh along its local X, Y
  and/or Z axes, which pass through the object’s center (the mirror
  plane is then defined by the two other axes).


You can try to mix them together with a Color > MixRGB node and find the right mode (here Multiply). Don't forget to put a Diffuse node after the MixRGB.


You're right, it doesn't appear in the render engine dropdown.

In version 2.66 it is in Render tab > Post Processing > Freestyle.

Thanks to RagnarSun, in 2.67 (and 2.67a) it is in Render > Freestyle.


Here is how to do it:
Your current mesh is having a pretty bad topology since you cut those circles into it.

First of all navigate to Edit > User Preferences > Addons and enable Mesh:Loop Tools

Select a couple of faces in a square shape (where you want the circles to be) and click the RMB > Loop tools > circle.

Voila!! You have perfect circles with a good topology...

BUT...Here too you will see those sharp edges. But unlike yours it can be smoothed out by giving a subdivision-surface modifier of level 2.
You are now free to extrude it to make the tentacles.


Headless Blender using Cycles without X-server?

It has been a while but I have rendered on a headless machine. I did have Xorg installed to be able to run x11 apps remotely but the was no running X-server on the remote machine.

If you want to get blender running without any X-server software installed then you will most likely have to compile your own version of blender. There is an option to build WITH_HEADLESS that will disable all dependencies on Xorg libraries.


How to select and assign vertices to a vertex group via python?

Considering you have access to an object, for instance:

obj = bpy.context.object

Then you can add a vertex group "Group", using:

group = obj.vertex_groups.new( name = 'Group' )

Or get an existing group by:

group = obj.vertex_groups['Group']

Then you can add vertices using:

group.add( vertex_indices, wanted_weight, 'REPLACE' )

where vertex_indices is an array of indices, wanted_weight the weight you want to assign.
The last parameter ('type') corresponds to the operation you want ('REPLACE' to set the value, 'ADD' to add the value or 'SUBSTRACT').

The way you get the vertices is dependent of what you want to do.

If you have a vertex (from obj.data.vertices) you can get its index by:

vertex.index

From a vertex, you can get its assigned groups via:

vertex.groups

This is an array of groups that you can use to check if the vertex is concerned by a group.

To obtain the assigned weight, from a given group and knowing a vertex index:

group.weight( vertex_index )


Is it possible to use both rtx and amd cards at the same time?

It is not a good idea to mix different kinds of cards from different hardware architectures.


I made a model but when rigged it doesn't move correctly

Ctrl J has the only effect to put all vertices (from two different "container"-objects) into one "container-object" only, but both half of the mesh will have thier own central line vertices. You can merge them selecting all vertices and using the "remove doubles" option.


How can I move a vertex and maintain its distance from another?

Yes. In edit mode, select the pivot vertex and press the space bar to bring up the command selector dialog. Choose "Snap Cursor to Active" to set the 3D cursor to the position of this vertex.

Then press the . key to set the cursor as the centre of rotation. You can then select the vertex you want to move and press R twice to enter free rotation mode (or just once to rotate in the current view). Either way, the distance of the selected vertex from the centre of rotation will remain constant.


How can I create an image of my UV unwrap

At the bottom of the "UV Image Editor" window, open the "UVs" menu and click "Export UV Layout."

You will then get a "Save as" menu where you can specify where to save a PNG file. You can also change it to a different resolution or image type with the options in the lower left.

The default exported PNG image will have a grey outline of the UV map filled in with transparent white. The rest of the image is also transparent so you can put it over top another image in a photo editor like GIMP and still see the image underneath.
Good luck.


See vertex count of subdivided object before applying modifier

You just have to be in object mode to have the vertex count of the object including its modifiers.

To have the polycount of a selected object, for now, there is no dedicated statistics for that. A workaround would be to temporary isolate your object in a layer (or collection in 2.80) and hide the others. Then you will have the right stats.


This is what the Glossy Direct pass looks like when your file is rendered on my system.  I am using official Blender 2.79.  I do not see any trace of the image texture, which is visible in the Combined pass.  The other passes come out as expected as well.


Print all frames in between set key frames?

Not an answer to your question, but just some general cleanup of your code:

Using generators instead of single-use lists.
Using string formatting.
Adhering to PEP-8 when it comes to naming things.
Using continue to reduce indentation level.
Using a set to do lookups, rather than a list.
Renamed obj_list to obj, because it holds an object and not a list.

import bpy

import bpy
import math

selection = bpy.context.selected_objects

def get_keyframes(obj_list):
    keyframes = set()
    for obj in obj_list:
        anim = obj.animation_data
        if not anim or not anim.action:
            continue

        for fcu in anim.action.fcurves:
            for keyframe in fcu.keyframe_points:
                x, y = keyframe.co
                ceil = math.ceil(x)
                if ceil not in keyframes:
                    keyframes.add(ceil)
                    yield ceil

def print_details(obj):
    xrot = obj.rotation_euler.x
    yrot = obj.rotation_euler.y
    zrot = obj.rotation_euler.z
    xloc = obj.location.x
    yloc = obj.location.y
    zloc = obj.location.z
    print(obj.name)
    print("X Rot : %.2f\t\tY Rot : %.2f\t\tZ Rot : %.2f" % (xrot, yrot, zrot))
    print("X Loc : %.2f\t\tY Loc : %.2f\t\tZ Loc : %.2f" % (xloc, yloc, zloc))

print("-"*25, "starting","-"*25)
for keys in range of (get_keyframes(selection)): #This part needs to be in range of keyframes. Gives list' object cannot be interpreted as an integer error
    bpy.context.scene.frame_set(key)
    print("key : ", key)
    for obj in selection:
        print_details(obj)
print("-"*25, "ending","-"*25)


My camera is set to an object, and every time i change that, it automatically goes back to the object when i click render

You've bound the camera to a marker.

And the active camera is not a camera, but an object.
When you bind a camera to a marker, it becomes the active camera starting on that frame in the timeline. Binding cameras allows you to switch cameras at a certain point in the animation. But since there are no other active cameras bound to other markers, the object becomes the only camera that will be used for rendering the whole scene.
To fix it just delete the marker. Go to the frame where the marker is and Select marker > Delete Marker

From the blender manual:

Bind Camera to Markers is a special operator only available in the Timeline. The operator allows markers to be used to set the active object as the active camera.To use this operator, select the object to become the active camera and select a marker to bind the active camera to. If no marker is selected when the operator is applied, a marker will be added. When an object is bound to a marker, the marker will be renamed to the name of the active object. These markers also have a camera icon next to the left of the name to easily distinguish them from other informative markers.These markers can be moved to change the frame at which the active camera is changed to the object the marker is bound to.


How to bake to vertex colors in blender cycles?

There is a seperate addon to bake images to vertex color.

bake to image
use addon to bake image to vertex color

https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/UV/Bake_Texture_to_Vertex_Colors


undo object smoothing [remove subdivision surface]

That is the shortcut to add a Subdivision surface object modifier. This modifier uses an algorithm to smooth your object at a certain number of specified levels. To remove the modifier, not just disable it go to the Properties panel > Object modifiers tab (blue wrench) and click the X to remove it.

The subsurf modifier (image from the Wiki):


If this is for a terrain (I mean the heights are considered from a base plane), you can use a bake to the texture:

This is done using Cycles.

You can see the material nodes settings above:

Input is the location (the location is given from the object's origin, here for simplicity, the object origin is at its baseline)
Only keep the Z value
Divide by the real height of your object (in order to have a resulting value between 0 and 1)
Then put it in a diffuse shader as color
(the texture node have to be present and be the selected node for the bake described below)

To bake:

Go to the render panel and the bake section
Choose diffuse and keep only the "color" option (deselect "direct" and "indirect" as we here want the color only with no environment or other effects)

As indicated in the comments, the previous setting leads to a sharp cutout (visible in the image above: the surrounding is suddenly black).

To avoid that, a possibility is to use another function than just dividing by the object height. What I propose here is to use a sigmoid:

the output is between 0 and 1
the output limits slowly tend to 0 on left and 1 on right

That leads to this kind of result which you can compare to the image above:

In the blend file below, the higher the value for the multiply node is, the more limit rendered values will be sharp.


How to create/make UV coordinates for polyhedron

You can unwrap the tetrahedron in one of 2 ways:

You can create seams (CTRL+E > Mark Seams) running along the 3 edges from the base to the tip. Then select all vertices and press U > UV Unwrap.

You can create seams on all edges  (CTRL+E >Mark Seams) , and overlay each uv island on top of itself. Then select all vertices and press U > UV Unwrap.

Please note the tetrahedron shape in my example is an approximate shape only in order to demonstrate the unwrap technique.


You can keyframe the Density parameter on the flow object to make it start and stop emitting smoke.


How to eliminate Cycles artifacts with many overlapping volumes?

Try increasing the number of Transparent bounces in Render settings > Light paths:

The reason this happens is because when there is nothing plugged into the surface output of the material output node, it behaves like a transparent shader. When a ray goes through a set number of transparent surfaces (as defined by the value in max bounces), it will stop and just return nothing (resulting in a "black surface").

To avoid these black surfaces, ensure that the max bounces are high enough. Note that forcing too many bounces can cause a noticeable slowdown when rendering due to the extra bounces which need to be calculated. This is especially true when setting the number of min bounces as well, and in cases which allow high numbers of bounces before the ray can escape to the sky (such as an indoor scene).


Retreiving element face number in binary .ply file

Ok so here is the script that worked for me:

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

for v in bm.verts:
    if v.select:
        lf = v.link_faces
        face_indices = [f.index for f in lf]
        print(face_indices)


Baking normal map from a cycles shader with normals

An obvious hack which, however, does seem to work well:

Connect the color output of your procedural normal map, that you would normally feed into Normal Map node to Emission node which has Strength set to 1
Connect Emission output of the node to Surface of Material Output
Bake Emit


Not sure if i understood your question, but have you tried panorama camera mode in cycles? There is Fisheye Equidistant projection, it will spherize you render

Just spread your planets with particles in a volume, and then move your camera towards it, it will correctly distort your image for FullDome projection


Weird spiky shadows around the edges of my walls

Something like that generates Sun light.

You can try to get rid of by Shadow - Cascade Shadow Map - Max Distance, but seems to be a tricky solution.

This effect is such visible when Lamp light is switched to Sun where Strenght of light is too high (1000). Lower value to 3 is ussually fine in most cases.

Edit
Later I noticed - light still penetrates the corners

Enable Contact Shadow subpanel and play a bit with values

... or, instead all of this, use another type of light :)


You may use the knife project tool. Duplicate the top face of the vertical cube (Shift+D), place it between two cubes, then separate the face (P). In Object Mode select the newly created plane, then the angled cube and press Tab to enter the its Edit Mode. Go to the bottom view, press Spacebar and type Knife Project. Delete the plane. Join objects with Ctrl+J. Join meshes in Edit Mode using Bridge Edge Loops operation. Finally dissolve the horizontal edge with X-->Dissolve Edges.


The weight is not good, for example the upper arm bone influences the lower arm mesh, you need to use a brush Blend type > Subtract to correct and it seems to work.


The problem here is all about that evil word good modelers often use:
Topology
Here are some ways to improve this:

Do some research on good mesh topology techniques and USE THEM

Use smooth shading

Your model looks far to detailed right now (as far as vertex count)...try removing some of the edge loops, and adding a subdivision surface modifier

A lot of your trouble is coming from vertices that are actually inside the mesh...try switching to wireframe view to pull these out (if you cleanup your mesh and use a subsurf, this will be much easier to do

Finally, like Anson said, you should be checking your normals often...hit Ctrl + N

The technique of modeling with a subsurf modifier is huge!


How to create front wall for these walls?

A simple way to create a wall with nice topology.

Select your vertices and go Vertex > New Face
Inset the wall a bit (might be useful later) and uncheck Boundary
Subdivide the bottom edge (Edge > Subdivide)
Connect the vertices to keep quad topology (Vertex > Connect Vertex Path)


I see one vertex on each cheek with 8 edges going into it, that's just bad modelling. I recommend CG Cookie's tutorial: https://vimeo.com/3835507


I created an addon that allows you to render or import animated GIFs with Blender. The addon is called Bligify.

Render GIFs

Import GIFs


What, fundamentally, is wrong with my metal texture?

My experience with metals has been that you need to include much less diffuse and much more glossy. I would try setting your factor value to something more around 0.05, or less.

In fact, if you're going for something more shiny I would try simply a glossy shader, with a roughness of about 0.05.

Result

Node setup

Hope this helped.


I think this is what you're asking for, it deletes all the groups whose name appears in the first column of your list. I'm not sure why you decided to go with two columns.
import bpy
C = bpy.context

import bpy

name_list = [
    # old name - new name
['Camo','Camo'],
['Corr','Corr'],
['Eyes','Eyes'],
['Head','head'],
['head_injury','head_injury'],
['Jaw_LM','Jaw_LM'],
['Jaw_RM','Jaw_RM'],
['Lip_LC','Lip_LC'],
['Lip_LwLF','Lip_LwLF'],
['Lip_LwRF','Lip_LwRF'],
['Lip_RC','Lip_RC'],
['Nose_L','Nose_L'],
['Nose_R','Nose_R'],
['Zig_LT','Zig_LT'],
['Zig_RT','Zig_RT'],
]

ob =  C.active_object

for n in name_list:
    if n[0] in ob.vertex_groups:
        grp=ob.vertex_groups[n[0]]
        print(grp.name)
        ob.vertex_groups.remove(grp)


Adding a Property to a CollectionProperty After Creating it

You can add properties to the PropertyGroup as follows:

bpy.types.Scene.particle_instancer[1]['type'].my_prop = bpy.props.StringProperty()

Internally, your bpy.types.Scene.particle_instancer is a tuple that will look like this:

(<built-in function CollectionProperty>, {'type': <class '__main__.particle_instancer'>, 'attr': 'particle_instancer'})

So, you can index the dict giving you access to the particle_instancer class, where you can add properties.

I got the idea to access the 'type' from this answer: https://blender.stackexchange.com/a/28091/20051


Armature doesn't animate despite being keyframe'd (video)

Constraints are applied after keyframed values. In a similar fashion the values that normally get keyframed are before constraints have been applied.

First you will need to disable the constraint to see the keyframed animation as the constraint will hide any movement if it's source is not animated or it's animation is muted.

To get the result you want, you need to use one of the "Visual" keying sets, these will keyframe transformation values after constraints have been applied. With a constraint then disabled you should see the animation that you are aiming for.


If you go into the Texture Properties, and expand the Color panel, you can set the Saturation to 0. The colors will output in shades of gray.


How do I add lots of holes into the surface of my model?

If the drill hole plans are in vector already convert the file to .svg.

If the hole plans are not vector.
Convert the holes to vector using Inkscape, Illustrator, etc...
Once everything is traced/converted save this file as .svg.

When you have a usable .svg file.
Open Blender and choose File/Import/Paths
Choose your .svg
With the newly created path selected in blender.
Go to the curve options and raise the extrude value up.
If the alignment is good, use the boolean modifier to "cut" the holes. Example

If not already vector & automated methods fail. Instead of manually tracing the holes. You may be best off duplicating a cylinder, of the correct size, & placing the duplicates where need be. Using the mirror modifier if and/or where possible. Then use the boolean modifier as mentioned previously.


Can installed scripts cause conflicts with each other?

Yes, two add-ons defining the same operator will “conflict” - in that the latest registering one will override any previous registration. The same goes for other registrable classes (panels, menus, UILists, etc.).

Note that add-ons can even override Blender's own operators, menus etc. that way (though this is totally not recommended).

Prefixing classes' IDs with something related to your add-on is the best way to go.


I'm getting no output from the Image node when using sverchok

The Image Decompose node (a beta node) requires the first 2 output sockets to be connected, before it produces any output. The docs mention this: http://nikitron.cc.ua/sverch/html/nodes/beta/image_decompose.html

I wrote this node and admit that this requirement is not the most intuitive, and should probably be revised.

But regarding the Image Node (in Generators), if you open the System Console and see the output of Sverchok you'll get an error, which hints at the problem. A bug.

File "C:\Users\....\sverchok\nodes\generator\image.py", line 112, in process
    if 'edgs' in self.outputs and len(self.outputs['edgs'].is_linked) > 0:
    Node Image had exception object of type 'bool' has no len()

i'll file a sverchok bug report about that -- this is fixed in the next update.


When I sculpt it doesn't show in object mode

Go to Object Mode, select the object, go to Modifier Properties and change Level Viewport value to bigger than zero until your modifications shows up in Object Mode.

This, it seems is an effect of using Multires modifier.
I found this solution in the answer Why is object mode slow but sculpt mode fast?


Why do freestyle outlines occasionally have gaps?

Try the following:

Make the mesh smooth (I guess this has been already done in your scene).
Enable the Face Smoothness option in Properties > Render Layers > Freestyle.

A detailed explanation of these settings can be found here.


Is there an easy way to select the side of a disk-shaped object?

In Face select mode you can select areas bounded by seams.

At some time or another you are probably going to have to UV unwrap your models to add "image" textures so why not start now :)

Once the seams have been added then you can select individual areas bounded by seams with the L key. see screenshots below


How do I turn down the saturation of a specific color in the noise texture?

You can put the FAC out of the noise texture into a color ramp, which lets you choose your own color for every range of value (between 0.0 and 1.0) of the texture.


I worked it out, whether this helps others or not, I don't know.
https://imgur.com/a/hUIxhe0


Delete all unused textures from Blender using Python

Remove all images with zero users from the blendfile:

import bpy

for img in bpy.data.images:
    if not img.users:
        bpy.data.images.remove(img)


Have second window with different perspective open only when a second monitor is connected?

Couldn't you create 2 different screen layouts? one for single monitor and another for duo monitor?

That way you'll have them both saved and you can switch between the 2 and then all you'd have to do is stretch blender to fit duo monitors.


"One or more addons do not have UTF-8 encoding"

Even if you solve the UTF-8 Warning, the other warnings will not disappear -- but there's no reason to worry about them: here's why:

The warning icons to the right of those add-ons are benign and intentionally added by the authors of those add-ons to warn users about something -- but they have always been there.

It's been pointed out above, but it's worth a mention and a screenshot.

Addons can define if they should be displayed with warning icons, this is to indicate to the user that there's some remaining work to be done on the addons. The message about the UTF-8 isn't caused by something that also causes those warnings. I have them too and my Blender works fine, and those warnings don't affect any part of Blender other than to give that indication.

The fact that the UTF-8 warning uses the same icon doesn't mean that it's the cause of those warning icons on the other addons, though it's understandable that you might think so. This is merely a matter of 'icon reuse'

Take for instance the Render: Network Render Addon. An addon you are not likely to ever use unless you have a network. In its source code (in its __init__.py file) it has a short manifest which we call a bl_info dictionary. It looks like this:

bl_info = {
    "name": "Network Renderer",
    "author": "Martin Poirier",
    "version": (1, 8),
    "blender": (2, 60, 0),
    "location": "Render > Engine > Network Render",
    "description": "Distributed rendering for Blender",
    "warning": "Stable but still work in progress",
    "wiki_url": "http://wiki.blender.org/index.php/Doc:2.5/Manual/"
                "Render/Engines/Netrender",
    "category": "Render",
}

The bl_info is a way for an add-on to tell Blender 'Hey! add me to the add-on list, and display this information about me`. Without that bl_info add-ons will not appear in the add-ons list.

The inclusion of the key / value pair "Warning":  "Stable but still work in progress" is the sole reason you see the warning icon beside that addon in your preferences -> Add-ons tab. All the other addons in that list that have the warning icon, has a similar entry in their bl_info.


Is there a way to determine the left 3D view sidebar's current width with python?

You can query the region's width from bpy.types.Region.width

I'm not sure if the toolbar region is always the second region (region[1]) in the bpy.types.Area.regions list, but you can always just loop through and check the type:

for region in bpy.context.area.regions:
    if region.type == "TOOLS":
        width = region.width
        break

That'll pick the first region of type TOOLS, though afaik there can be only one.