Scaling a mesh for 3D printing I am trying to make a mesh that after 3D printing it will be 15cm on the Z- axis, 8cm in the Y- axis and 13cm on the X-axis in real-life. The following image shows the mesh and on the right there is the scale and dimensions. What should I change for it to be 3d printed correctly, as described above?

The specifics entirely depend on the platform you're planning to print to, but the general idea will be the same for all of them: they'll tell you... but you still have to guess and check.

Blender can be a little confusing regarding units. Underneath it all, Blender uses its own units for everything. When you choose "inches," Blender is just pretending that its own units are inches... but they're not really. When you export that mesh, it's still in arbitrary Blender units. No one will ever be able to know (with some exceptions) that you were using those units as inches.

Consequently, any consuming application has to make some kind of assumption about how big those units are. Shapeways is good about letting you tell it how big your units are... but it's still not 100%. I still had to guess and check. Shapeways is also good about letting you see a preview of your model and giving you its final dimensions so that you can say "10 feet wide? that's not right."

In summary use the same proportions that you want it to be (15x8x13) and then scale that by whole numbers (and probably by 10s) to get it the right size. For example, if your consuming system (printer, software, whatever) says "we assume one unit is one meter," then you'll want to scale your whole object by a factor of 0.01 so that your blender units imitate meters. If your consuming system does something weird like assuming units are in inches, then your scale factor will be weird (2.54 or 0.3937 some such), but it'll be simple conversion math.

...and then check.


Making flaming particles? I have an animation I am trying to make of a flaming object emitting particles. I need the particles to be on fire though, and emit smoke. I have already tried faking it by placing the object that the particles are mimicking inside the smoke domain, but the fire does not appear. Is there any good way to do this?

Set the flow source on the emitter within the domain to Particle System, and select your particle system.

You can then set the size of those particles below. It will always be a spherical inflow shape, it doesn't take in account any object you set as the particle render shape.


Right sequences of the faces when constructing object with python I need to create an object (width = w, length = l, height = h) using python and have created the following vertices with bmesh.

#bottom vertices
v0 = bm.verts.new((x-w/2, y-l, z))    #left, front, bottom
v1 = bm.verts.new((x+w/2, y-l, z))    #right, front, bottom
v2 = bm.verts.new((x-w/2, y, z))      #left, rear, bottom
v3 = bm.verts.new((x+w/2, y, z))      #right, rear, bottom
#top vertices
v4 = bm.verts.new((x-w/2, y, z+h))    #left, rear, top
v5 = bm.verts.new((x-w/2, y-l, z+h))  #left, front, top
v6 = bm.verts.new((x+w/2, y-l, z+h))  #right, front, top
v7 = bm.verts.new((x+w/2, y, z+h))    #right, rear, top

The corresponding faces are:

bm.faces.new((v0, v1, v3, v2))    #bottom plane
bm.faces.new((v5, v6, v7, v4))    #top plane
bm.faces.new((v0, v1, v6, v5))    #front plane
bm.faces.new((v2, v3, v7, v4))    #rear plane
bm.faces.new((v0, v2, v4, v5))    #left (lateral) plane
bm.faces.new((v1, v3, v7, v6))    #right (lateral) plane

But with these faces, even though the object appears to have been properly created, the normals are messed up. This is apparent when, for instance, a bevel modifier is applied to the object (the object gets completely distorted).

What is the right way (the right sequence of faces?) to construct an object with multiple polygons using bmesh (I have other objects with more than 6 faces, which are having a similar problem) ?

With trial and error I found that two faces with common edges should have these edges running in the opposite direction. So the faces should be

bm.faces.new((vlbu, vrbu, vrbd, vlbd))    #back
bm.faces.new((vrbu, vlbu, vlfu, vrfu))    #top
bm.faces.new((vrfu, vlfu, vlfd, vrfd))    #front
bm.faces.new((vlfd, vlbd, vrbd, vrfd))    #down
bm.faces.new((vlfu, vlbu, vlbd, vlfd))    #left
bm.faces.new((vrfu, vrfd, vrbd, vrbu))    #right

This gives the right normals.


Apply vector mapping to displace texture? I am using this method for my object texturing and displacement of my mesh.

https://www.youtube.com/watch?v=W07H7xeUnGE

If you haven't seen this tutorial, the final node tree looks like this

In addition to this node tree, I am also using a Texture Coordinate node and a vector mapping node and have changed the values so my textures fit properly. The issue I am having is I can not figure out how to, or if it's possible, to also apply that same vector mapping to the displace texture.

Any Ideas?

I had a run in with this problem and I solved it by applying that displacement texture I want to an emission shader on the object I want displaced. I baked the mapped texture and then used that one as the displacement map.


How to select and merge vertices into separate triangles? For my blender model, I have an image of a half-sphere. On its face it is triangulated and I want to merge the triangles together so they are like the portion that the red arrow is pointing to:

What I have tried doing is first going to select on the bottom left, and then using circle select. I selected the areas and I tried doing many different things:

First, I tried pressing AltM and I was given the choice of merging at center, at cursor, or collapse. None of these can give the function I need.

Then, I tried pressing Select > Vertices > Connect and nothing happened.

I have tried using this: http://wiki.blender.org/index.php/Doc:2.4/Manual/Modeling/Meshes/Editing/Vertices/

Does anyone know what I should do?

Switch to edge select mode (CtrlTab> Edge)

Select the edges you want to cut. Border select works well (B), or you can select a couple edges like the ones you want to select and press ShiftG> Face Angles.

Press W> Subdivide and turn up the smoothness in the redo panel.

Note
I very much recommend working with quads instead, and using a triangulate modifier to non-destructively triangulate the mesh in realtime.


How can I check a game Property? I need a bpy.data.objects["object name"]["property value"] or a command like this.

bpy is the Blender API.

The BGE API is bge.

You can access game properties via dictionary access on the game object

Read

Read and fail when it does not exist

print("property value is ", gameObject["propertyName"])

This is the fastest method, but fails when the property is not present. This is good when the property is mandatory.

Read with fallback value

print("property value is ", gameObject.get("propertyName", "fallbackValue"))

This is pretty fail safe and can be used on optional properties.

Be aware it always creates the fallback value. This costs processing time. Ensure creating the fallback value is fast (or use an existing value).

The property will not be set, when it does not exist.

Read with previous existence check:

if "propertyName" in gameObject:
    print("property value is ", gameObject["propertyName"])
else:
    print("no property set")

Requires more code but is very fail safe. When the property exists the read access is performed twice (once for check existence, once to get the value).

It is good when the property is optional and the fallback situation needs some effort (such as creating larger objects) or leads to complete different behavior. The fallback code will only be executed when the property is not existent. This solution is more efficient when in most of the cases the property is not present (as this results in a single read access).

Read with error handling:

try:
    print("property value is ", gameObject["propertyName"])
except KeyError:
    print("no property set")

More code but fail safe. Pretty efficient as the access will happen just once. The fallback can be complex, it will only be executed when the property is not present.

Write

gameObject["propertyName"] = newValue

It is the exact same code, regardless if you want to add or change a property

Delete

del gameObject["propertyName"]

Example

Initialize Property

try:
    propertyValue = gameObject["propertyName"]
except KeyError:
    propertyValue = "fallbackValue"
    gameObject["propertyName"] = propertyValue

print("property value is ", propertyValue )

[Edit:]

Getting Game Objects

Just in case you do not know how to get or find game objects:

import bge

v1 = bge.logic.getCurrentScene().objects["v1"] # this will fail when there is no object called v1!
farbe = v1.get("farbe")
print("farbe of v1 is", farbe)


Modelling plane with irregular corner radius - how to model this shape? I'm struggling to figure out how to create the following shape without ending up with loads of triangles or shading problems. I've tried using an extruded SVG, which is fine for a flat plane, but ill need to make an extrusion and spin the lower edge at some point, which means converting to a mesh, however the resulting mesh is really untidy.

IF the corner radius(es?) were all the same number of vertices that would be fine, I could model that, but the different corners are posing a real problem to me!

To summarise - how does one go about creating a mesh for the following shape?

Many thanks in advance :)

Here is a way to do it, tell me if it's ok:


How can I make a curve higher resolution? How can I make a curve higher resolution? The standard resolution gets distorted very easily as shown in the below image.

(I used bevel because I need that to animate the curve)

You can increase the 'Resolution' of the curve from the 'Data' tab while the curve is selected:

Bare in mind, the higher you set this, the more geometry that has to render, so renders may become slower.

You only need alter the 'Preview' resolution if you like, when the 'Render' resolution is 0 it will default to whatever value the 'Preview' is set at. Alternatively if the viewport was becoming too slow you could have a lower 'Preview' resolution and 'Render' set higher.

If you have given the curve a bevel you can increase the resolution of the bevel by increasing the 'Resolution' value in the 'Geometry' panel in the curve properties.


How do I reduce geometry in mesh? Over the course of modelling, my mesh has gained a bit too much geometry. If I use the Decimate modifier, it tells me I need to get rid of my Shape Keys, if I do that, the modifier messes up my UV seams. I've tried using Planar and selecting UV, but that just makes a mess of the UVs and the textures, even if I re-unwrap them.

ctrlE > Un-Subdivide will give a rather good result with your topology as it's mainly quads, then you'll have to make some corrections manually (F to make a quad from two triangles)


How do I install patches? I found a hairdynamicscollition.txt patch for Blender that I wish to install.

How do I do it?

I tried to run it as a script, but when I do so in the text editor in Blender, a red mark is over the first sentence text in the script text, and the script doesn't work.

The simple answer is that you don't.

These patches are not intended for the end-user. They are intended to be used by developers to modify the source-code of Blender.

If you feel that you've got the skill-set to modify the source-code, more power to you! Unfortunately, most of us won't be much help. You'll get better support from the developers over at the Blender development project.


How do I prevent cloth from being blown through an object? After creating a dress and a hangar, I have given the dress cloth properties and set the collision properties for the dress and the hangar.  If I just leave everything as is, the dress hangs from the hangar.  My problem occurs when I add a wind force field to blow the dress.  The dress blows through the hangar.  Anyone have any clue what is happening?

I add an answer to be able to post my example (as I intended yours) that seems to work, and I guess does what you wish:

As said I pretty much used default values for all, except wind force...
Of course I have an example, very simple, setup but this may give you an Idea of what's not working. Maybe you can provide a better example for us to check?

And here you have the file to experiment, hth:


Can I use blender with Azure Nvidia K80 to render using GPU I am using the K80 Nvidia series on Microsoft Azure and when I try to detect available devices using the script on this thread:

How do I get Cycles to use GPU on a linux server?

I get the following output - I am using Blender 2.78

GPU compute configuration:
Property             Value                Possible Values
Device Type:         NONE                 ['NONE']
Device:              CPU                  ['CPU']

It seems as though blender is not detecting the GPU - is there a way to force this or is it just a compatibility issue?

The problem I was facing was caused by the fact that I hadn't followed the correct setup steps:

1) Use the latest LTS Ubuntu image (16.04) - I was using 14.04

2) Install the correct drivers

Details for using GPU on Azure can be found at:
https://docs.microsoft.com/en-gb/azure/virtual-machines/linux/n-series-driver-setup


Difference boolean for overlapped objects or any possible alternative I am trying to generate a geometry using Math Function (XYZ function) as in Fig.1  using version 2.79.

I ideally would prefer to have three independent objects and merge/join all 3 objects as one and export as an stl. I am aware of the 'join' function but this would not eliminate the overlapped boundaries in the stl file (that is the stl file still marks the boundaries of the objects present in the joined stl) which is not what I want. Therefore, I taught 'difference' boolean can be used but was causing major issues.

The steps I followed were,
Step1: Model bottom half part of the geometry as in Fig.2 (see for equation used).

Step2: Copy paste Part1 to get Part2 and rotate 180 along Y as in Fig.3. This results in an overlapped portion of the objects.

Step3: Add Part3 to finish the geometry as in Fig. 4 by copy past part1 and rotate 270 along Z. Again this has overlapped portion of the object.

Now, I extrude each object individually and select a plane to apply the difference boolean. Unfortunately, this works very rarely and most of the time I end up with an unsnapped plane as in Fig.5. How can I avoid this?

For reference, I attach the blender file with 3 objects. I have not included the extrusion of the objects and difference boolean in the .blend file to make it flexible to work for others.

Do note that, I am using a maximum number of vertices for the math function (1024) as for my purpose I would like to have accurate tangents and normals to the surface. I did try out the "remove double" but still, I have some unwanted parts in the geometry.

Thanks.

Boolean have limitations, as described in blender wiki:

  Boolean operates best on water-tight meshes, where inside/outside is
  clearly defined.

  The following characteristics are known to give bad output.

  Open volumes.
  Overlapping geometry.
  Self-intersections.
  Zero-area faces.

  While they may not fail in all situations, they aren’t guaranteed to
  work properly.

When you join meshes you create Overlapping geometry and Self-intersections, that makes bad result.

So make 3 separate booleans to avoid self-intersections.

Or maybe try different ways to build geometry, for example Animation nodes or Svercok ?

Or instead of using booleans remove useless parts of mesh manually, in edit mode?


Way to transport setting of file browser to new version of blender The point is that, I have created lots of favorite path in blender 2.81. I want to migrate them to blender 2.82.
I have checked blender cloud sync addon, but unfortunately it doesn't work. It transfers info about preference and other settings, but not info about file browser. Any one could give me some idea about this? I think this is very important, otherwise I have to set everything again.

(I have found way by myself)
In your drive, such as:
C:\Users(Username)\AppData\Roaming\Blender Foundation\Blender\2.82\config
you have three text-files that stores file browser information. copy and paste will do the work.


Is there a way to insert keyframes for a group of frames using python? I have an object that has a location driver, so the location of this object is constantly changing. I want to keyframe its motion throughout a range of frames, with each frame being a keyframe (essentially creating an fcurve). The method I have been using in python is going frame by frame and inserting a keyframe each frame.

import bpy
from bpy import *

bpy.context.scene.frame_current = 0
i = 0

for i in range(0,1900):
    bpy.ops.anim.keyframe_insert_menu(type='Location', confirm_success=False, always_prompt=False)
    bpy.context.scene.frame_current = bpy.context.scene.frame_current + 1
    i += 1

Is there an easier way to keyframe a group of frames via python instead of going frame by frame? The more objects added, and a bigger range of frames means blender getting slower over time to add keyframes one by one, so this method can take many hours depending on how many different objects I have involved.

zeffii's answer is better than using bpy.ops, but if you want to get closer to the metal, it gets a little clumsy.  Blender's action API is missing several convenience functions.

It boils down to these steps

make sure the datablock has animation_data
get the animation_data.action or .action=bpy.data.actions.new(name)
find the action_data.fcurves[i] that matches the data_path and array_index, or create the fcurve
make sure there are enough fcurve.keyframe_points to load our data into
assign the fcurve.keyframe_points[j].co and possibly .interpolation, .handle_left, .handle_right, etc.

There are a couple of examples embedded in http://web.purplefrog.com/~thoth/blender/python-cookbook/movie-card-stack.html and http://web.purplefrog.com/~thoth/blender/python-cookbook/csv-to-fcurve.html which I will summarize here:

def make_or_get_fcurve(obj, data_path, index=-1):
    """
    :param obj: the data block from which we'll get the fcurve
    :param data_path:
    :param index:
    :return:
    """

    # freshly created objects don't have animation_data yet.
    if obj.animation_data is None:
        obj.animation_data_create()
    ad=obj.animation_data
    if ad.action is None:
        ad.action = bpy.data.actions.new(obj.name+"Action")

    for fc in ad.action.fcurves:
        if (fc.data_path != data_path):
            continue
        if index<0 or index==fc.array_index:
            return fc
    # the action didn't have the fcurve we needed, yet
    return ad.action.fcurves.new(data_path, index)

and from the other example

def find_or_create_fcurve(action, data_path, array_index= -1):
    for fc in action.fcurves:
        if fc.data_path == data_path and ( array_index<0 or fc.array_index==array_index):
            return fc
    fc = action.fcurves.new(data_path, array_index)
    return fc

def make_eyeball_look_at(armature, frame):

    eyeball = get_eyeball()

    cns = find_constraint_track_to(eyeball, armature, "card release")
    data_path = 'constraints["%s"].influence' % cns.name
    fc = find_or_create_fcurve(eyeball.animation_data.action, data_path)

    i0 = len(fc.keyframe_points)
    fc.keyframe_points.add(4)
    kp0 = fc.keyframe_points[i0]
    kp1 = fc.keyframe_points[i0 + 1]
    kp2 = fc.keyframe_points[i0 + 2]
    kp3 = fc.keyframe_points[i0 + 3]

    kp0.handle_left = [frame - 7, 0]
    kp0.co = [frame - 6, 0]
    kp0.handle_right = [frame - 5, 0]

    kp1.handle_left = [frame - 4, 1]
    kp1.co = [frame - 3, 1]
    kp1.handle_right = [frame - 2, 1]

    kp2.handle_left = [frame + 2, 1]
    kp2.co = [frame + 3, 1]
    kp2.handle_right = [frame + 4, 1]

    kp3.handle_left = [frame + 5, 0]
    kp3.co = [frame + 6, 0]
    kp3.handle_right = [frame + 7, 0]

def add_keyframe_points(fcurve, kps):
    idx0 = len(fcurve.keyframe_points)
    fcurve.keyframe_points.add(len(kps))
    rval = []
    for i in range(len(kps)):
        kp = fcurve.keyframe_points[idx0 + i]
        kp.co = kps[i]
        rval.append(kp)
    return rval


Rig with sticky feet and hands, how do I create arm swings? (ex: playing tennis) I've been using this tutorial ( https://www.youtube.com/watch?v=Q9f-WVs3ghI ) to create sticky feet and hands for my character rig. Sticky feet I've noticed is pretty standard for character rigging but I also need sticky hands for climbing animations so the hands don't move from their position when the rest of the body is being pulled up on the side of a cliff for example.

The issue I'm having is creating an animation for the arms similar to swinging a tennis racket so the hand basically moves from point A to point B following a path that's similar to half a circle. Simply putting the hand control bone at point A and then a few frames later at point B, makes the bone move in a straight line and not the circular motion that I need. So I've found 2 options that sort of work, but they don't look very clean and I was wondering if I have the right approach and if there's something that I can do to improve the solutions that I've found.

The first solution is to create a couple of empty bones at the shoulder and elbow and parent the hand control bone to the elbow and elbow to the shoulder, both with an offset. When I rotate these new empty bones, they works great, the entire arm swings nicely in a circular motion. The problem I'm having is that if I move the torso, then the elbow and shoulder bones are no longer sticking to those joints, they're now just floating in the air. They still work (sort of) but they don't look right. I can't parent them to the torso either, as that would prevent the hand from being sticky, as the torso would move the shoulder, the shoulder the elbow and the elbow the hand and in a climbing animation, the torso needs to move with the hand being sticky to whatever it's holding onto. If I try this same procedure with the legs, and create a knee bone and a hip bone, it's even messier as during most animations such as walking the torso constantly moves up and down. So this as a solution makes it so for most animations I have 8 bones (4 on each side) floating randomly and it just looks messy. Is this a good approach and am I just missing a constraint of some sort? Constraining any of these 8 bones to copy rotation or location from one of the arm or leg bones doesn't seem to work either, it makes it really hard to control those bones as they start rotating fast in random directions when I try using them.
So next I thought about using paths and when I move the hand control bone from point A to B, put it on a nice round path to get the motion that I need. I
can use the Follow Path constraint and with the Influence level I can turn on and off various paths whenever I need them. The problem I'm having is that whenever I create a path, regardless of where its pivot point is or how I position it, the moment I add the Follow Path constraint the hand bone just moves a certain distance away, usually up and left/right away from the character. Is there a way to fix this issue without manually moving and rotating the bone so it's back to where it was initially? This is a bit of an issue because I can't always get it 100% so it makes some animations have small jitters. Animating  with bones vs paths also seems more intuitive and easier to use, so I'd rather do it that way if possible.

So my questions are, am I on the right track with any of these solutions to creating a rig with sticky hands and feet? Is there anything that I can do to any of my solutions to improve them?
Thanks!

I ended up finding a 3rd solution which I liked much better. You can turn on/off the IK system with the influence property so when you're doing the wide tennis racket swings just turn it off and when you're climbing, turn it on :)


Problem with AMD Prorender install on MAC Catalina Blender 2.81 When I install AMD Prorender I get this message:

Installation error: Could not find the python3.7m executable at /Users/administrator/Library/Application Support/Blender/2.81/blender.app/Contents/Resources/2.*/python/bin/python3.7m

Prorender always ends with saying the addon was installed, but it is not listed in Blender.

The problem could be that there is an extra file you need to download to get the add-on to work. I know for a fact that for LuxCore render there is a similar issue, and that was solved by another file that needed to be downloaded for it to work. Another trick that might work in case there is no other file that needs to be installed would be to install the add-on in Blender manually. You would need to do this by looking at the start up file location for Blender, and searching until you find the file for add-ons. (This can be easily done by looking at the file location info Blender gives you in the info section of an add-on.)


Merge two curves into new one like rhino Hi guys Im trying really hard to find the best way to model an egg chair, and I came across a tutorial from rhino: https://youtu.be/1-rQqb921w0?t=9m4s That given 2 curves it does the wizardry of bounding them together.

Does blender have a similar modifier, curve option that can perform the same?

Thanks for the help

in sverchok, i use pink curve's z position and blue curve's xy position to create a new green curve.


What are these bluish/greenish edges in edit mode? I created a 3d human face with 'Facegen Modeller' and I opened it with Blender, trying to adapt it to my needs. Inside the eye there is a bluish/greenish oval shape. What is that? When I try to mark it as seam, the color does not change. I removed that shape in edit mode and then created it again and now it seems to be marked correctly. Am I making a mistake?

You marked those edges as being sharp, possibly by accident.

It happens when you select an edge or edgeloop and press Ctrl + E > Mark Sharp

To remove it select the edge or edgeloop in question and press Ctrl + E > Clear Sharp


How do I get an object to spin properly in my animation? So basically I have a sphere that is tilted over at 90 degrees, and the rotation doesn't come out clean. I hit 5 then 3, and the cursor and all that is set to center, and when I click R then 90, the end result is fine but within the animation it comes out all wonky and doesn't do a clean spin or rotation properly (I want it to simulate an orbit, without moving the space station directly above it.)

Here is the file if you wanna take a look at it. https://www.mediafire.com/?13lr815jb51ws0t

More reliable way of rotating the sphere on exactly the axis and degrees you want is to select it, then press X (or Y or Z depends on what axis do you want it to rotate) then type 90 (or other number of degrees you want it to rotate). Then proceed as usual with key frames and so on.
And here is what else you can do in your particular situation.


How do I display the absolute file (or directory) path in the UI I've seen a number of answers on here and other places that if I have a file path in Blender, I can use bpy.path.abspath(file_path) and get the absolute path to a file or directory. My problem is that I have a StringProperty with subtype = 'DIR_PATH' set and I'm having problems with what it displays:

The path is set to /User/<my_name>/Documents/Dev/3DGraphics/3DExperiments, however notice only two slashes show. The StringProperty is showing a path relative to the current file in Blender. When I select another directory, it still gives me a relative path.
I'm using this structure:
class BluePrinterData(bpy.types.PropertyGroup):
    status: bpy.props.StringProperty(
        name="status",
        default="Waiting for Cameras to be Added"
        )
    project_name: bpy.props.StringProperty(
        name="project_name"
        )
    save_directory: bpy.props.StringProperty(
        name = "",
        description = "Output Directory",
        default = '',
        maxlen = 1024,
        subtype = 'DIR_PATH'
        )
    file_format: bpy.props.EnumProperty(
        name = 'File Output Format',
        description = 'File format for saving images',
        items = {('png', 'PNG', 'Save as PNG'),
                 ('pdf', 'PDF', 'Save as PDF'),
                 ('bmp', 'BMP', 'Save as BMP'),
                 ('tiff', 'TIFF', 'Save as TIFF')},
        default = 'png'
        )

Note the 3rd property down, save_directory, is the one I'm talking about and I've set the subtype as needed.
I've tried adding an if statement to change the path to absolute if it isn't, but that doesn't make a difference.
The one thing I'm trying to do here is make sure that instead of seeing the relative path in the StringProperty, I see the absolute path.
I've looked over API docs, but I can't find what I have to change to display an absolute path.
(Again, please note I know when I need that absolute path in Python, I can convert - but I can't find a way to convert what the StringProperty with the subtype = 'DIR_PATH' to show the absolute path.)

There is no reason to display the absolute path nor convert it or set some default path because the user can set it to absolute or relative in the File Browser (N) which is actually a nice feature. If you really need an absolute path representation at some point, just call bpy.path.abspath(path) as explained in How can I get the full path of the selected file from the file explorer?.

Further reading

How can I get the full path of the selected file from the file explorer? (potential duplicate)
Trouble file StringProperty subtype FILE_PATH (potential duplicate)


Can't Convert to Curve|Mesh using ALT+C in linux In Blender 2.79 and 2.80 on os Linux the command ALT+C  (Convert to Curve|Mesh) does not work: pressing the keys does not cause any results.
Note that in the preferences the shortcut is correctly set.

In Windows everything is OK.

Any ideas?

Shortcuts on the OS take precedence over those in blender.
There are two options:

You can remap the shortcuts on linux to the super (windows) key.
Read: How to use the Alt + Right click in edit mode in Linux

You can customize the shortcuts on blender, just know that any books or "tutorials" you watch will not match with your personalized keyboards.


Deforming a maze mesh into a hole I'm trying to to get this effect :

with my maze.

So, the maze should fall into the hole. I have no idea how to go about it. Maybe get it to follow the surface of a torus? (but don't know how). Please help.

Tissue+Solidify

I would personally model a piece of the maze and spread it on a surface with Tissue add-on. Just pick the component first and then the generator and click "tessellate". From the add-on wiki:

  Tessellate tool allows you to copy a selected object (Component) on the faces of the active object (Generator), adapting its bounding box to the shape of quad-faces.

Try to keep the faces of the generator (was made by slicing a torus) as square as possible to avoid distortion. You can improve the component (was made with Hilbert node from Sverchok) to make it more tileable than mine.

Then I'll add a solidify modifier to the geometry only after the spreading to be sure that the walls are perpendicular to the surface.

Finish with positioning the camera slightly upon the walls.


Different vertex coloring behavior depending on vertices painted I've been experimenting with vertex colors on the default cube. I've painted three vertices, as is visible in the picture:

My question is, why does the upper right face visible in the picture form a stripe where opposite vertices are colored, while the the other two visible faces are colored differently?

It seems that in any given quad, coloring the top left and bottom right vertices will form a stripe in the middle, and the other two vertices will color in the other parts. My assumption is that this is because each quad is really two triangles, and the coloring is more greatly "stretched" along the longer side, creating the stripe in the middle. Is this correct?

Indeed, this is due to the triangles which make up the quads. The 45° angles, two of which make up two of the corners of the quad, receive vertex coloring differently than the 90° angle. Basically, the corners made of two 45° angles get twice the amount of coloring.


Transparent object with png texture renders grey my object with a transparent material and a png texture with alpha channel renders grey instead of transparent.

My setup looks like this (see pictures below)
I baked a shadow map and saved the images as an 8-bit RGBA png file to use it as a shadow-map behind my object.

This is my material setup,
the final render, where the darker grey plane should not be visible, only the shadow
And I already tried to disable shadow rendering for that object.
The last image shows, how it should look like

What do I miss here?

I found the problem. My PNG was not completely transparent where it should be ♂


Dimensions won't get updated via bpy script So I have two text objects that I am changing via a Python script, but dimensions of said text objects won't update. The file is saved with said text objects with a base X dimension of 0.6
But when print the objects dimension while running the script, I got different dimensions, like 0.4 or 0.7. This results on the text boxes changing in side and ignoring the assignment in the script OR the base values on the scene file, which is 0.6 on both cases.
Example :
text = bpy.data.objects['text_superior']
text.dimensions = (0.6,0.5,0.0)

And:
https://docs.blender.org/api/current/bpy.types.Object.html#bpy.types.Object.dimensions
dimensions
Absolute bounding box dimensions of the object (WARNING: assigning to it or its members multiple consecutive times will not work correctly, as this needs up-to-date evaluated data)
Does this mean I need to somehow do some kind of object or scene update after assigning the new dimensions to the text object in the script ?
EDIT: I just realized that it's when I load a new font like:
text.data.font = bpy.data.fonts.load('font.ttf')

The dimension of the box changes. This might make sense, but then I assign new dimensions with
text.dimensions = (0.6,0.5,0.0)

And it's when it doesn't update.

The solution is to call bpy.context.view_layer.update() after loading a new font in to the text object.


Why does applying rotation cause my object to rotate? I have a simple cube which is scale and rotated. When I try to apply rotation and scale. Its get applied but why the cube rotate from its angle. It was rotated in 63 degree. After applying the rotation and scale it in the vertical direction.

Actually your object is not a cube mesh, the box we see is the bounds you can display around your object in the viewport:

As you've rotated your object, it has been rotated as well:

If you apply the rotation, it doesn't rotate the object, that's what we are expecting, but it resets the bounds box, which is also expected for an object that has now a rotation of 000:


Blender won't render the image when set to GPU compute I have been working on the scene for the last few weeks, I have done a quick experiment with a camera following the path and since then Blender won't render from any camera, unless it's set to CPU. I have a really good graphics card and there were no problems with rendering with GPU at all before I set this camera to follow the path. It seemed to mess some settings up...
When I try to render in a GPU mode it only shows the blank grid (screenshot attached).

It takes it about 40 seconds, then it stops rendering, the screenshot 2 message shows in the top window and the image stays blank.

Another thing that has changed since I've made a camera follow the path are the transform settings, they were green, then I must have done something and they're not green anymore.

Hope it all makes sense!

The rendering window shows that your scene is more than 2.5GB big. Together with other applications and Windows this can even fill a 3GB graphics card. Your graphics card probably just can't provide enough memory for CUDA.
If Cycles can not get enough memory, it will not render. If you are rendering on the CPU, Cycles can use the system memory which is usually much larger. This is why you can still render in CPU mode.

To reduce the memory needed to represent a scene there are a few tricks:

Using instances: When you duplicate objects that will have the same geometry, do so by pressing Alt+D instead of Shift+D. This will duplicate a mesh as an instance: The mesh data only exists once, it is just used with another transformation. If you look at the mesh data of your object you will see that it has multiple users now:

You can also set the mesh data an object uses by clicking on the icon with the three vertices and selecting the mesh you object should use. Setting all objects to the same mesh will have the same effect as if they were copied by pressing Alt+D.

Reduce texture size: While this is not the most beautiful option, it will save much memory. Textures are quite big if they are unpacked in memory. They are not compressed like .jpeg or .png anymore. Look for objects that are small or off in the distance. Large textures are typically not visible there anyways.
Use procedual textures: Some image textures can be replaced by procedual textures, especially random noise bump maps and such. While creating procedual textures requires some extra computations, they do not need much memory since their data is only calculated when needed.

In general it is also good to have a look at the console. It usualy contains more detailed error messages. If your console is not shown, click the 'Window' menu on the top of the Blender window and select 'Toggle System Console'.


How to extrude a face parallel to another? I'm wondering if there is a fonction to extrude down the faces selected to put them on the red dotted line, while maintening them parallel to the vertical edge?

The fast, inaccurate way

Select one of the upper edges and the lower edge, which you want to connect.
Subdivide W > S
Use the edge / vertice slide by pressing G > G
Enable the Even checkbox in the edge slide operation settings.
If necessary enable the Flipped checkbox in the edge slide operation settings.
Adjust the Factor slider estimating the slide position closest to the upper vertex.
Merge the upper vertices.

The slow, accurate way

Delete the face, which you want to split with the edge (loop).
Select the edge, which you want your new edge to be parallel to.
Go into Normal transform orientation mode, then (in the Properties Panel under Transform) press the + icon.  This will add the orientation of the edge as a possible transformation orientation.
Place a new vertex by subdividing the lower edge.
Snap the 3D cursor to the upper vertex, from which you want the edge loop to start.
Enable 2D Cursor as Pivot Point.
Select the vertex on the lower edge and scale it to 0 (with the 2D cursor as a pivot point). Limit the scale operation to the X and Z axis. Select the transform orientation of the edge, which we added earlier.
Make the new faces.


How do I achieve a bending effect with the collision of two rectangles? I am trying my best to re-word the problem I am having. I have 3 objects bounded on top of each other. I will call that square 1. I have duplicated square 1. The duplicated object is named square 2. How can I animate the collision of the two squares such that it looks like the image in step 2?

Here is a way to do it with the Mesh Deform modifier:

Create your block A, subdivide it, give it a Subdivision Surface modifier.
Create a second block, B, with the same kind of subdivision, and that contains A. No modifier for this one, but in the Properties panel > Object > Display > Choose Draw All Edges and Maximum Display > Wire. Now B should only show its wire.
Also, for B, in Object mode, in the Properties panel > Data > Shape Keys, create a first one, called Basis by default, then create a second one.
Give A a Mesh Deform modifier, put it above the Subdivision Surface modifier, choose B as the Object, and click Bind.
Select B, make sure that the second Shape Key is selected, go in Edit mode, and change the shape of the mesh as you want. A should be deformed.
Now animate as you want (study how the Shape Keys are running if you don't know enough about it).


How to rotate a curve to show on a different axis? When I create a NURBS Curve, It only shows on the Z Axis:

Is there any way to have it show on the X Axis?

Rotating
You can rotate objects with R:

In the above gif I pressed R (rotate) X (axis to rotate on) 90 (degrees to rotate). I then did the same, pressing Z instead of X to rotate around the Z axis.
There are several other ways to rotate objects, see the wiki for more detail.
Align to view
Note that when you first add an object, there is an option to align it to the view:


Is there a way to enable pressing/releasing shift to Pan while already rotating, without having to release the middle mouse button? new to Blender 2.82

Basically just wondering, if I am rotating around my object, is there a way I can press shift while still holding the middle mouse button, and enable it to start panning?

It feels very awkward to have to release the middle mouse button, hold shift, then hold the middle mouse button again, then if I want to go back to rotating I have to release shift and the middle mouse button.

It just feels like there is a way to enable this perhaps, but I could not find it in the preferences

Under User Preferences > Keymap navigate to 3D View > 3D View Global.

Look for the operator Rotate View and under it expand View 3D Rotate Modal.
Add a new entry there with the sub option Switch to Move

You may optionally want to add one to View 3D Move Modal too, for equivalent behavior.


the best way to place crowds of animated objects So I am a seasoned veteran in blender, but I have been having problems with 2.8+. it seems as they added functionality, they have yet to replace the legacy ways of operating
the problem is, I have a stadium, and fans to place into it, but no simple way of doing that for a various set of reasons
I have currently tried to following:
Duplifaces:
as they do work for placement, they don't work with collections or animated offsets (to my knowledge as I can't seem to find anything on it)
Particles:
This was incredibly weird all things considered. good collections support for randomly distributing my collection, particle lifetimes give random offsets, however object rotations and the ability to orient by the normal of the emitter do not work... at all... in fact they should simply take them out if they are not planning on using them properly (I am pretty sure they worked in 2.79)
Crowd Master:
now i have seen this, but its a huge investment for what i need, if it has the ability to actually do what blender simply can't, then I'm up for it...
I was wondering if there is any simple way to pull this off

Maybe something like this?
All the particles are oriented towards the center of the emitter using Advanced Rotation settings for Hair particles:

I made a subdivided plane circular using a Simple Deform modifier.
Since the particles are emitted from the faces, I subdivided the faces in the back for a more even distribution.

I sloped the plane a bit and adjusted the rotation of the source objects of the particles accordingly and now it's like I'm in a stadium : )

EDIT:
It doesn't have to be Hairs; it can be Emitter.

I have no experience randomizing starting time of particle animations, though.

I'm not sure using Lifetime Randomness (which I assume you're referring to in your comment) can get the desired result.
I think you'd have to use something like this Animation Nodes add-onn
If you can do it without an add-on, I'd be interested to know how you do that. : )


How to give a variable rotation, scale or location offset to dupligroups objects? I would like to bring a natural look to my dupligroups by giving every instance a different scale and/or rotation.

Predictable: All locations, rotations and scales fields in blender can be computed (give 3*2 and it will compute 6). But is it possible to give a rotation like RotX = "a factor" * LocX instead of having a fixed value ? Then moving the object would rotate it and duplicating it with dupligroups would give predictable rotations to the instances.
Random: Is there a special symbol as well for random ? (for example like writing "r" in a field to make it random ?)

I know a particle system can give such result, however, this method misses some of my goals :

easy real-time preview while editing : Unlike Blender 2.49, newer versions still don't offer any 3D preview in particle painting mode, you have to constantly switch back and forth to/from object mode to see what your changes look like.
I didn't find any way to take the area of an Ngon to define the scale of the emitted instance. Dupligroups allow it as allowing to only have 1 instance per Ngon and not per triangle.

If I'm just bad and there are options to have this 2 goals reached with a particle system, I'm ok for such a solution.

Yes, this is called a driver.
You can evaluate a python expressions by pre-pending your input with a #. There are a number of modules pre imported for convenience, use noise.random() to get a random floating-point number, e.g. #noise.random() * 5


Keying node in compositor. How can I associate the alpha channel so that it works with the Alpha Over Node? (As a follow-up to this question)
I'm trying to overlay a a green-screen plate over a 3D background.
I create the key with a Keying node and the overlay with an Alpha Over node.
I can get a clean key by enabling Convert to Premultiplied.

Whereas if I leave the Convert to Premultiplied off, the key does not work.

The reason for this, as explained on this anwser:

The Alpha over node actually assumes associated alpha and performs the correct over operation, which is FG+(1-FG.a)BG.RGB.
Unassociated alpha can do none of these things.
[...] it is prudent to manually associate your alpha and control the merging to prevent data loss in the RGB channels. I still stand by the advice, however; always try to maintain a consistent state of alpha, and when you deviate, do so under scrutiny.

So the question is: what is the correct way to associate the Alpha Channel crated by the keying node, so that it works with the Alpha over node without resorting to the convert to premultiply option?

green screen element can be downloaded from the mango project https://download.blender.org/mango/first-footage.zip

There are potentially a few issues with either "Convert Premul", converting alpha, or a simple multiply across the channels, that may not be entirely obvious at first. It is a point of confusion in that that no node should deliver unassociated alpha as the entire compositor assumes associated values. Sadly the node used here, does.

One issue, with particular attention to pulling a key, is that your edges will likely not be of the correct luminance value to blend seamlessly. That is, when a subject is shot against a green screen, the alpha channel that is produced would be a ratio of the foreground against the background, which in this case is some non-black value of the screen used. The resulting output ratio isn't going to be the same as an object set against non-emitting pixels. Those semi-transparents can be extremely tricky to get the ratios correct on without having a good grasp on the behind-the-scenes models.

The second issue would be with associating is that you can destroy RGB information. As per the OpenEXR Technical Introduction, alpha with a greater ratio RGB is entirely valid and represents emission with a lower degree of occlusion. The problem is that if you craft this in an RGB image, zero alpha will destroy this information on the multiply.

  Calling the color channels “premultiplied” does not mean that the
  color values in an image have actually been multiplied by alpha at
  some point during the creation of the image, or that pixels with zero
  alpha and non-zero color channels are illegal. Non-zero color with
  zero alpha is legal; such a pixel represents an object that emits
  light even though it is completely transparent, for example, a candle
  flame or a lens flare.

  In the visual effects industry premultiplied color channels are the
  norm, and application software packages typically use internal image
  representations that are also premultiplied.

To work around this, a carefully crafted RGB against zero emission RGB values can be associated manually.

Once you have a representation of your emission levels in RGB, which is effectively RGB values against black, you can use whatever technique you desire to assign the alpha channel. For example, if you have a blue glow with low or zero occlusion (alpha), you would want the equivalent occlusion values properly set into your base. "Set Alpha" will assign the alpha directly to the alpha channel, and the result should be correct[1].

TL;DR in your sample, "Convert Premul", using the alpha conversion node, or strictly a simple multiply will all work as expected, with a rather large caveat being the first issue above. You would ideally want your image to represent emission on the semi-occluded pixels, which as any keyer would tell you, is quite a dance of artistry. Using that canned After-Effects-Esque "Keying" nightmare node won't help either, as it assumes a single luminance / RGB value to compare against across the whole green screen, which is never the case, and will result in whack or rather cheated values, which will impact your final composite. An alternative that might get you closer is to inpaint and use a distance node on the RGB values, which will at least pull data from the fully non-occluded plate elements and push them into the semi-transparent regions. This will result in a luminance difference that is closer to what was behind the actual pixels in question.

[1] Note that there are largely two primary methods to do this. One is probabilistic, aka A+B-AB and the other is non-overlapping, which is A+B. If you are certain your geometry doesn't overlap for the pixel in question, the latter is correct. If your geometry overlaps, such as a transparent window atop of another transparent window, the former is correct.


Blender 2.9 viewport overlays - show everything but verts, edges and faces in edit mode To turn off everything but the vertices, edges and faces, we must disable everything in viewport overlays and leave itself simply on. Then, we need to turn the settings back on we have to sort of remember what the defaults settings were.
Is there a way to turn off the overlay, but the neccessary overlay of the specific modes?

Workspaces can achieve that behaviourn, as I don't think there is a built-in way for "remembering" overlay settings.
You can add a workspace using the + icon on the right of the top ribbon, and customize it as you wish, it won't affect the other ones.
Then when you want to go back to the previous state, select the original 3D Workspace.
Note that you can append workspaces from other files if you want to retrieve a particular setup from another project.
You can also change the layout in a new file and save it as the new default if you wish. Go to File > Defaults > Save Startup File.


How to combine two objects with smoothing What's the best way to combine arms to body without them looking like separate entities. Essentially, I want to melt the 2 together.

What's not lined up? Loop Tools > Bridge Tool (as suggested by @moonboots) works for me.

Join objects (Ctrl+J)
Delete last loop of Arm object
Select end loops of body and arm
Search for Bridge (F3) and hit Enter
Adjust vertices as needed to get desired shape


For Auto Rig Pro is it better to have eyelids as separate object or as a mesh with eyeball object? I'm creating a cartoon style character with oval eyes and lattice.  I created two versions for eyelids.  One with the eyelid mesh included with the eyeball object, and another with the eyelid meshes as separate objects.  I like the look an simplicity of only one object, but which would be better suited for Auto Rig Pro 2.8 controls?

This is a tough topic, and I've struggled with it mightily. I eventually found this video, which got results for me. But my problem was specifically getting the lattice deformers--whose purpose is to make the eyes oval shaped despite being rotated--to parent properly and to actually stay put during eye control manipulation. As to your specific question, I don't know if the video will provide a clear answer, but I know in standard ARP eye rigging practice, each eye is part of the same "object" during facial setup, and yet each eye works just fine later on when controlled independently by the rig. I expect this is because they each have their own independent vertex group, so that then the armature modifier can tell each eye which bone to follow. So based on this, I would imagine you could have your lids as part of the same eye object also, provided you give them separate vertex groups, and target some bone with them by giving those vertex groups the same name as that of the bone. Hope this helps.

https://www.youtube.com/watch?v=r1Di71uD578


Animation Nodes: add a new shape, like UV sphere I'm very new to Animation Nodes, and I'd like to see if I can do some parametric object creation with it (I tried sverchok before that looks great also, but I got some unexplained segfault so I'm trying to see if AN is more stable). Unfortunately, I can't find how to perform this very simple task: create an UV sphere (or a cube/any basic mesh...) directly from Animation Nodes (the object instancier node seems to refer to a node already present in the scene, which is not really what I need).

Is it possible? If not, could you explain why this basic feature is not present?

Thanks!

As the name says Animation Nodes it is mainly made for animations, so there are few mesh generators than sverchok.You can always create an uv sphere in blender and insert it in AN by the mesh or object nodes input.


Array modifier (vary textures on duplicates) Using the array modifier and textures, can the individual array objects be slightly textured differently for individual look?

Well seeing as you said 'slightly' then yes, you can have slightly different textures on an object that has been arrayed:

This cube has a texture which uses 'Generated' coordinates instead of other texture mapping coordinates such as UV.

Generated coordinates can be set for either the internal renderer in the mapping panel of the texture settings:

Or in Cycles with a 'Texture Coordinate' node:

The example above uses a procedural cloud texture with generated coordinates. This method doesn't allow you to specify different textures to appear on each cube, however, it does allow you to slightly vary each different cube.


How can I sculpt this shape? I'm struggling to sculpt this armchair, especially the blue part (for the red part I made a workaround, creating 3 torus meshes, join with the main mesh and then remesh, still don't know how to sculpt them). I try to use Clay Strip/Inflate and Smooth but the shape just can't be right. Could you give me some suggestions?

I would suggest to use a cloth + pressure (internal pressure) + pin group + collision objects if you want to add more geometry


Will it be possible to have this type of lightning in Blender? I am really curious to know that how will I light this scene in Blender it's my dream to make this scene.

(I've edited this based on a quick run through) You will be angered by "fireflies" if you build a scene like this in a dark way. Fireflies are points of static as Blender tries to cast rays of 'light' to render a scene. So, there's an important trick: light it too much and then lower the exposure or color curves in post to make it dark and moody. Set your environment strength WAY down, maybe even to 0.2 and heavily restrict bounces in Light Paths.

Your geometry is first. Place your Camera and then, in my opinion, make three lights 1. Sun lamp as Moon, 2. Sun or Spot as street lamp and 3. headlights from Emit Shader. In Cycles, the Moon's Sun lamp can emit with a strength far beyond 1.0 Go very high perhaps to 5 or 6 and position it to create shadows and shine through trees.

The Street Lamp will now light the shadows but its strength must also be high. Don't despair at a bright image; we can adjust the Exposure and contrast and color balance to give it that dark, blue night look. The Scene Tab has most of these adjustments.

That fog is the awkward part - the image you posted is from TV or a movie. The headlights don't have an effect. If you create a Circle, give it a Face in Edit Mode and maybe Unwrap it, the Material can perform a little magic...

A Circular (or Spherical) Gradient Texture mapped to the "Object" can act as a Mix Shader's Factor between a Transparent Shader and Diffuse Shader. Multiplied to that Gradient by a Mix RBG Node could be a Noise Texture Node. If the edges of the Circle are screaming obvious, switch the Diffuse and Transparent Shader sockets' entry into the Mix Shader!

The effect will fake volumetrics. Place that faced circle where lights cast upon it. In Edit Mode, Shift + D copy another closely nearby and the mist or fog will begin to take better shape. Don't move copies too far or the Object coordinates we depend on will stretch out of whack.

We all love volumetrics but using them eats processing time. This material trick can later be used on actual volume renders. (EDITED - Environment Strength, Circle Mapping coordinates, corrected Render Tab to Scene Tab)


How to create good topology without changing the flow Guys how do i make that top extrusion sharp without changing the flow of the lower part?

I want the green area to be sharp but without those creases below.

I think you should consider applying subdivision modifier to the sphere so you have more vertices to work with and then extrude to top bit, it will make your model a bit higher on the vertex count but it let you manipulate the model more easily.

besides that check some tutorials about edge flow (there are a lot not blender related but when it comes to topology it doesn't matter what software you are using), I recommend Arrimus 3D he is amazing (https://www.youtube.com/channel/UCSLLdTBwLMfTKWS56tOiQpw)

and the most important video on the subject .. https://vimeo.com/10941211 by Grant Warwick

hope it helps


Issue when baking normals I baked the normals of a high poly mesh to a low poly mesh using cycles but the result seems somewhat odd.

This is how the low poly mesh looks like with baked normals:

This is the high poly sculpt:

This is the normal map:

The cage is a duplicate of the low poly mesh with a displacement modifier applied. All three objects are in the same location. Low poly does not share UVs. Shading is set to smooth.

How can I get the normals right?

Here is the .blend file:

Update: Since it was suggested that this issue occurs because of the difference between high and low poly I made a new subtle sculpt but the error still is present:

Previously I pointed it out that you didn't smooth the object.  That's not the case, see update.

Update:

Your normal map is baked correctly.

I brought it to Blender Internal Render and this is the result.

Cycle has shading problem on lowpoly models.  Whether you smooth it or not, it will be rendered as if not smoothed.

I previously missed that point, too.  Your process isn't the problem.  Cycle is.


What are the keyboard shortcuts on Mac OS for blender? What are the keyboard shortcuts on Mac OS for blender?

Keyboard shortcuts can be found and edited in menu File -> User Preferences -> Input tab:

PS. don't forget to press Save User Settings, after making changes here.


Set pivot point of empty object I've got an empty object which is parent to a couple of meshes. I want to keep these meshes seperated in order to be able to adjust their materials individually, but I want to rotate them altogether. That's why I created the empty object and set it to be the parent to those meshes. I am able to rotate them together, but the pivot point is (0,0,0).

If I try to set the origin of the empty object via Ctrl + Shift + Alt + C it doesn't change anything. I can change the origin of all the meshes to the desired pivot point, but still can't rotate them via the empty object. Any suggestions on how to achieve that? Thanks in advance!

I was using Empty >> Image and stumbled upon this problem but I solved it in a moment. When you add an empty, (here I added the logo just for visibility) go to Data and you should see the Offset. Set both the values of X and Y to -0.5 and it should be in the center. You can then go ahead rotating as if it were a Plane. Hope this helps!


Create blocking popup in Blender api I'm writing an addon to import game models into Blender. But sometimes, there is a mismatch between a bone's name from the animation file and the name from the object file.

So I'd like, when the script encounters an unknown bone, to open a popup with a list of existing bones (plus an option to ignore the bone), that would pause the script until the user has chosen his result, and to get back the chosen option.

I've seen
How to call invoke_popup?
to create a popup, but I'm stuck on several points :

how to call it from my python code
how to change its name (label) before calling it (to say for example "bone X not found")
how to get the result of the selection
how to get the user see and interact with the popup before the end of the script

Yes, Python can make a popup menu.

The options are either...

Create a popup on the fly. using bpy.context.window_manager.popup_menuhttp://www.blender.org/api/blender_python_api_2_75_release/bpy.types.WindowManager.html#bpy.types.WindowManager.popup_menu
Define a menu subclass of bpy.types.Menu, then call it. see:http://www.blender.org/api/blender_python_api_2_75_release/bpy.types.Menu.html

Both of the links above include examples.

Regarding "How to get the result of the selection", The way Blender works, menu items reference operators. So you would need to define an operator which is referenced from the menu.


Rendered Scene Looks Incorrect/Weird Doing a render of this view
Results in this output which looks strange, is there anything obvious I've messed up here ? Lighting, Cameras ? I have a single camera that I'm using (Use local camera is not ticked)

I think you don't have a light and images appear pink with moved texture try to add a color to the objects and a base .


Blender collision export primitives issue I have just started learning blender, and I am having trouble exporting a few very basic collision shapes. I would appreciate any pointers where I might be going wrong

I exported to .bullet using PhysicsConstraints.exportBulletFile
1. Cones are exported perfectly (verified by recreating programmatically)
2. Cylinders are exported with the wrong scale
3. Boxes are exported with correct position but AABB only wraps original unrotated shape

I have a very simple Blender scene with two cylinders, a cone and a box:

In Blender:
All have "Add Active" and are green when selected
All have radius = 1.0
All have "Rigid Body"
All have "Collision Bounds" ticked with the correct shape selected

Thanks in advance

I found that blender .bullet export (for primitives) does not export correctly if:
1. “Apply Object Transform” for Location or Rotation is performed. This is not reversible quickly
2. The “origin” is not at the object bounds center (i.e. 1a was performed, location reset to 0)
3. Rotation in blender != value you want (i.e. 1a was performed, rotation reset to 0)
4. Scale in blender != 1.0 (i.e. 1a for Scale was NOT performed)
5. Something moved in the scene before the script ran


open .stl file with blender I need to open .stl files with blender, without importing them!

In the properties of my .stl file, blender is set as "open with", but when I double click on the file it just opens blender as my preset user preference (without any objects). The same happens when I drag the file over the blender icon to open it that way.

Whats funny is that if I drag and drop the file over an older version of blender (2.49) then it opens the .stl file fine.

Any ideas?

Thanks

Assosiating STL with Blender no longer works, you have to use File -> Import -> STL now.

This is because STL used to be written in C and loaded the same way *.blend files were, but now its an addon.

Note, its possible to make a shell script or batch file which you can assosiate STL with, that calls blender with the addon, though this isnt completely straightforward and will require some small Python snippet to run the importer.


Installing 2.77 for LInux I just download the 2.77 tarball for Linux but I don't see a way to install the program. I can navigate to the extracted directory and run Blender via ./blender or ./blender-softwaregl but I don't see an install script. Am I missing something?

No, you don't miss anything. The tarball for Linux as well as the zipped version for Windows has no installation routine whatsoever. Extract the archive to whatever directory you like, create a link and you're set. If it runs fine, there are no drawbacks besides of manual updates.

I started using the tarball version years ago after running into downgrades during system updates quite frequently. I always extract it into /home/username/bin/ and also create my link in /home/username/bin/

Alternatively you can use /usr/local/bin/ which would be the correct directory for packages that aren't managed by the system's package manager.

If you want to use an installed version, search the repo of your Linux Distribution.


rig shifts upon IK application I'm trying to create a simple low-poly rig for some testing and I'd like to create it manually. Right now I have a problem where even though my IK bone has no parent and Deform is unchecked, trying to create any kind of IK shifts the bones, sometimes quite majorly. How do I solves this?

if you choose the Palm_L_Ik as the target of the Forearm_L, the Forearm_L will stick to the head of the Palm_L_IK, that's why it moves when you switch to Pose mode, if you don't want this to happen, you need, in Edit mode, to put the tail of Forearm_L at the same point than the head of Palm_L_Ik...

By the way, the Deform option is to prevent the mesh to be affected by the bone, it has nothing to do with your problem


How to apply freestyle on only one mesh? I have a scene in Blender in which I want to apply freestyle effects to just one object. Is this possible. How can I do it?
(I'm using Cycles)

In the freestyle settings, check the "collection" option for selection by, then you can add your one object to a collection, and choose that collection in the settings menu below.


Spotlight's radius doesn't work in eevee 2.8(official release) I am following a tutorial and i am setting up the lighting. I want to hide the spotlights inside my lamps and torch so that it seems more realistic. The thing is that no matter how big the radius is, no light is coming out. I've searched online, but i can't find anything related. Here is the problem.

As you can see, the radius is bigger than the torch but no light is coming out.
If i remove the torch, it works perfectly.

I tried changing the light type to point and area and the radius setting works fine, even in cycles. But when i set it back to spotlight, i still have the same issue.

Is there something i don't understand in the radius setting? I'm pretty sure it is not a bug, since the radius worked in the tutorial i saw.

(disclaimer: this is my first post, i don't know if the formatting is right)

Edit: The light in the pic is from an other spotlight with the same issue, I just places it outside the object in order for it to work.

This answer has been update for Blender 2.81. The original one was mistakenly written for Cycles.

There are three parts of the problem that need to be addressed:

In Blender lights don't create any visibile geometry, therefore you don't see the source of the spotlight that is emitting the light.
The spotlight placed inside a closed object wasn't emitting light to the outside of the object.
The light cone is only visible when geometry is hit by it or volumetric effects are introduced.

The first problem can be fixed by assigning a shadeless or emissive material to the front of the torch.

The second issue doesn't exist in Blender 2.81 and later when using Eevee, since lights can pass through the enclosing object. However there is no need to put the light inside the object. You can place it slightly in front of the torch and it will give you the desired visuals as well. For Cycles you will either have to place the spotlight outside of the object as well or assign a transparent material to the front which allows the light to pass through.

Spotlight with emissive front, spot light placed outside with a spot size of 45°, contact shadows enabled and an irradiance volume to bake indirect light.

Spotlight with emissive front, spot light placed outside with a spot size of 80°, contact shadows enabled and an irradiance volume to bake indirect light.

An alternative solution when using Cycles is a mesh light which could be placed inside the torch. Since mesh lights are actual geometry, they are also visible in the render, thereby solving problem 1). This approach would require to model an approximation of the torches interior. However this isn't as versatile as using a spotlight, since the shape of the light cone would be determined by the geometry of the torch and the mesh light. Therefore, adjusting the look is much more difficult compared to the settings of the spotlight.

In order to solve problem 3) you would either need to ensure that the torch hits objects in the scene to make the light cone visible, e.g. walls, or add atmospheric effects simulating dust in the air. This can be accomplished by adding a cube into the scene that is scaled to encloses the volume that should scatter the light. Assign a Volume Scatter material with a low density to the cube.


Baked normal map looks fine but has strange 'blocky' shapes when applied to the mesh (Overlapping UVs?) As you can see I have an issue with my normal map!

It almost looks as though there are some normals which are facing the wrong way, but they don't correlate to any faces. The blocky patches are dark when the rest of the model is light and vice versa. All of my low poly face normals are facing outwards and the bake actually worked before I reduced the poly count and re-unwrapped my mesh.

Looking at the normal map itself, I can't see anything that looks like it might be causing problems. I have also tried increasing/decreasing the cage extrusion settings, but to no avail!

I even tried baking the normal maps in xNormal to see if it was just a Blender issue and got similar results.

I am using Blender 2.78 with Cycles and Marmoset to preview the model.

If anyone has encountered this issue before, any help would be massively appreciated.

Thanks in advance and have a good weekend.

UPDATE: I put the same normal map on a plane, to try and work out if it was a problem with the normal map or the mesh and as you can see the normal works fine. I then checked through and made sure there were no double vertices or anything. I was thinking that perhaps there may be 2 faces occupying the same position or something but there are no doubles, so I don't really understand what the problem could be.

UPDATE 2: Starting to get to the route of the problem now. I thought it was duplicate faces, but I have realised it is actually overlapping normal maps. I originally worked on half of the model, UV mapped it, mirrored it using the mirror modifier and then baked it out. For some reason this creates shading problems. I then tried doing things in a different order, so UVs, bake, mirror. This gave me a better normal map with much less exaggerated details BUT the problem still persisted. I then deleted half of the mesh entirely and imported that and guess what... It works perfectly. The problem is obviously having overlapping normals so I guess that now I need to know how to have mirrored geometry, with 2 identical sides, without cause issues.

Ok, I found the solution in the end! I realised that the problem was being caused by overlapping UV maps and mirrored geometry so I selected half of the model and then shifted the islands over by 2048px (the width of the normal map) so that they were off of the main area. I am not exactly sure why this happened, so if anyone has any insight it would be helpful, not only to me but to anyone reading this in the future. Here is an image of the adjusted UV map and the working mesh w/ normal map.


Dissimilar movement between parent and child in BGE In this blend file I have the following problem.

Every time I rotate the "Player" the camera rotates in a radius way huger than it should. Check the "Plane" to verify this or through the camera view.

It used to work fine till I appended the object "Flashlight", which is a child of the "Flashlight_empty". Also when I appended it, it spawned as "Flashlight.001" while I have/had no other object with the same name. I changed it back to "Flashlight". I think it has something to do with the physics boxes, cause when collision box option is deactivated the player has a sphere around it(maybe it is a default thing) while when I activate it goes with the box. I played with it and might have messed it. Anyways it might be something simpler also.

Your problem description indicates you have a non-uniform scale on one or more parents. According to your file the problem is the "Player" object.

Solution:

Ensure the scale is set to (1.0, 1.0, 1.0).
You can do this by pressing ⎈ CtrlA > Scale.


Copy Rotation adding rotation to start position? I am making a rig that transfers motion from one mesh to another via bones. This is for complex mesh hair strands. The base mesh has a cloth sim on it. A Chain of bones are constrained to follow this mesh. Another version of the mesh is then driven by this bone armature.

It works by having a vertex group of a horizontal loop at the top of each bone. The bone has a Copy Rotation constraint to this group, and an IK to the next group down (at its tip). The bones are not using inherit rotation.

The copy rot is giving strange results. The bones seem to get ~45 degree rotation around local Y. There is also X and Z rotation, but it is overridden by the IK constraint. I am trying to figure out where this rotation is coming from, and how I get rid of it. I do not want things to rotate until the simmed mesh (red in this picture) starts moving. This problem occurs regardless of the Space I use for the Copy Rot. Different combinations of spaces give different results, but all are wrong.

Where is this extra rotation coming from?

There needs to be a bone for every segment like this:

The bones are connected into single chain and using inherit rotation (but this is irrelevant because it is overwritten with constraints)

In edit mode the bones were aligned with Ctrl+N > Cursor with cursor being in the center of mass of the bone chain.

Then the red mesh (the reference hair strand) has a vertex group for each vertex on the bone chain containing that single vertex:

Vertex0 is at the root.

Here is setup of every single bone exept the root bone. The root has copy location from Vertex0 as a first extra constraint in the stack:

The bones will not rotate until you simulate the red mesh now. They won't follow the mesh perfectly (that's because vertex normals and how they work) but they will follow closely. To make the chain follow perfectly the bones would have to target polygons instead of vertices (it's not supported, they can target only vertices - with vertex groups).

Here is a blend with the beginning of hair rigged:


How do I restore my User Preferences>System panel? I went to User Preferences > System panel to change my viewport anti-aliasing settings, but all I see is this column:

I'm using Blender 2.78c, on Windows 10.

Here is what I'm expecting to see, screen-capped from an older version that I have installed (2.77a):

I've tried uninstalling/reinstalling Blender and updating my graphic card drivers (Geforce GTX 980).
I've also tried Loading Factory Settings without any luck.

Edit: I just opened the info panel up and I'm seeing this error, it seems like it might be relevant:

"
Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\startup\bl_ui\space_userpref.py", line 433, in draw
    userpref.addons['cycles'].preferences.draw_impl(col, context)
AttributeError: 'NoneType' object has no attribute 'draw_impl'

location: :-1
"

It seems switching to Cycles and making the Viewport Draw Mode as 'Rendered' causes Blender to crash.

Any help is greatly appreciated!

I was able to solve this by disabling the Cycles Render Engine in the Add-ons panel, this let me restore the System panel to how it should look.

As for getting Cycles to work again now, I'll ask another question...


Adding Noise along lines using nodes My goal is to add procedural grass patches along the crevices of tiles. I have a tile pattern as below

So, is it possible to add noise along those black lines so that they can be colored green to give some grass patch effect??
To my knowledge I can only add Noise inside the black lines by using mix RGB node with fac as the tile pattern and noise node as one of the inputs as shown below.

. But this isn't what I need.. i need the noise to extend beyond the line boundaries a bit more (not just inside). Any ideas how to achieve this??

I think you will need some sort of distance function from the cracks between the bricks. If your herringbone is procedural, that could be maths, inside the node tree. If it is an image texture, then blurring will do a pretty good job. You could blur the texture in an external application, or by putting it through Blender's own compositor:

.. trying to get a good range of greys for maximum flexibility. Then..

.. (Left) it can be inverted and adjusted, using a Color Ramp...  Your Noise, (Center) can be put through another Color Ramp. When the two are Mix RGB > Multiplied, (Right,) you begin to see how the bleed-mask appears. It can be further adjusted, put through a 'Greater Than' threshold, or a softer threshold, using another Color-Ramp, or Map Range.

The Brick shader (Left), and the Grass shader (Center) can be mixed using the resulting mask (right).
These are the nodes which produce the mask:

The result:


How to apply a material to a selection in Text using Python The Blender documentation explains how to apply multiple materials to various selections in Text:

  For example, to create Fig. Red Green Blue. you would need to create three separate materials and three separate material indices. Each word would be assigned a Material index by selecting the characters for each word and clicking the Assign button. Fig. Red Green Blue. is still one single Text object.

When accessing the text using a Python script, we can see its contents as a string through the following command:

object.data.body

However, it is not clear to me how we could mark substrings and assign materials to them. Do we need to macro the operations (select a range, assign material, repeat) as if we were doing this through the UI? Is there a more streamlined API?

Is this achievable through a script at all?

The following script will cycle through all text objects and for each word (separated by space) assign a material slot index to the word incrementing the material slot through all available slots resetting to index 0 if there are more words than material slots.
Written & tested on blender 2.79

import bpy

texts = [obj for obj in bpy.data.objects if obj.type == 'FONT']

bpy.ops.mode_select
for txt in texts:
    me = txt.data.body
    mats = txt.material_slots
    ind = 0
    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.font.move(type='LINE_BEGIN')
    for word in me.split():
        bpy.ops.font.move_select(type='NEXT_WORD')
        bpy.context.object.active_material_index = ind
        bpy.ops.object.material_slot_assign()
        if ind < len(mats):
            ind += 1
        else:
            ind = 0
        bpy.ops.font.move(type='NEXT_CHARACTER')
    bpy.ops.object.mode_set(mode='OBJECT')


How to access number in Enum Property? I want to set sub surf value by reading number from the Enum Property

How do i do that ?

import bpy
def SubSurfSet(self, context):
    print(self.value)
    #bpy.context.object.modifiers["Subsurf"].render_levels = 2

bpy.types.PoseBone.SubSurfEnum = bpy.props.EnumProperty(
            #(identifier, name, description, icon, number)
    items = [('None','No Smooth','','',0),
             ('Smooth','Smooth','','',1),
             ('Smoother','Smoother','','',2),
             ('Smoothest','Smoothest','','',4)],
    name = "Mask the MESH",
    default = 'None',
    update = SubSurfSet)

bpy.data.objects["Frog rig"].pose.bones["root.dummy"].SubSurfEnum = 'None'

What I would do is design the items of Enum property like this:

items = [('0','No Smooth',''),
         ('1','Smooth',''),
         ('2','Smoother',''),
         ('4','Smoothest','')]

Then you just need to cast it to int.

bpy.context.object.modifiers["Subsurf"].render_levels = int(self.SubSurfEnum )

When you change this Enum property and the subsurf levels you don't have to change any dictionary.


2.8, how to automaticaly merge overlapping vertices there used to be a button for this, It looked like two arrows pointing towards each other i believe. It made it very easy to snap one vertex onto another. It was located where the snaping and pivot point options are but I can't find it in 2.8 :(

nvm, found it. It's under mesh options all the way to the topmost corner of the window. :) It's called AutoMerge editing


Hair particle system, hair particles go down throgh the scalp I have looked at other similar topics on this and other forums, but have not found a solution that suits me.

In particle mode, everything looks normal, but in object mode, you can see that a lot of hair goes straight down, and a bald spot forms on the top of the head. In the particle settings set only the vertex group and children to interpolated.

Adding a collision to a character doesn't work either. All modifiers are applied. Transforms were applied.

I may have missed something due to inexperience, and I would be grateful if you could help me and suggest a solution.

You have to enable B-Spline for the particle system and increase the Steps.

Steps for both Render and the Viewport are a power of 2, meaning the hair will have 2^n segments with n steps. If you increase steps by 2, the number of segments multiplies by 4.


Fluids simulation went crazy I have a problem with fluid simulation.

The project is pretty simple, I have just a domain object and an inflow object.

The inflow object is supposed to start drop oilish fluid at frame #1100 and ends after 8 seconds.

It was working almost correctly until I moved the inflow object a little (inside the domain), after that it started to act in a weird way.

The inflow seems to behave if it was a long tube (instead of a little sphere) and the fluid seems dense and is not following the initial velocity settings.

As you can see in this picture that strange long melting tube is supposed to be a flow of oil sprinking in the direction (x, -y, -z).

I've already tried to delete the bake cache, restart Blender, using different OS (Windows, Linux and macOS), but with no luck.

You can download the project file here.

The problem appears to be due to the geometry of the Inflow object - it has a negative scale (-0.025). This causes havoc with the Volume Initialization of the inflow in the domain.

The simple solution is to select the Inflow object and simply press S-1Enter. This will 'flip' the scale of the mesh so that it is enclosing the correct volume.

Re-baking produces the following :

When using Volumes it's imperative to ensure the Normals are facing in the correct direction - in your case the negative scale resulted in them pointing 'inwards' rather than 'outwards', confusing the fluid sim.


Cannot pickup an object twice (Use child of a second time) I am having trouble picking up and releasing an object twice with Child Of constraint.

I can do a full cycle of pick up, lift the object, drop and put the arm that picked it up to rest.
Second time I try to pick it up and raise influence to 1, the offset applies and the object is misplaced.
If I apply "set inverse" it is fixed but it messes up the original pickup cycle.

Any ideas?

NEW EDIT: File can be found here:

After looking over the file i saw that you used one "Child Of" constraint, animated it with 0 influence until one frame before the time it needs to be activated, then activated it with 1 influence to pick it up and later used the reverse, keyed 1 influence and one frame later the 0 influence to drop the "Child Of", so it could be picked up later again.

All that was working fine, a few too many keyframes were used before the actual action, as you only need to use two keys for activating and deactivating. If not needed, i would suggest to remove unneeded keys though.
Those two times would have been enough, but that did not cause the problem.

What is important though, is that you can not use the same "Child Of" Constraint for a second time without it keeping the relative position after it was used once. (all my tests either caused the later or previous positions relative to the parent to be messed up. Sure you can use the Set Inverse or Clear Inverse buttons, but they pretty much do mess up any previous usage or an already keyed later usage.

Solution:
Use one "Child Of" constraint per pick up -> manipulating -> drop phase.

Here a little visual helper:

I extended the animation a bit, to showcase a second pickup.

Also here the file to examine, as it may help to understand looking at the details:

While i believe it is better to know how it works, i do not want to withhold the fact that there is an addon called Dynamic Parent, that kinda makes it easier to attach items to different parents. Beware though that if you use it, it can become very fast messy with many "Child Of" constraints. So understanding what happens first helps a lot.

Happy Blending


Rigged Shape Keys on Models With Mirror Modifier? Sorry if this is a noob question, I'm very new to 3d modelling and animation.
I modelled a humanoid character with a mirror modifier.
I want to use a shape key to realistically animate the elbow when the forearm is rotated.
I created the shape key on the left side and used the left forearm bone as the driver.
The problem is, that if I rotate the left forearm, the shape key is also applied to the right elbow, even though the right forearm bone isn't moving.
Is there a way to use a separate driver for the right side? I don't want to apply the mirror modifier, as I will need to do some additional modelling later.

man, as far as I know you can't even apply the mirror modification, with shape keys ... what you can do is finish your model! then make the shape keys on one side and duplicate and use mirror shape keys.


Compute directional lamp for direction Given a randomized euler rotation of (x1,y1,z1) of a sun lamp object, how do we compute whether the final light ray will be pointing 'down' in negative z worldspace or up?

Essentially, I am looking for a way to test if the sun will be visible, or below the horizon.

If you are just wanting a calculation based on given Euler angles, (since location makes no difference to a Sun lamp, which shines down its negative Z all over the world from an infinite distance), then all we are interested in the world-Z component of the direction of the lamp's own Z axis. If that is positive, the sun is shining down.

So you could do this sort of thing:

from mathutils import Matrix, Euler
from math import radians

def shines_down(XYZ_angles):
    angles = (radians(x) for x in XYZ_angles)
    eul = Euler(angles, 'XYZ')
    mat = eul.to_matrix()
    return mat[2][2] > 0

print ( shines_down((78,38,-179)) )

However, if you have the object already created, then you could just read the value out of its transformation matrix:

import bpy

ob = bpy.data.objects['Sun']
print (ob.matrix_world[2][2] > 0)

#True if down


How to import .bobj files in Blender? I received a set of *.bobj files. Those files were not created with Blender, they were generated by an external fluid simulator. I am not familiar with the physics engine of blender and I don't need it. I only need to read the mesh for rendering purposes. Using Blender 2.68a.

How to import those files in Blender?

A Bobj file sounds like it could be a Binary OBJ file, However i believe this is not a specific standard of file.

Blender's Fluid simulator outputs bobj.gz as a format in binary, and compressed.

Edited:

bobj files are used in the fluid tab of the physics settings.

Make sure the bobj.gz files are in a directory of their own, and then goto that directory in the highlighted field.
Make sure you only have the directory name in the field, and not the file name of the fluid cache.

You also need to make sure the file names do not change from fluidsurface_final_xxxx.bobj
and set the viewport Display to Final.


Mesh does not follow armature So I've made a pretty fancy hand, that I want to attach to an armature. The thing is, I've tried everything, but the mesh doesn't want to follow the armature. I've removed the double verticles (I had 8) and watched lots of tutorials, but I just can't fix it, at least it looks like. I'm not new at Blender. I'm working on models for a game, but I never tried to use a single armature. I'm new on the forum, but I'll try to add the .blend file, and if you have time, and you feel helping me, you could try to make the mesh follow the armature, because I'm st*pid for it right now, but I'm trying. Yet I'm not planning to do any animations for it, just want to move the fingers the correct way.

PS: If we finish the game and you keep helping us, you may get displayed on the credits. If you want to help us contact me on Skype, and I send you the file: szabo.jozsef501

Here is the link for the model: http://www.mediafire.com/download/dwh3bvw5rir4d5w/HandV2.blend

you used NGons the bad way.

Everything is fine after triangulation of the faces (Edit mode Tab, select all A, Ctrl+F and "triangulate faces" in the face menu or Ctrl+T)

Recalculate normals (all selected and Ctrl+N)
Back in object mode Tab, select the mesh RClick, then the armature with Shift+RClick, then Ctrl+P and choose "armature deform"/"with automatic weights"
Then parenting the hand to the armatures works fine.


object mode, can not cancel select I'm in object mode in blender 2.81, and I select 1 object, and then I click on empty area, it does not cancel the selection, I can not drag mouse to select multiple objects.

You may have disabled Meshes in the View Object Types menu.

Or less likely might be in tweaks mode, click and hold the mouse to change back to box select.


How to control different parent I have made the model and want to run on the curve path. With the model and the door i want to animate at some frame. To the door i have added empty and some part i parent. I added a sphere empty and parent complete model so that it follow along the path. The complete model get parent but the door empty when needed to rotate to open the door it does not work.

It looks like you parent the door object to the Empty Sphere, am I right? Don't do it, don't parent the door to the Empty Sphere, otherwise it won't be parented to the Empty Plain Axe anymore. Only parent the door to the Empty Plain Axe and the Empty Plain Axe (and the front of the object) to the Empty Sphere. When the Empty Sphere moves, the door will follow as it is child of its child. Is it not your problem?

To make it simple, let say you deparent everything to start from scratch, now what you need to do is : 1) parent the door to the Empty Plain Axe 2) parent the front and the Empty Plain Axe to the Empty Sphere.


Automatic weight paint failure on only one side of rig Automatic weight paint failure on only one side of rig.
Video: https://app.box.com/s/q7r3yryvmtecm9ljo38f8xst3rjpwk4g
Blend file: https://app.box.com/s/rb1wdvzrdh8qkfu7b2ggv7sjm7xfqc6w

It turns out that the normals were flipped on the left arm. I flipped the normals back, re-attached the mesh to the rig with automatic weights, and it worked perfectly.
I'm still getting used to Blender 2.8. Had no idea the normals were flipped.


Object Specific Anti-Aliasing I have one object in my scene that I need rendered without any Anti-Aliasing, but I'd like the rest of the scene to still be Anti-Aliased, is there any way to achieve this? I'm using Cycles.

Blender/Cycles doesn't have this feature currently


Architectural Addon - Export UV for handcraft paper models I can remember watching a video about architectural-design-addons in blender. At some point the youtuber said that it was possible to export the uv for handcrafting. Like these paper kits for children. Well now is the time I could benefit from this. Sadly I wasn't logged into youtube and can't find the video anymore. Does anybody know what addon could do this? example:

EDIT: I found a similiar addon but I dont think it can work for me. https://github.com/addam/Export-Paper-Model-from-Blender#export-paper-model-from-blender

Jachym Michal solved this issue. Its the "Export Paper Model" addon, preinstalled in blender. Thank you again!


See render preview in a second monitor while modelling I have two monitors and I want the preview render to be on one screen and modelling it on the other. I can't do this because I can split the render and preview but they are in the same window.

Can't you just duplicate the window (Window >>> Duplicate Window) and drag that duplicate over to your second monitor?


How to create a property in a panel for selecting one face? I'm new to python and blender scripting. I'm making an operator addon that will operate on a specific face. i want to create something like the 'lock to object' element in the view panel.

Firstly how do i make a selection box?

Secondly, how do i make is so it can select only faces?

Thirdly, how do i make it so it is limited to selecting one face?

I've tried searching around but can't find much on it at all, so any links will be much appeciated as iknow it's a loaded question.

Sounds like you are trying to do too much at once, but see if this will help to break down the logic and possibly clarify a more specific question.

import bpy
import os
import bmesh
from bpy.types import Operator
from bpy.types import Panel

bl_info = {
    "name": "Blank1",
    "author": "Your Name Here",
    "version": (1, 0),
    "blender": (2, 79, 0),
    "location": "View3D > Tools panel 'T' > Blank1 > Blank2",
    "description": "",
    "warning": "",
    "wiki_url": "",
    "category": "",
    }

def main(context):
    if context.active_object.mode == 'OBJECT':
        print("object mode")
        print("Enumerated list selection")
        print("object list :", context.scene.enum_list1)
        print("Face list :", context.scene.enum_list2)
    if context.active_object.mode == 'EDIT':
        print("edit mode")
        print("selection box : ", context.scene.objects.active.name)
        print("index of faces selected : ", get_index_selected())

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

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

def enum_list_from_all(self, context):
    """EnumProperty callback"""
    enum_items = []
    objs = context.scene.objects
    if objs is None:
        return enum_items
    count = 0
    for obj in objs:
        if obj.type not in ['MESH']:
            continue
        identifier = obj.name
        name = obj.name
        description = obj.name
        number = count
        enum_items.append((identifier, name, description, number))
        count += 1
    return enum_items

def enum_list_from_selected(self, context):
    """EnumProperty callback"""
    enum_items = []
    for obj in bpy.data.objects:
        if obj.name == context.scene.enum_list1:
            sel_obj = obj
    for poly in sel_obj.data.polygons:
        identifier = ((sel_obj.name) + " F: " + str(poly.index))
        name = ((sel_obj.name) + " F: " + str(poly.index))
        description = ("face index" + str(poly.index))
        number = poly.index
        enum_items.append((identifier, name, description, number))
    return enum_items

def get_index_selected():
    obj = bpy.context.edit_object
    me = obj.data
    bm = bmesh.from_edit_mesh(me)
    mystr = ""
    for f in bm.faces:
        if f.select:
            mystr += (str(f.index) + ' ')
    return mystr

def initprop():
    bpy.types.Scene.enum_list1 = bpy.props.EnumProperty(
        items=enum_list_from_all,
        name="enum_list1",
        description="",
        )
    bpy.types.Scene.enum_list2 = bpy.props.EnumProperty(
        items=enum_list_from_selected,
        name="enum_list2",
        description="",
        )

def delprop():
    del bpy.types.Scene.enum_list1
    del bpy.types.Scene.enum_list2

class VIEW3D_PT_Blank1_Blank2(Panel):
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Blank1"
    bl_label = "Blank2"

    def draw(self, context):
        scene = context.scene
        layout = self.layout
        row = layout.row()
        col = layout.column(align=True)
        col.label(text="Enum lists based on blend file data")
        col.prop(scene, "enum_list1", text="Objects")
        col.prop(scene, "enum_list2", text="Faces")
        if context.active_object.mode == 'OBJECT':
            col.operator(SimpleOperator.bl_idname, "test button")
        col.separator()
        col.label(text="Alternative")
        col.label(text="Active object is displayed or set from box")
        col.prop(scene.objects, "active", text="Active Object")
        if context.active_object.mode == 'OBJECT':
            col.label(text="press tab to enter edit mode")
        if context.active_object.mode == 'EDIT':
            col.label(text='Index of Faces ' + get_index_selected())
            col.operator(SimpleOperator.bl_idname, "test button")

def register():
    bpy.utils.register_class(VIEW3D_PT_Blank1_Blank2)
    bpy.utils.register_class(SimpleOperator)
    initprop()

def unregister():
    bpy.utils.unregister_class(VIEW3D_PT_Blank1_Blank2)
    bpy.utils.unregister_class(SimpleOperator)
    delprop()

if __name__ == "__main__":
    register()