Driver action animates in viewport but not in Eevee or Cycles

I believe I have at least part of the answer to this failure:
I will attach a demo file with three scenes, each with only one procedure changed:
Scene 1 shows the failure to animate the cube's rotation as a function of its X location.  First, run the animation in the viewport and see that it is OK.  Then choose Render Animation from the Render menu - either Eevee of Cycles - and see that it will animate the cube's position but not the driver action of rotation.
Scene 2 shows only one change: I changed the variable's Space parameter from World Space to Transform Space.  Now you can see the animation also roll the cube.
Scene 3 shows the variable removed and the scripted expression modified to use Self.  Note that the expression must be a proper instance variable hierarchy:
self.location.x
Here, also, you can see the animation roll the cube.

So, what does all this mean?  I have only a rough guess:
This animation requires that the animated cube have its world-location updated in the world matrix needed for animation.  The viewport animation necessarily needs its world matrix updated every change no matter what, but the animation matrix is time-intensive and something called a dependency tree is used to update only those world matrices that have changed from the last scene.
In the case of the first, failing, scene, the world matrix entry for the cube only gets updated in its animation matrix position.  The variable refers to the same cube, but the world location of the cube hasn't changed; it's still right where it was created - at 0,0,0.  Therefore, the rotation of the cube doesn't get updated since the "location" of the cube in the world hasn't changed.
Now, in the second scene, the variable X Location is gotten not from the world location but from the transform matrix location, and that has changed as a result of the F-curve of the animation.  Now the cube rotation is part of the dependency tree and gets updated for the animation.  (Remember: I think the viewport representation simply gets updated any time anything at all changes.  The viewport is not time-critical.)
In the third scene, I eliminate the external variable altogether.  Here, using self actually passes the information from the instance of the object along to the tree and says, "update me, I'm being changed."

This, however, does not yet fix my original problem of getting this update to happen for my instantiated WheelDriver class objects to get updated in the animation procedure and not just in the viewport procedure.

More later ...

Equipment: Blender 2.82a, Dell G7 with NVIDIA GTX 1660 Ti, 16G Ram, Bowmore - 12 yrs old.


How to avoid float texture limit for GPU rendering

It looks like what you've found is accurate.  Here is an excerpt from the manual http://www.blender.org/manual/render/cycles/gpu_rendering.html so far as I know it's current for mid-2015

  Limitations

  The maximum amount of individual textures is limited to 95 byte-image
  textures (PNG, JPEG, ..) and 5 float-image textures (OpenEXR, 16 bit
  TIFF, ..) on GTX 4xx/5xx cards, and 145 byte-image textures and 5
  float-image textures on GTX6xx cards and above.


Just select the spot light, then press Ctrl-Num-0 (zero) to turn it into an active camera (looking at -Z local axis). To keep looking through it while navigating the scene you will have to enable 'Lock Camera to View' in 'View' under the properties panel. You'll then need to press it again while selecting the camera, to set the active camera back to it.


How to delete greyed out Bookmarks and Recents?

You can delete greyed out Bookmarks but not Recent. Recent will just go away after a while or you could delete all of them by clicking X button next to the list.

To clear bookmarks list click on arrow button next to the list and choose Cleanup.


Objects have been duplicated into immovables

You duplicated it outside of edit mode. Switch back to object mode and select the duplicate, then delete it.

Objects other than the one you are currently editing cannot be modified in any way.


How to edit UVs for a mirrored effect on textures

For this, I dissolved the diagonal line going through the middle of my face. I then created a vertical loop cut down the centre of it, like so.

I then Went in the UV editor, selected all the edges of the left side of the face, and moved to be on the skull side of the texture.
All that's needed now is to download the UV: Magic UV Plugin, available in edit/preferences/add-ons, right click UV Unwrap Faces/Flip Rotate UV.
Done


How do I resize nodes in the node editor?

I figured it out, click top right icon which looks like material icon. This will collapse render layer preview thumbnail and make node smaller.


Use the add image as plane addon to import your image as a texture on a plane, if your image is transparent around your logo then you can use that to only make you logo visible.
Animate the rotation of the plane. In the 3D viewport press I and choose rotation.
In the graph editor select the axis you want to rotate and add a generator modifier. Play the animation and adjust the values until you get a rotation speed you want. Negative numbers will reverse the rotation.

To get a more detailed object spinning or if you need to cut out the image surrounding your logo, you will need to do a little modeling. Starting with a circle, you can either extrude it or use a solidify modifier to add thickness. UV unwrap it and add the image to the material, you can use the material created by add image as plane if you started with that.


A little history followed by an educated guess...

CorelDream 3D was also sold as Ray Dream Designer and RDD is still a product owned by DAZ Productions, but it's sold under the name Carrara.

So, what I'm thinking is if any software still loads that file format, it would be one of the DAZ 3D products. You may even luck out and find that it'll load into Daz Studio which is free. If there's a demo version of Carrara, you might be able to load/export it from there if the demo version allows exporting. From there, you could export it as a Wavefront .obj file and bring it into Blender.

Failing that, if you can still get CorelDream 3D to run, load the model and do screenshots of front, side, top, etc. and load the screenshots as image planes into Blender and redo the model. Of course, if it's terribly complex, it may take some time.

Not a definitive answer, I know. I went down this same road with models from Sculpt-Animate 4D. Yeah, I know, nobody remembers that one :) I ended up recreating the models from scratch in Blender which didn't take nearly as long as I thought it would.

I hope you find a solution and that this has helped in at least some small way.


How do I use the snap tool without having my objects intersect?

I find using closest edge or vertex is much easier to control than "snap to closest face". You can place your mouse cursor near the edge/vertex you want to snap to and an orange circle lets you know where it is about to snap to. If it is a complex model with lots of close together edges and vertices it helps to zoom in as much as possible to make selecting the correct snap point easier.
Also, selecting "closest", "center", "median" or "active" can yield dramatically different results depending on your geometry. Its not a bad idea to try each setting when you first use a new tool to see how each performs differently.


Blender wireframe material missing some edges

Since your mesh is altready triangulated, you can use the Wireframe Node.


Unity messed up weight painting from FBX file exported from Blender

Unity normalizes weight per vertex so you can't have vertices with zero weight. So the armature needs to have a root bone that you use to paint the weight of parts that don't move.


Rotate snapping a bone between two vertices

IF you are animating this process you can create a IK bone constraint on the bone.
Snap the 3d cursor to the v0 location
Add a second bone in edit mode to be your target for the IK constraint. "target"
Snap the "target" bone to the vertex1 (edit mode on the cube, snap 3d cursor, pose mode snap target bone to 3d cursor).
Now you have a min-snap rig- that will drive your bone you want to animate and you can bake the animation down when you are done or leave the IK constraint on.


What you are experiencing is a quantization error called banding.
Most monitor can only display 8 bits per color or 256 tones from dark to bright. There are just not enough levels to do a subtle gradient between two dark tones or similar colors.
It is a limitation that will show in most monitors (unless you have one that can do 10 bit display).
As a workaround, you can play with the dither settings in the Post Processing settings for the scene.
(from the blender Manual)
Dithering

Dithering is a technique for blurring pixels to prevent banding that is seen in areas of gradients, where stair-stepping appears between colors. Banding artifacts are more noticeable when gradients are longer, or less steep. Dithering was developed for graphics with low bit depths, meaning they had a limited range of possible colors.


Preserving depth when rendering in multipe layers (Cycles)

Yeah no problem,

On the flame render layers layer settings, under the Layer: blocks, there's a Mask Layer:   set of blocks.   Just select the corresponding layer for the cannon (so you're applying the cannon as a mask to the flame)

Below is an example using a cube and a sphere, the sphere occluding and masking the cube.

The Cubes' render layer output


Specific object not being affected by any forces when a cloth

Solved!

Seems like subdividing a plane too many times can exponentially decrease how little a force will act on it. I had to set the force multiplier of wind on the cloth to about 50 to see a change


How to measure face size in meters, centimeters or any units which is set?

Simply tick Length  under Mesh Display in the Properties side panel and it will show the length of the edges (also tick Area to show the area if there are any faces). These measurements will use the unit specified under Units in your Scene settings. The shown units are local units and are scaled to world units by the object's Scaling settings (see also Why do the measurements of this object seem erroneous?).

For something more extravagant, you can try the built-in Ruler/Protactor tool or Dolf's Caliper addon (install and usage instructions on the page).


As of April 2021, area lights are only a proposal for the glTF format. Unless and until they become part of the format, you'd need to recreate the lights in three.js.
One workaround would be to put metadata about the lights onto empties in Blender, as Custom Properties. The custom properties can be exported with glTF "extras", and become available to three.js as object.userData, which you can use to construct new objects at runtime.


Glowing particles not visible when rendering RGBA with Transparent Background

I have deleted the particle system and setup an new one, and this time it works. I cannot explain why I wasn't able to see the particles on the transparent background before.


Is it possible to use cloth sewing springs to make pants?

Of course it's possible to create pants using sewing springs. You can either turn off gravity, or pin the top of the pants to the avatar to prevent it from falling.


You can change the mouse button with which you click in the Preferences/Input and change (select with) to Left, it is set to Right by default


How to move the Armature Original Point without moving bones?

Your armature is rotated, maybe it's your problem, you should first unparent the mesh in the Properties panel > Object > Relations, apply its rotation (CtrlA), put its origin at its center, reparent the mesh in the same panel, align it on the armature, and it seems to work better.


Euler rotation as a matrix
Would imagine that what you want for x, y, z is an Euler rotation.
The KX_GameObject.localOrientation expects a 3x3 matrix, an Euler or a Quaternion.
euler_rotation = mathutils.Euler((x, y, z), 'XYZ') # XYZ is default
# 3 x 3 rotation matrix
R = euler_rotation.to_matrix()

this is the equivalent of
Rx = mathutils.Matrix.Rotation(x, 3, 'X')
Ry = mathutils.Matrix.Rotation(y, 3, 'Y')
Rz = mathutils.Matrix.Rotation(z, 3, 'Z')
R = Rz * Ry * Rx # ( XYZ order)

Can either set your local orientation to this matrix, or to rotate by it
own.localOrientation = R * own.localOrientation

remember all rotations need to be in radians. x = math.radians(45)
Putting it together in game engine, the following in a text block named rot.py
from mathutils import Euler
from math import radians
x = y = z = radians(5)
R = Euler((x, y, z)).to_matrix()

def main(cont):
    own = cont.owner
    # color vector xyzw  ~ rgba
    own.localOrientation = R * own.localOrientation

Assign to the left mouse click. Now on every click the owner is rotated 5 degrees on each axis each click


Invoke the File Browser inside an Add-On but wait with the rest of the script until it's closed

The solution was very simple at the end. Everything what needs to be done with the data which was loaded by the ImportHelper should be part of the execute method of this class.
The invoke method (in my above script) was not needed at the end:
class ImportFBXData(Operator, ImportHelper):
    bl_idname = "import_fbx.read_data"
    bl_label = "Import FBX"

    filter_glob: StringProperty(
        default='*.fbx',
        options={'HIDDEN'})

    def execute(self, context):
        # Everything what needs to be done before opening the file browser
        new_fbx_collection = bpy.data.collections.new("New COllection")
        bpy.context.scene.collection.children.link(new_fbx_collection)

        # Open the File Browser and Import the FBX File
        filename, extension = os.path.splitext(self.filepath)
        bpy.ops.import_scene.fbx(filepath = self.filepath)

        # Everything what needs to be done after the file browser
        ...
        obs = [o for o in bpy.data.collections[context.collection.name].all_objects if not o.parent and len(o.children)]
        for o in obs:
            ...
    return {'FINISHED'}

This way my Add-On works perfectly.


Operator Search: 'Free Data' not available in Blender 2.9 anymore?

The default behavior of the Operator Search dialog in 2.9x is to only list the operators that can be found in menus. In order to search for all registered operators, you currently have to enable the Developer Extras option in the preferences.

Open the preferences Edit > Preferences
Switch to the Interface tab
Enable Developer Extras

For more information take a look at the design tasks T76227 and T74157.


Brushes are considered the same as any other part of Blender comparable to objects and materials - they are 'imported' through the Append function. If you have a brush(es) stored in a file, you press Append under File and then navigate to the file containing them. Select the ones you want, and confirm to append into your scene - then you should be able to find them in your current file. Check them to be Fake User if you want them to stay in the file after close and reopen.


How to remove all unused material slots from all objects?

Via a script.
Removing unused material slots is akin to
Delete all materials that aren't assigned to a face?
ie remove any slot not associated as a face material, then consolidate.
Similarly to https://blender.stackexchange.com/a/7164/15543 can loop over all selected objects and run the operator for each.
With 2 selected objects each with 3 unused material slots, can call the operator once in python console and it cleans all unused material slots from all selected objects.
>>> bpy.ops.object.material_slot_remove_unused()
Info: Removed 6 slots
{'FINISHED'}

Which has different behaviour to that when using the button in the UI, which as noted only cleans the active object.
Similarly, without   altering  context object or object selection. Example below removes all unused material slots from all objects in scene.
import bpy

context = bpy.context

for ob in context.scene.objects:
    if not ob.material_slots:
        continue
    bpy.ops.object.material_slot_remove_unused(
            {"object" : ob}
            )

or better still, to only run the operator once  Python performance with Blender operators
import bpy

context = bpy.context
scene = context.scene

bpy.ops.object.material_slot_remove_unused(
        {"object" : scene.objects[0],
        "selected_objects" : scene.objects
            }
        )

Note that after running script above there could remain a number of unused materials. (zero user orphans).  These are purged by default on save / reopen. Keep this in mind.
Unused slots vs Unused materials.
IMO big difference between "unused materials" and "unused material slots"  For example if a new material is added to the material slots and never assigned to a face, it is an unused slot, but becomes a used material, since the object becomes a user via the material slots.
This would suggest that Cleaning unused Material Slots in Blender 2.80 Beta was closed under false pretenses.


Cycles Subsurface shader: GPU compute and CPU compute give totally different results

The SSS shader has not been implemented for GPU rendering yet. It will always render black.
Update: SSS now works on GPU, so they should look the same.

If you're looking for quick renders, SSS is not a good idea. If you can get away with a simple Diffuse BSDF shader with a bit of Translucent BSDF, that'd be great.


Probably easiest to use the armature objects pose bone collection.

import bpy
context = bpy.context
obj = context.object

namelist = [("Bone", "Head")]

for name, newname in namelist:
    # get the pose bone with name
    pb = obj.pose.bones.get(name)
    # continue if no bone of that name
    if pb is None:
        continue
    # rename
    pb.name = newname


How to find out which modes (object, edit, weight paint, pose etc) is activated using Blender's Python API?

You can get the current activated mode with the following:

bpy.context.active_object.mode

This will print things like OBJECT, EDIT, WEIGHT_PAINT, POSE etc


The top image seems to be the rods and cones that line your retina. The image is likely from a scanning electron microscope, then manually colored. (SEM can't see color)

Fresnel is the easiest way to accomplish the effect.


It seems that you mixed two methods. You can either use :

file_object = open('myfilename','w')
file_object.write(ob.name)
file_object.close()

or

with open('myfilename','w') as file_object:
    file_object.write(ob.name)
    #no need to close

The second option is better (see https://www.pythonforbeginners.com/files/with-statement-in-python).

Both options only require you to import bpy


All the walls etc. only have a glossy shader with 0 roughness. This means light will be reflected specularly, without being scattered. In other words, every surface is acting as a perfect mirror.

See How do you make a lamp light up glossy surfaces? for a more detailed explanation of why this is a problem.

To fix this, try using a diffuse shader instead:

Though eventually you'll want to set up a mix of different shaders (probably a bit of both diffuse and glossy) with textures, etc.


Why do my mesh planes get deleted when I bind all objects using control + j?

Probably they get moved, not deleted. If so, before joining, select the disappearing objects and press Alt P "Clear and keep transform", then join with Ctrl J.


Aha! Yes, the panels... the most annoying noob thing in Blender!

Here is it:


How to render an animation as video in Blender?

You have created an animation and want to make it into a final video format. Here are the steps -

Choose an output location for your animation under the Output Settings tab by clicking on "Output".

Set the Path to the folder where you want your output files to be saved, whether it is rendered as image files or a video file.

Before you make a video file of your animation, it is a good idea to render it as an Image Sequence first. If you render it directly to a video file, you can't stop/pause the render or there is a chance that you will get a corrupted file and have to render all of the frames all over again. Having an image sequence will allow you to experiment with different formats for and settings for encoding to video.
(If you want to render directly to video without saving as images, skip to step 8)

When you have chosen an output directory for your Image Sequence, choose an Image Format.

On the main menu Select Render > Render Animation (or press the shortcut Ctrl + F12)

Blender will now start rendering the scene frames one by one.

When the rendering is finished you will have a lot of numbered images. To encode them as a single video file, start a new project and choose New > Video Editing.

On the Sequencer window, click on Add > Image Sequence

Select all of the image files of your animation with A and click on "Add image strip".

In the Properties Window now select FFmpeg video as File format.

A new tab will appear with Encoding options.
There you can select the Container and the Codec for the output video file.
Container is the file format for the file, (Mov, Avi, Ogg, MP4, to name a few) sometimes is referred as a "wrapper".
Codec (short for Compression-Decompression) Is how the image is compressed. The picture quality, file size and processing power needed to view the file are largely determined by the kind of codec used and the settings used for it.

On the main menu Select Render > Render Animation (or press the shortcut Ctrl + F12)

The result of this will be a video file.
----------
For older versions of blender (previous to 2.79)
The options to choose formats are like this:

Choose a video format for your animation here:

The Render Animation" is located in "Render" tab.
To open the video editor click on "Choose screen layout" and then "Video Editing".


Check if a mesh has an UV Channel in Python

This will do the trick:

import bpy

# Check if active object has any UV layers
if not len( bpy.context.object.data.uv_layers ):
    bpy.ops.uv.smart_project() # Perform smart UV projection


Help with curved groove on curved surface

As your shape is a cylinder, you could greatly simplify your work if you use a Simple Deform modifier:

Just create your shape as a flat map, avoid any ngons, make a topology that will allow you to add some edge loops when you'll need to sharp the angles.
Extrude what needs to be extruded.
Give it a Simple Deform modifier/Bend mode, with a Deform Angle of 360°.
Give it a Subdivision Surface modifier and a Smooth Shading.
To make the joint at the 360° junction, you'll need to apply the Simple Deform and then W > Remove Doubles.


Click on the following link to download Blender 2.83 Beta from the official website (It's still experimental).

Download link: https://builder.blender.org/download/blender-2.83-ff1040c6fefc-windows64.zip

After downloading, Open blender and go to sculpture tab and you will find the brush in the left menu (T menu).


Using Bmesh to get the required coordinates.

import bpy, bmesh #first import bpy and bmesh
obj = bpy.context.active_object

if obj.mode == 'EDIT':
    bm = bmesh.from_edit_mesh(obj.data)
    vertices = bm.verts

else:
    vertices = obj.data.vertices

verts = [obj.matrix_world * vert.co for vert in vertices] #this should get your coordinates as tuples.

plain_verts = [vert.to_tuple() for vert in verts]
for I in range(0,482):#where you'd like to set your bones i chose from 0 - 482 because i wanted to fill a sphere.
    print(plain_verts[I])#so you can see your data
    bpy.context.scene.cursor_location = (plain_verts[I])#move the cursor to the vertices position.
    bpy.ops.object.armature_add()#this uses blenders menu method to add the bone, at the cursor.

After like 3 minutes of searching online I was able to find this, and by reading the commands in Blender easily figured out how to create a bone.

Is this not what you're looking for?

Or did you want to know how to join and rotate bones?

because that would be

bpy.data.objects['selectedbonesbones'].select = True
bpy.context.scene.objects.active = bpy.data.objects["selectedbonesbones"]

and look here to rotate the bones in pose mode.

If you want to rotate in object mode it should be something like

bpy.data.objects['armature'].rotation_euler[0] = 1
bpy.data.objects['armature'].rotation_euler[1] = 2
bpy.data.objects['armature'].rotation_euler[2] = 3

If you want to rotate in edit mode, well I haven't found anything very useful but you can try this, line 335 to 364. Tell me if it works!


How to rotate all the keyframes of root bone?

I think the easiest way to do this - it just rotate all armature as object. To do this:

Make sure, that you select armature in object mode. If you are in Pose mode, switch to object.
Then rotate object as you need.

Also, you can add new root bone, and parent "old root bone" to the new one. In this case you can use it to position and rotate all bones in pose mode.


How can I get the index of a custom property?

Lets dissect what your code does:

key = bpy.context.active_object.keys()[2]
# key contains the name '02_back'

char = key[2]
# gets the third character which is '_'

bpy.context.active_object.get(char)
# which throws an error as key '_' does not exist

It should be

bpy.context.active_object.get(bpy.context.active_object.keys()[2])[2]

Let's dissect this

key = bpy.context.active_object.keys()[2]
# key contains the name '02_back'

prop = bpy.context.active_object.get(key)
# gets the property with the name '02_back'

value = prop[2]
# gets the third item of the property `1.2`


I also think you need to use solidify modifier. It add thickness to you polygones. Simply, make windows holes into your fuselage and then use solidify modifier. And you will have hollow fuselage with windows.


When I rendered my project, it seems to be completely grey. Also, I have Blender v2.79

Try changing from Blender Render to Cycles Render in the drop down menu along the top? That's where I'd start at least.


Select Interior Face, how to make it work?

This tool is very limited. All it does is exactly in it's description:

Difference between an edge with 2 face users and edge with 3 (or more) face users:

All this tool does is for every face it checks if all it's edges have more than 2 face users. If yes, such face is selected.

This tool does not 'think' spatially and doesn't understand volumes at all. Here is an example when it will succeed and when it will fail:


Is there a way to add outline/highlight your model?

Render Properties tab: Enable Freestyle.
View Layer Properties tab: Make sure External Contour is the only edge type checked.


Matching pixel density ratios across multiple objects

You can easily achieve this with wonderful add-on TexTools. I'm using current version 1.2.0.

How to install add-on?

Here is a screenshot from add-on site with whole explanation (I'm posting this one just to keep it safe):

Steps:

Make a Material with texture (important!) or use Checker Map from add-on.
In UV Editor (where TexTools lives) set your texture size.
With one object selected use Texel Density picker.
Select all objects and apply Texel Density.


Place your Cursor on the Linked vertex in the Edit Mode and Press L on your keyboard, it should select the linked vertex


How to stop Blender from rounding numbers?

So I guess blender doesn't round these values?

I changed my scene units to display separated units (e.g. 1m 0cm).
And BAM, edge lenght is displaying the correct (original) values.
Also I noticed that when creating a mesh the transform values will be rounded, but
item transform shows the correct values.

Blender was not rounding the values themselves. It was just displaying them rounded.

This is absurdly counterintuitive and really should never happen.
If anyone stumbles across this I hope this helps.


How to pose a rigged model in Blender 2.72

maybe this will help:

Also try to enable all the layers (shortcut "~"), then press Alt+H to see everything in the scene.


Why are particles set to scale 1.0 way bigger then my Original particle

Final hair particle size is the result of multiplying hair length with particle object scale.

Default hair length is $4$ Blender Units, so to get an object of identical size to the original you have to multiply it by $1/4$, hence $0.25 \times 4 = 1$

If you plan on rendering particles as objects and need easy to set up scales then change hair length to $1$.


Should I be concerned about non planar quads like these if I'm modeling for unity?

The first answer in Flat quads (or, why is my mesh so funky?) answers most of this question, and for my case since I want to build a mechanical object, subdivision surfaces modifier with "simple" option does pretty much what I want to achieve.


75 vertices in Edit mode, 1.4 million in Object mode

In your model there are a lot of duplicates of the same model. They are inside in each other.

Select the objects you need (left click while holding the Shift button). Then invert the selection (Ctrl + i). Then delete all extra objects (X)


You could use the particle render type "lines" and increase the amount of trailing particles to emulate a streak.

To get the sparkles you may have to duplicate the particle system and use different render settings. make sure to keep the dynamics the same or they will diverge.


Why is texture paint showing a different UV map

This came down to a problem between UV unwrapping and my modifier stack. All modifiers need to be applied before unwrapping, otherwise there will be glitches in the UV.
In the question above, I had a sub-d and bevel modifier being applied dynamically, and this lead to inconsistencies in the UV map. By applying both and unwrapping a second time my UV islands began to appear in texture paint.


Can matcaps be used for all objects and not just selected objects?

You can do this by adding a new material and then adding an image texture to it, load in a matcap (grab some here from Blender's online src) or here from zBrush's free library and under Mapping in the texture tab set the coordinates to Normal.

Now in your scene, in the N panel under Display, change Shading to GLSL, switch the viewport shading to Texture with Alt + Z and add a Hemi lamp to your scene. Any objects with the material will now show as such.

To have all objects use matcaps just temporarily assign that material until you need to render etc. If you have multiple objects, you can quickly do this by selecting all the ones you want to apply it to then selecting the one with the material applied already and hit Ctrl + L and choose Materials.


my objects glitch through plane when i try to make them particals

its fixed i just had to go to edit mode on my pear and select all of it and move it away from the center which is the little orange dot


What do the dashed lines in the outliner mean?

Dashed line means the child object isn't present in the same collection.
It probably got left in a different one.
The parent-child relationship still exists, but the 'misplaced child' :( won't be treated as a part of the collection (for instancing, particles or simulations)


To make a tube, set the Fill to full in Curve > Shape:

Then increase the bevel Depth and Resolution in Curve > Geometry:

If you want a more complex/custom shape, you can use a bevel object:


Two 3d view windows: one in edit mode, one in object mode

I will assume you want to have one area in object mode for a clean and overlay free preview, while still being able to edit your mesh as usual.

This can be achieved by disabling the overlays and gizmos in the top right of the 3d viewport.

This way edit mode is not disabled, but you don't have any wireframes or selection highlights. This should work for any other mode as well.

If you need the other area to be in object mode I'm afraid that is not possible as far as I know.


Issue with Volume Absorption inside Glass

I was facing the same issue when doing the Blender guru tutorial. I tried searching in a lot of threads for multiple hours but did not find a solution that worked. Then, I found an alternative method from a blender StackExchange thread that worked quite well for me. It talks about tweaking the IOR values of the faces of the coffee which face the glass.  The link for the thread is given below -
Liquid IOR
Image before tweaking the IOR value-

After tweaking the IOR value of the coffee faces by following the solution in the link and setting it to 0.8-

IOR set to 0.91 based on the formulae used in the link-

You can play around with values further to get the desired look.


Snap Utility is removed when default cube is deleted

Blender's UI is capable of only showing the functionality that is relevant to your actual selected object but not every addon makes use of that capability.

Snap Utilities are probably mesh based and therefore are designed to only be relevant to mesh objects. If no mesh object is selected (like the camera or the light in the startup scene) they simply will be hidden until a relevant object is selected.


You can include a script in the CLI and include the folowing lines:

bpy.context.scene.render.use_sequencer = False
bpy.context.scene.render.render()

Use the -P <filename> switch to load desired python script.


How can I append an object from an external blender file using a relative path with Python?

There is a pretty nice example using BlendDataLibraries and a relative path in the API: https://docs.blender.org/api/current/bpy.types.BlendDataLibraries.html

Example script to append all objects named Cube... from a blend file called link_library.blend in the same folder as the script:

import bpy
import os

# "//" prefix is a Blender specific identifier for the current blend file
#filepath = "//link_library.blend"
#abs_filepath = bpy.path.abspath(filepath) # returns the absolute path

# os.path.abspath(__file__) returns path to the script
filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)), "link_library.blend")

# link all objects starting with 'Cube'
with bpy.data.libraries.load(filepath, link=False) as (data_from, data_to):
    data_to.objects = [name for name in data_from.objects if name.startswith("Cube")]

# link object to scene collection
for obj in data_to.objects:
    if obj is not None:
       bpy.context.collection.objects.link(obj)

Assuming the folder structure is like:

my_folder/
├── my_script.py
├── link_library.blend/
    ├── Objects
        ├── Cube

Further reading:

How do I get the full path of the current file's directory?
How to Link/Append a data-block using the Python API?
How to get the directory of open blend file? (from Python)

Can be wrapped into an operator easily. I suggest declare at least two StringProperties, one to hold the name of the blend and another one for the actual object name, which basically allows to pass arguments when calling the operator or when adding the operator to any layout:

class MY_OT_custom_append(bpy.types.Operator):
    ...
    blend = StringProperty(name="Library Blend File")
    object_name = StringProperty(name="Object Name")
    ...

 # On a panel
 class MY_PT_custom_panel(Panel):
    ...
    row = layout.row()
    props = row.operator(MY_OT_custom_append.bl_idname)
    props.blend = "link_library.blend"
    props.object_name = "Cube"
    ...

...
# Test call
bpy.ops.scene.custom_append(blend="link_library.blend", object_name="Cube")

Read: How to pass multiple operator properties via UI layout?

custom_append.py

Panel and operator example to append given/known objects from another blend file next to the Add-on (see the folder structure above):

bl_info = {
    "name": "Custom Append Add-on",
    "description": "",
    "author": "",
    "version": (0, 1),
    "blender": (2, 80, 0),
    "location": "3D View > Tools",
    "warning": "", # used for warning icon and text in addons panel
    "wiki_url": "",
    "tracker_url": "",
    "category": "Development"
}

import bpy
import os

from bpy.props import StringProperty
from bpy.types import Panel, Operator

# ------------------------------------------------------------------------
#    Append Operator
# ------------------------------------------------------------------------

class MY_OT_custom_append(bpy.types.Operator):
    bl_idname = "scene.custom_append"
    bl_label = "Custom Append Operator"
    bl_options = {'REGISTER'}

    blend = StringProperty(name="Library Blend File")
    object_name = StringProperty(name="Object Name")

    def execute(self, context):

        # os.path.abspath(__file__) returns path to the addon
        filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)), self.blend)

        # -> Test whether the file exist
        if not os.path.isfile(filepath):
            self.report({'WARNING'},"{} does not exist".format(self.blend))
            return {'CANCELLED'}

        # link all objects starting with 'Cube'
        with bpy.data.libraries.load(filepath, link=False) as (data_from, data_to):
            data_to.objects = [name for name in data_from.objects if name == self.object_name]

        # -> Test whether the obejct exist
        if not data_to.objects:
            self.report({'WARNING'},"{} not found in {}".format(self.object_name, self.blend))
            return {'CANCELLED'}

        # link object to scene collection
        for obj in data_to.objects:
            if obj is not None:
                # Append to active collection
                active_coll = context.view_layer.active_layer_collection
                active_coll.collection.objects.link(obj)
                # Append to main collection
                # context.collection.objects.link(obj)

        return {'FINISHED'}

# ------------------------------------------------------------------------
#    Panel in Object Mode
# ------------------------------------------------------------------------

class MY_PT_custom_panel(Panel):
    bl_idname = "OBJECT_PT_my_panel"
    bl_label = "My Panel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "Tools"
    bl_context = "objectmode"

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

        file_name = "link_library.blend"
        object_name_01 = "Cube"
        object_name_02 = "Sphere"

        row = layout.row()
        props = row.operator(MY_OT_custom_append.bl_idname, text="Append {}".format(object_name_01))
        props.blend = file_name
        props.object_name = object_name_01

        row = layout.row()
        props = row.operator(MY_OT_custom_append.bl_idname, text="Append {}".format(object_name_02))
        props.blend = file_name
        props.object_name = object_name_02

        layout.separator()

# ------------------------------------------------------------------------
#    Registration
# ------------------------------------------------------------------------

classes = (
    MY_OT_custom_append,
    MY_PT_custom_panel
)

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

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

if __name__ == "__main__":
    register()

Further reading: How to create a custom UI?


How can I create dynamic brick/tile-like geometry?

The Wall Factory is a step in the right direction, and it's already included in blender.

To activate, go to User Preferences (Ctrl + Alt + U). Then go to the Add-ons tab and enable Add Mesh: Extra Objects.

To add a new wall, press Shift + A and then go to Mesh > Extras > Wall Factory

However, it doesn't look like I can go back and modify things like brick size or grout width after I've created the wall.


Your object has three materials.

Go into edit mode, then select the materials one after each other and press the select and deselect buttons to find out, which material is assigned to the object. Right now, only the first material mug.002 is assigned to the object.

This material is set up wrong. It you can not plug a color output in the Surface - input of the Material Output node. The Surface input needs a BSDF output, like from the Diffuse BSDF node.

Fortunately, you already have a properly set up material for the object: Material. In edit mode, select all vertices A, then select the material Material and press Assign.

The material will show correctly.


realtime uv unwrapping from view with moving or rotating of unwrapped mesh

The Texture Coordinate could interest you:

If you use its Camera output socket, it will project your image on the object surface, but the image will always face the view:

If you use the Object output socket, you can choose an Object on the bottom of the node, here an empty, and the image location will depend on the location of your empty, not the location of your object, if you move your object, the image won't follow, if you move your empty, the image will follow:


Why is the bone Tip and Root separated from the body of the bone in blender 2.8.Kindly assist

I experienced the same thing while using windows 7, I tried it on windows 10, and the problem was solved.

Also tried on Linux(Ubuntu) it works fine. It might be a bug associated with windows seven on certain hardwares.


Fixing artifacts from an imported Medium sculpt?

Automatic decimation on a hard edge model like this will always produce such artifacts.
Either you model with fewer polygons, so you do not have to decimate or you need to import the highres model into Blender and retopologize it.
https://www.youtube.com/watch?v=DD4jJc_01do


How to transform flat face to concave one - model palate?

Isolate the ground plane (or remove it and create a new one. Then subdivide it and use Proportional Editing (Keyboard O in edit mode) to shape it to your liking.
EDIT: here the illustration: Youtube - Blender teeth modeling. It's just one way though. There might be better ways depending on the existing topology and what kind of quality you are trying to achieve.


Hair Particles - Can I recalculate the initial rotation every frame?

Sorry guys I already have to solution, I just had to check to regrow option.
Thanks anyway!


Collision sensor triggering when property is near?

Turn the collision bound margins for both objects to the lowest.


Breakdown

Rough hard plastic or similar materials with slightly irregular surface textures should obviously have some sort of displacement.

Also, even if they are rough, they still have some sort of glossiness but it's more evenly distributed.

Base Material

The base material (blue box) consists of a diffuse color bsdf to control the base color, a glossy Beckmann bsdf to control the glossy color. The roughness that should be slightly below 0.5, everything above gets too evenly distributed and everything below generates too sharp glossy areas. The mix shader should have a factor that puts more stress on the gloss (0.75).

Displacement Material

The displacement material (yellow box) also generates some variation to the diffuse color. The Voronoi Cell Texture with a high scale is always handy when it comes to nice uneven distributed surfaces. It needs a Texture Coordinate node, since it gets generated per object and a Gamma Node to control the intensity.

Material Mix

Both the base material and the displacement material go into a mix shader. The gamma-corrected color value of the Voronoi Texture also gets connected to the displacement value of the Material Output node.

Node Setup

Result


Trying to create shapekeys by moving verts

The gizmo appears at the origin of the object.
Always apply Transforms CTRL A before shape keys because its good to have Ref. points at 0 when starting.
For now, just SET ORIGIN to C.O.M at the object mode.


Transition from one background to another as object moves in front of camera

The main thing is that the plane wing does not provide the full mask alpha that you require to do the transition. You need to create a second mask (either with an actual mask object in the compositor, or by rendering a second object on a separate render layer) that you can add to the alpha from the plane wing.

Please note I've made the "wing" object more irregular shaped so that the effect is more obvious.


I can not find Rotation Numbers in EDIT mode

If you mean the equivalent of the

for edit mode, there's little chance you have one, since it is simply difficult to define.

However, each faces has a Normal, which is a vector that points to the direction the face is facing. To obtain this value, take a look at the link below.

Display values of a normal of a selected face


Half a Diffuse texture comes out as white in render

There was a hidden layer that was over it. I just ALt + H and it popped up


newly made topology not visible from behind

In Viewport Settings, make sure Backface culling isn't checked :


The quality of the PBR material that you are using is quite poor if the image you uploaded is what you're using. I would try something along these lines:

These were found on the popular site Poliigon.
You can probably get away with only using the normal maps and displacement.
As far as unwrapping, I'm not sure what you have to unwrap exactly. It's a wall... just unwrap it like you would any other rectangular object and try to hide seams where possible.


Never mind. I realized that the arrow below the select tool is not a menu to be clicked, but rather is one that must be dragged out. It then lets you change.


blender python module do not work in OSX

I had this exact same issue on Windows.  I had followed the instructions on:

https://wiki.blender.org/index.php/User:Ideasman42/BlenderAsPyModule

I would not have been successful without the help from this page.  But I did find some things that were not quite correct or up to date.

After searching for solutions without success (where I found your post), I decided to inspect the C source code.   The problem was with the line:

xcopy /E bin\2.77 C:\Python35\

Blender expects the files to be in a folder with the version number.  But this line does not do this.  The final version of my update script based on this page was:

REM Script to make the bpy build a python module.  Prior to running this, go in the blender folder and
REM enter "make bpy"
REM See https://wiki.blender.org/index.php/User:Ideasman42/BlenderAsPyModule

copy build_windows_Bpy_x64_vc12_Release\bin\Release\bpy.pyd E:\Python35\Lib\site-packages\
copy build_windows_Bpy_x64_vc12_Release\bin\Release\*.dll E:\Python35\Lib\site-packages\
del E:\Python35\Lib\site-packages\python35.dll
xcopy /E/I build_windows_Bpy_x64_vc12_Release\bin\Release\2.78 E:\Python35\2.78

pause

After doing this, the examples worked perfectly.  This script is for windows and is based on the unique locations I put both Blender's source and Python, but I would think you may be able to figure out your issue from this.

By the way, the steps on this page that indicated to build with:

WITH_PYTHON_INSTALL=OFF
WITH_PLAYER=OFF
WITH_PYTHON_MODULE=ON

appear to no longer be manually required as you could simply type "make bpy" and this takes care of it.

I hope this helps.


How to adjust collision margins for objects encapsulated in one another?

Best idea is to make the cone slightly smaller. And don't forget to turn Shape from Convex Hull to Mesh for both of them.


How to mirror/copy changes to other side of mesh

There are lots of fancy options, but perhaps the simplest and least likely to cause unwanted issues, that will serve you well as a basic tool long into the future, is to just duplicate the vertices and scale by -1.

Please note, you can also just use the mirror tool (see link below), but this method does not depend on having other vertices selected, so it is more versatile.

Delete the vertices on the bad side.
Set the 3D cursor to the middle of the head.
select the good vertices (the mirror of the ones you deleted) (ctrl + shift + M).
shift + D to duplicate.
Set pivot to 3D cursor
s, x, -1 to flip over the X axis.
alt + m to merge the doubles.

Some of the other options are:

Delete half and use mirror modifier.
Symmetrize in edit mode.
Mesh -> mirror ctrl + m in edit mode.


He pressed "G" to grab and then just clicked the mouse.  What that did is give Blender a detectable action.  In other words, if your grabbing then you're probably moving something, so Blender will automatically insert a keyframe at the current frame.  It's a little hacky.

A better (and more deliberate) way to do this, in my opinion, is to press i whenever you want to insert a keyframe.  Just select the action that you want to keyframe.  i works on almost everything, even things like shader nodes.  Using this method prevents you from keyframing things you never intended.

EDIT: There are whole videos and articles dedicated to keyframing.  But I'll add this: by default, Blender will "curve" the value.  In other words, say for instance a car... going from rest to full speed takes time.  In the same way, Blender automatically accelerates to the desired "speed" or value and then decelerates at the end.

You can change the interpolation to be linear in the Graph Editor:


How to connect vertices in a mesh efficiently?

You can create a surface from edge rings using the Looptools Loft tool or use Blender's default operator Bridge Edge Loops.

LoopTools addon

If you don't have the Looptools enabled, enable them through the user preferences:

To use the Loft tool, select your loops in the order you want to connect them (the order is important).

Then either go to the Tools panel on the left --> Looptools --> Loft (as seen in the gif above).

Or: open the specials menu using W --> Looptools --> Loft.

Bridge Edge Loops

Select edge loops, press Ctrl+E > Bridge Edge Loops (or find it in menu of 3D View header: Mesh > Edges > Bridge Edge Loops).


Transparent objects passing through causes a shadow

Use this node setup to disable cast shadows:


How do I create new objects in the current viewport instead of at (0, 0, 0)?

While there is no setting that makes new added objects appear in the center of the current viewport, there is the option to position your 3D Cursor to where you want the new object before adding the object, resulting in the new object being placed where you want it right away. Orientation is by default world-orientation, so keeping that in mind new objects can be placed where the 3D cursor is, but will need to be orientated to your needs afterwards.
To get the 3D Cursor to where you want it, you can either select an object (in which case the 3D Cursor will be able to snap to that objects origin, or in case you need to be very precise, you can also go in edit mode and select a vertex of an object to snap the 3D Cursor to.
The shortcut for the snapping is Shift+S where depending on object or edit mode the options given are different. Selecting the option to Cursor to Selection will reposition the 3D Cursor and new objects added afterwards will be located there as well.
You can also in case there is no object in your view, activate the Cursor mode

With this mode active you can click in your viewport, placing the 3D cursor and thus making that location the position where new object will appear.
To reset the 3D Cursor later just press Shift+C.
Or in case you use addons like "MachineTools", rather press Shift+S and choose Cursor to World Origin.


How do I create an equilateral tetrahedron?

Use the the AddMesh: Extra Objects plugin (to access the user preferences use ctrlaltu):

Now you have to add Mesh-Math Function-Regular Solid

And select Source:Tetrahedron.

For older versions of Blender:
In user preferences  go to "Addons" and enable "Add Mesh:Regular Solids".

And select platonic solids when pressing shifta


Blender 2.91.2: Rendering looks pixelated in Blender's image view (rendering is not pixelated!)

After a day, the problem went away. Maybe a reboot was required?! Anyways, the problem is gone and I don't know what it was.


One of my objects obstructs the others in solid mode

Go into the bun object properties (orange ish square in the properties editor) and uncheck "In Front" if it is on.


Make sure you have the same versions on each computer, otherwise bugs will occur due to properties that are not imported in earlier versions.


This has been answered before here Extrude and bevel an imported svg curve

It's most likely dirty geometry and duplicates/overlapping segments on curve export.
Before exporting from Illustrator or whatever vector drafting software you are using turn off any effects, filters, or outlines that may add additional geometry to the curve.

After importing enter edit mode and check for overlapping vertex or duplicated geometry and remove it.

Edit:

Although upon inspecting your SVG file in Inkscape it does show incomplete (the "S" part seems to be inverted or missing some nodes), I just tried importing it into Blender successfully with no problems.

You mentioned using the solidify modifier, so I'm assuming you converted it to mesh, which may be one of the problems. Try leaving it as a curve and use the builtin bezier tools like extrusion and beveling to achieve the volume and shape desired.
Also your curve seems to be very small, and scaled down. Try scaling it up considerably (in object mode by maybe a factor of 10 000) and afterwards press Ctrl + A Apply > Scale

Then enter edit mode, select all vertex and set their radius to 1 (on the Toolshelf>Tools>Curve Tools> Set Curve Radius button. You can then use the Extrude and bevel modification under the Properties Window > Object Data tab > Geometry

If you ultimately do need to convert your logo to mesh for whatever reason, before you do, go over all the straight (linear, non curved) segments of your logo and turn both their handles to vector by pressing V > Vector.

Illustrator seems to export linear segments in a non standard way with one of the curve handles overlapping its origin vertex, which results in lots of overlapping mesh geometry when converting to mesh, which i turn is what is causing the artifacts with the solidify modifier.


I'd suggest a combination of scaling with Alt + S (Shrink/Flatten) and regular scaling with S. Both in Edit Mode.


Creating a 3D printable 2- part mold which are separable for a curved shell

I posted this similar query in another forum and got some pointers and so I am sharing it here for the benefit of other users. You can read the entire post here but I am summarising it below.

I used the edge vertices to make a land area and then extruded in opposite direction to make a mold. For the other side, I first  extruded the edges in upward direction and then translated the entire mold by same units and repeated the same in other direction.

I am not sure if the final result is printable. But I got close to what I was trying to achieve.


Switch to Vertex Select.
Select center vertex in small star.
Hit CTRL + Numpad +.
Shift + G > Amount of connecting edges.
Switch to Edge Select and delete them.


By following some tutorials on transparency and bump maps plus some trial and error, I found a way to set up the Blender nodes to get the results I wanted.
The photo in the frame is placed behind the border and adjusted to the shape of the frame.

Knowing that transparency is based on a black and white image helped me. I hope someone finds this information useful.


Is there a function to fix edge length in Blender?

For the specific case, You may consider using cloth simulation to preserve the edge length:

Step 1 to 3: Create Unit; mirror + arrays; Apply modifiers + coloring for convenience. (For existing model, you can ignore above)

Step 4: Select all poked vertices, CtrlG to add to a new vertex group, then CtrlH) to add a hook.

Step 5: Add Cloth simulator. use the vertex group as pins.

Step 6: Scale the hook while simulating (playing animation). Then AltC - 2 to convert the result. Finally, delete all unwanted faces.

Example file


Edge Slide

The idea is to pick one of the boundary loops and slide it by pressing GG in order to make it move next to the other other.

In order to use the middle point lines as a pivot, you should create a third loop in the middle with for example Ctrl+R....

...and then slide each loop by the same factor.


I'm unfortunately unable to answer your first questions. Hopefully someone else can explain for you in more detail how that works.

Regarding the keybindings, I have a solution for you. If you don't use all of the standard shortcuts to change Methods to display/shade objects in 3D view, you can easily change one of those shortcuts:

Go to File > User Preferences...
Go to the Input tab
In the list, open 3D View > 3D View (Global)
Scroll down to Context Toggle Values (there should be three of them)
Open one of them that you don't use
Change the bottom Value to MATERIAL (keep the first SOLID if you want to be able to toggle between them)
Click on Save User Settings

If you use all of the shortcuts under Context Toggle Values, then continue from step 3:

Scroll all the way down to the last shortcut in 3D View (Global) and click on Add New
Open your new shortcut (named none)
In the box that says none, type wm.context_toggle_enum and press Enter. The RNA box should have changed to WM_OT_context_toggle_enum
In the Context Attributes box, type space_data.viewport_shade
In the upper Value box, type SOLID
In the lower Value box, type MATERIAL
Set the shortcut to whatever you like. I would suggest Ctrl+Shift+Alt+Z, to not interfere with undoing/redoing (press on the button that says A and check the checkboxes for Shift, Ctrl and Alt)
Click on Save User Settings

And that's it! (I've tested this with Blender version 2.76b.)


Are you talking about auto save or do you mean that when Blender opens up it automatically opens your last saved project?

Anyway go to File Menu > User Preferences > File Tab > Auto Save: on the bottom right

Disable either Auto Save Temporary Files, reduce the number of files, or disable Keep session if when Blender opens up for the first time it automatically brings up the last opened file.

Keep session doesn't really save the changes to you actual work file however, as far as I know the session is saved to an internal Blender file in the user folder in the last state it was before closing. The actual work file in its directory however should be unchanged and hold only the changes up until the last explicit user save.

Beware that some addons do an automatic save of the file on export (like Blend4Web for example) even if you don't save the file, on export it automatically saves any changes without warning the user or specific user consent, resulting in unwanted and unforeseen file saves. If you are using any addons check in it's preferences if there is such setting as 'auto-save'


Use different UV mapping with multiple textures

For the moment, the text and the background texture share the same UV, so what you're doing is just scaling the UV for both the text and the background texture.
If you want to put a text over a background texture without affecting the texture you need to use another method, like mixing the text and background into a Mix Shader with the alpha of the text as factor of the Mix Shader, then create a second UV map for the text and use a UV Map node before the text node with this second UV map selected.


How do I get the filepath when I import a file?

This general implementation for file based actions is to use in-built mix-in classes, bpy.types.Operator, bpy_extras.io_utils.ImportHelper.
ImportHelper & ExportHelper are wrappers for FileSelector.

import bpy
from bpy_extras.io_utils import ImportHelper, ExportHelper

class NifImportOperator(bpy.types.Operator, ImportHelper):
    """Operator for loading a nif file."""

    #: Name of function for calling the nif export operator.
    bl_idname = "import_scene.nif"

    #: How the nif import operator is labelled in the user interface.
    bl_label = "Import NIF"

    def execute(self, context):
        path = "Importing " + self.properties.filepath
        self.report({'INFO'}, path)
        return{'FINISHED'}

Once your class is registered(see below)), it can be invoked via console.

bpy.ops.<bl_idname>('INVOKE_DEFAULT')

bpy.ops.import_scene.nif('INVOKE_DEFAULT')

The addition of the ImportHelper/ExportHelper, a new attribute is defined in the self.properties of the operator (filepath).

In the above, because we did not set that attribute, you will get the FileSelector.
The filepath attribute will be set to the value of the url bar.
Alternative method of invocation via search bar or menu, will produce the same default invocation.

ImportHelper also allows you to pass in an explicit argument "filepath" into the operator.

bpy.ops.<bl_idname>(filepath="")

bpy.ops.import_scene.nif(filepath="C:\\mypath")

This will skip, the FileSelector.
In either scenario, the execute() method defined in your class is then called.
The filepath is now accessible via
    self.properties.filepath

With this now accessible, you can do whatever you want with it, my sample below just reports it to the info bar.

Full Sample

import bpy
from bpy_extras.io_utils import ImportHelper, ExportHelper

class NifImportOperator(bpy.types.Operator, ImportHelper):
    """Operator for loading a nif file."""

    #: Name of function for calling the nif export operator.
    bl_idname = "import_scene.nif"

    #: How the nif import operator is labelled in the user interface.
    bl_label = "Import NIF"

    def execute(self, context):
        path = "Importing " + self.properties.filepath
        self.report({'INFO'}, path)
        return{'FINISHED'}

def menu_func_import(self, context):
    self.layout.operator(
        NifImportOperator.bl_idname, text="NetImmerse/Gamebryo (.nif)")

def register():
    bpy.utils.register_module(__name__)
    bpy.types.INFO_MT_file_import.append(menu_func_import)

def unregister():
    bpy.utils.unregister_module(__name__)
    bpy.types.INFO_MT_file_import.remove(menu_func_import)

if __name__ == "__main__":
    register()


This is how you set up an image texture to use alpha transparency:

(Replace Diffuse shader with any shader that produces the output you want)

You will need to mix in your wood texture either before or after this. Do something like:

(Just use the alpha channel to mix between your wood and image)


Why does my displacement look jagged - Cycles?

Your displacement map does not have enough information to create a smooth result. You should be using images in 16 bit per channel (or higher) and not crappy jpgs (8bit per channel compressed).

On top of that you should not use sRGB for either map, but Non-color. sRGB will distort the map information.

Additional info on the following links:

Which color space should I use for 16-bit maps?

Would a 16-bit image for a bump map have any advantage?

How to get rid of the odd lines shown in the image?


Problem with BMesh Vertex Location Precision

The problem is caused by the fact that vertex locations are stored using 32-bit float numbers. This means that there are only 6 significant figures stored, so accuracy takes a dive with large (or very small) coordinate values.

Originally, I had been storing the actual locations of the vertices in the mesh and then moving them all toward the origin of the Blender scene in one go. I had to re-work things so that the localization (bringing closer to xyz=0,0,0) has to happen before the vertex locations are stored in the mesh.


Why am I not getting a sharp, creased edge?

So it turns out, mediocre to bad topology doesn't sit well with creases. So I fiddled with the topology a bit and achieved wanted results.


I can not install manuelbastionilab from file

"Install from file" expects the downloaded ZIP file.


How do I use Blender's built-in stereoscopic features?

It seems that the render result will always be either anaglyphic or both images overlaid. You can toggle it with one of the icons at the bottom.

Whatever stereoscopic format you choose when rendering doesn't seem to do any difference. It's when saving the result that you can choose the format. The same (or similar) panel is shown when choosing a name to save it as.
(This actually makes more sense since you may want to try out or save to different formats and it would be a shame if you had to render it again.)


One way is to use geometry:

In the scene below, the shadow geometry is simply hidden to the camera in render time and has a grey transparent shader (the color controls the opacity).

Or you can use a texture for a similar effect like so:

Here is simply an image texture with transparent shader.
The light in the scene is a sun lamp.


Calculate surface area of each material?

Extending the answer from surface area of a mesh using Python code in Blender

import bpy
import bmesh

#active object
obj = bpy.context.active_object
# bmesh of active object
bm = bmesh.new()
bm.from_mesh(obj.data)
#material slots
for i, slot in enumerate(obj.material_slots):
    area = sum(f.calc_area() for f in bm.faces
               if f.material_index == i)
    print("Material %d Area %.4f" % (i, area))

bm.free()


Is there a way to convert procedural textures to UV maps without rendering a final image first?

The only way to do this is to bake the render into an image.

Of course this requires you to first unwrap the mesh with non-overlapping coordinates ('Smart project' or 'Lightmap Pack' can help here to save doing it manually).

Note, this process could be automated through a script (probably someone has done this before, its not so hard to do for someone already familiar with our API).

For all selected objects:

Add UV layer
Unwrap.
Bake textures into the image.
Save each image to a name based on the object.


In the end I retopologised the model and it was much cleaner. It was for the best because the result had half the number of polygons. Thanks for the input.

To add more information the topology now looks like this. While it doesn't flow like it used to, it smooths nicely and that is what's important for this.


Beveling 4 edges of a cube to make a nut/bolt head

There are two things that can be happening:

The object has probably been scaled in object mode, but the transformation was not applied (CtrlA in object Mode).

When the transformations are not applied, the scale for transformations in edit mode can get completely out of whack.

Read this related posts:

Why do the measurements of this object seem erroneous?

Why is it important to apply transformation to an objects data?
(probably because of the reasons above) You are using a large bevel value, the transformations are being multiplied by the scale of your object giving you a value that is much larger than the object itself, creating errors.

The fix is applying your scale in object mode, or using Percent as the amount type for the bevel making the transformations, that will allow you to have more control and prevent you  from beveling past 100%.

(But even if you do that. Start getting into the habit of applying transformations in object mode.)


In order to keep hard your edges, use the Crease. You find it on the right

The crease makes your edges purple, in order to show you wich one will remain hard or not.

Usually is set on 0.00 . . . Max it from 0.00 to 1.00 and your edges will keep their shape after a subdivision surface.

For example:
Before subdivision

After


How to add object to a specific layer with Python?

#add to layer 2 first - needs to be on at least one layer
profile_object.layers[1] = True

#wipe other layers
for i in range(20):
    profile_object.layers[i] = (i == 1)


How do I know if I have a selected keyframe using python?

It seems there is no direct way to get a list of the selected key frames but you can loop through them and check point by point:

for one object and current action :

import bpy

obj = bpy.context.object
action = obj.animation_data.action

for fcurve in action.fcurves :
    for p in fcurve.keyframe_points :
        print(p.co[0], p.select_control_point )

more detailed :

import bpy

obj = bpy.context.object             #active object
action = obj.animation_data.action   #current action

print(action.name)
for g in action.groups :
    print("",g.name)
    for channel in g.channels :   # channel is fcurve
        print("  %s[%s] :"%(g.name,channel.array_index))
        for p in channel.keyframe_points :
            print("    is selected at frame %d %s"%(p.co[0], p.select_control_point ))

for the whole scene you cane use :

for action in bpy.data.animation_data.actions :

for the action editor or dopesheet :

import bpy

for area in bpy.context.screen.areas:  #loop through areas
    if area.type == 'DOPESHEET_EDITOR':   #find the dopesheet
        dopesheet = area.spaces[0]
        print(dopesheet.type)
        action = dopesheet.action
        for fcurve in action.fcurves :
            for p in fcurve.keyframe_points :
                print(p.[0],p.select_control_point)


Just connect mapping node and texture co-ordinate node to your image texture as shown in screenshot below and scale the texture to your desired size


How can I make these objects in the shape of a circle

Simple deform modifier seems well suited for this job.

Set it to Bend
Choose desired axis (Z in my example)
Enter a 360° angle (full circle)


How to have skeleton/armature change with shape keys?

For the eyes consider adding a vertex group for a eye [bone].  This should dominate any envelope influence if the [multiply] option is disabled.

Link to Blender documentation

https://docs.blender.org/manual/en/dev/rigging/armatures/bones/properties/deform.html#armature-bones-envelope

Multiply

This option controls how the two deforming methods interact, when they are both enabled. By default, when they are both active, all vertices belonging to at least one vertex group are only deformed through the vertex groups method


Only render Frames with Markers (one camera only)

Sort of compilation from various answers (only tested in 2.79):

import bpy

scene = bpy.context.scene

# get existing output path
fp = scene.render.filepath

# set output format to .png
scene.render.image_settings.file_format = 'PNG'

marker_frames = [m.frame for m in scene.timeline_markers]
#print(marker_frames)

for m_f in marker_frames:

    # set marker as current frame
    scene.frame_set(m_f)

    # set output path so render won't get overwritten
    scene.render.filepath = fp + str(m_f)
    bpy.ops.render.render(write_still=True) # render still

# restore the filepath
scene.render.filepath = fp


I've created extruded objects and they don't seem to behave correctly

Okay, I managed to figure it out. Basically all the faces were facing the wrong way on these extruded objects. So, opening them in edit mode, selecting all the faces then hitting Ctrl-N cleared it up, and the booleans are now working properly!


How to obtain a precise stroke in dynamic topology?

There are two settings that effect what you are trying to do.

The detail type method in dyntopo effects the way the detail size is calculated. Relative detail uses the onscreen pixel size as set in detail size when creating new edges and will give more detail the closer you zoom into your model. Changing to constant detail will use the same edge size as you zoom in and out. With constant detail the detail size is defined as "a percentage of blender units in object space", which means the objects scale property also plays a part in the size of the new edges.

The other option that will effect this is the brush radius. At the end of the radius slider there is a little padlock, enabling this will provide the same brush size relative to the model as you zoom in and out. The size is determined when you enable the padlock.


How to smooth/fillet a shape imported from SVG

This is probably happening because of very narrow triangles going back-and-forth across the surface.
I might try using Beautify Faces if you are willing to convert it to mesh, but if you don’t want to do that, try the Remesh modifier with various settings.


Error baking rigid bodies before rendering

Another way you could do it is:

def render_scene(self, file_name):
    bpy.data.scenes[0].render.filepath = os.path.join(self.output_path, file_name)
    bpy.ops.ptcache.bake_all()
    bpy.ops.render.render(animation=True)


How to select components through the Transform Gizmo?

In the Keymap Preferences there is the option Activate Gizmo...   this needs to be set to Drag and not Press.

However, it seems there is a bug that can make this entire preferences section disappear from the Ketmap preferences.


Strengthen normal (bump) map in Blender Internal rendering engine?

Main control is the Normal value in the Geometry section of the influence tab in the texture properties panel. Other than that, you can play with the contrast control of the texture slot.


Add object and shadow over a background using the compositor

In my opinion you are overcomplicating things.

Since you are using the new shadow catcher feature available in 2.78.5 you don't need to do much.

Set the plane that will receive the shadow, and set it to be a shadow catcher in Cycles Settings> Ray Visibility.

The rendered image will have the shadow and the rest of the plane will be transparent:

Then just overlay the rendered image onto your background using Alpha Over:


You can always look at your command history, open a Python Console next to it and copy/paste the commands.

If you want something more GUI-like, you'd have to get into a Python Addon.


Scale object and keep relative camera angle

Ah, silly me. I had the pivot point set to 'individual origins,' but setting it to 'median point' solves my scaling issue.


Rigging, can not rotate the bones. Rigify Pitchipoy

It is possible that for some reason or another, when you generated controls, a limit rotation constraint was placed on the bones.  If this is the case, when you go to pose mode, select a bone that won't rotate, and look at the bone constraints panel, you might see something like this.


Problem with actual rendering and rendering view

Nothing wrong with the particles, but Squirrel gave the idea with the eyes not being visible. Yep the whole head is hidden behind giant Metaballs. Who would have thought!? Well I guess we can all sleep easier now :)

Going to guess you have a mean machine to handle all those particles - but if you want less effort when working you can dial the Display down to something easier like 10. Keeping the display and Render at the same amount can be taxing...

p.s. Either drag the Metaballs elsewhere or switch them to visible and move to another layer or turn off the Camera for each one...


how to bake Sun Position into Sun object animation

Simpler than I thought:
sun = bpy.data.objects["Sun"]
sun.select_set(True)
bpy.ops.nla.bake( frame_start=1, frame_end=10, bake_types={'OBJECT'} )


Imported .FBX file from fusion opens with multiple dotted lines and empties, I can't remove them without changing the objects' allignments

The dotted lines are relationship lines. They mean that one of the object is the parent of the other, which in turns means that if you transform (move, rotate, scale) the parent object, all its child objects will have the same transformation applied.
You can "unparent" objects by selecting them and then using either :

The shorcut ALT + P then choosing "Clear and keep transformations"
Object (top or bottom bar of you 3d view) > Parent > "Clear and keep transformations"

Then, the relation lines should disappear and you can freely delete your empties.

I would advise selecting ALL your objects in the scene and unparenting them all at once while keeping their transform.


Model looks bulky with smooth shader, don't want to subdivide further, would a normal map made from a high poly version make it look better?

A normal map will definitely do what you are thinking of, however once you add a texture to your object you will not notice the 'bulkiness' of your object nearly as much. In fact, I would suggest optimizing your model more by removing some vertices, as adding a texture and normal map will make a lot of them unnecessary. One thing to keep in mind is that triangles are not a bad thing in game models, so use that to your advantage when adding or removing vertices.

When adding a normal map, keep in mind that you can add more details such as creases in the skin, skin texture, scales, etc. For the high poly mesh you will bake the normals from I would suggest using a multiresolution modifier instead of a subsurf and sculpting in as many details as you can before baking.


Can't paint with texture while in single picture

When looking at your settings from the screenshot you showed me, I noticed that the color on your color picker was set really dark.  That is probably the reason why it is coming out as this dark brown color.  If you set the color picker all the way up to white, it should paint onto the mesh in it's full vibrancy.

hope this helped!  If you encounter further problems, let me know : )


Because you have created a Texture brush, and it was black, you need to close it:


Crease tool bug? No activity when I try to Crease in Sculpt mode

This is not a bug rather than expected behaviour caused by the empty texture applied as a sculpted mask:

The mentioned option is in the brush settings on the Toolshelf > Texture rollout.

Note that there isn't anything assigned to that texture so it's counted as black which means zero effect of the brush (while white is full). Probably that texture was created unintentionally when pressing on the New button accessible if texture isn't assigned to the brush.

To retrieve usual brush effect delete texture from the brush settings by clicking with mouse on the 'X' button next to the texture name (or assign an image file to the brush in the Properties editor > Texture tab).


I encountered this same problem today. I think the real solution is to use something like the cut-away shader mentioned in the comments, but there is a bit of a hack which worked for me.

Basically, if you play through the animation quickly, EEVEE is very useful for this, there are a relatively small number of frames where the boolean seems to have no effect at all. If you just jiggle the boolean a tiny bit, either by slightly changing the position, scale, etc., it will fix the problem. Then, you can just keyframe the change you made and keep walking though the animation fixing any problem frames.

This is definitely a hack, which is why using some other method is preferable, but it works well enough and is very easy. You will want to play back through the animation before rendering, however, as it is possible one of the new keyframes you introduced caused the boolean to have the same problem in an earlier frame. This happened for me on one frame, and after keying this away, the animation worked fine.


This seems to be a shading issue.
Try these things in this order.

Enable Clamp Overlap
Enable Harden normals
Enable Mesh > Autosmooth


Blender 2.92 Fluid / Gas simulation not working

If you baked the simulation, you first have to delete the bake and then bake it again after your movement.


How to lower/higher one surface without the neighboring surface making weird stuff

What you are looking for is called extruding in Blender (and most other 3d software).

Select the faces you want to extrude in edit mode and press E. In this case, the face will extrude along the z-axis. press  RMB to confirm the position.


Repeat Last (Shift+R) should do the trick:


Here's an answer with a short little gif to show what I meant in my comment.
You can unwrap parts of the mesh at a time and they will stay in place.
Hope this helps!


How do I stop the Compositor Output Node from overwriting my images on each new render?

Thinking ahead, you want the Output Path in sync with all the File Output Nodes of the compositor.

I think one easy way to solve this is adding a 'version number' to all output paths (as usual) and keep all file names in sync. Here is a quick'n dirty Add-on to address that. Once you add v and some arbitrary number to the Output Path, a new 'slider' appears in the Output Area, which allows to change the actual version string on the fly.

render_version.py

# ##### BEGIN GPL LICENSE BLOCK #####
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software Foundation,
#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####

bl_info = {
    "name": "Render Version",
    "description": "Output version number control",
    "author": "p2or",
    "version": (0, 0, 2),
    "blender": (2, 80, 0),
    "location": "Properties > Output > Render Version",
    "warning": "", # used for warning icon and text in addons panel
    "wiki_url": "",
    "tracker_url": "",
    "category": "Render"
}

import bpy
import os
import re
from sys import platform
import webbrowser

# ------------------------------------------------------------------------
#    Scene Properties
# ------------------------------------------------------------------------

def rv_update(self, context):
    context.area.tag_redraw()
    scene = context.scene
    render = scene.render

    # Replace the render path
    render.filepath = version_number(
            render.filepath,
            scene.rv.rdr_ver
        )

    # Replace file output
    if not scene.render.use_compositing or \
        not scene.rv.sync_comp or \
        not scene.node_tree:
        return

    nodes = scene.node_tree.nodes
    output_nodes = [n for n in nodes if n.type=='OUTPUT_FILE']

    for out_node in output_nodes:
        if "LAYER" in out_node.format.file_format:
            out_node.base_path = version_number(
                out_node.base_path,
                scene.rv.rdr_ver)
        else:
            for out_file in out_node.file_slots:
                out_file.path = version_number(
                    out_file.path,
                    scene.rv.rdr_ver)
    return None

class RVSettings(bpy.types.PropertyGroup):

    rdr_ver : bpy.props.IntProperty(
        name = "Render Version",
        description="Render Version",
        default = 1,
        min = 1,
        update = rv_update)

    sync_comp : bpy.props.BoolProperty(
        name = "Sync Compositor",
        description="Sync version string with File Output nodes",
        default = True)

# ------------------------------------------------------------------------
#    Operators
# ------------------------------------------------------------------------

class RVOpenOutputDirectory(bpy.types.Operator):
    """Open up Output Directory in File Browser"""
    bl_idname = "rv.output_directory"
    bl_label = "Open Output Directory in File Browser"
    bl_description = "Output Directory"
    bl_options = {'INTERNAL'}

    def execute(self, context):
        fp = os.path.dirname(context.scene.render.frame_path())
        try:
            if platform.startswith('darwin'):
                webbrowser.open("file://{}".format(fp))
            else:
                webbrowser.open(fp)
        except OSError:
            self.report({'INFO'}, "No Folder")
        return {'FINISHED'}

class RVOutNodesCleanup(bpy.types.Operator):
    """Remove version strings from File Output Nodes"""
    bl_idname = "rv.remove_version_strings"
    bl_label = "Remove Version Strings from File Output Nodes"
    bl_options = {'REGISTER', 'UNDO'}

    @classmethod
    def poll(cls, context):
        space = context.space_data
        return space.type == 'NODE_EDITOR'

    def remove_version(self, fpath):
        match = re.search(r'(v\d+)', fpath)
        delimiters = ("-", "_", ".")
        if match:
            head, tail = fpath.split(match.group(0))
            if tail.startswith(delimiters):
                tail = tail[1:]
            fpath = head + tail
            return fpath[:-1] if fpath.endswith(delimiters) else fpath
        else:
            return fpath

    def execute(self, context):
        scene = context.scene
        nodes = scene.node_tree.nodes
        output_nodes = [n for n in nodes if n.type=='OUTPUT_FILE']

        if not output_nodes:
            self.report({'INFO'}, "Nothing to operate on")
            return {'CANCELLED'}

        for out_node in output_nodes:
            if "LAYER" in out_node.format.file_format:
                out_node.base_path = self.remove_version(out_node.base_path)
                for layer in out_node.layer_slots:
                    layer.name = self.remove_version(layer.name)
            else:
                out_node.base_path = self.remove_version(out_node.base_path)
                for out_file in out_node.file_slots:
                    out_file.path = self.remove_version(out_file.path)

            scene.rv.sync_comp=False
        return {'FINISHED'}

# ------------------------------------------------------------------------
#    Drawing
# ------------------------------------------------------------------------

def draw_rv(self, context):
    """Append Properties and Operators to the Output Area"""
    rv = context.scene.rv
    if re.search("v\d+", context.scene.render.filepath) is not None:
        layout = self.layout
        #col = layout.column()
        row = layout.row(align=True)
        row.prop(rv, "rdr_ver") #NODE_COMPOSITING
        row.prop(rv, "sync_comp", text="", toggle=True, icon="IMAGE_RGB_ALPHA")
        row.operator(RVOpenOutputDirectory.bl_idname, icon="DISK_DRIVE", text="")

# ------------------------------------------------------------------------
#    Helper
# ------------------------------------------------------------------------

def version_number(file_path, number, delimiter="_", min_lead=2):
    """Replace or add a version string by given number"""

    match = re.search(r'v(\d+)', file_path)
    if match:
        g = match.group(1)
        n = str(int(number)).zfill(len(g))
        return file_path.replace(match.group(0), "v{v}".format(v=n))

    else:
        lead_zeros = str(int(number)).zfill(min_lead)
        version = "{dl}v{lz}{dl}".format(dl=delimiter, lz=lead_zeros)
        ext = (".png",".jpg",".jpeg","jpg",".exr",".dpx",".tga",".tif",".tiff",".cin")

        if "#" in file_path:
            dash = file_path.find("#")
            head, tail = file_path[:dash], file_path[dash:]
            if head.endswith(delimiter):
                head = head.rstrip(delimiter)
            return "{h}{v}{t}".format(h=head, v=version, t=tail)

        elif file_path.endswith(ext):
            head, extension = os.path.splitext(file_path)
            if head.endswith(delimiter):
                head = head.rstrip(delimiter)
            return "{fp}{v}{ex}".format(fp=head, v=version[:-1], ex=extension)

        else:
            if file_path.endswith(delimiter):
                file_path = file_path.rstrip(delimiter)
            return "{fp}{v}".format(fp=file_path, v=version)

# ------------------------------------------------------------------------
#    Registration
# ------------------------------------------------------------------------

classes = (
    RVSettings,
    RVOpenOutputDirectory,
    RVOutNodesCleanup,
)

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

    bpy.types.Scene.rv = bpy.props.PointerProperty(type=RVSettings)
    bpy.types.RENDER_PT_output.append(draw_rv)

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

    bpy.types.RENDER_PT_output.remove(draw_rv)
    del bpy.types.Scene.rv

if __name__ == "__main__":
    register()

Gist: https://gist.github.com/p2or/cff74514f467034a03177871dbc8912b


Blender 2.8 - Particle Instance not rendered

I know this is kind of old at this point but I just figured out this issue so I'm going to post how to make all the particle instances show up in case someone in the future needs help figuring it out.

In the Particle Instance modifier properties there is a check box for "Create Along Paths". Just make sure that is checked and they will show up. Easy fix that might not have been there in the betas for 2.8 but some of the tutorials I've watched so far seem to have left out this important part.


How can i make more realistic lighting/materials

You'll need something to be reflected.

If your world is just black, there is nothing to be reflected by your material.

As suggested by Gonzou, I'd try a HDR / IBL image.
Alot of those Images can be found here:
http://www.hdrlabs.com/sibl/archive.html

Those will lighty your scene / object and so there is something to be reflected.

Speaking of materials i'd suggest this tutorial:
https://www.youtube.com/watch?v=rzXNZkEoTAk

It's quite helpful to get a bit more interesting looking materials.


Using Python to add an HDRI to world node

Similar to How to load an image from disc and assign it to a newly created image texture node? use BlendDataImages.load() to load and assign the image to the Environment Texture node:

import bpy

C = bpy.context
scn = C.scene

# Get the environment node tree of the current scene
node_tree = scn.world.node_tree
tree_nodes = node_tree.nodes

# Clear all nodes
tree_nodes.clear()

# Add Background node
node_background = tree_nodes.new(type='ShaderNodeBackground')

# Add Environment Texture node
node_environment = tree_nodes.new('ShaderNodeTexEnvironment')
# Load and assign the image to the node property
node_environment.image = bpy.data.images.load("//hdri.exr") # Relative path
node_environment.location = -300,0

# Add Output node
node_output = tree_nodes.new(type='ShaderNodeOutputWorld')
node_output.location = 200,0

# Link all nodes
links = node_tree.links
link = links.new(node_environment.outputs["Color"], node_background.inputs["Color"])
link = links.new(node_background.outputs["Background"], node_output.inputs["Surface"])

Related: Control Cycles material nodes and material properties


Stencil scale along x - Texture Paint mode

You have to press Shift+Right mouse button, then while still holding these click on X to scale horizontally and Y to scale vertically.


The Transfer Weight function has some parameters (the values are not visible in your video).

By default, i have these parameters :

For you want to do, try this one for the source layer selection :

That will allow to create groups with the same names you have in the character model.

If this still dont work correctly, try to change the vertext mapping and the ray radius value (as your two meshes does not fit exactly) :

Anyway you'll probably need to try values and adjust them so that is corresponds to what you want.


Twist an object along multiple axes like a roller coaster path

You need to model one segment of the repeating pattern of the roller coaster track, and then add an array modifier and a curve modifier.

The important thing is to make sure you align the first control point in the curve with the object origin of the mesh object. Also, you can set the array length to be based on the length of the curve as well.


Fill Brush with Radial Gradient not working with Project Paint

I think that actually we need to think in regards to how to arrive at the radial gradient dots on the target image. The gradient fill brush is going to fill the whole image, and works from clicking somewhere in the image and pulling away from center to create a radial gradient fill.

My preferred way to do this is to use a Blend texture set to radial, and in the brush settings I set it to stroke type 'Anchored' and change 'Tiled' mapping to 'View Plane'. Define your gradient there in the place in the texture panel marked 'color' and then set your stops to the colors of your choice. If you already have a gradient worked out, hover over it and press ctrl-C to copy it, and hover over this color ramp and press ctrl-V to paste it in. Click in the image area on your mesh, and the dragging away you should get a preview of the colors and size before release.


How to make a procedural planet material with varied roughness of land and water in Cycles with Blender 2.8?

Take the factor node output of the noise texture and feed it into a color ramp object. Take the color output of the color ramp and feed it to roughness of the principled shader. Use the color ramp object to create a sharp gradient that cuts off at the same point as your land.  You can use the same color ramp to set a lot of different properties, granting you sophisticated control over land vs sea.

You can use a more complicated ramp to vary the land behavior vs altitude and other subtle shading effects.


Shadow Sun Object data Propertie doesn't have softness setting

I believe this setting has been changed to a global setting recently. You can find it in the render Settings, then the Shadows Subpanel, and the "Soft Shadows" checkbutton.


Only duplicated an object, but on attempt to change its own texture, it simultaneously affects the texture of the object I sourced it from

When you duplicate an object you are not creating a new material.
Both objects share the same one.

You need to assing a new material to the copied objcect.

To the right of the material's name you will see a number, it indicates how many ojbects are sharing a material (in this case 2). If you click on the number you will create a copy of the material and assign it to the object.

Changing the material now will result in no changes on other objects.


How do I add UV coordinates to a procedurally generated texture?

Noise Texture uses Generated coordinates, which often cause stretching.
You have three ways to correct it:

Use a Mapping node to correct the stretching
Use your UV map coordinates
Use Object coordinates


What is the fastest way to add a poly frame to a window hole?

Use the Inset tool in Outset mode. Then extrude and delete the inner face.
Outset will create new faces around the selected face.

Avoid using booleans, they will create bad topology.


Select inline verts.
Quick edit mode bmesh script. Run in vert select mode.  Selects all vertices connected to 2 edges that have an angle of within 2 degrees of  180 degrees.  Think of it like a clock, and the angle between the two hands with respect to the clock centre.
import bpy
import bmesh
from math import pi, radians

context = bpy.context

ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)

def is_inline(vert, eps=1e-4):

    o = vert.co
    e0, e1 = v.link_edges
    v0 = e0.other_vert(vert).co - o
    v1 = e1.other_vert(vert).co - o
    return pi - v0.angle(v1) < eps

for v in bm.verts:
    v.select_set(
            len(v.link_edges) == 2
            and is_inline(v, eps=radians(2))
            )

bmesh.update_edit_mesh(me)


Can you add geometry to a mesh over time (frames) with Python?

One way is to use the Sapling addon to create a tree. The addon needs to be enabled first in the User Preferences

After the settings were adjusted.

Convert it from curve to mesh Alt-C

Add a Build Modifier to the stem and another one to the leaves, you might want to add a few more loop cuts Ctrl-R to the stem so that the segments are displayed one by one.

To let the plant grow scale it down say 10% on frame 1, 50% on frame 10, 100% on frame 20
Set the Build modifiers start frame to 20 and 30.

Result:

.blend


How to make jagged geometry smooth/diagonal?

This is a bad topology with high poly count and work with this becomes hard and more inefficient.

You will need to adjust many things manually because the tools works based on topology of your mesh and if it has a bad topology, then, the tools have bad results too:

But using the Relax tool from the Loop Tools addon maybe you can solve your problem:

Loop Tools addon already inside in blender and to enable it go to Edit > Preferences > Addons and search for "loopTools"

Now you can use the Relax tool:

N panel > Edit > LoopTools > Relax


How to display all mesh wire in flats faces?

You need to use the draw all edges checkbox. It is directly under the wire checkbox!


To use Glossy node and change color to pink?


I cant select only one active object in blender

Your objects are probably linked to each other, so when you change one of them you change the others too

If you select one  of those objects you should see in the object data tab that near the mesh name there is a 2 or another number: that means that there are 2 (or more) objects that share that mesh.

To solve it, click on that "2" button or in the 3d viewport choose Object>Relations>Make Single User> Object and Data


When you say you generated this collada file, I am assuming your writing the script/program that generated it.

Within the library_visual_scenes you need a node surrounding the instance_geometry to define and position the object using the mesh.

<node id="Gem" name="Gem" type="NODE">
  <matrix sid="transform">0.92 -0.03 0.37 -0.38 0.14 0.95 -0.26 0.28 -0.34 0.29 0.89 0.64 0 0 0 1</matrix>
  <instance_geometry url="#Body__Mt_Body-mesh" name="Gem">
    <bind_material>
      <technique_common>
        <instance_material symbol="Mt_Body-material" target="#Mt_Body-material"/>
      </technique_common>
    </bind_material>
  </instance_geometry>
</node>


That's absolutely possible.
Keep all the cameras in one place and only change the X Shift.


How to choose a 1 camera out of 2 cameras in the scene to align using CTRL + ALT + 0?

Solution:

Select the camera you want to align to the view port.
View > Cameras > Set active object as camera
Align the view you want in your view port and press CTRL + ALT + 0

It will align the camera made active to the view you wanted.

Thanks to Dan for pointing another thread that helped me get my answer.

Good Day,
W


Can the focal length be changed while animating?

Yes, you can. The Focal Length field can be keyframed with the I command just like any other field. Hover the mouse over the field and press the I key to insert a keyframe at the current frame of the timeline.


How to export a model in blender along with the node setup?

You will have to bake your displacement into an image and use it in a displacement modifier to create an actual mesh that will be exportable to something like Unity.

Unfortunately the displacement generated from nodes won't become baked geometry, you can follow this video tutorial for the workaround.

https://youtu.be/McALCOr39rY