Rigid body physic simulation error? I want to create an animation with a ball that hits a lot of boxes.
The movement of ball must happen in a few fractions of a second > 5 frames:

here is my blend file v2.8, same bug in blender 2.79
https://drive.google.com/open?id=1yI7ClLijo1Ktlw_jCPS6PqY5VyZ-Gd0r

First of all, I made sure that: I checked the normals, increasing the scale of the objects, I applied all transforms for scale, position and rotation
set Origin > origin to geometry, I increasing the Steps per second and Solver Iterations in the Rigid Body World settings (I tried with the maxima 1000 and 100), I set collision shape to Mesh and tried 0.4 or 0 as margins and source to final, I increased the size of all objects

Is possible to create an animation like this in blender?

Maybe there is a different approach to it, but one problem is that there is no frame at which the ball is in contact with the other rigid bodies. In frame 22 it is in front of the stack and in frame 23 it is already behind the stack. If you position the ball a bit differently that it has one or two frame inside the stack, it will have an effect.


How To Simulate Water Spray from Nozzle Such As Pressure Washer I am using Blender 2.8 - How can I simulate water spray from a pressure washer nozzle and make the spray react to an object like in this picture? The spray bounces off the sidewalk.

I've tried using particles but can't seem to get the effect of the "smooth" look. Should this be done using smoke or a combination of both smoke and particles?

I need to animate this pressure washer scene and not for it to be just a picture. How can this be done? Eevee or Cycles? Thank you.

Found the best way to do this was with particles. Ended up using about 70,000 particles and added some children with it and bumped up the normal on the velocity of the particles to help with the speed of them. Motion blur was also needed to smooth the spray effect.


Eevee renderer bug or intentional? EDIT: apparently i have been a dingus and not apply a texture.

The image shows blender and just a single frame i rendered from it. I originally tried to use cycles for rendering but for some reason it did not animate at all so I had wasted 30 minutes of waiting. Next I tried eevee rendering engine and then it animated fine, but it seems the plane and cube are transparent. Is this something bizarrely intentional, a bug, or am I just going insane and i got this image from a graphing calculator

Just a guess, but it looks as if the light in your scene may be set with too high a strength, washing out the results. Check to see what the strength setting is on your light by selecting it in Object Mode and looking at the Object Data tab in the Properties Panel. You can also turn on the rendering viewport setting by holding the z key and choosing Rendering from the pie menu popup. Changing this setting will allow you to see what you can expect visually from your adjustments to this light before committing to an actual render. Hope this helps.


Movie texture not rendering? I'm trying to render a movie on a plane. However, in the final render and viewport render, it only appears as the default grey plane. Settings are as follows.

Do I need to set up a material for it?

You've set up a "brush" texture instead of a material texture, as you can read from the first drop down menu of your screenshot.
Select your plane, create a new material for it and assign the movie as material color texture.


mat cap not showing up I can't find the mat cap under the shadings panel, does anyone know why?I can find it just fine on my other projects, but not on this one.

Just change the view port shading to solid.


How to turn off gamma correction with Python in Blender 2.69 I'm trying to render surface normals for my scene, and I've gotten it to work in Blender 2.78. One of the important steps was to eliminate the gamma correction which was whitening the image. I did this in 2.78 by doing

scene.view_settings.view_transform = 'Raw'

Unfortunately I also need this to work in Blender 2.69, but I can't find the appropriate setting as the 'Raw' enum was introduced after 2.69.

I've tried setting it to 'NONE' (which the Blender 2.69 API lists as an option) but this throws an error saying that the only option is 'Default'. I've also tried directly setting

scene.view_settings.gamma = 0.0

But this has no effect.

Update: Thanks for your answer, Troy. Ultimately I'm trying to create a png image with the surface normals that I'll use for another task. This other task needs me to remap the colors of the surface normals (to look like this: https://arxiv.org/pdf/1411.4958v1.pdf).

I'm definitely open to using another path to producing normals, but I need to use only Python scripting. Non-color Data sounds promising. Would I be able to render something using nodes, and then save that render (from an output node, not from the RenderLayer) as Non-color Data? Please let me know if I'm not being clear!

Update 2: Thanks, Sambler. When I set scene.display_settings.display_device = 'XYX' I get TypeError: bpy_struct: item.attr = val: enum "XYZ" not found in ('sRGB').

Trying to change

scene.display_settings.display_device = 'sRGB'
scene.view_settings.view_transform = 'Raw'

yields TypeError: bpy_struct: item.attr = val: enum "Raw" not found in ('Default')

This question seems pertinent. In this question the solution was to reinstall Blender. As I'm working on a shared cluster, to ask the admin to reinstall Blender in order to help me debug is, ideally, a last resort.

Wrong approach.

Simply render or load an image and tag it as Non-color Data in the UV Image editors properties panel. Being a good imager, you are already using the EXR format exclusively, as it is a linearized, high precision encoding format for both colour and data.

The Non-color Data tag keeps the buffer entirely out of the colour transform pipeline.

  I'm definitely open to using another path to producing normals, but I need to use only Python scripting. Non-color Data sounds promising. Would I be able to render something using nodes, and then save that render (from an output node, not from the RenderLayer) as Non-color Data? Please let me know if I'm not being clear!

The colour transform tag on an image buffer is only metadata, and as such, if you save that buffer as an EXR, there is nothing more that you need to do. Simply load the EXR, then use Python to set the buffer's tag to Non-Color Data and you are done. Those values will not be put through any view transform.

It should be noted that when viewing Non-Color Data in the viewport, it might seem that the view is identical to when it is set to linear. The difference is that linear is defined as a colour transform and will get passed through various transforms, where, as stated above, Non-Color Data always will pass through untransformed.


Height Blend Mask and Vertex color based Material Blending Shader Im trying to texture a building and I want to mix diferent textures of bricks, damage and all, I´m combining them using vertex paint as a mask but.... Does anyone knows how can I make a heightblend like shader to mix two different materials based on their heightmap and vertex color (like in Substance Designer Heightblend). I want to paint a vertex color mask that is also tweaked by the height of both materials so the textures don´t blend in a gradient but in a more realistic way. If anyone knows where I could find info about this....  Thank you!:blush:

To add the height map on your blending gradient (I use vertex colour, but you can also take a UV channel or just use a image texture), you just need to run it through a Smoothstep node like so:

The vertex colour is the gradient, I run it through a smooth step node. Edge 0 is the height map, edge 1 controls how harsh/soft the blending is. Use the result as the factor to blend your shaders or textures!

This is loosely based of of the documentation for Unity Shaderforge an old unity plugin: http://acegikmo.com/shaderforge/wiki/index.php?title=Advanced_Texture_Splatting


How do I join the output meshes of the Cell Fracture addon? I have a simple, unsubdivided plane mesh with a particle system that I want to apply Cell Fracture on, following this step-by-step guide: http://blendersushi.blogspot.de/2012/07/vfx-voronoi-cage.html

But I'm stuck at the part where the author writes

  For the purpose of creating Voronoi Cage, I actually just need the "wireframe edges", so I join the Shards back into a single mesh (CTRL+J).

, since there is nothing to join.

Here's a screenshot of my Cell Fracture settings:

And here's what Blender looks like after applying Cell Fracture:

Selecting the original mesh named "Plane" and hitting Ctrl+J yields "No mesh data to join", while selecting any of the new "Plane_cell*" meshes and hitting Ctrl+J does nothing, not even displaying some error message.

I'm certain that I'm missing something crucial, but I can't figure out what.

(Sorry for the uninspired tag choices, no other tags looked appropriate.)

Your fractured objects are on the second layer. The original object is kept unmodified on the first layer.

The following is a good, detailed video tutorial on the subject: https://www.youtube.com/watch?v=GTq9sLQOiVs


Calculating the covariance matrix of an object's points - Rotation of an object I am trying to calculate the axes of largest variances of an object's points. As you might know, the eigenvectors of the covariance matrix of the points should yield the result.

For a cube (which is made out of 8 evenly spread points) I would therefore expect to get the three axes of the cube. However, this is only the case when I did not rotate the cube, but when I do, my method yields axes that are not correct.

Here is some code I use to calculate the axes:

import bpy
import numpy
from numpy import linalg as LA
vertices = bpy.context.active_object.data.vertices
matrix_world = bpy.context.active_object.matrix_world
verticesArray = numpy.zeros((3,len(vertices)))
counter = 0
for v in vertices:
     world_coord = matrix_world * v.co
     verticesArray[0,counter]= world_coord[0]
     verticesArray[1,counter] = world_coord[1]
     verticesArray[2,counter] = world_coord[2]
     counter = counter + 1
convMat = numpy.cov(verticesArray)
eigenvalues, eigenvectors = LA.eig(convMat)       # the eigenvectors determine the axes I want

As you see, I firstly transform all vertices to world coordinates. I guess somewhere there has to be an error that does not account for the rotation or something...
Do you have an idea what I am missing?

I suggest using the addon Math vis to display vectors, in addition to testing your code in the console.

Paste the following in the console to see that the vertices are placed at the right locations. I don't know enough maths, but maybe the problem is in the numpy operations...

import bpy
import numpy

#from mathutils import Vector

from numpy import linalg as LA
vertices = bpy.context.active_object.data.vertices
matrix_world = bpy.context.active_object.matrix_world
verticesArray = numpy.zeros((3,len(vertices)))
counter = 0
for index, v in enumerate(vertices):
    globals()["vertex"+str(index)] = matrix_world * v.co ##vector to global variable
    world_coord = matrix_world * v.co
    verticesArray[0,counter]= world_coord[0]
    verticesArray[1,counter] = world_coord[1]
    verticesArray[2,counter] = world_coord[2]
    counter = counter + 1

convMat = numpy.cov(verticesArray)
eigenvalues, eigenvectors = LA.eig(convMat)
for index, vec in enumerate(eigenvectors):
    print(index, vec)
    globals()["vector"+str(index)] = Vector((vec[0], vec[1], vec[2]))

del world_coord
del matrix_world
print(eigenvectors)


How to make beveled 90 degree corners on a curve better? I know the title is a mouthful, but this is the problem:
I made a curve with 90 degree corners, like so:

I then beveled it, and this was the result:

As you can imagine, this isn't very pretty. I'm looking for something like this:

How can I achieve this look?

First make sure your Bezier Curve type  is set to 2D (if you don't need a 3D curve that is), that will automatically reduce deformation on tight corners.

It is a known limitation of the current system and there is no way around it at time moment. This was planned to be improved as part of 2016 GSOC Bezier Curve Improvements, but never actually made it.

Secondly in edit mode make sure your Spline Type is set to Bezier, it seems to be set to Poly which doesn't allow curved segments.

Thirdly erase the corner vertex and, as Paul Gonet mentioned turn the two contiguous handles to Aligned. If you still need actual 3D curves this technique will also reduce deformation considerably.

Lastly if you need to bevel curves this frequently the Curve Fillet addon from the Blender Market may help and simplify things in the long run. Disclaimer: Its a commercial paid addon, I am not the author nor affiliated with it in any way, though I did purchase it and use it regularly


Blender crashes during normals bake my blender crashes with out any warning message while baking high poly on low poly normals map in cycles.

Any way to make it work?

My hardware:

CPU: Intel(R) Core(TM) i5-8600K CPU @ 4.3 GHz 6 cores
Ram: 8.0 GB
GPU: NVIDIA GeForce GTX 970 Vram- 4.0 GB
OS: Win 10 64 bit.

Nothing wrong with you hardware, maybe just close other programs while baking and maybe lower the poly count of your mesh and then just use a subdivision modifier so it's less laggy. Also the more windows you have open just cause more lag so just keep it to the baking window and close the 3d view and node view windows.


Mesh with cloth simulation and particle instance modifiers (used in a particle system) not responding to wind I want to create a simulation of leaves blowing in the wind using blender v2.72, just like this tutorial (archive).

My problem is, I can't get the wind force field to act on the cloth simmed leaves once they are emitted by a particle emitter. nHere is a breakdown of what I tried to get the wind blowing.

I created a plane (at 0,0,0) as a particle emitter, adjusted the number of particles to 20, set the start and end frames to 1 and adjusted the lifetime to 2000. Under velocity, I set random to 0.2. I then set the physics to off ("No" in the settings) and switched off the rendering of particles.

I created another plane (also at 0,0,0) to act as the leaf mesh, subdivided it a few times in edit mode, applied a particle instance modifier to it, and selected the emitter plane as the object, I also checked "size" in the "create from" field to make the leaves smaller. After this, I applied cloth simulation to this "leaf" plane.

I then created a ground plane, scaled it up to 2, placed it below the emitter plane at (0,0,-0.2) and applied collision physics to it.

At this stage, hitting play results in the "leaves" realistically falling down onto the ground plane with cloth physics working.

The problem is I then can't get a wind force (in the physics tab) to act upon the leaves.
I tried adding an empty and applying a wind force field to it, but no matter where this wind field is directed and no matter how strong I make it, the leaves don't react to it.

The size of the leaves is too small that is what causing the leaves to not respond to the wind force to solve this :

scale up all the objects involved in the simulation
move the emitter further from the ground to give the leafs space to fall
increase the size of the particles in the physics panel :

here is the result :


How do I create a circle-pattern effect on window-glass? I'm currently working to re-create this little scene in my windowsill in Blender with Cycles.

My window-glass is covered with a thin sheet of plastic, which has a circle-pattern on it. This gives the following lighting-effect:

QUESTION: How do I create the circle-pattern effect on the window-glass?

Do I need to model an extra glass layer on top of the existing glass-pane?
Can this be done by adding a transparent texture to the window-glass-material ?
Can this be done through adding a extra Cycles shader to the window-glass-material?

It can be done by applying a texture to the Displacement input of the glass material node. The glass must have some roughness to it.

You can use a texture like this one, made of two circles shifted by half their diameter and ridged in a concentric fashion (in your picture it looks more like an hexagonal packing, so if you're going for an exact copy you shouldn't use my mockup):

Then assign a material to the glass. I suggest using Principled BSDF with nearly 1.00 transmission; it must have some roughness in order to scatter light (the higher the roughness, the stronger the halo). Just plug the image texture into the Displacement socket of the Material output, but make sure to strongly decrease its effect by using a Math > Multiply node and setting the value to a very small number.

Finally, you should get something like this:

P.S. A realistic window wouldn't be just a plane, but rather a solid. Make sure that you don't apply the texture to the opposite face too.


No detail applying to my model when adding complex textures Disclaimer:

I am very new to blender and have gone through multiple tutorial series on 3D Modelling, Animation and Sculpting.

This is the only source of any knowledge I have in blender.

I don't know how to texture inside of blender and how it manages that space at all.

For all texturing that I need to do, I just port my model over to Substance Designer and continue from there.

My issue may very well be a beginner mistake and so please do bear with me on this.

Issue:

I have created a fairly standard low-poly model in blender, and in the attempt to texture it, I ran into a few issues.

Here are the screenshots of my model in the Object and Edit Modes:

Now to test any texturing on this I simply raw exported the model as fbx from blender to Unreal. From there I tried on a Grass Material in the Unreal Starter Contents package as a test.

None of the detail of my texture shows on the surface of my model. Only the Base Color and Reflectivity seems to be mapped onto it.

I do think this has much to do with the amount of vertices on my model and the lack of many subdivisions, but I don't know for sure.

Please advise any steps I could take on from here to hopefully have this sorted.

Thanks in advance for any of your help!

Indeed this was a very beginner mistake.

To anyone who comes across this and has the same issue, all you need to do is unwrap UVs for your mesh and tutorials on this are plenty!


Adaptive Subdivision eating RAM incorrectly? Fails all GPU renders regardless of settings I've been working on an animation project for months now, that started in Blender 2.8. The animation includes one photo-real character that I am using a Displacement Map workflow for pores and small skin detail, rather than normal + roughness maps. Basically a Film Res character.
I have 6 subdivision levels I'm working with in Zbrush, and load the lowest into Blender to work on the animation, and then rely on Adaptive Subdivision to tesselate the model throughout the animation depending on the camera's location. Far away, I do not need all that pore detail as geometry, but in close-ups it definitely makes a difference.
This has caused me an unreasonable amount of trouble shooting time, especially after upgrading to Blender 2.9+. Adaptive Subdiv being active makes my scene impossible to render (it of course took me a long time to determine that as the absolute cause). As you will see in the images below, there is no reason Adaptive Subdiv should be eating up over 100% of my RTX 2070 Super's 8GB VRAM, yet it does.
In the images below, I have a fresh scene, where I've only loaded my character's body, adjusted render settings to be more efficient, and then fiddled with the subdivision modifier / render settings. I am using the wireframe node on a base material to visualize the tessellation.
First is Adaptive Subdiv working in 2.83 (though the Max Subdiv render setting does nothing).
Next are images of successful renders using normal Subdivision in Blender 2.92. Here you can see the tessellation working as expected, and reasonable memory usage as the polygon count increases.
The last three images are failed renders using Adaptive Subdivision in Blender 2.92. Regardless of settings configuration, the renders fail with an Optix error. CUDA renders take unreasonably long to build the BVH and often also fail. The memory usage is dramatically more than the normal Subdiv Modifier, even if tessellation should be the same or less.
If anyone has any information that may help, I would really appreciate it. The project is basically done and I'd like to avoid having to version everything down to 2.8 to complete it. Don't even know if that would work.
Thank you in advance!
Error:
bpy.context.space_data.context = 'RENDER'
Failed to build OptiX acceleration structure
OPTIX_ERROR_INVALID_VALUE in optixAccelBuild(context, NULL, &options, &build_input, 1, temp_mem.device_pointer, sizes.tempSizeInBytes, out_data.device_pointer, sizes.outputSizeInBytes, &out_handle, background ? &compacted_size_prop : NULL, background ? 1 : 0) (device_optix.cpp:1208)

Finally figured out what has been going on.
For some reason Blender is coded to stack the Standard Subdivision settings ONTOP of the Adaptive Subdivision. So if you uncheck Adaptive Subdivision, and have any subdivisions in the Render Subdivision settings, those subdivs are added along with the adaptive ones.
Set original subdivision settings to 0 before checking Adaptive and it seems to work as expected.
This definitely does not feel intended, and is super unclear for the user.
Hope this helps someone else.


Modeled car disappears in 'play mode' of game engine I spent some time modeling a taxi, but when I press P to go into play mode of the Blender Game Engine everything gets messed up. I have included screenshots below:

BLENDER GAME FILE: Blender file

Your normals are facing the wrong direction. The game engine does not render faces which are facing away from the camera since these are behind the object. However, your normals are facing the wrong way which causes the exact opposite to happen - back faces are drawn, front faces are not.

Select the problematic object and switch to edit mode with Tab.
Press A to select everything.
Press W-R to remove any duplicate vertices (as they may break the next step).
Press Ctrl-N to make normals consistent.


Select side faces only When I select the walls and assign them as a vertex group and then select this vertex group it selects the wall but the floor too. How can I make it select only the walls ?


weird rigging problem I made a little guy and rigged his legs with an Armature modifier. I've done the weight painting manually. However, when I attempt to move his leg, it doesn't follow the armature like it should. Any fix?

Your mesh have too many unrelated bone influences.  Your best bet at this point:

Get into weight painting mode
Select all the bones
Hit W >> Assign Automatic from Bones.
Viewport menu >> Weights >> Normalize All.

If you do make any adjustments, make sure the brush is set to 'Add' and make the power 1.0.  The lion's share of weight-painting can be done this way.

Slightly unrelated: the model has way too much geometry for the detail that it has, and you can likely half, even quarter the amount of faces you have without losing any meaningful features.  This will ease up on your filesize, and viewport performance.  You should also give your bones meaningful names (Femur.R, not Bone.004).


A Way to Create Blender Materials in Text or Script? (Included: Script to Retexture SFM Models in Blender!) I have a model from Source Filmmaker that has a bunch of different textures. It's all imported and ready to be textured using Blender nodes, but since there are so many objects (over 40) in this particular model, I figure it would be a waste of time to manually reshade/texture every single material which could take several hours.
Instead, I could just write a simple script that could read the texture VMT files (from SFM) which define what each texture file is for (diffuse, bumpmap, etc.) in batch and create all the Blender shaders nodes automagically once the .blend file is there.
The snag is .blend is a binary file, and I can't read it or edit it in a text editor. Is there any way at all to create Blender nodes programmatically (i.e. not inside the Blender GUI but perhaps importing other things or using addons?)

Gorgious very helpfully pointed me towards the API documents I was struggling to find as well as an example script generating node trees in Blender. In essence my question boiled down to "where are the relevant API docs, I can't find them", and they provided exactly that in the comments of my question.
Nodes: https://docs.blender.org/api/current/bpy.types.Node.html
Node Sockets: https://docs.blender.org/api/current/bpy.types.Node.html
Node Types: https://docs.blender.org/api/current/bpy.types.ShaderNode.html
EDIT: I have completed my script and it works! It's not general-purpose so I am hesitant to share it, but here you are. The VMT files can be present anywhere either at the same level or in some subfolder relative to the .blend file. Additionally, you need to have used VTFEdit to batch convert all the texture files (vtf) to PNG's. If you prefer TGA, just edit my script and replace PNG with TGA. Also, the actual Shader node tree is visually a mess, because I didn't do any actual placement of the nodes and they all overlap, so it's very utilitarian.
Currently, I only went for the basic properties, being $basetexture, $bumpmap, and $translucent (which sets the material blend mode to Alpha Blend).
import bpy
import os

source_dir = os.path.dirname(bpy.data.filepath)

for r, d, f in os.walk(source_dir):
    for file in f:
        if 'vmt' in file:
            mat = open(os.path.join(r, file), 'r')
            material = {}
            material['cancel'] = False

            lines = [l.lstrip().rstrip().replace('"', '') for l in mat.readlines()
                        if 'basetexture' in l or 'bumpmap' in l or 'translucent' in l]

            material['alpha'] = False

            for l in lines:
                if 'translucent' in l        :
                    material['alpha'] = True
                else:
                    img = l.split('/')[-1] + '.png'
                    found = False
                    for ro, do, fo in os.walk(source_dir):
                        for fi in fo:
                            if img.lower() == fi.lower():
                                img = os.path.join(ro, fi)
                                found = True

                    if 'basetexture' in l:
                        material['base'] = img
                    if 'bumpmap' in l:
                        material['bump'] = img

                    if found == False:
                        material['cancel'] = True

            mat.close()

            if material['cancel'] == False:
                # Begin constructing node tree for this material
                material_name = file.split('.vmt')[0]

                new_mat = bpy.data.materials.get(material_name)
                if not new_mat:
                    new_mat = bpy.data.materials.new(material_name)

                if material['alpha'] == True:
                    new_mat.blend_method = 'BLEND'

                new_mat.use_nodes = True
                node_tree = new_mat.node_tree

                nodes = node_tree.nodes
                nodes.clear()

                links = node_tree.links
                links.clear()

                master_node = nodes.new(type='ShaderNodeBsdfPrincipled')

                if 'base' in material:
                    bt_node = nodes.new(type='ShaderNodeTexImage')
                    bt_node.image = bpy.data.images.load(material['base'])
                    links.new(master_node.inputs['Base Color'], bt_node.outputs['Color'])
                    links.new(master_node.inputs['Alpha'], bt_node.outputs['Alpha'])

                if 'bump' in material:
                    bmi_node = nodes.new(type='ShaderNodeTexImage')
                    bmi_node.image = bpy.data.images.load(material['bump'])
                    bm_node = nodes.new(type='ShaderNodeBump')

                    links.new(bm_node.inputs['Height'], bt_node.outputs['Color'])
                    links.new(master_node.inputs['Normal'], bm_node.outputs['Normal'])

                out_node = nodes.new(type='ShaderNodeOutputMaterial')

                links.new(master_node.outputs['BSDF'], out_node.inputs[0])


Why doesn't the timeline speed match reality? My timeline seconds/frames are not showing the same amount of time passing in as reality when I hit play.

After 8 seconds of real time have passed I'm only on second 2, frame 30, of Blender. And changing my frame rate between 60 and 24 doesn't update the number of frames per second on the timeline as I expect it would, coming from an animator like Synfig Studio.

How do I make the seconds/frames of Blender match reality please?

If this is not a simple newb question then my project file is available here if anyone is willing to look:  https://we.tl/t-aq9ZzayleM

When the timeline is set to "No Sync" (to the right of the playback buttons) Blender will try to display every single frame, even if doing so can take more than 1/24th of a second, therefore it will lag behind. This happens if the scene is too complicated (too many vertices, complex modifiers, rendered view being enabled, etc) for the hardware to handle quickly.

Changing to "Frame Dropping" will tell Blender to skip as many frames as it's needed to catch up with the real time. It will be synced, but be aware that it could be skipping a substantial amount of frames.


Volume Scatter is changing colour I want to add fog to a blender scene (in Cycles), so I created a cube and applied a Volume Scatter Shader. I changed the color to white, but the cube is black now.

When I change the color to red, it's becoming blue.

How can I change the settings so Blender is rendering the color that is shown in my Volume Scatter Node?

If the cube is black make sure the Anisotropic value is set to 0 (zero). To make the fog a consistent colour, add an 'Add Shader' and a 'Volume Absorption Shader' with the same colour as the Volume scatter node.


How to edit shape keys with the armature deformation in needed position? Maybe for all these years I've been missing something but, is it correct that in blender you just can't edit a shape key when the mesh is deformed by an armature? It's almost like a pleasure denial that whenever you wanna edit your shape key, your character model just snap back to rest pose, and then you're like: what was it that I'm fixing?

I hope someone can come and call me stupid and I've been missing something for all these years.

Do you use this button in modifiers?

I think, this is that you are searching for.


Blender API documentation - where are the constructors? I am new to Blender scripting and relatively new to Python (I do betterin Java). I am using this doc while I work, among others:

https://www.blender.org/api/blender_python_api_2_60_1/mathutils.html

And my question is, essentially, about the layout/convention of this doc. Where are the constructors explained (or __init__ functions, if you will)?

I mean, I can see the examples of, say, instantiating a Vector or Euler with a tuple of 3 floats. But are these the only arguments the constructor can take? Are there conversion constructors? What is the order of axes the Euler constructor takes as arguments?

It feels very odd to have to deduct this information from code examples. Am I missing something? It may be just me, because I haven't spent a lot of time with Python docs this seems to be modelled after (like I have with Oracle docs).

I see, in that api_doc there is info about class functions but not how you can construct that class.

Go into python console and type the class name, follow with ( and hit CtrlSpace. It will hint what it wants:

It's however not the only way to create (get) that object. Numerous other functions or classes can return Euler:

Quaternion.to_euler()
Matrix.to_euler()

And you can get those also in many ways.

Btw. always use the up-to-date docs version: https://www.blender.org/api/blender_python_api_2_77_0/mathutils.html

This new version has the constructor infos there.


Setting up an isometric view I want to use Blender as a sort of reference for making isometric pixel art. My game tiles are 64 x 32:

I'd like to create an object in blender using this same view. I know I can move the camera manually with the mouse, but is there a way to position it so that it matches the view of the game world above? That is, so that each tile in the grid is twice as "wide" as it is "high"?

I will be using this view for everything I make, so it would be good if there is a way to quickly set it up like this instead of having to do it by eye.

In order to get an exact isometric perspective you shoud actually set as folllows:

Here's a comparison between (60,0,45) and (54.736,0,45) rotation:

Thanks to blender3darchitect.com: How to create a true isometric camera for architecture?


Self collision breaks or "shrinks" the cloth if the mesh has dense polycount I did not upload images to show examples because this question explains itself, and I already know the problem of this, this is caused by a big distance value of self collision to a very lowpoly mesh, but there's another problem.
Even that I put the value of the self collision to 0.001 still it doesn't work if my mesh is too dense, so I tried three tests:

With the geometry added in edit mode to the mesh with 2-3 subdivisions level.

With subdivision surface modifier in above of the cloth modifier (to let the cloth modifier calculate the geometry of the previous modifier)

And was the same result for both, the cloth simulation gets worse, with this "shrinking" issue.

Tried with other original low poly res, and it worked well, but looks awful the cloth.

I realized that this doesn't happen if I maintain the previous resolution (about 1.500 faces for the low poly, and for the subdivided test was 24.500 faces), but the cloth mesh it has awful look, unless I put in it a surf-sub modifier below of the cloth modifier with 2 levels, its looks good enough, but not quite impressive as if could have get with the real high polycount or non destructively with surf-surf above the cloth modifier in my opinion.
I wonder is this a limitation or is there a workaround for simulating dense meshes with self collision at 0.001 (this is maximum minimum value you can add to the option unfortunately, so it could be better if we could make like 0.0001).

Done, Rich Sedman answer what i needed to know in this post Self Collision - Blender Cloth Sim shrinks mesh anyway i still hate that the self collision distance and object distance cant be lower than 0.001...


How to get rid of stretches I have a model made with blender3d seamed and uv layout exported.
This is what it looks like in blender3d edit mode

and this is how it looks like with textured and i didnt stretched these images while im doing this.

final look in unity3d

it looks stretched on the model.
My question is how to get rid of these stretches or best way to make them reduced.Dont mind the white metal texture its not important the problem is the rusty one.

To correct this you need first a long, non stretched image which will cover the right part of your texture.

Here from left to right :

Left : more or less the problem you have
Middle : with a corrected the UV map
Right : the needed texture with a rusty part all along

The principle is to stretch your UV map part along the texture so that the corresponding parts of the mesh are no more stretched in the 3D view :

The idea beyond that, is to have a proportionality between the mesh shape and the UV shape.

Around this idea, you can setup the different square part of your current UV in several manner :

Overlay them all (as I did in the gif)
Or just take each of them and stretch along V the way you whish

But the starting point is the texture : it needs to cover the surface you want and be proportional to the final result.

When you let Blender unwrap by itself, Blender does keep the proportionality. But sometimes, that guides to have too small part so moving the UV manually is needed.


blender 2.90.1 export gltf on ubuntu 20.10 crashes I run from terminal for error message.
Read prefs: /home/u/.config/blender/2.90/config/userpref.blend
/run/user/1000/snap.blender/gvfs/ non-existent directory
found bundled python: /snap/blender/47/2.90/python
Aborted (core dumped)

I also tried from blender 2.83.8 and I get same crash.

I had similar problem.  Removing settings helps me.
rm ~/.config/blender/2.90
At first, you can rename it or move it to other folder and test running Blender.


How to apply a cloud texture to a material in Cycles I am trying to make water in Cycles Render, and I made a cloud texture for it, but the cloud texture wasn't assigned to the water.

When I tried to apply it a texture for its color, it didn't have the cloud texture in the drop down list.

And if it involves assigning a texture in the materials tab, how do I change the color?

The texture menu doesn't work for Cycles Render, only for Blender Internal, instead you can add a Noise texture inside the Node Editor of the water material in Cycles


Make Normals "brighter" I am currently looking for a way to make normals "brighter".

The reason is that I was looking for a method to combine two normal maps and found this question: How to Combine two Normal Maps?
I implemented all of the described techniques and two of them deliver the same result but the second one is a bit brighter. I wanted to make the first one look like this too.

First one:

Second one:

Thanks in advance!

EDIT: Actually it's the other way around. The second method seems to brighten the color.

EDIT: For clarification the first method is the one by redcapricorn / Secrop and the second one by Bithur.
I think it might appear brighter because Bithur divided with an HSV Value of 1.25 but I don't know how to enter anything beyond 1.

The Normalmap is not Normalized. Normalize your Normalmap to get correct results.


Control several different materials via one slider I have to set up an exterior architecture scene… to make it more lively I put a lot of silhouettes into the scene. They are planes mapped to transparency with a mask in cycles. Now I have to change color of all of these "people".

Because this will take lots of clicks to do, I was wondering if there is a way to set up a property in an object that controls a property (RGB in this case) for many objects. I tried a driver but didn't fully grasp it. To do this in post-production is not so ideal because the reflection doesn't work… (if I mask the people out).

Alternatively, is there a way to copy only one property of an object to several others? (Like linking only the RGB between these objects?)

If using node materials you could use a node group:

Simply creating a the group containing just a RGB node.

Add > Input > RGB and Add > Group > Make Group.
or ShiftA, I, R (if it gives you Render Layer Node, then it's G), CtrlG.

Go to parent node tree (leave the new group)
For each material Add > Group > (Group Name) and use that as your color.

Edits to the group will effect all instances.


How to add image texture material to all parts of maze? I am new to blender and I am using the latest version 2.8, and I have been trying to apply an image texture in material for a maze that I am making. I have found a question similar to mine but it seems that our approaches was different. First off, I did not create the maze from scratch, it was an svg downloaded from a mazegenerator(http://www.mazegenerator.net/). I just scaled it ,shade flat, recalculate normals and and added a solidifier modifier(dont whether all this is needed to tell, but just wanna be thorough). In the end it looked like this:
My first problem was when I subdivided it, it only did it on one side shown below:
I dont want that to happen, I wanted it to be on all sides.
The second problem was when I entered the image texture in the material tab and clicked display render preview, it only went darker but no image was shown and it wasnt even in the uv editor(it usually automatically appears):
Am I doing this right or is there a better way? I used this cause I could make a maze as fast as possible or do I have no choice but to make a maze from scratch.
I did find a maze generator on blender called ultimazePro but I cannot get it to work, I already added it on tools but I dont know where to generate it:

Also I cannot seem to export this to unity as well for some reason, the option for FBX.fbx or wavefront.obj is not there. I am sorry if I have made any mistakes, and your help is greatly appreciated.

There are a few issues.
They are easy to repair, but will take some time.

1) Your original maze contains overlayed geometry.
That's a big problem in 3D modelling.
You will need to clean it up. It's technically very easy, but might take some time.

Clean up overlayed geometry and connect all vertices like this.

2) Keep quads whenever possible.
I cannot overstate this - this maze is begging to be made of quads.
Quads will allow you to use loopcuts and other useful features to speed up your workflow.

3) Keep scale to 1.
After transforms, go to Object->Apply-Scale.
This will ensure that UV mapping works properly.

Your current maze mesh has a messed up scale.

4) Use Solidify modifier to adjust the height of your maze.
You just need to Apply the modifier before subdivision or UV mapping.

5) Use Smart UV project for UV unwrapping.
This function is well suited for complex geometric shapes such as your maze.

Here is a page from Blender Manual explaining Smart UV project.

Good luck.
If you have any questions, let me know.

Here is your edited Blendfile.
I separated the bottom part of your maze and connected a few overlayed faces.


Scene always rendering cube I am not that proficient in Blender, and this has me baffled. I have it set to Cycles Render and I am using a single material that is Cycles also.
I have a scene when the view port shading is set to rendered looks like this:

but this is what is rendered:

this is my outliner:

I had to add the outliner to the first image because you need 10 reputation points. really??

Any help would be appreciated.

Look at your outliner, see the 'template' object at the bottom?  You have set that object to be rendered (camera icon) but you have hidden in it in the viewport (eyeball is greyed out).  So it is appearing in your renders -- you want to hide its render visibility (by clicking the camera icon) so it is greyed out. That or just delete the entire object.


Setting a Property's min and max values after creation When using an Int- or FloatProperty, is there any way of changing their min and max values dynamically?

I'm currently loading images on the fly and would like to limit a frame property to run from 0 to len(loaded_images) every time I call the loading operator. However, the property seems to be read-only and re-assigning gives the following error:

bpy.context.scene.project_props.bl_rna.properties['myIntProp'] = bpy.props.IntProperty(...)
TypeError: bpy_prop_collection[key] = value: invalid, expected a StructRNA type or None, not a tuple

I understand the bpy.props constructor uses an intermediary tuple, but I'm not sure how to proceed. Is there any way around this?

You can not alter builtin properties deriving from bpy.types.Property. Just have a look at the api documentation. Every attribute is marked as readonly.
If you are using properties from bpy.props you can use your own setter and getter functions to check for min/max dynamically:
def get_frame(self):
    #default value=42
    return self.get('frame_custom', 42)

def set_frame(self, value):
    #only accept values between min=0 and max=99
    if 0 <= value < 100:
        self['frame_custom'] = value

bpy.types.Scene.frame_custom = bpy.props.IntProperty(name="Frame", get=get_frame, set=set_frame)

You could also wrap the scene attribute frame_current using:
def get_frame(self):
    return self.frame_current

def set_frame(self, value)
    if 0 <= value < 99:
        self.frame_current = value


Blender 2.8 Object and Background plane disappear Using Blender 2.8 with the Eevee render engine.  From the camera perspective with Lock Camera to View, when I zoom out the objects start to disappear.  Here are 3 images of the project, the further I zoom out the more the objects are cut off.
I did not changed the camera perspective only using the middle mouse button to zoom (scroll) out.  What needs to be changed to eliminate this problem?

That is your camera clipping, it will only show object in a certain distance of the camera. You need to make it where it will show objects further away. in your screen shot, in the menu to the right you will see the clipping settings. Set the clipping end at 1500 or so and you should see everything.

Okay try going to object mode and opening the N bar on the right. fin the view tab and click it. That will open the scene clipping. you can try upping the end clipping on it, and see if that helps.

Select the camera object, then to the right where the where all the the icons are select the green camera and you will find the camera clipping. Up the end value there.


Convert objects with the clamp constrain to a single mesh So I created a circle with leafs

And I used a method from an older question here on stackexchange Spawn planes around a circle?

And this is how I have done it

But now I have to rig my mesh and I get weird results with rigify. Is is possible to convert the complete circle of leafs to a real mesh?

Joining mesh objects

Yes, you can use the Join command by selecting all the mesh objects you want to join together, then pressing CTRLJ. They should now all be one object. However, the different leaves will not be able to move separately once the character starts moving unless you convert them into cloth objects or perhaps use soft body physics.


Pose mode mesh distortion I am trying to make an animated human in Blender.
First, I imported a human mesh. Then, with the Rigify Addon, I added a skeleton and adapted it to the mesh. No problems so far, but, when I try to do the Skinning, the mesh becomes very large (see picture 1). Also, when I move bones of the skeleton rig in Pose mode, I can see distortions on the mesh (picture 2).

the armature has to be "in the mesh".

Here the left mesh and the armature are in a fitting position.
On the right, the mesh copy is offset and so the bone angles are creating distortions.


Texture painting on sphere How do you texture paint on a sphere? I want to paint without it repeating... But I get sharp shards of the color I'm painting with all over the object when I'm not even painting there.

I believe your problem in the screen shot you posted is because the direction of your normals don't match. Or it could be that you accidentally made two identical spheres overlapping. Without seeing your .blend I can't verify the nature of the problem. But there is a better way to texture a sphere anyway, and I will now share that with you.

1. Use a round cube instead

To get these menu options enable the Extra Objects mesh add-on in your preferences.

2. Set round cube's divisions as desired

3. UV Unwrap using Follow Active Quads

4. Scale to fit your UV layout and add an image texture

Rotate 180° if feeling unholy ;-)

(I'm just having a little fun, so I hope you guys won't get cross with me)


Strange lines appearing when render Anisotropic BSDF I'm trying to render a steel plate with the Anistoropic BSDF. I would like to have curved reflections as it happens in pans or pots (for cooking). Instead, when I render, I get this strange straight lines appearing on the plate surface, and I cannot get rid of them. As a source light I'm using two planes with emmision. Here are images of the case (with the plate nodes) and of the rendered image. I don't know it this can help, but it was created with FreeCAD. May be it can be related with the problem.

Here is the link to the blender file

Thanks all for you help.

David

Here is the final fixed result:

Shading

You need to click on the Tangent menu in the material settings and select a Tangent node. Make sure Radial is selected it its settings. Play around with the Axes: to figure out which one to use.

Gandalf3's image from here.

Modeling

Your mesh is covered in triangles (not good). From the .blend file that I downloaded, this was my process:

A twice to select everything.
Alt + J converts many tris to quads.
Ctrl + Tab, then 3 to enter Face Select Mode.
Alt +  RMB while hovering over one of the edges around the outside rim to select this face loop:

Ctrl + I to Invert Selection.
X > Faces to open the Delete menu and delete Faces.
Ctrl + Tab, then 1 to enter Vertex Select Mode.
Alt +  RMB while hovering over one of the edges in the topmost edge loop to select this edge loop:

F to create an N-Gon face.
Ctrl + I to Invert Selection.
F to create an N-Gon face.
Tab out of Edit Mode.

Here is the fixed .blend file:

P.S.

This is not included in the .blend file, but if you want less spotty anisotropy, you should use these settings in the Properties panel > Render tab.

They produce this result:


Changing the range of the coordinates on Blender's Viewport I have got Geospatial Data, which has real world coordinates. The minimum and maximums of these coordinates are as follows:

         X     Y        Z
min    10000   10000  340
max    30000   30000  1100

I wish to fit all the view of Blender, in this range. How would that be possible, either by using the Blender GUI or the Blender Python API.

My suggestion is to use the scale option.

In the image below the real world block is 480 x 480 km, scale is used to map it onto 16 x 16 blender units. Once that choice is made, divide your coordinates by

scene.unit_settings.scale_length

when importing, calculated to give you the correct dimensions in the unit of your data.


How can I update a menu via an operator? I've created a menu using an Enum Property.
Now I looking for a way to update the menu every time I call an specific operator: Load_New_List_Operator.

import bpy

from bpy.props import (EnumProperty,
                       PointerProperty,)
from bpy.types import (Panel,
                       PropertyGroup,)

List = ['1','2','3','4']

class menu_list(PropertyGroup):
    menu = EnumProperty(
        name="menu:",
        description="Choice item menu",
        items = (List),
        )

def Import_List():
    New_List = ['A','B','C','D']
    return New_List

class Load_New_List_Operator(bpy.types.Operator):
    bl_idname = "object.load_new_list_operator"
    bl_label = "Load new list items"

    def execute(self, context):
        Replace_List = Import_List()

        #ERROR
        menu_list.menu[2] = Replace_List #ERROR tuple does not suport item assignment
        return {'FINISHED'}

def register():
    bpy.utils.register_class(Load_New_List_Operator)
    bpy.utils.register_module(__name__)
    bpy.types.Scene.menu_tool = PointerProperty(type=menu_list)

def unregister():
    bpy.utils.unregister_class(Load_New_List_Operator)
    bpy.utils.unregister_module(__name__)
    del bpy.types.Scene.menu_tool

if __name__ == "__main__":
    register()
    bpy.ops.object.load_new_list_operator()
    print (menu_list.menu)

Hopefully this is concise and shows how to work with the callback and the custom PropertyGroup. A subtle detail is that each property in the group must have a name (never undefined or None). See PropertyGroup docs

Where the information that populates the menu is taken from, be it a list, or some function call is none of bpy's business.

import random
import bpy

from bpy.props import (EnumProperty, PointerProperty)
from bpy.types import (Operator, Panel, PropertyGroup)

own_name_space = {}
own_name_space['list 0'] = ['m']
own_name_space['list 1'] = ['a', 'b', 'c']
own_name_space['list 2'] = ['d', 'e', 'f']
own_name_space['list 3'] = ['g', 'h', 'i']

def get_menu_items(self, context):
    items = [(t, t, "") for t in own_name_space[self.menu_key]]
    return items

class CustomMenuProps(PropertyGroup):

    menu_key = bpy.props.StringProperty(
        name='custom menu key',
        default='list 0',
        options={'HIDDEN'})

    some_selection = EnumProperty(
        name='custom menu result',
        items=get_menu_items,
        description='choose menu item')

class CallbackChangeList(Operator):

    bl_idname = "scene.callback_change_enum"
    bl_label = "Load new list items"

    def execute(self, context):
        key = random.choice(list(own_name_space.keys()))
        context.scene.menu_tool.menu_key = key
        return {'FINISHED'}

class LayoutDemoPanel(Panel):
    bl_label = "Layout Demo"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

    def draw(self, context):
        layout = self.layout
        col = layout.column()
        col.label(text=" Simple Row:")
        col.prop(context.scene.menu_tool, 'some_selection', text='')
        col.operator('scene.callback_change_enum')

def register():
    bpy.utils.register_module(__name__)
    bpy.types.Scene.menu_tool = PointerProperty(type=CustomMenuProps)

def unregister():
    bpy.utils.unregister_module(__name__)
    del bpy.types.Scene.menu_tool

if __name__ == "__main__":
    register()


Camera can't be changed to another I have an issue with the cameras. It usually worked fine just to now. I added a camera to have another point of view. I must had touch something unwanted because I can't change to any other camera.

I can switch camera in Scene menu, but it does not seem to do anything, the first camera keeps the focus.

I did try to create a new project and play around with cameras and all went fine.

Can you guys have encountered that issue too? how do I fix it?

I figured it out with the 3pointedit post.

I had to set the Local Camera option to the proper object(camera in my case).
I used to just change the Scene's camera but apparently do not work anymore. At least I know another way to change it.

[Update]

Here is the button I hitted by mistake :

Now I can change the active camera directly from the scene menu.

Button active : only camera can be selected as camera from the Scene menu.
Button inactive : Camera in Scene menu do nothing, but in the first picture, you can set any object as a camera.


Poll function for a BoolProperty I'd like to add a poll function to my BoolProperty, but I don't understand how it works.

Is it similar to the poll function of an operator? What represents the "object" argument of this function?

EDIT after Teck-freak answer:

There is no poll function for Properties.

HOWEVER:
You can skip the property in the layout or (even better) block the layout (layout.enable=False) so it can be seen but not used.
You can also fake the behaviour within the update-funktion, but you'll need a second property.
Finally you can define getter, and setter functions for your property.

BLOCK THE LAYOUT:

row = layout.row()
row.enable = False
row.prop(self, 'MyBool') #this will appear grayed out

GETTER & SETTER:

def get_MyBool(self, context):
    return self.MyBool_internal
def set_MyBool(self, context, value):
    if not self.dont_touch_MyBool:
        self.MyBool_internal = value
MyBool_internal = bpy.props.BoolProperty() # This is where its actually stored
MyBool = bpy.props.BoolProperty( # This is for your user-interface
         name='MyBool', get=get_MyBool, set=set_MyBool)

ABUSING THE UPDATE-FUNCTION: (Documentary only. Avoid if possible.)

def update_MyBool(self, context):
    if self.dont_touch_MyBool: # condition to check if changing mybool is allowed
        self.MyBool = self.MyBool_Backup
    else:
        self.MyBool_Backup = self.MyBool
MyBool = bpy.props.BoolProperty(name='MyBool', update=update_MyBool)

You can read more about bpy.props here

BLOCKING CERTAIN INPUT:

Let's say you'd like to define an integer that may NOT accept multiples of 2 or 3.

# this will only be called if a valid entry is made
def upd_MyInt(self, context):
    print('Entry accepted')
# This is where its actually stored
MyInt_Internal = bpy.props.IntProperty()

# This is for your user-interface
def get_MyInt(self, context):
    return self.MyInt_internal
def set_MyInt(self, context, value):
    if value%2 and value%3:
        self.MyInt_internal = value
MyInt = bpy.props.IntProperty(get=get_MyInt, set=set_MyInt)


Rendering a long scene in pieces? I have a "long" scene i want to render (20 seconds). However, if i were to render it all at once it would use 90% of my computer for multiple days.Could i render it in pieces?
Such as rendering 0-100 frames over night
then 101-200 frames the next night and so on.
Then edit it together later.
or would there be an obvious jitter or something?

Yes, you can. Make the output file with a '.png' extension (or any other image extension) and start rendering the animation. It will render each frame as a picture and you can stop and continue it whenever you want, starting from whichever frame you want. At the end, when it's all done, just add them all in blender's video editor or in a separate video editing software and the rest is easy.

Here's a video tutorial from Blender Guru:
https://m.youtube.com/watch?v=dd5RT8rEPqU


Addon: run execute() only when button is clicked I'd like to create an addon, which has some properties and a button. The addon should only does the scene modification when the button is clicked.

Currently my addon is placed into the specials menu of the curve. When I select it, its properties are displayed on the side panel and its execute() method is executed immediately.

I'd like to have a button under the properties on the side panel and to do the scene modification only when the button is clicked.

Where can I find an example for this use case?

You can also add an invoke method and call WindowManager.invoke_props_dialog:

def invoke(self, context, event):
    return context.window_manager.invoke_props_dialog(self)


Is it possible to get rid of n-gons/poles when using face loops? For example, in this model is there any way to make this all quads?

You can use a knife tool using K button in Edit Mode, then position the knife cursor over the vertices, when the knife tool snaps to the vertices you will see the knife icon green square outlined with red color, then left click with the mouse and continue cutting like in the image below. When youre finished cutting hit Enter button to apply. You can use E button while cutting to continue cuts in different locations.


Duplicating an object while perfectly aligning each edge I would like to duplicate this object four times along the x axis:

I can do this by duplicating it and manually moving it roughly into position:

But how do I do it properly, such that each edge of each object is perfectly aligned with the edge(s) of the object next to it? I guess the solution should also involve or allow for removing any duplicate edges between each object, if that makes sense.

So many ways, depending ..

Assuming this is in Edit mode, and these are one-off parts already measured to fit a hole in the existing mesh, aligned to the world as shown, you could:

Set Snap to 'Vertex, Active'
Select the whole part, and in Vertex Mode, make one of its bottom right vertices active
ShiftDX duplicate the part, snapping the rear vertex of the duplicated part to the corresponding front vertex of the existing one
ShiftR repeat the operation until the hole is filled
With all selected, AltM > 'By Distance' merge coincident vertices.

BUT.. this whole process seems a bit topsy-turvy, since you would already have had to measure up the part, somehow? Going back a couple of steps..

In Edge Mode, Right-click > 'Subdivide' the opposing edges, adjust the cuts to 4
I inset the five new faces, with the tool set to 'Individual' and 'Depth' adjusted to raise the inset faces to the desired distance
Make tweaks afterwards?

If you had hundreds to do, or reasons to do this non-destructively, you could temporarily split the part off into a new object, and use an Array modifier, before rejoining into one object..


Scaling edge from multiple object with local transform is not working as expected When I try to scale two edge of two cubes simultaneously in edit mode with local transformation orientation, the scaling center seems off.
Here is a gif demonstrating the problem,
I expect the scaling of each edge to happen from the center of each cube because I've chosen local transform, but the scaling is happening as if the location of the two cubes matter or as if I have global transform selected.
Is this a bug? I have the same problem with rotation.

I think you're confusing several things:

Transformation Orientation will determine what are the directions displayed by the gizmo in the 3D view, and therefore the directions you'll use: are they relative to the Global, Local or custom axis, etc... It has nothing to do with the center of the scale or rotation operations you are going to do.
On the contrary, the Pivot Point will determine what will be the center of your operation when you'll scale or rotate.
In Object mode the object origin will be taken into account if for example you scale an object with Pivot Point > Median Point selected. If you choose Pivot Point > 3D Cursor, it won't, only the 3D cursor will be taken into account.
In Edit mode, the object origin will never be taken into account, if you want this point to be taken into account, put your 3D cursor on it and choose 3D Cursor as pivot point.


HDRI not being reflected on Cycles I added a HDRI on cycles, but the image is not appearing on the preview or in the reflection of my material on the model i'm using...
What i'm doing wrong? :/

Well, first try using an  environment  texture instead of a  image texture and then go into the  Ray Visibility panel and turn off the channels you don't want the map to show up in.
Next, make sure you have a glossy or reflection shader mixed in to your eyeball material so that it can pick up the environment.


Control the amount of gloss and reflection separately in a glossy BSDF material? I can control the glossiness/reflectiveness of a material by mixing a glossy BSDF with a diffuse BSDF and setting the mix ammount, but in that case glossiness/reflectiveness are linked. Is that so because they are linked in real world? The more shiny, the more reflective, no exceptions, is that how it works? How can I control them separately?

The material is used on a plane which is the floor for an architectural visualisation. Generally I would like the scene to be realistic but with the floor and background I'd prefer not to have the limitations of real world. What I need is to be able to finetune the amount of reflection on the floor while controlling separately the intensity of highlights/gloss made by lights.

At the moment, the reflection and the specular highlight are a part of the same ray (reflection rays) and thus there is no way to separate them, or control attributes for either of them separately.

As someonewithpc pointed out in the comments, it is sort of planned to be implemented at some point:

  Glossy BSDF's are unified for direct and indirect light, as in the
  real world. An option should be added to control the amount of
  indirect light a closure contributes, so that glossy shaders can be
  used without being a glossy mirror.

From http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/ReducingNoise

If you would like your entire scene to only show specular highlights and no reflections (i.e. only direct reflections of light sources), simply turn the glossy bounces down in the light paths panel:


Can’t change fire color to black? I am trying to make an image with black fire against a white background but whenever I change the color ramp to black the fire just disappears, any help is appreciated.!
This is the node set up I have for the color (https://i.stack.imgur.com/qWJcw.jpg)

Try this node setup.  It's from Blender guru's fire tutorial.  I tested it out for you and it made black fire, so there you go.

I suggest watching the fire tutorial.  It gives a lot of good information on how to create good looking fire.  The video is titled How to "Render Fire in Cycles".


Skinify Rig Options Not Visible in Pose Mode Blender 2.8 After enabling the rigify and skinify add-ons, the skinify options are not visible on the right side panel.Obviously, unable to add mesh to the armature.

I found the Skinify options under the Create tab on the 3D View Sidebar (N key).


Mesh with with color on the front side, and black in back side I have a mesh that should be yellow on both sides, front and black, yet only the front side is yellow, my back side is fully black. How can I tell it that both faces should have the same colour? I tried to use the property back face culling but it doesn't do anything.

Well by default all faces have only one normal. A normal indicates the direction that a face is pointing in. In general 3D it is usually not possible to have the same face show different colors. For more on normal's read https://www.blender.org/manual/modeling/meshes/editing/normals.html

Even if you have cloth you have a back face and a front face of cloth it may be paper thin but it still possesses thickness. A butterfly wing has some thickness too and the front and back should usually be modeled as separate faces this is important if you are going to use the model in another engine or you want it to work anywhere.

But certain render engines provide that feature where the reverse side to the faces normal can be a different color.

Blender cycles provides that feature but it is part of the materials.Blender internal also provides that feature but its implementation is different.

I guess you can use this feature if your model is limited to cycles otherwise create another face for the butterfly wing.

You can test the above node setup by  Just adding a plane and adding a cycles material to it and using the above node setup (rotate the plane and and you'll get the idea).


Layer two PNG images and and having both full color Hi I've been at this for days and I'm sure there's a simple solution but being a bit of a blender novice I've not found it.

In this blender file Two PNG Layers I've got two png textures I'm trying to mix. The bit that is currently blue I'm going to make chrome (i just wanted it to be really obvious while i'm working on it). The problem I have is that using an add shader as the last step leaves the black skull layer opaque when I need them both solid.

If I take either one of the mix shaders before the final add shader and go to the material output I get them solid but obviously just one image at a time.

Thanks for any help

Copy your 'Black' image, and set it to 'Non-Color Data'
Put in the Mix Shader in place of the Add Shader, and plug the new image copy in as the factor.

You might want to keep your Add Shader for viewport work only.


Set Default MPEG Preseek Every clip added to the video Sequence editor (VSE) defaults to an MPEG Preseek of 0. Does anyone know of an addon or a way to have each clip inherit a user-defined preseek setting?

It would save a great deal of time with this project and future ones. Thanks in advance for your input.

There is an addon called Property Chart

This addon adds a panel to the properties sidebar that allows you to easily copy settings between items. This addon works in the 3dview as well as the VSE.

By adding mpeg_preseek to the list, the value is then shown for the selected items and by setting the top item to the desired value you can then click the clipboard and have the value copied to all other items. One catch is that you need to set the value in the top item, if the top item doesn't have mpeg_preseek then you can't set it. This only matters as the last item selected when you select all will be on top of the list, having a transform selected first will then stop this working, so be sure to select a movie strip then select all.

A small script could also be used to set them. With a little effort this can be adjusted to add a properties panel with a button to set all strips to the desired value.

import bpy

for seq in bpy.context.scene.sequence_editor.sequences:
    if hasattr(seq, 'mpeg_preseek'):
        seq.mpeg_preseek = 25


Avoid pinching due to mirror the mirror modifier create pinching when mirroring a curve surface is there a way to avoid it ?

even with a flat surface on the inner edge of the mesh there is still pinching

Just in case somebody comes across this thread looking for the answer (because I believe OP is no longer waiting for one): If you have a SubDivision modifier, it should come AFTER the Mirror modifier, so that the transition gets smoothed.


How to view changes made to a texture with Nodes, in Blender Render? I am trying to edit a texture with nodes, in blender render mode.

And I would like to see what my nodes are doing to the texture.

I think I need a viewer node for that, but it wont work.

Or is the only way to view my changes is to re-render the scene?

Im following this tutorial

Your changes should be visible on Material and Render shading on the 3d viewport


Unlinked Duplicated from Linked Duplicates (Change Alt-D into Shift-D behavior) Alt-D creates linked duplicates while Shift-D creates unlinked duplicates. I've created abunch of linked duplicates through Alt-D, but now I want to differentiate them. How do I change them to the Shift-D behavior? I tried selected them all, right clicking and pressing "Unlink," but this seems to delete the objects. Am I missing something?

You're unlinking the object from the scene with the Unlink command. What Alt+D does is make a new "Object" whose "Mesh" is linked to another object's mesh. If you select one of these objects and go into the "Object Data Properties" tab, you'll see the mesh name with a number next to it (2 in the example) meaning there are that many users of the mesh. If you click the number, Blender will make the active object a single user copy of the mesh. The mesh will get a new name, and the number will disappear. Missing numbers mean single user.


Correct Mesh Deformations? I created a Mesh of a 3D letter "P"
However, in order to have the open space in the middle of the Mesh I needed to have more than one face on the very top, which causes the material to look unrealistic. (I circled the deformities)

So I am not sure if this is possible, but I want the mesh to have a clean top. I changed the shading to flat, which did make the top have a clean cut finish, but the siding did not have the look I was going for.
Is this possible?
Here is the blender file: https://www.dropbox.com/s/ye5m8oj9p51lz7w/01.blend?dl=0
Thanks!

Polygons with more than 4 sides (ngons) do not subdivide well.

Instead of one big ngon on top like this:

try to fill your mesh with quads:

First delete the faces that have more than 4 vertices:

Add a few loop cuts (CtrlR) that match the vertices on the joints of your mesh.

Then fill the gaps making quads.

Your mesh should be nice and smooth now. Even with smooth shading or a Subdivision surface modifier.


How do I adjust bone rotation_mode when freshly created armature has pose = None (python) I am creating a lot of armatures using python.  One of the things I need to do is set the rotation_mode on all the bones to be 'XYZ' instead of 'QUATERNION'.

Unfortunately the following (super-trimmed-down) code malfunctions:

import bpy

scn = bpy.context.scene
obj = bpy.data.objects.new('garbage', bpy.data.armatures['lids_armature.007'])
scn.objects.link(obj)

obj.pose.bones[0].rotation_mode = 'XYZ'

It gives me the following error:

Traceback (most recent call last):
  File "/home/thoth/art/mehndi/mehndi.blend/garbage", line 7, in <module>
AttributeError: 'NoneType' object has no attribute 'bones'
Error: Python script fail, look in the console for now...

What is the proper python technique for setting the bones' rotation_mode immediately after creation?

LucaRood in IRC was the first one to suggest using scn.update() after the link().  batFINGER and my testing agree with that solution.  So the proper code would be

import bpy

scn = bpy.context.scene
obj = bpy.data.objects.new('garbage', bpy.data.armatures['lids_armature.007'])
scn.objects.link(obj)

scn.update()
obj.pose.bones[0].rotation_mode = 'XYZ'


Renders coming out completely white I've been trying to learn some basic blender stuff and I'm trying to render a small animation out to After Effects for compositing.

However, when I try and render the animation, the image comes out completely white

This is what it looks like if I just render the one frame

and this is what it looks like in the viewport

If its fine with just a single frame render, why isn't it working for the animation?

Here's the .blend file: https://drive.google.com/open?id=1AzEwQUvbfivx6lFPLStplxBoxI34YmFB

I found the solution. I needed to uncheck Compositing under the post-processing tab. This gave me the result I was looking for.

That's solved the headache I've spent the last four days trying to solve...


Which of this two topology variants looks better to you? I just need to clarify it for myself and appreciate any help and explanation. Each topology seems OK, but may be quad based is somehow better? It certainly looks better to me. (see topology_question.jpg)

I don't think the topology needs to be overly complicated. I would go for something like this:

I would also consider this being generous with poly count because this is a shape that can be smoothed with surface subdivision so there is probably no real need to have it very dense.

If I buy a model I am certainly not looking for complicated topology as in the examples, but I want to be able to edit it quickly(I don't want to do anything with it ideally, but I like to see the possibility, if I ever need to edit it) meaning I want loop and ring selection and manipulation tools to work. This way I can select edge rings, checker deselect every other one and multi select loops and dissolve them if I want lower resolution, or just to use Subsurf modifier to make it smoother. It's also easier to modify shapes and forms this way and create/recreate some specific UV maps if I happen to need something different than what comes with the model.


Find a corresponding point on a transformed Mesh Lets say i have 2 polygons A and B where polygon B has been derived from Polygon A by an unknown(!) transformation matrix:

Now i have a point p that is placed somewhere on the surface of polygon A. How can i find the corresponding point p' on polygon B when i know [a,b,c,d] and [a', b', c', d'] ?

For triangles you can use mathutils.geometry.barycentric_transform:

import mathutils.geometry
pd = mathutils.geometry.barycentric_transform(p, v1, v2, v3, d1, d2, d3)

To test if the point is inside a triangle you can use mathutils.geometry.intersect_point_tri.


Have two lamps blend together to give another color on a face I am working through Blender 3d Basics by Gordon C Fisher. I'm on page 72. I have a green light and a red light but no yellow as pictured. Can anyone explain what I am doing wrong? Or better, What to do to get the yellow color on the cube? It is black where the yellow should be (on top of cube), and was also black in the previous two with the one red light and two red lights.

How could I have two lamps shining on adjacent sides of a cube (1) and (2) blend together and create a different color on the top face (3).

You more than likely have the default point lamps at the exact middle of these faces, therefore they won't reach the top. Raise it above the top of the cube so they can illumiate the top face. The lamps will blend naturally and give you the third color.


Unselected vertices and edges move along wth selected ones I'm pretty new to Blender, but I am stuck on one thing: every time I try to move a particular vertex, or edge loop, or whatever, using the Translation Widget or the "G" key, a number of other vertices and edges move as well, as if the rest of the object is reshaping as well.  However, I want to simply move the vertices or edges that I have selected, while keeping all other vertices fixed.  How could I do that?

Most likely you've turned on proportional editing.

To turn it off press the O key.

Or use the proportional editing icon on the bottom of the screen:

Follow this link for more information on proportional editing


Baking In Cycles creates noisy result Whenever I try to bake a Ambient Occlusion map (no matter the scale), I get a noisy result (like that of a TV set with bad reception). Is there anyway to fix this??
This is a AO Bake of an object i'm working on, yet when I baked it at 2048x2048, the AO was very noisy/grainy.

Click image for full size.

That's probably because a low number of samples. Cycles uses samples to render and to bake. Turn up your samples in the Properties window under the Samples heading.


How do I use the compositor to render with different color management profiles? I'm using several scenes to render several images at the same time with the File Output nodes in the compositor. I have different Color Management settings in my scenes. Yet when I render my images all of them use the Color Management settings of the scene I am currently in.

How do I make the Cycles Compositor use the Color Management settings of the scene that is used in my different Render Layers?

I am reasonably sure this can't be done from within Blender. This is a design flaw in that baking colour transforms isn't dealt with in an optimal manner.

You could however save your images as scene linear and apply the transforms using other tools such as the command line tools from OCIO.


Using Empty Object Coords for shading (Multiply Vector by Matrix) I'm making a setup that reduces the complexity of shading by replacing the Normals with coordinates from an object. If you take Object Coords of an empty and plug them into the normal socket of a shader, you end up with the object being shaded as if it were a sphere. If you make some edits to each axis, then you can change the shape more. In this setup, the sphere is distorted quite a bit to give the shading I want for the face:

So this all works quite nicely. The problem is when the head moves:

What we see here is that the altered normals are masked only to the face, with the real normals still in use further up the forehead. As the head rotates, you can see the shading desync. It rotates with the head, instead of the light moving over it. This is because the Empty is parented to the head bone. I'm not sure exactly what's going on, but its something to do with the coords of the object being in the wrong space (world or object). I've tried Vector Transform node, but it doesn't help.
If the Empty only copies the location of the head and not the rotation, then there's no problem. But that only works if the head only rotates on Z, and never tilts or rolls. So it's not a proper solution.
I'm looking to understand why the coords from the empty are behaving wrong in the first place, and what can be done to make things stay properly synced up as the head moves. Someone has suggested that they might need to be multiplied by the Matrix of the object. I could get the Matrix info via drivers, but I'm not sure what to do with it after that.

The solution was to multiply the Vector by the empty object's Matrix. I built this group with some help and a lot of trial and error. The values are driven by the Matrix World of the Empty from the Data API. I'm not sure I have the component nodes of the matrix laid out properly or not, but this is working.


Rendering using both GPU and CPU is not possible For some reason I'm unable to render on CPU+GPU. I've checked on 2 different computers and it's not available. One setup is Threadripper + GTX 1070, and the other one Intel i9 + GTX 1080.

Is it a matter of supported processors or I have to activate it somehow?
I'm using Blender 2.79b

In fact it IS possible. You need to download a branch like this:

http://graphicall.org/1240

...and many others on this site. Open Settings and in the System pane You will find settings as on the image below. Hope it helps, buddy.

Sincerely, Jan

REM: Sometimes using GPU+CPU could be SLOWER then using GPU only!


Change Color Associated with Transparency? ok so here is my problem. in this picture i want the White outside the Blue to be Transparent, and the White inside the Blue to to White.

this is as far as i get when just using the Transparent BSDF.

As you can see, both White areas are Transparent. is there any way that i can make the Outter Area the Only Transparent one??

EDIT 1:

after using cegaton's Advice i set up the nodes and such according to the 4th example,however the full sphere seems to be transparent now, regardless of color placed on the texture.

EDIT 2:
i get the feeling this may just be too advanced for my level of skill in this current time period... perhaps somethin like this might be easier.

In this example im using a stock lightning effect i found off Google. is there any way i can have this so that the black parts are see through, while keeping the rest of the image the same?

FINAL EDIT:

turns out im an idiot and just didnt realize the Alpha channel on the Texture got removed completely some how....quick trip to Gimp and 5 minutes later i got the results i wanted

Let's say you have an image with an alpha channel:

Which in turn, is nothing but a mask: an image with a black and white channel that determines the opacity of the RGB information. Black (0) is considered transparent, white (1) opaque.

If one were to use the image as color for the texture we get an opaque texture, because the alpha channel is not being used, just the RGB information.

Adding a transparent shader and using the alpha information to control the mix will make the black (0) pixels of the alpha channel be transparent and the white ones opaque (1).

If you don't want to use the color information of the image, but want to keep the mask to control the transparency, then just set the color of the shader to whatever color you want and use the alpha channel to determine the mix with a transparent shader.

If your image has no alpha channel you could still use the color information as mask:

In this case, since the mask information is in the blue channel, you can use any of the other two channels (red or green) to determine the mix between diffuse and transparent.

But your confusion is coming from thinking of transparency.

If what you want to do is mix colors (with no shader being transparent) then use the image as mask to mix colors.


How can I create Light Streaks in Cycles? I'm trying to make a light paths like there:

To achieve this light threads (streaks) I used a particles emmiter with shining icospheres and motion blur shutter like Andrew.

I got this result:

First of all I wish to get full path of the light: from rising to falling.
And the second I wish to see the half circle path, but not the angle like now.

Maybe I should use another way to achieve the reference?

Blender 2.75, Cycles

An alternative method  would be not to use particles, and do the light streaks with curves. It might a bit more tedious to set up, but will not require as much computing power from your machine as particles do.

Give the curve a slight bevel and, by animating the Bevel Factor start and  end  values, you can control how the curve is rendered through the screen . You also have control on the resolution, curvature, start and end points, and you can precisely determine the trajectory.

EDIT

To change the width at different parts of the curve you can change the radius of the control points:

Add an emissive material to it and some glow on the compositor and you can easily achieve something like this:

If you give the curve some extrusion and bevel and a wild texture

you can have a lot of fun:


How to make the compositing to use the Z Channel in Blender? Right now, i have two pictures which come from another game engineer (SecondLife). One is a Colour Picture, another one is a Depth Picture.
And, i am new to enter into the compositing world so that i dont know if the Z (Channel) in some Blender Nodes stand for the Depth Channel there.
Oks, Simplify what i want to do:
I want to composite pictures for making the DOF (Depth of Field) in Blender Node Editor

and i read some articles, they said i need two pictures, one is colour picture, another one is a depth picture. (That's why i got them from SecondLife as Materials)

Also, i have no thoughts about how to link them in Node Editor...

First off you are going to want to get the depth data in a better format. The image in your question is an eight bit png, meaning it can only hold 256 different values. You need more precision then that to get a good depth map.

Now in the compositor, take your two images (color, and depth) and plug them in to a Defocus node. I had to do some manipulations to the depth data before it was usable. First use a ColorRamp node to move the black to white range to where you need it. (In your depth image the black part goes from .0061 to about .122 then jumps to white.) So I moved the black slider to .005, and crushed the white end down to .011. Now the lack of precision in the depth image becomes very clear. To compensate for that I blurred the depth image after the ColorRamp node.
Now that can be used as the Z for the Defocus node.

Tweek the Z-Scale (blur amount), Max Blur and Threshold in the Defocus node till you get an image that is to your liking.

This is what I got with the nodes above and using your two images.


Shape key morphing between two meshes with different vertices I am attempting to morph between a base shape and another version of that same shape, however the second version has a few more vertices.

Does anyone know of any scripts that could get around this? or a different method of morphing one shape into another?

You could try the shrinkwrap modifier. Here I have two icospheres with different number of subdivisions. I add the shrinkwrap modifier to the one with more vertices and set the one with fewer vertices as the target and the mode set to Nearest surface point:

Then I click Apply as shapekey, and here's the result:

I experimented a little with the different modes of the modifier. Viewing the results in edit mode shows the difference.
Nearest surface point:

Nearest vertex:

The project mode has a multitude of options, so I'm not posting any pictures of it, as it would make this answer too long. Instead I quote The Blender Wiki on the shrinkwrap modifier

  Projection
  This will project vertices along a chosen axis until they touch the shrink target. Vertices that never touch the shrink target are left in their original position. This implies that, depending on the settings of this option and the relative positions of the two objects, the modified object might sometimes remain undeformed. This is not a bug; just “play” with the settings (especially the Negative/Positive ones), or move one of the objects around...
  This method is the hardest to master, as it might sometimes give unexpected results...


How to get an object to spawn at a specific location? How would one spawn an object at a specific location?

Let's say I wanted this object to spawn in behind another object once the distance was less than 2 blender units.

So the object I want to spawn in behind another object can also be defined as "nearest" (nearest = object)

therefore

nearest.worldPosition.x = (?)

Can someone point arrows towards where/what worldPosition would be? Especially if the location of the object I want it to spawn behind is random.

Not looking for exact units, just a point in the right direction.

How would one spawn an object at a specific location?

Adding new objects (basically making a copy of an inactive object) requires a reference object. The new object will inherit the transformations (location, orientation and scaling) from the reference object, rather than from the template object (the inactive object which resides at a hidden layer).

AddObject Actuator

The AddObject Actuator uses the owner as reference object. The owner is the object the actuator is configured of.

This means when you have an empty with an AddObject actuator, this empty will be the reference object while you select the template object at the actuator itself (field: Object)

Python API

The python call KX_Scene.addObject() request you to provide a template object as well as a reference object. The call should be from the scene both objects live in.

Solution

The conclusion is quite simple:

1) place the reference object at the desired location (e.g. an empty)
2) add the new object

(alternative Solution) Post processing

In some situations it might be not sufficient to relocate a reference object (just now I can't think of such a situation). In this case you can add the new object anywhere and relocate it afterwards, just by assigning a new location.

Be aware this can have side effects on physics calculations as right after creation the object will be considered as present.

Setting object Position via Python

Use attribute KX_GameObject.worldPosition.

Examples:

import mathutils

position = mathutils.Vector([0, 1, 0])
gameObject.worldPosition = position

You can even use a list.

gameObject.worldPosition = [0, 1, 0]


Automatically "routing" a tube through a confined space I have an irregular curved funnel-like 3D space and I need to "lay" a "tube" in it so it is goes through the "middle" of the funnel.

The sketch below shows a 2D section of a possible scene (the "tube" is shown in red, black represents "walls" of the space, blue is just a place where the "tube" is attached.):

Is there a way to get Blender "route" the tube through the space (semi)automatically?
By semi-automatically I mean manually selecting possible additional constraints (objects/points/...) or entering some parameter values and then letting the automated process do the rest.

I know I can use Curves to draw a path and manually adjust it so it fits, however, I would like to automate it as much as possible because the process will have to be done many times in different spaces (but generally similar in shape).
(I also know how to make a "tube" by adding a bevel to the curve as well as how to use hooks to modify it.)

Could this be done by first creating a curve (with high enough resolution) and then making it "snap" to the "average" of the enclosing space ...?

I'm new to Blender and 3D modelling but I'm quick in acquiring new skills.

After giving this some thought, I have come up with another approach that might be a solution for you. It does require that the mesh of your space has quad topology, so that edge rings which flow along the tunnel can be selected and scaled in.

Of course, if you don't have control over the initial topology you will have to retopo first. I believe the RetopoFlow add-on would be the fastest way, if you need to do this.

Select and Scale your Edge Rings

So you have your mesh object of your space:

Press ShiftD to make a duplicate of it, and move (M) it to a different layer.

In Edit Mode, with Edge Selection enabled, select only the edge rings. This can be done from the menu: Select > Edge Rings, or with the shortcut ShiftCtrlAltRClick. Do this until every edge ring is selected.

Set your Pivot Point to Individual Origins. This causes each selected edge loop to shrink toward its individual center when you scale them down, creating a path that passes through the center of the mesh.

Scale your edge rings down to zero. (S,0,Enter)

Press W > Remove Doubles to get rid of extra overlapping geometry.

Smooth it Out

In Object Mode, add a SubSurf Modifier to your object to smooth it, if you want it to be smooth. Adjust the subdivision levels as desired.

Apply the SubSurf Modifier.

Convert your Mesh object to a Curve object. (AltC)

Adjust your Curve Settings as Desired

Above: A wireframe display of the original Mesh object, and the new Curve object, with both layers made visible together.

That's it!


Blender API Python split body by loose parts I'm trying to make a python script that splits alot of objects into its loose parts and i actually have gotten this to work but i encountered a bug that i don't fully understand and thus come to you to help me out!

I have the following code to manipulate each object that i need to have manipulated (and split):

for collection in bpy.data.collections:
  if collection.name == "Render":
    for object in collection.objects:
        print("Manipulating object: {}".format(object.name))

        # place at correct location and scale to the setting size
        object.scale = scale

        thickness = list(object.dimensions)[2]
        location = [0 ,0, thickness/1000]
        object.location = location
        object.rotation_euler = rotation

        # split the mesh
        if object.type == 'MESH':
            print("Splitting mesh")
            bpy.ops.mesh.separate(type='LOOSE')
    break # no need to check other collections

What happens is that all the objects that it iterates through are placed at the correct location and with the correct size and everything but only the last item in the list

collections.objects

is split into its loose parts but all the other objects are not.

Heres an image of the console:

Note that 5AD48 part shows up multiple times because it has been split.

My first thought was that its caused because once the body is split the collection is not the same anymore, so i tried copying the list but that just made it more buggy.

Anyone have a clue what causes this bug?
Any insight will help!

Thanks in advance!

It seems like blender selected the last object in that list (the reason for that is likely because these meshes are imported in a piece of code infront of the code i posted) and i never actually selected the other meshes.

This code works for me and splits all bodies:

for collection in bpy.data.collections:
if collection.name == "Render":
    for object in collection.objects:
        print("Manipulating object: {}".format(object.name))

        object.select_set(True)
        # place at correct location and scale to the setting size
        object.scale = scale

        thickness = list(object.dimensions)[2]
        location = [0 ,0, thickness/1000]
        object.location = location
        object.rotation_euler = rotation

        # split the mesh
        if object.type == 'MESH':
            print("Splitting mesh")
            bpy.ops.mesh.separate(type='LOOSE')
        object.select_set(False)
    break # no need to check other collections


Generate a Random Value between Two Limits How do you generate a random value from between two values of my choosing? So, for example, I want to generate random evenly distributed values from between, say -.5 and 7? what is the node setup to achieve this?

Thanks
JK

Duarte Farrajota Ramos came up with a better suggestion with the Object Info > Random value.  Then you just run it into a standard linear interpolation function t*(a-b)+b.  If you're feeding in random numbers 0..1 it does not matter whether a<b or a>b.  You still get a value in the range a..b.

The extra nodes at the bottom with the vector coordinate going into the noise texture will give you a solid color, but it will be identical on all objects that use that material.


Make an object follow a complex curve? here I have a complex curve generated from a text,And I wan this cube to follow that curve,(making a writing animation),I tried the follow path but id didint work well,My question is:
Is there is any other way to do this?

As probably one of approaches is to use one cube for this animation with multiple Follow Path constraints added.

In the example below I added 5 different curves, and 5 different Follow Path constraints for the cube.

I used Offset option (thus animated it) in all constraints except for the first one (and actually for the circle, for some reason). I also animated Influence option of every constraint to make every one of them to work separately.

To bake this action to keyframes and get rid of constraints you should select that cube, hit Space and enter Bake Action (or 3D View > Object > Animation > Bake Action). In the options you should select Visual Keying and (optional) Clear Keyframes - you won't need them:

based on this answer


Can you easily export a .blend to a previous version of Blender? I have 2 versions of Blender, 2.79 and 2.9.
I edited a .blend file that was made in 2.79 today in 2.9, then saved.
Now, I cannot open it in 2.79 anymore (it just crashes Blender). However, there are plugins in the 2.79 version that I haven't yet installed, or might not exist in 2.9. And I have to deliver some files.
I now that all Adobe apps allow you to export documents to a previous version if you need, but I couldn't find anything about Blender. I would prefer not to have to redo textures, etc.
Can I export the file from 2.9 to 2.79 easily?

TLDR: Is it possible? Yes.  Is it easy? It's not one-click.
Blender will attempt to open any .blend from any version, but the success rate is not that hot.  With the advent of collections instead of scenes, the scene will open empty.  So going from 2.9 to 2.79 directly will not fly.
However, if you are willing to jump through some hoops, you can extract things of interest out of those files with the Link/Append functions.
Just make sure to choose the right object. You will also need to make sure that modifiers and nodes that were added since were not used in the object you are trying to back-port.
I successfully yanked one of my characters out of a 2.9 version file and got it running on 2.79, but there was some fiddling I had to do and I wasn't doing anything too special rigging wise. Also remember that you must use Cycles in 2.79, Blender render materials are not compatible with Cycles/EEVEE.