Creating an Array Rotation I'm having trouble creating a Rotational Array. First I transform the object, a UV Sphere, along the Y axis to the radius I want the array to have. I add an Empty at the world origin. I choose the UV Sphere, and start to add an Array Modifier. I set the offset to 0,0,0. The number of copies I set to 8. I enable Object Offset and choose the Empty. And this is where the problem starts. I had planed to then rotate the Empty by 45 degrees, but before I can do that 8 copies of the UV Sphere appear in a straight line with the first copy centered on the vertical axis of the Empty. What am I doing wrong?

If you want to have an Array going around a rotation you need to create a Curve that it can follow. For example you add a Circle.  On your Array Modifier you only set the Count and enable the Relative Offset the other fields stay at default. Now you add a second Modifier which is called Curve and select the added Circle as Object.

Here is an example file:


How do I obtain an untriangulate rendered image in Cycles? I have an object that is only triangulated in rendered view, so how do i un-triangulate this object for the rendered view?

Go to edit mode and Press Alt+J or Press Ctrl+F and select Tris to Quad


Adding Thickness to a 3D Textured Plane in Blender I created a 3D textured plane in Blender and I want to increase the thickness so that I can 3D print it. So, I just need to basically extrude it so that in stead of a rectangular plane, I will have a cube/rectangle (three dimensional) with the 3D texture on one face.

Use the displace modifier on your plane, setting the texture to your aforementioned texture. You'll need to have enough vertices on the plane for this to work - if it's still just a 4-vertex plane, either subdivide everything multiple times in Edit mode or add a higher Subdivision Surfaces modifier before the Displace modifier. Play around with the setting until your texture is elevating itself nicely out of the plane without crashing your computer (or your 3D printing company's limits).

Then in edit mode select all the vertices down (E key) and after extrusion scale all of them to end on the same height so they form a flat surface to make your box.


How can I create a "pin and catch" for my 3d print so it will fit in my printer and connect Ignore the netfabb program. I wanted to use it to show what I was trying to do in blender. My printer can not fit the whole print so I wanted to print in sections using a "pin" method so it fits right.

What ideas would you guys have to separate the sections? I was thinking a square pin on one side and a square hole on the other? I bet there are better ways also that you know of.

Also, would i be able to keep each piece in the same file in case I wanted to scale it to a different size in the future and export each piece as a different stl file?

I don't know how to do this and could use a walkthrough!

Thanks!

Answering the second question first, yes, you could keep all of the component parts in a single file. But depending upon the printer driver software you intend to use to print your creation, you may have to export the various parts out individually to separate files for printing purposes.

Looking at your blend file, and your question, your proposed 3D object will not print very well on the 3D printing systems I am familiar with, if subdivided according to the illustration in your question.

The first challenge I see is your stated proposal to use a "square pin ... and square hole". Depending upon how you intend to orient the pins and holes, I see this as a potential challenge because 3D printers do not print horizontal "square holes" well. You'll need a different method--or methods-- of joinery.

The second challenge I see in the ~.blend file I downloaded is the slot in the ring opposite the two "ears". The slot is a "hole", which again, cannot be produced on a 3D printer.

The third challenge is in the shape of the ears. The 3D printers with which I have slight familiarity require a flat surface on which to form the object to be printed; they can't print an overhang.

In the absence of information on the intended size, this image
(source: core.com)   shows how I would divide the item for 3D printing. First, I'd divide the item in two along the vertical plane shown by the blue line in both sides; then I'd further divide the item along the plane shown by the yellow line, creating four sections: two of the half with the ears, and two with the half with the slot. I'd place the two sections with the ears so that the part of each section co-incident with the yellow horizontal plane is on the printer bed. With the half with the slot, I'd place the two sections with parts of the slot on the printer bed so that the outside of the piece is along the printer bed.


Animation nodes list remove bug? Maybe this is meant not to work but when I try to remove an element from a polygon indices list, the an shows me an error. Same thing if I try to loop to fake a list copy

Here for example I want to remove the 4th and seventh faces from the polygon index lists, and it shows me the red border.

Can someone explain why this is happening? I don't see any clear reason.
Also the remove list element node works perfectly for edge indices and vertices locations

I am using a cython version of an, maybe this is the problem

There are 8 polygon indices in the list, their elements indices ranges between 0 and 7.

When you removed the polygon indices at index 4, you actually removed the 5th element not the the 4th (because indices starts from zero). Anyway, now you have 7 polygon indices that their elements indices ranges between 0 and 6, you are trying to remove the element at index 7 (8th element) which doesn't exist. Thats why there is an error, not sure why it is fatal though.

So, if you want to remove the 5th and 7th element, remove the element at index 4, then remove the element at index 6.


Copy keyframes ending on current frame New to blender sorry if it sounds silly. In video editing I would like to copy a bunch of keyframes and paste them so that the last keyframe in the selection happens on the current frame. So like regular pasting but instead of starting at the selection the paste should end at the selection, is it possible?

EDIT: Okay I've managed to put in picture what I am looking for. In the following image, I want to select the red dots, move to frame 7460 and them cloned where the green dots are; so that the keyframes in buffer are pasted ending at the current frame. Hope this helps.

Not sure if this is what you are asking, but you can try this. Switch to the Dope Sheet so you can see all your keyframes. Select the one you want to duplicate, hit SHIFT+D and the drag the mouse to where you want it to go. You can also SHIFT+select to duplicate multiple keyframes.

In your case, just move move the duplicated keyframe to the end of the timeline.

NOTE: I think the best option for you would be to type in a number instead of dragging your mouse. EG: typing "10" will move the keyframe 10 frames ahead. Subtract the target frame (the one you want to move the duplicated keyframe to) by the start frame (the frame you are duplicating it from).


How to maximize any of the views in quad view? I am new to blender. Pressing ⎈ Ctrl⎇ AltQ opens the quad view. How to maximize any one of the four views of the quad view?

The quad view exists so that you can see all the views at once.

Instead of thinking of it like maximizing one of the quad view windows, think of it like aligning the user controlled view to an axis.

Numpad 1 snaps user controlled view to front view
Numpad 3 snaps user controlled view to side view
Numpad 7 snaps user controlled view to top view

Holding ⎈ Ctrl will snap to the opposite direction of the axis, so ⎈ CtrlNumpad 7 snaps to bottom view.

Numpad 5 toggles perspective/orthographic view.

Also see the wiki for more information on navigating the 3D view.


Discrepancy in Rendering from original model When I have modeled and animated my project my 3d view looks like this:

While my rendering looks like this:

As you can tell the crown is distorted the pearls are being lifted off the crown and the points on the crown are no longer pointy. Why is this happening/how do I fix it?

Thanks!

I would guess (can't tell for definite without a blend file) that you have a Subsurf Modifier set to be off in the 3D view but on for rendering.

Go to the modifiers panel by clicking the blue spanner/wrench and then see if you have any modifiers.

If the modifier is set to be off in the 3D view then the 'eye' icon will be disabled. Disable the 'Show in render' button (camera icon) to disable the modifier or press the 'x' button to remove it.


How insert vertex in face? how to insert vertex in a face? and that the face is divided forming other faces

Use poke faces

From the blender manual:

  Splits each selected faces into a triangle fan, create a new center vertex and create triangles between original face edges and new center vertex. The Offset can be used to make spikes or depressions.

You can then choose to offset the newly created vertex.

In versions previous to blender 2.8 the shortcut is ⎇ Alt + P.


How can I soften these edges? I would like to soften the hard edges of this shape (the edges selected). I tried to extrude the edge and scaled it down but because edges are not on the same plane it doesn't work. Can't add loopcut too. Thanks .
PS this question is the following of "How can I keep hard edges with this shape?"

@Neil Giliomee thanks but unfortunately I cannot add a Loop Cut. Here what happens. Loop Cuts don't reproduce the shape of the edges.

The result after having applied two Loop Cuts.

I created a rough remake of your shape

Start by adding a loop cut as shown

Add another loop cut here

The SubSurf modifier will work much better now


Is there a way to display the framerate in the BGE standalone runtime/EXE? I'm going to be handing out the package/runtime for different people on differing hardware to test, and I'd like to be able to display a framerate counter in a corner during the running of the standalone runtime. I can do this in the 'standalone' player within Blender, but not the 'exported' runtime outside of Blender.

Have a look at the blenderplayer arguments

blenderplayer.exe

usage:   blenderplayer.exe [--options] filename.blend

Available options are: [-w [w h l t]] [-f [fw fh fb ff]] [-c] [-g gamengineoptions] [-s stereomode] [-m aasamples]
Optional parameters must be passed in order.
Default values are set in the blend file.
...
  -g: game engine options:

       Name                       Default      Description
       ------------------------------------------------------------------------
...
       show_framerate                 0         Show the frame rate
...
example: blenderplayer.exe -w 320 200 10 10 -g noaudio c:\filename.blend
example: blenderplayer.exe -g show_framerate = 0 c:\filename.blend
example: blenderplayer.exe -i 232421 -m 16 c:\filename.blend


Is it possible to unhide only part of a mesh? So I'm working on a mesh with sub-meshes, and as I work on various bits of the project, I hide other parts to make it easier to see what I am doing.

So I work on one thing and hide a few predefined vertex groups and a random group of vertices, and do more work.
Now I want to make a change to one of the vertex groups, and I'd like to unhide only that vertex group.

I haven't found a way; has anyone else? Is this worthy of a feature request?

I think you might be interested in the Mask modifier.

This modifier will hide everything except the specified vertex group, or the other way around if you have the invert icon selected. To hide multiple vertex groups, you can add multiple modifiers:

Make sure the modifier is enabled in edit mode (triangle icon).


Something wrong with my tracking markers? I've been trying really hard to track down some footage (wanted to add a little character right next to the dude) but WHENEVER I try to set the floor for the 3D environment in the composition using three of the many trackers I end up with the camera getting too far from the subject, and rotating in a crazy way. And this happens with all different selections I make with the trackers!
We tried filmming in different locals and positions (even indoors) but we always get to this point where the trackers set to floor simply bug the hell out of the camera. Could anybody help? On the right side of the picture it shows how far it is from the default cube and plane, and you can see by the rotation axis that it is the complete opposite of what it should be.
Thanks in advance!

This seems your solve error is fine.
Did you set the scale? if not ...
Under Solve Panel
their si Orientation Panel
Scene orientation tools can be used for orienting object to bundles.
Floor
Use selected three markers to define a floor. Camera will be transformed in a way which makes the selected markers to be flat (have Z = 0).
Wall
Similar to the floor orientation, but defines a wall (selected tracks are placed onto OXZ plane).
Set Origin
Transform camera in a way which makes active track to be moved to a scene origin. Only translation is applied to the camera.
Set X, Y Axis
Transform camera in a way which makes active track to become on X or Y axis. No translation is applied, meaning scene origin which was specified before will be preserved.
Set Scale
Scale camera or tracking object in a way which makes distance between two selected tracks match the given value in Distance.
Apply Scale
Similar to Set Scale, but actually modifies the tracking data.
Distance
Distance in active scene units which is used by Set/Apply scale.
...  I hope this will fix the scale..


How can we fake landscape erosion? Blender's landscape fractals are pretty basic but erosion, as from decades of rain, can increase appearances drastically.

Have you 'successfully' - a relative term here - eroded your geometry using/mixing textures or shaders?

Not super realistically. I have an approach at this, which involves taking the slope and cavity to create an erosion-like displacement effect, but this is not really how erosion works. As far as I know, the only truly realistic way to attack this project is with actual coding. Heres an addon you could check out: https://www.blendermarket.com/products/erosion-add-on


Blender Game - music problem I have a problem with soundtrack and sounds
In the Blender Game (while using blender) sounds and music seems right and i can clearly hear both of them. but when i export my game as game engine runtime, and then play my game, sounds and music disappears. Can somebody help me?

The simplest way to fix this problem is to pack the sounds inside your blend file..

Use the menu command : File -> External Data -> Pack All into .blend file.

(It also gives you some fps boost!)


Soft Bodies Merge Together During Animation I am trying to get some soft body balls to tumble around in a rotating cube (like a square washing machine). Each time I try and animate, it's like all the soft bodies merge together into one blob. I'm assuming I just have my soft bodies set up wrong, but I'm not sure how as I've tried to just follow tutorials.
This has been a helpful thread in the sense of the rigid square inside of the mesh deformer holding the soft body spheres. But theirs works so I'm not sure what I'm doing wrong:
make soft bodies stay inside another soft body
Here is the blend.

after testing it out a bit more, I realized it had to do with how I set up the cube. I removed the rigid body physics, kept the collision physics and decreased both the inner and outer thicknesses. That stopped it from pushing the balls together.


Bend a bezier curve along bezier curve I would like to bend a complex bezier curve with a curve modifier.
What do I have to regard in respect to the curve that gives the shape?

Number of control points, location of curve in relation to the curve I want to bend, size of the two curves, etc.? Any hint welcome.

I get only a completely deformed curve.
Thanks!

You should be able to perfectly deform a curve with a another curve, no need to convert to mesh first.

But raises the question why. If the second deforming curve already has the desired shape use that one directly.

Curve deformation generally works well on elongated objects that roughly extend in one direction that should run parallel to the length of the curve deforming it.

So if that is the case and the other object is elongated than you probably won't need  second curve to be deformed.

Otherwise it will probably give very weird results. If your curve has a really contorted shape it will probably yield unexpected glitchy-looking deformations.

Things to look out for when using the Curve Deform modifier are

Make sure deforming curve and deformed object are coinciding have exactly the same origin point in the scene's unit coordinates
Make sure the deforming curve's origin coincides with one its end vertex. In other words one of the end vertex has 0,0,0 local coordinate.
Make sure the vertex at 0,0,0 is the starting vertex, not the end one.
Make sure the deformed object has it geometry roughly close or around it's center, or at least sanely placed in relation to it's center (like at one end).
And lastly make sure the deformed object (the one with the Curve modifier) is elongated in the correct direction that runs roughly parallel along the curve length

If not, then you can adjust the deformation axis in the Curve modifier properties.

For more complex deformations you may want to look into the Cast Modifier, or the Simple Deform one, or even the Shrink Wrap one.


How do I reset the 3d view from this state? I am new to Blender. I have some experience with 3DS Max though.

I was trying to use the little triangular widgets at the bottom left and top right of a tab, and eventually ended up with 18 of them before I learned how to get rid of SOME of them. I am left with the Blender window below, and cannot get rid of whatever this is, to show me the usual 3D window any more. If I close blender and restart and load the same .blend file, I get the same result.

Help would be much appreciated.

Press the button next to the word Default. It will display a bunch of preset views to choose from. However you have corrupted the Default 3d view. So go down to the bottom of that large window with the line on it and look for the clock icon in the corner. You have expanded the Timeline view. Click the clock and choose the 3d view symbol instead


How to apply imported module to active object I'm trying to import a module (I think that's the right term) and then run it on the active object

In the console I can type:

> from bl_operators.uvcalc_smart_project import main
> main(C, .02, 30, 0.03, True, True)

... and it does smartuvproject on the active object.

In my script I have:

from bl_operators.uvcalc_smart_project import main
bpy.context.view_layer.objects.active
main(C, .02, 30, 0.03, True, True)

... and the console says that "name C is not defined"

I realise I'm missing something pretty basic here, to do with how a function is applied to an object in Blender scripts.

Perhaps the answer is, "go away and learn python." But this stuff is so Blender-specific (maybe even Blender 2.80 specific) that I'm not sure I'm going to find the answer anywhere except here!

Thanks in advance.

Py console convenience variables

C and D are abbreviated named variables for our convenience in the python console (see startup message)

PYTHON INTERACTIVE CONSOLE 3.7.1 (default, Oct 22 2018, 11:21:55)  [GCC 8.2.0]

Command History:     Up/Down Arrow
Cursor:              Left/Right Home/End
Remove:              Backspace/Delete
Execute:             Enter
Autocomplete:        Ctrl-Space
Zoom:                Ctrl +/-, Ctrl-Wheel
Builtin Modules:     bpy, bpy.data, bpy.ops, bpy.props, bpy.types, bpy.context, bpy.utils, bgl, blf, mathutils
Convenience Imports: from mathutils import *; from math import *
Convenience Variables: C = bpy.context, D = bpy.data

Simply replace C with bpy.context in your script

On importing

you are importing the method main from the module bl_operators.uvcalc_smart_project1 similarly

from bl_operators import uvcalc_smart_project

uvcalc_smart_project.main(...)

for keeping one main method distinct from another main method imported from elsewhere by using module as a namespace.

IMO something like

from bl_operators.uvcalc_smart_project import main as uv_smart_project
# and use via
uv_smart_project(...)

is distinct and readable.


How to pass a soft object through a narrow channel? I found an excelent Q/A about Some examples of shape key sculpting vs lattice?. @moonboots suggests in his answer to use a Lattice in order to deform an cylinder object:

How does that work? How can I pass a soft object through a narrow channel like @moonboots does in his answer?

What you've posted there is no soft object passing through a channel, it's actually a Cylinder with a Lattice Modifier moving through a Lattice object.

Add a Cylinder to your scene or whatever object you want to deform.
To be deformed smoothly it needs enough geometry, so subdivide it either in Edit Mode or with a Subdivision Surface modifier.
Add a Lattice to your scene (Shift+A > Lattice)
In the Lattice settings, set the Resolution W to at least 3.
Go to Edit Mode and scale the middle vertices down so that they narrow the Lattice in the center.
Add a Lattice Modifier to the Cylinder and under Object choose the Lattice.
Now you can move the Cylinder up and down and it gets deformed.

EDIT: I'm too slow. The above solution is correct, this is just a shorter version.


Compositing video layers in 3D space Here's what I need to do.

I have a footage of a street. I want to add several people walking. Each person was shot using chroma.

I understand how to remove the green using nodes. I understand how to composite each element using nodes. What I don't understand is how to I manipulate them in 3D space in order to move them where I want each element to be or animate them.

I could use the video as texture on a plane and move the plane around. But I want to know if I can process that video as texture using masks and keying. Or should I key every person, render them, then add them as texture to the planes and work like that?

Thank you

You could perform the keying in the compositor scene. Create a 3D scene to reproduce the depth of the street shot. Then place UV unwrapped cards in that scene, each card could have a layer pass.

Back in the compositor apply the alpha keyed image to the 3D scene layer using UV distort. It should scale and map the people to the card.

Here is an example I made at the forum http://blenderartists.org/forum/showthread.php?332091-Card-Compositing-to-simulate-depth


Possible to control text color in the text editor? I'm using the Typewriter Addon to fake an RPG-like UI for some animation. The text is pulled from a text file... what I'm wondering is if there's some way to markup the text in the file to control the color so I can use a few different colors.

So @David's comment I think points you in the right direction, but maybe it can be made a little simpler.

Basically you can give individual characters (or words, or sentences, etc.) different materials (i.e. material indexes).  Each material can, obviously, vary not only in color but any attribute you can put into a material.

So, with the text object below, in edit mode I highlight the characters I wish to give a new material.

You can add a new material slot if you need one, create a new material if you need one, etc., but at the end of the day all you need to do to assign the selected text to the chosen material slot is to click the "Assign" button.

You've then got text with different materials!


Why is Blender "overcompensating" edges on normal maps, and how can I stop it? Wikipedia has this example of normal maps:

I put the normal map into Blender myself and got this:

Why is there a dark ridge around the edge of each shape? Based on the specularities around the edge of the donut, it looks to me like Blender is "overcompensating" every bump by surrounding it with a ditch (and vice versa). How do I stop this behaviour to get the correct edges?
(This is a minimal example of the more complex problem I'm facing.)
EDIT: These are the exact steps I took to reproduce:

Open Blender 2.79b.
UV map the default cube to this image.
Alter the default material's "Tex" texture so that instead of Color 1.0, it influences Normal 1.0. (No nodes are involved.)

That's all. I have tried changing the Color Space, but like all other times I've tried, changing it has no effect.

You must check Normal Map under the Image Sampling options of the texture.

Also, make sure to set the color-space to non-color data.


Where do my rendering artifacts come from? When rendering I get unexpected artifacts that somewhat look like artifacts caused by double meshes (Z-depth problem).

I am using Blender Internal. The scene/meshes are not complex at all. I experimented with render settings as well as light and world settings, but the artifacts are there whatever the settings. Even when rendered without shadows or any other "extras". The only setting that seems to change the appearance of the artifacts is the tile size.

I have double checked and am sure there are no double meshes in my geometry in object level or in sub object level. The normals are facing outward as they should. The meshes are not complex and clean.

I include rendered images here.

You'll find the .blend file here:

blend file here

I use:

Windows 7 64bit
Blender 2.70
ATI Radeon HD 5000 Series graphics Card with latest driver

I have searched Blender forums and learned that my graphics card was not the best choice for Blender... but as far as I know it should work well with the Internal renderer for CPU renderings.

So what causes the artifacts? How do I know if it's the graphics card causing it? Is there anything I can do about it or do I have to buy a card more suitable for Blender?

I noteiced two detailes that may be a hint...

in perspective view the scene looks "clean", as it should, but when I change to camera view it appears messy.
I am not confident about the unit settings. I was trying to work in centimeters, so I set "metric" and a scale of 0.01. But now the camera settings look unnormal: Focal length 0.28mm, sensor size 0.4mm...

It's due to your camera lens start clipping setting. It's set to 10µm (micro-meter, = 0.001 Blender unit).

For some reason Blender can't render surfaces correctly when the camera's clipping start distance is too low.

Try with some higher value, (e.g. 10cm = 10 Blender unit) and the problem is gone. Select the camera, go to camera tab in properties window, Lens panel:


Way too many vertices when switching to edit mode i am trying to create a rock by sculpting an ico sphere, but even after small amounts of sculpting, when i switch to edit mode it creates around 100,000 vertices. does anyone know how to reduce the vertices without losing the shape? i dont mind starting again on the rock by the way.
here is a screenshot (the rock is around the size of the starting cube)

Shrinkwrap modifier could help you:

Create new object with similar shape, big enough to cover your sculpted rock
Subdivide it as you would like the mesh of your rock to be detailed (or use Subdivision Surface modifier so you can tune it later)
Apply Shrinkwrap modifier with Target set to your high-poly sculpted rock.

You should get low-polygon version of your high-poly sculpted model.
There are some useful options you can use for tuning the Shrinkwrap modifier so you can look at it's overview in Blender Manual.

https://docs.blender.org/manual/en/dev/modeling/modifiers/deform/shrinkwrap.html


How to achieve "simple" deformation of a plane? Is there a way to achieve exactly (that's crucial) the same corner bend definition of a plane in blender?

You can use an armature to deform a sub-divided plane.  Select the plane and shift select the Armature to make it the primary selection with the plane as the secondary selection.

Press Ctrlp to parent the plane to the armature.  I selected Armature Deform with Automatic Weights.

There is a color picker available to select colors from other areas visible in the UI.
If you hover over the color field of a node and press the e key you can then click on an image that has has been drag 'n dropped into the UV Image Editor.  Now you can pick the various colors of the image to use for the Material and Sky colors.

You can use Freestyle to add the edge highlighting.

The setup is shown in the following two images.
(i)Activate Freestyle in the Render tab
(ii)Add a Lineset
(iii)Change the color to match.

The color of the paper is multiplied by 3.0 to brighten it up.

To get the exact shape of the reference image, you can try a more detailed Armature.

Another option is to add a sphere and use the Snap tool(magnet icon).

Snapping activates when you select one or more vertices and press g and then enter to set the movement.


Issue with hair in both viewport and render I need to do a render video about some industrial brushes and their function

But , When I play the viewport animation the bristles start vibrating and then totally detach from the brush itself (you can see it here https://gph.is/g/4zArbRv), and I'm having another issue. Blender crashes when i try to render it.
Does anyone has any suggestion on how to solve this issue?

For some reason I'll leave to experts to explain, if you Apply the Array modifier on each circle array, the particle system behaves:

However, if you want each circle array member to behave independently,  you'll have to depart from array and instead Duplicate instead of array.  And if you Dip-linked, the bristles might not behave independently if an effector causes some to deform.
There may be other more expert solutions if you search on "Particle System Array" in this forum.


blender 2.9 curve handles not visible until selected In previous versions once you go to curve edit mode you see all curve control points handles. But in 2.9 it's only dots. To see handles you must select control point first
This is not ok if I want to move two side handles of different control points at the same time (for example I want to select and move only top handles of two points on screenshot). Is there a way to get it back?

I think that's what you're looking for (Viewport Overlays > Curve Edit Mode > Handles > All):


How to specify number of subdivide sections in Blender 2.8x? So I know about subdividing, and was subdividing a face for a rounded TV screen. However, it only allows me to subdivide a 2^x number of faces and only allows the same number of per side (4x4, 8x8, 16x16 etc.)
Is there a way to subdivide so I could have a non-square number of new faces? Thanks in advance and sorry for a newbie question.

Sure thing.

Subdivision always splits 1 face into 4. No way around it.
But you can make uneven subdivision manually using Loop Cuts.


Does Blender support dual-GPU rendering if the two GPUs aren't the same? I have a GTX 1060 6GB in my current build, and I also have a GTX 960 2GB in storage.
I was wondering if I got one of these PCI Express X1 to X16 Extension Adapter, and got both of my GPUs in one build (not SLI or CrossFire, just in the same system) would I be able to use both GPUs for rendering simultaneously?
I don't care if this means having them both render separate tiles in one instance of Blender, or rendering separate frames in two instances. I'm using Cycles for everything I do.

You can, as long they are from the same brand (AMD, or NVidia) you should be able to use them simultaneously to render in Blender Cycles.
If you keep them out of any proprietary GPU pairing technologies setup like SLI or Crossfire, the operating system detects them as two discrete GPUs and see both graphics cards, Blender should be able to see them as discreet GPUs in the user preferences.
This will virtually decrease render times linearly, proportionally to each additional compute device performance, as opposed to pairing technologies which have significant performance penalties and lose efficiency with each additional GPU unit.
You can then prior to rendering select which one to use, or both simultaneously, if you want. You can also have each instance of Blender use its own GPU independently, although you will likely experience performance penalties caused by bottlenecks anywhere else in your system, namely available memory, and CPU resources for pre-processing your scene.
Under User Preferences > System > Cycles Render Device you can activate CUDA processing and pick from the list of available devices below to chose which ones to use for each running session. From the Properties Window > Render Properties you can then set the device to GPU while Cycles is set as active render engine.
Have in mind that when using multiple GPUs for rendering a single scene you will always be bound by the available memory on the card with the least VRAM amount. Since GPUs still can't share memory access, a copy if the whole scene must be fully loaded into each individual graphics card memory, so it must completely fit into the available RAM of every single GPU, failing any of them will abort rendering.
Having two GPUs from very far apart generations may eventually cause problems in the long term. As each generation ages it is eventually phased out, and becomes deprecated. At a certain point newer drivers stop supporting them and one last driver version compatible with the older model is launched, and you will essentially be stuck at that release if you wish to keep using your older GPU.
Even if newer drivers support your newest graphics card, since you can't have two different driver versions installed or running side by side, you still be forced to keep that older release while you plant to use the older generation. Some newer software (like games) may some times not work properly on older drivers, or require newer versions to even launch, forcing you to either update and lose use of the older card, or not update and miss out on the benefits of newer drivers.


How does "Flip Normals" affect Face Corner Data? I use the "Normal Edit" and "Data Transfer" functions a lot, therefore I'm working with custom Normals with Face Corner Normals that differ from the Vertex Normals. The Pink lines represent the Face Corner Normals that are all pointing downwards towards the Cube:

After I Flip Normals this happens.

The two diagonal pairs of Face Corner Normals point into a different direction which results in odd definitely not intended shading:

I can fix the issue with the Data Transfre module and a bit of hassle. But I would like to know what the **** is going on here? I want to know how blender calculates the new position of Face Corner Data.

If your IQ is above 160 maybe you can figure it out because I can't, rotations are in precisely 15degree increments:

Flipped Normals:

I would assume this is due to the fact that it is a bunch of disconnected planes which are treated like one object. In the newer Blender 2.8x+ series, normals are automatically corrected while editing in edit mode.
The problem in your case is that all of the disconnected planes are being treated as if they are one object, and therefore, the normals are going to look very messed up. However, if you try this with all the planes connected into a full, closed mesh, you should see this problem disappear when you recalculate (if needed) the normals. If you flip the normals, they should flip.


Bones parent-child relationship on different axis So I am creating this mechanical arm rig and at the tip theres this grip mechanism that consists of two parts sliding towards each other for the grip to close on something.
Now, in order to make it quicker and easier on me in the animation phase I have gone ahead and added this third bone (number 1 in the image) which controls bones number 2 and 3.
How do I make it so when I move bone #1 on the X axis, bones #2 and #3 move on the Y axis in and out accordingly?
Hope I make myself clear enough.

Try a transformation constraint on bones 2 and 3.  Transformation constraints take the transformation of one bone and use it to apply some arbitrary transformation to a different bone.  They're sort a poor man's driver.  (This is also something you could easily do with drivers.  Plenty of other ways too.)

Let's say you want bone B to move 1 unit in the positive X local axis when you move bone A 1 unit in its positive Y local axis.  Create a transformation constraint on bone B.  You want to affect position on both bones, so use "loc" (location) for both bones.  Map Y to X.  Set it to use local space for both bones.  Finally, enter a range of values for input and output; in this case, use 0 to 1 for the source Y and 0 to 1 for the destination X.

For the other side, it's the same constraint, except you want it moving in the opposite direction-- so map the destination to 0 to -1 in the X instead.


particle doubts: blender 2.8 i'm still learning blender and i'm very new to the particle settings. while creating a city, there were a few things that i couldn't quite figure out why they were happening and/or how to solve them.

object | edit mode > on object mode my buildings are there, but when i try to go to edit mode (i want to edit simply one of them to be unique from the rest), all the buildings disappear?! is there a way to edit just one building (i want to take off the shop part and replace it by something else)

on object mode, there is this white plane that serves as base for all my buildings. if i delete it, the same thing happens to all the buildings. i tried to lower it in order to go under the streets, but my buildings get lower as well, which can't happen. is there a way to fix it?

thank you very much!

In order to edit individual buildings you will have to edit the actual models in the "buildings" collection, "Building1", "Building2", etc. The buildings appearing on the emitter plane are merely linked duplicates from the actual models, and not editable on the go.

To hide the base plane object, you have to go in the particle settings and uncheck "show emitter" from rendering or/and from the viewport, depending on what you want :


problem in welding vertices, a beginner I try to weld my vertices so its connected one by one but you can see here on the image I specified it doesn't turns out to what I wanted it to be, is there any solution for this type of problem?

Maybe you've chosen the wrong option from the Merge menu?
Make sure, of the selected vertices, the ones you want to be merged are closer to one another than to any others, and Merge > By Distance

Or, if that's too fiddly, (and you want the merged loop to be centered to the ones above and below) select the edge-loops you want to be merged, and Ctrl E Edge Menu > Bridge Edge Loops, with 'Merge' checked in its options.


Rendering an animation the way 3D view looks Is there some way to render exactly whats in the camera view in the 3D view? By that I mean just like a screenshot really, all paths, lamps, and cameras, just like things look in the camera view. The reason I can't just take a screenshot is that I need an animation and it would be too cumbersome to take 1000+ screenshots!

You can render using OpenGL, by going to Info > Header > Render > OpenGL Render Image:

Or by clicking on the icons in 3D view > Header:


Line of Bones to Travel and Conform to Curve (Train or snake following path) I've searched google extensively on this. Can't seem to find an answer.

I know about spline IK, which is wonderful for conforming a row of bones to a path. But combining the armature object with a follow path modifier causes the point of origin to move, but the bones themselves stick to the beginning of curve.

Ultimately my goal is to make a creature like a snake or centipede follow a curve path, thus animating it fairly realistically ...

Mesh and curve modifier.

Once set up, can travel along curve by displacing our dummy edge object
Having tried a method similar to @moonboots answer in writing a train addon found using the method outlined below kept the wheels on track (better if the curve is too tight nothing will help).  This may not matter too much with a deforming object like a snake. However it only requires making one very simple mesh object, with vertex groups as tagets for bone constraints.
Trying to place empties on the curve with offsets will cause the "train to derail" as the offset is looking at curve length rather than where the line segment next meets the curve.  For example a unit circle radius  1, can hold a square with edge lengths sqrt(2)  each corner touches the circle.  The arc length is p1 / 2  Trying to get the empty locations right on a complex curve is IMO too hard.
If a mesh is created and threaded onto a curve with a modifier the edge lengths are preserved.
Create a simple mesh as shown. With edges and verts emulating bones.

Here the mesh is moved 1 over for visual

Add a curve modifier to the mesh. I've made the mesh z up to cooncide with bones global orientation, so I track the mesh on curve using Z.  The mesh can "run on the tracks" by animating its Z location property. Can switch tracks by changing this one modifier target

Next we add a copy location constraint of root bone to our mesh object, with base vertex group as a subtarget, and a track to constraint along the axis of bone "Y" to the next vertex group.
For all subsequent bones in chain add track to constraint to next vertex group.


Animate .stl files in Blender I have a bunch of stl files that I want to import into Blender. I wanted to animate them, for example one stl file in each frame so that overall it turns into an animation. I was wondering what the best way to do this is. I have a large number of stl files, so I'd prefer not to manually do it. Is there a script that exists to allow this?

I do not have a straight out easy solution, but i can think of a 2 ways of doing this.

Do all the STL files have the same number of Vertices and faces?

If the number of Vertices and Faces dont change, I would suggest a python script.

first have a look at the AnimAll addon that comes with blender. you just have to enable it in your user preferences.

http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Animation/AnimAll

write a script that does the following:

imports the first STL frame.
call:

  bpy.ops.anim.insert_keyframe_animall()

then for each frame after that:

import the STL File for that frame.
change the positions of each vertex in the main object to that in the frame imported.
call:

  bpy.ops.anim.insert_keyframe_animall()
  delete the STL frame imported.

That way all your frames will be in the same object, and show up as keyframes in the animation editors.

This assumes that the STL files have kept the vertices order the same, otherwise this method will not work and your imported animation will just jump all over the place.

There is the MeshFoot addon which will import a sequence of OBJ files, however it does not work with STL files, so you would have to modify the code to get it working with STL files.


Access Violation Error I have a small Blender 2.78c file with one (active) object, one material which is assigned to the object. It uses a UVMap with one images.

Blender crashes at the last line of the script below and the crash report is nothing but

Error: EXCEPTION_ACCESS_VIOLATION

I have reduced my script so that the error and crash still appear, but the code does not make sense anymore. Any hints on why this happens would be highly appreciated.

object = bpy.context.scene.objects.active
uv = object.data.uv_textures[0].data
for slot in object.material_slots:
    bpy.ops.object.mode_set(mode = 'EDIT')
    bpy.ops.object.material_slot_assign()
    bpy.ops.object.mode_set(mode = 'OBJECT')

uv[1].image

Please find the file under:
https://www.dropbox.com/s/poirg3qf70a5c7y/Testfile.blend?dl=0

I think that there is something around this reason:

You take an internal pointer "uv = object.data.uv_textures[0].data"
This pointer is modified/reallocated during "bpy.ops.object.material_slot_assign()"
So "uv[x]" is no longer available

You can instead do something like that:

import bpy

object = bpy.context.scene.objects.active

uv = object.data.uv_textures[0].data

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

for i, slot in enumerate( object.material_slots ):
    for p in [p for p in object.data.polygons if p.select]:
        p.material_index = i
    #bpy.ops.object.mode_set(mode = 'EDIT')
    #bpy.ops.object.material_slot_assign()
    #bpy.ops.object.mode_set(mode = 'OBJECT')

print( uv[1].image )

Or, of course, access to an available pointer again:

import bpy

object = bpy.context.scene.objects.active

uv = object.data.uv_textures[0].data

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

for i, slot in enumerate( object.material_slots ):
    bpy.ops.object.mode_set(mode = 'EDIT')
    bpy.ops.object.material_slot_assign()
    bpy.ops.object.mode_set(mode = 'OBJECT')

uv = object.data.uv_textures[0].data
print( uv[1].image )

... but I don't get the meaning of this loop, as it will assign to the last material at the end (probably because this is an extract of the whole code...).


Generate colored faces texture from UVs I have just UV unwrapped my model and I will be editing its texture in Photoshop but it's hard to tell where each things are and I have to do a lot of trial and error. I know you can generate a grid texture as well (Color Grid and UV Grid) which is more helpful but still not what I have in mind.

What I want is to generate a texture where each face is colored differently to help me figure out exactly what is what in my image editor. Does blender have a feature to do it automatically?

Thanks

There is an addon called Export UV layout that allows you to export your UV unwrap layout as vertex and edges so you can draw over them in whatever graphics editing software you use. Not sure if that is enough or what you were looking for.

If that is not enough you could assign different materials to your object's faces with different colors as desired, bake it to a texture using your existing UV layout and the export that baked texture to Photoshop so you can paint/edit over it.
Alternatively you may also play around with cycles procedural materials, and create a setup that highlights your geometry details in an informative way (the geometry input node as some useful options) and then bake the resulting shader to a texture using the UV layout.


Why is this happening with faces? Would it be possible to you to explain how and why this happens? (I am noob (sorry)

The quads are not planar. But you have most probably flat shading. And so you will see the shading for the two underlying tris of this quad therefore.

Try to activate Auto Smooth, and give it a angle of let's say 5. Increase or decrease the value to your needs. Auto Smooth can be found in the Properties editor in the Data tab.


How to iterate over selected_objects collection and ignore the active_object I want to do something with each of the selected_objects as long as the object is not the active_object.

To put this into perspective here is a small (non working) operator that represents part of my code. I want to specify the  x location for each of the selected_objects by copying the x location from the active_object.

So I need to loop over the selected_objects and drop the object that happens to be the active_object.

#AlignXObject
class AlignXObject(bpy.types.Operator):
    bl_idname = "align.x_object"
    bl_label = "Align X Object"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self,context):

        sel_obj = bpy.context.selected_objects
        act_obj = bpy.context.active_object

        act_obj_location = bpy.data.object[act_obj].location[0]

        for obj in sel_obj:
            if obj != act_obj:
                bpy.data.object[???].location[0] = act_obj_location

bpy.context.selected_objects is a collection of references to all selected objects, and will include the active object.
bpy.context.active_object is a single reference.

There are a number of ways to get a list of selected objects that don't include the active object. The following give a list called selected of selected objects except the active object.

list Comprehension

ctx = bpy.context
active = ctx.active_object
selected = [o for o in ctx.selected_objects if not (o == active)]
# selected = [o for o in ctx.selected_objects if o != active]

# or even a generator expression.
# selected = (o for o in ctx.selected_objects if o != active)

or

set() boolean

ctx = bpy.context
active = ctx.active_object
selection = ctx.selected_objects
selected = set(selection).difference(set([active]))

then the code would be like this, see the complexity is taken out of the loop and dealt with earlier - like a pre-filter.

for obj in selected:
    obj.location[0] = act_obj_location

To use your own code it would look like this, there's nothing wrong with this approach.

for obj in sel_obj:
    if obj != act_obj:
        obj.location[0] = act_obj_location

Avoiding letting your code get too nested can help readability - it's something to keep in mind.


How do you rotate around an object in Ubuntu Studio? I had already solved this one before, except back then, I was using Ubuntu 14.04 (with a different Desktop).
Now with Ubuntu Studio 16.04, it uses Xfce. Hence, the fixes I had found before are not working with Xfce :(

Everything seems to be working except for rotating around an object. How do you guys do it?

Thanks,

JDL

I ended up doing this:

In Window Manager Tweaks, in Key used to grab and move windows, changed it to Super.

Then in Blender User Prefs/Input/3D View/3D View (Global)/Rotate View, assign Alt as shown in the image


Fingers do not move when i move right hand There is no problem when i move left hand, but some of fingers do not move when i move right hand.

Perhaps the solution is weight paint. I do not find which bones have this problem.

here is the.blend file : https://www.dropbox.com/s/52tphkvo7vacui6/2b_09_question.blend?dl=0

here is a video that show the problem: https://youtu.be/Y4uAtzpHC8s

I think you have accidentally deleted a bone, which was responsible for the ring finger R bones to move (the weights are OK: if you move the deforming ring R Bone, the mesh follows). As this rig is quite complex, probably the simplest way to fix the problem is to delete the rig and generate a new one: then select the mesh and add an armature modifier, choosing the new rig as object: if the names are the same the weights will be already OK.
This case explains why it is useful not to delete the metarig.


How do i add shapes and how do i get a Square? I have no idea what I'm doing and could really use some help. I also don't know how to color anything and I need to start of with a square for this model. I'm a teenager so I don't know what all these fancy words mean.

this forum is happy to help with specifics, but not so much generic (or broad) ranging issues. I am relatively new to Blender and I found the following YouTube tutorial series valuable and these may help you:

Grant Abbitts complete beginners guide to Blender may be a good start (https://www.youtube.com/watch?v=7MRonzqYJgw). I have not done that one, but he has other beginner guides (https://www.youtube.com/playlist?list=PLn3ukorJv4vvWfYmRnGS260JTjhShJFRP) that I have done that are very good.
Blender Guru donut tutorial was interesting and fun and covers a lot of different aspects (https://www.youtube.com/watch?v=TPrnSACiTJ4)
Jayanam (https://www.youtube.com/channel/UCs5J4GVRB8s2P4hE-O0izrg) also does a lot of tutorials.

I was also fortunate enough to do CGBoosts Blender Launch Pad, which really took things from the basic approach, however this is not free.

When doing these tutorials and you get stuck or have a question, this forum will is a very good place to ask and will most likely resolve your questions.


Adding a 'distortion effect' to a model I'm trying to add a 'distorted' effect to a model.  Are there any tools that can make this a more easy process?  Pictures with the effect I'm going for below.

I'll demonstrate you some mesh deformation methods using poor Suzanne ;).

USING PROPORTIONAL EDITING WITH RANDOM FALLOFF TYPE

The simplest way you can do I think is to go to Edit Mode and click Select-->Random, while vertex selection mode is enabled.
Now you can enable the proportional editing with Random falloff type, then grab, rotate and scale some vertices to make deformations.

Remember, that you can set deformed vertices' transformations as a shape key to not destruct your base mesh.

USING LATTICE MODIFIER

Being in Object Mode add a Lattice (Add-->Lattice). Subdivide it using options in Object Data header, and place your object inside it. Give your object a Lattice Modifier and set everything as pictured below. Select your Lattice, enter Edit Mode, select some random Lattice vertices, then grab, rotate and scale them (also using Random falloff of the proportional editing).

USING MESH DEFORM MODIFIER (for a better control over deformations)

Create a low poly representation of your object and name it for example 'cage'. Place your object inside it. Give it a Mesh Deform Modifier and set everything as pictured below. Give the Precision factor a low value (the bigger the value, the more possibility, that your computer'll cry ;)). Next click the Bind button to bind your object to a low poly 'cage' mesh. Now, when you deform vertices of the 'cage' your object's vertices will be deformed as well.

Try to mix these for better result.


Animation only renders one frame I am trying to render an animation but it only renders one frame and stops right before its done rendering the second frame. It always stops with two tiles remaining. My frame range is 1 to 140 and 24fps. My step is also set to 1. Preview range is turned of and my file format is ffmpeg video  with mpeg-4 as the container.I am using my gpu to render and am using cycles. I have tried Reinstalling and repairing blender but that didn't fix it.Any help would be really appreciated.

Here is the render Properties.

Here is the output properties

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


Is there a way to automatically create new material in all meshes in the model? is there a way to automatically create new material into every mesh of a model?
I have this issue with auto-rigging from Mixamo as it removes the existing materials when I download the rigged model. So I have to remake the materials again when importing the auto-rigged model back to Blender.
I don't mind if it assigns only the default Principled BSDF. I just need containers to put the shaders in when I import the model to Unity.

I am not sure if I understood the question correctly, but If you want to assign the same material to all objects then select all objects, click on the Object you want the materials to copy from (it gets highlighted in yellow) then press "Ctrl L" and choose Materials. All objects should share the same Materialdata then.
If you just have one model with different textures on it, go into edit mode select all vertices choose the one material you want to copy in the material bar on the right and press "assign" under the material options.


Applying Transform for Group resets rotation I have 3 items. They are grouped under "Group001".

I want to rotate the group so that the object appears aligned with the axes.

To do that, I edit the rotation of "Group001".
Then I want to make it so that the current rotation appears as 0, 0, 0.

To do that, I click "Object" -> "Apply" -> "All Transforms".

This however doesn't work as expected: It simply resets the rotation values.

I have recorded a video here.

Can anybody tell me how to do this correctly?
I would like to keep the "Group001" object because it gives me the possibility to rotate all of the objects, and I don't have to do this individually.

Thank you.

I have solved the problem the hardcore way:

I delete the "Group001" object and created a new "Empty" object and parented the objects to it.

This "Empty" object had no weirdness and worked fine.


multiple texture in a Single material I want to use two texture in one object(curtain), upper part of it will be designed texture and bottom part to be solid color or different texture .People said to use baked texture or color different map.But same time I need to change the tile or transparency.Please give me some solution.

You can do this procedurally by using the generated vector like this:

The Blue channel mean the Z coordinates,and by increasing the contrast you can get your mask,and you can still edit the texture without any problems.


Can't enable local mode in 2.8 I've just download the 2.8 and can't find the, I think it was the local button that was next to the layers in the 2.7x to enable different layers per viewport, and the "/" button of my keyboard doesn't work neither, are these features removed or have they changed the shortcuts?

I'm guessing they took it out, since its functionality was a bit redundant. You can accomplish the same thing with Shift+H to hide everything not selected. I noticed they also seemed to have removed the box hide functionality, also redundant. It could be part of the larger effort to streamline the UI, probably a good thing.


How can I rotate (in game,) with click-drag rather than keyboard keys? I've made a game where I rotate an object, (the entire scene actually, as everything is parented to one central empty,) using the arrow keys, but I'd rather like it to rotate with click-drag. At the same time, I'm using the left mouse button to select objects and move them around.

Generally it's nicer to rotate the camera around the object, but the logic brick setup is the same:

If you want to rotate the camera, put an empty at the rotation center, apply the logic to the empty, and parent the camera to the empty.


Switch between materials within material So I'm wanting to create a laptop with a keyboard (obv) and I've got the brushed aluminium material I want to use as well as a texture with keys for the displacement of the physical keys and a mask to apply different materials to the plastic of the key rather than the aluminium of the rest of the body. So I want to apply a plastic material to keys according to white regions of an image and fall back to the aluminium for black parts. But as far as I know, there's no way to link materials into other materials. Essentially, the space between the keys should be aluminium.

The Aluminium texture is just a principled BSDF following a matte aluminium look. In theory for the black regions of the mask, I could simply use a copied version of the node, but if I do that, then any changes to the original material would be noticable.
Thanks

To use nodetree elements multiple time and have all update, when you change a single instance, use node groups.

Grouping nodes can simplify a node tree by allowing instancing and hiding parts of the tree. Both material and composite nodes can be grouped.
Conceptually, grouping nodes allows you to specify a set of nodes that you can treat as though it were “just one node”. Node groups are similar to functions in programming, they can be reused in many places in a node tree and can be customized by changing the “parameters” of the node group.

To make a group, select the nodes and press CtrlG.


How to save multiple blender scripts (text-files) at once? I want to write a script that saves all the text files inside a Blender file. Is there a way I can access the text files as a list and then select them individually?

Heres my script so far:

import bpy
import datetime

file_destination = 'D:\\Sync Cloud\\Sync\\BLENDER PYTHON SCRIPTS\\Mass Saves By Date'

# GET SCRIPTS
all_scripts = bpy.data.texts
num_of_scripts = int((str(all_scripts).split('[')[1]).split(']')[0])

# GET DATE AND TIME
now = datetime.datetime.now()
date = str(now).split(' ')[0]
time = (str(now).split(' ')[1]).split('.')[0]

# GET BLENDER FILE NAME
path = str(bpy.data.filepath).split('\\')
file_path_num = len(path) - 1
file_name = path[file_path_num].split('.blend')[0]

i=0
for x in range(0,num_of_scripts):
    txt_script = bpy.data.texts[i]

    # DELETE A .py
    script_name = (str(txt_script).split("\"")[1]).split('.py')[0]
    if 'Text' not in script_name:

        py_filename = date +'_'+time+'_'+file_name+'_'+script_name+'.py'

        # SAVE SCRIPT
        bpy.ops.text.save_as(filepath=str(file_destination)+'\\'+str(py_filename),
        hide_props_region=True,
        check_existing=True,
        filter_blender=False,
        filter_backup=False,
        filter_image=False,
        filter_movie=False,
        filter_python=True,
        filter_font=False,
        filter_sound=False,
        filter_text=True,
        filter_archive=False,
        filter_btx=False,
        filter_collada=False,
        filter_alembic=False,
        filter_usd=False,
        filter_folder=True,
        filter_blenlib=False,
        filemode=9,
        display_type='DEFAULT',
        sort_method='FILE_SORT_ALPHA')

    i+=1

This keeps giving me an error:

  Error: Unable to save '': Invalid argument
  Traceback (most recent call last):
    File "D:\Sync Cloud\Sync\BLENDER PYTHON SCRIPTS\Save Scripts.blend\Export Scripts.py", line 43, in
    File "C:\Program Files\Blender Foundation\Blender 2.82\2.82\scripts\modules\bpy\ops.py", line 201, in call
      ret = op_call(self.idname_py(), None, kw)
  RuntimeError: Error: Unable to save '': Invalid argument

  Error: Python script failed, check the message in the system console

Pathlib

Here is a script that writes all text files in blend with suffix .py to a designated folder.

IMO there is no need to timestamp a file name, since it is given a date when written to or touched.  Timestamp a containing folder name if need be.

import bpy
from pathlib import Path

destination_folder = "/tmp/texts"
df = Path(destination_folder)

#create if doesn't exist
if not df.exists():
    df.mkdir(parents=True, exist_ok=True)

for text in bpy.data.texts:
    p = df / text.name
    if p.suffix == ".py":
        p.write_text(text.as_string())

On getting the path from the blend file name

>>> bpy.data.filepath
'/home/batfinger/Documents/blender/tests/snurf.blend'

>>> Path(bpy.data.filepath)
PosixPath('/home/batfinger/Documents/blender/tests/snurf.blend')

>>> bp = Path(bpy.data.filepath)

>>> bp.stem
'snurf'

If the file is new and has not been saved the datapath will be "". The folder will revert to the base path blender was started from. In my case blender was launched from the terminal in the folder "foo".

>>> dp = Path('')
>>> dp
PosixPath('.')

>>> dp.absolute()
PosixPath('/home/batfinger/foo')


How to get rid of these triangles on my cheese? Here is the node tree, I was following default cube, but his cheeses don't have these grids

My blend file is here:

Edit mode:

I think the underlying triangulation of the mesh being made visible is the result of an extreme 'Distance' value in the Bump node.
The Bump node has to make an approximation of slopes from heights, by, in some way,  sampling heights of adjacent points in the map, and using the differences. It seems that if the differences are too great, and the slopes too steep, the approximation is not convincing, and exposes the underlying triangle normals, even though they are already interpolated by smooth-shading.

The illustration shows 'Distance' settings of: 1 (your setting), 0.5, 0.25, and 0.1. The last chunk shows your setting of 1, but with 1 level of Catmull-Clark Subdivision.
(The code, (at least the OSL version) points to this method of perturbing normals, given heights. What would make a really proper explanation of your artefact, rather than just a fix, would be a more serious mathematician coming along, and describing exactly why the approximation fails. If one comes along, please edit this answer!)


Why does Grease Pencil color and stroke move separately when animated? I am new to Blender. I painted my first character ever, and once I animated it the color animates separately from my stroke.

Is there a way to fix it so that the color stay within the border?

BEFORE:

AFTER:

I do not know whether there is a fast workaround, but I am quite certain that you have to manually input the keyframes for the Fill layer, as you did with the Stroke layer.

So just go to the frame you want the color to 'change position' and recolour accordingly.


I just cant find IK (Inverse Kinematics tab in toolbar) I just cant locate the IK (Inverse Kinematics) in bone constraint tab?

IK Constraint is a Bone Constraint, not an Object Constraint, you need to switch to Pose mode (you are already) and click on the Bone Constraint tab.


HDRi not visible when using Mist pass I am using Blender 2.83 and want to create a scene with a lot of fog, so I've been using the Mist pass. However, this makes the HDRi invisible. Is this a limitation of the Mist pass or are my settings wrong?
These are my mist pass settings:

And my compositor looks like this:

The mist pass effectively fades out your scene the further it is from the camera (ie, the more ‘mist’ that light ray has had to travel through). The HDRI by its very nature is out at an infinite distance and, therefore, is completely obscured by the mist.


Cycles to external renderer I have a model in Cycles, I am trying to use Mitsuba Renderer and just about everything goes wrong so far. I can give more precise problems I get, but there are just so many of them. Does it work out-of-the-box for you or is there some typical pipeline I should follow? Or do you just create all materials and things in the another renderer and never use the conversion?

I also tried LuxRenderer, but it says it couldn't load pylux and pyluxcore. It still works somehow, but "Convert Cycles Scene" also spits out a load of warning and errors. So it doesn't look like it is doing to work unless I redefine just about everything in my scene.

Since there are no further answers: no, this doesn't work out of the box. Converter misses many nodes and some Nodes like "Light Path" are not possible to keep, if you want to use bidirectional path tracing. Node editor in Lux shows a warning sign near the nodes which were not correctly converted. To keep track of the conversion, one should run Blender in Terminal, as errors and warnings will be printed there.

Apart from that, many things can go wrong. The textures packed in .blend won't be loaded, multiple render layers are likely to be a problem.


How can I make scene with multiple gravities going in opposite directions without using a force field? I'm making a scene with multiple gravities affecting different objects that can interact with each other (those gravities are going in two different directions so I can't just cheat by changing an object's mass, since blender doesn't allow for negative mass values) and I want both gravities to work in the way the Gravity under the Scene tab works (a vector who's magnitude is the acceleration).

I read this but both answers present a problem for me--dampening doesn't alter the direction and force fields are fundamentally different from Blender's gravity (they pull towards a particular point or surface rather than a direction in general and the distance between them and the object just complicates things).

Is there any way I can actually set up multiple gravities for different objects or, if not, figure out a cheat to make force fields behave just like Blender's gravity (i.e. a vector who's magnitude is the acceleration and is not dependant on location)?

You can actually achieve this with force fields - providing all your objects have the same mass (or a limited range of masses so that you can have a range of forces - one set for each mass in each direction of simulated "gravity") - similar to the linked answer.

In order for the force to not fall off over distance (so it doesn't ebb away the further away from the force) you need to ensure the falloff power is 0. The strength of the force falls off based on the distance as Force = strength * distance^power (where ^ is 'raised to the power of' - sometimes written as **) - so a power of 0 results in a constant force, irrespective of distance.

For a force that doesn't repel from a single point, use a 'Plane' force - ensuring that the Z direction of the force object is in the desired direction of the force (it can be useful to change the Empty display of the force to 'Arrows' to be able to see the direction of the force 'empty').

Then all that is required is to place the forces and objects on multiple render layers (since forces only affect those objects on their own layer) - so all objects and the associated force that want to experience one 'direction' of gravity on one layer, the next set on another layer, etc.

This can produce the following result :

Note that this is not 'true' gravity as the force experienced by each object will be affected by its mass. To work around this, you can create a separate force per set of masses (so objects with half the mass should be paired with a force of half the strength) - obviously this will only work if you have a very limited set of masses.

Blend file included


In 2.8 how can I return the 3D cursor settings back into the Item tab? Prior to 2.8, the context menu (N) showed both the current selection properties and the 3D cursor properties, which I found very useful. Now I have to constantly mouse up and switch the tabs, and it's frustrating me.

It doesn't seem like I can drag it to the Item tab. Is there any way to return to the old layout, just for this feature?

bl_info = {
    "name": "Additional 3d Cursor Panel",
    "author": "Martynas Žiemys",
    "version": (1, 0),
    "blender": (2, 80, 0),
    "location": "n panel, Item tab",
    "description": "Adds 3d Cursor properties to Item tab",
    "warning": "",
    "wiki_url": "",
    "category": "UI",
}

import bpy

from bpy.types import Panel

class VIEW3D_PT_view3d_additional_cursor(Panel):
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "Item"
    bl_label = "3D Cursor"

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

        cursor = context.scene.cursor

        layout.column().prop(cursor, "location", text="Location")
        rotation_mode = cursor.rotation_mode
        if rotation_mode == 'QUATERNION':
            layout.column().prop(cursor, "rotation_quaternion", text="Rotation")
        elif rotation_mode == 'AXIS_ANGLE':
            layout.column().prop(cursor, "rotation_axis_angle", text="Rotation")
        else:
            layout.column().prop(cursor, "rotation_euler", text="Rotation")
        layout.prop(cursor, "rotation_mode", text="")

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

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

if __name__ == "__main__":
    register()

If you copy and paste that into the Text editor and then save it to a file with a .py extension, you can then install this as an add-on, that adds the functionality:


How do I archive my textures and mesh in the same archive? So I made some models in Blender and I want to upload them to CGTrader, however, I don't know how to zip them all up in a folder/archive. The farthest I've got is a .blend file zipped in an archive. I want to see all the textures listed in a folder and not just a single .blend file. Thnaks in advance!

You just need to bake your textures, which means exporting your object's texture in a image file, based on its UV unwrap.

You can check this post for info or you can google it yourself.


Access python data path with ... (Ellipsis) I am trying to access a bool property in the python API to see if an option is enabled or not. The python tooltip for the option says this:

bpy.data.screens['Default']...show_grease_pencil

I try to use that in the console or in py scripts, and it says the ellipsis(...) is invalid syntax. What am I missing? (Ignore the tooltip text. I originally thought the '...' was just hiding some of the API). I tried it with double quotes and that didn't help.

It is a quirk of Blender's current UI, but actually you can deduce its location a bit, helped by Blender's API documentation.

Direct Access

The property you're looking for is SpaceView3D.show_grease_pencil, that one is clear. Now, what class contains a Space (SpaceView3D's ancestor)? Scroll down to References section in that class' docs. One of references there leads to Area.spaces. This is easy, because one of its docs' Reference leads to Screen.areas, and Screen is the type of what's visible before the ellipsis. So the attribute's full path is:

bpy.data.screens['Default'].areas[X].spaces[Y].show_grease_pencil

... where X depends on the screen's subdivision, and Y is 0 if the 3D View is visible in that area. You can find that out from Console:

Using Context

It's easier to read 3D View space's settings through bpy.context, e.g.:

Use bpy.context.space_data, if the 3D View area is active (i.e. accessed through an operator executed from the 3D View itself).
Use bpy.context.area.spaces[1], if accessed through a Console whose display type is directly switched from a 3D View.
Use bpy.context.screen.areas[X].spaces[0] if accessed through a Console in another area, index X must be searched beforehand.

The same show_grease_pencil attribute is accessible through these different paths.


How do make this 2D animation in Blender? How do I make animation in Blender

Tried - Divide the circle in 12 vertices, place 12 plane rectangles  (Clock Hands) in 12 circle vertices  rotate 30 degree (Array Modifier ) and then how do I move each and ever clock hands to form TIME Text?

May be reverse - Divide the TIME Text in to 12 equal parts and then map each and every plane rectangle to circle vertices - HOW TO DO and with smooth animations

Please guide

This is quite simple:

Create a plane (12 o'clock tick) - resize as necessary, in edit mode move the object so the center is outside the shape (if you use "absolute grid snap" everything is easier)

To create the 12 clock's lines, you just need to duplicate and rotate (SHIFT + D to duplicate, R + 30 to rotate 30° (you can rotate by 30° every new duplicated piece). You can also do it with less steps if you want (it's easy to figure out how).

Then you just need to select all pieces and insert keyframe (rotation + position). you can do it pressing I

Move a new frame and move all the pieces to create the TIME word. Remember to use I to insert final keyframes (object by object).

If you want to create some dynamic movements you can play with interpolation modes or frames (for example you can setup the scene so not all the objects start moving at the same frame).


Map ocean displacement to a sphere? Is it possible to create a "spherical ocean" effect by mapping an ocean texture to a sphere?
I tried baking an ocean simulation, loading the .exr images as an image sequence texture, and setting it to a displace modifier with Normal enabled to displace along the object normals. That resulted in this strange effect:

Is it possible to do this properly, with evenly sized waves, etc.?

Update
I got this to work (partially) with a cycles image texture node set to box, and cycles experimental displacement:

However it's not quite what I expected..

Since the displacement modifier has an option to choose the texture coordinates, this isn't any different from the common problem of UV mapping a sphere.

I recommend some sort of blended box mapping using one modifier for each axis and blending between them with vertex groups.


Distance to Origin with Python I am calculating a 3d point on a face:

How can I get the distance to the origin from V1 either along the Y axis or along the face normal that I hit?

let me explain once more, I hope a bit more clear this time. I am shooting a ray with python, hitting a face (assume the direction is the face normal).

I want to find out the distance (d) of this normal from the face to the origin of the coordinate system.

But the face / plane could be anywhere, for example at the top, the bottom… and I want to find out the distance of this normal-vector of the face to the origin (0,0,0).

Thx for your help.

You could use this:

bpy.context.scene.ray_cast(viewLayer, origin, direction)
viewLayer = the view layer you are operating on
origin = the Vector origin of the ray
direction = the normalised Vector direction

If you are just using the default view layer you can just grab it via:
viewL = bpy.data.scenes['Scene'].view_layers["View Layer"]
origin would be the Vector position of V1
direction would be a normalised Vector, so (0,-1,0) for a negative Y axis direction

result = bpy.context.scene.ray_cast(viewL, (V1.x, V1.y, V1.z), (0,-1,0))

result contains a tuple, with the second item containing the location of the hit point on the mesh

So then you just want to calculate the distance between the two vectors so it would be:

import math

viewL = bpy.data.scenes['Scene'].view_layers["View Layer"]
result = bpy.context.scene.ray_cast(viewL, (V1.x, V1.y, V1.z), (0,-1,0))
hit = result[1]
distance = math.sqrt((V1.x - hit[0])² + (V1.y - hit[1])² + (V1.z - hit[2])²)


Exporting to FBX OBJ DAE 3DS I am modeling pencil sharpeners. I unwrapped UVs and created a steel texture and a bump map and put it together in Cycles (see attached image). Now I need to export my models as .FBX, .OBJ, .DAE and maybe .3DS, because I want to publish it online for sale, and I want the model to be available in wide array of file formats.

However, when I import the exported files back to Blender, I see that in every case the Compositing of the Cycles materials and links to the texture files are lost, and only UVs are preserved. The renderer defaults to BI. In 3DS I lose parenting and in OBJ and FBX there are scale issues.

I understood from other threads that I probably have to sacrifice this information, and that there is no way to export it. Is that correct? Does that mean that the customer would have to reapply all textures and set settings ( like glossiness etc.)? That is not acceptable.

Is there a way to ensure that the exported files will work straight away? How to preserve the Cycles material settings? Do I have to use Blender Internal to make it work?

This worked for me:
I packed and unpacked the blender file created, corrected allocation and exported materials from cycles into the .OBJ file. I exported from blender to 3dxchange, and the .OBJ file back into blender. The file retained the correct materials. As long as you create the textures in the same directory when you unpack the file, it seems to work.

When exporting alpha YAY, it took me a while to find this solution and it turned out to be simple.


Blender script: add ALL OBJECT to command? I have got very simple script :

import bpy

bpy.ops.object.select_all(action='SELECT')

bpy.context.object.show_wire = True

bpy.data.objects["Lamp"].show_wire = True

bpy.data.objects["Camera"].show_wire = True

bpy.data.objects["Suzanne.001"].show_wire = True

What i need is that ["Suzanne.001"] will not be specified but rather be something universal for ALL objects in scene, is there something similar like ["all_objects"] or something like that ?

If I understand correctly, you want show_wire to be True for all objects, not just "Suzanne.001"?

If so, all you need to do is iterate over the objects in the scene with a for loop:

for obj in bpy.context.scene.objects:
    obj.show_wire = True

Hope this helps!


Beveling from tutorial not working for me, can't find a work around So I'm just a beginner and I'm just learning some basic modeling, I'm following this tutorial.

https://www.youtube.com/watch?v=ICBP-7x7Chc&index=2&list=PLs2aOcA-EaLNX5j2yxVQhEBpFgD3zDR9P

And at 21:00 he adds 2 loop cuts in the middle of the chest and then adds 2 more edges to the bevel but when I do it you get the following. I've already exhausted my limited knowledge and I just don't know what to do. The only way I can think of to fix it is to manually move and rotate the edges so they line up the way they did in the tutorial I cited earlier.

There seem to be some vertices in the middle of the faces of the floor of the chest, inside and out, which are not there in the tutorial. There are edges extending to them from your new edge-loops, and the corners. The floor of the chest should be a plain Ngon. I would go back to before introducing the new edge loops, and check for them.

While you're back there check for other vertices that shouldn't be there.. both ones you can see, and ones you can't. (Right-click to select a vertex, G to move it, right-click again to drop it back where it came from if it hasn't revealed a duplicate, or otherwise acted strangely.)

In edit mode, CtrlV -> Edge Menu > 'Remove Doubles' to get rid of coincident extra vertices.

You may have to delete the floor faces altogether and replace them by Alt - selecting the edges on the perimeters of the new holes, and hitting F to fill.


Render is much faster when laptop is plugged in and charging My laptop seems to be rendering infinitely faster whilst charging then it does when it's not charging for some reason.

My setup is an i7 9th gen w/ an RTX 2060. I'm rendering using OptiX.

As can be seen in the below image, it finishes rendering in less than a minute while charging:

However, when it is plugged out, as can be seen below, even after a full minute, it hasn't even finished half of the image.

I tried rendering with the processor when my laptop was unplugged, and even that finished faster than the graphics card while it was unplugged! And this isn't just the case with rendering. It's just faster overall when charging, period.

Why is this happening and how can I stop it? Many times, I need to render while the laptop is unplugged, and so it is imperative that this issue is solved. Thanks.

Your issue lies in power management.

Your operating system (Windows 10) is currently instructed to limit performance of your CPU and GPU and in order to save power and extend battery life and longevity.

It sucks.

How to fix it:

Navigate your way to Control Panel
Go to System and Security
Go to Power Options
Go to Change Plan Settings
Choose Advanced Power Settings
Verify that minimum processor state and maximum processor state are set to 100% all the time
Set cooling policy to active
Disable PCI Link State Power Management

I don't have Nvidia graphics, so I can only assume there is a power management section in the NVidia Geforce Experience or something

Since you're on a laptop, you should also buff up your integrated graphics as the data from your 2060 may or may not be passed through the integrated graphics card.
Follow the BlenderGuru's advice to speeding up Cycles rendering in general.
https://www.youtube.com/watch?v=8gSyEpt4-60
Update your drivers if needed.


Origin doesnt follow physics Simulation Trying to make the camera always face a cloth Simulation. The problem is the Origin doesnt move with the Simulation and by that the camera always looks to where the Origin was at the start of the physics animation.
Im using the "Track to" Constraint on the Camera.

Here is a GIF showing the exact problem: https://gyazo.com/fffd446c202453b0a33f5ac09150a6bd

Vertex parent an empty to a single vertex somewhere near the center of the cloth object. Then put a Damped Track constraint on the camera and point it to the empty. It would appear that physics simulations respect vertex parenting relationships. You don't even have to bake the simulation first to see the results.


Re-topology setup: in-front attribute I'm learning how to re-topology and I learn from a tutorial that the best way is to set the new mesh as "in front" so it can be viewed "over" the original mesh.

The problem is that this "in front" attribute creates a "wireframe" view when a part of the new mesh is overlapping itself.

Can you explain me if it's possible to setup the new mesh so it's IN FRONT of the mesh I'm redoing, but not in front of the new mesh itself?

In front ON: I cannot see what is IN FRONT and what is BACK inside my mesh

In front OFF: I cannot see my mesh IN FRONT of the original mesh.

A few things:

there is a retopology shading feature in development. The RCS proposal has the "in development" tag and I saw a few tasks on developer.blender.org about it (here's one I could find back).

in the mean time, there are add-ons. Draw X-ray uses a shading method to put the geometry of the edited object "on top" of other objects using a distance threshold and Backface Hiding (made by yours truly) simply uses the face normals like backface culling does, except not in real-time but with the push of a button. Finally there's Retopoflow which does a lot of things including a similar shading method to Draw-XRay. They all have their pros and cons and use cases. If you need the hiding feature but don't need other retopo tools. In terms of pricing, Backface Hiding is completely free, Draw X-Ray is a "pay what you want" on Gumroad and Retopoflow is currently $86.


What is the most accurate way to get the data path for a value? what is the most accurate way to get the full path for a value so I can use it in a single property drivers.

I prefer to use the outliner to find the data paths of variables. If you set the outliner type to 'Datablocks' you can see the whole RNA structure of the current Blender file. If you hover with your mouse over a property Blender will show you how you can access it using the python API:


How to add palm leaves to animated sapling tree I'm trying to use the Sapling add-on to create and animate a palm tree with a certain large palm leaf. Creating the base palm tree is pretty straightforward after using the downward curves for the main branches.

I thought I could use the branches as the larger leaf stems then have the individual leaves come off those branches/stems.  The problem is getting these specific palm leaves right.  I don't think I can use the Sapling add-on for the individual leaves because the leaves have to be offset from both sides of the branches (or leaf stems).  So I'm trying to model the larger palm leaf and add it to the animated tree using the existing armature for the branches.  But I don't know if I can add my larger leaves to the existing armature.

Any ideas would be hugely appreciated.  Spent hours on this already.

Many thanks!

Here's what I've got from a bit of playing with the sapling addon. It's not too detailed but it accomplishes having the leaves on both sides of the branch. The key setting here is under the "leaves" settings, set the "Leaf Rotation" to 180 degrees. This makes every alternate leaf appear on the opposite side of the branch.


Best place to put bug reports? What websites or other resources do users of Blender have available to them to report bugs or problems with the program?

I would like to get this issue cleared in Q&A format so that we can link new users with bug-report-style questions to this post.

First, the most important thing to do is:

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

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

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

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

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


How can I get back to Blender's default theme? Even though I am relatively new to Blender I am recording a tutorial for a Blender exporter. I have been advised that I should use the Default colour scheme (for the UI). I have no idea which one that is. Can anyone tell me?

If you go to File -> User Preferences... and then to Themes, there's a Reset to Default Theme button.


How to place objects on top of another object and join their geometry I have 2 objects.  I want to put the dome right on top of the cylindrical ring.
How do I do this so it's pixel perfect? I need to do this for 3D Printing purposes.
Later I plan to join them together the two objects.  I'm not sure how to do this either so their geometry connects?
I have tried snapping but it doesn't seem to do anything even when I try to snap on faces.  I'm not sure what I'm doing wrong so any help is appreciated!

I should note the two objects have diameters and thickness that are identical.

I've been doing this quite a bit lately, but BEWARE, I'm very much a newbie myself, so hopefully you'll get better answers from others.
To join that dome to the cylinder here's what I would do.

I would fist make a duplicate of both of the two pieces (using shift-D) on each, and then I'd hide the original pieces. This is so that I can always just delete the copies, and start over with the original pieces if something gets fouled up. Don't bother renaming the copies yet.
One mistake you really don't want to make is to join two pieces like the one in your example that will have faces touching once you join them! Look at the bottom of the dome. That face on the bottom of the dome, once you join the two pieces, will occupy precisely the same 3 dimensional space as the top face of the cylinder. That will confuse the dickens out of blender. So...
With the copy of the dome, delete the faces that comprise the bottom surface of it. (Delete them, don't dissolve them). Then do the same thing with the faces on the top surface of the cylinder copy.
In the window on the lower right in your example you appear to be in the modifier tab. Switch to the scene tab (the one that looks like a cone with a tiny sphere next to it). If you working in metric, switch to millimeters, if you're working in feet, switch to inches. This will give you finer dimensions to work with.
(since you seem to be having trouble with snapping I'll try to minimize using it, but you'll have to learn how to use snapping sooner or later. Watch a bunch of YouTube videos on snapping, trust me snapping is simply too useful to continue to try to do without. That said I'll try to use snapping as little as possible.)
Engage the measure tool. That's the bottom icon in you're main window that looks like the letter L with tiny lines on it. Go into wire-frame mode, and make sure the x-ray function is off. Click and hold near where you want to begin the measurement, drag to near where you want to end the measurement (kind of like pulling out a tape measure).
Now here's where you'll have to use snapping.
In you're example you appear to be set to snap to faces, switch to snapping to vertex.
Look for a corner on the bottom of the dome that is directly above a corner on the cylinder. (any corner will have a vertex to snap to)
Click and hold on one end of the measuring tool you made. Drag it a short distance in any direction, and while still holding the mouse button down hold the control button on your keyboard down (this engages the snapping action). Still holding the mouse button and control key down, move the end of the measuring tool to the corner where you want the measurement to start and when it gets close to that corner's vertex it will snap to that vertex, and you can let go. You now have one end of the measurement tool anchored to the fist corner. Use exactly the same procedure to snap the other end of the measure tool to a corner directly below the first corner. Check using the front view, and then a side view to make certain that the measurement tool is vertical and not at some angle that will throw off you measurement.
Now you have a precise measurement of how far you have to move either the cylinder, or the dome in the Z direction to get them to meet. Write it down!
I assume you know how to move them once you know how far to move them.
Once you've completed the move you can now join the two.
Once you've joined them, go into edit mode, select all (I use the hotkey A to do that), then go into Mesh, Clean-up, Merge by Distance and set the distance to more than the default, but much less than the shortest distance between any vertices. (your diameter is 42mm, so set the distance in the merge to say 5mm. If lines start jumping all over the place it means your merge distance is too high. Keep decreasing the merge distance until things merging that you don't want to merge stop doing it.
Keep an eye on the little blue boxed note the pops up at the bottom of the screen, it will tell you how many vertices where merged. If you keep seeing 0 vertices merged, that's not good. Think about it. The bottom of the dome and the top of the cylinder form circles that are essentially identical. Which means when they are joined you're now going to have 2 vertices at each corner making up those circles.  That's going to give you bad geometry. So keep increasing the merge distance until the little blue pop-up window shows that you've merged at least a dozen or so vertices.

Decrease the merge distance whenever it deforms your geometry, Increase the merge distance whenever you get a value of 0 vertices merged.
Many times, like when you use booleans, you will sometimes get 0 vertices merged, and it's ok, because there weren't any vertices on top of each other that need to be merged. But it this particular case you know for a fact that there are going to be vertices on top of each other because you just finished joining the circles at the bottom of the dome to the circles making up the top of the cylinder. So there has to be some overlapping geometry there.
You can keep changing the merge distance until you click on something. If you do a merge that fouls things up, there's always Control-Z to undo it.
Once you've finished, and the two copies are now one piece, it's finally a good time to rename your new object.
Hope this helps, Mike.


How to rotate Local Axis? How can I rotate the Local Axis of an object.
I ran into this problem when I tried to use a downloaded object from the internet and it turned out the angled parts Local Axis stand same way as the Global Axis. Is there an add on or plug in to make it happen?

You're looking for is the Affect Only > Origins option in the Options panel (top left of your 3D view), which allows you to move the object's origin and change its orientation:


How do I close a circle without having to deal with tris and ngons? Here's the circle:

I've always been extruding and then scaling the circle inwards. But when I then make a face, there's an ngon. It's not very noticeable, so I've been sticking to that method all the time. But now I am wondering if there's a method that involves only quads. Would that even be possible?

there must be several ways to do it, like the following ones, I'm not sure how it could be useful though. As said by Robin, an easy way to begin is to ctrl F > Grid Fill, then modify the grid that has been created with some alt shift S to make your selection round:


Polygons are rendered as smooth colors instead of solid I'm trying to render low polygon version of a model that I downloaded. Show in the image are two models, on the left is a low polygon model that I drew myself, the other is a high polygon model that I've used decimate modifier on the torso

I'm trying to achieve a "low polygon" look (like the model on the left), but when I view the model on the right those polygons appear not as solid colours, instead some smoothing looks like is happening. Is there a property that is controlling this somewhere?

In the Tools panels T under Shading you can toggle between Flat and Smooth.
It can be applied to the whole object or only to some selected faces when in edit mode (the option then moves to the Shading/UVs tab).

Update: This option as now moved to the top-left corner of the 3d viewport, under Object in object mode and Face in edit mode.