What's the difference between Glossy and Glass shaders in Eevee?

From left to right, is Glossy, Glass, and "Shiny". All 3 have roughness at 0.

Roughness in Principled BSDF determines how "shiny" or "polished" the surface of somthing looks. It bears no effect on the underlying colors.
Glossy is the equivalent of metallic - the color determines the hue of the specular reflection (how much of its own color is reflected back with the light). Default (white) Glossy with roughness 0 is the equivalent of Pure Metal (White basecolor, Roughness = 0, Metallic = 1) on Principled BSDF.
Glass essentially a Glossy shader, but with a transparent BaseColor, and some refraction added which also gives transparent/refracted reflections. It also includes a Fresnel to alter the refractions near the "edge" of objects. It is one of the best ways of replicating glass in Cycles, but has its limitations in EEVEE.


You could use Sheep it it provides services for collaborative rendering.

You machines will render your own projects first.

When your machines render frames from other projects you earn credits, more credits increase the priority of your projects.

The service only accepts projects up to 500MB (including packed caches in a zip file).

the client-software can be run from a browser as Java-Applet (I had problems with the latest Java), therefore I would recommend to use the alternative to download a standalone client.

FAQ

If want to try it and would like to have working scripts to start the client, leave a message and I will add them here.
Network Render
Blender has an addon for Network Rendering in order to use it you can enable it in the User Preferences:

Manual
Web Interface
Video, tutorials


How can I align an object in a discrete sense to the camera orientation?

The most obvious way is to align the object upon its creation. The option Align to View is present on all object creation operator's property, I use this mostly for text object. It will align the object's rotation to whatever active view perspective when the option is checked:

When that's not possible, sometimes I use a bit of Python, too, assigning the camera object's rotation_euler to the object to be aligned. From Python shell:

C.object.rotation_euler = C.scene.camera.rotation_euler


Selection Problems with Converting Quads to Tris in Game Engine?

Running bpy.ops operators in the game engine wont work well (if at all),

Best have the triangulated mesh on a hidden layer, and swap in the triangulated mesh when you need it.

Note, if you really wanted you could use LibLoad to convert a mesh while the game runs, and you could also use bmesh to triangulate the mesh, but this is fairly advanced API use, and Id not really recommend it since it wont work in the blender player.


How do I perform multiple extrusions around a spiral?

You could use an array modifier to make a millipede, that way you don't have to mold all of the legs individually, but just once.

starting with a spiral (I used the AddCurve:Extra Objects add-on)

then create the base object:

Add an array modifier, set the fit type to Fit Curve and select the spiral as the curve object:

Add a Curve modifier and select the spiral as the object.

Select a few opposing faces on your face object and do Extrude Individual.
To shape the legs.

When you exit edit mode you should get something similar to this.

You could also add a new object to be used as the head

and select it to be used as the end of the array (maybe you could use a tail object as well, I don't know anything about entomology..)

The beauty of working with modifiers is that you can go back and edit the main object and reedit as much as you want and all of the instances on the array will be modifies as well. If you edit the spiral curve then all of the array will follow.

Adding an empty and using it as object offset on the Array modifier will allow you to scale it so the back of it is larger than the front.


You have a broken constraint on the bone named : DEF_head (in the last bone layer of the armature).

Just select the bone named "head" in the "copy rotation" constraint.


Extreme motion blur for particle bullet tracers

Welcome to Blender Stackexchange!

This can happen with particles in fast motion. The issue is that they are basically moving too far within the time span of a frame for the calculation to happen correctly. The solution is to add subframes.

Try to increase this value by one or two. That usually solves it for me. Try more if needed.

Edit after testing the blend file:

Thanks for the blend file. I am seeing the same on the most recent build of 2.8. But I also I tested two things:

Particle movement without Camera-Shake.
NO particle movement but WITH camera shake.

(1) Looks fine, but (2) produces the weird behavior, even without particle movement. This seems like a bug to me, that you probably should report via "Help"-Menu > "Report a bug". (Update your Blender before doing so, because new builds come out every night. - So yours is already WAY out of date.)
This seems related, but you are with having the problem with different parameters.

In the meantime here's a possible workaround for your current scene, provided you have access to software with a "force motion blur" effect.

Render with the following changes:
 1. No camera shake.
 2. A wider image (decrease focal length)
 3. Increase the Output Resolution

You can place the result in a Composition with the actual dimensions of your final shot. Move the frame within the composition to fake the camera shake. (Which is essentially the same, since the camera in your blend file only rotates). Apply the "force motion blur" effect.

I know this is not perfect, but merely an idea to get you to the result you want.

Hope this helps.


Why are procedural textures defaulting to pink?

Change the default color of the procedural texture as shown in the image.
Property panel > Texture tab > Influence Section.

There are many types of texture in the list. Most of them are
classified as procedural. Procedural is just a way of saying "code generated
textures" ... instead of the regular images made from a bunch of pixel (RGB)
information.
The power in procedural map is that it can be applied in many ways
(as a mask or as a texture), mixed with other procedural textures to
form new ones... and this is just two of the many benefits.
The image / Environment map type texture is the only two types that isn't consider procedural.


Is every frame of a animation stored in RAM

No, they're not stored in RAM. For image sequence output, each frame rendered will be immediately written to the disk. Even video output using FFMPEG directly writes to the disk by chunks.

I've tried rendering CG animation directly to video (not recommended) for hours, and there's no sign of increasing memory usage over time.


Does having objects behind other objects slow render times down in Cycles?

The short answer to your question is Yes, all of the other objects in your scene contribute to the final image and are computed by Cycles.

In a little bit more detail, Cycles is a ray-tracing render engine. This means that it simulates light rays bouncing around your scene. Just like in real life, these rays can bounce multiple times, which means they can go around corners, refract through glass, and influence the scene regardless of whether or not they are in direct view of the camera. For example, look at this simple scene:

Even though the red sphere is out of the camera's view, it still influences the scene, tinting everything red. It even spreads beyond the direct line-of-sight of the sphere, by bouncing off the walls.

So, how does Cycles render everything? It starts by creating a BVH Tree. BVH stands for Bounding Volume Hierarchy. The BVH Tree contains all of the objects in the scene, including particles and hair, and allows Cycles to make a quicker determination of whether or not a ray has intersected with a mesh.

Cycles classifies its rays in multiple ways. One of these classifications is Direct vs Indirect. Direct rays happen when an object is lit by a lamp or object that is in its direct line of sight. Because of this, Direct rays are only the first bounce of a ray. All other bounces are indirect rays. This indirect lighting is (most of the time) going to be the largest contribution of objects out of the camera view to your scene.

Knowing all this, what is the best way to decrease render times? There isn't one easy answer, but here are a few suggestions.

Decrease Max Bounces:

This limits the number of times a ray can bounce before it is killed. Decreasing these can minimize the amount of time spent calculating rays in parts of the scene not visible to the camera. This can make your scene darker, though, since it decreases the influence of indirect lighting sources.
Use AO Bounces (in the Scene panel):

Similar to decreasing Max Bounces, this also limits how many bounces a ray can have before it dies. Instead of just killing the ray, though, this does an Ambient Occlusion calculation first. This can have the effect of lightening the scene, since AO passes are usually brighter than normal rendering.
Use Camera Cull:

This is the most drastic of the options here. It will actually exclude objects outside of the camera view from the BVH Tree. When using this, you have to be careful not to get weird flickers from objects coming in and out of the camera margin. After enabling it in the Scene settings, you have to individually enable culling for each object in the Object settings:

If you want a little more control, you can manually animate the renderability of an object by hovering over the camera icon and pressing I:


Can anyone help me by providing a sample python-script to modify the size of anyone feature in this Blender model 3D model of Humanoid

As commented in your previous question (or dublicate), ManuelbastioniLAB  will probably suffice. You can change a lot of parameters in there, which you can also access via script.

To get information of how to access a certain parameter, just hover above it and press CTRL+C (if that doesn't work copy it by hand).

A short example of how you could change a parameter:

import bpy

def buttock_depth_Y(size):
    bpy.data.objects["f_ca01"].buttock_depth_Y = size
    bpy.ops.mbast.measures_apply()
    return

if __name__ == "__main__":
    buttock_depth_Y(9999)

To run the script either make a .py file with the code in it or do it in the scripting layout


Blender 2.8x - Particle Color based on actual color of emitter

Thanks to @Lumpengnom at https://blenderartists.org/
I found the solution!

Important steps are:

1.) Add a texture coordinate node, connect UV to vector and enable the "from Instance" check-mark.

2.) Use Cycles renderer, also for preview!, otherwhise you will not so the right result which is very irritating.

Here is a quick video tutorial:
https://youtu.be/8W1J8hYjK9g


How do I use nodes to combine two images when both have transparent areas?

You can use an Alpha over node to automatically handle the alpha mixing:

However, if all you want to do is mix the alpha channels, a normal mix node will do (think of the alpha channel as a gray scale image):


How does one go about to achieve this "broken up" effect?

Under "Edit" in the upper left corner, go to preferences. Then go to add-ons and search for "cell fracture." Once you enable this add-on, the options to apply this effect will be under "Object" in the "Quick Effects" section.


Extruding faces are locked to a translation along a odd axis

One reason that things are looking strange is that you're editing with the SubSurf modifier turned on. I usually don't show the subsurf in edit mode, but there's nothing wrong with that.

The other thing that's making things act "strange" is that your "Pivot Point" is set to "Individual Origins," instead of "Median." To find that, look for a button that has two overlapping circles, and each circle has a blue dot in the center. It's between the "Display Mode" button and the "Show Manipulator" button. The "Display Mode" button has a wireframe sphere on it, and the "Show Manipulator" button looks like the three-axis manipulator that you see in the viewport.

Click on the "Pivot Point" button and choose the selection that has a single dot between both circles. This is "Median" and is the default. It will behave a bit more like you expect.

With "Individual Origins," it's trying to extrude each face along its own normal. you can find more information in the Blender Manual.


Your cube must have the same position as the curve (select the curve, hit Shift+S and Place 3D cursor to curve's origin, then select the cube and again Shift+S to move Selection to 3D cursor).
Also, you must apply transformations on the cube so it can properly fit the curve (Ctrl+A).
I have updated and attached your file so you can look at it.


Duplicate object and scale across bezier curve

Actually, the using and empty object as offset was right! I re-did all my steps and I got it to work exactly as I needed. Part of the answer to my question is here:
Repeating objects along a path

While that answer above covers duplicating the object along a bezier curve, it doesn't address how to control the scale or rotation of each duplicated object, which I found somewhere else I can't remember. To acomplish the scaling effect however, you need to uncheck relative and/or constant offset in the array modifier and use an object offset instead. The object you need to use as offset is an Empty. The Empty object is the one you will scale, in my case, to create a correct (without distortion) transition from big to small, of each element in the array, across the bezier curve. The file below can be used as a reference!

woman.blend

There are some details in regard to where to position the empty object, the bezier curve and the object being duplicated. By default you must place the object and the empty at the origin of the bezier curve. From there, play around with the empty until you get the desired result! Important: make sure all rotation and scaling properties of the bezier curve, the object being duplicated and the empty are set to 0 (reset). To reset those properties just select each one of them and press "Ctrl/Cmd + A" and choose "Rotation and scale". Hope it helps!


You can use the Decimate modifier.

Select your object, and in the Properties panel, click the Modifiers tab; there, click Add Modifier and select Decimate. There are a few modes to select from, which give you a slightly different result, but you'll probably want to use Collapse. This mode as a Ratio slide, which you can use to control how much to decimate your object.


In order to have your armature (and any object actually) show through any object in any mode, turn on X-ray mode. You can do this by selecting the object and going to the Properties panel -> Object -> Display Panel.

Interestingly, for the armature specifically, you can also turn on X-ray, by going to the Properties panel -> Data -> Display.


How to change the speed of an animation?

While adjusting the FPS will make a faster animation, it doesn't help you when you are making a game. In the Dope Sheet, select all of your keyframes, press S and use the mouse to resize the length of your animation.


What can I do to move a file to a new folder and leave its import image as plane intact?

Alright, I found it now. I clicked on File > External Data > Find Missing files, and the File Browser opened, and I clicked the 'Find Missing Files' button on the top right. The folder open in the File Browser needs to have the image in it or it won't work. If you aren't sure where it is, you can click the top entry in the System tab at left and have it search the whole hard disk, or click the up arrow at the top of the folder and file list in the main window area until you are confident it must be somewhere in there.

The image was tinted deep magenta after I did this, but it was there. Closing the file and reopening it caused that to disappear, it was an artifact.


Where can I find the code behind the Remesh Blocks modifier?

Blender Modifiers are not written in Python but are compiled into Blender and written mostly in C, therefore Remesh won't be found in the scripts folder. The code for Remesh can be found by searching for "MOD_remesh.c"  once you've downloaded the source tree locally. Either download the entire GIT repo, or archived as a zip. Alternatively you can browse the source tree on-line figuring out the path should not be difficult, but here it is anyway:   source/blender/modifiers/intern/MOD_remesh.c

Questions about the C / C++ sources of Blender are off topic for Blender.stackexchange but you can try the developers mailing list or irc freenode #blendercoders.


Boolean modifier is giving intersection instead of difference

You need to unify the normal vectors of your parabola extrusion and then the boolean will display correctly.

To unify the normal vectors:

Select the parabola extrusion in the 3D view
Hit Tab to enter edit mode
Hit A to select all of the mesh
Hit CtrlN to recalculate the normals of the outsides
This makes all of the faces point in the same direction which is necessary for Boolean operations (and a lot of other stuff) to work correctly.
Hit Tab again to exit edit mode.  You'll need to hide the 'Para' object to see the effect as shown.


As Rix said, just download Blender 2.79, it has Filmic built in.


Why is my texture skewed despite the UV looking correct?

Figured it out. I had attached a Mapping node to my texture to scale to texture, however it also inadvertently also fixed the rotation of the mapping to 0,0,0. Change it to 90,0,0.


How to get local axis orientation in Python?

As Codemax answered. Thanks to him. Here is an example how i can rotate Localy an active object at Y-Axis.

activeObj = bpy.context.scene.objects.active
activeObjMatrix = activeObj.matrix_world
theAxis = (activeObjMatrix[0][1], activeObjMatrix[1][1], activeObjMatrix[2][1])
bpy.ops.transform.rotate(value=rotateValue, axis=theAxis)


Join objects which using the same material

Fear not my friend. Here I come with help for You :) You have to open text editor in Blender, click New to create new text file, and paste this code snippet (below), then change "somename" to the materials name before .001 (f.ex. if it's Material, Material.001 and so on, You have to write Material there). Then press Run Script and watch the magic (it should select all objects having material with this name part).Important is to keep indentations cause Python is very sensitive about it, so in line 1 and 2 there is no indentation line 3 - 4 spaces, line 5 - 8 spaces, line 6 - 12 spaces.

import bpy
scene = bpy.context.scene
for ob in scene.objects:
    for slot in ob.material_slots:
        if ("somename" in slot.name):
            ob.select = True


it is definitely possible.
You even did it already ;) Just: the new camera has got exactly the same settings as the original. Means: In the 3D view both lay exactly over each other and appear as one.

Press "G" for grabbing and move mouse for moving the new (selected) camera after duplicating. Once you reached the wanted position, press the left mouse button.

Alternatively you can use the short cut "Shift + D" for duplicating and grabbing the camera. Now you're able to reposition the camera after duplicating it.

Greets
Jaspa


You can use viewport draw callback for rendering in the viewport. In your case, I would think of rendering a mesh with a small bias offset over existing meshes to avoid Z-fighting. Then making this mesh semi-transparent with appropriate blending modes to overlay the underlying geometry. Also do not forget to enable depth testing. You can use the GPU module and BGL modules for achieving that.


From  your screen shot, you enabled "render region" rather than clipping region. Not sure what's the correct key bind in Mac OS, but in windows, it's Ctrl + B (Which might be eq to Cmd + B in common translation).
Please look at the menu again, it said Alt + B to create clipping region, as the following picture show. Red dashed line is for render region, and it's separated from clipping region.

Remember, It is "clipped", not hidden. It should only be working in Solid or Wired Frame view mode. On the other hand, render region only works during rendering in Cycles.


It's called "UV unwrapping".
Go to UV editing tab, go into EDIT MODE, select all (A) and press U. then choose one of the method to unwrap the 3d model into 2d.


How to get disconnected teeth and beard to move with rigged face?

I'll try to recreate the similiar issue as yours for you. As you can see below the jaw mesh doesn't follow the head's movement. It's because the jaw's vertices are not properly assigned to the head bone.

Select the head bone in Pose Mode, then select the mesh. In Edit Mode select all the vertices that belongs to jaw. Go to the Mesh Data header and in the Vertex Groups panel assign (press the Assign button) them with the weight of 1.000 to the head bone.

EDIT: I've weight painted the left side of your model. Unfortunatelly it wasn't symmetrical, so I couldn't mirror the weights to the right side of the rig. You'll have to do it manually.
Here's the .blend:


How to align modal draw to the middle of the 3d viewport?

According to the API, Area.region collection holds all "regions of the screen area" as well as their dimensions. In case of the 3d Viewport: Header, Transform Panel and N-Panel.

The following code is based on this answer, extended with a simple calculation to get the correct position of the text in the 3d Viewport. Notice that you can also iterate through the collection and sum up the dimensions instead of doing that stepwise.

import bpy
import bgl
import blf

def draw_callback_px(self, context):

    bgl.glEnable(bgl.GL_BLEND)

    # ...api_current/bpy.types.Area.html?highlight=bpy.types.area
    header_height = context.area.regions[0].height # 26px
    npanel_width = context.area.regions[1].width
    transorm_panel_width = context.area.regions[3].width

    width = context.area.width - npanel_width - transorm_panel_width
    height = context.area.height + header_height

    # draw text
    text = "Hello World"
    font_id = 0  # XXX, need to find out how best to get this.
    bgl.glColor4f(*(1.0, 1.0, 1.0, 1))
    blf.size(font_id, 70, 72)
    dim_x = blf.dimensions(font_id, text)[0]/2
    dim_y = blf.dimensions(font_id, text)[1]
    blf.position(font_id, width/2-dim_x, height/2-dim_y, 0)
    blf.draw(font_id, text)

    # restore opengl defaults
    bgl.glLineWidth(1)
    bgl.glDisable(bgl.GL_BLEND)
    bgl.glColor4f(0.0, 0.0, 0.0, 1.0)

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

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

        if event.type in {'RIGHTMOUSE', 'ESC'}:
            bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
            return {'CANCELLED'}

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        if context.area.type == 'VIEW_3D':
            # the arguments we pass the the callback
            args = (self, context)
            # Add the region OpenGL drawing callback
            # draw in view space with 'POST_VIEW' and 'PRE_VIEW'
            self._handle = bpy.types.SpaceView3D.draw_handler_add(draw_callback_px, args, 'WINDOW', 'POST_PIXEL')
            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "View3D not found, cannot run operator")
            return {'CANCELLED'}

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

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

if __name__ == "__main__":
    register()

To display the text as well as allow the user to interact with the UI, you can change the return statement of the modal function from {'RUNNING_MODAL'} to {'PASS_THROUGH'}:

...

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

    if event.type in {'RIGHTMOUSE', 'ESC'}:
        bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
        return {'CANCELLED'}

    return {'PASS_THROUGH'}

...

Also see the API on Modal Execution: https://docs.blender.org/api/blender_python_api_current/bpy.types.Operator.html#modal-execution


Blender not Running using Nvidia Graphics But Run using Integrated Graphics

i have the same laptop and have found i had exactly the same problem, and it was driving me nuts! but i'm pleased to say i've found a work around... its a bit hacky but it works, and it seems to be the only thing that does.

The laptop is delivered with both the intel UHD 620 graphics and also the geforce 940MX enabled. you need to disable the intel GPU in device manager, and this stops any conflicts between the two GPUs when launching blender.

First right click on the windows icon in the bottom left of your screen, and select the option for 'device manager'. In the new window that comes up, expand the tree at 'display adaptors'. you will see there are two graphics adaptors enabled, the intel adaptor, and the nvidia adaptor. right click on the intel adaptor and select 'disable device'.

Testing: be aware that although this works flawlessly for blender, there are other software packages that i have installed on my laptop which require both adaptors to be enabled, the intel adaptor only to be enabled, or the nvidia adaptor only to be enabled. also in some software i have found the CPU works twice as hard when the nvidia adaptor is being used. (I assume there are some efficiencies in having the GPU integrated with the intel CPU which you give up when you move to the nvidia adaptor).

In any case, its still a bit of a pain, but this should get you going with blender again. Hopefully various updates will address the issue in the fullness of time. in the meantime, just keep the above notes in mind should any of your other software packages stop working.


(Cycles) Transparent object casting shadow issue

Two possibility in my mind:

Object → Visibility → Ray visibility → Shadow in the object properties panel. (set to unchecked)

Material → Setting → surface → Transparent Shadow in the object properties panel. (set to checked)


Modelling a computer monitor - need some topology advice on using edge loops for sharpening

Here's one possible solution. Model with quads for your front faces (Don't have an edge on the corner).


How can I display the currently selected settings in a panel?

After playing around with it, I think it would be easier just to add this:

scene = context.scene
view = scene.view_settings
row.prop(view, "view_transform")

Not only do we get the options we want but we can see which is active.

Alternatively, as brockmann has said, you can use:

layout.prop(view, "view_transform", expand=True)

which would give you this -


With some inspiration from this answered question, though some settings must have been changed because I can't find the other size determining value, he pointed out, I managed to find the right Render>size "0.25" which makes the particles the same size as the original Dupli Object and takes the selected polar vertices to the same spot as I wanted.

and to do the eventual How to convert particles to mesh?
and How to Make Multi User Objects Single User?
is required


The first thing you should do is apply the array modifier and delete the curve modifier from the mesh, in that order. Next, add a new bezier curve and rotate it 90 degrees on the y axis. Then switch to the object data panel for the bezier curve. Under shape, change Preview U: resolution to 64 (its max).

Then, drag the bottom of the curve over to the bottom of your mesh. This doesn't have to be exact, only pretty close. After that, key Shift+Ctrl+Alt+C and chose Origin to 3D cursor. Then scale down the curve to the height of the original curve. Tab into edit mode, and key A to select all and W to show a pop-up menu. Select subdivide. Now using vertex snap and your own adjustments, match the new curve to the shape of the old curve. After you are satisfied, delete the old curve.

Lastly, add a curve modifier to your mesh and select the bezier curve. Set the deformation axis to x. Moving your mesh along the z axis will make it follow the curve.

Hope this helps and happy Blending!


In my experience, when working with blend files that no longer work any more for whatever reason, sometimes you can append them into a blank blender file. Since yours is rather large, you might want to try it parts at a time.
I'd try first with the file that you do have access to, and if that still doesn't work, try again with an autosave or the .blend1 file. Hope this helps!


How to get transparent iridescence using Cycles?

Don't Mix but Add your Shader to a Transparent BSDF. You may also want to multiply the Emission strength by some value less than 1: (in red my changes to Mentalist's version):

The result:


How to model multiple lines along random paths

I have seen your question and I would recommend 2 things.
You could use the particle system, go to particle edit and add also sorts of funky hairstyles to your bacterium over there, but I will tell you this if you try this method, you're gonna have a bad time. Sorry for adding the little undertale pun but seriously though, you will find it troublesome. It always causes some problem that makes the Bacteria look like some sort of a hybrid of a monster, a virus, and a bug instead of giving him a funky hairstyle as you want. I will recommend the next method, Use the grease pencil. Yeah, the grease pencil is perfect for this stuff as it gives you way more customizability compared to blender's particle system, and animating this sort of hair is also easy in case your bacterium is part of an animation. You just animate the grease pencil. Now if you want it as a mesh, you can turn the grease pencil drawings into a mesh like this. Make sure you are in Object mode. Now select your drawing/whatever you've drawn with the grease pencil, right-click, and select Convert to mesh. For some reason, it turns it into a curve but no worries, you can just right-click and select Convert to mesh, problem solved. But you would be just fine if you grease pencil most of the time. Converting it to a mesh can also cause errors so mostly going with Grease pencil won't cause problems and no one would really know. Hope it helps, if you have any problems, please comment.


Problem: Linking empty to track places all empties at origin and won't move

It seems that a few minutes of fidgeting solved the problem. I turns out that it is required to have a camera on the 3D environment to properly link empties. That is all that I had to do, doesn't require much of an answer.


You can render less noisy image increasing the render samples, you can also use set clamping to reduce fireflies (very bright pixels, getting brighter with more samples). If you have glossy / metallic surfaces don't set the clamping too low (below 1.5) because it makes the metallic surfaces dull.


Looks like your plane is on the wrong side, try flipping it 180° or flip its normals. But using shrinkwrap probably won't look like you need it to, you should use cloth physics instead.


You'll need empty vertex groups for the right side, which you can automatically create when you parent the model to the armature. Also make sure you are using a mirror modifier and it has the vertex groups option turned on.


Impossible to cut terrain surface with knife project tool

I tried your STL file, imported (and scaled it down to the grid size, about .0001) then recalculated normals (face normals pointing up to +Z).

Then added a simple plane (4 verts, face normal points up to +Z)

Placed the plane somewhat above the STL map

then selected the plane, and after also the map, entered edit mode and from ortho top view uset "knife project":

after hiding the plane:

imho, it should work, in this way...


Blender subdivision surface and bevel issues

Well, to avoid poles and for the sake of sticking to quads, as a quick fix I'd suggest moving lower edge under the gun's barrel:


Mirrored mesh lines disappear when moving from edit to object mode and back to edit mode

Perhaps you need to enable the options highlighted in the image below


I was not able to find an addon for that and as it is very close from another question. Here is an operator to do that (nearly, as the bone shape is not exactly the same).

The code is commented below. To use it, copy the code in a text view and run the script.
Then in the 3D view, select your armature, hit space and type "MeshFromArmature" and validate.
The result is a rigged mesh mimicking the armature shape.
If you want to enhance the bone shape, the code is isolated in one function 'boneGeometry' with the needed parameters.
If the comments in the code are not clear enough, please tell.
2.79 Version
import bpy
import mathutils
from mathutils import Vector
from math import *

def CreateMesh():

    obj = bpy.context.active_object

    if obj == None:
        print( "No selection" )
    elif obj.type != 'ARMATURE':
        print( "Armature expected" )
    else:
        processArmature( bpy.context, obj )

#Create the base object from the armature
def meshFromArmature( arm ):
    name = arm.name + "_mesh"
    meshData = bpy.data.meshes.new( name + "Data" )
    meshObj = bpy.data.objects.new( name, meshData )
    meshObj.matrix_world = arm.matrix_world.copy()
    return meshObj

#Create the bone geometry (vertices and faces)
def boneGeometry( l1, l2, x, z, baseSize, l1Size, l2Size, base ):
    x1 = x * baseSize * l1Size
    z1 = z * baseSize * l1Size

#    x2 = x * baseSize * l2Size
#    z2 = z * baseSize * l2Size

    x2 = Vector( (0, 0, 0) )
    z2 = Vector( (0, 0, 0) )

    verts = [
        l1 - x1 + z1,
        l1 + x1 + z1,
        l1 - x1 - z1,
        l1 + x1 - z1,
        l2 - x2 + z2,
        l2 + x2 + z2,
        l2 - x2 - z2,
        l2 + x2 - z2
        ]

    faces = [
        (base+3, base+1, base+0, base+2),
        (base+6, base+4, base+5, base+7),
        (base+4, base+0, base+1, base+5),
        (base+7, base+3, base+2, base+6),
        (base+5, base+1, base+3, base+7),
        (base+6, base+2, base+0, base+4)
        ]

    return verts, faces

#Process the armature, goes through its bones and creates the mesh
def processArmature(context, arm, genVertexGroups = True):
    print("processing armature {0}".format(arm.name))

    #Creates the mesh object
    meshObj = meshFromArmature( arm )
    context.scene.objects.link( meshObj )

    verts = []
    edges = []
    faces = []
    vertexGroups = {}

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

    try:
        #Goes through each bone
        for editBone in [b for b in arm.data.edit_bones if b.use_deform]:
            boneName = editBone.name
            print( boneName )
            poseBone = arm.pose.bones[boneName]

            #Gets edit bone informations
            editBoneHead = editBone.head
            editBoneTail = editBone.tail
            editBoneVector = editBoneTail - editBoneHead
            editBoneSize = editBoneVector.dot( editBoneVector )
            editBoneRoll = editBone.roll
            editBoneX = editBone.x_axis
            editBoneZ = editBone.z_axis
            editBoneHeadRadius = editBone.head_radius
            editBoneTailRadius = editBone.tail_radius

            #Creates the mesh data for the bone
            baseIndex = len(verts)
            baseSize = sqrt( editBoneSize )
            newVerts, newFaces = boneGeometry( editBoneHead, editBoneTail, editBoneX, editBoneZ, baseSize, editBoneHeadRadius, editBoneTailRadius, baseIndex )

            verts.extend( newVerts )
            faces.extend( newFaces )

            #Creates the weights for the vertex groups
            vertexGroups[boneName] = [(x, 1.0) for x in range(baseIndex, len(verts))]

        #Assigns the geometry to the mesh
        meshObj.data.from_pydata(verts, edges, faces)

    except:
        bpy.ops.object.mode_set(mode='OBJECT')
    else:
        bpy.ops.object.mode_set(mode='OBJECT')

    #Assigns the vertex groups
    if genVertexGroups:
        for name, vertexGroup in vertexGroups.items():
            groupObject = meshObj.vertex_groups.new(name)
            for (index, weight) in vertexGroup:
                groupObject.add([index], weight, 'REPLACE')

    #Creates the armature modifier
    modifier = meshObj.modifiers.new('ArmatureMod', 'ARMATURE')
    modifier.object = arm
    modifier.use_bone_envelopes = False
    modifier.use_vertex_groups = True

    meshObj.data.update()

    return meshObj

class MeshFromArmatureOperator(bpy.types.Operator):
    bl_idname = "wm.hello_world"
    bl_label = "MeshFromArmatureOperator"

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

bpy.utils.register_class( MeshFromArmatureOperator )

2.8 Version
import bpy
import mathutils
from mathutils import Vector
from math import *

def CreateMesh():

    obj = bpy.context.active_object

    if obj == None:
        print( "No selection" )
    elif obj.type != 'ARMATURE':
        print( "Armature expected" )
    else:
        processArmature( bpy.context, obj )

#Create the base object from the armature
def meshFromArmature( arm ):
    name = arm.name + "_mesh"
    meshData = bpy.data.meshes.new( name + "Data" )
    meshObj = bpy.data.objects.new( name, meshData )
    meshObj.matrix_world = arm.matrix_world.copy()
    return meshObj

#Create the bone geometry (vertices and faces)
def boneGeometry( l1, l2, x, z, baseSize, l1Size, l2Size, base ):
    x1 = x * baseSize * l1Size
    z1 = z * baseSize * l1Size

#    x2 = x * baseSize * l2Size
#    z2 = z * baseSize * l2Size

    x2 = Vector( (0, 0, 0) )
    z2 = Vector( (0, 0, 0) )

    verts = [
        l1 - x1 + z1,
        l1 + x1 + z1,
        l1 - x1 - z1,
        l1 + x1 - z1,
        l2 - x2 + z2,
        l2 + x2 + z2,
        l2 - x2 - z2,
        l2 + x2 - z2
        ]

    faces = [
        (base+3, base+1, base+0, base+2),
        (base+6, base+4, base+5, base+7),
        (base+4, base+0, base+1, base+5),
        (base+7, base+3, base+2, base+6),
        (base+5, base+1, base+3, base+7),
        (base+6, base+2, base+0, base+4)
        ]

    return verts, faces

#Process the armature, goes through its bones and creates the mesh
def processArmature(context, arm, genVertexGroups = True):
    print("processing armature {0}".format(arm.name))

    #Creates the mesh object
    meshObj = meshFromArmature( arm )
    context.collection.objects.link( meshObj )

    verts = []
    edges = []
    faces = []
    vertexGroups = {}

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

    try:
        #Goes through each bone
        for editBone in [b for b in arm.data.edit_bones if b.use_deform]:
            boneName = editBone.name
            print( boneName )
            poseBone = arm.pose.bones[boneName]

            #Gets edit bone informations
            editBoneHead = editBone.head
            editBoneTail = editBone.tail
            editBoneVector = editBoneTail - editBoneHead
            editBoneSize = editBoneVector.dot( editBoneVector )
            editBoneRoll = editBone.roll
            editBoneX = editBone.x_axis
            editBoneZ = editBone.z_axis
            editBoneHeadRadius = editBone.head_radius
            editBoneTailRadius = editBone.tail_radius

            #Creates the mesh data for the bone
            baseIndex = len(verts)
            baseSize = sqrt( editBoneSize )
            newVerts, newFaces = boneGeometry( editBoneHead, editBoneTail, editBoneX, editBoneZ, baseSize, editBoneHeadRadius, editBoneTailRadius, baseIndex )

            verts.extend( newVerts )
            faces.extend( newFaces )

            #Creates the weights for the vertex groups
            vertexGroups[boneName] = [(x, 1.0) for x in range(baseIndex, len(verts))]

        #Assigns the geometry to the mesh
        meshObj.data.from_pydata(verts, edges, faces)

    except:
        bpy.ops.object.mode_set(mode='OBJECT')
    else:
        bpy.ops.object.mode_set(mode='OBJECT')

    #Assigns the vertex groups
    if genVertexGroups:
        for name, vertexGroup in vertexGroups.items():
            groupObject = meshObj.vertex_groups.new(name=name)
            for (index, weight) in vertexGroup:
                groupObject.add([index], weight, 'REPLACE')

    #Creates the armature modifier
    modifier = meshObj.modifiers.new('ArmatureMod', 'ARMATURE')
    modifier.object = arm
    modifier.use_bone_envelopes = False
    modifier.use_vertex_groups = True

    meshObj.data.update()

    return meshObj

class MeshFromArmatureOperator(bpy.types.Operator):
    bl_idname = "wm.hello_world"
    bl_label = "MeshFromArmatureOperator"

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

bpy.utils.register_class( MeshFromArmatureOperator )

Link to the blend file


Save history to python and load from python console

While the info window is helpful it does not show a complete list of actions taken, the steps it does show can be expanded.

While copy and pasting an operator is an easy way to duplicate some steps in a python script, it is usually preferred to directly alter the data in a python script rather than just calling operators. You can find the reference to blender's python api online which also has some introduction tutorials to get you started.

For an example of creating a mesh object you could have a look at the add object addon template that is included with blender.


Adjusting dimensions in one axis affects the size on other axes

Scale with X then press X  and only X axis will decrease in scale.


Didn't take long to find the solution. You just have to select the rig itself and export that as an alembic. Rather than doing what I was doing and selecting the camera.


How can I separate faces without the edges?

You can get the same functionality with Extrude individual Faces (the easiest way to access this function is by pressing space and just typing it in).

If your Pivot Point is set to Individual Origins and you are in Face select mode, you can then also scale the individual faces down independantly with S.

With Select > Inverse and X > Faces, you can delete everything in-between.

Steps:


Scale vertices by precise percentage in Edit Mode?

To scale the mesh in edit mode all you need to do is to hit S hotkey and enter 0.92 i.e. 92% and hit Enter to apply.

As all operations are applied to objects' coordinates, make sure to apply the object scale in object mode using Ctrl+A and select Scale from the menu to make is possible to scale the mesh proportionally in edit mode.


Do Bones and custom bone shapes account for vertices/edges/ and faces?

Bone data is stored within an armature and uses data that is unique to an armature, they use points to define each end of a bone but have no vertices, edges or faces.

Custom bone shapes are mesh objects that are assigned to be the visual representation of a bone. They normally only use vertex and edge data, it is data that is kept separate from your visible models.


How to select one (or multi) particular particle hair?

To select an object in edit mode you can hover your pointer over the object you wanna select and press L which will select the entire object you want and ignore the other objects within the edit mode


How can I make better UVs for my photogrammetry models?

If you have issues editing your UV layout in an external program, you might keep a small margin and increase the exported UV layout's resolution instead:

Also, if your output render engine supports multiple UV sets for one object, you might just make several UV unwraps which each gives more pixels to different areas. You could have one UV Map for the house for example, and one for the other parts.

For rendering in Cycles, you will just have to use the Input → UV Map in order to specify which UV Map to use in your shader. You can have one node for each UV Map you need:

Or play it the "Divide and Rule" way:
Just split your mesh into different smaller objects and give them what they need in UVs and textures.
In order to split: go in edit mode, select the mesh you want to split, then hit P → Separate Selection. What you selected will be sent into a new object. Repeat as much as you need.


how can I double an image for UV mapping?

I don't think you can duplicate the image within the blender UV editor. However, you can as you said create another image using GIMP. In the UV editor go to UVs > Export UV layout to have an image of your UVs. Then you import it in GIMP and you can edit it. That way, you can be sure it will fit !
You can also make your 2 UV islands overlap in the UV map of your moth. It is pretty quick and you just have to reimport your model in Unity, but I don't think it is something to do when you are making a game (something to do with lightmaps or something like this....).
I am not sure I am being clear enough ...

Hope it will help !


How can I have presets for multiple render options?

I just checked, and when I create a new scene and 'link objects' then I can switch between scenes and the position of my object is the same in both if I move it on one or the other. If I use 'Link Object Data' then the objects are there but they are only moved in the scene where I made the movement, and in original position in the other.Maybe choosing 'Link Objects' can let you share the objects and then make the settings locally for render different then.

An addon or script is not that hard to make yourself if you look at simple examples for making your own operator that acts as a macro to perform some action or change a setting. cgcookie intial python scrtipting and cgcookie setting up custom panel. These are only two examples of all kinds of stuff you can find on the internet, and depending on how you want to access your script you might even just keep it handy to call up and run when you want to from the text editor, or go so far as to make a custom addon panel for yourself.


How to remove grid/graph lines while using zoom in orthographic view?

This might not be the smart way to do it, but I managed to remove the lines:

opened side panel
set scale to 0


A non-rectangular quad is fine. (Most times it is the only way to keep a mesh all quads). Just be sure to keep them convex quads.

However

There is almost* no need for the extra vertex and edge in there.

You can still get all quads simply by removing that vertex and using the surrounding four vertices to make the face.

*There is always the issue of edge flow. This image below shows the edge flow of the two different methods. Do note that the method on the right is much less prone to pinching.


Vertices Select Highlighting Not Consistent With Rigging

Bones assignements are strictly related to vertex groups:  if you animate a bone named "Head", Blender will search for a vertex group named "Head", as it finds it he will move all the vertices accordingly to every single vertex weight.
So you can select your character, select the armature, Ctrl P for parenting them, then choose the option "with empty group": this will create an empty vertex group named as every bone of the armature: then you can select a group of vertices, go to the vertex tab on the properties menu, select the "Head" vertex group, choose the weight you want with the slider, and click the assign button.
Note also that in the "N" properties panel of the 3D window, if you select a vertex in edit mode you can read all his weights assignements.


First, the most important thing to do is:

Make sure it's really a bug
We can only support the Blender binaries as have been distributed on
blender.org. First thing to test is therefore always if official
releases have the error. And if there's an error, test it with at
least one older official release to verify. This can reveal problems
with your graphics drivers for example, it's not likely that big
errors are there for many releases!
If the error is in current svn, try a build from someone else
(http://www.graphicall.org) or official test builds from (http://builder.blender.org) and when possible test it on another system.

The first thing users should do is try to consistently recreate the 'bug'. If you can repeat it, create a small and simplified test file (removing anything not needed to reproduce the bug) and submit it with a writeup of said bug.
Reports of "random crashes" or stuff that "breaks at unspecified situations" are unhelpful. Reporting them only creates noise and distraction rather than helping, if a developer can't reliably reproduce it he can't fix it.
If it is a graphical glitch, user interface corruption, viewport artifacts or any other issue related to graphics cards, the second step is updating your graphics cards to the latest available version. Make sure your GPU drivers are up to date, check the manufacturer site or the official brand site for newer versions. Many purported bugs in Blender are actually issues with the GPU that have recently been worked out in latest versions.
Likewise make sure there are no newly introduced known issues with the lastest drivers. Drivers themselves are also susceptible to bugs and some times newest versions introduce new issues. If you recently upgraded your hardware or installed updartes, rollback to last known good configuration and test if the issue is still there.
Reporting
The only place to report bugs is the bug tracker. Developers spend considerable time triaging new reports, avoid posting  duplicates. Browse through the already listed bugs in the tracker to see if someone else has already reported it. If not then you would want to create an account, sign in and click Submit New to file a new bug report. The submission form is very intuitive and lists some guidelines for submitting reports. A .blend file must be attached. Try to make the file as simple as possible (remove anything not strictly necessary to reproduce the issue) and clearly write the steps you took to discover the bug.
You can also quickly reach the bug tracker from inside Blender by going to the Help menu.

For very simple problems or things users are not sure about, before filing a report, users can always visit the #blendercoders channel on freenode.net via the webchat to voice their concerns and or request clarification or tips from the developers.
Additionally, here are some more bug reporting tips from a developer.

It may sound annoying to follow all these steps, but remember that if
you don’t, the developers waste time figuring it all out themselves or
trying to coax the information out of the user for each bug. Some
developers like Sergey, Campbell (ideasman42), and Brecht (brecht) handle a huge number of
bug reports; you can really help them out by filling good ones.

You can also watch on YouTube How to Report a Bug in 5 Steps


You are in solid preview mode. If you look, there are 4 little circles in the top-right of your viewport that represent the different preview modes (From left to right - Wireframe, Solid, Material Preview, Rendered Preview) - to view your textures, pick one of the two rightmost ones (Material Preview, or Rendered Preview). You can also press Z in the viewport and pick the correct preview mode from the pie menu that appears.


What exactly does the Select Similar > Face Regions operator do?

Select Similar Face Regions will select all faces similar with the topology of your selection.


Weight painting bleeding onto adjacent faces

This is not really a "problem." OK, it is a problem for you, but it is how it is supposed to work.

When you weight paint, you are adding weights to the vertices, not the faces. So anywhere you have faces sharing a vertex, you are going to have the weights "bleed" to the other face.

In that picture the two cubes share two vertices. On the left is what I selected and applied a weight of one; on the right are the weights.

The simplest way to remedy your situation is to disconnect the two faces.
Select the vertices shared by the two different parts and press V, without doing anything else press Esc or right click to cancel the transform.

Now hover over the part that should have zero weights, and press L to select linked. In the Data tab of the properties panel assign that selection a weight of zero.


I figured it out. My samples were just too high. Putting it below fifty fixed it.


How to make one sharp edge in subd modeling?

It seems to me that you just need to add more vertical loop cuts if what you're looking to do is to emphasize the top mesh line.

I'm not sure what shape you're looking for by only sharpening the top edges, but try using the knife tool to cut in topology only where you need it. Use "K" to activate the knife tool, and "C" to cut in straight lines.


High poly in object mode, low poly in edit mode

Highly likely you just did not apply the Subdivision Surface modifier. Simply go to the modifier tab and hit "apply" under the Subdivision Modifier, then all the correct vertices will appear in edit mode.


How to accurately position the start/end color of linear gradients in blender?

To add a basic gradient you first need a Texture>Gradient_Texture node, and have it's color output connected to the base color of a shader.

To add color to the gradient use a Convert>Color_Ramp node, and assign whatever colors you want to the extremes.

To control the placement you must understand texture coordinates. In this case, because there are no explicit coordinates set, the default is "generated coordinates". Generated coordinates start at the bottom left of the object's bounding box.

To rotate the gradient so that it starts at the bottom of the object you have two choices:

1- Select the Gradient texture node, open the item properties and use the rotation on the Z axis to rotate the gradient -90 degrees.

2- (preferred option) Use an Input>Texture_Coordinates and a Vector>Mapping nodes  to control the placement of the texture. Why is this better? Because it is easier to see what is happening if anything goes wrong...

The exact location of the colors is thus determined precisely by the location, rotation, and scale in the mapping node.

The next step would be to learn even more about texture coordinates, and use UV coordinates instead, that will give you coordinates based on the actual geometry of the object and it's vertices.

But since the goal of this answer is not to teach you how to use blender in a single post, you can do the rest of the learning into coordinates by watching Bartek Skorupa’s video on How to Manipulate texture coordinates


There are two solution to this problem and they came from a scale of a scene.

After switching units to metrics (or imperial) you can see that your plate has radius over 3m, Lamp is 13m high above and size of 9cm.

You can crank up a light source Strength to something really high like 5000 and change Size accordingly.
You can scale down objects similarly to real world scales and make it a little bit physically correct. Then light won't need enormous values.


Could someone explain how Blender output colors

Well, solved ! :)

Thanks to the user @cegaton !
Here is what he wrote to comment 1st answer:

  @m.ardito The important information you left out
  of the picture. What you are showing are the scene referred values in
  32bit float:The compositor works with scene referred values: unbound
  linear data. Data is then processed through a display transform
  (determined in the Color Management section) and converted to Display
  referred data (in a scale from 0 to 1) The default transform is to
  sRGB and is not a linear transform. That is true for images saved in 8
  bits or 16 bit. The only format that gets saved bypassing the display
  transform is OpenEXR

So after i set Properties editor ‣ Scene ‣ Color ‣ Display Device to none, all looks correct. Value 102 of 255 is 0.4.

Thank for the help you both @cegaton and @m.ardito !


Is it possible to copy a certain property of a certain material to other materials?

While you can copy many object values to all other selected objects, we can only select one material at a time, leaving us with two options -

Copy an individual value CtrlC (CMDC on osx) and Paste it into the other materials CtrlV (CMDV on osx). Both of these actions work while the cursor is over the value for number, text and colour. Items like checkboxes and popup menus don't copy.
Use python (either a small script or type straight into the python console) to change the value of all or a subset of materials - this question can help with ways to define a list of materials.

While 1 is ok for a small number of materials 2 becomes necessary for larger changes.


How can a bone's tail be changed by a script?

To change bones in an Armature, you need to use the EditBones, and the Armature has to be in editmode. As only a single object can be in editmode at a time in Blender, you need to change mode if you wanna access different Armature's EditBones.

Your script doesn't change mode and the .edit_bones property will be None if the owning Armature is in Object or Pose Mode. Thus for bone in arm.edit_bones will end immediately (nothing to loop over) and v remains None (the initial value).

I tried to make your script working, and it will have a visual effect now, not sure if it's what you want though:

import bpy
from bpy import context
import mathutils
from mathutils import Vector,Quaternion
import math

def dump2(obj, level=0):
   for attr in dir(obj):
       print( "obj.%s = %s" % (attr, getattr(obj, attr)))

def setBone(name, v):
    arm = bpy.data.objects.get(name)
    if armature_prepare(arm):
        print("set arm=" + name + " v=" + str(v))
        for bone in arm.data.edit_bones:
            print( bone.tail )
            bone.tail= v

def armature_prepare(arm):
    if arm is not None and bpy.ops.object.mode_set.poll():
        bpy.ops.object.mode_set(mode='OBJECT')
        bpy.ops.object.select_all(action='DESELECT')
        bpy.context.scene.objects.active = arm
        arm.select = True
        bpy.ops.object.mode_set(mode='EDIT')
        return True
    return False

def getBone(name):
    v = None
    arm = bpy.data.objects.get(name)

    if armature_prepare(arm):
        print("get arm=" + name + " arm=" + str(arm))
        for bone in arm.data.edit_bones:
            print(bone.tail)
            v = bone.tail
    return v

def vec():
    mx = mathutils.Matrix.Rotation(math.radians(15.0), 4, 'X')
    my = mathutils.Matrix.Rotation(math.radians(30.0), 4, 'Y')
    mz = mathutils.Matrix.Rotation(math.radians(45.0), 4, 'Z')
    m = mx * my * mz
    print( "m : " + str (m ))

    # get and duplicate original tail pos of reference bone
    vo = getBone("arm_org")
    if vo == None:
        print("arm_org not found")
        return
    setBone("arm_mat", vo.copy())
    setBone("arm_rot", vo.copy())
    vr = vo * m
    setBone("arm_rot", vr )

    # recalc and apply matrix from rotational difference
    q = vo.rotation_difference( vr )
    mr = q.to_matrix()
    mr.resize_4x4()
    vm = vo * mr
    setBone("arm_mat" , vm)
    print("mr: " + str(mr))
    print("-" * 20)

vec()


How to Generate Background Color of Baked Texture from Island Margins?

You can set a bigger margin without perturbing the bake itself:

So the result is:

And the models are still quite nice:

So for the api, use the margin parameter:
bpy.ops.object.bake(type='DIFFUSE', margin=512)


rendering cubemaps by code (context error)

That did the trick for me once the env map image source was set to 'GENERATED'

import bpy

# remember current frame to switch back after the script is finished

context = bpy.context
scene = context.scene
current_frame = scene.frame_current
area = context.area
old_type = area.type
area.type = 'PROPERTIES'
context.space_data.context = 'TEXTURE'

for i in range(scene.frame_start, scene.frame_end+1):
    # set current frame
    scene.frame_set(i)

    # create an image which will store the baked data
    image = bpy.data.images.new(str(i)+'.png', bpy.context.scene.render.resolution_x, bpy.context.scene.render.resolution_y, alpha = 0)
    image.file_format = 'PNG'
    image.filepath = "//"+str(i)+".png"
    #image.save()

    # need to render for some reason to save the cubemap below
    bpy.ops.render.render()

    # save cubemap image
    # needs proper context

    bpy.ops.texture.envmap_save(filepath=str(i)+'.png')

    print ("Frame "+str(i)+" complete")

area.type = old_type
# switch back to the frame you were on before running this code
scene.frame_set(current_frame)


How to install an add-on from a workspace template init file?

The init.py file inside the template folder will only be loaded when the user is selecting File - Defaults - Load Factory Settings, and not the the workspace template is selected at start up.
The process is shown in this video tutorial:
https://www.youtube.com/watch?v=ufSyony6eRE


Why curve modifier goes in different direction

The curve and the object have to have their origins in the same place, otherwise you will see an offset and get unexpected results.

Snap ( Shift S the cursor to the curve, and then snap the object to the cursor.

Then the deformation can take place corectly.

Note that the origin of the deformed object will be placed at the first control point of the curve.


How to see a plane with an image through a cube?

In object mode select the cube and turn on wire as per the image


bpy.ops.render.render() freezes Blender when used in an addon

That is because Blender operators are modal: They block code execution until finished. The execute function is called in the same thread in which the GUI is drawn - So your Blender GUI freezes until the render is finished. A similar question with a solution can be found here:
Is it possible to make a sequence of renders and give the user the option to cancel the process through the UI at any given time?


Is it possible to change the text color inside the VSE by changing the source code?

You can do it directly in the VSE. In the Properties panel, scroll down to Add Strip Modifier, add a Color Balance and change the Gain.


How do I convert my linked group objects to be local objects?

Backup your scene.
Go to Object Mode.
Select all the objects in the scene (A)
Go to Object>Apply>Make Duplicates Real (Shift+Ctrl+A)
With everything still selected, press L and Make Local>Selected
Objects, Data and Materials or choose All.
Set the Outliner to Groups.
Press A to select all the groups in the Outliner.
RMB and choose Unlink Group.
Set the Outliner to Same Types
Select all in the Outliner, RMB and choose Delete to remove all the
extraneous empties.


I want to show different object modes on two different windows in 3DView (Object Mode and Weight Paint

The simplest thing to do is just disable overlays on one of your viewports. Look on the right side (top or bottom, probably top) of your viewport for a button with a "show overlays" tooltip. Click it.
There may be some information you wish to see with overlays.  In that case, click the drop-down arrow to the right of the overlays button and, while in weight paint mode, set weight paint opacity to 0.  And, optionally, set fade inactive geometry to 0.0, or disable it.  Selected vertices while in vertex mode will still be drawn; wireframes in face mode will be drawn.


How to see if particle system is a hair system, with Python

Below gives a list of all hair particle systems on the context object.

import bpy
context = bpy.context
obj = context.active_object

hair_particle_systems = [ps for ps in obj.particle_systems
                            if ps.settings.type == 'HAIR']
if len(hair_particle_systems):
    print("%s has %d HAIR particle systems" %
             (obj.name, len(hair_particle_systems)))


How do you change the default directory for saving/opening files?

You can't as Blender doesn't give us a way to do this. As gandalf3 says above in the comments it should use the last directory you accessed a file from in your current session. If you find yourself going to the same place several times, you can add a bookmark under Bookmarks or see your last visited folders under Recent in the sidebar. There should also be system bookmarks for your drives so no need to type if you can help it.


How to change the object of an animations scale when you saved the key frames as LocRotScale

You can remove separately the scale keys in the dopesheet.


Grab shader color to mix in another shader?

One way is to group your colors as a node tree which can be reused in any other material:


Color Management Blender geared towards motion pictures ?

So I understand that the color management of Blender is primarily
  geared towards motion pictures / video. Is this correct ? Is this the
  reason that the default for almost everything is sRGB ?

Yes, OCIO is designed for motion pictures, visual effects, and animation.

sRGB is merely a default, and the reasons for this default are largely historical with where Blender borrowed the configurations from.

CM in OCIO is based on the notion of Views and other output transforms that operate independently of the reference data. To fully understand why, how, etc. would require a vastly more complex answer than this simple question touches on.


How to model blebs like structure as in lungs alveoli?

Would something like this work? Here is the .blend file.

Here is what I did:
1. Made 1 UV Sphere
2. Made 1 Plain Axis Empty
3. Added the following modifiers in order: Displace (Object: Empty), Solidify (Thickness 0.1 m), and Boolean (see step 5)
4. Duplicated these UV Spheres. I did separate objects, but going into edit mode and duplicating there would work as well.
5. Add the shape you want to be the cutout.
6. Select a sphere and in the Boolean modifier, set the object to your cut out object and have the operation be "Difference"
7. If doing separate objects, select the other spheres and then the sphere with the Boolean object selected last. Hit CTRL + L and link Modifiers.

Tada!

Instead of manually creating each blob, you can also make a particle system then convert the particle system to a mesh and do steps 2-7 (maybe it would work without converting to a mesh too).
If you have any questions, or I did not make quite what you are looking for, let me know.


How to make custom logo for published bge game

This is not really a question about Blender itself, but additionally to the answers provided in the question linked above you can also make a launcher application to start you game and run it from there.

The launcher application can then have any custom icon you want.

Just create a batch file to start the game with the command
start path/to/game.exe

and use some application like Bat to EXE to compile it into an executable. That executable can then have any icon file you want


Installing Blender on windows 10 pro reduces UI size

It's looks like you have retina display, that means it has four real pixels in one digital pixel.

Open File > User Preferences

or CTRL+ALT+U

And the very first entry at the top:
Display: Scale

Set it to 2.


Your screenshot is showing the weights relative to the shin bone only. Every vertex is affected by all weights assigned relative to all others bones (probably foot, in example): if you want all the vertices of the bottom ring of the leg to move exactly as the upper ring of the foot, all thoose vertices must be weighted in the exact same way relatively to all the bones in which you have some weight.

See this answer for more infos:

How can my animation animate if there is no vertex weights?


Create a low poly mesh resembling the high poly mesh, intersect both, bake them and apply the obtained texture to the low poly mesh.


Select Character + Horns and Hit Ctrl + J


When I render in cycles my object is pink

Try hitting SPACEBAR to play the animation, even if there is no animations in the file, although difficult to say exactly what's going on without the blend file.


How could this looped animation be made in Blender?

Hmm... the way I would make an animation like that is to have a plane with an object poking through it. The object poking through it would then have a number of shape keys assigned to it and I'd slowly cycle from one shape to another over the course of the animation using the shape keys.


How can I get rid of this weird barrier?

Your clipping end distance is set too low;


How to make a Python operator as a Slider- Scripting an Addon

Set slider property to True

Consult the docs on UILayout.prop,

  prop(data, property, text="", text_ctxt="", translate=True,
  icon='NONE', expand=False, slider=False,toggle=False,
  icon_only=False, event=False, full_event=False, emboss=True, index=-1,
  icon_value=0)

To display the property in the UI  set it to True.  The default is slider = False

  slider (boolean, (optional)) – Use slider widget for numeric values

Sample code

def draw(self, context):
    self.layout(context.object, "prop", slider=True)

Make sure to set the minimum and maximum of the property, if unset the default values are +/- the maximum possible value on your system and as a result the slider will sit around the middle and be somewhat meaningless.

Tip: Right click and view source to see the code behind the UI.


I deleted my light source... now my bakes look pitch black

This s not related to Version 2.9 or 2.x
When you bake combined you should have a source light , or just uncheck Direct and in direct light or just bake Defuse as moonboos mentioned :)


Cycles. The object doesn't show the material I want, but other, how do I delete unwanted materials?

just make sure no Object use your material you want to delete . Unset from all objects in your scene .
then go to file>Clean up > purge all
save your project
close and re-open .
Do it times to clear Scene completely .


Windows 10 blender blackscreen, no cursor, no USB power

Manually flashing the BIOS and installing a newer build with a flash drive did the trick.


Is the Glass BSDF shader in Blender PBR accurate?

No, but you can get true PBR using the new Principled BSDF, which is available in the 2.79 RC 2 build.

To learn how to use the Principled BSDF I recommend watching this video by Blender Guru.


Split vertex(s) in two, creating new faces

Bevel the edge and fill the faces manually, there is no such thing as a split and fill in Blender.


cycles render not showing changes in render viewport, only materials viewport

solved, had to add in the mix shader like moonboots said


Face has different shading that rest of object

Go into edit mode, select the face(s) that are shaded funny.  Click on the shading/UVs tab on the tools menu, if you don't see the toolshelf, press T.  After clicking on the shading/UVs tab in the toolshelf [NB: "Shading/UV" was in a panel on the main toolshelf through version 2.69; the buttons were moved to a tab starting with version 2.7] click "flip direction" and it will flip direction of the normals of the face(s). Alternatively you could select the whole mesh and click recalculate, however that doesn't always work.


can't select armature bones in weight paint mode?

first select the bones then Shift + Click the mesh then go into Weight Paint mode and to select a bone just Shift + Click it .


Textures visible in render but not in UV map

You'll have to tell blender which image to display in the uv/image editor.
As seen in the following image:


Can't Add Platonic Solids in Blender via Script

first you have to add the add mesh: Extra Objects...

also, first try with

bpy.ops.mesh.primitive_solid_add(source='12')

best


Dashed lines in dope sheet, can't edit keyframes

It's because you pressed tab wich lock the curve, press tab again


Ambient Occlusion Solid Mode and Edit Mode

The closest thing that exists in 2.8x that I know of is the cavity setting, in the viewport shading settings.

The "Valley" setting is the closest thing to the old "Strength" setting from 2.79b that I can find. Here is a comparison of the 2.79 viewport with AO enabled and the 2.8 viewport with Cavity Type: World enabled.

Hope this helps!


Front Flip Animation Bones Rotate After A Certain Degree

For the moment from frame 56 to 64, the root bone goes from 146° to 70°, so your character is flipping back. You need to make the bone rotate from 146 to 250 then 360° for example.
Also, it's better to create a root bone that is completely independent, at the bottom of the character, and not use the spine as the root. Instead parent the spine to the root you've created.


How to blur a single object, Layers dont exist anymore? (2.92)(Permanent interface changes confuse every new user)

I am by no means used to work much with the compositor, that said, I hope what I am going to show here is not too far from what others would do.
Object Index method:

Activate the Object Index in the View Layer Properties:

Make sure the object in question has its own Object Properties -> Relations->Pass Index:

Render the image with F12 if only that one object needs special treatment, otherwise give each object that needs it its own Pass Index like in step 2.
Go in the Compositor and activate Use Nodes:

simple example of a cube and sphere, whereas the sphere has pass index 1 and cube has pass index 2

Using the ID Mask node you can get the mask for the specific object or objects(same pass index objects are in the same mask)
Multiplying the rendered image with the mask we obtain the separate object and adding a Blur node we can then blur the specific object:

This would be blurring a specific object

Cryptomatte method:

Activate View Layer Properties->Passes->Cryptomatte->Object:

With the object already having its own pass, you can then render and get new output sockets on the Render Layers node in the compositor.
Connecting those to a Cryptomatte node and later the Blur node you get this:

The Cryptomatte node needs to be set up first
With the Pick output used, you can easy use the eyedropper Add to select the wanted object and switching to the Matte output this will show the mask created.
Switching now to the Image output you get only the selected object from the entire render.
Routing this image through the Blur node will then result in the same as above Object Index method.

UPDATE (Compositing the blurred object back into the image)
While not 100% sure, I believe this should be the result asked for:

All the difference is an Alpha Over node


If your final project is destined to be for Blender's Game Engine, you're really jumping in at the deep end.  If it's just to create an on-screen demo 'live' whilst still in Blender, or producing a video for each name, you've still got a long way to go if starting from scratch.

With the latter in mind and your query as to how to make wood shiny, I've included this example with some text 'burnt/engraved' into it's front surface to at least show you what is possible using plain vanilla Blender and OpenGL rendering.

The 'shinyness' such as it is, was achieved by placing a few 'Point lights' about and upping the specular setting.

The Blend file (complete with textures) is attached so you can wander within and see how it's put together, experiment etc.  Something to kick off from.

Making the oblong look like wood needs "Texturing".  Have a look at the Blender file attached along with some YouTube tutorials on the subject.  There's plenty available.

You might also take a look at this: What order to texture a 3d object?

(Blender version used: 2.77a)


Blender on Mac: how to do right click using left click (lmb)?

You should be able to press the trackpad with two fingers to emulate a right click. If it doesn't work, go to System Preferences/Trackpad/Point and Click and make sure Secondary Click is set to Two Fingers.


How to fix my project to be correctly opened by Blender versions newer than 2.82a?

The problem has to do with an empty that is in a collection attached to your Cantos object that cannot be opened to alter the contents (presumably because the empty is instancing it's own parent collection - there's your infinite loop). The solution, then, is to delete it, as I cannot see what function it serves other than causing problems (although you may have a different reason for needing it). However, the collection also contains a mesh that is the counterpart to the one on the other side. We'll deal with that in a minute.
First start by finding and deleting the offending collection:

You will see that this removes the clamp, and also forces the collection to dump it's contents, which in this case is the offending empty. Isolate and delete this too.

To put the clamp back (either in object mode, or edit mode - depending on what you want), I found duplicating and moving by -4.75 units on the X axis puts it right back in place.
Here's a picture from the file open in 2.83.

I'll also post the blend in case you need it quick.
File is here -


I could be misreading your question, and frankly i'm not very good at blender at all, however I believe you can accomplish this by going to your dope sheet, and selecting action editor as the mode. It should be on the bottom ribbon. Hope I helped.


As this is more of an Unreal question than a Blender question, you should post this (and any future questions explicitly relating to Unreal) on an Unreal forum instead. However, I'll still give my two cents as the same concepts can be applied to other 3D game engines as well.

There are several ways of doing this. The way I'd do it is (assuming your character is rigged) is by adding another bone in the character's armature to the location on the character where you want the weapon to attach (we'll call this bone "HoldPoint") and create a rig for your weapon that has a bone where on it you want the weapon to be held (we'll call this one "WeaponHandle").

Then in Unreal code the weapon such that when it is picked up by whatever method you use to pick it up (i.e. keypress, walk into, look at object, etc.), teleport it to the bone HoldPoint, copy the rotation values of bone HoldPoint to bone WeaponHandle, and parent the weapon to that bone, so that after the code is run the weapon will continue to be held. To stop holding it simply remove the parent and your weapon will stop being attached to the player. If the weapon is rotated the wrong way when it is held, then simply rotate bone HoldPoint until it's the way you want it.


It's a great shame 128 isn't half of 255.

This isn't an answer to your question, but it does what you do to fix it without having to construct a second map as a mask.

This node tree compares the map-encoded normal to (0,0,1), and if it's close enough, sets it to (0,0,1)

How close 'close enough' is, is set in the 'Less Than' node. The color in the 'Color' node is RGBA 0,0,1,0. (Is there a better way of entering a fixed vector?)


Not sure this is the best way, but you could try using the Data Transfer modifier (https://docs.blender.org/manual/en/2.79/modeling/modifiers/modify/data_transfer.html?highlight=vertex%20color).
Note that I only tried this on 2.83, but according to the documentation you should be able to do this in 2.79.
Say that you have two vertex color layers named color A and color B

Duplicate your object
On the duplicated object remove color A and rename color B to color A
On the duplicated object add Data Transfer modifier.
Set target to original object.
Check Face Corner Data with Topology method.
Select VCol and select color A layer.
Set Mix Method to Add

My test: Leftmost sphere with color A layer; Middle spehere with color B layer; Rightmost sphere with added layers.


No CUDA option in repository version of Blender

I've just made an install of Linux Mint 16 64bit (with the Mate window manager) and have Blender3D working with CUDA.

Here is what did:
1: After installation of Linux Mint 16 64bit I did an update (many files)
2: Reboot.
3: Enabled the proprietary Nvidia-driver
4: With the Software Manager I installed the CUDA Toolkit (nvidia-cuda-toolkit)
5: Reboot.
6: Install Blender 3D
7: In Blender 3D CUDA was now available.

I'm not sure if nr.4 and nr.6 can be switched ... but you can try.


For Cycles render engine, a possible node set up could be this:

With the Texture coordinate node's Object output we are gathering the information about where to place the following texture. Object will use the object's origin, rotation and scale, so the texture will be placed in the middle of the plane.

The following node, Vector Mapping, is tweaking a bit the scale of the texture upon the Z axis, as we are going to use a spherical gradient, while what we need is more like a half ellipsoid.

First Color Ramp is needed to adjust the feather of the texture border, second Color Ramp gives the shades of color to the emission node.

Last step is to mask out the emission shader using the first Color Ramp node output as the mixing factor fwith a transparent shader (don't forget to increase the trasparency bouces to at least the number of planes in the array)

Note: to increase the realism, I suggest to work upon the emission intensity rather than the color:


Have a look at camera tracking in Blender. BlenderGuru and BlenderNation have tutorials on this. Note that this is different from camera mapping.

Yes, this does not answer the question posed directly above, but I believe it poses the motivation behind the question - how to create a 'drawing' that follows the film.


Use custom texture multiple times with different settings

When you say different settings, do you mean just different orientations and scale or different tweaks to colors and normals (height, roughness, etc)?
If it's just different scale and orientation, you can alter your UV mesh orientation and scale, without changing your texture's mapping coordinates.
If it's different tweaks to colors and normals, you should copy the texture, as any change will alter its appearance everywhere in the scene.


How do to use just edges as Compound Parent?

Compound Shapes can be used for more than just attaching a low poly mesh as collider to another object.
Actually, if all you need is to combine a high poly object with a low poly collision shape object, just parent them or use constraints.
To give you more of an idea how and when to use compound shapes, i'll explain what problem they try to solve:
Collisions of concave objects are always a bit problematic.
Before Blender got the Compound Parent shape, the only way to have concave collision shapes was to use the Mesh shape.
While it works in most cases it produces bad results in some corner cases, some of which are:

When the objects intersect too much, the algorithm can't determine contacts reliable anymore. Objects will get unstable, get stuck in each other or pass each other.
If the collision margin is too small, the simulation will get inaccurate or even unstable.

And even when it works, you need to increase the simulation steps per frame to get decent results.
The basic idea behind compound shapes is that you can combine primitive and convex shapes like

Spheres
Capsules
Boxes
Cylinders
Cones
Convex hulls (Basically capsules and spheres are special cases of this)

to more complex but concave shapes.
The advantage about the above mentioned primitive shapes is that collision between them can be calculated much easier and more reliable, therefore they are faster and more stable (Especially convex hulls, spheres and capsules).
Now to the chain example from above.
It is using several Convex Hull shapes which are parented to a Compound Parent object to create a single concave shape out of the several convex hulls.
Basically the shape of the chain element is approximated by capsules that are overlapping, which would look like this if you could see the collision shapes:

Each convex hull is defined by 2 vertices that create a capsule like shape. And the margin of each convex hull object determines the radius of the capsule. The connection between vertices (the edge) doesn't matter, it's just there for visualisation purposes.
Now, you could use the built in Capsule shape instead of the convex hull, and the simulation result would be really close if not the same. But in the example you linked it was made just with vertices, because it's easier to place a few vertices than to align boxes for the capsule shapes.
To better show you how two vertices form a capsule, i made an example of two rigid body objects with the same resulting collision shape.
The left object is using the built in Capsule shape with a diameter of 2m (1m radius), the size of the capsule is determined by the box mesh of the object. The right object is using a Convex Hull shape consisting of two vertices with a margin of 1m. Beside that they look different in the viewport, they react and collide the same way:

There is a lot more stuff you can do with compound shapes and margins.
There is a video somewhere showing you how to create complex parts with rounded edges and other things.
Even though the examples in the video were made with the blender game engine (which had compound shapes), it shows the basics which are still applicable to the compound shapes in Blender 2.91.


How to stop Blender from making the CPU overheat?

Edit, The original question was "How to pause between rendering frames", if my answer seems out of place.

Yes, to sleep in-between rendering frames you can use a Python script to add a render_post handler, it will sleep in-between rendering frames of an animation.

import time
def sleep(scene, seconds=2.0):
    print("Sleep start")
    time.sleep(seconds)
    print("Sleep stop")

import bpy
bpy.app.handlers.render_post.append(sleep)

If you want this to always be enabled, copy it into render_sleep.py and put it in blenders scripts/startup/ path.

Note: I have serious doubts about this as being a GOOD solution to the problem you describe, a frame that takes a long time to render could overheat your system - so relying on sleeping between frames seems very precarious, on Linux there are tools to throttle process CPU use, check on nice and cpulimit (if under-clocking or better cooling isnt an option).


How to use only the luminosity of the environment texture but without color influence?

I think this setup will work. It desaturates the image that will light the scene, but the original image will be visible to the camera.

A different version suggested by JtheNinja. I also needed substract node to switch 0 and 1, and multiply node to control the strength of light.


You must apply scale first. Select the object in object mode and press Ctrl + A -> Scale

See also Why is it important to apply transformation to an objects data?


Why isn't my sea texture appearing transparent/translucent?

It's likely just the blend mode that needs to be changed on the material tab.

On Opaque, it's telling the renderer that this is a solid object, but when changing the visual properties to something like Additive, you should be able to get the expected results.


Weird symetry in the weight painting after automatic weight painting is applied

Ok first of all YOU CAN KEEP THE MIRROR MODIFIER.
Here is how it works. (assuming your original model is on the left side)
The Mirror Modifier has only one half of the mesh. In that half you have a vertex group for right and for left (.L and .R) or a symmetric one without any suffix. In Weight Paint Mode you can only paint on the original side. If you want to influence the other side, you need to paint the other group (.R not .L). The mirror modifier will keep the content of both .L and .R for the original side. For the flipped side it will just flip the names. That means .L from the original side will be written to .R in the mirrored side AND .R from the original side will be written to .L in the mirrored side.
Ok now that that is clear and you keep your mirror modifier, I can take some guesses as to what happened.

You could not draw the weight paint. In this case disable the subsurf modifier and the solidify modifier and/or change to a bigger brush or, only if that doesn't help, change to Projected drawing with Front Faces Only disabled. (see the other answer, make sure to switch back after this or you will likely cause a mess at some point without realizing, was there, can not recommend.)
You are only able to draw if you are drawing on the original side. So you can't draw on the .L group to remove the spot on the right. You need to select the .R group and paint on the left side where the spot should appear in that case.
You were drawing on the wrong vertex group. I noticed multiple vertex groups for a lot of bones ending on .001. Make sure you only have one per bone and don't confuse them.

Luckily you seem to understand that by now (https://developer.blender.org/T81252).
So consider this an answer to those people recommending to apply the mirror modifier (@moonboots)!
EDIT: if something behaves weird you can always check weight exactly by going into edit mode, selecting one vertex and looking at the vertex data in the right "N" Panel


Actually you just need to use the output of the second texture (Alpha Map) as the alpha. For example: using it as the transparency:

Note that the Alpha is Non-Color Data


Blender crashes on start- "failed to set 44100 hrz"

You need to set your sound settings from 44k to 48k, here is how:

Before that, my windows version at the moment is version 1909. Windows settings might be changed in the future.

1)Open settings
2)Select "systems"
3)Select "sounds"
4)
5)
6)
7)Apply and close all windows. launch blender.

If works, you may stop here, otherwise if you are stuck on grey screen in Blender:

1) Windows Key + R
2) type cmd . press Enter .
3) press Windows Key

4)

5) Drag

6) Press Enter and it should work.

That is all I know.
This minor issues happens a lot when you are using old pcs, laptops or old nVidia card as i know, because new apps might use new settings etc.


How to hide light shape source through transparent window in Cycles?

One possible way is to use the Light Path node.

This hides transmission light - when light goes through glass
But keeps light dispersion - when light is scattered inside glass/waterdrops/steam

Example using a glass pane, Suzanne and a mesh light.
Note the light dispersion on the glass pane


Maybe try to reactivate the Global Undo option in the Preferences > Editing. Don't ask me why it deactivates and what it has to do with it though   :(


Why is hair not displaying in render viewport but displays in solid view (while in object mode)?

Hair thickness is too small so that you can't see hairs in the render mode. Go to "Cycles Hair Settings" of the particles and there is "Scaling" option, increases it to a higher number 1 or 2 as you want. – 3DSinghVFX


This is caused by unequal weights on the edges of the mesh sections. Essentially the bone is 'pulling' on the mesh a different amount on each edge. The two easiest options are to either join the loops (selecting both and pressing W and choosing remove doubles should do the trick) or carefully weight painting the edges to ensure both edges have the same weights.


What causes these artifacts around the edges of objects when using the defocus node?

I've sometimes had odd results with the defocus node, particularly with large aperture sizes. See 2d vs 3d Depth of Field.

Try using built in Cycles DoF, which simulates the way light behaves at a lower level. It gives realistic and seamless results without requiring any fussing with the Z buffer:

The only downside is the inability to edit it in post.


Can I color a curve in BI by the direction it's running?

While not used very often, Blender Internal has support for node based materials. Almost the same node setup can be re-created in BI by changing the emission for a material node and the one missing being the Tangent node. While not the same result, the Global output of the Geometry node gives a similar effect. If you wanted a matching result between the two you could use Object output from the Texture Coordinates in cycles to get the same result or with some extra math nodes you may be able to get the BI nodes to give the same result as the cycles tangent node.


How to specify the name of a node group when creating it from python?

You can use something like this:

node_grp = bpy.data.node_groups[-1] # to get last created group
node_grp.name = "Special Name" # to set a name


Just switch to metric units in Properties Window > Scene > Units > Length:


The 2nd system would be better at rendering only using the CPU, but the 1st system would be better at rendering with CPU + GPU combined, along with running EEVEE better, since it uses a dedicated GPU. I'd suggest the 1st system, since the GPU should be able to pick up the slack of the weaker CPU, though you'll have to go into Blender's settings to enable Blender to use the GPU at all. (Also the fact that rendering with only GPU is faster than rendering with only CPU. Still turn both on though.)

Go to Preferences > System and tick off both CPU and GPU to enable this.


Render result does not appear when file is reopened

Blender does not save the render result with the file.  If you close the file without saving the render it will be lost.

You can save a rendered image by going to Image > Save Image in the UV/Image Editor (hotkey Alt+S).

If you need to save all the render layers and passes with extended dynamic range for future post-processing in Blender, you can save to a Multilayer Open-EXR image file and import it into the compositor next time with an Image node.

Also see: How to save the render result within Blender.


How can I mix two materials based on incoming light

I have made a little shader that does this. See below for the node setup and a test render.

First there are two shaders, one for the ground (green-brown-noise) and one for the glowing city lights.

Second, there is a mask for the city lights that makes them appear as spots.

Third, and this is answering your question, a value calculated as the dot product between the normal of the planet surface and the vector from the light source to the planet. Very simplified, dot product does this: If they point in the same direction, the dot product will be 1. If they point in opposite direction, dot product is 0. It was a loong time since I studied linear algebra so don't sue me over this.

Fourth, the second mask is multiplied with the third and this is fed as a factor into the mix node that mixes the two materials (land vs city lights).

Node setup. Note how I had to manually calculate the vector for the dot product. In this case (my planet is at 0, 0, 0) it is only the negative value of the light source position.

Test render:


Smart UV Project Multiple Objects to Different UV Maps

Here's the working code, thanks to batFINGER:

import bpy

selection = bpy.context.selected_objects
bpy.ops.object.select_all(action='DESELECT')

for o in selection:
    o.select_set(True)
    bpy.context.view_layer.objects.active = o
    bpy.ops.uv.smart_project()
    o.select_set(False)


To import models from another program, you basically must find a “common language” format that has all the data you need, such as armatures and texture maps, and is writable/readable by both programs. Blender has many default-enabled import addons, and a few more which are not enabled by default but come with blender, and still more third-party addons around the web. You can usually see what can be imported in the File -> Import menu.
So, what formats can Reallusion Character Creator export to? I recommend Collada .DAE if that’s available as it is Blender’s preferred import/export format.


Copying animation between different rigs

you can use something like Autorig Pro to retarget the bones. The bones have to be the same or the actions from Mixamo cannot be applied.
If that's not something you can do, you could delete the skeleton from the target model, copy the skeleton from the mixamo rig, and use weight paint to affix your mesh target to the mixamo rig.
Then go into the Actions dropdown in the "Blend" window of the properties tab at the top right, select the mixamo action and paste it into the non-linear animation timeline. Once it's there, you have to "push it down" to turn it into an animation the new target character can use.
I'm not going to lie--this isn't an easy-to-follow process, but it does work.


Editor and ways recommendation for Python addon development

There are two general approaches:

Use an auto-generate script to make stubs. The best one is probably fake_bpy, but that has shortcomings like missing bpy.context.
Compile as a python module. This gives accurate completion, but the compilation process is not well documented and I haven’t managed to get it to work consistently. Some instructions can be found here.

The general state of tooling support for Python scripting right now is rather poor, so your best bet is to keep the API docs close at hand.


Populate a list with custom property dictionary data

Create a CollectionProperty and supply an own class derived from bpy.types.PropertyGroup, in which you define your properties (it already comes with a StringProperty called "name").

In your UIList class, item refers to what you pass to layout.template_list() as 3rd and 4th argument, so the collection. Thus, item.id and item.name refer to entries in the collection Object.zones in the example below:

import bpy
from bpy.props import IntProperty, CollectionProperty
from bpy.types import Panel, UIList

class OBJECT_UL_zones(UIList):
    def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index):
        split = layout.split(0.2)
        split.label(str(item.id))
        split.prop(item, "name", text="", emboss=False, translate=False, icon='BORDER_RECT')

class UIListPanelExample(Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "UIList Panel"
    bl_idname = "OBJECT_PT_ui_list_example"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

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

        layout.template_list("OBJECT_UL_zones", "", ob, "zones", ob, "zones_index")

class Zone(bpy.types.PropertyGroup):
    # name = StringProperty()
    id = IntProperty()

def register():
    bpy.utils.register_module(__name__)
    bpy.types.Object.zones = CollectionProperty(type=Zone)
    bpy.types.Object.zones_index = IntProperty()

def unregister():
    bpy.utils.unregister_module(__name__)
    del bpy.types.Object.zones

if __name__ == "__main__":
    register()

    # Add an example entry every time this code is executed
    ob = bpy.context.object
    item = ob.zones.add()
    item.id = len(ob.zones)
    item.name = "Zone " + chr(item.id + 64)


Wrong object position after unity import

I believe in Unity Y-axis face upwards, while in Blender it's Z-axis. So it makes sense if your object rotates that way (thought it depends what options you use while exporting from Blender, there are options for Forward and Up axis). I would check rotations on all 3 objects in Blender and apply them if they are not at 0 (Object->Apply->Rotation).