Blender User Preferences: Images Draw Method: DrawPixels I performed searches on the web and here in Stack Exchange but I cannot find information about the differences/advantages/disadvantages of using the various Images Draw Method choices, in particular DrawPixels.

The user manual that comes up in v2.78 returns no hits on DrawPixels.

Does anyone know of a link to documentation on the various preferences or could provide some insight?

I'm not sure if you've found an answer yet or not, but I think I can help you out.

The three options I'm aware of are DrawPixels, GLSL, and 2D Texture.

GLSL is the only one that takes full advantage of the graphics card; which for most of us makes it the best possible option. If you are using the GPU for any other portion of your rendering, then I strongly suggest this one as there's a palpable difference in speed.

For cases when GLSL isn't available or, for one reason or another, is disadvantageous, 2D Textures and DrawPixels both run on the CPU. The core difference is hidden in the name, if you're an OpenGL buff—glDrawPixels creates the texture in RAM and copies it to the frame buffer; whereas 2D Texture implies that the data is ultimately stored on-board the graphics card as an OpenGL texture, making it ready-to-go during rendering.

The documentation is pretty scarce (and unusually sparse-in-detail for the Blender team) as of my writing this, and I could be wrong, so someone please correct me if I am. But in summary, if you're trying to run everything through your GTX 1080, you want to go for GLSL. If your textures/image-size is too big for your graphics memory (which, in some instances, can still happen,) and you have plenty of time, then go for DrawPixel. Texture 2D is a happy medium.


Origin to 3D cursor not working for one mesh Following the tutorial, at 16:55 I select the "frets" and I do "set origin to 3D cursor", but the origin stay in place and don't move. After a lot of search, I can't figure what is wrong. Can you help me ?

As moonboots said, if I apply the scale the origin moves to 3D cursor.


Area Lamp in Viewport in Blender Internal Engine I want to ask is there any way to make area lamp visible in viewport in Blender Internal Engine(GLSL) in Blender 2.79.
I cannot use Blender 2.8 due to some hardware limitations that is why I use Blender 2.79 Internal and Game Engine for my animation stuff.
Summary__How to get area lamp in viewport in Blender Internal Engine GLSL.

Area lamps, as you may already know are not supported in BGE/UPBGE 0.2x, however we can still bake lighting such as area lamp lighting onto an image.
Cycles bake tutorial. The same can be done with Blender Render, just with different, compatible materials to that particular render engine.
https://www.youtube.com/watch?v=7pcjenAfFto


start up sculpting a human head I'd like to start Blender by sculpting a human head . How can I import a ready made model head , and where can I find the classical sculpting tools of sculpting?

Answer - you can import your head by going to File > Import > Wavefront (.obj). If your model isn't a .obj file, select the other option that matches yours. Sculpting tools are in the sculpt panel, top of the screen under Sculpting.

Advice - do not start with a head. If you're new to Blender, start with something simple. Human head is a really complicated model even good artists can struggle with. :-)


How do I link vertices between two objects? I know I can link objects by using parent-child relationships, but is there a way to link elements from meshes in two different objects, particularly vertices?

The situation is that I'm working on a terrain object for a game, and I want to separate out the roads for special treatment later on. So created two grid mesh objects, removed all of the faces from each, and I want to use one for the general terrain, and the other for the roads. The grid mesh with the terrain will not duplicate the grid mesh for the roads, and vice versa, except right at the boundary between the two.

I'd like to be able to have the elevation of the corresponding vertex of the road mesh move when I edit the elevation of a vertex in the terrain mesh. That is, in this image,

I want b1 to move when I move a1, and a4 to move when I move b4, even though a1 and a4 are in one object, and b1 and b4 are in another. Is there a way to do this, or am I asking too much?

On the bottom grid apply a Shrinkwrap modifier in Project mode and select the upper grid as the target object.

The two meshes will connect. Move the offset value on the modifier so the vertices go back to their original position.

Now when you move the vertices on the top grid the corresponding vertices on the bottom will follow.


Texture Paint won't paint on some areas The texture paint won't let me paint on the mask. It's super weird, and annoying as I need to paint it. I think it might be an issue with the UV mapping, but I can't figure out what's wrong. This has happened in the past before, but I just ignored it. Please advise.

EDIT: Here is the file: http://pasteall.org/blend/index.php?id=45020

The parts that can't be painted on have inverted normals, so the normals are facing instead of out. Add to that the "Occlude" option in project paint is enabled. To fix this, go into Object mode and select all the faces and press Ctrl+N to correct the normals, or if they are supposed to be that way, look under the Options tab of the Tool shelf in the Project Paint panel and disable the "Occlude" option.


Mirror without deleting or adding new material I modified and existing rig and I want the left side to mirror the changes I did on the right side. Is there a way to do this without deleting half the character?

I assume you mean that you edited the Rig. In that case you can do this:

In the tool shelf: Vertical Options Tab enable X-Mirror
In your Armature, in Edit Mode: select all bones which you have modified (similar like in the image)
press "g" followed by RETURN will instantly adjust the other side of your rig.

Note: This works only if the Rig's symmetry plane is YZ (character looks along Y axis) and when the Bones are named according to Blender's naming conventions, see http://wiki.blender.org/index.php/Doc:2.6/Manual/Rigging/Armatures/Editing/Properties


How can I animate my Cycles shaders? For a scene, I have to change shader parameters (using nodes in Cycles) as time goes on in the scene.

I've looked for a node that inputs a time sweep or frame number, but neither is available in Cycles. Am I looking in the wrong place? Or is there a workaround/trick I don't know about?

You can keyframe any value on the nodes by Right Clicking on the value and then choosing Insert Keyframe. This will set a keyframe on the current frame.

When you add a keyframe the field will turn yellow to indicate there's a keyframe on that frame. If you move along the timeline, the field will turn green to indicate the field is keyframed, but not on the current frame.


How do you transfer weight paint in blender 2.8 How do you transfer weight paint in blender 2.8? I want to transfer the weight paint of my character to my clothes?

As of the stable release of 2.80, Transfer Weight option is consolidated into Transfer Mesh Data, and now located under Object > Relations > Transfer Mesh Data. This option is already available in Object Mode, no need to enter Weight Mode and accidentally paint a weight data in the process.

However, the selection order for the Transfer Weight is somehow reversed. So, instead of transferring weight from the first selection to second selection, it's actually vice versa in 2.80 - the tool transfers weight from the second selection to the first selection.


How to separate legs which are joint? That's the cat I have made with Blender. I have a problem because its legs are joint but I want to separate them and I don't want to obtain a hole in between.

What can I do if I don't want to remake my cat from the beginning?

Select edges you want to separate and press Ctrl+E and chose Edge Split.

Then move legs apart manually by selecting faces and moving them.

Then fill inner faces F.

If you are using Mirror modifier uncheck the Merge option, move legs apart, then check Merge on again.


Flame attribute for cycles smoke not working I'm trying to follow this tutorial to make a realistic smoke simulation in Cycles: https://www.youtube.com/watch?v=oSiV5gg_lCs

I followed his node setup to a T, yet when I plug in the flame attribute into the emission node, my uv sphere doesn't light up like in the tutorial.

Am I missing a setting somewhere?

Figured it out!

The problem was that I was changing the Smoke Domain object to Flow Type: Fire + Smoke instead of the emitter object, the UV sphere.


Changing shortcut to change views doesn't work. Is it possible? How? I tried to assign a new shortcut to changing views (Front, Left, Right) and it does not work.

I check conflicts and tried different keys combinations. How can I do that?

It's a conflict with Hide Collection. It has all numbers assigned. Because I tried combination with numbers alt+1 alt+2 ... to change views.


Can't bend svg image to a curve using simple deform I imported a naruto cloud svg image and wanted it to curve around the bowl. I tried using the simple deform modifier to bend it however it doesnt work. Also despite selecting all the svg image to bend, only one is affected as shown in the picture. Does anyone know how to get it to curve around the bowl? Heres the link to my file, thank you! https://pasteall.org/blend/1e855fda1c984ba68096748d810d4209

Probably the object don´t have the proper geometry. Meaning it doesn't have enough faces. It needs to have square faces or triangles to bend properly. Normally some are comprised of just one big face.


Overlapping surfaces problem I want to make a shoe in Blender, but I cannot get rid of the overlapping surfaces, as you can see on the first and second image below. In the third image I joined the two surfaces using (f). Why is the overlap still visible on the third image?
Although I merged the two surfaces.

You probably need to delete the faces and reconstruct that part of the model from scratch, try selecting the overlapping faces, press X and select "Only Faces", this way it deletes only the faces, leaving the edges and the vertices, then you can repair the model by recreating the faces, selecting the vertices you want and pressing F. Keep in mind that you probably need to delete some of the edges too, because it's likely that some of them are intersecting each other as well; in that case after you press X select "Only Edges & Faces" so that it only deletes the edge, leaving the vertices intact.


"Main scale" control on a material from Poliigon Material converter Where does this neat control come from?

I noticed it on materials from Poliigon Material converter. Never seen it before. (I am new to Blender though.)
The control does not get preserved when I clone the material. (I could not find anything missing or anything extra in the Shading editor when comparing the original and the cloned material.)

The Add-on is responsible for adding this field there. But it only gets drawn if a special property, managed by the add-on, is present in the material properties. These custom properties don't get copied over when you duplicate a material.
Basically this is just a shortcut to the scale values of a mapping node inside the material. I think it is a bit convoluted for what it does, but you should contact the support if you want to make them aware of this limitation.
Digging into the add-on files I found this:
if mat and mat.pmc_matprops.workflow != '':

        # get the mapping nodes, if found
        main_map = None
        for n in mat.node_tree.nodes:
            if 'main_map' in n: # ie n['main_map'] exists
                main_map = n

        if main_map:
            row = col.row(align=True)
            if hasattr(main_map, "scale"):
                row.prop(main_map,"scale", text="Main scale")
            elif 'Scale' in main_map.inputs:
                row.prop(main_map.inputs['Scale'], "default_value", text="Main scale")

Explanation :
On the first line the method checks if the material has a custom property named pmc_matprops. I believe it is added by the add-on when first instantiating the material. When you duplicate the material, the property doesn't get copied over.


Object duplicates cause lag I have a really strange issue happening in Blender. I have some simple low poly objects where I'm trying to build some RTS style buildings. The walls of my buildings are just some simple planes with a texture on top of them. If I duplicate them, for some reason it slows down my entire blender really hard, that you can't even use it anymore. Camera rotation or zooming in lags really hard. I thought at first that maybe it's a poly issue so I deleted my plane copies and then just created a bunch of monkey heads to see if I'd get the same thing and nothing. I then copied the material from one of my other objects to the monkey heads and applied the same texture atlas and still no issues. So 4-5 copies of a simple plane that has a texture on it makes my Blender lag, but 4-5 copies of monkey heads using the same texture does not. I'm using the Blender Renderer with Texture View.

Any thoughts on what could be going on?
Thanks!

P.S. - I also thought that maybe it's due to having too many groups. All the duplicates would create a new group. Still didn't help.

I ended up figuring it out. It was the size of the texture. I was using a large texture atlas and that was its limit. I did a test where I shrunk the atlas to 1/4th and I no longer have that issue. I can use a smaller texture atlas for modeling and then use the original texture when I import it into the game.


2.79 Multiple displace mods with different uv-maps and textures I have a model of a glass. I want to create three different displacements:

one along the rim
one in the middle
one at the bottom.

I nearly succeeded there - I assigned a new material to, say, the bottom part, unwrapped that portion in the uv-editor, chose the corresponding uv-map, opened the correct uv-image.
After this, still having my relevant faces selected, I created a displace mod (called "GlasBoden"), chose the appropiate texture ("boden_glasrand"), chose "uv-map" and the respective map: "GlasBoden".

It worked!

I then repeated this for the middle part and the rim. But it seems I did do something different, because in the middle part there's not just ONE displacement, but two of them. If I disable my (correct) displacement "GlasMitte", I can also see the rim displacement applied to the faces I  had unwrapped in the "GlasMitte"-uv-map.

I've since then unset the rim and middle part in the uv-editor (twice, actually), re-assigned the textures, re-selected the uv-maps... still no success.

I feel I'm missing something in the creation of the uv-map. Maybe someone could explain what I did wrong? (I'd upload my file, but I'm not sure how to do this...)

Thanks.

After looking around I found my answer, but for anybody having the same problem:
it seems the maps "inherit" islands and textures from the previous map. I got it to work with choosing my maps, resetting (Unwrap - reset) the islands and starting over.
I guess the best way would be to create all the maps you need prior to unwrapping any faces to make sure you don't have any unwanted "leftovers".


Cycles renders alpha channel in black and grey instead of black and white I have a lighting setup with an HDRI map and a few supporting lights. When I render my image, my alpha channel is grey and black and I can also see that my cryptomatte channels are semi transparent. I know it is something I ticked on in my render settings...can anyone help out please?

Edit: Found the solution. At some point I set my exposure to -6 which darkened everything in my scene. Located under Render Properties - Color Management - Exposure


How do I create multiple UV maps for use in UE4? I'm new to Blender and UE4, but my goal is to create a mesh in Unreal Engine that I can assign two different materials to. For example, I would unwrap three faces of a cube, assign that to the default UV map in Blender. Then create another UV map in Blender on that object and unwrap the other three faces and assign them to the second UV map I created.

Once this is done I would import the .fbx into UE4 and then be able to drag & drop two unique materials on to the cube mesh object, and each material in UE4 would only be assigned to 3 of the cube faces.

The problem I am facing is how do I "assign" the three unwrapped faces to a particular UV channel?

Is this the right way to do this?

OK so my original assumption was incorrect. I was trying to set the mesh up so I could apply two (or more) different materials to the static mesh in UE4. I thought that I would need to create two UV maps and then somehow use those in UE4, but the answer is much simpler:

Go to Edit mode for your object in Blender
Unwrap the mesh
Add additional material slots using the '+' button
Highlight the faces on your mesh that you want assigned to this material channel and then click Assign

Do this for all faces in the mesh, assigning each face to a material slot.

Export the fbx file and import into UE4.
In UE4 you will see additional material slots allocated to your static mesh. You can then drag and drop materials from your UE4 library onto the mesh.

Additional tips:

I left the texture channels blank in Blender for each material slot as I was going to use materials (that already have textures assigned to them) that already resided in UE4. If you were to assign a texture to the material slot in Blender then that texture would be exported to UE4 inside the fbx file and appear alongside your mesh object in the Content Browser.
If a face appears missing on your mesh, it is likely that the face normal has been flipped during editing. Go back into edit mode in Blender, highlight the problem face, CTRL + F to bring up the Face menu, and Flip Normal. Re-export the fbx, right click the asset in UE4 and Re-import.

You can also display all face normals in edit mode by clicking Display Face Normals in the Mesh Display pane:

Hope this helps someone in the future.


Is it possible to parent an object and have the child retain its rigid body physics? I made a ragdoll that I would like to use in the Blender game engine. Right now it consists of six separate objects: a head, torso and four limbs. Each object has rigid body physics and the head and limbs have a rigid body hinge constraint, and child of constraint, connecting them to the torso. When I move the torso in object mode everything follows as it should, but when I run the game engine the head and limbs return to their original position. If I parent them directly they loose their physics. Is there any way to control my ragdoll with a single object so that I can translate/rotate it in object mode and yet have it behave correctly in the game engine?

p.s. I am using an armature to control the skin of the ragdoll where each armature bone is constrained to the appropriate ragdoll object.

use the normal parenting in object mode "Ctrl+P" ,which will be neglected in the BGE  , and to add parent in the BGE use the Parent actuator with an Always sensor :


What s wrong with the polygons of my model why are all those polygons transparent in my model?

What has happened is the normals on you faces have flipped.  This will sometimes happen when you scale a mesh negatively or you extrude a face in a negative direction local to the face.  One way to see these faces is by disabling backface culling.  But I would not recommend this, because all it does is makes both sides of the faces visible in the viewport.  When you render you will still get dark looking faces.  For a permanent fix, go into Edit Mode, press A to select all faces.  Then select recalculate normals under Shading/UVs in the tool bar, or just press CTRL+N


How can I connect several links in the input node? I need a slot to connect multiple links.
In the API is an attribute of links to the type of collections:

links = self.inputs ['ListAttrs']. links

for link in links:
...

How can I connect several links in the input node?

Links are created using node_tree.links.new:

  new(input, output, verify_limits=True)

  Add a node link to this node tree

  Parameters:

  input (NodeSocket, (never None)) – The input socket
  output (NodeSocket, (never None)) – The output socket
  verify_limits (boolean, (optional)) – Verify Limits, Remove existing links if connection limit is exceeded

  Returns: New node link

  Return type: NodeLink


How to repeat texture across surface (must work in SceneKit/iOS/OS X) Let's say I have a texture with 1x1 size, and then a surface with a relative 10x10 size (think floor). How do I make the texture repeat over the surface so that the texture is not stretched over the whole surface, but tiles itself perfectly in the original size 100 times? Using 2.71.

I should add that I will need to use this in SceneKit (iOS/OS X), and thus will export to COLLADA. It must work in SceneKit; not only inside Blender.

You could subdivide (W / Subdivide) in Edit Mode your face to 10x10 tiles and unwrap U. The texture is automatically repeated along the uv coordinates.

As pointed out by @someonewithpc this works also with a single plane:

Related:
Unwanted patterns in texture from repeated, seamless image


How to deform a sphere to a half-sphere I want to animate two spheres colliding that end up as one ying yang symbol.

The perfect solution in my eyes would be a way to reverse engineer it: deform a sphere (fig. A) with modifiers to a half piece of the symbol (fig. B).
How to deform/morph a sphere to a half-sphere smootly and suitable for animation?
I tried at first with the Boolean tool, but this is just way too glitchy. I tried Cloth and Softbody simulation too, but this costs too much time. I got the feeling a range of modifiers such as simple deform and displacement could work perfectly. Any clever ideas?
Update 30 min later: I tried procedural modelling with modifiers to it, but it's clearly not so round as I want it to be. Plus there is a weird glitch. See blend file below.

Here is a try:

I've twisted a sphere, kept an edge loop only:

Then used a Screw modifier to make it rotate from 360° to 180°, then gave it Solidify, Bevel and Subdivision Surface modifier:


Network Render quality settings Hopefully this is a simple question..
Ive just set up a small render farm with the "network render" plugin but I cant seem to change the render quality ... all the render options (samples, dimensions etc) are no longer visible .. Im a bit of a newbie to Blender so Im hoping I missing something simple..  thanks heaps in advance !!

ok.. (posting this in case it helps someone else)
I think I figured it out..  change renderer back to cycles..
adjust render settings.. (and save) .. then choose network render again ..
Cant say for sure as my file is still rendering but going by the time each frame is taking its looking promising..


Locking size of a faces in edit mode. Equal faces sizes for mockup I would like to make a tri-folded flyer mockup in blender.
When I split a plane for 3 parts and select edge between faces, during editing two faces are changing sizes. Is there any way to drag edges and keep faces in equal sizes?
Is there any lock button, or should I do that with bones? I want to prepare projects in affinity designer and put exual size radio into blender. When I trying edit it in simple edit mode, it causes faces to not having proper project dimensions.

Bones should be kept for animating characters and in your case parenting edges to an empty and rotation is enough.


Can't seen primitive options when adding a new mesh When I add a new mesh, I don't see any primitive options. Ie. being able to adjust the number of vertices etc.

If I create a brand new file then the option to adjust the core mesh primitives is visible in Properties panel. So it appears to be linked to the file I'm working on.

Driving me nuts.

I'd somehow hidden the 'Operator' panel.

For reference for anyone else:

Open the Tool Shelf 'View>Tool Shelf' then click the tiny plus icon just above the 'View Select Add' menu. It should be at the very bottom of the Tool Shelf Panel.


Can't undo disable render I keyframed the render visibility for an animation. The object was supposed to not show for first half of animation and then be rendered for the second half. However, the object never appeared again. And now I can't even toggle the render visibility (it stays disbled). I have tried to remove all keyframes connected to render visibility and restarted Blender, but I can't toggle the render visibility anyway.

I am using 2.8 and have additional keyframes on the same object for scaling.

apparently after toggeling the other visibility options a few times it worked


how can I share variables between glsl and python in the bge? I am currently writing a glsl shader in the bge,

My question is, if I have glsl embedded into my python script, how can I if possible share memory/variables between my glsl and my python so the below is both valid and functioning.

I would like it so that i in f is the same as the i in the for loop.

print("creating shads")
FragmentShaders = []

for i in range(257):
    f = """
        varying vec4 maps[256];
        void main()
       {
          gl_FragColor = maps[i];//this is not valid because i doesn't exist here.
       }
    """

    FragmentShaders.append(f)

print("end of shads")

the rest of the code works perfectly, but I see no reason to put it here.

to my surprise the bge keeps glsl functions as strings until they're in use, but for some reason you can't use replace on them. Therefore if you want to share memory between a glsl shader and the bge you can do something like this below. worked great for me anyway.

for i in range(257):
    f = """
        varying vec4 maps[256];
        void main()
       {
          gl_FragColor = maps[100];//this is not valid because i doesn't exist here.
       }
    """
    f=list(f)
    a=str(i)

    f[100:103]=a

    f="".join(f)
    print('verify:',f[100],f[101],f[102])

    FragmentShaders.append(f)


image texture on plane leaves average color of image in 3d-view When I place an image on to a plane ( lets say it's a striped black and white pattern ) all I see in the rendered viewport is a GREY! color.  As if the colors of the image are mixed.
When I place an image texture of a blue sky and green field I see a blue-ish / green-ish color in mij Cycles rendered viewport.

I don't understand how to add a screenshot of my Blender scene to this message, but I have one if you need more information.  Just mail me:  eluttger@gmail.com

Thanks for the help, Emil

When using an Image Texture you need to UV unwrap your mesh.

To do this, go into edit mode, select all vertices, and press U > Unwrap.

What is happening, is Blender has no coordinates to map the texture to, so it takes the average image color and uses that as the texture. When you UV unwrap the mesh, you are telling Blender what vertices go where in relation to the texture, and Blender can then project the texture onto the mesh.

If you now go to the UV/Image Editor you can see and edit how your mesh has been unwrapped:


My Environment texture is displaying as a fully spherical texture My environment texture is displaying as a fully spherical texture in cycles render. Here is the original image and the image after applying to the environment texture.

How do I fix this?

Make sure the aspect ratio of your environment texture is 2:1.  It seems to me that this is the reason for the massive distortion of your background.


Changing Local Axes? It's likely I'm missing on some fundamental understanding here.

I'd like to change the planets' local axes to match the global.  So in Object mode, I rotate Z90.  So far so good.

I thought the next step would be to Apply the Rotation change.  However, Apply changes the rotation back to default.

Can someone explain what I'm missing here?

Got it!

The problem was I had all the planets Parented to an empty at the sun's position.

Once I unparented the planets, I was able to Apply the change and have it stick.


What compute device does the material preview use to render? Recently I have been working on a material library, and when I am working on a complex shader, the preview is updating several times a second. I find that after a while of intense editing and tweaking, my CPU starts to overheat. I am curious if CPU still is used for the material preview even though I have enabled GPU render, or if it is from recalculating the scene data that many times. If it is the latter, are there any solutions?

By using GPU-Z to see gpu load its easy to see that material preview does not use gpu (0% usage). Usage of CPU on the other hand rises when preview updates.

The problem is also how the material preview is coded.

it refreshes with re-scale instead of just computing more samples or only downsizing the preview.
it refreshes not smartly but on every "change". When some value is clicked but not changed, when new node is added but not connected. When you draw line from output and then cancel etc. this could go on and on.

Lot of things blender already has could use more attention from devs..


How to create an anime eye So i'm learning how to sculpt using this 3d model as a reference:
https://www.artstation.com/artwork/3YZ9Y

I have the basic shape of the head, now i want to create the eyes for this character.
I think the shape is a cylinder , but i don't know how to create the eye itself.

So i tried using the knife project tool on a cylinder, but i don't get the same results.

For me the shape is a cylinder because it doesn't look like a sphere.

So how i can create the eye?

Use a sphere and a lattice modifier.

Add a sphere for the eye.
Add a lattice object.
Select the eye and then ⇧ Shift select the lattice.
Parent the eye to the lattice ⎈ CtrlP and choose Lattice Deform.
In Edit mode for the lattice, move its points on the axis you want the eye to shrink.

Now as you rotate the eye, it will stay deformed within the lattice.


change cryptomatte setitings with python I am trying to turn passes on and off via python. But I can't find out how to change the cryptomatte settings:

this is what the info panel shows when I click on Cryptomatte - Object:

bpy.context.scene.use_pass_crypto_object = True

it returns this:

AttributeError: 'Scene' object has no attribute 'use_pass_crypto_object'

so I tried each of these lines, but none of them work:

bpy.context.scene.view_layers["View Layer"].use_pass_crypto_object = False

bpy.context.scene.render.use_pass_crypto_object = False

bpy.context.scene.use_pass_crypto_object = False

This one doesnt throw an error, but also does nothing, and it is not a UI refresh issue:

bpy.context.scene.cycles.pass_crypto_accurate = False

Does somebody know how to access it?
Thanks!

View the UI source

In User Preferences > Interface > Display turn on developer extras. Sounds like you already have.  When the path in button hover is dodgy, if available click view source on a field of interest.

In this case it opens addons/cycles/ui.py in text editor at or around the CryptoMatte draw panel where this leaps out

cycles_view_layer = context.view_layer.cycles

Off to the python console:

>>> cycles_view_layer
bpy.data.scenes['Scene']...CyclesRenderLayerSettings

>>> cycles_view_layer.use_pass_crypto_
                                      asset
                                      material
                                      object
>>> cycles_view_layer.use_pass_crypto_object
True

>>> cycles_view_layer.pass_crypto_
                                  accurate
                                  depth
>>> cycles_view_layer.pass_crypto_depth
6

>>> cycles_view_layer.pass_crypto_depth = 10
>>>

can put in accurate mode with

cycles_view_layer.pass_crypto_accurate = True

Some more fiddling, the property is displayed as belonging to scene

>>> cycles_view_layer.id_data
bpy.data.scenes['Scene']

>>> C.scene.view_layers['RenderLayer'].cycles
bpy.data.scenes['Scene']...CyclesRenderLayerSettings

>>> cycles_view_layer
bpy.data.scenes['Scene']...CyclesRenderLayerSettings

>>> C.scene.view_layers['RenderLayer'].cycles is cycles_view_layer
False

>>> C.scene.view_layers['RenderLayer'].cycles == cycles_view_layer
True


Shape key values saved as 0 I created a simple animation with shape keys. However exporting this animation not working properly. After I export it in gltf2 or fbx format, the shape keys are reset to 0 in exported file. What causes that? Probably this is a bug, but I wonder if there is a working workaround.

This is the animation I created:

This is the shape key value after exporting then importing:

Update: Using emackey's advice I switch my shapekeys to "relative". But also I had to change each shapekey's "relative to"'s to one previous shape key. Even though shapekeys and keyframes exported correctly, this time their relative to's exported wrong. All of the shapekey's "relative to"s set as basis.

There's an example of shape keys round-tripping (glTF to Blender to glTF) in the glTF-Blender-IO test suite, which is a collection of .blend files and .gltf files that are used by an automated process to put new versions of the Blender glTF importer/exporter through most of its paces.

The tests/roundtrip/01_cs_morph folder contains a glTF file that is imported and then re-exported, and is expected to preserve the glTF "morph" animation via Blender's shape key animations.

There is also a tests/scenes/01_cs_morph.blend file that is tested via the exporter.  This is a Blender 2.79 project, but the test suite loads it into 2.82 beta (currently) and expects it to export correctly.  You can download the blend file to see how these shape keys look in any recent version of Blender.

It's not clear from the OP screenshots what the problem is there, but start by taking a look at the examples from the test suite to see how it's supposed to work.  If you still have a case where it's broken, please file an issue and include a sample project for testing.


How to get a label in the ui panel, with the bpy.data.materials count? Is there a simple way to get a label on the panel containing the number of materials in the project? Especially updating yourself

Edit:

In accordance with the suggestions, I add a fundamental detail:
I'm trying to visualize in the panel a label that indicates the number of bpy.data.materials
I don't know what the correct practice is, so I didn't sketch a script, as I don't have the idea of what the right path is.
Basically the way that comes to mind is a script like this:

mat_list=[]
for m in bpy.data.materials:
    if m.users!=0:
        mat_list.append(m)
mat_count= len(mat_list)

I don't know how to place this, if I use a function and how to update it without weighing down the script, I don't know if we should use a pointerproperty. I have serious doubts about it

Edit: 2 (My solution)
In relation to the inspiration given to me by brockmann, I have reached this compromise that seems simple and works, I only hope that it does not take away too many resources from the CPU.

layout.label(text= "Material in use: {}".format(len([m for m in bpy.data.materials if m.users!=0])))

This:

##`if m.users!=0`

because I am interested only in materials that are actually in use on objects, bpy.data.materials also collects materials not in use so it would give me a wrong count. For now I think I have solved, I hope I have found a correct way.

len(bpy.data.materials) returns the number (int) of all materials in the file. To draw this number onto a custom panel, means that you have to pass it to the text argument of the label() call (string).

In fact, you can either use str.format() or the old C-style formatting syntax for integers "%i" % number to pass the variable. A nice collection of examples here: https://pyformat.info/

# Number of all Materials in the .blend
layout.label(text="Materials: {}".format(len(bpy.data.materials))

Following example displays the number materials per file (Data.materials) as well as all materials in the current scene (custom object iteration). Layout code is ripped from How to create a custom UI?

import bpy

from bpy.props import (BoolProperty,
                       IntProperty,
                       PointerProperty
                       )

from bpy.types import (Panel,
                       PropertyGroup
                       )

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

class MyProperties(PropertyGroup):

    my_bool: BoolProperty(
        name="Enable or Disable",
        description="A bool property",
        default = False
        )

    my_int: IntProperty(
        name = "Int Value",
        description="A integer property",
        default = 23,
        min = 10,
        max = 100
        )

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

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

    def scene_materials(self, context):
        mat_list_per_object = []
        for ob in context.scene.objects:
            if ob.type in ("MESH", "CURVE", "SURFACE", "FONT", "GPENCIL"):
                if ob.data.materials:
                    mat_list_per_object.append(ob.data.materials.items())
        # Flatten the list and return a set (unique)
        return set([i[0] for i in sum(mat_list_per_object, [])])

    @classmethod
    def poll(self,context):
        return context.object is not None

    def draw(self, context):
        layout = self.layout
        scene = context.scene
        mytool = scene.my_tool

        # Custom Properties
        #layout.prop(mytool, "my_bool")
        #layout.prop(mytool, "my_int")

        # Number of Materials in File (bpy.data)
        layout.label(text="Number of Materials in this File: {}".format(
                len(bpy.data.materials))
            )

        # Number of materials (unique) per scene in context
        layout.label(text='Unique Materials in "{}": {}'.format(
                context.scene.name,
                len(self.scene_materials(context)))
            )

        # Draw a list of materials per scene
        layout.separator()
        layout.label(text="List of Materials:")

        for i in self.scene_materials(context):
            layout.label(text=i)

        layout.separator()

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

classes = (
    MyProperties,
    OBJECT_PT_CustomPanel
)

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

    bpy.types.Scene.my_tool = PointerProperty(type=MyProperties)

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

if __name__ == "__main__":
    register()


How can I loop through screen areas and point to specific area? To loop through screen areas and find IMAGE_EDITOR I do:
for area in bpy.context.screen.areas:
    if area.type == 'IMAGE_EDITOR':
        # Do stuff

But what if I have three image editors opened and for example I want to point the second one?

Not sure what do you mean the second one but you can select the second one with further conditional list:
[area for area in bpy.context.screen.areas if area.type == 'IMAGE_EDITOR'][1]

And also there are properties x and y for area type, which indicate the bottom-left corner position in your screen. You can write some sorting function to select the desired one.
Area(bpy_struct) — Blender Python API


3D window renders, but Image Render doesn't? This is so frustrating. I'm working with Cycles and I have numerous bottom lit panels in my scene that are sucking up lots of CPU cycles (see pic). In the 3D window (set to 'rendered') they are showing up great. My idea was to bake them (combined), but all I ever got was a black plane.  So in desperation I decided I would 'grab' an image of the panel using Render Image (F-12) and save it & then use it directly as a texture node.  Guess what!?? F-12 gives me the same black image I was getting when baking the UV map.

Okay, I figured out what I was doing wrong.  To reduce the clutter in the scene I had turned off visibility of some of the panels (red below). BUT...I did NOT turn off rendering (blue). Inadvertently I had backed the camera behind an invisible plane that had no illumination. When I turned off rendering for the hidden plane things worked fine. So in the preview rendering of the 3d window, what you see is what you get.  But in the full render, what you don't see can get you too!


How to select vertices on different meshes in edit mode I have two meshes. I'm trying to combine them by keying W and selecting Bridge Edge Loops. However, I can't select the vertices on both meshes for some reason. Any thoughts? Heres a pic:

Joining

Tab out of Edit Mode, select one mesh, Shift select the other, and key Ctrl + J to join them. Tab back into Edit Mode.

Shading

If the shading does not look weird (darker) on one or both of the meshes, ignore the following paragraph.

Select one vertex of the weird one(s) and key Ctrl + L to select the rest of it(them). Key T to toggle open/close the Toolshelf, go to the Shading/UVs tab, and click on the Recalculate button. Key A once or twice to deselect the mesh(es).

Bridging

Do read this paragraph.

Key Alt  and RMB while hovering over one of the edge loops. Do this for the other edge loop as well. This should select the whole loop. Key W to open the Specials pop up menu and select Bridge Edge Loops.


How can I make my CPU not work as hard? I'm rendering edited footage using Blender, meaning everything is an emission shader with basic textures, so the samples are only at 1. However, the video is over 5500 frames long, and for some reason, my computer hums really loud and it gets extremely annoying. I wouldn't mind if I only had to render for an hour or so, but since each frame takes an average of 2 seconds to render, and I have over 5500 frames in my animation, my computer will be screaming for over 3 hours. Is there a way I could make my CPU not work as hard? Is that even possible?

NOTE: I don't mind if it takes longer to render

Under Performance, set the number of threads to "Fixed" and just use one or two threads.  That should help keep the temperature lower and your fan slower if that's what's making the noise.  It will take proportionally longer to render though (just leave it on overnight).  Other than placing your computer in another room, that's about it.


Need Help with UV Unwrap I'm trying to UV unwrap this object and the main half is perfect but the second half seems to rotate and skew towards the edges so I'm just wondering if my seams are correct?

I couldn't figure out how to square the UV mesh in blender 2.8 so I copied the object into 2.79 and used the UV squares addon and copied it straight back into 2.8


How to turn a mesh into tiny spheres in blender? How do I turn a mesh into tiny spheres in blender and make the spheres big enough so they intersect and there are no gaps between them? Thanks in advance.

You can use an object and instantiate each vertex of its mesh or face with a child object then just scale the child object to the desired size.

If you want a more uniform coverage, use the remesh modifier or the quadriflow remesh function on the parent mesh:


Why will Blender sometimes not select the object under the cursor How does Blender determine which object it selects when you right click in object mode?

I'm confused, because sometimes Blender won't select the object I'm clearly clicking on.

I made a video of one such situation for an example:

http://youtu.be/zmnRDUoOO5Y

In the video, I'm clearly clicking on top of the armature object, but Blender keeps selecting a different object that is not even under the mouse cursor.

Because there is margin distance (in screen pixels) such that blender will select an object even if you click slightly next to it.

So that mesh gets selected instead of armature because it is on top of the armature and the pointer is within the margin area. When you zoom in the pointer is no longer in margin area and the armature is now the top most object.

Honestly blender could do picking much more smartly and also check if something is directly beneath pointer even if closer_to_camera mesh qualifies for selection.


Trouble connecting bones and finding the right orientation for a spine So, I'm trying to rig this little guy:

From my understanding the bones need to point outwards, with the thin end of the bone on the outside of the limb.

So it would make sense to me that there's a "knot" somewhere in the body, that everything kind of branches out from, on one end the head and arms, and on the other end the legs.

But how can I make the two ends of this "knot" connect, the top part of the body and the lower part of the body?

I looked at this question, which helped a bit, and also at this but couldn't find an answer.

When I try to parent then connect the two vertical bones of the spine, one of them disappears, and this happens which deconnects some bones:

I don't want that to happen, I want to be able to parent all the bones together.

If I try to re-connect the shoulder bones to this big spine bone, this happens:

Here's the .blend file:

See this tutorial on rigging: https://cgi.tutsplus.com/tutorials/building-a-basic-low-poly-character-rig-in-blender--cg-16955

There you can learn some of the fundamentals of a biped character rig. Unlike a human body, all the bones of a rigged character may not connect directly. There you will see how to use Make Parent > Keep Offset to connect your bones in a proper armature.

EDIT: I've constructed a basic rig for your little guy based off the article I linked to. I recommend that you rig him yourself for education's sake, however I am providing the Blend file for your reference.

The Blend exchange site isn't working for me right now, so here's a PasteAll link: http://pasteall.org/blend/index.php?id=46291


How to "letterbox" a video to a wider aspect ratio? I have a source video file that was shot for TV (4:3 ratio), and I would like to resize it for 16:9 ratio displays. How can I add the appropriate amount of black letterboxing on the sides so that the source video is not stretched/distorted?

In the screen shot here you can see I have cropped the video clip slightly to get rid of a few extra black pixels on the sides and top of the video. This is just to get a more symmetrical, clean cropping. Next I need to add the correct amount of black space on the sides to prevent stretching but I'm unsure of how best to do this.

Thanks in advance for any help!

Set the render dimensions to what you want the output video to be, for example 1920x1080.

In the VSE, add an Effect Strip of type Color as channel 1, and adjust its length to match the video (you can go back and adjust this after adding the video, in the next step)

Add the video to channel 2, and set Blend to Alpha Over. Enable Image Offset and adjust the offset until the video is properly placed. The cropping that you're also doing, works well together with the offsetting, just remember to use the cropped size, not the original size, when you work out the offset.


How to get rid of artifacts in corners - Bevel Object I am trying to model a swimming pool. I create a rectangular loop (first curve) and a wall profile (second curve). I used the second curve as Bevel Object on the first curve, but it creates strange artifacts in the corners.

Could anyone tell me how I can fix it?

Moving your Bezier Curve's origin (that you use as your Bevel Object) to the "outside" of your Curve will solve your problem:

Your Origin is now "in the middle of" your Bezier Curve so that your Bevel Object can't be moved along your rectangular path without these artifacts.


Creating mesh on a surface with two variables I have an equation like this:  $\cos(z)+\sin(x)+\sin(y)=1$ and I want to do something like:

Graph in blender a function of two variables,

I followed the proposed method in the same post. It was great and worked fine for many cases.

1) I cannot use arccosine(1-sin(x)-sin(y)). arccos and acos don't work either.
What is the solution?
Thanks in advance for your comments.

2) is there any possible way to determine a range for $z$ as well?

The Python function 'acos' has a parameter's domain between -1 and 1. If the parameter is out of this, you get a 'domain error'.

So for instance, you can set the following formula:

acos( (1-sin(x)-sin(y)) % (1 if (1-sin(x)-sin(y)) >0 else -1 ) )

or more simple (using 'fmod' which is C style modulo as Python's native modulo sign rely on the divisor sign)

acos( fmod( (1-sin(x)-sin(y)), 1 ) )

which is limiting the parameter's values.

Or alternatively to have a linear transition, limiting the parameter value like this:

acos( ((1-sin(x)-sin(y)) + 1) / 4 )

The result is the following:

or:

For your information, the math functions available in the addon:

safe_list = ['math', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh',
    'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot',
    'ldexp', 'log', 'log10', 'modf', 'pi', 'pow', 'radians',
    'sin', 'sinh', 'sqrt', 'tan', 'tanh']

And these links to stack overflow:

About acos.
About modulo.


How can I use a Python script to get the transformation of an object? How can I use a Python script to obtain the exact coordinates of an object?

I have not been able to find out how to do this in the documentation.

Background: The object location (in fact transformation - so location/scale/rotation) is defined by initial values which are used to calculate the final transformation.

initial transform (as set by the user and possibly set by animation FCurves and Drivers).as a tool author, to manipulate data this is what you'll want to access typically
final transform (with parenting, constraints, and rigid body physics applied).when writing exporters or reading, typically this is what you will want to access since its whats displayed in the view (but you can't directly manipulate it)

To get the input location you can simply do:

loc = bpy.context.object.location... or via its matrixbpy.context.object.matrix_local.to_translation()

To get the output transformation you can only do this by accessing the worldspace matrix.

loc = bpy.context.object.matrix_world.to_translation()

You may want to get the loc/rotation/scale, in that case:

loc, rot, scale = bpy.context.object.matrix_world.decompose()

If you want to test the location for example, you can set the cursor position.

from bpy import context
context.scene.cursor_location = context.object.matrix_world.to_translation()

Or you can create a new empty:

import bpy
from bpy import context
obj = bpy.data.objects.new("Empty", None)
context.scene.objects.link(obj)
obj.matrix_world  = context.object.matrix_world

... note, if the matrix contains shear, you wont see this in the empty, for that try the MathVis addons.


How do I run an existing add-on via the python API? Very beginner question, but after extensive searching through the addon tutorials and similar questions I do not see a clear way to run an existing enabled add on via the Python API.

In this case I am trying to run the Cell Fracture plugin on a new plane:

import bpy
bpy.ops.mesh.primitive_plane_add(size=50)
bpy.ops.object.particle_system_add()
# run cell fracture plugin

I do have the add on:

import addon_utils
for mod in addon_utils.modules():
    if mod.bl_info['name'] == 'Cell Fracture':
        print(mod.bl_info)

# {'name': 'Cell Fracture', 'author': 'ideasman42, phymec, Sergey Sharybin', 'version': (0, 2), 'blender': (2, 80, 0), 'location': 'Viewport Object Menu -> Quick Effects', 'description': 'Fractured Object, Bomb, Projectile, Recorder', 'warning': '', 'wiki_url': 'http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Object/CellFracture', 'category': 'Object'}

But I don't see anything named cell anything in bpy.ops.object or bpy.context.preferences.addons or even sys.modules.

Thanks for any help!

Addons register panels and operators

An addon when enabled registers panels and operators and properties etc it uses. An operator, or set of, is generally the means an addon uses to "run".

The addon tells us where to look for the operator in the UI, in this case object menu > quick effects > Cell Fracture.  With developer extras turned on will see the operator is bpy.ops.object.add_fracture_cell()

To the python console.  What's important here is the module name, using code from question

>>> for mod in addon_utils.modules():
...     if mod.bl_info['name'] == 'Cell Fracture':
...         mod
...
<module 'object_fracture_cell' from '/home/batfinger/blender-git/v2.8/bin/2.83/scripts/addons/object_fracture_cell/__init__.py'>

To enable the addon

>>> addon_utils.enable("object_fracture_cell")
<module 'object_fracture_cell' from '/home/batfinger/blender-git/v2.8/bin/2.83/scripts/addons/object_fracture_cell/__init__.py'>

Note this pretty much calls the modules register() method. and could also be done via

object_fracture_cell.register()

Inspect the module. Could eyeball this, via code or UI as described above.

Similarly to https://blender.stackexchange.com/a/163366/15543 instead of panels will look for operators

>>> for p in dir(object_fracture_cell):
...     x = getattr(object_fracture_cell, p)
...     if inspect.isclass(x) and issubclass(x, bpy.types.Operator):
...         x, getattr(x, "bl_idname", "None")
...
(<class 'object_fracture_cell.FractureCell'>, 'object.add_fracture_cell_objects')
(<class 'bpy_types.Operator'>, "None")

>>>

Telling us that cell fracture has one operator

bpy.ops.object.add_fracture_cell_objects()

Autocomplete gives us the arguments available to the operator

>>> bpy.ops.object.add_fracture_cell_objects(
add_fracture_cell_objects()
    >>> bpy.ops.object.add_fracture_cell_objects(
add_fracture_cell_objects()
bpy.ops.object.add_fracture_cell_objects(
        source={'PARTICLE_OWN'},
        source_limit=100,
        source_noise=0,
        cell_scale=(1, 1, 1),
        recursion=0,
        recursion_source_limit=8,
        recursion_clamp=250,
        recursion_chance=0.25,
        recursion_chance_select='SIZE_MIN',
        use_smooth_faces=False,
        use_sharp_edges=True,
        use_sharp_edges_apply=True,
        use_data_match=True,
        use_island_split=True,
        margin=0.001,
        material_index=0,
        use_interior_vgroup=False,
        mass_mode='VOLUME',
        mass=1,
        use_recenter=True,
        use_remove_original=True,
        collection_name="",
        use_debug_points=False,
        use_debug_redraw=True,
        use_debug_bool=False)
(undocumented operator)

In lieu of usng documentation link, while migratory


How do you match the rotation of an object based on the edges of another object? How do you match the pentagon's edges with the edges circled in blue?

You could use snapping, but I would use vertex snapping, instead of edges: enable snapping, choose vertex, then in edit mode start the rotation (on the correct axis).

While rotating, move your cursor over a vertex of the reference shape, to get the alignment. Sometimes, depending on your exact setup, and the various object transforms, it could work also in object mode.

Here is a simplified example:


Shape keys & multiresolution, good or bad idea? I've happily started learning Blender recently, and soon will want to start animating stuff.

It's been my understanding that the multiresolution modifier is a good way of adding more detail to your meshes.

It's also been my understanding that Shape keys are a good way of animating complex/subtle animations that are hard to do with bones.

When googling around i find some posts (i presume outdated) that suggest these two methods are incompatible with each other (examples: here, here,here and here). However, when experimenting around i find that when applying shape keys to the base mesh, blender seems to interpolate the position of all the higher resolution vertices based on the position of vertices in the base mesh, thus shaping the overall shape without losing the details stored within the multiresolution.

So my question is: Is this still a bad idea? and if so, why?

I am aware that one can bake the normals of the multiresolution model onto the base mesh, but then i would have to figure out how to correctly combine these with my procedurally generated bump map.

As you have discovered, Blender nowadays (from on 2.9 perhaps) supports combining shapekeys and multiresolution modifier. Before, modifying base mesh completely mangled multires data.


How can I make the particle systems look more like fur? I'm not getting a nice result to make this mascot looking like it has fur skin. Does anyone have any tips on what I can improve it? The hair looks too spaced (not covering the whole mesh) and similar to thin plastic hair. Any tips would be helpful, thanks!

The settings I changed:

The reference photo:

Turn on advanced, go into physics, and add just a little bit of Brownian motion will go a long way.

It's worth noting that your Children viewport setting is 1/10 what will be rendered.  Hair systems can be RAM intensive, beware.  Save often.


How to make characters hand/pass each other objects I've been animating a scene and currently have a character holding an object using the child of constraint. Is there anyway I can make the character pass the object to another character (they use the same rig.) I don't see any tutorials online so coming here seemed like a good idea. Thanks!

In the same way that you've already created a Child Of constraint for the first character, you can simply create another Child Of constraint for the second character, and point it to the same object as a target. Only, the second character's Child Of constraint should have its influence slider set to zero, and keyframed at zero for whatever length of time that the first character is to have the object in hand. Likewise, the first character should have the Influence slider for its own Child Of constraint set to be fully active, and also keyframed as such, for that same duration. At the time that the hand-off happens, you simply keyframe the influence of both Child Of constraints to have reverse influence from what they both had one single frame beforehand. This works very well. The two characters do not even have to have anything in common regarding their rigs. They certainly don't need to have rigs that are exact copies of one another. They simply each need their own Child Of constraint, and each of them needs to point to the same object. The only thing that changes is the influence.


How do I turn my PNG Image into a mesh object? I am new to Blender. I have a PNG image of a logo and would like to know how to make this 2D image into a 3D image in Blender so that I can animate it like any ordinary mesh object that I can add into the 3D workspace. In addition, I would also like to know how to add color in Blender so that it will look exactly like it is in the image.

Thank you!

Here is the PNG image of the logo.

If you want in to be well done import the image as a viewport background image and manually trace over it using a bezier curve object.

If you are more comfortable working with applications using an illustration workflow like Inkscape, you can manually trace it using a pen tool and then export/import as an SVG.

Alternatively, you you want a faster method Inkscape also has a builtin image tracer that can trace a raster file and create the corresponding vector automatically but the quality some times leaves a lot to be desired and your mileage may vary.


How to get an armature by name in Python and get access to its bones? I want to retrieve an armature by name and access its bones. However, this doesn't work:

armature = bpy.data.objects["rig"]
bones = armature.bones

It gives the error

  'Object' object has no attribute 'bones'`

The "rig" object is found, and the armature variable holds a bpy_struct after the first line executes.

So how do I access the bone data?

"rig" is an Object datablock, bone data however is part of an Armature datablock.

What you are looking for is bpy.data.objects["rig"].data, which is the armature:

# Active object
ob = bpy.context.object

if ob.type == 'ARMATURE':
    armature = ob.data

    for bone in armature.bones:
        print(bone.name)

An armature has two bone collections:

.bones
.edit_bones

Note that .edit_bones are only accessible if the armature is in Edit Mode.
See EditBones, PoseBones, Bone... Bones

There is a third kind of bone data structure for pose bones, which is referenced by the object and not the armature:

bpy.data.objects["rig"].pose.bones


Is there a modifier to transform proportionally along a circle? (for tri-lateral symmetry) What I'm actually trying to achieve is a hack for modeling with trilateral symmetry.  I'm trying to achieve this with the following modifiers:

Starting with a model like:

1 - Mirror Modifier (mirror in X and Y) to give 4 identical quadrants.  This gives me something like:

2 - Boolean Modifer (use a big cube to remove the 2nd quadrant i.e. upper left).  I only allow the cube to draw as wires so I can see through it.  This give me something like:

3 - Some sort of deform modifier (this is the crux of my question) that will close the shape in some reasonable way to achieve trilateral symmetry and allow me to continue modeling only in the original "quadrant".

Simple deform doesn't seem to be the right thing here.

Mathematically there are a few ways to do this, though scaling everything along the circle seems to be most natural and gives me the result I want.  So I could implement any of those transformations in Python as a one off.  But I'd rather hear someone experienced with Blender say that one of the deform modifiers does the trick for me.

Thanks!

Thanks to @Jerryno, I have an even more general solution than I was hoping for.  In fact, it addresses any degree of symmetry that I need.  Here are the details.

Here is my base geometry with only a subsurf modifier:

Notice it also shows a Bezier circle that I will be using.

1 - Add an Array modifier with a fixed count of 3.  Notice that Merge is checked.

This gives a result like:

2 - Next we want to use a Curve modifier to bend things around the circle.

This gives something like:

3 - Don't fret about the gap.  In order to close the gap, select the Bezier Circle and type "3/pi" in the X Scale and Y Scale.  Since Blender interprets the Python expression it will show .955 in the cells as in:

Which gives the very satisfying result of:

Interestingly, if you change the Array modifier fixed count to anything, N, and change the scale on the circle to N/pi, you can get higher degrees of symmetry (e.g. w/ N = 5):

How cool is that?!  (Man, I love Blender!)

One more thing might make this even more convenient.  Since we have an odd number (3 in my case) of repeats, it isn't truly symmetrical.  When I edit, it looks like...

If you want this edit to be truly symmetrical (i.e. each edit affects 6 analogous areas in the final geometry), then put a Mirror modifier for the X axis first in the modifier stack and only start with half of the original geometry.  And we get...

So to summarize, the full recipe of modifiers for this N-lateral symmetry is:

1 - Mirror Modifier in X

2 - Array Modifier w/ a fixed count of N

3 - Curve modifier with a Bezier Circle

4 - Make sure the Bezier circle has a radius of N/pi


Smooth shading not working for curve elements I used an array aswell as curve modifier in blender 2.8 to create a room out of an object, applied all the modifiers (no more active modifiers now), removed all doubles and activated the smooth shading option, but there are still artifacts present when rendering.
Adding a simple UV Sphere and setting it to smooth shading, there are no artifacts present whatsoever.
Anyone know what is the diffrence?
Thanks.
Edit: Solved it. Simply use "shade smooth" before using the array modifier. Afterwards it will not update.

With curve selected go to Curve Data Properties and increase Resolution Preview.


Blender not registering my SHIFT key I remapped my keyboard (using KeyTweak) and now my "Caps Lock" acts as "Left Shift", "Left Shift" acts as "Left Ctrl" and "Left Ctrl" acts as "Caps Lock". It works on every other program that I tested. In Blender the "Caps Lock" (which acts as "Left Shift") does not work for any shortcut (the hotkey window just ignores my "Caps Lock" key presses), but works for typing text. On the other hand the "Left Shift" (which acts as "Left Ctrl") works.

Is there a way to solve this? I never created a script for blender and I don't know the API, but maybe I can emulate shift key presses via script or something like that?!

P.S I remapped the keys to reduce the wrist strain while programming, playing and modeling.

I found a software called AutoHotkey which send keystrokes to other programs and WORKS WITH BLENDER. Just restored my KeyTweak changes to default and restarted the PC, then I installed AutoHotkey and created the following script:

#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
Capslock::Shift
Shift::Ctrl
Ctrl::Capslock

Saved and ran the script as administrator. Works perfectly.


Lab color sphere as Cycles Material Is there any possibility to create a Cycles Material of a 3D-gradient, to get a Lab color sphere like this?:

So if I place different objects of the same Material they get the color depending on where they are placed? I already got a regular gradient with this effect.

But how can I combine it with two other gradients? (blue to yellow from front to back and white to black from top to bottom)

So as I understand you want your object green to red from left to right, and blue to yellow from front to back. Using the sperate XYZ node you can achieve this:


How can I get a smooth rounded shaped normal map? I'm new to blender 2.8, and practicing how to bake normal maps right now.

In this picture, I was trying to bake high poly cylinder to make a low poly cylinder look smoother.

I just follow this youtube video(https://youtu.be/0r-cGjVKvGw), but when I baked it, these weird kind of edge things appear in the normal map.

Changing ray distance or cylinder size doesn't work, what is wrong and what should I do?

p.s. sorry for bad English XD

Tangent space normal maps give transforms of normal values relative to the face normal, if the face normals are not smooth then it doesn't follow that the normal map will be either.

In this case it looks like your face normals are discontinuous on the cylinder's 'curved' edges, and thus so is the normal map. This will probably render fine.

If you do want a continuous normal map, you could set these faces to be smooth shaded on the lower poly.


Best way to store options for panels lets say i have a panel and i want to collapse a part if a bool is False

import bpy

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

    def draw(self, context):
        layout = self.layout
        # where should i define this bool ?
        layout.prop(place, "bool")
        if bool is True:
            obj = context.object

            row = layout.row()
            row.label(text="Hello world!", icon='WORLD_DATA')

        row = layout.row()
        row.label(text="Active object is: " + obj.name)

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

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

if __name__ == "__main__":
    register()

Blender 2.8 has sub panels.

As of blender 2.8 can if bl_parent_id is set in a panel it will be appended to the parent panel. Use the usual 'DEFAULT_CLOSED' in the bl_options set to start with panel closed.

This avoids needing to set up some boolean property to open close UI altogether.

Here is a sample file I've been testing for ordering panels.  First panel is defined as a child of the object transform panel. Second panel is a child of first. Can unregister and re-register with different parent ids to sort sub-panels, which is what I was testing

The two demo sub panels appended to object transform

import bpy
from bl_ui.properties_object import ObjectButtonsPanel, OBJECT_PT_transform

class LayoutDemoPanel(bpy.types.Panel, ObjectButtonsPanel):
    bl_label = "Layout Demo"
    bl_idname = "SCENE_PT_layout"
    bl_parent_id = 'OBJECT_PT_transform'
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'

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

        scene = context.scene

        # Create a simple row.
        layout.label(text=" Simple Row:")

        row = layout.row()
        row.prop(scene, "frame_start")

class LayoutDemoPanel2(bpy.types.Panel, ObjectButtonsPanel):
    bl_label = "Layout Demo 2"
    bl_idname = "SCENE_PT_layout2"
    bl_parent_id = 'SCENE_PT_layout'
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'

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

        scene = context.scene

        # Create a simple row.
        layout.label(text=" Simple Row:")

        row = layout.row()
        row.prop(scene, "frame_start")

def register():
    bpy.utils.register_class(LayoutDemoPanel)
    bpy.utils.register_class(LayoutDemoPanel2)

def unregister():
    bpy.utils.unregister_class(LayoutDemoPanel2)
    bpy.utils.unregister_class(LayoutDemoPanel1)

if __name__ == "__main__":
    register()

If you have some logical setting that when set needs more UI How to dynamically show/hide panel elements using python?


Change animation fps at certain times (i.e. slow down the animation for a moment) What I want is to fly by an object, and once we are really close to it, slow down time to give a nice look (animation of the objects in the scene is also slowed down) and then move on.

What this basically boils down to is this: we should have less frames per second at the 'slowed down' moment (less frames passing by in the same time means that the animation passes by slower) and then increase the fps afterwards.

Now, how do I do that? Or are there other ways to do it easily?

This won't accomplish exactly what you want, but you could always simply animate as usual, and then stretch out your IPO curves in the editor evenly so that, even though the FPS stays the same, the animation appears to slow down.

(Added bonus: the change can be gradual if you use this method).


search for unknown operator (bpy warning in custom script) I'm calling one of my operators within another operator. The code worked fine until I tried it on a new file.

search for unknown operator 'MYPLUG_OT_update_list'

I'll try to simplify the code here

class login(bpy.types.Operator):
    bl_idname = "myplug.login"
    bl_label = "Login"

    def execute(self,context):
        ....

        bpy.ops.myplugin.update_list()

        return {'FINISHED'}

class updateList(bpy.types.Operator):
    bl_idname = "myplug.update_list"
    bl_label = "UpdateList"

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

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

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

if __name__ == '__main__':
    register()

Any ideas? I'm debating whether I need to preregister the dependent Operator or call it with some other convention.

The message:

search for unknown operator "NAME_TYPE_shortname", "NAME_TYPE_shortname"

could come from the user preferences keyboard shortcuts manager.

Registering an incorrectly spelled operator path will give that message.
Adding the shortcut in your script before the operator is registered will give that error too.

Maybe this is a typo but your

class updateList(bpy.types.Operator):
    bl_idname = "myplug.update_list"

Would mean that the operator is located at bpy.ops.myplug.update_list(), not bpy.ops.myplugin.*

There is no inherent reason that operators can't be called within other operators, but you will have to wait for the called operator to complete before the calling operator can end, it doesn't fork off into its own thread.

for instance

import bpy

class login(bpy.types.Operator):
    bl_idname = "myplug.login"
    bl_label = "Login"

    def execute(self,context):
        ...

        # bpy.ops.myplug.update_list()  # should be.
        bpy.ops.myplugin.update_list()

        return {'FINISHED'}

class updateList(bpy.types.Operator):
    bl_idname = "myplug.update_list"
    bl_label = "UpdateList"

    def execute(self,context):
        print('caramba!')
        return {'FINISHED'}

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

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

if __name__ == '__main__':
    register()
    bpy.ops.myplug.login()

# AttributeError: Calling operator "bpy.ops.myplugin.update_list" error, could not be found

If you are calling a set of operators in sequence, then of course you must  ensure that the operators are registered globally. If i'm not mistaken the bpy.utils.register_module(__name__) will register classes in order of appearance in the file, use that order to your advantage.


Started sculpting before I should've, how can I add a mirror modifier again (without messing things up)? I started sculpting before I finished my base mesh. I am wanting to add to the base mesh using the the mirror modifier for symmetry, but when I delete one side, then add the modifier, there is a gap in the middle in sculpt mode. How can I add to the mesh with the mirror modifier, without losing my progress on sculpting?

You'll need to align the central vertices to the object origin:

Set the 3D cursor to the origin (⇧ ShiftS > Cursor to Selected while in object mode)
Switch to edit mode (↹ Tab) and select the central verts
Set the pivot point to the 3D cursor (.)
Scale them to 0 along the mirror axis. e.g. for mirroring along the X axis, press SX0


How to create many properties at the same time using list/arrays I want to create some integer properties using loops just to save time and lines of code. So basically, the new properties should be something like this:

bpy.types.Scene.prop1
bpy.types.Scene.prop2
bpy.types.Scene.prop3
....
....
bpy.types.Scene.prop10

Here is my approach. First, I created a list of desired variables, "prop1...prop10".

prop_name = ["prop%d"%(i+1) for i in range(10)]

Then I use a for loop to create these properties.

for i, name in enumerate(prop_name):
    bpy.types.Scene.name = bpy.props.IntProperty(name="prop %d"%(i+1))

With this, I expect 10 properties. Now I have 2 issue:

The name that should be shown inside the properties is not changing with respect to their index values.

2nd Issue: I'm not actually able to put them in my Panel. So, I guess, there are no properties created with this method.

(<built-in function Intproperty>, {'name':'prop10','attr':'name'})
(<built-in function Intproperty>, {'name':'prop10','attr':'name'})
(<built-in function Intproperty>, {'name':'prop10','attr':'name'})
(<built-in function Intproperty>, {'name':'prop10','attr':'name'})

How can I change this name with index value, or let me know if there is an another way to create multiple properties.

Use the python built in method setattr

  The function assigns the value to the attribute, provided the object allows it. For example, setattr(x, 'foobar', 123) is equivalent to x.foobar = 123.

import bpy
from bpy.props import IntProperty
from bpy.types import Scene

prop_name = ["prop%d" % (i+1) for i in range(10)]

for i, name in enumerate(prop_name):
    setattr(Scene, name, IntProperty(name="prop %d" % (i+1)))

On your code, you are setting the name property of Scene class ten times to an IntProperty.

for i, name in enumerate(prop_name):
    bpy.types.Scene.name = bpy.props.IntProperty(name="prop %d"%(i+1))

is equivalent to

bpy.types.Scene.name = IntProperty(name="prop 1")
bpy.types.Scene.name = IntProperty(name="prop 2")
...
bpy.types.Scene.name = IntProperty(name="prop 10")

This is a double whammy, as Scene already has a StringProperty name.  (eg bpy.data.scenes["NAME"] has "NAME" for a name)  The ID class is a base class for all blender objects in the subclass list. Another clue this is BAD is the blank scene name in UI after running question code.  Click on scene name and it will most likely crash blender.


skipping an item inside a loop in animation nodes I'm adding items into a list using a loop, but in some cases a condition is met inside this loop that should skip that element into adding it to the list. How can this be done in AN? I've tried the loop break output but that just stops the iteration completely. I checked some python expressions and tried the passstatement but I keep getting syntax errors.

Any help? thanks

The generator node have a hidden Condition input that allows one to skip appending at a certain execution. See example 4 in the documentation.


MHX2 Import addon in Blender preferences I am having an issue with installing the MHX2 MakeHuman addon in Blender 2.76.  Under my user preferences, no MakeHuman option is listed.  I've extracted the MHX2 folder into the Addons directory, moved it there manually, taken the two main folders out and put them in separately, created a MakeHuman folder to place both in, and so far nothing is showing up when I run Blender.  Has anyone had this issue and know how to work around it?

See the installation instructions at https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange

You only need to copy the import_runtime_mhx2 subfolder to the addons folder, not the entire archive.


Putting image on model in cycles I wanted to put an image from a company onto my 3D model. How would I do this with blender cycles? I have the image file and I want to put it on the torso of my character (which is about 4 faces put together) I would really appreciate any help!

Add a new material and go to compositing then add image texture into the diffuse bsdf


Blender Cycles is rendering out as blank white My project is rendering as a blank white. The world color isn't even white and all the cameras on the right are on for rendering. It looks fine in the viewport.
I recently downloaded a poliigon bg and the addon and when I delete that bg and undo the addon this is still happening.
I've tried changing the refractions and some other small settings, and my compositor nodes are blank, could that it?

My mistake! I had hidden layers that were still turned on in render. So eye hidden and camera still on. Both need to be off, rookie mistake!


Can't draw on my texture in texture paint mode Basically i have a model with a texture. I used gimp and lot of patience to give color to the parts that needed it, but now i have to do little details and i can't do them if i can't directly draw on the model. I know this can be done becouse i've seen some videos. I select a brush but it doesn't work, i press the mouse button and the program even lags a bit when i move it on the model, but nothing changes on the texture. I'm in cycles.
Link to the file

You have your destination texture loaded as a brush texture, so you are trying to paint on the image with itself. Turn that off, and switch from Dots to Space in the stroke type, and I am able to get paint to drop onto the new image I used since the file doesn't seem to let me open the one you are using.


edit the sound used in f curve Hey is there a way to edit the sound that are baked to f curve. I have baked the sound av it works like I expect, but there are parts of the time line where I like the value to 0, but the sound is at a different value. I know I can sett the main lower, but that effects all the values. I need to set 4 or 5 part with 2 or 3 frames to 0 in the middle of baked sound.

Despite the name, f-curves can contain either curve data or sampled data. The sampled data that is used when you bake a sound to an fcurve is not editable.

There are methods available in python to convert between curves and sampled data but blender does not provide a way to do this through the user interface. There is an addon that adds this to the graph editor here.

After installing and enabling the addon you can convert the baked sound to curves which you can then edit as you wish.


How to decrease edge loops in skin modifier? Hi so I'm using the skin modifier to extrude some vertices and it works relatively well except that it too much geometry/too many edge loops and there's too many for me to go back and remove manually. Is there a way to fix this?

with decimator modifier:

If you add the Decimate Modifier next to appear under Skin, I see no reason "Planar" won't satisfy you even at a default Angle Limit of 5-degrees. With Wireframe enabled in (Object Properties) Viewport Display, you can see the results immediately in Object Mode and change the Angle Limit as needed.


How to create an enamelled cast iron shader in Blender? I am trying to create a round cocotte as in the image below.

This cocotte is enamelled cast iron. And my question is about how to recreate the enamelled cast iron in blender.

  Traditional enamelling in simple terms is the fusing of tiny glass
  particles with heat to form a solid layer of colour onto a metal
  background.  It can be matt, shiny, opaque or translucent, and comes
  in a wide selection of colours and finishes.

I have now a very first model and I am in the process of recreating this enamelled cast iron in blender. I first want to know if this works before I continue.

I have created a mix shader. Mixing a principled shader with the cast iron (including roughness) and a principled shader for the color. This is the result.

As you can see the red colored surface has the same surface structure/roughnes as the cast iron. But that is not what you can see at the image of the real cocotte. That is because the melted glass is a sort of coating on the cast iron. This coating has sort of a smooth, wavy surface.

How to give this red enamelled glass coating the smooth, wavy surface ? I don't think I can do that with changing the roughness of the cast iron. I now think I shouldn't use the cast iron textures. Because the color will always get the surface of the cast iron and that is not what I want.

I think I should create a material that gives that lumpy, wavy surface as you can see in the image of the original cocotte. How to create such a surface ? A sort of wavy, gloopy surface....

Artistic approach using noise and principled bsdf

I'd use a principled shader along with a specular value of 1 and a roughness value of 0.3 to get the surface appearence of iron. You can break the rules and raise up the clearcoat value to 2 or even higher in order to match the shininess/coating of the reference. For each type of surface bump, you can combine different 3d noises and feed them into the normal socket of a principled shader. I'd also add some color variation to the base color using noise again:


How can I use the bump node and wave texture node to create ridged spirals around a vase? I'm trying to replicate the ridged spirals around this vase model that I saw.

I can't seem to get the spiraled ridges to appear though. I'm using the wave texture node and bump node with texture coordinates and mapping to get the effect that I'm after, but the bump node doesn't seem to be doing anything (the ridges are flat). I tried adding a color ramp node between the texture node and bump node, but it didn't seem to change anything. Is there something that I'm missing?

Thank you so much for your help!

It looks to me like the big thing is that the strength of the bump map is too high; with Strength set to 1, it's trying to treat the bumps as having a maximum height of 1, which is very large compared to the size of your base. Try greatly reducing the bump map's Strength; maybe 0.1 or 0.05.
Also, note that a bump map will always produce "flat" ridges - bump maps use normal-vector trickery to produce the illusion of geometry, but when viewed from this close you'll always be able to see that the bumps aren't real. It may be better to use the "Displacement" option on that far-right node (attach a "Vector Displacement" node, and put your height map into that) combined with the "Displacement and Bump" or "Displacement Only" option in the material, with a subsurf modifier to supply some extra geometry. Displacement will actually move vertices, so it'll make ridges that actually look real.


Blender Fluid Simmulation: How to turn on and off the fluid appearing from inflow? I am working on a tea set animation where the teapot pours tea in a teacup.
Now the issue is the fluid starts emitting from the inflow right from the first frame. I checked for an earlier post regarding the same question in the link below

How to stop fluid inflow?

Now I am using Blender 2.8 and the enabled option isn't there in the 'inflow' type option

plus you cannot animate the 'flow' option as well. I did try animating the velocities but at 0m/s the fluid keeps dripping rather than a complete stop.

In short, how do you close and open a tap?
Any help would be appreciated.

In Blender 2.8 they changed the name. Instead of being called "Enabled" it's just called "Flow".

Keyframe that toggle on and off and it will give you exactly what you want.


How to link animation data with python I can't seem to link animation data programmatically. I have tried:
bpy.data.objects["Object_1"].select_set(True)
bpy.data.objects["Object_2"].select_set(True)
bpy.ops.objects.make_links_data(type='ANIMATION')

When I run this script I get the following:
AttributeError: Calling operator "bpy.ops.objects.make_links_data" error, could not be found

I am not too sure if it is because the second selection should be a shift + mouse click and this isn't reflected in the code (I can't seem to find an option to shift click an object in python) or my script isn't correct.
Would appreciate any help, Thanks in advance!

Make sure you have the right name
The operator is bpy.ops.object.make_links_data()  note it's object not plural.
The error.
>>> bpy.ops.objects.make_links_data()
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
  File "/home/batfinger/blender-git/xxx/bin/2.91/scripts/modules/bpy/ops.py", line 202, in __call__
    ret = op_call(self.idname_py(), None, kw)
AttributeError: Calling operator "bpy.ops.objects.make_links_data" error, could not be found

No error.
>>> bpy.ops.object.make_links_data(type='ANIMATION')
{'FINISHED'}

The active object is the source the other selected objects the targets.
Set active object with python.
To sum up, to make links from "Cube" to cones "Cone", "Cone.001", "Cone.002" would
obj = context.scene.objects.get("Cube")
if obj:
    context.view_layer.objects.active = obj
    for o in ("Cone", "Cone.001", "Cone.002"):
        o.select_set(True)

    bpy.ops.object.make_links_data(type='ANIMATION')


How can a single Curve Interpolation Mode set to Constant? In order to animate a character so that it grabs an object an throws it, I added a Child-Of constrained and keyframed its influence. In the F-curve Editor I can't set the curve which controls the influence to interpolation-mode Constant without changing the other curves (Which should be linear or bezier).

How can the interpolation mode of a curve changed independently?

You can select left-click-select every single Key in the Graph editor and press T to change the interpolation. This will always only affect the interpolation up to the next key of that one curve.

Further controls for this:

A deselects all keys, just like in edit-mode.
L selects all keys of the curve of which one key is currently selected.
Tab locks the selected curve to prevent it from being edited.


Yellow sticky note in the wind I would like to make an animation of some yellow sticky notes (on a table) slightly moving in the wind. I already tried the cloth and soft body physics, but neither provide me the desired affect.

An attached to a table sticky note is elastic in the up/down movement but is rather hard in left/right movements. Also an attached sticker can hardly be folded by the wind or become wrinkles.

Could you please point me to the right direction of animating this?

In particular:

Which physic body to use (soft, cloth, any other)
What kind of wind or other force field to use (strong/light)
Should the sticker be a simple plane a very thin mash with the volume >0

Final:

Scene setup:

Plane (table).

This is just simple Plane with added Collision (default setup). It should be a little bit below sticky note.

Sticky note.

Another Plane, Subdivided with Weight Paint and Cloth physics.

Weight Paint - Red color is 'sticky' part, green is still little stiff and blue for full influence. You can paint it differently if you want.
Cloth physics - main goal here was to make it light and stiff.

Quality - 20, for better overall animation and smoothness,
Mass - 0.1, Wind and Gravity influence,
Structural, Bending, Spring - 400, 500, 50, all for getting rid of small wrinkles,
Air - 4, it will slightly increase air resistance and smooth wind influence,
Pinning - Group, most important thing here, this one will take Weight Paint as stiffness map,
Cloth Collision > Quality - 4, for better collision with table.

Force Field > Turbulence - this one could be Wind or probably something else. Adjust Strength, Noise as you like, but keep Size at 10. You can animate position of it and also Strength and Noise. Additionally you can add more of them with different settings.


Reduce exported .obj file size I am new to Blender,
I have created a 3D object model for my project. My .obj file (exported from) Blender is too large, around 41 MB. How can I reduce its size? I have to use it in three.js
Since its size is too large, it is taking too much time to load.

You will have to reduce the number of polygons (vertices, edges and faces). My guess is that you have a pretty high poly model to generate a 41mb file.

One way to reduce a mesh's polygons is to use a Decimate modifier. Do note that you will have to apply the modifier before is takes effect on the export.


I'm having problems while unwrapping uv's from some meshes I have They will either not update or become a mess if I reset them before. I'm using correct seams, I have tried appending the meshes to a new file, I've even sent the file to another PC wondering it could be a bug with my blender, but none has worked. I think it maybe has to do with my file settings, but only the meshes seem to fail, while not having overlapped topology or any other common problems. It happens with all of the separate meshes oxcept for the pigtail for some strange reason. I've also applied all transforms to all of them.

Those mentioned parts of UV are Pinned.
(vertices marked red)

Press Alt+P to Unpin and Unwrap U again :)


How do I finish cutting out this wheel well? So I've been studying shrinkwrap modifiers, I created a forming block, the shap I want to "shrinkwrap" to, I created the basic car form over it, cut out some doors by removing faces, now I'm trying to create a wheel well. I watched a video where they did something using another shrinkwrap set to project.. i'm really close, my circle is "shrinkwrapped" to the cars surface, but I can't "cut it out"....

I would suggest the Knife Project command.

Basically you choose the cutting object, than the object to cut, enter in edit mode, put the camera perpendicular to the projection plane (if the object is shrinkwrapped you just have to avoid to make all the cutting geometry to be visible from the cam) and run the command.

It will also automatically select the inner faces of the cutting loop.

Another could be to use boolean operations.

From the cutting profile you have to create some faces and extrude them just of the amount needed to penetrate the object to cut. Than apply Boolean modifier set to Difference

Once applied, you should have the faces that belonged to the cutting object extrusion selected, ready to be deleted.


How to simulate a suction cup? I am trying to model a suction cup in Blender 2.75a. I don't know where to get started. More specifically here is what I want to do:

Create a suction cup/pad that can stick to vertical walls.
Control the sticking of that pad on a vertical surface via game engine.

I am doing this to model a hook onto which I want to hang a cube (a simple pendulum in my case) which has some mass. And yes I want to do it via a suction pad only.

Update 1

On EpicM's suggestion, I tried modelling it as a cloth using rubber material. But that didn't work out. Using soft body seems to work fine. But the main concern now is how to vary the air pressure inside the cup so as to control when to stick and when to release.I am new to blender and hence have no experience using scripts. An example will be very helpful.

EDIT: Completely rewrote this answer, as I found a much better solution.

Basically you can connect two rigid bodies then keyframe their connection to decide when to turn it on or off.

Here's how:
After you set up your rigid bodies, select your cube, then your suction cup object, then connect the two using the physics tab. This will constrain the cube to the cup in a rigid body responsive manner (unlike ordinary constraints that make a mess).

Then all you need to do is to select the empty that represents the relationship between the two objects, and animate the "enabled" property on the constraint.

I guess you'll just have to figure out the rest about implementing this in BGE (which enables dynamically controlling animations).

Blendfile.


Texture Painting not working with a blank image I'm trying to texture a model using a blank image as base, with transparency. However, no changes are being shown, which is driving me insane. Using not-blank textures works fine, so what am I missing?

Thanks in advance.

Your issue is the blend mode you're using. When you paint with the add blend mode, it doesn't effect the alpha channel at all. So if you paint on transparency, it's still transparent. When you paint on a part that partly transparent, it only effects the color, and the opacity stays the same.

The solution is to instead use the mix blend mode. Instead of adding to the values of the image like the add blend mode does, this mixes the two values.


How to load a photosphere for panoramic extraction I'd like to import open a jpg photosphere in Blender exactly as someone does in Maya https://www.youtube.com/watch?v=xzO9kXtIs04

Is that possible?

I'm new to Blender and having some problem in working with UI.

Thanks

If you are in Blender Internal, here is the method used in the reference video.

Move your camera to (0, 0, 0).
Create a sphere Shift+A > Sphere
Assign a material to the sphere and a texture to the material. Set the texture to image and load your image. Enable Shadeless on the material and set the texture's Mapping Coordinates to UV.
Load the texture into the image editor. Go into edit mode of the sphere, select all vertices A and unwrap by pressing U > Sphere Projection.
Set the viewports display mode to Textured Alt+Z or Material. Go into camera view Numpad0. Press Shift+F to look around. (Camera fly mode.)


Base of glass is dark How do I get rid of that nasty black thing at the bottom of the glass?

Shouldn't it be lighter than that? It disappears when I move the plane further down, but I need it close to the glass.

Any ideas?

http://imgur.com/a/u3USN -- far away plane.

http://imgur.com/a/dE0hO -- close plane.

This is likely happening because the light is not able to bounce back trough the glass.

If you increase the number of transmission light bounces in your render you should solve the problem, also make sure Caustics are turned on.

They probably dont need to be as high as shown below so experiment a bit.


How to solve the "Camera" is not multi-view error"? I am confused on why the camera suddenly states that it is not a multi-view camera. It was working fine days before until now. I saw another forum that states adding another camera can be a solution. I tried that, not sure if I did it right. I would like a step by step guideline if possible. Thank you.

You need to do one of this:

1) Set Stereo 3D instead of Multi-View, if you want to use one camera

2) Or if you select  Multi-View add as many cameras as you have views here:

and add a suffix to camera names from camera suffix setting. Like in my case, I have 2 views and set up 2 cameras: