text:
When to use Conformal vs Angle Based when UV unwrapping?
When should you use the conformal method verses the defualt angle based method when UV unwrapping? What difference do they make?

Angle Based unwrapping gives a good 2d representation of a mesh while Conformal usually gives a less accurate UV mapping than Angle Based, but works better for simpler objects. (src)
From experience I use a mixture of both depending on how complicated the mesh is, Angle Based tends to give better results in general.

The difference between Conformal and Angle Based is in how the UVs islands inner vertex are calculated onto the 2D surface of the UVs. For a well elaborated (faces made properly) and seamed mesh, the difference will be minimal if any, but when it comes to complex mesh and UVs island's inner vertex, there can be an huge difference in results.
The main difference between the 2 methods could be simplified into saying that each has its own priority and results in a different kind of deformation of the UVs to fit onto the 2D (from the 3D).
The Angle Based method will use a sort of rounded up technique on the average of all the connected vertex in an island to find the position, for each said vertex in the Uvs, to be as close as possible to its original 3D angle. It usually result in better UVs for things that have complex geometry like organic things that has lots of relief-involved angles. The result of the Angle Based method has more chance to result in deformed UVs, but lesser chances of having overlapping UVs for things like concave and convex faces if the seams were properly set up.
The Conformal, on the other hand, will prioritize the original projected angle of each set of triangle' vertex. This method is useful if you want the UVs to display an as-close-as-possible-from-the-3D form of each triangles. It's usually useful for things like machines or/and static environment probs where you really don't have any sort of stretching in the UV's. This method has the issue of putting a really low priority on the overall result of the UVs in terms of overlaying triangles, meaning that, especially for organic meshes, this method can easily result with an UVs island ending with a fold onto itself.
As examples:
The Angle Based method is better if you were to unwrap a living being such as a character's face or hand UVs as slightly stretched UVs might not be much of a visible problem unlike overlapping UVs which are a pain to readjust or cut off from the problematic UVs' island.
The Conformal method is better if you were to unwrap a machine with some really specific details that need to avoid any form of stretching.
Obviously, there's no fixed method as you might prefer to use Conformal for things like cloth (including clothes) to ensure the cloth's texture is kept clean or to use the Angle Based on a sculpted wooden chair or table because a small stretch of the UVs would only result in a more authentic-and-less-mecanical wooden visual. The usual trick is to start with Angle Based and if you dislike the slightly distorted result, try Conformal. If you're working in something like environment/interior design, you might want to try Conformal first and, if there's too many overlaying or extended UVs, try Angle Based.
Remember that you can do both methods on a single model by selecting the faces you want to Unwrap, use the Unwrap option with the method of your choice, then select the other faces (CTRL+I is the shortcut) and unwrap with the other method, then select all faces and, in the UV Editing window, select UV > "Pack Islands".

Angle based is mostly preferred for organic objects as it gives more organic and accurate results compared to conformal which is usually refined and less messy and used for hard objects.


text:
Faces disappearing after import to Unity
I have a model, and after importing it to Unity some faces are missing. It's not about normals, because in blender I activated backface culling and it is still visible. Here are some images :

As you can see, the current face in red outline is clearly visible, also I have backface culling active, believe me.

And here, in the red outline the same place - the face is not visible. Also, this happened not just here, it is also in random places all over the mesh. Additionally, as you can see in the blue outline, the preview has no holes (it is a bit small so I don't know if you can see it).
Also I uploaded the blend file. I couldn't upload it anywhere else because of it's size. As for the unity file, well just import the model into unity, and you will see. Please help, thanks!

You have massive n-gons making up your terrain, which makes for really bad topology. Regardless of whether this is what's causing the problem in Unity, you should really consider changing your modeling approach. That's about all I can tell you. :-/

If I were you, I would use the Shrinkwrap Modifier to retopo your terrain to something more low-poly, and then scale the whole thing down to a more reasonable size as well. Here is an example of the kind of result you could get from doing retopo. (I had to delete your original mesh data because it was too large.)

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Rigged body appears distorted when moving
I finally copied off the bones of a character I ripped from SFM, but when I rig them to the mesh itself (automatic weights option), when i move it in pose mode, it's heavily distorted aside from lower areas in the legs. Is there any way to fix this?

Seems that, some parts of your mesh are not attached to the bones,
Please try to use the Weight paint mode to add missing part of mesh to the respective bone.
Steps are shown below:

Red means full control, blue means no control, and in between those color, partial controls.

You are welcome, Please accept the answer, so it may be useful for others too. :)

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
how to fix python error exeptional illegal instruction
Please help; I'm stressed as I have a project to pass and I can't open Blender. It says something like Error: EXCEPTION_ILLEGAL_INSTRUCTION.
Please just help me, I'm really stressed, so please understand my attitude. The screenshot is blurred because Blender closes after 1 sec so it's hard to screenshot it).

did it work previously? Have you installed anything else that may have affected the Python setup of your windows machine? Have you tried reinstalling to a different folder? Can you install it as a different user? Have you tried rebooting?

Did you already tried the .zip version?

Which version of Windows 7 (32bit, 64bit)? All recent Updates installed?  Looks like Service Pack 1 is missing.

this is my answer guys for rob-yes i tried all bro.for brockman-im now installing the zip file and ill post the result here.for u metaphor im installing 64 bit .what do u mean by 1 service pack is missing?

guys.no matter how many times i install and uninstall it . it always says they is a script error in (the folder where i place blender) .

Related [https://developer.blender.org/T44851]  and https://blender.stackexchange.com/questions/63128/my-blender-doesnt-startup-when-i-try-to-execute-it

If you need to reply to users you need to '@' them, e.g. @RayMairlot, otherwise they won't be notified of your comment.

@RayMairlot thank you .im new to this site so i dont know a thing yet

guys i installed 32 bit .somehow it worked even though my pc is 64 .anyways thank you guys very much  i love each and everyone of you im so happy <3

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
how to make each pixel the same setting color in the rendered image?
I have a problem. And it will be a great help to me if you have a solution.Thanks a lot!I need to render a image of a model, and I need every pixel of the model the single color.
I want to render a image using Cycles engine and GPU Compute(these two are necessary). In Material, I set the model surface type "Emission" and a single color(e.g.RGB(255, 0, 0)),and in Render-Film, I set the Gaussian Width is 0.01(it can not be set 0). Then I render the image. Almost each pixel is (255,0,0),but there is still several pixels whose color are different.

We can see when we enlarge the picture,  some pixel's color is not the setting color(255,0,0). I need to calculate the pixels of setting color accurately, so I need every pixel is the setting color. I am new about the blender. And is there any solution to my target? Thanks.

If it is an identification of the rendered part you want (where every object has its own colour), use the ID render pass. In the object properties, set the "Pass Index" to a unique number. In the Render Layer properties, enable the Object Index pass.

Then use the IndexOB slot of the Render Layer node to render the colours. For each pixel, this slot will give you the value of the "Pass Index" property you set on the object. You can use a ColorRamp node to map from a number to a colour; however, that accepts only numbers between 0 and 1, so you have to divide the IndexOB by the highest number you used. In my example the background has index 0, the cube has index 1, and the sphere has index 2, so I divide by 2.

Use Compositor
Just render all object on transparent layer (enable Transparent in Film settings)
Alpha Convert node reveals all alpha, but for better control run Alpha pass through Math node. Its value defines threshold for alpha (as you can see two pixels were thrown out on the right)

P.S. As you have also mentioned Blender Render in tags: for this engine simply turn off AntiAliasing in render settings and that's it, no need in compositing.


text:
How do you detect collisions with fast objects like bullets?
I am currently trying to make a tank to work in the game engine. I have the body roughly done and am trying to get the gun to work. Just making the barrel create a shell at a high velocity doesn't work because the shell travels to fast for the engine to detect a collision. If I have the velocity down enough that the collision is detected, the shell doesn't really have enough speed.
Are there any other ways to make a shell behave like a bullet and still detect collisions? I've tried making the bullet larger, but that still doesn't always collide.

In the physics tab turn up the Physics Steps > Substeps. This will calculate physics in between frames.

Am I missing something really obvious? I can't find the Physics Steps option. I saw it just the the other day... https://i.sstatic.net/Cb5eG.png

Never mind that, I found it. Just looking the wrong place. This works, thanks.

Shouldn't that slow down the calculation time significantly? I don't know how physics intensive the OP's game is, but that might cause it to lag.

@Gwenn turing it up to 4 might, but having it at 1 or 2 should not effect performance greatly.

@Gwenn Right now the game is really rough. The models are kinda boxy and the colors are just slapped on. I don't know how it'll function in the final version, but right now it's doing pretty good even when I turn it up to 4.

Another option is to use a raycast sensor in front of the bullet object is probably the most performant and reliable solution. The ray length should be longer than the distance the bullet travels per physics frame (which should be 60hz, assuming you are not using physics substep).

The problem is that your bullet shell is traveling so fast that it goes clear through the target object between frames.
One option use can use to solve this is to simultaneously create your bullet shell and an empty shell that is longer than the original bullet and aligned with it. The player will only see the visible bullet shell, but you can use the invisible one to calculate collisions. Even if the visible bullet passes through an object between frames, the invisible one won't, which allows you to still catch the collision.

I've tried that, but it still doesn't always catch it. It also can make the physics of the impact look qwerky when it does catch it.

@Luke If you decide to go the empty-bullet route, you could solve the strange physics problems by instead using a string of overlapping individual empty bullets. CharlesL's solution sounds cleaner overall, but if you encounter lag, it might be nice to have another option like this handy.

Alright. I'll consider switching to this method if it starts lagging as I work on it. Thanks

maybe try using the near sensor to activate your logic when your bullet is within a specified distance from your target? Since it is a distance parameter rather than a collision parameter, it may behave differently. I haven't tested it but it might be worth trying.


text:
Why does the water keep escaping in my fluid simulation?
I am trying to do a water simulation. I have a small cup that I have created in blender (as an obstacle) and my water source (just an oval). My domain box is large enough to encompass both the glass and the water source:

Here are my settings for my domain:

I am using the default blender renderer. I have the cup setup as a collision for a water simulation and I have the sphere inside of the cup set as a fluid in a fluid simulation. When I bake the scene, here is what I get:

As you can see, the water is going through the cup, but the cup is having an effect on the water. Here is the rendered view:

How can I keep the water in the cup??

Consider adding some lights to the render so it's easier to see the problem.

As others have mentioned, it's the resolution that's key here. However, I see that you've baked at two separate resolutions: 120 for final and 45 for preview.
You can see from the render view that the "final" quality bake has less "escaping" water. To preview that in your viewport without rendering, change the "Viewport display" dropdown to "Final." The downside of this is that it may slow down your viewport.
If you want even better quality, you could either:

increase the resolution, or:
Alt-D to linked-duplicate the cup object, then scale it down a tad (maybe 95%) and position it inside the real cup. Turn off the viewport and render visibility. Set its parent to the "real" cup, but mark both as collision targets (Physics → Fluid → Obstacle). This will essentially shrink the bounds of your cup and may or may not completely solve the problem.

A follow up on 00Ghz answer, I would recommend turning up the resolution of the fluid mesh. It looks like some of the water is coming through, simply because it's so low res(it'll also improve collision detection).

Another technique that I overheard on IRC is to augment the scene with a collison object that is thicker than the rendered object.  Just adjust the hide_render property in the outliner (looks like a camera icon) or maybe the layer so it doesn't show up as a rendered object.

You should make the cup a collider object so the water respects the walls. If you don't do that water will just pass through. Choose the cup go to physics tab and choose collision.
It should work fine now.
Check here http://wiki.blender.org/index.php/Doc:2.4/Manual/Physics/Fluid
P.S. Agree with CharlesL, but make sure your current pc configuration can handle it.

Can you add some more information to this. A link perhaps? One liners can be vague..

3 lines actually :) . Well just check the manual. It gives a very detailed explanation http://wiki.blender.org/index.php/Doc:2.4/Manual/Physics/Fluid

Your answer was edited, also post the link in the answer, not here. :)

"go to Physics tab and choose collision" don't you have to do Fluid > Obstacle?

Yes however setting directly the collider property should achieve the same effect. There are is one main difference. If you go and set it from the fluid only the fluid is affected by the collider object. If you go from physics then all other object collide with the cup. I think the lat is the best for perfect realism. The collide from fluid, which acts like a bounding box may have errors sometimes. The bounding box acts like a invisible wall, there is no such wall in nature. It all depends on what you want to achieve.

@00Ghz, Setting the Collision property directly from the Physics panel does not make it collide with fluid objects.
Also the OP said that the cup is a fluid collision object. please read the question before answering.

He already did that.


text:
Selecting the nearest of overlapping faces
I'm working with a relatively detailed model, which some some inner detail. At the moment I am not concerned with the inner faces, I would just like to select the outer faces so that I can apply a material to them. However, whenever I try using the Face selection options I often end up selecting an interior Face rather than the external Face I'm looking for.

Are those faces on top I've selected?

Nope.

Is there any way I can use the Face selection tools to target the closest faces that intersect the point I click, rather than whatever the default behaviour is which typically catches these internal faces?
I've been trying with both the current Blender 2.68 and the older 2.49b.

Unless I'm missing something isn't this just because you are in wireframe view mode?
Press Z to go into solid view then make sure Limit Selection to Visible is enabled in the 3D view header as shown below:

Now your model will appear solid and you will be able to select whichever face is directly visible to you in the view i.e. you won't be able to select faces that are behind other faces.

That did it - thanks! (I'm obvious not very familiar with the interface yet. :P)

That'll come in time. Don't worry. Although this button can be a real pain sometimes (:

  One additional thing you can do is to select the inner verts and hide them. H hides selected verts, ShiftH hides unselected verts and AltH reveals all hidden verts. If inner and outer verts are connected, you can, if your topology allows it, use a Loop Select AltRMB and once the loop is hidden and the inner mesh is disconnected, select it with L.
  You can also use AltB to hide part of everything, the Mask Modifier or, if the inner mesh is completely separate, you can make it a separate mesh by selecting it in Edit Mode and pressing P and join them later in Object mode by selecting both and pressing CtrlJ.
  This can be an alternative to Limit selection to visible because sometimes the outer surface isn't entirely convex and overlaps. Then this setting will cause you to miss verts. Sometimes you want to select the rear verts of the outside surface as well. And sometimes you want to see the wireframe of your model, where this option doesn't exist.


text:
Connecting two points with a line/curve via Python script
This problem is absolutely driving me crazy for over a week now. All I need is a bezier curve that starts at point with coordinates (x1, y1, z1,) and ends at a point with coordinates (x2, y2, z2).
I attempted to write a function using basic coordinate geometry, and it works pretty well 90% of the times, but fails depending on domain/range of numpy.atan. (It creates a bezier curve between the two points, then scales and rotates it appropriately)
def connect_points(v1, v2):
    midpoint = [(1 / 2) * (v1[0] + v2[0]), (1 / 2) * (v1[1] + v2[1]), (1 / 2) *(v1[2] + v2[2])]
    distance = math.sqrt((v2[0] - v1[0]) ** 2 + (v2[1] - v1[1]) ** 2 + (v2[2] - v1[2]) ** 2)
    z_rotation = math.atan((v2[1] - v1[1]) / ((v2[0] - v1[0]) + 0.00001))
    y_rotation = -math.atan((v2[2] - v1[2]) / math.sqrt((v2[1] - v1[1]) ** 2 + (v2[0] - v1[0]) ** 2))
    bpy.ops.curve.primitive_bezier_curve_add(location=midpoint, radius=distance / 2, rotation=[0, y_rotation, z_rotation])
    bpy.context.object.data.bevel_depth = 0.010

I am not willing to spend another week trying to write different cases for arctan. Is there a simpler way?

Using API methods rather than operator.
Using methods outlined similar to those in Bezier-Spline with Python adds unwanted point .
Method to create a 2 point bezier curve object, with each end at defined global locations and the origin in the middle.  Notice the left and right handles types are set to auto resulting in a straight line.. (perhaps a poly would be simpler in this situation)
import bpy
from mathutils import Vector

def add_bezier(v0 , v1):
    v0, v1 = Vector(v0), Vector(v1)
    o = (v1 + v0) / 2

    curve = bpy.data.curves.new('Curve', 'CURVE')
    spline = curve.splines.new('BEZIER')
    bp0 = spline.bezier_points[0]
    bp0.co = v0 - o
    bp0.handle_left_type = bp0.handle_right_type = 'AUTO'

    spline.bezier_points.add(count=1)
    bp1 = spline.bezier_points[1]
    bp1.co = v1 - o
    bp1.handle_left_type = bp1.handle_right_type = 'AUTO'
    ob = bpy.data.objects.new('Curve', curve)
    ob.matrix_world.translation = o
    return ob

As an example of usage, select a mesh object and run  script below to add curves matching each edge.
context = bpy.context
scene = context.scene
ob = context.object
mw = ob.matrix_world
me = ob.data

for e in me.edges:
    pts = [mw @ me.vertices[v].co for v in e.vertices]
    o = add_bezier(*pts)
    curve = o.data
    curve.dimensions = '3D'
    curve.bevel_depth = 0.010
    curve.bevel_resolution = 3
    scene.collection.objects.link(o)

Note should you wish to not use the global coordinates, could make a single axis aligned curve, and align it using the methods outlined in Align Object to Vector using python (consider using an end as origin)

I would never use v0, v1 = Vector(v0), Vector(v1) as you're changing the type of v0 and v1. Also if you don't want to calculate handle points, you can set the handle types to AUTO.

@dr.Sybren Thankyou, changed to auto handles, using foreach_set on two points was a little overkill..  Changing the type of v0, v1 to Vector is exactly the intended result... could check to see if they are not vector types then convert them to vectors as they are only going to be used as vectors ... confusing.  Importantly wanted to point out to OP to use vectors and not reinvent the wheel with Euclidean distance formulae et al.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
'Nabla' setting for cloud texture
What does the 'Nabla' setting for a cloud texture do?
Nothing seems to be changing when i change the value. I'm tweaking a texture and i'm just curious how i can tweak it even better.
The tooltip says: Size of derivative offset used for calculating normal.

In order to calculate a normal, you can decide to take three samples in texture space. Typically that's the current sample location, and two other positions in texture U and V directions. This "nabla" value defines how far away these positions are. You will see how it works best on a high frequency procedural texture.
Typically tiny nabla values give minimal normal changes. Optimal is half the texture frequency (which you have to figure out by guessing unfortunately :).

As an aside, it's probably related to the "nabla" or "del" operator in mathematics, which relates to partial derivatives.


text:
Where can I change the background color of the notification in the Info header?
I'm using a theme, but I can't find the settings of this message which is almost unreadable. In the User Preferences / Theme / Info-tab  are only a few colors to configure. I also searched in the User Interface settings for something like 'Error Message', but I couldn't find anything. Is there any way to change the color of this GUI component?

To my knowledge it cannot be changed, it is defined by the Box group in the User Interface tab. The only bits of it I could change were the border color and the gradient. The text color is changed globally it seems.
One workaround you could use is to tick the shaded check box and set both values to 100, this gives a bright white which might help against a darker color.
Default

Brighter

Unfortunately you cannot change that background. It's one of the few colors you can't change.
However, you can change the text color in the Info category:

@JonathanWilliamson Thank you, it is the Header-Text that must be changed, the same is used for the info "v2.65|Verts..." therefore the other workaround works better for me.+1


text:
How should clothes be modified to fit a character model?
Starting with a prefab model of t-shirt I tried to scale it to fit better but the result isn't satisfying. Some parts of the models mesh become visible.

Is there any option or modifier that could add some spacing between body and cloth,
or should I try to tweak loop-cuts manually?

As satishgoda says in his answer.. the Shrinkwrap modifier is the way to go but it's best to not use a prefab in most cases. These are usually badly shaped or just have a different flow from the rest of your model. They can also prove to be very difficult to try and manipulate to conform to your object..
The best way to make clothing and fit it to your character is to select a part of the upper body in the shape of a shirt and duplicate it.
Here I have the upper body of a base mesh..

I next Tab into edit mode, select and duplicate the part of it that I would like his shirt to be and separate it from the body into its own piece with P > Selection. After this, I just scale it outward the tiniest bit with Alt + S to distance it a bit from the body then add a Shrinkwrap modifier to snap it back to the base mesh. This won't be perfect most times, (especially if you have bad topology) so it might require some tweaking on your part to adjust this..

After that, it's up to you now, you can join the meshes back together if you want to animate etc or you can apply the modifier and shape it a bit.. add pockets etc..

Those are some tight shirts, man

After following all these steps, you can also try using a Cloth Simulation on the clothes to add some character that loose fitting cloths tend to have like some droopiness and creases.  Once you run the animation, you should end up with a series of frames that all show different results.  Pick the one you like the most and then 'Apply' the cloth modifier at that frame. :)

ShrinkWrap modifier is an appropriate tool for this job.
You add a shrinkwrap modifier on the model of the tshirt and add the body as target. There is also an option to specify auxiliary target: like some other object that is parented to the body.
There are various options: one of it being "offset" that you asked in your question

http://www.blender.org/manual/modifiers/deform/shrinkwrap.html
http://www.blenderdiplom.com/index.php/en/tutorials/item/91-ressource-blender-modifiers-explained

You can take a look at this for further reference: http://wiki.tesnexus.com/index.php/An_introduction_to_Modifiers_in_Blender#Shrinkwrap

Another solution is to paint your own t-shirt on the body with the grease pencil tool and the Bsurfaces Add-on:

It's not only for retopology. You can paint different meshes on you body. Sometimes it's helpful to have another topology for your cloth than your body-mesh.


text:
How can I move a group along a path?
I created a very simple railroad using an array-modifier followed by an curve-modifier, after that I wanted to run a train on the railroad. The Locomotive is consisting of several grouped objects which can be moved as a whole.

When a add another curve modifier to the groups parent all other grouped items stay in their previous location.
How could the group be moved along the curve?

Chcek this movie (shows how to run train on the rails): https://www.youtube.com/watch?v=OM9Nso_ncEk

It seems you have added a curve modifier which will 'bend' the object along the curve.
What you want to do, is to go to the Constraints-panel and add a Follow Path constraint to the parent. From there you can tick Follow Curve and press Animate Path to make the train drive along the rail.

You forgot to explain why the other objects are staying on the initial position: Just parent the other objects to the Locomotive!

I understood that the objects already had a parent from the question, but I just edited in that the constraint should be added to the parent. Thanks.

Objects in groups don't move together like in 3D Max. You have to parent the objects:

Select all the objects that need to move together.
Select the parent (the one guiding the rest) a second time (holding shift).
Ctrl + P -> Set parent to Object (Keep transformations)

Alt + P = Clear parent

The "Keep transformations" part is so the object stays in place (an issue with world / object space).

They'll move together if you use a Group Instance.


text:
How can a RGB color value be copied from reference image or render?
In the render view one can see the RGB values while pressing LMB.

Can these values be copied to the clipboard in order to paste them into a color widget?

Blender can copy any color value from the 3D viewport directly into the color widget.
The little icon "Sample data block from the 3D view" allows to pick a color value:

Haha, nice selfie ;).

@Gonzou I hope this helpful for others, I stumbled over this today (haven't seen this icon in 2 years of twiddling with Blender).

I feel your pain. Sometimes it's is hard to discover the simpliest thing. Happily this site exists :).

@stacker that is how it was with me and the 3D cursor.


text:
Why is my entire render white?
I attempted to render my first short movie in Blender (2.68) today, just a 3D structure of a molecule rotating. I imported it using Atomic Blender converted it to a solid object and then rotated the camera around it. When I play the animation in 3D view, it looks fine, but when I render it as an .avi movie, all I see is the background, the molecule is invisible.  It seems that the molecule is just white on white, so I need to add textures to the molecule.
Is there a way to make it look like it does in 3D view without having to add the textures to every atom manually?
I uploaded the file here: http://s000.tinyupload.com/index.php?file_id=21234281675843448966

Based on the file that you uploaded and your question (which I have now edited accordingly), you are actually asking about material settings.
The model does have materials. The problem was that the World color, specifically the Ambient color was set to full white and was overriding everything and making the entire scene look as such.
Here is your render with your current settings.

Here is the same render with the Ambient color set to full white and the others changed to show the contrast.

Here is your render with only the world settings changed (to the default settings) and a hemi lamp instead of the point lamp that you had to make it a bit brighter.


text:
Particle Settings Link/Transfer
I'm just wondering, is there a way to transfer Particle System Settings from one .blend file to another? Something related to how appending and/or linking works.
For example, I have  x.blend which contains carpet particle settings and I want these settings to be transferred to 'y.blend', which currently doesn't contain any at all.
I'd love to hear your ideas.

ParticleSettings data is not readily accessible in append/link browser.
The easiest way I found to reuse it in another file, is to append or link the mesh object using it. Once the object is in the scene, you'll find every ParticleSettings data used by the object available to every other objects in the new file.

Except that you won't be able to edit its settings. If you meant to use it "as is" then it's perfect. Otherwise I don't see a way to gain access to such settings :(


text:
Blender 2.8 Python Addon: How to register a Button?
I want to achieve a simple button (including the possibility to map a shortcut to it) to toggle the automerge option on and off.
Obviously this is wrong:
bpy.types.VIEW3D_MT_mesh.append(toggle_automerge_button)

But, how to find the right register_class?
I am sure one could define a shortcut in the preferences, but for several reasons I'm interested in this add-on solution:

I'm trying to learn Python.
This is supposed to work as an example to include other things later.
an extra button provides the possibiltity to put it in the Q-menu

bl_info = {
    "name": "Toggle Automerge",
    "blender": (2, 80, 0),
    "location": "View3D > Mesh",
    "description": "Toggles Automerge on and off",
    "category": "Mesh",
}

import bpy

def toggle_automerge(self, context):

    if bpy.context.scene.tool_settings.use_mesh_automerge is False:
        bpy.context.scene.tool_settings.use_mesh_automerge = True
    else:
        bpy.context.scene.tool_settings.use_mesh_automerge = False

class ToggleAutomergeOperator(bpy.types.Operator):
#class ToggleAutomergeOperator(bpy.types.ToolSettings):
#class bpy.types.ToolSettings(bpy_struct):
#class HelloWorldOperator(bpy.types.Operator):
#class OBJECT_OT_add_object(Operator, AddObjectHelper):
    """Toggle Automerge"""
    bl_idname = "mesh.toggle_automerge"
    bl_label = "Toggle Automerge"
    bl_options = {'REGISTER'}

    def execute(self, context):

        toggle_automerge(self, context)

        return {'FINISHED'}

# Registration

def toggle_automerge_button(self, context):
    self.layout.operator(
        ToggleAutomergeOperator.bl_idname,
        text="Toggle Automerge",
        icon='PLUGIN')

def register():
    bpy.utils.register_class(ToggleAutomergeOperator)
    #bpy.utils.register_manual_map(add_object_manual_map)
    #bpy.types.VIEW3D_MT_mesh.append(toggle_automerge_button)

def unregister():
    bpy.utils.unregister_class(ToggleAutomergeOperator)
    #bpy.utils.unregister_manual_map(add_object_manual_map)
    #bpy.types.VIEW3D_MT_mesh.remove(toggle_automerge_button)

if __name__ == "__main__":
    register()

wm.context_toggle
For a simple toggle of a boolean property with a context path can use the bpy.ops.wm.context_toggle(data_path="") operator.  For the example in question
data_path = "scene.tool_settings.use_mesh_automerge"

To add as a layout element
op = layout.operator("wm.context_toggle")
op.data_path = "scene.tool_settings.use_mesh_automerge"

Removes the need to write an operator simply to toggle a property.
import bpy

def toggle_automerge_button(self, context):
    op = self.layout.operator(
        "wm.context_toggle",
        text="Toggle Automerge",
        icon='PLUGIN')
    op.data_path = "scene.tool_settings.use_mesh_automerge"

def register():
    bpy.types.VIEW3D_MT_edit_mesh.append(toggle_automerge_button)

def unregister():
    bpy.types.VIEW3D_MT_edit_mesh.remove(toggle_automerge_button)

if __name__ == "__main__":
    register()

Note could also simply set the property
def toggle_automerge_button(self, context):
    ts = context.scene.tool_settings
    layout = self.layout
    layout.prop(ts, "use_mesh_automerge", toggle=True)

Some general feedback:

Don't use x is False, use x == False instead, or even better not x.
In an operator, always use the passed-in context instead of bpy.context.
Don't pass any parameters you're not using (in this case self).
You can simplify some code.

def toggle_automerge(context):
    ts = context.scene.tool_settings
    ts.use_mesh_automerge = not ts.use_mesh_automerge

The class should be named MESH_OT_toggle_automerge. This is standard naming in Blender; the class name should follow the bl_idname.
bpy.types.VIEW3D_MT_mesh indeed doesn't exist in Blender 2.80 any more, but since you don't give any indication as to where you want the button to show, it's hard to give an alternative. Maybe bpy.types.VIEW3D_MT_view?
If you want to learn Python, check out Scripting for Artists and The Little Book of Python Anti-Patterns.

Any ideas on how to add item to the quick favorites menu.?

@batFINGER I looked at the Blender sources, and there doesn't seem to be any way to do that from Python. Managing the quick favourites is really up to the user.


text:
Is there any way to insert f-curves keyframes by script?
I'm writing a python script for animation in Blender and I'm looking for a way to insert keyframes automatically.
So far I have:
import bpy
import mathutils as m
import math
import random

armature = bpy.data.objects['Armature']
curves = armature.animation_data.action.fcurves

def add_curve():

    action = bpy.data.actions.new(name = 'Test')
    curves = action.fcurves

    keyframes = [0,10,30] # defining keyframes for insertion
    for c in curves:

        for k in keyframes:
            c.keyframe_insert( data_path = ??)
            # Is there another method ?

Thanks !

You can find the data paths by right-clicking on the property and choosing 'Copy Data Path'. This gives you something like pose.bones["Bone.001"].rotation_euler.
With those you can call keyframe_insert directly on the armature object:
for ai in range(3):
    armature.keyframe_insert('pose.bones["Bone.001"].rotation_euler', ai)

This creates a keyframe for array indices 0, 1, and 2, for X, Y, and Z angles. If you want to use Quaternions, make sure you also use array index 4.
The keyframe_insert function will create a keyframe with the current value of the property (in this case the rotation); if you want to store another value, first change the property itself. You can also pass frame=f if you want to store the current value at a different frame.
By calling bpy.data.actions.new(name = 'Test') you always create a new action, which may not be what you want. Calling keyframe_insert directly on the armature will automatically create a new action if needed, so that's quite handy.
For more info, see the documentation for keyframe_insert.


text:
How can I start using Freestyle?
Blender 2.67 is out, and one of its main features is the long-awaited Freestyle integration.
I'd like to try out Freestyle, but it doesn't appear in the "Render Engine" dropdown. I assume some assembly is required. What will I need to start using Freestyle on Windows and Linux?

Try to refrain from using version specific tags, we are still trying to figure a way of going about this, for now just specify the version in your question.

@iKlsR, I actually didn't add that tag; it was added by Dan the Man.

You're right, it doesn't appear in the render engine dropdown.
In version 2.66 it is in Render tab > Post Processing > Freestyle.
Thanks to RagnarSun, in 2.67 (and 2.67a) it is in Render > Freestyle.

is not in 2.67a under Render->Freestyle ?

I'm in 2.66.1, and Freestyle isn't appearing anywhere in the Post Processing section. Did it move, or is there another reason it isn't appearing in the version found in Ubuntu's repositories?

I did a tutorial on this recently: http://www.youtube.com/watch?v=J3LI_MTnY7U
First five minutes answer your questions(but there are many more details on the engine later on).
When your in the Blender Internal render engine go the render panel and at the bottom check Freestyle. Then go to your render layers tab. Add a new line set and your good to go.
Cheers,
-Charles

Links to external sources are discouraged on Stack Exchange.

@DantheMan - They're completely fine so long as you summarize the relevant contents so that if the link goes down, your answer has useful information.

@RustyTheBoyRobot, exactly.


text:
Has anyone started a project similar to Grasshopper (Rhino) for blender?
For a while now I've been interested in prototyping parametric ways to generate geometry. The nodeview of Grasshopper reminds me a lot of the nodeviews we have in blender.
I was thinking, with the new pynodes feature maybe somebody has started to do work on node based parametric geometry creation, or does pynodes not make that possible?
edit: I'm already able to write scripts that generate parametric geometry  using BMesh API.
edit2: example video of Grasshopper in action

Sverchok
There is such a tool, it is called Sverchok. It's russian for "Cricket" as a sign of respect to Grasshopper. Sverchok is a Blender add-on that works on all platforms, and has over 180 node types.

The project github page: https://github.com/nortikin/sverchok/ (including download links)
Ask questions on the issue tracker

To get a sense of what people are making with Sverchok checkout the google+ group

sverchok community

At this point Sverchok is the closest thing to Grasshopper for Blender pyNodes. The development versions of Sverchok are worth checking. 50+ nodes done.

Not really.
There have been experimental projects, but nothing too usable from what I've seen (there was some test using PyNodes with BMesh API: link

In my opinion writing a script makes more sense. You probably will have to import a few libraries(which I don't think you can do with pynodes). Geometric PyNodes hasn't been officially added yet. It's just experimental add-on at the moment.
You will need to have a fair understanding of scripting and python - whatever the outcome. So if you don't already know python, now is the time to learn.
Here's the link to geometry pynodes if you're interested: https://www.gitorious.org/blender-trunk/addons/trees/geometry_nodes/py/scripts/addons/geometry_nodes

PyNodes is not only in a development version, its in 2.67 release.

watch a few Rhino videos and you might change perspective. I imagine maybe a blend of scripting and node combinations would be possible. (i didn't downvote btw)

@zeffii, OK, I'll check out a few. I know it wasn't you, but I did deserve that downvote for having the wrong information :P

@zeffii if your interested, I added the geometry pynodes repository to the answer.

You may want to try sverchock:

Homepage: http://nikitron.cc.ua/sverchok.html
Repository: https://github.com/nortikin/sverchok/

Here's the description from author's page:

Sverchok - is parametric tool for an architect, designer, lets you to
  programm object's form without knowing program longuages.
Breafly, it is node programing of geometry, but in completely virtual
  way (with ability to bake geometry to blender). You would work with
  pure data, as floats, matrixes, lists, formulas, etc.
Those who familiar with Houdini or Rhinoceros 3D might know the visual
  scripting language Grasshopper, which Sverchok has been inspired by.
  Using a similar node based visual programming principle,
  Ukrainian/Russian artists Nikita and Alexander trying to bring this
  functionality to Blender users.
To understand what is parametric in ARCHITECTURE you'd better see my
  breaf explenation here.


text:
How to make a displacement map from existing 3d geometry
In true stackexchange tradition. I am interested to see how people approach generating a good quality displacement map from existing 3D geometry. For completeness, list the qualities that make up a good displacement map. I'm not looking for links to external tutorials, but short descriptions of your methods are welcome.
My current method involves setting up a orthographic camera viewing the geometry, and setting the far and near clipping field to the extents of the geometry. Then render the image and extract the z-buffer by normalizing it so it becomes a grey scale and outputting that as a file from the compositor.
I will elaborate on my method as an answer, if no one offers a more convenient procedure.

Hm, I always used the other method, it is ment to do that. The problem with this is that you can only make the map in the three or maybe more camera projections (Ortho, Perspective, Panorama, maybe others). Using baking has more freedom, but limitations with more complex geometry. Hard to decide. I guess it depends on the situation what shall be used.

@zeffii, Could you elaborate on your method? It seems to be exactly what I'm looking for to do 3d cnc milling from my blender files (some of the more tested 3D CAM workflows use heightmaps and your above picture looks most representative of what is normally used).

@g19fanatic OK, i'll do a small writeup as an answer!

The best way I know is to use Baking.
You must have your plane (or whatever the low-res object is) UV mapped with a new image assigned to all the faces you want to bake to (select faces in edit mode, select/reselect the image in the Image Editor).
Then in the Render settings, at the bottom is the bake panel.

Normalized allows you to specify a maximum distance
Selected to Active is important too, enable it to ensure the displacement is baked from all selected objects to the active/last selected object.
Example:

(Note that baking doesn't play nice with overlapping geometry - in this example the underneath of the sphere and torus was deleted, and the sphere moved up to ensure it doesn't collide with the torus. Not doing this will produce artifacts.)

Is the Displacement bake mode a Blender Render-only feature? I don't see it listed in the drop-down menu when I'm using Cycles. Just curious.

The described workflow wasn't completely clear to me. I missed that you had to have a plane above it to bake on to. See this site for the complete workflow. https://b3d.interplanety.org/en/baking-displace-map-from-geometry/

Hi, this doesn't seem possible in bender 3.3.1, any idea why ?

One way to solve it is with a gradient texture, it's crude but it works. This also gives you lots control over the output. If you want to separate objects but need to have them appear on the same plane, this works. If you want to blend multiple details, this works (using translucent textures).
View your object from the side, in edit mode hit u and project from view (bounds).

Assign a white-black gradient. Make the object self illuminating.

Render from top. Make the camera orthographic and adjust the scale to fit the object.

This only works for flat renderings. For the height above a sphere (such as mountains on a planet), this does not work, use baking. This solution can work in some conditions, making it an alternative to baking.

this sounds interesting, but rather complicated, could you show some images to help me understand this method?

I found the image upload button.

OK, I tried this. Interesting approach height map from ANT Landscape

The trick here is to make the distance between the near and far clipping plane as short as possible.

Set the camera to orthographic and render using blender internal, no lights needed, or materials, all we are interested in is the z-pass
in compositor convert the Z-output to a linear grey scale using normalize and color ramp (altho other ways are possible)
the short distance between the clipping planes helps bring out more detail. Suzanne is not a great example, you could bring the far clipping plane up to the tip of the ear where it first starts to fold away from view

Folding away from view, so can clip beyond it.

A tilted Suzanne gives more obvious topographic range

That's all there is to it.

Thank you for the writeup! Learning to use nodes in the compositor is an interesting topic for someone who solely uses blender for modeling (not rendering nor animation).


text:
Cause Blender to cleanly exit with non-zero error code
I want to run a script in Blender in background mode. If the script fails, I want to print my own error and have Blender exit with a return code of 1. I can do this:
print("script failed", file=sys.stderr)
sys.exit(1)

In older versions of Blender e.g. 2.69, this causes Blender to print stuff like:
Error: Not freed memory blocks: 5
IDProperty group len: 128 0x7f98be0ff938
TEXT_OT_run_script len: 168 0x7f98be064938
wmOperatorPtrRNA len: 24 0x7f98be5f1c18
IDProperty array dup len: 128 0x7f98be16deb8
wmOperatorReportList len: 40 0x7f98be0b1078

Blender quit

In 2.73a, it prints:
Error: Not freed memory blocks: 5

Which is better but not ideal, because it might make it hard for a user of my script to see what the real error is.
Is there a better way to make Blender exit?

maybe it would be easier to just hide the output : see this http://blender.stackexchange.com/a/28646/5113

@Chebhou thanks - good suggestion, but stderr has a special meaning in the environment I'm using: it's for debugging and error messages. I suppose I could wrap the Blender execution in another script that redirects stuff from stderr to stdout... hoping not to though :)

you don't need to wrap blender execution, in the CMD call you add the redirect command 2>&1


text:
bpy and PIL / Pillow crash
I posted this on BA but I'm posting it here as well.
I'm looking into manipulating images with Pillow in custom node trees. If I install Pillow and copy the PIL directory from
C:\Python34\Lib\site-packages
to
\bin\2.73\python\lib\site-packages
then I can import PIL just fine. I can save .png image files, but saving to any other image format type crashes Blender.
But if I run Python 3.4 in a command prompt, I can import PIL (the one from my C:\Python34 installation), and read, modify and save to any of the supported image formats.
The problematic code:
import bpy
import os
from extensions_framework import util as efutil
from PIL import Image, ImageEnhance, ImageFile

def realpath( path):
    return os.path.realpath( efutil.filesystem_path( path))

brightness = 2.0
# Use an image loaded into Blender.
img = bpy.data.images['preview.jpg']
orig = Image.open( realpath( img.filepath))
ImageFile.MAXBLOCK = max( orig.size) ** 2

# Brighten the image.
enhancer = ImageEnhance.Brightness(orig)
bright = enhancer.enhance(brightness)

# Save the new image.
img_path = ( os.path.sep).join( realpath( img.filepath).split( os.path.sep)[:-1])
img_name = realpath( img.filepath).split( os.path.sep)[-1][:-4]  # Remove '.jpg' from end
new_img = os.path.join( (os.path.sep).join( realpath( img.filepath).split( os.path.sep)))

# The following line crashes Blender.
# But if the string is changed to "_mod.png", it works.
bright.save( os.path.join( img_path, img_name + "_mod.jpg"))

What could the problem be? Why can't I do this from within Blender without it crashing?

related: http://blender.stackexchange.com/questions/5287/using-3rd-party-python-modules and make sure blender and pillow are using same python version. If this doesn't solve your issue, please add your code to the question, otherwise it is just guessing.

@poor This doesn't work, unfortunately.  I've tried using the system Python 3.4 by removing the Blender installation's python directory, but the error persists.  I'll update my post with the problematic code I'm using.

@swingsoneto Any news on this? I am having the same problem. I need to use pillow in blender for creating and saving images (tga files). I can open and save pngs but it crashes when working with tga's.

@Michael no, not really.  I'd resigned myself to only saving to png.  It's better than jpg's, and certainly better than nothing. :)

@swingsoneto There is a workaround. http://stackoverflow.com/a/21479241/3069477 Works for me :) (with format = "tga")

I am using Pillow successfully on MacOSX but maybe not in the cleanest way.
In a nutshell, I'm using Blender's own python34 and I add a path to the proper version of Pillow in my script

Download Pillow for python34 and extract it in a folder – on MacOS, macport & pip automatically take care of that for me
Take the path to Pillow within that folder
In your python script before you import Pillow, add the code below

Python
import sys
path_to_pillow = 'C:/somewhere_on_your_disk/pillow/'
sys.path.append(path_to_pillow)
from PIL import Image

I'll try to run your code and see if it works on my side.
Could you copy the error you're getting when using PIL with Blender ?

If you use pycharm you can point at blenders python binary
\2.79\python\bin\python.exe
After that In the pycharm terminal run this:
"pip install --target=C:\blender_location\2.79\python\lib Pillow"
.

I had the same problem. For me, the issue was that I had installed pillow with the package manager of my linux distribution, however I had downloaded blender from the website.
I assume that the problem is a different libpng version that pillow was using, and that blender was linked against.
To fix the issue, I downloaded blender from my linux distribution instead. Maybe you can try the same?

I also figured it was an issue of disparate libjpeg versions (and several other libs as well).  But if that's the case then that's certainly a solution for personal use, but not for an addon intended to be distributed, since I won't be able to predict what version of Blender the user is going to be using and where they will have obtained it.


text:
Origin not updating with transforms
I moved the object below with the grab tool and the origin did not update.

This occurs whenever the object is moved (with any transform tool, in any manner).  Nothing in this scene has parenting.
I believe that this issue may have been aggravated by repeated use of setting the 3D cursor position, then setting object origins to it.  As a matter of fact, they move together!
Here are some things that I tried to remedy the situation, none of which worked:

Setting the object's origin to its geometry
Clearing object origin
Applying transforms
All items under the "snap" and "set origin" menus.
Selecting different objects (the origin never moves... it might still be the origin of the object in the picture)
Selecting/deselecting all objects
Saving to a different file and opening.

As, err, intriguing as it is that the origin is permanently locked into the 3D cursor's place, I want to know if anybody can find a solution to this.

Note that the object origins (the yellow/orange dots) actually did move, the 3D cursor and manipulator handles are the things which did not move.

Perhaps you have a decimate modifier on the objects containing the replacement meshes, in this case remove the modifier.

This is because your pivot point is set to 3D Cursor.

To have the 3D manipulator widget move with the model and not stick to where the 3d cursor is, you can use the default Bounding Box Center or just press , (comma). If you work with both, you can also use its shortcut . (period) to quickly switch between them.


text:
blender2ogre 0.5.8 export error - ReferenceError: StructRNA of type Mesh has been removed
When trying to export a mesh from Blender to Ogre using the blender2ogre exporter I'm getting an error I have never encountered before :
ReferenceError: StructRNA of type Mesh has been removed.
location: :-1

Through the process of elimination I've figured out the error only occurs when I export with modifiers on my mesh, in my case the edge split and armature modifiers. Has anyone experienced this error before and what steps can be taken to remedy it?
I have had a search around on google where some people have suggested it is to do with unparented bones, however when I deleted my armature and tried to export I had the same issue. If I delete the APC mesh and replace it with a simple square then export I have no issues. The error seems to be tied to the specific mesh.

so applying the modifiers solves it? You may find resistance to this kind of question here because the addon is an external addon (this doesn't mean it's a bad question, just that it's likely to affect very few people). The addon also doesn't seem to have active development over the last few months..

@zeffii isn't it more that this is a bug report rather than a question?

I'm inclined to call it that too, but I also see no harm in suggesting to update to the latest addon revision. We can vote to close this anyway.

This question appears to be off-topic because it is about an external addon, which is not the latest revision of said addon. We can best refer author of the question to contact the addon developer for better assistance.

It could perhaps help to update your version of the Orge3D exporter from 0.58 to 0.60 from  the bitbucket page. It seems the version you use (0.5.8) is written for blender 2.65 and the latest 0.6.0 version supports blender 2.66. Failing that I suggest taking steps to contact the guy who currently maintains the addon for advice.

Thanks Zeffii, upgrading to 0.6 seems to have fixed the problem, I wasn't even aware of this latest version.

Great, now at least more people can benefit from the advice to update! :)


text:
How do I set a background image while I am editing?
How do I put a backdrop behind the model that I am creating so that I can compare the picture to the model while editing?

See Cannot find Background Images feature in Blender 2.8 if using 2.8.

Background images are gone in Blender 2.8, at least in the traditional pre-2.7# sense. The old system was aging and prone to failure ... and it has been retired due to inherent limitations.
Information was stored as User Interface data, as such if you opened a file without the Load UI option ticked they would appear to be missing, and any previously assigned background images mysteriously absent.
Saving the file would then silently erase them, permanently eliminating without warning or explicit user intervention.

As an alternative to Gwenn's answer, you can also use an empty. Empties in Blender now have an image type.

This is very useful as it gives you more control over positioning your references and users coming from other software can use this method as it is the norm for them. (most Max users I know use frozen planes with textures when modeling).
Control the image object properties in the "Object Data" tab:

Once added, you have a lot of control over the reference. You can adjust the opacity, scale it, rotate it etc. Much more flexible than the common way using the N panel in the other answer. You can also lock it so it behaves the same way. Another advantage this has is that it's visible in both orthographic and perspective views.

This is a really great solution. I've been wanting to view my reference photo in the viewport directly on top of my model (with transparency) to compare more easily. By using one of these image empties with transparency, and using object > display > x-ray, you can do so in the viewport even with cycles! Thanks for this.

You can also use this to setup a virtual multi-monitor reference display like this: example

In the View Properties panel (accessed by pressing N), there should be a category called Background Image. To enable it check on the box to its left.
To load an image, press the 'Add Image' button. All of your relevant image and display options are included in that menu.

However, remember that background images will only be displayed in:

Camera Perspective view (Numpad 0)
Any of the preset orthographic views which you can access using the keys on the number pad:

Front/Back (Numpad 1 or CtrlNumpad 1)
Right /Left (Numpad 3 or CtrlNumpad 3)
Top/Bottom (Numpad 7 or CtrlNumpad 7)

Background images will not show in perspective view. To switch between perspective and orthographic view use Numpad 5
Background images are used for reference only and will not be part of the final render.

Also note that dragging and dropping images into the 3D view will add it as a background image.

When you render it. Can you see it?

@Meri No, this is only for editing purposes. You'll have to use another technique for that.

Starting with Blender 2.8, you can do Add -> Image --> Background

Release notes documentation

When I am trying to adjust a camera's transform to match an existing image, I add the image as a background for the camera, not the viewport. The "Image > Background" answer by @MCCCS adds an object into the scene with a specific rotation that matches the current camera; when you adjust the camera the image no longer fills the viewport.
The simplest way is to drag an image from the file system onto the viewport when your camera is active; this will add a Background Image to the active camera.
Alternatively, select the camera, and in the Properties panel select the Object Data Properties tab (green camera icon near the bottom), scroll down to the Background Images section and click on Add Image.
The image remains unchanged on screen as you transform the camera until you can get the grid or objects lined up with your reference content.

Answer and image from Blender 3.3


text:
How do I 'pan' the camera around an axis for an animation?
I want to be able to have the camera rotate around an axis, while still remaining pointed at the center of said axis. The camera should pan around the model in a circular motion with the model always in the center of the view. How do I do this?

You can parent the camera to an Empty to do this. While in the 3D Viewport, press Shift + S and select Cursor to Selected or Cursor to Center. Add an empty (Shift + A > Empty > Plain Axes). Parent your camera to that empty by selecting the camera first then hold shift while selecting empty. Press Ctrl + P and select Object (Keep Transform), now you can rotate the empty 360 degrees based on Z axis so your camera will pan around in circular motion.

Hope you find this useful!

This is a lot more professional than the idea I had in mind, I was going to set the camera's center to origin and then rotate the camera, your way is a lot cleaner. Great answer.

Instead of parenting, it would be much better to use the Track To constraint. That way you can animate the location of your camera, without having to worry about its rotation.

@jesterKing feel free to add another answer if it sheds more light or an alternative approach to the question.

@aditia With this method is there any way you have found to make the camera spiral in while focusing on the subject?

@JustWondering you can use constraint for that, like track-to constraint

Another trick that might help is to track the camera to a target.
If you have a specific object you want to orbit around and the motion doesn't have to be absolutely circular then you can add a Track To constraint to the camera with the object in question as your target. If you keep Space as World Space <-> World Space, you'll want to switch the Up: to Y and the To: to -Z.
Instead of directly tracking to the object in question you could add an empty of course, and make sure the empty is where it should be. You then can move the camera freely around, it will keep tracking its target. Set your key frames for camera location where you need them, rotation is handled by the Track To constraint, keeping the camera trained on its target.
The quick way to do this is to first select your target, then Shift + select your camera. Shift + Ctrl + C will give you a constraint popup, select Track To. The first selected target will be automatically assigned the target for your constraint.

This is my default setup: a sun lamp and a camera tracking to an empty. (You can also select the camera, then select the target, then press Ctrl-T and select "Track To" for the same effect.)

Script versions
This is a reduced version of https://blender.stackexchange.com/a/176762/15543  The idea here is to pan around z axis at (0, 0, 0) but keep the focus of original camera.  The default scene cube is at (0, 0, 0) the default camera focus does not pass through (0, 0, 0)  The scripts make a duplicate camera with same transform as original scene camera such that they can scribe or follow an orbit, starting from original camera
Add empty parent
Quite simply, duplicate camera, add empty at desired location, parent camera to empty. Now rotating the empty on its local z axis makes the camera scribe a circular path.
The only property to set is the z https://blender.stackexchange.com/a/176762/15543rotation of the empty.
import bpy

context = bpy.context
scene = context.scene
cam = scene.camera

if cam:
    bpy.ops.object.empty_add(location=(0, 0, 0))
    mt = context.object
    mt.empty_display_type = 'SPHERE'
    mt.empty_display_size = 4
    cam2 = cam.copy()
    cam2.parent = mt
    context.collection.objects.link(cam2)

Note since am using the global origin as pivot point, adding a LOCAL to LOCAL copy transform constraint on copy to original, will adjust radius automatically based on originals location.
Move the camera by rotating the empty.  Possibly worth noting that to see for example a turntable rotation, without reference points like grid and directional lighting could have stationary camera and spin the cube, or spin the whole scene (sans cam), spin the camera as shown, or orbit a circle path... result would appear same
Drivers

To animate with drivers. Add a driver to the z rotation euler property of the empty
driver = mt.driver_add("rotation_euler", 2).driver

Set the expression. For examples below No driver variables are needed as frame is "known" (a member of the driver namespace) to be  current frame, as is the noise module
Spin 1 rev per 24 frames. Zero at frame 1.
driver.expression = "2 * pi * (frame - 1) / 24"

Random location on ring
driver.expression = "2 * pi * noise.random()"

IMO particularly handy for a "turntable" animation.  The image above switches scene camera to active object. The first half is driver 1, the second driver 2.
Keyframes
Adds a random location at every 10th frame starting from 1, sorted by order of angle.
frames = range(1, 250, 10)
angles = sorted(random() for f in frames)
for f, a in zip(frames, angles):
    mt.keyframe_insert("rotation_euler", index=2, frame=f)

Make an orbit
Here we make a circular orbit. A camera with a follow path constraint with follow curve, tracking -X axis with Y up focuses camera with no transform on the path center.
Here is a script to add orbit, set up a new camera copy, put it on orbit.

Once again notice that the camera is not focused on (0, 0, 0) and orbiting gives the impression of cube rotating on (0, 0, 0)
Now only the offset of the follow path constraint need be animated. 0 is same position as orginal. 1 is same position (one full orbit)  At 0 and 1 the added camera match the orginal scene camera.
import bpy
from mathutils import Vector, Matrix
context = bpy.context
scene = context.scene

while scene.collection.objects:
    bpy.data.objects.remove(scene.collection.objects[0])

cam = scene.camera
mw = cam.matrix_world
r = mw.translation.xy
r3d = Vector((r.x, r.y, 0))

h = mw.translation.z
from math import degrees
R = Matrix.Rotation(
        r.angle_signed(Vector((0, -1))),
        4,
        'Z',
        )

T = Matrix.Translation((0, 0, h))

bpy.ops.curve.primitive_bezier_circle_add(
        location=(0, 0, 0),
        radius=r.length)
path = context.object
cu = path.data
cu.transform(R @ T)

cam2 = cam.copy()
cam2.matrix_world = Matrix()
fp = cam2.constraints.new('FOLLOW_PATH')
fp.target = path
fp.use_curve_follow = True
fp.use_fixed_location = True
fp.forward_axis = 'TRACK_NEGATIVE_X'
fp.up_axis = 'UP_Y'

context.collection.objects.link(cam2)
context.view_layer.update()

cam2.matrix_basis = cam2.matrix_world.inverted() @ mw
scene.camera = cam2
context.view_layer.objects.active = cam2

Pros. Can see the orbit, can edit to be non circular.


text:
How to make a sky environment map?
If I have a scene that I want to add a bounding box to that makes it look like it is outside during the day. In the past I have just added a big UV Sphere to my scene that surrounds the entire scene and added a texture that looks like a sky. This is a bit clunky and it can appear that the sky is too close and it makes it look fake.
Is there a better way for me to create a background for my scene? Is it possible to make an environment map for the sky? I am using the default Blender renderer.

Are we in Cycles? BI?

I feel to vote to close this, but if you can at least add a screenshot, maybe we can keep it open?

To add an image as your world background, you need to set that image as a texture input for the world object. To do this, add a texture to the world by selecting the world object in the Outliner, then selecting the 'Textures' tab of the Properties panel and adding a new texture. Go to the Preview submenu and select the world tab, so that you are editing the global texture. Finally, under the type of texture, select 'Image or Movie', and select the image you wish to use.
For a more detailed description of the subject, go to http://pages.uoregon.edu/art3d/composite/composite25.html.

Hi Gwenn, whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.

(My above comment is autogenerated by a userscript btw - your answer is good but could be better if you include the details from the link).

@RolandiXor I restated the essential points of it, but the link has a more tutorial-style format for readers interested in a greater level of detail.

Thank you Gwenn! I think this is a great solution. Thank you for cleaning up my question as well.

Generally I find when  using an equirectangular environment map, I have to enable "Real Sky" in the world settings, select "Equirectangular" mapping coordinates for the texture and also enable Horizon in the influence panel (so Blend and Horizon are on 1).


text:
Export to glTF with PBR materials ( facebook integration)
I'm experimenting with 3D posts on Facebook on the only supported format is binary glTF. I'm using the Khronos exporter and their PBR node groups.
Has anyone been able to export a model with PBR and display it on facebook?
I get:

the model without my PBR material when I use the Metallic Roughness node tree
an "GLB File Invalid" error from facebook when I use the Specular Glossy node tree

Am I missing something? Thanks!

You're doing good to use the PBR node inside Blendere but include the textures (make them internal), then save the .blend file.
THEN export to .GLB, it should work. Relative path issues mess the drag-drop on Facebook post.

don't forget to mark texture relative path (included) when exporting.

That's what I was missing! Thanks so much!

In Blender 2.8+ you can use a Principled BSDF node instead of the custom node groups.


text:
Snap object on top of surface of other object
How do you snap an object on top of the surface of another object? I tried using the shrinkwrap modifier but that produced weird results.
If I have a cone, and a cube - I want to move the cone around so that it snaps perfectly along the faces of the cube

Use Blender's snapping feature with Snap Element set to Face. The configuration group is right on the 3D View's header.
If you activate Snap during Transform (Shift + Tab or the magnet button), you don't have to hold Ctrl while grabbing the object.
You can also Align rotation with Snapping Target (2nd button from the right) so the snapped object aligns its orientation with the face's normal.

It's possible to snap the lower (-Z) part of an object to another's surface, by placing the object above its intended target. It seems snapping uses the nearest point of grabbed object, and its relative position to target before transformation. I get these inconsistent snapping positions if the object's moved from above the target, and need manual adjustment to keep it outside the surface:

That works very well, the only slight gripe is that it it will place the objects origin on the face of the other object. However, although I could see why snapping the origin makes sense, what I really am looking for is snapping object A's face to object B's face

It is possible to snap the surface, though only in certain orientation. Edited my answer accordingly.

Doesn't work for me https://youtu.be/Y3K_3w8wfr8

Not working for me in Blender 2.8

Snapping any face to any other face works quite reliably with a custom Transform Orientation and a helper object as described in How to Align Any 2 Faces .
Snapping to any face in Blender 2.8
We want to have this, but the round object is rotated in an unsuitable fashion.

Step 1 – Select the face to align in edit mode, and create a new Transform Orientation (called “Face” here). Back in object mode, add a new plane.

Step 2 – Select the plane and apply the “Face” Transform Orientation with Object > Transform > Align to Transform Orientation. This rotates the plane so its normal points the same way as the normal of the previously selected face. Then, parent the object to the plane.

Step 3 – Select the plane, reset its rotation with Alt+R to rotate it together with the object so the face normal aligns with the global coordinate system. In this case, the object needs to be flipped by another 180°.

Step 4 – Apply the rotation with Ctrl+A. Now the object can be snapped to any face with face snapping and “Align rotation to Target” checked.

Could you paraphrase or quote some of the information in your links in the body of your answer? Link-only answers are discouraged, as if the links die, the answer does too. Thanks!

@gandalf3 Done!

Wow, nice answer!

Adhi's answer says it all, but I really recommend you to check out step 18 and 19 of this tutorial: Modeling A Modern Interior Scene In Blender. It explains how Blender aligns the orientation of a snapping object.

Once you’ve turned the snapping on, set the snap element to ‘Face’ and
  the snap target to ‘Active’. In the 3d viewport header, next to those
  options you’ll see two icons, make sure the first one, ‘Align rotation
  with the snapping target’ is selected, and the second one, ‘Project
  individual elements on the surface of another objects’ is deselected.
You just told Blender to snap the active object (using the origin as
  reference), to the face of another object and to match it’s rotation.
  The way the rotation matching works is that Blender aligns the objects
  local Z Axis (img. 2) with the normal of the face you are snapping it
  to (img. 1). This is very important for you to understand so make a
  couple of tests until you feel comfortable with it.

It's always good to leave a summary of sorts, just in case the link goes.

"The way the rotation matching works is that Blender aligns the objects local Z Axis (img. 2) with the normal of the face you are snapping it to (img. 1)." that explains the weird behaviour.

The snapping behavior is good for getting the objects touching, but I had trouble getting the rotation to work correctly.
After much searching I finally stumbled upon using custom Transform Orientations.
In edit mode, select the face of the object you want to align to.
Create a Transform Orientation from Selection (which is down at the bottom of the Properties toolbar (N), in the Transform Orientations section. Looks like a +)
In object mode, select the object that you want aligned.
Select your new Transform Orientation, (should be called Face, in the Transform Orientations section of the Properties toolbar.)
Now use Object->Transform->Align to Transform Orientation

Can you please elaborate this procedure ? (object selection order, how to access the function you quote...)

I elaborated somewhat, hope that it's clearer now :) Also I'm pretty new to blender so if I mislabeled something lemme know.

You can do this with Mesh Align Plus (my addon). After installing the addon, either watch the steps in the GIF or read the text version below:

The feature you're looking for is the Quick Align Planes operator in the 3D View > Tools Panel (T) > Mesh Align Plus Tab, in its own panel.
1. Pick a destination target (stationary plane that you're aligning to)

In edit mode (Tab), shift + right click to select the three verts you want to align your object with
Hit Grab Destination

2. Pick a source target (plane that will be aligned with the destination)

In edit mode (Tab), shift + right click to select the three verts that need to line up with the destination when the alignment is applied. Leave them selected (and make sure Auto Grab Source is checked, it is by default).

3. Apply the operation

Make sure the object you want to move is selected, and (in object mode or edit mode) hit Apply to: Object

The video explanation is nice, a bit more information on what you're doing and why would be recommended however. Also it's worth mentioning in the text that this is an Addon, just in case the link breaks. This way users know what to search for on Google later on.

Good point! I'll update this shortly.

It looks like you are the developer of this addon. If so, would you mind disclosing your affiliation in your answer? Thanks.

Will do. Also, it's free/open source, in case anyone want to use the code ;) https://github.com/egtwobits/mesh-align-plus

I made an addon to solve this specific problem:

http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/3D_interaction/Align_by_faces
http://www.blenderartists.org/forum/showthread.php?290247-Align-objects-by-faces

It's always good to leave a summary of sorts or usage examples, just in case the link goes etc..


text:
Subdivision-surface giving strange geometry with tris
When I try to create a geometry like this

I get defects like this that also show up in the render

How could I avoid this?
I am using a 2 times catmull-clark subdivision surface modifier

Tris and subsurf don't blend well. I would suggest reworking that mesh, try using quads wherever possible.

mhm thanks for your answer do you have an idea how I could incorporate a circle in a square without tris?

Sure, there are several ways. I will try to write an answer.

You might be interested in this too

Tris and subsurf don't blend well. I would suggest reworking that mesh, try using quads wherever possible. For a hard surface object, tris are ok to a point but once you start to subdivide and smooth it, it quickly gets out of hand. The 'strange geometry' is more than likely caused by the tris pinching together at one point. If you go into edit mode, use wireframes and look at what the modifier is doing. It is mutilating your mesh trying to subdivide those triangular faces.
An alternative
The way I normally go about this and one way to do it is to add the circle and a plane to the scene, delete an edge of the plane so the face goes away and then add it back. You should now have something like this below. (This is the wireframe)

This next step will be unique to every case as it depends how many vertices the circle has. You generally want to estimate at this point and select an even or so amount of vertices and subdivide one side of the plane and join these together. You can manually do this for the entire plane side by side or automate it with the mirror modifier or duplicating and rotating and removing doubles etc.. depends what works best for you.
At this point, it will be easy to see if you are off as the mesh will look odd. You generally want to aim for something that gets nice even spaces and looks symmetrical to the other sides to a point.

You now have a mesh with a circle in it with nice clean faces so you can easily add more geometry as needed and subdivide as much as you want.

For more tips see: How to fill a hole in face?
Edit:
As Aldrik mentions in the comments below, another option is to subdivide the surface to get some geometry and use the To Sphere function with Shift + Alt + S. This isn't always perfect in my experience but can work at times.

I think the message I take from that is that I do not need so many vertices on a circle when using a subsurface modifier.

@miceterminator yep, generally 8+ is usually a good amount as the modifier will round it out.

A easier method is to subdivide the hole as needed, extrude, scale and To Sphere.

@Aldrik Sure, it's works at times for simple geometry but doesn't always get the job properly in my experience. The circles tend to have slight deformations sometimes. I will make a small note in the answer.

To sphere is often not perfect, but the circle tool from looptools addon does the same thing perfectly.


text:
Render a cut through a mesh
I would like to render a cut through an object using Freestyle. Is there a neat way to cut away a part of the mesh in the rendering (not for real) without using

The cut tool (manipulating the mesh)
Cutting the mesh with the camera (placing an orthographic camera inside the mesh) but limiting view options
I got the boolean modifier to work with a remesh modifier as well, making things more complicated.

I was looking for something similar to the AltB option in the viewport. Or setting up a material on another object to render the intersection part invisible but leave the rest of the mesh visible.

Why not use a boolean modifier enabled only for rendering?

oha thanks thats a nice idea. At octree 9 at least the viewport will be smooth

What do you need the remesh for? If you only use the boolean for rendering, you don't have to worry about topology.

the Mesh is not closed therefore the boolean modifier does not work without the remesh

I have updated my answer with another solution. I'm not sure how freestyle could help much with this problem, but I am still only learning the basics.. Another option is to make the mesh manifold manually or by applying the Remesh modifier. (or simply disable it in the viewport)

One way of doing this without modifying the actual mesh at all is to use a texture to define the transparency of the mesh:
Cycles:

To create something similar to the AltB option, you could:

UV unwrap using U> project from view:

Use the UV coordinates to define the transparency of the mesh by using this nodegroup:

Blender Internal:

Enable Z transparency in Material settings → Transparency, and set alpha to 0:

To make the texture to affect the transparency of the material, enable Alpha in Texture settings → influence:

Another way to do this is by modifying the mesh only when rendered.
e.g with a boolean modifier:

Why the down vote? Is there something wrong / inaccurate with my answer? Please say why so I can improve it.

I did the following:

Place a camera at 90° to the plane to which you want to have the cut
Select the camera
Under the camera settings, adjust the clipping start value

See how the result changes in the preview (and also in the render) when increasing the clipping start.
Clipping value 0.1 (as usual):

Clipping value 10.2:

Output in case of freestyle rendering:


text:
Boolean modifier messes up material assignment
I have a car that has two materials assigned to it. When I apply a boolean modifier to the car it tweaks all the colors that were assigned to it.
Why is this and what can I do about it?

Welcome to Blender.SE BlendSwap :). Your question appears to be a bug report and it is not exactly clear what you are asking either. Can you please clarify by adding an image to the post. Also, please see this post on what to do with possible bugs.

This is because assigning different materials to a mesh is dependent on the Topology of the mesh.
Adding a Boolean operation changes the topology, so the faces that no longer exist can't have a material, and new faces will most likely be in different positions or shapes.
Blender assigns the first material to new faces created by a Boolean modifier:

A few possible workarounds:

Applying the Boolean modifier and assigning the materials your self, as well as changing the topology to fit where the materials should go.
Using a texture to combine materials with a Mix shader, independent of the object topology.

Here is the source for material assignment: http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Generate/Booleans.
"the modified mesh will receive its first active material index assigned to its new topology"


text:
How can I change the buttons text position?
I'm messing around with python for the first time.
I'm making my own changes to the interface, just because..
How can I move the text inside the buttons down and to the left?
The left image is what I have now and the right one it's what I want to do..
Please have in mind that I have zero python knowledge. But I'm willing to learn..

This is not supported.
Blender's layout engine text alignment (in the internal C++ code), but Python has no access to this.
This is intentional, Python layout definitions are not supposed to care about details like alignment and color, this is controlled by the layout engine and current theme.
If the layout looks bad this may be a hint we need to improve the layout engine's behavior - its unlikely these details will be exposed to Python, unless theres a very good reason.

So this is kind of a measure to prevent people to mess stuff? (unless you know C..) I think that is cleaver. This way we don't get strange looking addons and stuff. Thank you ideasman!

@Utopia780 - yes you could say so, the layout engine that Python accesses is for high level layout definition - not defining details about where the text and icon are placed.

@ideasman42 is this still ongoing?

This has not changed and as far as I know there are no plans to support this.

@ideasman42 Thanks for replying!


text:
How to deselect using box select?
How do I deselect using the box select tool? I have read about middle mouse button and some other shortcuts but they don't work for me.

I use to have a mouse with a scroll wheel, but it had no middle mouse click. This might be your issue.

@CharlesL I do have middle mouse click. I can move the camera with it.

Are you middle mouse clicking and dragging? You have to hold down middle mouse the entire time.

@CharlesL I hold it down

Try using emulate 3 button mouse and see if that works.

Does your deselect work when you use Circle Select (C) and the middle mouse button?

Remember not to hold down the B for box selecting. You press and release B and you enter a box selection mode... and from there you should be able to deselect with MMB.

Just press A dude :) I mean you have to press it a few times but it does deselect ;)

If using v2.68 (revision 57577+), you can do the following:

Press B,
Use LMB and drag to form the (de)selection rectangle,
hold down Shift while releasing LMB.

Didn't work. It just selected

I am trying to select some faces after selecting. Instead of that, it selects other vertices that are also in the box. It doesn't deselect anything.

please update your Question with more information then.

OOPS I meant deselect instead of select in my other comment

i'm not sure why that doesn't work for you guys, I use it frequently. (i'm still on build r57660, 2.67.1)

Works for me, even when I don't have Emulate 3 Button Mouse set.

works for me, too. (With and without Emulate 3 button Mouse)

Is there a better way to do this yet?

This doesn't seem to work in Blender 3.1.

It sounds like your issue is an issue with the middle mouse button on your mouse. The following steps do not require a working middle mouse button to deselect:

Go to your user preferences (CtrlAltU)
Go to the Input tab
In the left sidebar, check the Emulate 3 Button Mouse checkbox
Whenever instructions say to use the  middle mouse button, you can now use Alt + Left Click instead.

To use box select to deselect use Alt + Left Click and drag.

As described on the Blender wiki:

B to enter border selection.
Drag the deselection rectangular using your middle mouse button.

Thanks, but middle mouse button doesn't work, I already said that in the question.

@Jop It does here. I thought it unlikely that you had found a bug and suspected you were just doing it wrong.

@jop, you'll have to use alt instead. Go to your user prefs, go to input and check "Emulate 3 button mouse". Then replace alt-left click for middle click.

At the time of writing this comment, this answer worked by default for the latest Blender version of the time.

I found that the easies solution is to just invert the selection and afterwards invert it again.
This works with all selection tools and you just need to press Ctrl-I


text:
How can I replicate an object over the surface of another?
I am a beginner and I want to add nails to a cactus I've modeled. How would I go about doing this? I'm after actual geometry not just a flat plane with a texture.

See the following questions: How can I make a number of objects sit “snugly” on an irregular surface? and Snap object on top of surface of other object.

One way to go about this would be to use DupliFaces.

Duplication Faces or DupliFaces is the capability to replicate an
  object on each face of a parent object.

You would model your nail then parent it to the cactus object with Ctrl + P. You then select the cactus object and in the Object panel under Duplication and choose Faces.
This is not perfect and the outcome of this depends a lot on the topology of your parent object (the cactus) and how your child object (the nail) is scaled and or rotated etc. It can work with some tweaking however…

Another way would be to use a particle system, set the type to Hair and under Render, select the nail object. This is a bit harder to tweak if you don't have much experience with it etc. but can give you alot more control and variation as to how things can be placed.

If you want more control, you could use particles as an alternative, this way you can paint vertex weights to control placement for example.

@ideasman42 I was thinking about suggesting that but based on my experience with it I find it a bit tricky for uneven meshes so I just went with the easier approach.

Will this do it all over my model or only on selected faces?

@Jop all over the model.

@iKlsR Is there a way to only do it on specific faces too? My cactus has a hat

@Jop not with DupliFaces, perhaps you could remove the part of the mesh that goes under the hat.. ?

@iKlsR You mean on top of the hat? Hm, ok, will try this.

@Jop added another possible way..

I tried the DupliFaces method but it doesn't work. It places rotated copies of the nail at seemingly random places around my model

@Jop as I said, this depends alot on your topology, see the other method I posted.

@Jop I forgot to mention that both objects should be at 0 0 0.. see the other answer for some more details.. Even though the wiki has working examples.

How can I only have the particle system on a specific material or specific faces?

@Jop make the faces into a vertex group and make the particle system use that.

Expanding on iKlsR's answer… if using the dupli-faces method, both objects have to be at 0, 0, 0  (xyz).
What might also be causing problems, is that orientation and the origin of the duplicated object are very important as well… for your needles the origin should be at the base of the needles.
For rotating the object, just experimenting is the easiest way just remember to either rotate in edit-mode, or if you rotate in object mode, Ctrl + A to apply the rotation, so that in the end both (duplicated and duplicating object) both have location 0, 0, 0 and rotation 0°, 0°, 0°

With the particle method you do indeed have a lot more control, but it takes more time to set it up properly.
Also, if you work with particles, you also have control over which faces emit the thorns.
(you just have to add the vertices of those faces to a vertex group and select this group for the emitting density)

for this method origin and orientation of the object that is to be duplicated are important as well

  While I heartily agree that Duplifaces are a good way to go, I tend to combine them with a Shrinkwrap Modifier. You create a second mesh, consisting of tris and glue it to your target mesh with a Shrinkwrap. Then you parent the nail to the shrunk mesh and enable Duplifaces in the shrunk mesh's properties. Make sure your nail has the object origin at it's base.
  Now you can shove the Tris around and you still can be sure that the nails are reasonably perpendicular. You'll have absolute control over the placement and density of your nails/thorns.
  You can either give the shrunk mesh a transparent material or you can exclude it from rendering in the Outliner

You do not have to create the shrinkmesh by hand. You can separate all faces by applying an Edge Split Modifier set to 0° Split Angle. And you can decrease the size of the faces in Face Select mode by scaling them all with Individual Origins as Pivot Point.


text:
Why is an object stuck to another?
So I created a Cube in Blender and then I created an Empty beside the Cube (in object mode). Now, when I move the Empty around, the Cube follows... Why?

Is there a circle in the middle of the screen when you move the empty?

possible duplicate of Duplicate objects transformation applies to both objects

You more than likely hit O by accident, this enables proportional editing in object mode just as it does in edit mode and can cause nearby objects to mimic the one(s) being transformed.
Just turn it off by clicking the blue icon or by pressing O again.

Sounds like the cube is parented to the empty, making it follow it's transformations. You can remove the parenting by selecting the cube and pressing AltP.
Parenting relations can be set up by first selecting the child object(s), and then adding the parent object to selection making it the active object, and hitting CtrlP


text:
prevent add-on being enabled in lower Blender version than 2.8
is there a canonical solution to this?
I'm one of the developers of Sverchok and we are more frequently getting installation issues where people install the 2.79 version of Sverchok on Blender 2.8+. We maintain two different Sverchok codebases for Blender 2.79 and 2.8+, and they are massively, massively, different.
Is there anything simple we can stick in the __init__.py that will prevent the user from enabling the 2.79 version of the add-on in blender version 2.8.0 or above.

Blender 2.80 already protects against enabling incompatible add-ons. If the Blender version in the bl_info is too low, it will display a warning in the preferences. Blender will not run the register() function on these add-ons. However it does allow to tick the checkbox and the user may get the impression that it's properly enabled.

If you want to avoid that, you can check the Blender version and raise an exception in your __init__.py. This will prevent the checkbox from being enabled and the user gets an error message right away. I'm not sure if it will have the intended effect, since some users may not read or understand the error message.
bl_info = {
    "name": "Version Check Add-on",
    "author": "Robert Guetzkow",
    "version": (1, 0),
    "blender": (2, 79, 0),
    "location": "View3D > Sidebar > My own addon",
    "description": "Checks if the correct version of Blender is used",
    "warning": "",
    "wiki_url": "",
    "category": "3D View"}

import bpy

if bpy.app.version > (2, 79, 0):
    raise Exception("This add-on is incompatible with Blender versions newer than 2.79.\n"
                    "For Blender 2.8 please download the version from the following link:\n"
                    "[insert link here]")

class EXAMPLE_PT_panel(bpy.types.Panel):
    bl_label = "My own addon"
    bl_category = "Name of your tab"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"

    def draw(self, context):
        layout = self.layout
        layout.label("Congratulations, your Blender version is supported.")

classes = (EXAMPLE_PT_panel,)

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

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

if __name__ == "__main__":
    register()

yep. lovely stuff - thank you.

@zeffii you're welcome. Although I'm not (yet) familiar with the add-on activation code in Blender, it may be an easy patch to disable the checkbox when the add-on is recognized to be incompatible.

we do a lot of stuff in __init__.py before register , raising an Exception is fine with me.

@zeffii ok. It would still make sense to discuss this with the devs though. I can't think of any reason why it should be possible to enable the checkbox when the add-on is incompatible, other than the code change would be unnecessarily complicated for this small change.

@zeffii You could also open the URL to the correct add-on version on Github using the webbrowser module. This may be not well received though, since it's very invasive behavior for an add-on.

This helped me, because in the 3.x versions of Blender above 3.0, the bl_info "blender" minimum version doesn't do anything. I wanted 3.4 for the minimum version and used this method.