text:
How to use Python script to generate many lines in Blender and then animate line color and thickness?
I'm very new to Blender and to writing Python scripts for Blender. For the project I'm working on, I'd like to be able to create 10,000+ straight lines (see image below) and animate them so that their colors and thicknesses change (individually) over the course of the animation.
What is the most efficient way to create the lines using a python script? My understanding is that I can't use simple edges because they don't have any thickness.
I tried making the lines as Bezier Curves, however, the script couldn't run in a reasonable amount of time once there were over several thousand lines/curves.
Any help on how to create a large number of lines like this would be very much appreciated.

Just an idea I can't verify now, but you can first make edges and then convert them to bezier curves. Making the edges can be done by calculating the coords with numpy and generating actual mesh data with from_pydata https://blender.stackexchange.com/questions/23086/add-a-simple-vertex-via-python . As for getting the bezier curve, Alt-C should provide you the fit function.

Related  Avoid using operators where you can.

You can do this easily with Animation Nodes.
For connections we need initial locations and final locations, So I'm using planes i.e vertices location but you can choose anything (Sphere/Cube mesh, number of objects etc). Now, to connect each vertices a plane (say A) to all vertices of a plane (say B), I have made two "Subprogram Loop" Nodes which basically make individual sets of vector lists. Then using using "Spline from points" node make the connections from those vector lists. In the "Curve Object Output" node, you can animate any parameter (Bevel depth, Bevel Start, Bevel End etc) of a curve.
Here is, examples with two, three planes and with a icosphere, but you can add any number planes (or other mesh object). To make more complex and control connections, you can also use other nodes like "KD Tree" and "BVH Tree" which are available in Animation Nodes.
:)
Here is Node Tree:-

Here, for two planes and subdividing them:

For three planes, so on:

For different type of objects:

Thanks! After scanning the documentation for the Animations Node add-on, it looks like this is going to be exactly what I need both in terms of creating the lines and animating them.

I don't know if this is possible with 10.000+ lines but I'd try this:
Make a "template line" with only two points. (I added a Path and removed all but the endpoints).
Make a profile curve, i.g. a circle.
Apply the circle as the line's bevel object.
Then run the script.
import bpy

# line with only 2 points
original_line = bpy.data.objects["NurbsPath"]
# profile curve for "pipe" (circle, triangle, etc.)
original_profile = bpy.data.objects["BezierCircle"]

startpoints = [[9.47, -0.64, -3.65], [9.75, -6.49, -9.01], [1.06, 8.28, -1.46], [0.17, -5.79,1.02], [-2.44, -8.83, -7.47]]
endpoints = [[6.92, -1.32, 9.88], [8.86, -4.57, -7.88], [0.89, -3.18, -4.54], [5.69, 1.37, -9.0], [-4.58, -1.05, -4.58]]

for s,e in zip(startpoints, endpoints):
    new_line = original_line.copy()
    new_line.data = original_line.data.copy()
    new_line.name = "Line" # + automatically added number
    # set the start- and endpoint
    new_line.data.splines[0].points[0].co = s + [1.0] #add nurbs weight
    new_line.data.splines[0].points[1].co = e + [1.0]
    bpy.context.scene.objects.link(new_line)

If you run this all the generated lines will have the same profile curve (original_profile). If you change the original profile curve (i.g. scale it) they all will change. You can give each one their individual profile curve if you add this to the for loop:
    new_profile = original_profile.copy()
    new_profile.data = original_profile.data.copy()
    new_profile.name = new_line.name + "_profile"
    bpy.context.scene.objects.link(new_profile)
    new_line.data.bevel_object = new_profile

You can get all the profiles from i.g. a bunch of curves you have selected like this:
profiles_of_selected = []
for line in bpy.context.selected_objects:
    # make sure it's a line, else skip
    if not line.name.startswith("Line"): continue
    individual_profile = line.data.bevel_object
    profiles_of_selected.append(individual_profile)

And select these profile curves (for example to scale them in the 3d-view):
# deselect all
for obj in bpy.context.selected_objects:
    obj.select = False
# select all profiles
for obj in profiles_of_selected:
    obj.select = True

Or i.g. set their scale via code:
for obj in profiles_of_selected:
    obj.scale = (3, 3, 3)


text:
Outliner issue - expanding manually
I appear to have lost the ability to expand Outliner hierarchies manually.
I am able to expand and collapse with +/- but it expands everything visible collapsed and collapsing collapses everything.
I used to be able to click on the +/- bubbles to open/close the specific item I want but this is where my problem lies. I can't. At least not anymore, which is what I need because my projects contain a lot of seperate objects at times and expanding everything is hella messy.
I'm not sure if this is an issue caused by version, a script, or a hotkey/preference I may have selected to cause this inability. Was hoping someone might know so I don't have to reinstall everything to fix the problem.
I also can't select items on outliner with left click either. Which maybe the source of the issue.

Which version?  Try File > Load Factory Settings? Which may determine if it's an addon or faulty keymap if it works correctly after.

You can restore the default key maps if you go to User Preferences(ctrl+alt+u), Input tab and choose Restore for the Outliner:

You may have conflicting settings in other key maps as well. You could also try searching for everything assigned to mouse buttons.
If all fails, you could restore all key maps to default. If that fails, there might be an add-on that is causing the trouble, you would need to disable all enabled add-ons one by one to find the one causing issues.
You could rename or delete(maybe backup first) %appdata%\Blender Foundation\Blender\[your version] (on Windows) folder to restore everything to default, but that would disable all installed add-ons as well as your UI color theme.

Thanks, but that doesn't seem to be the issue. Took a look and there isn't a restore so I didn't change any keymaps to have caused this problem.

I updated my answer.

source: Stack Exchange

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

sort: votes


text:
Blender 2.8 Boolean changes texture scale
I want to add a cavity for a window using a boolean modifier.

I used a cube as the boolean object, but the scale of the texture is different on the faces created by the boolean cube.

Is there a way to get the material to have the same properties as the rest of the object without applying the boolean modifier?
Thank you.

Probably your mesh or the uv map is scaled itself.

Thanks, I can fix this by scaling the uv map

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


text:
Boolean object shows up in render
my boolean object which is used by a bunch of objects, shows up in the final render. The collection which it belongs to, is set to invisible in the render. When I move the boolean object away so that it doesn't affect any other object, it renders as invisible. What can I do to fix this? Will it maybe help to change all the boolean modifiers to exact instead of fast, and is there a way to only copy one modifier to other objects, and not all of the modifiers?
Thanks.

I fixed it. There were some window frames where the boolean modifier was set to exact instead of fast. I changed it them to fast. I also fixed the window frames meshes to make sure there were no open faces etc. Works now.


text:
How can i rip a circle open and turn it into a straight line?
I'm learning Blender so i can use it to do math animation videos, I've been trying to turn a circle into a line so i can measure the circumstance for a long time, and it didn't work sadly :(

Can you please be more specific on what you want to accomplish?

i think this addon will help you https://www.youtube.com/watch?v=XMimQfQR_ss

@Ben
I wanna do something similar to that  https://www.youtube.com/watch?v=YokKp3pwVFc

@BoudMath please add some screenshots and/or short animation of what you want to achieve. This video is nearly 3 minutes long with different animation schemes going on there. We can't guess which one you want.

In 1:52 he ripped the circle and turned it into a straight line

One way to do it is to animate the Bevel Factor of a bezier curve that consists of the circle and the flattened line extending at one end.
You start with a bezier circle and turn off Cyclic in the properties panel.

In edit mode, rotate the handles by 45 degrees so that the circle shape is restored. One end of the arc is extruded to the bottom (with its handles rotated horizontally), the other end gets extruded along a line with the length of the circle's circumfence.

Add another curve – either a NURBS or bezier – to act as a Bevel Object. In the example I used a NURBS path with 0.05 length. In the properties of the “circle” select the new curve as bevel object and set the bevel factor mapping to Spline

Add a driver to both Start and End of the bevel factor by right clicking on it and selecting Add Driver > Manually Create Later (Single)
In the F-Curve editor (Graph Editor panel > Drivers mode > Drivers tab) set the drivers variable to the X Location of the circle.

The scripted expression for the Start should be var / (2*pi) / 2 (as the driver should run from $0$ to $0.5$ as the circle moves from $0$ to $2\pi$. The End expression is var / (2*pi) / 2 + .5 (running from $0.5$ to $1$).
Finally, you can animate the X location of the circle.

Another approach could be to animate the control points individually. If you go that route, you might want to look into an addon called Animation Nodes. A similar animation using a 3D rope unwinding has been explained in this answer by Omar Ahmad.

i have followed you literally, when i reached the last step everything just disappeared :(

Could you please describe, what you mean by “everything”? Did the object disappear (in which case you maybe forgot to add the +0.5 to the End factor or assigned the expressions the other way around, i.e. end being smaller than start) or do you have problems accessing the 3D view again after switching to the Graph Editor?


text:
How can i animate the spin property for curves (extruding while rotating)
I'm trying to make a video explaining "Solids of revolutions" in calculus; i need to animate the "spin" tool, i have looked it up, and all what i found talks about rotations, which is not what i'm looking for, by spinning i mean using this command line
bpy.ops.mesh.spin(steps = 90,angle = 2 *math.pi, center=(0, 0, 0), axis = (1, 0, 0))

Perhaps you can use the screw modifier and animate the angle property.
Here is my mesh that is curved and only an edge. I apply the Screw modifier and set Angle to 0. Then I hover over the Angle box and hit i. This adds a key frame to that property. Go to the frame where you want it to be fully spun and set degrees to 360 and hit i again over the green box. It should turn yellow.

Now, it should be animated! Here is a still mid animation.

you're awesome, it worked, but i have another question if you may, can I somehow animate each segment in the curve separately without separating the curve into 9000 layers? (the curve is just (cos(x)) )

@BoudMath Hm. Could you give me a picture of what you want to do exactly? Maybe I can create something for you to play around with.


text:
How to speed up when blender has suddenly slowed down?
My daughter has been using blender on a 2015 iMac with 2GB graphics card, 4GHz processor and 32 GB memory. Blender was working great until just now when she applied a smoke effect. She is surprised how much it has slowed. We are wondering if there are any caches or something of that sort that we should be periodically clearing to help speed. The only other app running is a browser where she is watching a tutorial. A few helpers and such are in the background but Activity Monitor shows they are using virtually 0% of CPU, and Blender is only using 2%.
My Question is: Is this normal for the smoke effect?
She is using the number divisions recommended in the "Smoke" tutorial linked below, 256, much higher than the default number of 32. (Alas, I am not up to speed on Blender myself, just repeating what she explained to me.)
https://www.youtube.com/watch?v=snDUjSbBo20&feature=youtu.be

Maybe its not the CPU, but the RAM thats the bottleneck? (Though 32 GB should be fine)
But thats just a shot in the dark...
You could try baking down the smoke: https://docs.blender.org/manual/ja/dev/physics/smoke/baking.html

Volumetric data like like smoke simulations are complex and computationally expensive thus requiring lots of processing power, slow downs are frequent and totally expected. Blender doesn't normally use "caches" or leave any sort of garbage littered around your computer that needs regular maintenance. You either need more computing power or to optimize your scene.

Thanks, I will show your comments to my daughter :-)

Yes, this is normal.  The fact that the CPU utilization was so low tells me that your daughter has probably 'baked'[1] the simulation to a disk cache so most of the 'work' will be showing up in the form of disk I/O rather than CPU utilization.  This is a good thing and probably giving her much better performance than if she 'frees' the bake.  The physical sims (smoke, fire, water, soft body) are fun but expensive: they are quite computationally and storage intensive and will often soak up any amount of performance a consumer grade system has to offer.  The performance and storage issues get exponentially worse as you dial up the detail, such as going from 32 to 256 divisions.
Some tips to help her deal with this:

When you're working out a scene, keep the detail settings of the sim as low as possible to provide the general 'feel' for how it's going to look when it's done.  Bake it for performance and work through as much as possible of the rest of the scene.
Once you have everything else worked out, free the bake
Now then start dialing up the detail level of the sim until it is just above her threshold of 'that looks the way I want it'
Bake the sim again at the final detail settings
Fine tune / finish up
Render the final animation

[1] To determine whether the smoke sim has been baked or not, select the smoke domain and then go to the 'Physics' tab of the Properties browser.  At the bottom there is a section 'Smoke Cache' and a set of 6 buttons in a group.  If the first button is labeled 'Bake', then she hasn't baked the sim.  If it is labeled 'Free Bake', then she has.  Either way, the smoke cache defaults to using a sub-directory in the same directory as the main .blend file (so if she has saved it as my.blend, there should also be a blendcache_my-smoke directory)


text:
need help with armature and weight painting
I recently tried to play around making human, but i couldn't figure out the good weight ratio for hip and thigh. it ends up like this

my weight paint is like this

here's the blend file

Thank you in advance

Hard to understand your first picture, but your hip has too much influence on the thigh vertices, so simply select your armature, select your mesh, switch to Weight Paint mode, select the hip bone and use the brush in Blend > Substract mode to remove this influence. You'll have to bring some other corrections on some other parts of the mesh.

I see but it look's like a dent inside the hip. or is it a problem from my topology?

maybe add a bone between the hip and the leg to make it bend more smoothly?

After editing for a bit, adding a new bone between hip and leg did decrease the dent.
thanks for the advice


text:
How to connect bezier curve endpoints with straight line
I create beziel curve like this:

Then I press alt+c to connect endpoints and I get this:

But I want this:

Can somebody please help me?

Box the handles.
The directions of the handles of a bezier curve are the gradient the curve takes at that point.  For the flat bottom you want a flat gradient.  The gradient at the hemisphere point of the circle has a gradient directly up.
Add a bezier circle. Remove the lowest point.  Select and set the handle types of the "corner" points to 'FREE'. VF Adjust the handles as shown below.  The curve of the bezier will depend on the opposite handle of next point
As long as the 4 points are on the line, thats the two corner points and the handles inbetween, are on one line there will be a straight line between them.  Adust the other corner points to change curve to suit.

Here is a method to do it:

Select your vertices and press V to switch to Free Handles mode.
Select your vertices and the bottom handles and press S Y 0 to flatten on the Y axis.


text:
Converting Rigify Rig To/From 2.79 and 2.93
I have a Rigify Rig I created in 2.79.  If I open that file in 2.93, the bones and constraints and all that work correctly, but the buttons do not.  The IK2FK and FK2IK, etc.
I understand that this has to do with the differences in the blender python language between 2.79 and >2.80.
Is there some way to update the Rigify script attached to this file, to a 2.93 version of the script?  If I append the Rigify Rig, will it be updated?
Also, would there be a way to convert a Rigify rig from 2.93 back to 2.79? (by some miracle :X)
Thanks!

You can try to go through the py files in your blend scene and see if there is a rig_ui.py. If there is try to run it and see if that solves the problem.
There is another approach but only if you still have the metarig. You can re-generate it and it will update the rig to the currently available features. The underlying rig types in the meta rig are most likely still the same.
Keep in mind that the 2.93 generated rig may be quite different from the old one so your existing animations or even the weight binding may not work.

i have the ui.py that goes with the rig, but i think that only draws the buttons.  that script runs fine.
the buttons are all there (even without running that script), but pressing them throws an error in the ui.py that's in the rigify addon directory.
https://prnt.sc/CAqS7CUAQXfY
i see 'thigh_fk' in line 984 of the addon's ui.py.  i dunno what ops.py is trying to do with it though.
so unless rigify has a script to update an extant generated rig...  i guess i'm trying to regenerate from the meta (if i find it or recreate it.)
thanks!


text:
BPY Convert gpencil to curves with a script?
I have a scene with a GP object selected, and tried to run a very simple script from the script editor:
import bpy
bpy.ops.gpencil.convert(type='CURVE', timing_mode='LINEAR', use_timing_data=False)

I get an error which, looking around, seems to be due to the mouse being over the script editor when I hit Alt P,thus it lacks the context of being over the 3D view:
File "C:\Users\oscar\Downloads\blender-2.80-ae977d13f8e9-win64\blender-2.80.0-git.ae977d13f8e9-windows64\2.80\scripts\modules\bpy\ops.py", line 200, in __call__
RuntimeError: Operator bpy.ops.gpencil.convert.poll() failed, context is incorrect
Error: Python script failed, check the message in the system console

I tried to solve this by setting the context to the 3D view, but then blender crashes. Do I need to just manually parse the verts from the selected GP object into a new curve object? How do I run 3D view bpy.ops actions without hovering over the 3D view?

the answer is on this thread. https://blender.stackexchange.com/questions/156006/convert-gpencil-to-curve-python-crash/156820#156820


text:
Access "self" in add-on from separate module file
My .py file got big enough that it was time to split it into multiple files. Originally, it would have some bpy.props, then later functions could access that with
    lanes = bpy.props.IntProperty(
    name = "Lanes",
    default = 2,
    description = "Number of lanes"
    )

def execute (self, context):
    def someFunction():
        print(self.lanes)

someFunction is now so big enough I split it into a separate file, imported with importlib.reload. init.py runs and can import that function and run it, but messes up when trying to refer to self again:
curveSetup() missing 1 required positional argument: 'self'

The script previously found self because it was one giant file. how do I access self again now they're in different files?

I'm not super familiar with with python in blender, but it sounds like you're having a scope problem. When working with python, you'll want to split up classes and functions into separate files pretty commonly - since Blender's Python is no different, you should have no problem doing the same.
In your example however, you provide very little detail. How are your files structured? What do they look like? "self" is usually a variable accessed from within a class instance. Your snippet doesn't include a Class definition.

A buddy helped out with this. In the secondary file, I added an optional argument def someFunction(lanes) and use print(lanes) instead of print(self.lanes). Then in init.py, when I call the function I use someFunction(self.lanes)

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


text:
Textures of leaves

I downloaded bunch of images of leaves but a can't apply them properly, because they are basically squares. Should i use photoshop? Or blender has a way to cut them?

I would suggest to alpha-mask the images in Photoshop or Gimp but if you have your leaf on a black background, you can do it in blender like this.
Alternatively, you can download already masked leaf images from sites like textures.com.

May I suggest you make the color around the leaf from green and whatnot, to completely transparent and use a Transparent BSDF node if you are using Cycles:


text:
Mirror reflections

The problem is i can't find a way to make mirror reflections look good, there are always some kind of distortions that makes render looks odd. Is there any way to improve this? (Sorry for my English)

this may sound stupid, but you may be using blender render. make sure you are using cycles render, and if not then you may want to make the mirror render a picture to simulate a mirror.

It looks like there is either something wrong with the normals of the mirrors or a problem with the material you have assigned to the mirrors - I'm assuming it isn't just a straight 'Glossy' shader...? Could you check that your normals are pointing in the correct direction and also share details of your material setup for the mirror (and confirm that this is Cycles rather than Blender Internal render engine).

ok that was stupid. I used smooth shading for my mirror object. Problem solved


text:
Gloss reflection

Why my lamp looks black in the mirror reflection?

In Cycles Render maybe go to the Properties panel > Render > Light Paths > and change the Transparency?

Please share your .blend file, I'm unable to reproduce this in blender. (Reflection of glass object works fine). If sharing the file is not possible please post your render settings and material setups.

http://s000.tinyupload.com/index.php?file_id=27638669086918514220 here

The Problem lies in the node setup for the glass material:

As the nodes are set up, the mirrored object is considered to be transparent, while the direct object has the glass material. Additionally the material on the transparent object is a lot darker.
I guess this setup is used to speed up a render, however it doesn't work well with reflections. (There might be another reason I don't see yet, probably light finding it's way out more easily)
The easiest fix would be to just connect the glass node directly, which will give the expected result.
If you can get away with it, you can match the color input of the transparent material to the glass material. The effect is less noticeable.


text:
How to reduce noise
enter link description here
after enabling depth of field i faced with problem of noise. Metal objets especially looks very bad. How to fix it?

The fastest way is to turn on the Denoiser tool, but there are tons of other ways.
https://docs.blender.org/manual/en/dev/render/cycles/optimizations/reducing_noise.html


text:
Bad UV and ways to improve it
Smart UV project gave me this mess:

Is there a proper way to unrwap it without making seams manually? Some methods or programs to reduce the number of islands?

Hello :). Can't post a full answer now, but the Blender manual has a page on Smart UV project options. I'm sure you'll find what you need there.

how do you want to work afterwards? Please give more explanations...


text:
Computer is laggy when editing with Multiresolution
After sculpting my mesh with Multiresolution modifier it became incredibly laggy. I can't even start render because of this although my PC isn't so bad. How do you make it work?

9 300 000 vertices and same amount of faces, am i suppose to reduce them?

Blender will struggle with polycounts in millions. If you can, reduce the subdivision amounts. If you need to work with such subdivision amounts you need to get an app that will handle it, like Zbrush. Your pc is not the bottle-neck.

The issue for the slowdown is due to how dense your model is. Generally it's a trade-off between quality and performance. in this instance you are using a multi-resolution modifier as well as a subdivision modifier. Both modifiers accomplish pretty similar tasks however in this case your subdivision modifier is subdividing an already subdivided surface adding significantly more vertices than what is needed in your model. This is why your are experiencing such a large amount of slowdown due to the amount of subdivisions that are in place.
I recommend picking either the the multi-resolution modifier or the subdivision modifier and sticking with that.

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


text:
Beveling a BezierCircle with anonther BezierCircle, but the outcome is oval
I'm trying to make a kind of cage for a sword handle, and thougt doing that with Biziers an beveling should do the trick but I ran straight into this issue:
The outcome I want to get, should look similar to this:

I used a normal BezierCircle as Bevel-Object:

for another BezierCircle, but I got a oval profile then:

I kinda solved it when I went to edit mode and resized the Bevel-Object in X direction, but then the final profile looks somewhat angular.
I would appreciate if someone here can tell me what I'm doing wrong here, or whats the problem, especially because I did the same thing with the vertical Beziers and the profile in this case was correct. And (at least I think so) I did the same steps in both cases.
Second Question (not THAT important so I don't want to open an extra question for that):
With this solution to the cage it feel like this object alone has double the amount of quads then the rest of the sword. No Problem in this case, because I don't really plan to use it elsewhere.
But if I want to keep the model low poly, I feel like I need another approach to this. Perhaps one of you could give me a hint for a new view to the Problem.
Thx in advance ^^

The cage bezier curve is problably scaled along an axis. Concerning your second question, you can adjust the resolution of both curves (see at the top of the curve properties)

True that. Damn. I must have changed the ratio between the axes while changing the size of the Circle. Problem solved.
Concerning my second question: Totally nailed it! Did not thougt that I can ALSO change the resolution of the Bevel-Bezier.
Thx everything works perfectly now!
(I would like to upvote your answer, but it's just a comment. Would you copy it into an answer, so I can give you the approval you deserve? ^^)


text:
Query if selection is a collection
I have troubling ensuring that my selection is a collection.
My code:
import bpy

# Set the area to the outliner
area = bpy.context.area
old_type = area.type
area.type = 'OUTLINER'

#Get each selected data
ids = bpy.context.selected_ids
for x in ids:
    print(x.name)

# Reset the area
area.type = old_type

This gives me all selected objects.
I thought I could compare it to all existing collections:
import bpy

for collection in bpy.data.collections:
    print(collection.name)

But like this I could run into problems when I have an object selected that has the same name as a collection.
So how do I get all selected collections?

[c for c in context.selected_ids if c.bl_rna.identifier == "Collection"]? From: https://blender.stackexchange.com/questions/227832/how-to-get-a-list-of-selected-excluded-collections-in-the-outliner-using-python

Thanks to p2or!
This code works.
import bpy

# Set the area to the outliner
area = bpy.context.area
old_type = area.type
area.type = 'OUTLINER'

for x in bpy.context.selected_ids:
    if x.bl_rna.identifier == 'Collection':
        print(x.name)

# Reset the area
area.type = old_type

For you to run in the text editor, switch it to the outliner make your selection there, switch back to the text editor and run this code.


text:
Refresh time slider UI
When you run the following code from the script editor when having a cube selected:
import bpy

for x in bpy.context.selected_objects:
    x.keyframe_insert(data_path = 'location', index = 1)

#Updates the Transform UI panel when run as an addon
for region in bpy.context.area.regions:
    if region.type == 'UI':
        region.tag_redraw()

You set a keyframe on the Y axis and the UI panel would be refreshed when the script is an addon, but the dopesheet does not refresh(see attached screenshot).

How do I safely refresh the dopesheet?

I suggest to include the areas while looping to the regions. Note the region.type in dopesheet is Window.
import bpy

for x in bpy.context.selected_objects:
    x.keyframe_insert(data_path = 'location', index = 1)

#Updates all animation related UI
for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        for region in area.regions:
            if region.type == 'UI':
                region.tag_redraw()
    elif area.type == 'DOPESHEET_EDITOR':
        for region in area.regions:
            if region.type == 'WINDOW':
                region.tag_redraw()
            if region.type == 'CHANNELS':
                region.tag_redraw()
    elif area.type == 'GRAPH_EDITOR':
        for region in area.regions:
            if region.type == 'WINDOW':
                region.tag_redraw()
            if region.type == 'CHANNELS':
                region.tag_redraw()
    elif area.type == 'NLA_EDITOR':
        for region in area.regions:
            if region.type == 'WINDOW':
                region.tag_redraw()
            if region.type == 'CHANNELS':
                region.tag_redraw()
    elif area.type == 'OUTLINER':
        for region in area.regions:
            if region.type == 'WINDOW':
                region.tag_redraw()
    elif area.type == 'PROPERTIES':
        for region in area.regions:
            if region.type == 'WINDOW':
                region.tag_redraw()


text:
Script to make an empty enclose selected vertices
I want a newly created cube-empty to enclose my selected vertices by script. I thought on calculating the bounding box of all selected vertices and then position and scale a new cube-empty to enclose them, but I don't know how to use the calculated bounding box positions to enclose the vertices, since a cube-empty doesn't have the bounding box attribute.

BMesh script.
Already had this one lying around,.. no need to use bounding box of either object or it be a requirement of empty.

Parent empty to object of interest, this way can work solely in local coordinates.
Find the two extrema of $x, y, z$ coordinates of selected vertices.  The inner diagonal of the bounding box.
Set the empty location to diagonal mid point.
Giving the empty display size of 0.5 makes it unit dimensions at unit scale  (1, 1, 1)
Scale it by diagonal vector.

Test script, run in edit mode.
import bpy
import bmesh
import numpy as np
from mathutils import Vector

from bpy import context

ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)
x, y, z = np.array([v.co for v in bm.verts if v.select]).T

mt = bpy.data.objects.new("MT_BBox", None)
mt.empty_display_type = 'CUBE'
mt.parent = ob
mt.empty_display_size = 0.5 # unit
minp = Vector((x.min(), y.min(), z.min()))
maxp = Vector((x.max(), y.max(), z.max()))

mt.location =  (minp + maxp) / 2
mt.scale = maxp - minp
context.collection.objects.link(mt)

Un-parented local axis aligned bbox in world space.
To give the bounding box global coordinates, instead use above to make a local matrix and transform it by its parents world matrix, picking up from commenting out set parent (and from mathutils import Vector, Matrix)
#mt.parent = ob
mt.empty_display_size = 0.5 # unit
mw = ob.matrix_world
minp = Vector((x.min(), y.min(), z.min()))
maxp = Vector((x.max(), y.max(), z.max()))

L = (
    Matrix.Translation((minp + maxp) / 2) @
    Matrix.Diagonal(maxp - minp).to_4x4()
    )

mt.matrix_world = mw @ L

context.collection.objects.link(mt)

And finally a world axis  aligned bounding box
mw = ob.matrix_world
x, y, z = np.array([mw @ v.co for v in bm.verts if v.select]).T

mt = bpy.data.objects.new("MT_BBox", None)
mt.empty_display_type = 'CUBE'
#mt.parent = ob
mt.empty_display_size = 0.5 # unit

minp = Vector((x.min(), y.min(), z.min()))
maxp = Vector((x.max(), y.max(), z.max()))

mt.matrix_world = (
    Matrix.Translation((minp + maxp) / 2) @
    Matrix.Diagonal(maxp - minp).to_4x4()
    )

context.collection.objects.link(mt)

Works great, only thing, is there a way to make it a separate object and not part of my selected object?
bpy.ops.object.select_all(action = 'DESELECT')
does not work

To clarify it is parented to object, not "part of". In object mode select the empty bound box Alt P (clear parent) Keep transform...=>> to get the global coordinate result. Is that what you are after?

You are right or remove:
mt.parent = ob

Not the latter, Will require more than simply removing the set  parent. (Test by giving edit object translation, rotation and scale)

Wouldn't it be easier to iterate over 8 corners of a bounding box to get a minimum and maximum coordinate on each axis? Is your solution better just because it will work even if there's no bounding box, or is there something else I'm missing?

It is using a geometry  selection. (def would  use ob.bound_box coords for all)  Nice answer on render farm q, btw.

Don't be offended but "please read the question" lol

@MarkusvonBroady was that q also an attempt at some low level  sardonic humour like comment above....?

Could you make it work for more than one object?
Select two different objects' vertices and run the script


text:
Add item to Face Context Menu
I only found a similar question that does not answer mine((Python) How to add items in context menu in 2.8?).
I have this code that adds a menu to the right click context menu when you are in edit mode:
import bpy

class VIEW3D_MT_edit_mesh_context_menu(bpy.types.Menu):
    bl_label = ''

    # Leave empty for compatibility.
    def draw(self, context):
        pass

def draw(self, context):
    layout = self.layout
    layout.separator()
    layout.operator('mesh.flip_normals', text = 'Flip Normals')

if __name__ == '__main__':
    # Register menu only if it doesn't already exist.
    rcmenu = getattr(bpy.types, "VIEW3D_MT_edit_mesh_context_menu", None)
    if rcmenu is None:
        bpy.utils.register_class(VIEW3D_MT_edit_mesh_context_menu)
        rcmenu = VIEW3D_MT_edit_mesh_context_menu

    # Retrieve a python list for inserting draw functions.
    draw_funcs = rcmenu._dyn_ui_initialize()
    draw_funcs.append(draw)

The problem is that the menu is added to the Vertex, Edge and Face Context Menus, but I want it only in the Face Context Menu. How can I restrict that?

See space_view3d.py line 3807. A simple condition does the trick: if is_face_mode: ..., the flag is based on the tool settings and comes from: is_vert_mode, is_edge_mode, is_face_mode = context.tool_settings.mesh_select_mode.

@brockmann sure I've answered soemthing similar before, shrugs spent enough time looking.

Use a conditional to draw.
Suggest check if the menu has a module
>>> bpy.types.VIEW3D_MT_edit_mesh_context_menu.__module__
'bl_ui.space_view3d'

and if so
>>> from bl_ui.space_view3d import VIEW3D_MT_edit_mesh_context_menu

another way check if it's registered
>>> VIEW3D_MT_edit_mesh_context_menu.is_registered
True

One of my faves is using draw_funcs. Since  usage  as above is the equivalent of
VIEW3D_MT_edit_mesh_context_menu.append(draw)

wouldn't bother.  _or create your own  class methods to manipulate the list, ie could append remove different methods in poll.
Finally to pinch @brockmann's comment above as it saves me typing same
See space_view3d.py line 3807. A simple condition does the trick: if is_face_mode: ..., the flag is based on the tool settings and comes from: is_vert_mode, is_edge_mode, is_face_mode = context.tool_settings.mesh_select_mode.

This aligns with what others have said mostly, but I thought I would give a concrete example of how I did it. I needed a vertex menu instead of the Face menu, but it is simple to change.
I made two menus. They are identical except for the names and that one has a test for checking if we are in Vertex mode.
This is for the normal Vertex top bar menu:
def menu_func(self, context):
 self.layout.separator(factor=1.0)
 self.layout.operator(VertAlign.bl_idname)

This is for the Right-click vertex context menu setup. The "if" statement checks to see if we are in vertex mode, if true, then the menu gets added to the bottom of the vertex context menu (right-click menu). If this wasn't here, the menu would be added to All Edit Mode right-click context menus. The [0] refers to Vertex mode; [1] is Edge mode, [2] is Face mode.
def menu_vert(self, context):
 if bpy.context.tool_settings.mesh_select_mode[0]:
    self.layout.separator(factor=1.0)
    self.layout.operator(VertAlign.bl_idname)

Then, you just register those like always:
def register():
 bpy.utils.register_class(VertAlign)
 bpy.types.VIEW3D_MT_edit_mesh_vertices.append(menu_func) # for top menu
 bpy.types.VIEW3D_MT_edit_mesh_context_menu.append(menu_vert) # for context menu


text:
Delete all measurements with python
Is there a way to delete all measurements with python?
If you have any measurements in your scene you can run this to get the lengths of them, but I don't know how to delete them.
import bpy

lengths = []
ruler_data = bpy.data.grease_pencils["Annotations"].layers['RulerData3D']
frame = ruler_data.frames[0]
for stroke in frame.strokes:
    p1, p2 = stroke.points[0], stroke.points[-1]
    length = (p1.co - p2.co).length
    lengths.append(length)

for i in lengths:
    print(i)

import bpy

# strokes = bpy.data.grease_pencils["Annotations"].layers['RulerData3D'].frames[0].strokes

def is_measure_tool_active():
    try:
        if 'builtin.measure' in bpy.context.workspace.tools: return True
        return False
    except: return False

def set_active_tool(tool_name):
    for area in bpy.context.screen.areas:
        if area.type == "VIEW_3D":
            override = bpy.context.copy()
            override["space_data"] = area.spaces[0]
            override["area"] = area
            bpy.ops.wm.tool_set_by_id(override, name=tool_name)
            break

def refresh():
    if is_measure_tool_active():
        set_active_tool("builtin.select_box")
        set_active_tool("builtin.measure")

def get_layers():
    try: return bpy.data.grease_pencils["Annotations"].layers
    except: return None

layers = get_layers()

if layers is not None and 'RulerData3D' in layers:
    layers.remove(layers['RulerData3D'])

    refresh()


text:
Mirror modifier results in incorrect normals
I'm trying to do something simple: Export an FBX of a model that uses the Mirror Modifier. However, no matter what I do, I find that the resulting FBX's normals seemed messed up on the mirrored portion of the mesh.
To show a simple example of this, I've taken a cylinder and divided it so that I just have 1/4 of the cylinder, then I've added a Mirror Modifer on X and Y. I've then unwrapped the mesh. This results in the following:

I export the FBX, applying modifiers on export. But now if I bring this FBX into another program, like Substance Painter, or Unity, the normals on the mirrorred surfaces appear reversed, or otherwise messed up. Here you can see the top of the cylinder with a glossy material applied. The seams are clearly visible, and the four different quarters of the top of the object reflect light at slightly different angles from one another:

So I'm wondering what I'm doing wrong. I've tried mirroring the UVs in the Mirror Modifier, but this doesn't appear to affect the normals at all. Is it, in fact, possible to get correct normals on an FBX when exporting a model containing a mirror modifier?

What happen if you import the .fbx into blender? Do you get the same results when shading? Because I tried to replicate your issue and it worked as expected.

It seems as though if I import the FBX back into Blender it looks okay. I wonder what Blender is doing that other programs aren't doing.

A bit more on this: It seems this is probably an issue with whether a given program uses OpenGL normals, or Direct3D normals. When bringing an FBX into Substance Painter, for example, it looks like there's an option to use OpenGL normals. If I choose that, then things look correct. So, maybe it's as simple as just using OpenGL normals.

maybe it's a stupid question, but why don't you apply the modifier?

It's preferable to leave modifiers unapplied, to make future edits easier. If you apply a mirror modifier, then want to make more changes, you need to make them manually on both (or all four, or all six) parts of your model. Applying modifiers is "destructive", making future work more difficult, so if at all possible it's best to leave modifiers unapplied.


text:
How to reload texture images when they've changed on disk
I'm texturing in Substance Painter, and exporting the resulting textures to a sub-directory under my blender file. I'm then assigning it by choosing "Image Texture", and then "Open" to select the file on disk.

However, if I go back to Substance Painter and export the textures again (overwriting the old textures, but keeping the same names), blender doesn't update to show the new textures.
I'm hoping there's a some way to get all of the materials to "refresh" and show the latest version of the texture. Have I not linked the texture properly? Do I need to do something special to force all textures to refresh?

You can do it in the Image Editor or in the UV Editor > Image > Reload, or shortcut AltR, or directly in the Shader Editor with the same shortcut:

If you use the addon Amaranth Toolset provided with Blender, you can use "Save & Reload File" in the File menu or via ⎈ Ctrl⇧ ShiftW.
Otherwise, you can do the same manually by saving and then using the menu File > Reload.
"Reload" essentially refreshes the file's data as if you opened it again (hence the need to save you did anything you want to keep).
If you have multiple textures (or any other kind of data) to refresh, that's the one click solution.


text:
Unable to set UV Vertex values to < -10 or > +10
Blender 4.1, never saw this in 3.x.
I'm trying to manually adjust the UV Vertex values of some vertexes. I'm finding that Blender won't let me assign values higher than 10 or less than -10.
Here I have a vertex selected, and I want to change the "X" vertex value:

If I manually enter a value between -10 and +10, it works. But if I enter a value outside of that range, blender ignores it and leaves the value unchanged. This also affects the way those Range inputs behave when I click and drag left-right on them to adjust the value, or click the "<" and ">" buttons to increment and decrement the values. (They're locked to -10 > +10).
I don't see anywhere in the Settings to change this range or remove the restriction. This doesn't appear to apply to other value inputs that I've noticed so far. Hopefully I'm just overlooking something really simple. Thanks.

I don't know if there's a proper solution, but as a workaround:
Scaling Workaround

.D Set Pivot Point to 2D Cursor.
A Select all points.
S.01↩ Enter Scale the coordinates to 1% of their original value.
Now you're still under the limit of $[-10, +10]$ range, but when you scale back in the next point, it effectively becomes $[-1000, +1000]$.
Once you're finished, to scale back reapply p 1., then S.100↩ Enter.

❗ Keep in mind you can introduce a floating point error, e.g. a coordinate 1.00001 becomes 0.099999 (at least as displayed in the UI, the actual values stored may be a little different still but I didn't bother to use python API to read the real values)
Overextend workaround
As annoying as it is for many points, it doesn't introduce any inaccuracies and doesn't corrupt existing coordinates. It's also faster for a single/a handful of points*:

.D Set Pivot Point to 2D Cursor.
Select a point.
SX0↩ Enter Set it's $x$ coordinate to 0.
GX, type the desired coordinate, then ↩ Enter - the Translate operator apparently ignores the limitation.
Obviously you can replace X with Y to set the $y$ coordinate. Or just don't use these keys in the instructions, and at the end press F9 to bring the operator window and manually put the desired coordinates.

Alternatively:

Select a point.
G↩ Enter or G click. If you want to make sure the point doesn't move in this step, consider instead G0↩ Enter.
In the operator pop-up (you can hit F9 to bring it up), set the coordinates that are even more beyond the limit, then the actual values you want to set.
Now in the Number panel you can set the desired values, because Blender will allow you to set values outside the allowed range - as long as they move closer to the allowed range.

* - actually points are dimensionless so you can grab infinite points in your hand (ackchyually in Blender there's limited precision of coordinates so for the biggest possible cube-shaped "hand" you can only encode $(2^{32} - 2^{24})^2 = 18302910360610406400$ 2D coordinates )

I'm trying to understand the answer... the last instructions under "Alternatively", what is or how do I do G "green" 0 "grey"?

@GordonBrinkmann thanks for feedback, it was supposed to be left mouse button but apparently it's not clear, I'll have to change it with something else. There's a Gorgious script somewhere, that uses graphical icons, but unfortunately that requires either adding the image address in each spot or modifying the message at bottom addying a reference to the image, which makes it too hard to use a simple macro for it. YOU'D THINK WITH SO MANY EMOJIS, THEY WOULD CREATE A FEW FOR MOUSE ICONS! P.S. Actually that's Gandalf's update to older CodemanX's script. I'll try installing it.

@GordonBrinkmann I changed it to an icon, what do you think?

Okay, now I recognize it  I never know how to show a mouse, so I stick with just writing "left-click" or use LMB like others do sometimes.

Thanks, that's an interesting workaround. I'll give this some consideration if it turns out those two inputs are honestly locked to +/- 10, with no way to change it.


text:
Subdivision Surface Causes Spaces
So I am having a problem with subdivision surface, it causes some space on my model, I am new to blender any advices?

There are actually 3 vertices in that corner...you probably need to enter edit mode and remove doubles. However, this is probably a duplicate question...

Related: https://blender.stackexchange.com/a/62467/28015 https://blender.stackexchange.com/a/72255/28015 https://blender.stackexchange.com/a/68711/28015

Go into edit mode with tab, and then press W, and select remove doubles. The reason this is happening is that the differnet faces of the mesh are not actually connected, so by removing the vertecies in the same position you connect them.
If it doesn't instantly work, try increasing the distance in the right hand toolbar.
Also, it looks like you need to press ctrl+n to recalculate normals.


text:
Change Blender's Python Version
My Blender is running Python 3.5.3. How would I change the python version to another one i.e Python 3.6.

Related (almost identical): https://blender.stackexchange.com/q/14098/28015


text:
How to make bandages around sword hilt
How would I get this effect on my sword hilt?
I would like the bandages to be wrapped around and also have some hanging off for cloth simulation.

Many ways... You could sculpt the details into a surrounding mesh if you require very detailed hiltwork... Or you could find a bump map online and map it to a surrounding mesh... Or, using the Curve Extras add-on you could create a helix around the haft, convert to mesh, extrude it to a band and modify that. That's three suggestions from hard to easy, that give you most to least satisfactory results. What are your skill levels at 3D modeling?

I would say I’m pretty good at 3D modelling. The curve extras add on looks useful. Thanks


text:
Make an add-on with multiple python files
I was looking through some add-ons that ship with blender so I could better understand how to use multiple files for an add-on.
I tried running the add_curve_extra_objects plugin's init.py however when I do I get this error:SystemError: Parent module '' not loaded, cannot perform relative import
So how do I specify the parent directory or get this to work?

Organize your folder structure like this:
myaddon/
├── __init__.py
├── operators/
    ├── first_operator.py

In the __init__.py do this:
import bpy

from .operators.first_operator import FirstOperator

bl_info = {
    "name": "MyAddon",
    "description": "A demo addon",
    "author": "myname",
    "version": (1, 0, 0),
    "blender": (2, 7, 9),
    "wiki_url": "my github url here",
    "tracker_url": "my github url here/issues",
    "category": "Animation"
}

def register():
    bpy.utils.register_module(__name__)

def unregister():
    bpy.utils.unregister_module(__name__)

In the operators/first_operator.py file, do this:
import bpy

class FirstOperator(bpy.types.Operator):
    bl_label = "First Operator"
    bl_idname = "myaddon.first_operator"
    bl_description = "A demo operator"

    def execute(self, context):
        print("hello world")

        return {"FINISHED"}

You'll have to install the addon to use it. You can't just run the __init__.py from the text editor in Blender to make it work.

Perhaps also explain that the chosen myaddon name is where you can import using absolute imports.

Is there a way to refresh the installed add on if I changed something to it?

Try the "Refresh" button in the user preferences window. I typically just restart Blender when I'm working on an addon.

is this still the same as of 2.8+ right now?

this doesnot work for 2.92


text:
Creating vertices at mouse position is very off
I am trying to create a vertice at my mouse position with python. This is my code to get the location:
`       region = bpy.context.region
        space = bpy.context.space_data.region_3d
        x, y = event.mouse_region_x, event.mouse_region_x
        loc = bpy_extras.view3d_utils.region_2d_to_location_3d(region, space, (x, y), (0,0,0))

. This is what happens:

Add vert on left mouse click
Further to this answer added code to add vertex on left mouse click. (Using method explained here)  Added a list to class to hold the newly added vertices, as suggested via this question.
Things to note:
Vertex coordinates are  local coordinates, whereas the calculated 3d cursor position is a global coordinate. To convert global to local the global vector is multiplied by the objects matrix world inverted.
A class property for the matrix world inverted, similar to setting cls.bm for bmesh to avoid inverting the matrix each time.
When writing operators or panels, very rarely (if ever) do you need to access context via bpy.context.  If context is an argument use it.  I often use context = bpy.context atop of test scripts as a convenient way to later copy / paste into code where context is defined.
import bpy
import bmesh
from bpy_extras.view3d_utils import region_2d_to_location_3d

bmeshes = {}

class Modal(bpy.types.Operator):
    bl_idname = "object.modal"
    bl_label = "Modal Op"
    bl_description = "Other thingy"
    bl_options = {"REGISTER"}

    bm = None
    added_verts = []

    @classmethod
    def poll(cls, context):
        return context.object and context.object.type == 'MESH'

    @classmethod
    def bmesh(cls, context):
        me = context.edit_object.data
        cls.bm = bmesh.from_edit_mesh(me)

    def invoke(self, context, event):
        bpy.ops.object.mode_set(mode='EDIT')
        self.bmesh(context)
        context.window_manager.modal_handler_add(self)
        return {"RUNNING_MODAL"}

    def add_vert(self, loc):
        v = self.bm.verts.new(loc)
        self.added_verts.append(v)

        return v

    def modal(self, context, event):
        # no longer in edit mode
        if context.mode != 'EDIT_MESH':
            self.bm.free()
            self.bm = None
            return {'CANCELLED'}
        ob = context.edit_object
        me = ob.data
        if self.bm is None or not self.bm.is_valid:
            # in edit mode so try make a new bmesh
            self.bmesh(context)
        if event.type == "LEFTMOUSE" and event.value == "PRESS":

            x, y = event.mouse_region_x, event.mouse_region_y
            region = context.region
            rv3d = context.space_data.region_3d

            loc = region_2d_to_location_3d(region, rv3d, (x, y), (0, 0, 0))

            v = self.add_vert(ob.matrix_world.inverted() * loc)
            v.select = True

        if event.type in {"RIGHTMOUSE", "ESC"}:
            self.bm.verts.index_update()
            bmesh.update_edit_mesh(me)
            print("added", self.added_verts)
            return {"CANCELLED"}

        if event.type in ["WHEELUPMOUSE","WHEELDOWNMOUSE","MIDDLEMOUSE","LEFTMOUSE"]:
            return{"PASS_THROUGH"}

        return {"RUNNING_MODAL"}

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

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

if __name__ == "__main__":
    register()

Btw. If you put minimal working code into your question it would be a lot easier to work out where your particular mistake is.


text:
How do I cut off excess overlap of two objects?
How can I cut off (delete) the excess parts of the logs sticking through the roof in my picture?
Note: The sloped roof is just a rotated plane; not sure if this affects how you might do it.

Would be easier if you give the roof planes thickness first. (cubes instead of planes)  In Edit mode drag the log vertices back inside the roof's thickness.

In most situations (everywhere you want less polygons) you don't want to cut these intersections. This will create additional geometry because that's the only way to point where certain mesh should end is create there edges. If this is for printing then indeed geometry should be cut

A practical way to do this is:

Go into an orthogonal view looking down the edge of your plane roof
In Edit Mode, Put (CtrlR) 2 edge loops around your log
Slide (GG) each of your edge loops until they coincide with the slope, top and bottom.
With the knife tool, cut through (KZ) from the top vertex of the left loop to the bottom vertex of the right loop.
Rip (V)the newly created sloping edge loop.
Select linked (hover L) on the left side of the new loop, and delete faces.
Dissolve your guide loop, if you like.

But you're still in trouble: If your roof is a simple plane, either the logs will show through, or there will be a gap on the outside, or you will have coincident geometry, which will cause artifacts. So really, your roof should have some thickness, and the ends of the logs should be concealed inside it.

....but check out @ Duarte Farrajota Ramos comment/answer: it's neater, here.


text:
Blender Runs Unusably Slow and Buggy on Windows 10 with GTX 1080
I am new to Blender and 3D modeling in general. After downloading the newest version of Blender, I found the UI to be incredibly unresponsive and laggy. I looked up solutions online, such as changing the way the window is rendered or adding Blender.exe to the Nvidia 3D control panel and using all of the settings available. The only thing I could not do is run Blender with integrated graphics since I have no integrated graphics card in my desktop, so the option does not appear.
I have:
GTX 1080
Intel i7-4790K CPU 4.00GHz
16 GB RAM
Windows 10
2 500GB SSDs
I even checked a post on here with a similar problem and computer specs, but none of the solutions worked, some even made things worse. Does anyone have any other suggestions?

Welcome to Blender SE. Check your Task Manager, see if you have any CPU-hungry operations going in in the background. I found that removing GeForce Experience also increased performance. The fact that you have no Integrated graphics card might be a problem: unlikely, but do report this issue with the folks at Blender directly.

Thank you for your response OroNZ. I checked to see what my CPU usage was while running Blender, and it doesn't even go above 30%. It seems to cap out at 6 GB Memory usage though, despite having 16 GB total


text:
How can I apply exact texture measure (cm) in uv mapping?
So, i'm working at a bathroom and my main problem is with tiles. My tile is 25cm x 75 cm how cand I apply exact measurement of my tiles to fit the walls. Let's sey I can hardly apply exact uv mapping on one wall, but is more hard to fit the other walls at the same measurement.

The room to tile with 75cm x 25cm tiles:

1: Create or resize a tile texture.
It should have the same proportions as the 75cm x 25cm tile, thats to say 75/25 = 3:1. To keep things simple I like the idea of having 1pixel to 1mm. In the example below the tile texture size is 750px x 250px.

2: Open this texture in Blenders UV Editor:

3: Next is to UV unwrap the four walls A, B, C and D.
Before doing this it may make things easier if all all the surfaces that are not going to be tiled (UV unwrapped) are hidden (H key). Doing this will make it easier to select each of the remaining walls.
Select Wall A and in orthographic front view (numpad 1) UV unwrap using the Project from View option.

4: Hide wall A. Switch to the Back view (CTRL + 1), select Wall B and again UV unwrap using  Project From View.
Repeat for walls C and D. It is very important that you do not change the zoom in or out when selecting before each unwrap.

5: Unhide the Walls (Alt H)
With the four walls selected, in the UV editor the four islands may appear squashed in the Y axis so to correct this select all four islands and scale up by 3.

6: Next we need to get the lower left corner of each wall island snapped to the lower left-hand corner of the UV space. This is done for two reasons,  a) to have all  the walls lower edges aligned and b) so that they can be all scaled up together from the same single point. (X=0 Y=0).
In the UV menu enable the Constrain to Bounds option then select each island in turn and drag it down so that its lower left corner is snapped at X=0 Y=0.

7: Uncheck the Constrain to Bounds.
Assign pivot point to 2D cursor and check that the 2D cursor is at X=0 Y=0. Select all four islands and scale them up until the right-hand edge of the Wall A is aligned with the right-hand edge of the UV space (X=1).

8: Now we are ready to do the final scaling. The length of Wall A divided by the length of the tile 6000mm/750mm = 8.
With the pivot point (origin of the scaling) still using the 2D cursor and all four islands still selected scale them up together by a factor of 8.

Now when the tile texture is applied to all four walls it should be correctly aligned and correctly scaled.

Another way to do this could be to use the Mapping node in the Node editor, adjusting the X and Y values to suit. In this case the UV Unwrapping (mapping) method would be Project from View (Bounds).
Because the length of Walls A and B are not the same as Walls C and D the scale of Y value would be different. This would mean having to use two different materials.


text:
2.8x ADD-ON - I need an add-on to "paint" instances of an object over another object's surface
In 2.79 I used to use an add-on called "Paint Clones" which would allow me to basically paint instances of one or more objects over another object's surface with random scale/rotation.
That add-on hasn't been updated for Blender 2.8x, which means I need a substitute.
I've googled far and wide, but the only similar tool I've found died with Blender 2.79 as well.
Obviously I've tried resorting to particle systems but, besides the useless intricacies of setting them up, they don't allow me to place multiple/different objects with a single system, nor (seemingly) to randomize rotation over multiple axes.
Does anybody know of an unspoken Blender function or add-on that could help me in the task?

"paint" vertex groups and use instanced objects as hair.

@Timaroberts sorry, I dont understand what you mean. Or, rather, I have a doubt you didnt read my request.
Please, read again, especially the part about particle systems not being functional for my puposes because of their several limitations.

I’ll try to write up a full answer a bit later today, but in short, weight painting creates a vertex group to use for hair density and a new collection (your clone object) will instance hair.

If I understand what your goal is correctly, then here is a solution that should work for you in version 2.8 without needing any add-ons or extra tools.
Move your clone object(s) to a new collection with M and give it(them) a useful name, such as "hair".
Add a new vertex group to your main object, Suzanne in our example here. You can leave it at the default name "group" or rename it to something more useful like "hair".
Add a new particle system and change the following settings to begin with:

Most default settings are usually fine, but here you want to Render as Collection, and set the Density Vertex Group
With all of that done, you can now paint your clones. Ctrl+Tab into Weight Paint Mode  and  paint away! Everything will paint into the last active vertex group, adding to the density group of your hair system.Ctrl+Tab again to return to object mode
See the gif below adding icospheres to Suzanne.

You may also randomize velocity if you'd like, (this will allow some randomness in rotations)  the option is pictured below.

It doesn't answer my question, but it sure helps. Does the "randomize" parameter affect all the axes or only one?
Anyway, the selling point of the add-on I used in 2.79 was its simplicity and flexibility. All I had to do was select some objects and acquire them as the source, then select the target and set scale/rotation variations for each axis separately, plus a radius for the density.
Simple, functional, flexible, straight to the point.


text:
KEY MAPPING (v2.8) ~ Is there any way to remap the Y axis hotkey to `C` for a more practical use?
MY ISSUE: I use the Z/X/Y axis shortcuts a lot when modeling, rather than visualizing the transformation gizmo.
I'd like to have the three shortcuts in a single row of three consecutive keys.
Having to travel halfway over the keyboard each time the Y axis is involved is a bit stressing (especially when I have to exclude it, Shift+Y!!) and it'd be great if I could just tap no further than one key to the right of the X.
Obviously I could just redirect the Y key to C with AutoHotKey, but then I'd have to swap C to Y and move there every time I need to "paint select".
I need a conditional key remapping that allows me to use the C key to pick the Y axis every time move/scale/rotation are the active mode.
While retaining the C key paint selection shortcut, of course.
I've briefly tried to dive into the key mapping setup of Blender 2.8, but it looks kinda complex and very script dependent.
Probably there is a way to do what I want through the UI rather than by script, but I couldnt see any key binding for the Y axis shortcut and I cant really understand how to add one.
In case scripting is the only way, I'd use a link to a tut on how to make/implement scritps and the script itself.

Ok, it seems I just needed to say it out loud to actually guess the solution.
Here it is:
.- [menu] Edit -> [entry] Preferences...
-. [section] Keymap
.- [search filter] filter by Key-Binding (rather than by Name)
-. [search field] enter: Y
.- look for Y axis and Y plane
Then just click on the key binding button (first to last in the row) and press the key you need (C and Shift+C in my case).


text:
How to modell this shape?
I am trying to modell the shape on this image.

But as you can see the middle part on the image is more narrow than what would come out of the boolean operation in my modell. How do can I modell the shape on the picture above?

Here is a solution, maybe there is a simpler one.

Thanks for that detailed answer … tried to create it using your method but was not able to … Would be helpful also for others to maybe share your bevel tool settings.

when you've created you 3 vertex circle, select all in Edit mode, then shift ctrl B, then pull. Now, on the bottom of the Tools panel (on the left of the 3D View), you have a series of parameters: the Amount depends on the size of you circle, so for the moment choose something that will not give any overlap. Segments: choose 8. Profile: choose 0.15 so that it will be concave. It should work, or tell me where it doesn't work   ;)

Maybe deform one of the circles with proportional editing and paste him to the positions you want him.
I'm sure there is a more precise way of doing this but this came first in my mind


text:
Lighting inside of a MESH
I added a torus mesh to my workspace and placed a light on the inside of it and the camera. When I go into camera view in Material mode, I can see the interior surface.. However, when I go into the Render view, it's black using the camera view.
However, from the ouside view, it looks like the surface of the taurus is lit up from the light source on the inside...
What needs to be done for the inside of the taurus to be illuminated by the light on the inside?
Thanks
Harry

I think you need to flip the normals so that they point inwards

Still doesn't work with a sun lamp, but the interior gets illuminated with a Point light and Spot light.

Check your world properties. if the colour of the background in properties is dark colour, anything like grey/ash, there will be only something dull.


text:
I bought a model on fiverr in .obj but it was sent as .txt

Does anybody know how to make this into an obj file? Am I just stupid?

Rename it to .obj

It is just a text file so @tkausl suggestion should work https://en.wikipedia.org/wiki/Wavefront_.obj_file

no stupid questions only stupid answers :)

OBJ is basically a text file. It should be fine if you renamed the file and changed the extention from .txt to .obj.


text:
Eevee or similar in 2.79
Has anyone made something similar to eevee for blender 2.79? I really just do not like blender 2.8. I'm sorry if this question feels a little out there or rude.

The closest this that exists that I am aware of is a prototype that led to Eevee (Clement Foucault's pbr viewport branch):
http://www.clement-foucault.com/#blender_pbr / https://github.com/Hypersomniac/blender-shader
It has a bunch of nice improvements on the old viewport but is still very much a prototype. It is also based on an older version of blender than 2.79 (still in the 2.7Xs though).
All that said, I'd recommend trying to persevere with 2.8, and pin down exactly what you don't like / become familiar with the changes. Dislike can often come just from a lack of familiarity, it may only need a few settings tweaks and a bit of practice to be fine.


text:
Blender 2.8 edit mode. I can see through parts of my model
I finally decided to start using blender 2.8, I've gotten a lot of things looking right again but I've ran into an issue in edit mode, I can see through parts of my model at times, and if i zoom out I can see all of the facedots. Is this a bug, or a new feature?

I had the same problem. I noticed that Viewport clipping now affects the visibility of the face dots in 2.8+ and I can see through my mesh when at the lowest Clip Start setting of 0.001. I changed mine to 0.002 and it seems to fix the problem but I like to zoom in close & I hate viewport clipping, so it is still a minor annoyance.

A little more information and visual examples would be helpful to verify exactly what is going on. It could be a couple things. Could be a feature or a bug(given the fact that 2.8 is still in beta). I want to lean more towards a possible bug.
There is a feature that can do what it sounds like you might be describing, in terms of "seeing through the mesh". However it appears disabled in your Header at the bottom of the viewport.
The button in the Header  allows you to make the whole scene transparent when enabled. Therefore see through the mesh. But only seeing the face dots and not the wireframe is why I think its a bug.
Image 1 transparency of the scene is disabled.

Image 2 transparency is enabled.

According to your image you are using v2.80.39. I am using v2.80.45 and cannot recreate your issue exactly.
I would recommend updating to a newer version of the beta(nightly builds), and see if the issue remains.
I could be wrong, but unless someone else can state otherwise and educate us both, I'm guessing its a bug.

I suggest the problem is you have created an object in an older version of Blender, 2.79 say, and you have opened that object in a newer version, like 2.80.
The data structures have changed, and the pointers don't point where they should.
I think you'll have to either rebuild your model in the newer version of Blender, or go back to using the older version. I opted to rebuild mine in the newer version.
You can verify this: construct a simple object in the newer version of Blender, and see whether that new object behaves as expected.


text:
Are the focal length, aperture, and sensor width attributes tied together?
My question is, basically, if I were to use an aps-c camera (23.6mm width) with a 35mm camera (53.55mm equivalent) at f/4 (f/6.12 equivalent) do the settings go:
Sensor width: 23.6mm
Aperture: f/4
Focal Length:35mm
Or:
Sensor width: 23.6mm
Aperture: f/6.12
Focal Length:53.55mm
or some other combination I haven't thought of?

I presume you mean a 35mm lens on the first paragraph. Yes?
The lens would be the same lens as with the aps-c camera with the same aperture. if you use a sensor width 23.6mm:  aperture at f4, length 35mm. That would give you the same field of view and the same depth of field.


text:
Compositing Shadow pass problem
Here is my problem, I need to create 2D aspect animation from 3D model in blender.
From the start my rended image is ok
But when I transform it, I need to use the Shadow Pass and
it looks realy blocky !
Need some help please :)

Which render engine did you use?

The reason for jagged shadows lies in the technique used for rendering the shadows.
I assume you used the blender internal render engine and the standard shadow of the lamp; for spots lamps the default is the buffered shadow.
Here is a rough explanation how buffer shadows are calculated
With buffer shadows something like a render is made from the view of the light source lamp. Every surface point not visible on this lamp-rendered image isn't reachable by this light source. Thus, these pixels of the lamp-rendered image projected to the unreachable surfaces will be a good approximation of the shadow in the final render. According to this the blockyness depends on the resolution of this lamp-rendered image. It can be adjusted at the lamp settings:

Here is more info on how the buffering works.
So increasing the size is the solution?
No. A better way is to change the shadow rendering technique. The other one available in blender internal is Ray Shadow which probably is the best solution.

I hope your shadow pass is blockless with this method now :)

It's ok, I have solved this problem using Diffuse too !

Hi. Please add some extra information as to how you specifically solved this. At the moment this answer doesn't give much information.


text:
How to change texture interpolation of many images all at once?
I have imported many images as planes and need to change the texture interpolation from linear to closest to solve an issue similar to this one: Transparent image planes in cycles have strange borders (although I am on eevee).

This could be done with python right?

Does this answer your question? Is there a way to make a node property value the default?

You would have to find all image texture nodes and set their interpolation type to 'Closest':
import bpy

# Run through all materials of the current blend file
for mat in bpy.data.materials:
    # If the material has a node tree
    if mat.node_tree:
        # Run through all nodes
        for node in mat.node_tree.nodes:
            # If the node type is texture
            if node.type == 'TEX_IMAGE':
                # Set the interpolation -> Linear, Closest, Cubic, Smart
                node.interpolation = 'Closest'

See: https://docs.blender.org/api/current/bpy.types.ShaderNodeTexImage.html#bpy.types.ShaderNodeTexImage.interpolation

I got this error:
Traceback (most recent call last):
  File "/home/farid/Gunga/Nature Brasil/animation/cenas1-2-3-4-5.blend/Text", line 4, in <module>
AttributeError: 'NoneType' object has no attribute 'nodes'
Error: Python script failed, check the message in the system console

yes, if there are no nodes, the script will fail... add another for loop after for mat in bpy.data.materials:  if mat.use_nodes == True: .

See also: https://blender.stackexchange.com/a/181959/92768

That fixed it! Thanks :)

If that "fixed it", please consider to accept the answer @FaridAbdelnour How this site works: https://blender.stackexchange.com/tour

@brockmann thanks for the edit!

@brockmann what solved it actually is this: https://blender.stackexchange.com/a/181959/92768

Huh, I think the code I've added has a much better explanation @FaridAbdelnour Otherwise you should close it as duplicate.

@brockmann your explanation is great but I get an error when running it.

That's fun. What do you think how we can help based on "I get an error"? @FaridAbdelnour ... and again otherwise you can always click on the button to close it as dupe

@brockmann odd, today it seemed to work. Sorry still getting the hang of this. I will be clearer moving forward.

No problem @FaridAbdelnour Glad you got it working... Yeah, I'd recommend to communicate at least, we are all just volunteers trying to help each other.


text:
Trifold Symmetry giving odd results
i'm making a spitfire and my previous propellor was incredibly off regarding symmetry so i'm redoing it.
I've looked up how to do trifold symmetry and found the answer here however these are my results: this is how i set it up
does anyone know what i might be doing wrong? perhaps how to fix this? or an even better method of doing this?

Notice an empty is used as object offset in answer in link posted rather than the cube in yours.  Is it a Mk XIVe Spit?

hahaha, no my name is derived from the Spiteful prototype, this is a Mk Ia. but i have just switched to an empty object and it still doesn't work @batFINGER

I'd say it's an issue with offsets and / or scale.
Here is the default cone, with its origin moved to the tip.  (Add default cone, move cursor to (0, 0, 1) then transform > Origin to 3d cursor. Now we add an empty at this point and make it the object offset.
ie the origin of one blade (basically its pivot point) and the array modifier object offset, the empty, are at the same point.  Ok that's offset dealt with.
For your blade, make the origin the pivot point in centre of propeller nose cone. Even if this means it is outside the blade mesh.
Rotate the empty to 120degs on y, and "whallah" a cone propeller.
Make sure the scale of the empty and prop (in my case the cone) is (1, 1, 1) by applying scale, or this will effect the array modifier result. (increasing or decreasing in size of each iter)

Lastly, if I make the empty the parent of the cone, I can move the whole set up by moving the empty without upsetting the array mod.

thanks, it was indeed the scale, instead of rescaling the blades and later scaling them back i rescaled the empty to the blades.


text:
How can I get the texture that came with this model?
I opened this blender file (https://www.turbosquid.com/3d-models/free-blend-model-centaur-centauress-pink/703314) and exported it to FBX, but there was no texture. I can only see the model with the texture in the "model view". Do I have to unwrap the texture? I'm trying to get the texture apart from the model. Thank you.

Can you please share screen shot of your node view ?

I don't know how to open node view

Please take a look of steps below

Possible duplicate of .fbx export why there are no materials or textures?

I had to bake the Vertex paint to the UV texture and then I exported the UV map as a .PNG file and it has textures now!

I am glad it worked for you :)

The texture is stored in the vertex color. To use it in cycles you need to add an attribute node, you can find in the the add menu Vertex Color -> Col.
Pluging the color output of the attribute node in the color input of the diffuse you get the the texture.


text:
Rig controls appear above bones

When I generate the rig using rigify the controls for the arms and head move up and out of place. Is this just for display or has something gone wrong? I did recalculate bones to front view, not sure if that matters, thanks!

Did you reset the scale of both the armature and model in Object mode using ALT - S before generating the rig?

John Eason I believe i just scaled using S in Edit mode the first time. i redid the rig on a dup file and it's worked. Is ALT-S in object mode the way to go? Thanks

Yes. Look at the object's scale settings in Object mode for both armature and mesh. If any of them aren't set to zero before you generate the rig you're likely to have problems. You should get the overall scale of the armature roughly correct in Object mode before you tweak the settings in edit mode. Then go back to Object mode and use ALT S before hitting the Generate button.


text:
weird edges with no vertices
theres these weird points between to vertices that my image object keeps running into and i cant figure out how to fix them, pressing "J" brings up an error and splitting the face only makes it worse.

Maybe mark on screenshot what part exactly you have in mind and also consider uploading .blend file to: http://blend-exchange.giantcowfilms.com/

Sometimes edges look like this when having a subdivision surface modifier active...

okay, cool thanks, is there anyway to change them from being a hard edge to a curve?


text:
if i import a model from blender into unreal engine 4 will the lamps come with it?
so I'm trying to make 3d models for a game I'm making in unreal engine 4. and I've been doing research on how they import using the fbx files it and I know the materials will import with it, but i cant find anything to tell me wether or not lamps will come with it... i don't really care either way, but i need to know if it will

Why not try it and find out? But my guess is no, they won't, because UE uses its own lighting system.

yeah, i guess i'll eventually find out, im just wondering wether or not to do all the extra work


text:
Blender screen won't refresh. Windows 10
I recently got a windows 10 laptop. I've brought all my blend projects into this computer and installed blender. But whenever I boot blender up the screen will stay frozen on whatever frame it was left on unless I switch to another app and come back. As you might imagine this makes it impossible to work in. I've had this happen with one other program (sonic 2 hd) and I can't figure out how to make it work, I've uninstalled and reinstalled blender several times, I've tried the zip and nothing works

ive only had this problem with one other program (see question) and upgrade what to the latest version?

tried it, did nothing. i even reinstalled the driver and it still didnt work

I tried doing a little research on programs freezing on Windows 10, and was overwhelmed... Out of curiosity, if you launch Blender from cmd, does it print anything interesting when this happens? That may help us narrow it down.
The only thing I can think of that your two listed programs have in common is that they both use SDL 2.0. You might try another program that uses it for window rendering and see if you have the same problem; if you do, it might involve SDL windowing. I hope this helps.

thanks for your response, youve been the most helpful so far. I cant find anything about SDL, but I tried running blender from the CMD and it didnt print out anything. I ended up just returning the computer.


text:
How to apply a hair particle effect to a specific material
Okay, so I'm making an animal character and I want it to have fur by using the hair particle effect, but only in certain areas where I use a specific material.
I've tried to find tutorials on this but most of them start way far ahead from where I am, have something way more specific in mind, or only apply it to the whole object.
I don't want to use any UV wrapping because I don't think I need to in order to do this
Basically I want a material I can apply to certain parts of my object that will make it appear like it has short blue fur without any complicated UV wrapping

You could use weigth painting. Select your object and go to the Data tab (triangle) in the Properties window. There is a section called Vertex Groups. Click the + icon to create a new vertex group and give it a name. Now you can switch from Object Mode to Weight Paint mode and paint the verts where you want your particles to appear. Blue = no particles, red = 100% of particles.
Afterwards go to your Particles tab, scroll down and open the Vertex Groups section. Click next to Density and select the vertex group you just painted.
(can't provide pics right now, sorry)

okay, that helped... however its only coming out of one side and not exactly in the areas i want it to... I'm using a mirror effect to make the model semitryzed, could that have something to do with it?

For more accuracy with weight painting you need more geometry. I don't know how high the poly count on your model is, but maybe you need to subdivide (and apply) it a step or two.
And yes, I do think you need to apply your mirror first, then paint the verts and lastly add your hair particles. I'll test it a bit when i get home.


text:
how to make selected vertices rotate/scale/transform around themselves, not the cursor
this happens whenever I use the "cursor to selected" thing in a project and then the transformation point is linked with the cursor and it drives me nuts

okay, it turns out it was just changing the pivot point


text:
How to create parallel edge loops
I want to create a tiled floor look.
I'm hoping there is a way I can do that by making an square shaped loop of vertices inside each of these squares.
But then again that would mean I'd have to do that for every single square...
Is there an easier way to do this? please let me know.

I want something to the effect of this

Please follow the steps :

Select all face in Edit Mode, and change your Pivot point to Individual origins
hit the Extrude individual as highlighted below

Extrude slightly up to z axis

Hit S on the keyboard and drag mouse inside to scale it down

Best of luck!

I'd make a single tile, or a small selection of tiles and then use the array modifier to create a grid of them.
If you wanted to further randomise them, the easiest way, but perhaps not the quickest would be to then apply the array modifier and use proportional editing to grab and move various corners and edges.


text:
how do you light dark areas
okay so, my lighting is being weird and I have several dark spots, it doesn't matter how many lights i have or where i move them, they still persist, its also bugging me that the gloves are the exact same material as the white spots on the shoes, but are look darker.
I've tried changing the environmental lighting too, but it doesn't help

The faces on the gloves are looking to the opposite side (inwards) see this post: https://blender.stackexchange.com/questions/3606/why-are-some-faces-in-my-mesh-darker

Its probably shading. In the properties>data tick a box that says "Auto Smooth" and try an angle like 30.


text:
{ANIMATIONS v2.8} ~ FBX exporting only the selected action rather than all of them (for Unity)
MY ISSUE: when I export the mesh complete with its armature, only the currently selected action gets exported along in the FBX file.
I've rigged, skinned and animated a character.
Each animation is a separate "action", for a total of 4.
The scene includes 3 objects, which means 3 armatures.
The character's body armature is parented (as a "bone") to a rocking chair's armature, so to sync the movement.
Each armature is a separate object, but the movement of the character's armature is relative to that of the chair.
I export each of the three meshes (with relative armature) separately.
If exported singularly (by unticking the relative option), each action/animation works perfectly, in Unity.
If exported altogether, only the currently selected action/animation is exported; and works perfectly in Unity.
I've read threads reporting this issue being caused by keyframes linked to bones that no longer exist.
I've checked the "dope sheet" for lines entitled to non-existing bones, but all the keyframes are accounted for.
Is there something I'm overlooking?
This is my 3rd animation attempt, the first two working flawlessly.
In the first case it was a tree waving in the wind. All OK.
In the second case I added a walking cycle to a pre-existing blend scene. Exported with all the animations without a problem.
This time I got the character clean, so I handled all the stages, from rigging to animation.
In Blender everything works great and the animations look good.
When I export them, though, only the currently selected one gets exported.
Is there any way to know why all the actions other than the selected one are ignored during exportation?
Any log file?

Did you disable anything in the fbx exporter's "Animation" section?

@FFeller Nope. All as by default.

Did you try to import back it to Blender to make sure not the Unity import options are wrong?

@FFeller Yep, there's only one "action" available in the list, which is the one that was selected at exportation.

Was a solution ever discovered for this? I'm having the same issue.

When working under the Animation tab, select all with A  then when looking at the Action Editor, under Summary, you can see all bones that are being moved and or rotated for the selected action.
Here you need to make sure all names and bones are valid (Ie. nothing with red lines under it when you click the arrow beside the bone name). One this is complete you can open the Modeling tab and will want to select all meshes (using Shift + LMB/RMB) and use Ctrl + A and apply the scale.
Then within the Outliner, you will want to expand the armature, then Animation, then NLA Tracks, then expand each Action Stash. Then expand the Pose tab, and with selecting the bottom-most mesh you want to export, and Shift + LMB  the armature, it will select every mesh and anything within the Armature in the outliner.
Finally, go to File->Export->FBX, under Include go Selected Objects then Shift + LMB Armature, Mesh, and Other.
Under Transform, change Forward to Z Forward. Disable Add Leaf Bones under Armature, and lastly, disable Force Start/End Keying under Bake Animation (which should be checked).
With this, you can move to the desired output folder and click Export FBX.


text:
Particle effect showing only on one side of mirrored object
I'm trying to create a fur particle effect on sonic the hedgehog, and I'm using weight paints to keep it in the areas I want.
Problem: I can only get the hair effect to show up on certain random areas on model, and only on one side.
I'm using a mirror effect to keep model symmetrical, but hair only shows on one side of the mirror.
I'm new used Blender, so I don't know what all the settings for the particle effects do.
Whats going on and how do I fix it?
https://drive.google.com/file/d/0B3nnI6YdPSHcN19NZTdzRlk2b3c/view?usp=sharing

I deleted my answer because it probably has nothing to do with this problem at all. I can't figure out what it is though. I'll share on Twitter.


text:
Keep Offset shortcut question
I have two bones and I want to make an offset from one to to the root. What is the shortcut?
Thx

So you want the first bone root to snap in position with the other bone root? As in having their roots be in the same space?

The bones are separated. But I need to connect them. With a offset. What is the shortcut

Im talking about the spaced line between the bones.

Do you mean making connecting them by hierarchy? (Making one a parent and the other a child)

yes. that is what I mean.

Okay, select both bones so that the one you want to be a parent is the active selection, (last one clicked, slightly brighter yellow), and press Ctrl+P, and then select Keep Offset. This should work I think.


text:
How to adjust collision margins for objects encapsulated in one another?
I have used the boolean tool to place a cone inside a cube (the cube has the cone shape cut out from it inside). I would like to make them both active objects and have them sit still until something hits it but they immediately try and separate. I have tried changing the collision margins but can't seem to get it so they don't move.
Any ideas? Thanks
Here is a project to explain

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


text:
How can I use a shape key animation in conjunction with soft body?
I'm trying to inflate an object and then have it turn into a soft body. I have tried doing the 'inflation' with shape keys but when I add a soft body to the mesh it prevents the shape key animation from working.
Is it something to do with baking the animation first?
Is there a way I can have soft body 'turn on' at a specific frame?

I'm only just getting started with blender.
Thanks for any suggestions


text:
Can you toggle on/off the physical properties of a mesh?
I want to hide an object and I also want it's physical properties to be off while it is hidden. Is this possible?
For example, if I have a cube colliding with a sphere and I want to preview the scene without the cube - is there a quick way of doing this without affecting the keyframes etc...
Thanks

How about hiding it, and putting it into different collision group?

In the physics tab there is an option to set the physics to "Ghost" which is a quick way to disable physics without changing any collision parameters you may have set up.
As for hiding the object, in the Outliner View find your object's listing and click the little eye icon. This disables the rendering of the object in the viewport and in the final render/game.
To make the object reappear and enable its physics again simply toggle the listed options again. :)


text:
Why aren't these objects rotating? Physics question
Here is the project: https://www.dropbox.com/s/e3k8811psg7dkq1/PackingPeanuts%202.blend?dl=0 2
I've added some forces on rigid bodies - they are shaking about but not rotating. Does anyone know why?
Thanks

Upload your blend file here: http://blend-exchange.giantcowfilms.com/

Better still, please edit your question to describe how your scene is set up to generate the issue you’re having - including screenshots where appropriate. It’s much better to describe the problem in the question so that others can understand the problem than to gave someone forced to download a .blend.

The solution was to use molecular addon

Could you please elaborate on how this solved your issue?  To future people who may have the same problem, this single short sentence is unlikely to be of much help.


text:
Is it possible to control the bounciness in Rigid Body?
I was trying to make 3 balls bounce at a time from same height with same weight and same bounciness. But when they collide with the passive surface they start to bounce unevenly like one goes very high other one bounces very low and gradually they change direction while bouncing.

Can't reproduce, all bounce the same with the same settings. Have you tried reproducing it in a new scene with only the balls and the surface? Have you tried setting the balls shapes to "Sphere"? Have you tried baking the simulation?

im using 2.80 and it work. just set the bounciness in rigid body ACTIVE and PASSIVE between 0.5

I noticed it was a bug in Blender 2.8 Beta. Later it worked properly.

Rather than answering, perhaps consider deleting both this answer and the question.


text:
I'm new to blender, Help me!
I want to learn Blender, Unity and Unreal, and I’m about to purchase new laptop.
The question is do I need touch screen or touch tablet for blender?
Do I need to be artist to use Blender?
Also, did I need high end gpu like (gtx 1070,1060)?
Thank you

You don't have to buy touch screen or tablet, you can modeling with just keyboard and mouse. But if you want to do something like texture painting or sculpting, you might be needed(but not necessary).

You don't need artistic skills, they could help, but you can develop that with the time, just practice. High end gpus can speed some kind of job, but a very good cpu is preferred imho. Next versions of blender will need a quite recent video card though (opengl 3.3+ iirc): look for modern gpus anyway.

If you just want to learn you don't have to have the best laptop in the world, just a basic one, with a good tablet like wacom. Then in several years when you'll know enough you'll find the need to buy a better machine. At the beginning, to learn the basics, you don't need to create objects with millions of faces and hig-res textures

I’ve been using Blender for a long time now and I’ve always been working on a MacBookPro Mid 2014. Depending on what you do, you will have to know what graphics card you use. I wouldn’t suggest you using NVIDIA because they have graphic cards specialized for gaming and not 3D rendering and video editing.
If you are doing basic modeling you don’t have know art and all that stuff. If you are aiming to do sculpting and texture painting it’s basically essential. I hope that concludes everything

...You mean gaming like all that filled of 3d rendering, right? :-)

mmmmm... I also work on a Macbook pro and I don't think it's the best to work on Blender, on the contrary everyone recommend NVIDIA card to work on Blender

Of course now I have switched to the new iMac running with an AMG Graphics Card and everything is working out perfectly.

that interests me, is it the card inside the imac by default? is there a review about its performance vs NVIDIA's?

The Card is in there by default and I’ve noticed Computers with a NVIDIA Card have a lot better gaming performance than my iMac.

Yes but I'm interested in Blender only, not gaming, is the imac card as good as the INVIDIA? Actually I'd like to switch to Linux but if Apple can make a good machine for Blender, why not...

My brother uses a NVIDIA Card and I’ve compared those two and I have noticed the AMD Radeon Pro in my iMac was a bite faster than his Lenovo Game Cube with a NVIDIA 1070

ok thanks, I'll try to get more informations on this topic to make my mind up   ;)

Yh so will I :D

Radeon Pro 580 has 5.5GFLOPS of compute performance, GTX1070 has 6.5. On top of that Apple’s OpenCL implementation is horrible. Apple machine makes sense only if you need to code for OSX or iOS or you need to use Final Cut Pro. Any Apple stuff gets destroyed by custom machine on Linux for the same money. For modeling you have to know art stuff, you are creating shapes in 3d instead of creating it in 2d, it's the only difference. And you need to know the same fundamentals doesn't matter if you move vertices by mouse or draw strokes with tablet.

Oh ok, thank you very much. I actually didn’t know that ;D


text:
Why render time in blender is increasing 10 times after rotating 3d model?
I'm rendering  this scene in cycles (blender) on GPU with GTX 780 3GB
In preview mode it takes about 2mins to render 2000 samples.

In final render mode it takes about 40 seconds

But i need to rotate scene and render it from different view.
After rotation the model, render time has been increased to 20 times (to 20 mins per a frame)

But in preview mode it still renders for 2 mins

what's the problem?
Problem appears only after rotating the object. If i moove the camera and NOT rotate the object it renders for 2 mins. But I need to rotate the object and not moove camera.

I've posted at Blender's bug tracker and it seemed for first look as a bug, but
Brecht Van Lommel (Rendering Software Engineer) explained:

This is a typical issue with raytracers, many long thin faces along one direction are difficult to fit well in a BVH unless the faces are aligned to the X/Y/Z axis.
  Also, the workaround is to subdivide the object more so the faces are not so long.

After subdivision mesh along faces render time decreased much.
LINK to this discussion on Blender's tracker.


text:
Why render time in blender is increasing 10 times after rotating 3d model?
I'm rendering  this scene in cycles (blender) on GPU with GTX 780 3GB
In preview mode it takes about 2mins to render 2000 samples.

In final render mode it takes about 40 seconds

But i need to rotate scene and render it from different view.
After rotation the model, render time has been increased to 20 times (to 20 mins per a frame)

But in preview mode it still renders for 2 mins

what's the problem?
Problem appears only after rotating the object. If i moove the camera and NOT rotate the object it renders for 2 mins. But I need to rotate the object and not moove camera.

I've posted at Blender's bug tracker and it seemed for first look as a bug, but
Brecht Van Lommel (Rendering Software Engineer) explained:

This is a typical issue with raytracers, many long thin faces along one direction are difficult to fit well in a BVH unless the faces are aligned to the X/Y/Z axis.
  Also, the workaround is to subdivide the object more so the faces are not so long.

After subdivision mesh along faces render time decreased much.
LINK to this discussion on Blender's tracker.

that's a very interesting thing, thanks for posting here! Knowing this quirk could be useful in case somebody else describes a similar behaviour!