Is there a way to make space between particles? So I managed to get this particle system to place trees where I want them to be, but I tried everything and couldn't space them out, is it even possible? I tried forces or whatever and all it did was rotate trees on y and x axes (I tried both harmonic and force mode).

I've never worked with particles in blender before so it's all new to me.

I was googling for a few hours and no results...

EDIT: since it's relatively small area, I will just make particles real objects and will move/delete trees as I want, but I'd still like to know the answer.

In the image above are green numbers 1-4

Small Red Plane with two array modifiers. Appears as many red squares.
Array Modifiers applied.  Single Object.  Edit Mode. Separate loose parts.  Now many separate red square objects.  Many different methods can be used to create multiple red squares including Shift-D
Proportional Editing Object Mode.  Moving object planes in XY only.  No distortion.
Join separate planes into one mesh. Space search [Join]. Shrink Wrap Modifier.  Apply Shrink Wrap. Add a single Particle System.

The above steps are Artwork via the proportional edit. This may feel more natural for some Artists. We are saving computer resources by not using Make Real on complex objects.  Your computer, your choice.  Proportional edit can be done in edit mode if rectangle distortion is acceptable.

Create a Second Particle Surface

Second method of creating another surface .  In the image above the dark blue mesh on the left has a particle system with particles overlapping.  On the far right is a mesh with shape originating from the dark blue surface and showing faces and other spacing vertices.  The middle mesh shows a successful particle system with no overlap of particles.  Click image to see detail.

Original Plane Exists.
New Plane.  Loop Cut in Both Directions Coarsely. The more loop cuts you have the more vertex density and more final isolated rectangles you will have. More vertex density allows more flexibility.  This is a technical explanation not.  You have the Artistic freedom.  Place New plane Above Old plane.  Shrink Wrap Modifier is used with new plane with settings suited to your tastes.  Apply Shrink Wrap.  Now new plane has general shape of old with less vertices
New Plane in edit mode.  Face Selection Mode. Median Scale Mode. Select all. Extrude [Individual] Faces from Menu.  No Movement. Accept operation. Scale Small.  Invert Selection. Delete Faces Only.  You should be left with islands of faces as shown above.  Note this a very technical sequence of steps.  No artistic effort.
You can also create spaced grid first and then Shrink Wrap.
Inspect and Test.  If desired manually or randomly select from menu, more faces. Delete faces only.
In object mode you can created many rectangle objects and proportionally move them in object mode then join them to form a mesh.
You can also consider creating rectangle particles.  Particle Pane ... then make Particles real.  Join all particles.  Then delete rectangle to your tastes.  Add back particle system with artistic particles. Not shown ... yet.  My proposed answer time has expired at the moment.
You can also consider weight painting. Not Shown.
Of course I may have left out some steps.  Please excuse those errors.

In the image above are the Shrink Wrap Modifier settings.  In order to get reasonable documentation images the eye visibility setting is inactive.  Documentation and Actual use create a few steps I have omitted without a video.


Get value from Numpy Array At the moment I am working on several scripts which use Numpy arrays. An example of one of my arrays is:

y = np.array(([75], [82], [93]), dtype = float)

Then I also have a game property called "y1" and I want to assign it a value from the Numpy array. The game property is a float number, and I have tried the following code but it does not seem to work:

own["y1"] = y[1]

Why does it not work? And how can I assign the game property to have any specific value from the Numpy array?

I figured out the problem, and the answer to said problem, and it is so much simpler than I thought.

When you have a Numpy array such as:

y = np.array(([75], [82], [93]), dtype = float)

The array is actually a matrix of numbers, and the above array is a matrix of size 3x1.
Therefore, in order to set a game property (or any other variable if you so choose), you must pass in two numbers to specify the row and the column of the value you desire.

This means that instead of having;

own["y1"] = y[1]

In order to make the property equal "82" as the above code is trying to do, you should instead have:

own["y1"] = y[1, 0]

This new code will then specify the second row and the first column as the desired value.

Another example:
If you have the numpy array;

y = np.array(([26,72,54], [46,82,37], [36,67,81]), dtype = float)

You can select the value "36" by specifying the third row and the first column, as done here:

own["y1"] = y[2, 0]

Hopefully this makes sense, and you can understand its implementation through the above examples.


Is there anyway to make a bezier curve into a mesh object? I am looking at this tutorial (How to make tied knots in blender?) and I want to make the curve into a watertight model for 3D printing. Is this possible?

You can! In fact, you can also save yourself a couple of steps! You don't actually have to convert it to a curve at all. All you have to do is use the Skin modifier. This will make a cube around each vertex connected to adjacent vertices. Unlike with curves, it also supports branching. Like curves, you can control the size of each point (the vertices, in this case). This is actually a well-documented feature, so you shouldn't have any trouble finding a tutorial on the basics.

Additionally, if you want your knots smoother, you can start from a curve and convert it into a mesh (it will create vertices based on your curve resolution), then proceed to add your skin modifier.

If you already have an existing object created, you can simply convert it into a mesh, as well, then delete any extraneous curves that remain.


Currect definition of edge loop According to wikipedia https://en.wikipedia.org/wiki/Edge_loop
an edge loop is:

  In a stricter sense, an edge loop is defined as a set of edges where
  the loop follows the middle edge in every 'four way junction'.

and

  The loop will end when it encounters another type of junction (three
  or five way for example).

In the image below we can see that the loop follows the perimeter of the n-gon and do not follows the middle edge in the four way junction.

moreover in the image below we have a three way junction in which the loop doesn't stop, as wiki says. And ,not less important, we can see how blender choose arbitrarily the followed n-gon.

So does a strict definition of edge loop (in terms of algorithm) exist somewhere?

thank you

I assume you're talking about what gets selected when you use AltLMB.  I think it would be safe to say that the Wikipedia definition of edge loops is correct, and even though AltLMB is the "Loop Select" shortcut, it doesn't always technically select an edge loop.  It selects an edge loop if one unambiguously exists, but otherwise, it tries to select something "reasonable".

I'm not aware of any precise documentation of the algorithm used by AltLMB.  The code is in blender/source/blender/bmesh/intern/bmesh_walkers_impl.c, and it's complicated by lots of special cases.  As far as I can see, it works as follows.

First a few definitions:

An n-gon is a face with 5 or more edges and so excludes tris (3 edges) and quads (4 edges)
A k-way junction is a vertex with "k" edges, so there are 3-way, 4-way, 5-way junctions, etc.
Edges connected to certain counts of faces have special names:

A wire edge connects to zero faces
A boundary edge connects to exactly one face
A manifold edge connects to exactly two faces

With these definitions, the type of selection depends on the initial edge selected by AltLMB:

Hub selection: If the initial edge is a manifold edge, the connected face with the most edges is considered (if there's a tie, the face chosen is arbitrarily).  If this face is an n-gon, then "hub selection" is performed -- edges around that face are selected by following a sequence of 3-way junctions around the face stopping at any boundary edges.  This selection type is designed specifically to select the n-gon ends of cylinders and similar shapes, and I think it's also the special case you're seeing in your examples.
Wire edge select: If it's a wire edge, all connected wire edges are selected.
n-gon Boundary selection:  If it is a boundary edge of an n-gon then neighboring boundary edges are followed along 2-way junctions, stopping at the first non-boundary edge or >2-way junction.
Quad and tri boundary selection:  If it is a boundary edge of a quad or tri, then connecting boundary edges that are also boundary edges of quads or tris are followed through 3-or-more-way junctions.  The selection stops at 2-way junctions (i.e., "corners").
Normal loop selection:  Otherwise, if it is a non-wire, non-boundary edge that does not meet the requirements for hub selection, a path of neighboring manifold edges is selected through 2-way and 4-way junctions (with the usual rule for 4-way junctions of choosing the "middle" edge), stopping at the first 3-way or 5-or-more-way junction or non-manifold edge.

I think that's mostly right, though I've probably misread a few weird cases in the code.

One other complication.  When AltLMB is applied to a boundary edge, it actually toggles between two selections -- "edge loop" selection, as described above, and edge boundary selection, which is simpler and just selects all the connected boundary edges.


texture paint changed my image to be black Hi i have an image and use it as texture. i applied to a cube and setup uv. Go to texture paint and paint using green brush . All the paint looks good in the viewer, but when i save all images and check the folder where the texture is saved , i only see my stroke with my original image become black. Is this a bug ? Does anyone has this experience ?

I've just found the fix for this. I realize that it happened when i use 16bit TIFF file as texture map. So everytime i do a texture painting and save the image, it will save only my stroke, while the original image become black. Then i fix this by using 8bit, so i convert that 16bit into 8bit TIFF then reload that texture map and it solves my problem. I currently use 2.79 , so maybe this is a bug.

Thanks.


How do I scale a point cloud from a custom pivot point in AN? I have a cloud of points and I want to scale them from a custom pivot point? How can this be done with animation nodes.

As suggested by Jacques, translate the points such that the pivot becomes the origin, scale, undo the translation:

Undoing the translation can be done by multiplying by the Invert Matrix nodes.


Make grey background while using HDRI for renders I just want to ask if anyone knows how to make background grey while using HDRI so it would be the same as in Substanse painter "Environment Opacity slider" or basically the same as in Material Preview Mode in Blender?
Is it possible to make it without options that listed below?:

Not a transparent background and then add grey background picture in photoshop;

Not a heavily blurred background (I found this option here but it still has colors);

Without adding a grey plane at the back while rendering

Just pure grey

The best way is to use film->transparent.
Now go into compositing section and click on use node.
Add an alpha over node before output node and chose your desired color.
This way,the render will use the HDRI and then make background as chosen in the apha over node.
Also,if your entire render comes as single color,try switching the color inputs of alpha over node


Why does my character glitch out when i put it on a path video   blend file

i animated my character and when i put it on a path to walk it glitches out and distorts. At first i tried just moving it with g and it did the same thing and now im trying to put it on a path and it does the same thing. Ive linked a blend file and a video file. If any of you could help me it would be appreiated

I think your problem is the following one:

You're trying to give a Follow Path constraint to your mesh, but it's not the thing to do, it's not the mesh that is supposed to follow the path, the mesh is parented to the armature, it's the armature that is supposed to follow the path... If you give your mesh a Follow Path constraint, it has 2 contradictory constraints: The Follow Path and the armature, and it can't work.

So give the Follow Path to the armature.

Also, you need to make sure that you've:

Applied the scale and rotation of your curve.
Given it the right direction, i.e. the direction that the armature is supposed to follow, in Edit mode switch it with a W > Switch Direction.
Put the curve origin at its beginning.
Put the armature at the center of the scene with an altG, so that it sticks to the beginning of the curve once you create the Follow Path.

But it looks already good...


Preview render view is noisy, not sure what I did or how to fix it So when I'm in render preview it looks like this:

 which is odd because the render looks fine

I can only assume that I messed up some sort of display or view, other .blend files aren't affected. Does anybody see something familiar and know how to fix this?

As m.ardito says, "previews are just... previews"

Unless you set your preview sample value to something very high, you wont get good results like the final render. In fact, that is why it is called a preview. The point of a preview is to render the file fast so you can look at how it will change in the final render. In preview mode it is easier to make materials and change lights.

If you want a higher quality preview image, just increase the samples under "preview." But, be warned, setting the sample size to something higher takes much longer to preview.


Suddenly rendering a double image The render (cycles) seems to be rendering the scene twice, slightly enlarging one image, and superimposing it in the same render result. The result I'm getting is as if seeing double. I have only one render layer, one scene, one camera. Test renders worked fine until I added a denoise mode in the compositor and moved the camera, and now I can't remove the effect, even by replacing the camera.

Incidentally, I tried switching to eevee just to see what happens; it renders only the HDRI and nothing else. This is even more perplexing.

Sorry if this sounds terse. I meant go to go bed two hours ago and I'm frustrated I can't render this overnight now.

I found out the problem: I have fluid simulation in the scene, and the camera was reflecting off the domain's bounding box. The simulation only kicks in partway, and I forgot that this would cause the domain to resemble a watery cube prior to that point.


Material assigning not working Hi i would like to change the color of the head of my maggots but its not changing even i assigning the new material colored yellow why ?

new problem encountered

when i assign a new color material to the head of my maggot it change but when i unselected the head then i select in any other parts of my maggots . the head color turn back to its previous color but if when i selecting the head it has the color brown but when i unselect it backs to color blue

The Viewport color of your object and the diffuse color of your material are separate things in blender.
You can set the viewport color of your material separately.

Expand the Settings tab under your Material settings and change the viewport color:

A quick side note: the viewport color doesn't affect the render result in any way. its primary function is to structure your scene.


Why are my objects not visible when looking through camera and starting the game I'm trying to make a simple game in Blender, but nothing will render when I try to play the game looking through the camera.
The game looks fine in object mode:

It looks fine through the camera:

Rendering a frame looks fine:

And playing the game looks fine as well:

But then looking through the camera and playing, or starting the game in player just displays a blank grey screen:

I've been googling and found a few questions similar to mine, but none of their solutions have worked so far. I've cleared restrict render and checked the clipping on my camera (set end to like 1500) to no effect. Does anyone know what's going on?

You may want to apply (CtrlA) the location of both your camera and the object it's parented to, to get rid of any positioning discrepancies during runtime.


Limited bone doesn't rotate on a plane (check this video for better visualization of problem)

A bone with a limit rotation constraint doesn't rotate on a plane. Why?

from the image you posted it looks as though you double tapped the "R" key, which is 'rotate on all axis'. 'R' > 'Y' = Global,, 'R' > 'Y' 'Y' = Local,, 'R' 'R' = rotate  on all axis


Hide parent object without hiding the instanced children? I have a cube, added a cone which I parented to the cube and instanced on the faces of the cube. Is it now possible to make the cube disappear?

Uncheck Display Instancer to hide the cube in the viewport and/or uncheck Render Instancer to hide the cube in the render.


How to add a driver via python? I want to add a driver to the Z location of an object via python.
After reading the docs and this question, I would guess something like this:

bpy.context.object.driver_add("location", index=2)

However when run in the python console it says

Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
TypeError: driver_add() takes no keyword arguments

The error message gives a hint:

TypeError: driver_add() takes no keyword arguments

So pass the index as positional argument:

bpy.context.object.driver_add("location", 2)


Mesh being deformed in a weird way by armature I made a low poly mesh by using skin modifier on a skeleton kind of shape made out from extruding vertex from a single point. After that, I applied Subdivision Surface and Armature modifiers to bring everything to life.

It worked fine, I did some improvements with IK bones and nothing fell out of place, I made a little idle animation and it was fine. Tested exporting it to Godot but didn't do much after that, as it was late at the time, saved and closed the project.

Now I open the project, 3 days later, and notice something odd about the wrists, they have a weird looking deform that wasnt there on Friday, guess its just something about the pose and I try to switch it around, more weird things start to happen.

Joints deform as if they had a cylinder blocking their path and thighs have a small jump as wrist have.

I've tried googling but to be honest, I dont even know how to word this issue, I've tried fiddling around with the weight painting but to no avail, as well as switching Armature modifier's Bind To from Vertex Groups to Bone Envelopes, and it actually made things worse. I removed every Vertex Group from the mesh, and applied the armature again With Automatic Weights, this fixed some issues but some parts of the hands and feet were stuck without being able to deform.

It deforms oddly on joints, wrist issue can be seen

Weights seem to be as they should, nothing visibly out of place.

While in edit mode, everything seems to be normal

Same issue is present on knees

The issue extends throughout the model

Even though it wouldn't take me as long to redo the model, I would like to keep the current one and figure out how to fix this, as if it happened once, it could happen twice and on a more complex mesh.

Even after deleting IK targets and poles and re-parenting the armature With Automatic Weights some issues were present, and manual weight painting didn't fix them.

You have too much influence on the other side of the joint.  If you remove some or all of the bone weight on the vertices opposite of the joint, you should see this particular issue mitigated.

However, joints that bend over 90 degrees or have complex movement are difficult to rig in general.  You can mitigate this some with topology that takes the movement into account, see this polycount wiki for examples: http://wiki.polycount.com/wiki/Limb_Topology

Your character seems to be designed to be somewhat...noodly... so you might want to consider having an elbow bone to smooth the bend and preserve that style.


How do I move the camera in any perspective mode so the reference image doesn't vanish? I use the Shift + F method to move my camera when I'm modeling(which makes my background image/reference vanish) but lately I watched this person who could move the camera without the BG image vanishing:
https://www.youtube.com/watch?v=iI3zaenro-M

This would be incredibly helpful but I simply don't know how to do that and my google searches have turned up nothing, so I really need some help from the community on this :)

Your background image will vanish as soon as you leave orthographic view or rotate the camera to an angle the background image isn´t set for.

Just stay in orthographic view (Numpad 5) and use Front View (Numpad 1), Side View (Numpad 3) and Top View (Numpad 7) to change the directions; for the opposite of those views press Ctrl as well.

To move your current view without rotating just press Shift and drag your view with Middle Mouse Button


How do I separately apply color correction to a model and video clip? So I'm making a scene where I put my model in a clip I tracked. I think the lighting looks good but the colors of the model itself look overexposed compared to the "flat" colors of the video (this is game footage, that's why it looks flat).

I would like to know how to apply color correction on only the model so that it matches the scene colors. I'm gonna apply overal color correction in other software when rendered to make it look better.

I added a screenshot (quality much better in blender) so u can see what the problem is. Thanks!

OK, so here is what I would do:
I would strongly suggest that you render your model and put it on top of your image in 2D by simple image/videocomposite. Render out an exr or png sequence and then re-import that in Blender and use an alpha-over node in the compositor (you can also use any video editing software that way)
Then you can just put your image through any CC nodes and process it before merging.
I would also suggest using EEVEE, since you don't have any detail that relies on caustics. Should turn those 40min into 40s.
And as final tip: If you are using motion blur or depth of field, leave the plane in the background, but turn off camera visibility. This way it will already blend into the blurred areas saving you a lot of fine-tuning.


How do I join seamlessly two identical components? Scenario in the pictures. I've been trying to join the four selected faces into one long rod, but I fail to do so seamlessly. I tried to (F)ill the faces and merge the vertices, but it creates other unconnected edges that mess up the shading and everything.

Use right click (Context menu) > Bridge Faces. It will automatically delete the inner faces.


How to get data and edit it on UV map edges? I have a UV map. I want to get texture pixels around connected mesh sides like this (selected in pink and red):

or even on separated islands like this:

How to do such thing with Python Blender API?

In theory I understand that one shall do something with bpy.ops.uv.select_border yet what to do then:

How to get UVs that shall be "on the other side of the edge" for some part of border UVs?
How to get pixel coordinates on the texture?

Make a "UV" bmesh

Given the mesh object above with UV, make a bmesh from the uv's

loop faces
loop face loops add a vert to new bmesh at uv.x, uv.y, 0
create a face from verts
remove doubles
(optionally) dissolve non boundary edges
(optionally) remove faces.
added an integer layer to both verts and faces with the index of the orignal verts and faces.

Test script, run in object mode

import bpy
import bmesh

context = bpy.context
ob = context.object
me = ob.data
bm = bmesh.new()
bm.from_mesh(me)
uvbm = bmesh.new()

uv_layer = bm.loops.layers.uv.verify()
vert_index = uvbm.verts.layers.int.new("index")
face_index = uvbm.faces.layers.int.new("index")
# adjust uv coordinates
for face in bm.faces:
    fverts = []
    for loop in face.loops:
        uv = loop[uv_layer].uv
        v = uvbm.verts.new((uv.x, uv.y, 0))
        v[vert_index] = loop.vert.index
        fverts.append(v)
    f = bmesh.ops.contextual_create(uvbm, geom=fverts)["faces"].pop()
    f[face_index] = face.index

# remove doubles

bmesh.ops.remove_doubles(uvbm, verts=uvbm.verts, dist=1e-7)

'''

# ignore face indices of original if using any option here
# optionally disolve non boundary edges

bmesh.ops.dissolve_edges(uvbm,
        edges=[e for e in uvbm.edges if not e.is_boundary],
        )

# optionally remove faces

faces = uvbm.faces[:]
while faces:
    uvbm.faces.remove(faces.pop())
'''
#make an object to see it
me = bpy.data.meshes.new("UVEdgeMesh")
uvbm.to_mesh(me)
ob = bpy.data.objects.new("UVEdgeMesh", me)
bpy.context.collection.objects.link(ob)
ob.show_wire = True

# make a LUT based on verts of original
from collections import defaultdict

edge_pairs = defaultdict(list)
boundary_edges = [e for e in uvbm.edges if e.is_boundary]

for e in boundary_edges:
    key = tuple(sorted(v[vert_index] for v in e.verts))
    edge_pairs[key].append(e)

# print result, add text object to show matching edges

uvbm.verts.ensure_lookup_table()
for key, edges in edge_pairs.items():

    print(key, [e.index for e in edges])

    for e in edges:
        if not e.is_boundary:
            continue
        f = e.link_faces[0]
        p = (e.verts[0].co + e.verts[1].co) / 2
        p += (f.calc_center_median() - p) / 4
        bpy.ops.object.text_add(radius=0.04, location=p)
        bpy.context.object.data.body = f"{key}"

Creates a bmesh, here it is converted to a mesh

The xy coordinates of the "UV" bmesh are UV coordinates.  The only edges are uv boundary edges.  Convert to pixel coordinates using the data.

Uses the method here to associate  verts with  original using the method here https://blender.stackexchange.com/a/70729/15543 to store the indices of original verts / edges in a data layer of "UV" bmesh.

Output on example above.  First row, the two edges that are made from vertices 0 and 1 from original mesh are edges 0 and 14 in "UV" bmesh.

(0, 1) [0, 14]
(0, 2) [1, 17]
(2, 3) [2, 4]
(1, 3) [3, 22]
(2, 6) [5, 16]
(6, 7) [6, 8]
(3, 7) [7, 23]
(4, 6) [9, 19]
(4, 5) [10, 12]
(5, 7) [11, 20]
(0, 4) [13, 18]
(1, 5) [15, 21]

EDIT: To visualize this further, added a text object to each face from each edge. Eg see where the edge made of vertices (i, j) is matched on two faces.   Each text object is located inset one quarter of the way from edge centre to face centre.

Alternatively could have simply printed original vert indices at verts

Remember the uvbmesh is in UV coordinates mapped in the real number range [0, 1] in U and V.  The pixel coordinates is simply mapping this into discrete integer range based on image dimension.


How do I add separate transparent images on an object? I'm a beginner on blender and I'm still trying my best to understand nodes, UV editing and basically everything texture related. I am trying to make a story dice which means I am trying to add transparent images to each side of the dice. I know how to do the shrink-wrap method but am trying to learn the proper way of adding materials to an object. I have a feeling it will probably be quite an obvious process but I have been trying at this for hours and am getting sort of desperate..

From the images you can see my attempts at trying to use mix nodes so I can have my transparent images show through the base color, but I cant seem to get more than 1 different image type per face, they either are all the same image or simply don't show. I hope this makes sense and I GREATLY appreciate any help that comes my way! (also why do i have so many materials, how do i delete them!?)

In your case, it'd be easier to have all the symbols inside one image texture.
Then you just rearrange the UV map.


How to use a transparent material with mist in Blender Internal? I have a leaf material that I want to use in the mist. (Blender Internal renderer) when choosing Z Transparency, the result looks incorrect. Look at the tree in the center, all the leaves looks too vivid compared to the correctly faded bark.

When I changed it to Raytrace, the mist occlusion of the tree at center looks correct, but the transparent part around the texture has a color which is pre-mist.

Actually, the mist seems to be in effect as when I turn off the mist the color became more vivid, but it looks like the mist behind them has no effect. (So leaves in the front of camera looks more bugged as more mist is behind them)

The leaf material consist of an image that affects color and another image that affects alpha.

More images to help debugging. In Z Transparency the part where leaves overlap looks more vivid.

In Raytrace, the part where leaves overlap is OK, but the transparent part around them uses only mist in front of them. It should not use any mist and became see through to be correct.

This is the scene without mist.

Another observation with Z Transparency, I use the viewer to view a mist pass. When I have Use Mist off the overlapping leaves does not get transparent.

But with Use Mist, it somehow adds strange transparency where they overlap.

And the scene does not use any AO, Indirect Lighting, or Environment Lighting. Thanks for your help.

I ended up turning off all the "Use Mist", use Z Transparency where the mist pass image looks correct, and then use that to create my own mist with a compositor instead. It's OK now, plus I can process the mist to color differently.


Are curve physics possible? For example, I'm using a tree generator addon that creates trees in curve form. I have a strong wind forcefield in the scene as well for the grass. Is it possible to apply the curve to the physics?

Physics and simulations generally only affect mesh or particle objects, you often have to convert your curves to a mesh.
If you are using the builtin Blender tree generator Sapling Addon it even has an option to create an animated armature with wind animation, but even then, has far as I know you will have to convert it to mesh to work.

You may keep a copy of the original curve object in a separate scene or another layer in case you need to go back and change something.

It is however possible to use some basic soft body physics on Curve objects if it is well subdivided, although it does not work very reliably.

It seems most settings don't have any effect, except for the Self Collision options, as stated Quick Noodle Physics in Blender Tutorial Youtube Video

The trick is using a highly subdivided curve, there must be lots of actual vertex (display subdivisions are insufficient), then tweak the parameters under Soft Body Self Collision like *Ball Size and Stiffness and turning off Soft Body Goal.

Some other objects set to Collision Physics type must be present at the scene for interaction.


Mirror modifier - the mirrored half is darker I am working on a complex project with different 3D models I downloaded from the internet.

I have to mirror many of them relative to the global x axis (I used a plane as mirror object), but as you can see the mirrored half is darker both in solid and rendered view. The material is the same, the lighting is uniform, the normals seem to be correct and there aren't double vertices.

Also, I would very prefer to not apply the modifier

Here there is a simple .blend with one of the objects that give me this problem:

I found the solution: the issue was caused by the plane's rotation.

It seems like the Mirror Modifier doesn't work when the mirror object is rotated, so I needed to apply the rotation of the plane to make it work


How can I automate this kind of Blender 2D animations? I've started using blender VSE only for now, as my essential tooling for creating this kind of free educational resources for children:
My Video example

And I'm asking you about a way to automate this kind of Blender VSE projects, because I'm new to the animation world, and from my little experience, it is very time consuming.

Blender can do many of the effects seen in this video, but the drawing and colouring in effect is  screen capture.
Having said that you can sort of fake it by capturing a drawn frame, using Grease Pencil in the VSE preview window. Grab it by rendering with the OpenGL render button. Thats the little camera button highlighted in yellow.

You can re-import this frame and wipe it on over the clean frame. Remember to turn off the Grease Pencil layer.


How can I move part of a mesh along the right orientation? When I use a mirror modifier for my mesh and try to move something, the normal orientation distorts the mesh.

It turns this

into this

When it should turn it into something more like this, but with greater precision.

How can I fix it, so that I can move the part of the mesh across the right orientation?

IMO, a convenient solution is to use two 3d windows so you can have multiple views simultaniously. The left window is oriented is in your picture, the other is an orthogonal view (left, front, top, bottom, back right). In the latter view (highlighted), use the red and blue arrow to move:


Show crease value for selected edge. Python I need a help with this.
I know it exist in N panel Item tab

I want this block in my custom addon panel, no need to be editable fields, just show values if edge/s selected.

So if anyone interested this is what I wanted to achieve

    import bpy, bmesh
    from bpy.types import PropertyGroup, Panel, Operator, Menu

    # Add-on info
    bl_info = {
        "name": "Crease and Bevel",
        "author": "TLousky, APEC, deadpin",
        "version": (0, 0, 1),
        "blender": (2, 83, 3),
        "location": "View3D > Properties > CaB",
        "description": "Shortcut UI panel for Mesh edge crease and bevel weight properties",
        "doc_url": "",
        "tracker_url": "",
        "category": "3D View"
    }

    ###########################################################################################
    ################################### Functions #############################################
    ###########################################################################################

    #https://blender.stackexchange.com/questions/44787/python-code-for-edge-data-bevel-and-crease-weight/187853#187853
    class creaseAndBevelPG(PropertyGroup):
        ## Update functions
        def update_bevelWeight( self, context ):
            ''' Update function for bevelWeight property '''

            o  = bpy.context.object
            d  = o.data
            bm = bmesh.from_edit_mesh( d )

            #bevelWeightLayer = bm.edges.layers.bevel_weight['BevelWeight']
            bevelWeightLayer = bm.edges.layers.bevel_weight.verify()

            if self.whoToInfluence == 'Selected Elements':
                selectedVerts = [ v for v in bm.edges if v.select ]
                for v in selectedVerts: v[ bevelWeightLayer ] = self.bevelWeight
            else:
                for v in bm.edges: v[ bevelWeightLayer ] = self.bevelWeight

            bmesh.update_edit_mesh( d )

        def update_edgeCrease( self, context ):
            ''' Update function for edgeCrease property '''

            o  = bpy.context.object
            d  = o.data
            bm = bmesh.from_edit_mesh( d )

            #creaseLayer = bm.edges.layers.crease['SubSurfCrease']
            creaseLayer = bm.edges.layers.crease.verify()

            if self.whoToInfluence == 'Selected Elements':
                selectedEdges = [ e for e in bm.edges if e.select ]
                for e in selectedEdges: e[ creaseLayer ] = self.edgeCrease
            else:
                for e in bm.edges: e[ creaseLayer ] = self.edgeCrease

            bmesh.update_edit_mesh( d )

    #        selectedEdges = [ e for e in bm.edges if e.select ]
    #        for e in selectedEdges: print(e[ creaseLayer ])

        ## Properties
        items = [
            ('All', 'All', ''),
            ('Selected Elements', 'Selected Elements', '')
        ]

        whoToInfluence = bpy.props.EnumProperty( # Material distribution method
            description = "Influence all / selection",
            name        = "whoToInfluence",
            items       = items,
            default     = 'Selected Elements'
        )

        bevelWeight = bpy.props.FloatProperty(
            description = "Bevel Weight",
            name        = "Set bevel Weight",
            min         = 0.0,
            max         = 1.0,
            step        = 0.01,
            default     = 0,
            update      = update_bevelWeight
        )

        edgeCrease = bpy.props.FloatProperty(
            description = "Edge Crease",
            name        = "Set edge Crease",
            min         = 0.0,
            max         = 1.0,
            step        = 0.01,
            default     = 0,
            update      = update_edgeCrease
        )

    def get_crease_selected():
        o  = bpy.context.object
        d  = o.data
        bm = bmesh.from_edit_mesh( d )

        creaseLayer = bm.edges.layers.crease.verify()

        selectedEdges = ""
        for e in bm.edges:
            if e.select:
                selectedEdges += (str(round(e[ creaseLayer ], 2)) + ' ')
        return selectedEdges

    def get_bevelWeight_selected():
        o  = bpy.context.object
        d  = o.data
        bm = bmesh.from_edit_mesh( d )

        bevelWeightLayer = bm.edges.layers.bevel_weight.verify()

        selectedVerts = ""
        for v in bm.edges:
            if v.select:
                selectedVerts += (str(round(v[ bevelWeightLayer ], 2)) + ' ')
        return selectedVerts
    ###########################################################################################
    ###################################### UI #################################################
    ###########################################################################################

    class creaseAndBevelPanel(Panel):
        bl_label = "Crease and Bevel"
        bl_space_type = 'VIEW_3D'
        bl_region_type = 'UI'
        bl_category = 'CaB'

    #    @classmethod
    #    def poll( self, context ):
    #        ''' Only show panel if there is an active mesh object '''
    #        return context.object and context.object.type == 'MESH'

        def draw( self, context ):
                layout = self.layout
                props  = context.scene.creaseAndBevelPG # Create reference to property group

                #box = layout.box()                    # Draw a box
                #col = box.column( align = True )      # Create a column
    #            col = layout.column( align = True )
    #            if (context.active_object is not None) and (context.active_object.mode == 'OBJECT'):
    #                col.enabled = False
    #            col.operator("select.edge_crease_value", icon = 'SORTBYEXT')
    #            col.prop( props, "whoToInfluence"  )  # Add properites to panel
                col = layout.column( align = True )
                if context.active_object.mode == 'EDIT':
                    #col.label(text='Weight value: ' + "%.2f"% round(get_bevelWeight_selected(), 2))
                    col.label(text='Weight value: ' + get_bevelWeight_selected())
                    col.label(text='Crese value: ' + get_crease_selected())
                if (context.active_object is not None) and (context.active_object.mode == 'OBJECT'):
                    col.enabled = False
                col.prop( props, "bevelWeight"     )
                col.prop( props, "edgeCrease"      )

    ###########################################################################################
    ##################################### Register ############################################
    ###########################################################################################

    classes = (
                creaseAndBevelPG,
                creaseAndBevelPanel,
    )

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

        bpy.types.Scene.creaseAndBevelPG = bpy.props.PointerProperty( type = creaseAndBevelPG )

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

    if __name__ == "__main__":
        register()


Is there any root motion workflow that doesn't require feet adjustments on frame by frame basis? been searching for an hour or so, but wasn't able to find an specific answer about this problem. I need to make animations moving the character's root around for my game, so in place animations aren't a possibility. For now, I moved just the root bone (whole character) in straight line to ensure it has the speed movement I need in game, but now I need to start to add the actual feet movement to this animation movement. It happens that both feet follow the root movement (obviously), even when one of them should be planted. I did find some information pieces around the web, but nothing fixed this problem for me. I really need a best workflow for this, cause fixing the feet position on frame by frame basis seems to be a very bad, not to mention time consuming, way to do things.
I even considered unparent the feet from the root, but I'm positive this will cause problems in Unity as I need to use Humanoid rig there, which presupposes that the whole bone chain is connected to a single root.
I'm using Blender 2.8 and my rig was genereted by Makehuman, with the optimized for game engines option checked.
Does anynone knows a good workflow for this case? Maybe I missed something in my previous searches, cause this doesn't seems to be a big deal at all, it must have a better way to this..
Thanks in advance for any insights.

So a guy on Blender Artists gave a suggestion that worked in my first test. Create 2 auxiliary bones and link them on each foot using the copy transform modifier, this makes the feet follow these auxiliary bones instead of the root, overwriting the original parenting of the armature for the animations, while keeps the original parenting scheme in place for exporting.
If anyone need more details on this method, the complete answer can be checked at:
https://blenderartists.org/t/is-there-any-root-motion-workflow-that-doesnt-require-feet-adjustments-on-frame-by-frame-basis/1247260


Bump map node giving mesh blocky shadows and no lighting It's been happening the last couple of days, but whenever I attach the Bump node to diffuse or any other property, the mesh becomes darker and it gains dark blocky shadows, it almost looks like I've applied the toon shader on it. No matter how my times I use the subsurface tool, the shadows never smooth out and I never get my bump map effect.
This is the exact beginning setup that I've done on multiple occasions, but recently it's been wigging out on me, I want to know the reason why it's doing this.

Edit  The Second image is me doing the same beginning node setup with the outcome looking way different. There's something I'm missing but I don't know what

As cegaton said, connect your Image texture node to Height socket instead of Normal.
Also change the first dropdown from Color to Non-color data.


Image won't show in renders I use images as planes(drag and drop), but they won't show up in either Evee or Cycles.
How can I make images show up in render?

Drag and drop, do you mean you drag and drop a picture from your file explorer to Blender's viewport? If I remember correctly it doesn't crate a mesh plane but an image empty, which can't be rendered.
If you want to import images as planes, use the addon conveniently named "import images as planes". It is shiped with Blender, you just need to enable it in the preferences. Then use the penu File → Import → Images as planes. When navigating in Blender's file explorer, you can open the sidebar and play with the import options, like the shader used for import, as you wish.


What's the "deselect all" hotkey in Blender 2.8x? Recently I've been trying to transition from an earlier version of Blender to 2.82. The UI is easy enough to figure out but the thing that really gets me is the bind to deselect all. In earlier versions, I could press A to select and deselect all but now I have to press Alt+A to deselect which really bothers me. If possible, I would like this to work in both Object and Edit mode.

I've tried going into preferences and changing the (de)select binds from Alt+A to A but it hasn't worked.

In essence, I want the keymapping to be the same as in earlier versions of blender; A to select and deselect all.

The old behaviour is still available in Blender 2.82. Go to the Keymap section of Preferences, and in the first panel (titled ‘Preferences’) tick the ‘Select All Toggles’ option.


3-Dimensional Voronoi Mesh I'm trying to create a 3-dimensional voronoi mesh as packaging for a 3D-printed ceramic part. I want to print it with a rubber like material to absorb against shocks.
I imagine a Strukture with a relative open outer shell and a dense core around the ceramic part.

My best attempt so far was creating the packaging and subracting the space that has to be left free for the ceramic part using the boolean-modifier.
then I added a particle system to the ceramic part and removed gravity in order to let them spread in all directions uniformily (more particles closer to the centre).
Based on these particles I used the Cell-Fracture-Tool where I removed the margin. After that I used limmited dissole and remove doubles to get rid of unecessary geometry.

Unfortunaly the skin modifier takes ages on my pc and the level of complexity so I couldn't get it to work/adjust it properly.
My other guess was to convert the mesh to a curve and give it a thickness. This works pretty well but I would like to get the corners just a little bit rounder and organic, but the subdivison modifier leads to a "stringy" resoult.

test without sudivision:

test with sudivision:

Does anybody know other ways to make a mesh with the features described where I have more controll over the resoult?
Help for a more uniform look of the resoult (is there a way to make particles speed up or to controll the way they spread -> like a dodecaeder grid?), or just how i controll the edges would be greatly appreciated!

P.S.: The object in the picures is just a Ico-Sphere inside a Cube!

TL;DR: use wireframe modifier and a subdivision modifier.
Blender 2.9 instructions
Step 1: particle system

Step 2: Cell fracture
Enable the add-on cell fracture

Hit okay

Step 3: Joining
select new pieces

Join

In edit mode, merge nearby verts:

Step 4: Wireframe
Add wireframe modifier (disable Even Thickness)

Add remesh modifier with voxels in order to repair broken geometry from wireframe modifier

Step 5: smoothen
Add decimate modifier to simplify geometry

Add subdivision modifier to smooth the surface


How to procedurally model a non-linear screw? / non linear modifier I am trying to achieve a non linear (gradually) screw procedurally, by this I mean the distance between each turn of the screw get smaller and smaller, this result should be obtain with modifier in a procedurally way, to get control over distance between the loop/size of the loop.
Basically it would be similar as an antelope horn (as we get closer to the head, the distance between the horn "twisted ring" get smaller):

Here is my setup:
I started from a two vertices edge
Then I add this bunch of modifier: screw - solidify - subdivision - lattice.
This gave me a spring...

...and by deforming the lattice I get this shape. And here is the big question : the distance between the "ring" decrease but only because the height of the ring decrease (this also cause the angle of each ring to change). How can I gradually decrease this distance without changing the height of the ring (I still want the radius of the first one to be bigger than the radius of the last one)?

By applying the modifier and scale/move the top vertices with proportional editing I get something like that:
But I am looking for a solution without applying that much modifier, to keep more control.

this question can be extended to other modifier: how to use the array modifier in a non linear way ?
By this I mean the distance between each instance is multiplied by 1.3 for exemple, meaning there is more and more distance between object as in this picture:

with this node group you can control the distance of an array of objects:

RESULT:
https://youtu.be/2QJ8b9MexNY


Does higher samples and viewport mean a better quality of render? I am using evee in 2.8. What exactly does samples and viewport mean? My samples are currently set at 64 and viewport set at 16. If either of these increase does that increase the quality of my final render?

The render samples are what impacts your final render, when you render with F12 or Render > Render Image / Render > Render Animation.  As a rule of thumb, more samples mean less noise in the render. The difference may not be as obvious as in Cycles, because Eeeve is doing rasterization and not  path tracing.

Eevee render with 16 samples

Eevee render with 64 samples

Close-up 16 samples

Close-up 64 samples

The viewport samples are for the preview in the viewport, when you choose Display Render Preview.


Why does fire take so long to render? This is actually more of a general question, but why does fire take much longer to render despite baking?  I've done a lot of reading about fire/smoke simulations and liquid, and even at only 128 resolution (for the fire domain) and 500 samples (at 1920X1080 and 50% camera resolution) each frame of my scene takes about 30-45 min to render with a Nvidia GeForce GTX 860M GPU.  It's not so much a complaint as wondering if I am missing something or if this is just the way it is?  Hopefully this could help others who are working with fire/smoke simulations as well.

If you require screen shots or more info let me know.

Thanks!

Because fire is a volume, and volume rendering is slow. First of all, the baking you did doesn't help with rendering, it just caches the simulation itself. Anyway, the problem with rendering volumes is that you can't just sample the shader once at the surface like you can for solid objects. To render a volume, you need to evaluate the shader and sample what light is available multiple times along the transit through the volume. The finer the detail in the volume, the more steps you need to sample. The distance between steps in controlled by the "step size" attribute:  The distance is in meters, although the property doesn't show as distance for some reason. You don't need a step length any smaller than 1/2 the size of the smallest volume detail. For a smoke/fire sim, that would be the size of your voxels. You can find this for Blender's smoke sim by getting the dimensions of your domain, and plugging the length of the longest size into the formula: voxel size + length / (base res * (hi-res level + 1)). So a 10m domain with 80 res and 2 hi-res divisions would be 10 / (80 * (2+1)), or about 4cm.

There is also a "max steps" option you can use to force it to stop at some point along the path, although I'd recommend avoiding this control. Running out of steps mid-volume can potentially give some weird shading.

Additionally, if you're using the volume scatter shader, rays can be scattered (aka deflected) during the volume transit. And if your volume bounces is set greater than 0 under render settings > light path? That scattered path can scatter again. So higher values for volume bounces can increase render times a lot. Too few volume bounces can lead to dark volumes, especially for highly reflective clouds such as water vapor. You can compensate for this by adding some (more) emission to the volume if needed.

One way you can optimize a bit for smoke and the like is to prevent the shaders from running if the density is below a certain threshold. The node setup looks like this:

If the density is below the value set in the "less than" math node, it will output 0, causing the mix shader to switch to it's second socket, which as no shader. Thus, the volume closures are only executed if there's a enough density for it to matter. Figuring out the proper value for the less than node might take some trial and error.


Control speed of particles on a Curve Guide? I am trying to control the speed of the particles that I have set up with a Curve guide. I have changed the settings for Drag and Damp along with Timestep and none of these affect the speed. Also I have tried every setting in the Velocity drop down under particle systems and also no luck.

What else could I try to slow down these particles?

For slower particle speed change the lifetime of the particle to a larger value.

Click on image to see original larger version.

You may also need to make other artistic adjustments.


How to achieve a stylized burning (Wireframe) effect? I tried many fire simulations, I googled hours of hours about all imaginable keywords* in all sorts of combinations and I followed many many tutorials about smoke simulations. But I don't actually quite get an effect like in this 3d projection mapping video, starting at around 1:35 until 1:50 min which is exactly what I try to achieve.

* The main keywords I used for searching: fire, smoke, simulation, flame, blender, ignition, burning, candle, heat, tutorial, video, howto, explained

Does anybody know, how to do this? I want to use Cycles for rendering, but my question is more about the particle systems settings.

Sebastian Łukaszuk, who created this effect originally, gave me this hint via mail: "Everything needed for the burning cube effect is some particle systems with small particles and force fields (turbulance and wind)."
He created it in the good old Blender Internal in September 2012. But since the new Point Density Texture feature it should be able to be done in Cycles as well.

Gottfried Hoffmann already brought out a video training about this "more sylized fire effect". And he already told me, that the "Basic Effect" is heading into this direction, so with it it should be possible to inflame a cube like this. He's now up to bringing an update to his course that shows how to produce such a stylized fire with this Basic Effect.

I would like to know specific fire simulation/particle system settings for Cycles and needed Effect Fields to achieve this stylized fire effect. I don't need a general "How To" of setting up a Smoke Simulation - there are already enough tutorials out there for this topic and I know how to render fire with Cycles in general. The result should look pretty much like shown in the mentioned video including the beginning "ignition" effect... The wireframe cube is just a good example Object (you can use Suzanne as well) - my question is not about the cube itself, but about the fire effect and how to set it up as in the end I want to transfer this burning style to different models.

The color effect I try to achieve is exactly what was done for the great old 2.62 splash screen:

Create a Cube or use default object and apply a Wireframe modifier.

with the cube selected go to the Physics properties panel and turn on Smoke. Set the flow type to Flame and Flow Source to Mesh (not particles).

Add another cube around the first one, this will act as the rendered domain object.

Set the volumetrics as follows, be sure to turn on Adaptive Domain to reduce processor load.

Go to the Domain object's material settings and set up the Blender Internal values as follows or look for Cycles nodes instead. If in doubt create another cube then select it and perform a Quick Smoke effect. Then you can use and modify the automatically generated material on your object.

It should look like this:

To change the nature of the flame (but not it's shape), you can change the density of the Domain Object's volume material and the texture blend in the texture properties


Sun Lamp not shining through Glass I've set up my first scene in experimenting with lighting and glass, and at one point I managed to have the Sun lamp object shine through the windows and cast intense shadow inside the room. This was exactly what I wanted. However, in trying to switch to 'Cycles' mode, my PC crashed. I lost those few hours of work. No big deal, except I can't make the transparency work again.
Emission objects seem to pass their light through the glass, but the Sun lamp I set up isn't. This is really frustrating! Image is attached for reference of nodes used (yes, it's Principled BDSF but I used a Glass node earlier and it still didn't work as intended.) I really would love some help

in eevee you can use this setup:
-> important is the blend and shadow mode of the material.

if you then toggle to cycles, it works as well:

and here is the blend file:


How to rig a folding laptop with a hinge? I am trying to animate a 2 in 1 laptop, but I'm doing it manually when it comes to the hinge part holding them together.

My question is how to rig this, so that I can just drag either the screen or the keyboard chassis and not worry about the hinge?

I take it that the screen will always remain at the same angle relative to the hinge? If that's the case, move the origin of the hinge to the desired pivot point and parent the screen to the hinge. Then, you can parent the hinge to the keyboard.

By doing so, moving the keyboard will move the hinge, and rotating the hinge will rotate the screen. However, you won't be able to rotate the hinge+screen by grabbing the screen in this case, that will just detach the screen. This is Rig 1 in the included blend file.

If you don't want to move the hinge's origin, you can add an Empty Axis at the pivot point. Parent the hinge and screen to the empty, and the empty to the keyboard.
In this case, the screen and hinge are controlled by the empty, and the empty, screen and hinge will be moved around if you move the keyboard. This is Rig 2.


Cycles procedural material displacement is different (up/down) on different faces I've been creating a procedural material (white a bit glossy paint with rusty dents). I've created most of it without problems, but when I connect output of noise node (after few modifications) to displacement socket of material output, some of the dents are correct (downwards) and some of them are upwards. Is there a way to force it to be directed always in the opposite side of normal? (Make it always go downwards into the face)

You could use a color ramp and set the black value to a grey to add a plateau:

Node setup:


How can I access the graph editor for keyframes on node values? I'm trying to get rid of the acceleration of the mapping node keyframe but I can't find where I can adjust it.

There is a filter setting, in the graph editor. Most likely, you need to turn off "only show selected", then you can choose the element types you want to see:


Planet texture generator What cross-platform (or cross-browser) resources are available to help make texture maps for generating  beautiful planetary images using Blender (Cycles)? Ideally, these would include:

Terrain maps (colour, land, ocean, lakes, rivers, mountains, etc.)
Height maps (normal and bump)
Specular masks (land mask)
Cloud maps
Gas giants

Custom Texture Map Generators

Software to help generate planetary texture maps.

Rye Terrell's texture map generator
Planet generator
TerraNoise
PlanetMaker
Sci-Fi World Generator (Map Palette option has a land mask)
Experilous Planet Generator
Cloud Maps
Fracplanet
Terraform (X11)

Java

TerraJ
Planet Genesis (website)

Unavailable

Software that is offline, defunct, unreleased, or otherwise unavailable but still potentially useful.

Fractal Worldmap Generator (defunct)
Scientific Exoplanets Renderer (unreleased)

Source Code

Links to uncompiled software.

Planet generator (mirror 2)
Planet generator
http://www.oocities.org/area51/6902/t_torben.html (Java version of Torben's code)
https://github.com/unconed/NFSpace
https://github.com/fluffyfreak/GLSLPlanet
Fracplanet
Fractal Worldmap Generator

Free Maps

Maps of various resolutions (often without specular, cloud, or normal maps).

Extraterrestrial Planetary Surface Texture's for Imaging Professionals
Flatplanet
Planet Texture Maps 01 (by Hameed)
Pix For Planet Texture Maps (various, license unknown)
Deep Time Maps
Maps of Fictional Worlds

Solar System

NASA Images and Textures
Planetary Pixel Emporium
JPL/Cassini Saturn's Moons

Tutorials

Comprehensive web pages that describe various ways to craft realistic texture maps.

Making Worlds (C++)
http://xnameetingpoint.weebly.com/planets1.html
libnoise (how to use the API)
Using "Planet" for 16-bit maps
Orthographic projection of 2D SVG texture map onto 3D SVG sphere

GIMP

Creating Normal Maps
GIMP Planet Making

Photoshop

Create Planets in Photoshop

Binaries

Binaries that run under Windows and Wine.

Planet Editor
Wilbur (run winetricks vcrun2010 to install missing DLLs)

Related

Related information about planetary texture maps.

Rules Can Be Beautiful (TEDx Talk, jump to 7m 30s)
Procedural Planets, Heightmaps and Textures

Research, Whitepapers

Height Maps, Cube Maps, etc.
Planet Map Generation by Tetrahedral Subdivision
Procedural generation and realtime rendering of planetary bodies
Planetary Scale Terrain Composition

Palettes

Cartography palettes for planetary colours.

Standard Color Palettes for Relief Maps
Archive of colour gradients

Long Live the Rainbow

Creating beautiful relief models

Best Colour for Elevation (no snow)

Best Colour for Elevation (with snow)

ESRI Mapping Center

Red, Blue, Green

Palettes given as red, green, blue values.

Snowball colors

Palette {
  Class          "IceWorld"
  StyleRange     (0.00, 0.00)
  colorSea       (1.00, 1.00, 1.00, 0.50)
  colorShelf     (0.95, 0.95, 0.95, 0.50)
  colorBeach     (0.80, 0.80, 0.80, 0.75)
  colorDesert    (0.85, 0.85, 0.85, 1.00)
  colorLowland   (0.87, 0.87, 0.87, 1.00)
  colorUpland    (0.93, 0.93, 0.93, 1.00)
  colorRock      (1.00, 1.00, 1.00, 1.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

White-brown colors

Palette {
  Class          "IceWorld"
  StyleRange     (0.00, 0.00)
  colorSea       (0.30, 0.25, 0.22, 0.00)
  colorShelf     (0.37, 0.31, 0.28, 0.00)
  colorBeach     (0.56, 0.47, 0.42, 0.20)
  colorDesert    (0.70, 0.70, 0.70, 0.50)
  colorLowland   (0.70, 0.70, 0.70, 0.80)
  colorUpland    (0.65, 0.65, 0.65, 1.00)
  colorRock      (0.60, 0.60, 0.60, 1.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Blue ice

Palette {
  Class          "IceWorld"
  StyleRange     (0.00, 0.00)
  colorSea       (0.30, 0.25, 0.22, 0.00)
  colorShelf     (0.37, 0.31, 0.28, 0.00)
  colorBeach     (0.65, 0.86, 0.88, 0.20)
  colorDesert    (0.59, 0.76, 0.80, 0.50)
  colorLowland   (0.93, 0.95, 0.95, 0.80)
  colorUpland    (0.90, 0.98, 0.98, 1.00)
  colorRock      (0.60, 0.60, 0.60, 1.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Purple colors

Palette {
  Class          "IceWorld"
  StyleRange     (0.00, 0.00)
  colorSea       (0.30, 0.25, 0.22, 0.00)
  colorShelf     (0.37, 0.31, 0.28, 0.00)
  colorBeach     (0.82, 0.77, 0.81, 0.20)
  colorDesert    (0.64, 0.52, 0.56, 0.50)
  colorLowland   (0.53, 0.41, 0.44, 0.80)
  colorUpland    (0.56, 0.41, 0.45, 1.00)
  colorRock      (0.60, 0.60, 0.60, 1.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Orange impurities

Palette {
  Class          "IceWorld"
  StyleRange     (0.00, 0.00)
  colorSea       (0.30, 0.25, 0.22, 0.00)
  colorShelf     (0.37, 0.31, 0.28, 0.00)
  colorBeach     (0.98, 0.98, 0.96, 1.00)
  colorDesert    (0.73, 0.35, 0.14, 0.50)
  colorLowland   (0.82, 0.37, 0.17, 0.80)
  colorUpland    (0.98, 0.98, 0.96, 1.00)
  colorRock      (0.60, 0.60, 0.60, 1.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Pardo

Palette {
  Class          "IceWorld"
  StyleRange     (0.00, 0.00)
  colorSea       (0.30, 0.25, 0.22, 0.00)
  colorShelf     (0.37, 0.31, 0.28, 0.00)
  colorBeach     (0.78, 0.75, 0.64, 1.00)
  colorDesert    (0.51, 0.44, 0.34, 0.50)
  colorLowland   (0.63, 0.58, 0.45, 0.80)
  colorUpland    (0.91, 0.90, 0.75, 1.00)
  colorRock      (0.39, 0.39, 0.23, 1.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Ganymede 2

Palette {
  Class          "IceWorld"
  StyleRange     (0.00, 0.00)
  colorSea       (0.30, 0.25, 0.22, 0.00)
  colorShelf     (0.37, 0.31, 0.28, 0.00)
  colorBeach     (0.77, 0.70, 0.64, 1.00)
  colorDesert    (0.82, 0.75, 0.69, 0.50)
  colorLowland   (0.73, 0.70, 0.64, 0.80)
  colorUpland    (0.69, 0.65, 0.61, 1.00)
  colorRock      (0.53, 0.43, 0.37, 1.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Brown-grey colors

Palette {
  Class          "IceWorld"
  StyleRange     (0.00, 0.00)
  colorSea       (0.30, 0.25, 0.22, 0.00)
  colorShelf     (0.37, 0.31, 0.28, 0.00)
  colorBeach     (0.60, 0.56, 0.54, 1.00)
  colorDesert    (0.49, 0.36, 0.25, 0.50)
  colorLowland   (0.75, 0.69, 0.66, 0.80)
  colorUpland    (0.76, 0.74, 0.70, 1.00)
  colorRock      (0.25, 0.21, 0.15, 1.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Blue-grey

Palette {
  Class          "GasGiant"
  StyleRange     (0.00, 0.00)
  colorSea       (0.28, 0.26, 0.25, 1.00)
  colorShelf     (0.30, 0.28, 0.27, 1.00)
  colorBeach     (0.01, 0.01, 0.03, 1.00)
  colorDesert    (0.22, 0.30, 0.41, 1.00)
  colorLowland   (0.69, 0.61, 0.53, 1.00)
  colorUpland    (0.30, 0.29, 0.27, 1.00)
  colorRock      (0.41, 0.37, 0.36, 1.00)
  colorSnow      (0.61, 0.59, 0.70, 1.00)
}

Light colour

Palette {
  Class          "GasGiant"
  StyleRange     (0.00, 0.00)
  colorSea       (0.28, 0.26, 0.25, 1.00)
  colorShelf     (0.30, 0.28, 0.27, 1.00)
  colorBeach     (0.79, 0.75, 0.72, 1.00)
  colorDesert    (0.75, 0.73, 0.72, 1.00)
  colorLowland   (0.68, 0.67, 0.64, 1.00)
  colorUpland    (0.57, 0.59, 0.60, 1.00)
  colorRock      (0.55, 0.55, 0.56, 1.00)
  colorSnow      (0.69, 0.66, 0.62, 1.00)
}

Red-brown-grey colors

Palette {
  Class          "GasGiant"
  StyleRange     (0.00, 0.00)
  colorSea       (0.28, 0.26, 0.25, 1.00)
  colorShelf     (0.30, 0.28, 0.27, 1.00)
  colorBeach     (0.08, 0.04, 0.04, 1.00)
  colorDesert    (0.90, 0.42, 0.25, 1.00)
  colorLowland   (0.62, 0.11, 0.10, 1.00)
  colorUpland    (0.90, 0.42, 0.25, 1.00)
  colorRock      (0.34, 0.16, 0.09, 1.00)
  colorSnow      (0.69, 0.66, 0.62, 1.00)
}

Red-black-grey colors

Palette {
  Class          "GasGiant"
  StyleRange     (0.00, 0.00)
  colorSea       (0.28, 0.26, 0.25, 1.00)
  colorShelf     (0.30, 0.28, 0.27, 1.00)
  colorBeach     (0.08, 0.04, 0.04, 1.00)
  colorDesert    (0.08, 0.04, 0.04, 1.00)
  colorLowland   (0.62, 0.11, 0.10, 1.00)
  colorUpland    (0.08, 0.04, 0.04, 1.00)
  colorRock      (0.34, 0.16, 0.09, 1.00)
  colorSnow      (0.69, 0.66, 0.62, 1.00)
}

Light brown colors

Palette {
  Class          "GasGiant"
  StyleRange     (0.00, 0.00)
  colorSea       (0.84, 0.73, 0.57, 1.00)
  colorShelf     (0.85, 0.75, 0.60, 1.00)
  colorBeach     (0.34, 0.29, 0.20, 1.00)
  colorDesert    (0.46, 0.38, 0.27, 1.00)
  colorLowland   (0.56, 0.47, 0.32, 1.00)
  colorUpland    (0.58, 0.50, 0.36, 1.00)
  colorRock      (0.73, 0.63, 0.48, 1.00)
  colorSnow      (0.69, 0.66, 0.62, 1.00)
}

Grey colors

Palette {
  Class          "GasGiant"
  StyleRange     (0.00, 0.00)
  colorSea       (0.81, 0.81, 0.81, 1.00)
  colorShelf     (0.63, 0.65, 0.65, 1.00)
  colorBeach     (0.58, 0.56, 0.58, 1.00)
  colorDesert    (0.61, 0.61, 0.63, 1.00)
  colorLowland   (0.72, 0.72, 0.72, 1.00)
  colorUpland    (0.78, 0.78, 0.78, 1.00)
  colorRock      (0.54, 0.54, 0.56, 1.00)
  colorSnow      (0.69, 0.66, 0.62, 1.00)
}

Dark grey colors

Palette {
  Class          "GasGiant"
  StyleRange     (0.00, 0.00)
  colorSea       (0.30, 0.30, 0.30, 1.00)
  colorShelf     (0.30, 0.30, 0.30, 1.00)
  colorBeach     (0.25, 0.25, 0.25, 1.00)
  colorDesert    (0.25, 0.25, 0.25, 1.00)
  colorLowland   (0.30, 0.30, 0.30, 1.00)
  colorUpland    (0.80, 0.80, 0.80, 1.00)
  colorRock      (0.24, 0.24, 0.26, 1.00)
  colorSnow      (0.30, 0.30, 0.30, 1.00)
}

Dark grey with more white clouds

Palette {
  Class          "GasGiant"
  StyleRange     (0.00, 0.00)
  colorSea       (0.30, 0.30, 0.30, 1.00)
  colorShelf     (0.80, 0.80, 0.80, 1.00)
  colorBeach     (0.25, 0.25, 0.25, 1.00)
  colorDesert    (0.25, 0.25, 0.25, 1.00)
  colorLowland   (0.30, 0.30, 0.30, 1.00)
  colorUpland    (0.80, 0.80, 0.80, 1.00)
  colorRock      (0.24, 0.24, 0.26, 1.00)
  colorSnow      (0.30, 0.30, 0.30, 1.00)
}
Deserts:

Olivine mountains

Palette {
  Class          "Desert"
  StyleRange     (0.00, 0.00)
  colorSea       (0.69, 0.54, 0.42, 0.00)
  colorShelf     (0.64, 0.50, 0.37, 0.00)
  colorBeach     (0.86, 0.70, 0.50, 0.00)
  colorDesert    (0.75, 0.59, 0.42, 0.00)
  colorLowland   (0.63, 0.48, 0.35, 0.00)
  colorUpland    (0.38, 0.30, 0.20, 0.00)
  colorRock      (0.09, 0.12, 0.07, 0.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Red desert

Palette {
  Class          "Desert"
  StyleRange     (0.00, 0.00)
  colorSea       (0.69, 0.54, 0.42, 0.00)
  colorShelf     (0.64, 0.50, 0.37, 0.00)
  colorBeach     (0.81, 0.45, 0.32, 0.00)
  colorDesert    (0.61, 0.31, 0.21, 0.00)
  colorLowland   (0.76, 0.45, 0.32, 0.00)
  colorUpland    (0.96, 0.57, 0.39, 0.00)
  colorRock      (0.42, 0.24, 0.16, 0.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Cream and red dunes

Palette {
  Class          "Desert"
  StyleRange     (0.00, 0.00)
  colorSea       (0.69, 0.54, 0.42, 0.00)
  colorShelf     (0.64, 0.50, 0.37, 0.00)
  colorBeach     (0.80, 0.77, 0.51, 0.00)
  colorDesert    (0.88, 0.67, 0.48, 0.00)
  colorLowland   (0.80, 0.69, 0.49, 0.00)
  colorUpland    (0.99, 1.00, 0.75, 0.00)
  colorRock      (0.56, 0.50, 0.30, 0.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Arid badlands

Palette {
  Class          "Desert"
  StyleRange     (0.00, 0.00)
  colorSea       (0.69, 0.54, 0.42, 0.00)
  colorShelf     (0.64, 0.50, 0.37, 0.00)
  colorBeach     (0.69, 0.46, 0.35, 0.00)
  colorDesert    (0.43, 0.24, 0.18, 0.00)
  colorLowland   (0.49, 0.38, 0.39, 0.00)
  colorUpland    (0.90, 0.51, 0.33, 0.00)
  colorRock      (0.37, 0.25, 0.27, 0.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Red and yellow surface

Palette {
  Class          "Desert"
  StyleRange     (0.00, 0.00)
  colorSea       (0.69, 0.54, 0.42, 0.00)
  colorShelf     (0.64, 0.50, 0.37, 0.00)
  colorBeach     (0.51, 0.35, 0.27, 0.00)
  colorDesert    (0.74, 0.58, 0.36, 0.00)
  colorLowland   (0.65, 0.52, 0.27, 0.00)
  colorUpland    (0.67, 0.47, 0.32, 0.00)
  colorRock      (0.50, 0.34, 0.24, 0.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Light turquesa desert

Palette {
  Class          "Desert"
  StyleRange     (0.00, 0.00)
  colorSea       (0.69, 0.54, 0.42, 0.00)
  colorShelf     (0.64, 0.50, 0.37, 0.00)
  colorBeach     (0.41, 0.67, 0.63, 0.00)
  colorDesert    (0.26, 0.31, 0.23, 0.00)
  colorLowland   (0.49, 0.63, 0.49, 0.00)
  colorUpland    (0.38, 0.59, 0.50, 0.00)
  colorRock      (0.36, 0.39, 0.33, 0.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Contrast colors

Palette {
  Class          "Desert"
  StyleRange     (0.00, 0.00)
  colorSea       (0.69, 0.54, 0.42, 0.00)
  colorShelf     (0.64, 0.50, 0.37, 0.00)
  colorBeach     (0.51, 0.51, 0.49, 0.00)
  colorDesert    (0.19, 0.19, 0.22, 0.00)
  colorLowland   (0.55, 0.49, 0.46, 0.00)
  colorUpland    (0.49, 0.49, 0.47, 0.00)
  colorRock      (0.42, 0.41, 0.40, 0.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}

Butano

Palette {
  Class          "Desert"
  StyleRange     (0.00, 0.00)
  colorSea       (0.69, 0.54, 0.42, 0.00)
  colorShelf     (0.64, 0.50, 0.37, 0.00)
  colorBeach     (0.92, 0.56, 0.26, 0.00)
  colorDesert    (0.85, 0.50, 0.24, 0.00)
  colorLowland   (0.71, 0.47, 0.29, 0.00)
  colorUpland    (0.55, 0.40, 0.33, 0.00)
  colorRock      (0.51, 0.43, 0.40, 0.00)
  colorSnow      (1.00, 1.00, 1.00, 1.00)
}


multiple texture sets when exported to substance Im having a problem when exporting to substance, after I fixed a few parst of my model the fixed parts are exported as different texture sets.
Any way to fix these?

I think Substance Painter separates the mesh into texture sets based on what material the faces use. Make sure that your exported mesh only has as many material slots as you want to have texture sets.


Move another mesh along a surface when animating I am trying to make an animated lock tumbler and the key pins should move along the contour of the key.  My goal is to move the pins up when the key passes underneath them by using some sort of snap to surface setting and constraining the motion of the pin to only the Z-axis.  I'd also like to set a minimum for the Z-axis so once they get to a certain minimum height they won't drop any lower (to simulate the pins resting at the bottom of the cylinder.  I have been doing a lot of searching for snap to surface and motion along a path but I'm not sure that I can use that during an animation.  Does anyone have advice on how to approach this?  I'm attaching an image of the key with the pins snapped to the part of the key I'd like it to track.

Here's one way, it's not perfect, because of the limitations of the Clamp To constraint.

Duplicate a central loop of your key, and Header > Object Menu >
convert it to a curve. Extend the curve to tip-base level on both sides.
Place the origins of your tumbler-pins at their tips.
Assign them each a Clamp To constraint, targeted on the curve.

(It's sensible to get this constraint working on one tumbler to begin with, after settling the curve, making sure its scale is applied, etc.)
Because of the way the constraint interpolates the curve, there's some drift in the horizontal direction. You can eliminate this with another constraint on the tumbler: Limit Location to fix it in all axes apart from  up-and-down.

If the whole lot is to be parented to other parts for rigging, it might be better to do that first.

the curve remains editable to make small adjustments to the pin positions, if necessary. Excuse the grotty .gif


How can I render Cryptomatte pass for Nuke I Rendered a test scene multilayer exr. It is include cryptomatte passes. Those passes work very well in after effects. But in Nuke, it is not.

I found it!!! you need to rename your view layer to "scene" it's really akward but it works. wasted too much time on this... (using 2.8 thou), also no need to use the compositor to output the passes, it'll work just fine...


Grease pencil color while actively drawing In Blender 2.78a, you can change the color of the grease pencil, but the drawn lines remain black while you are drawing, and only become the desired color once the mouse is released.

gp_layer.tint_color = Vector([0,1,0])
gp_layer.tint_factor = 1.0

This is different from the behavior in previous versions, eg 2.77a, when the markings were drawn in the desired color.  (I am drawing on top of noisy greyscale images, so it's difficult to draw accurately when the markings are black.)

How can the color of the grease pencil be changed to also affect the color while actively drawing?

UPDATE with Python solution (thanks to Timaroberts tip below):

for gp in bpy.data.grease_pencil:

  for plt in gp.palettes:  # color of stroke while drawing
    plt.colors[0].color = Vector([0,1,0])

  for lyr in gp.layers:    # color of curve once drawing is completed
    lyr.tint_color = Vector([0,1,0])
    lyr.tint_factor = 1.0

You can do this by  changing the stroke color in the properties panel under the Grease Pencil Colors. Change this to whatever you want it to be, and it will be the stroke color as you draw.


How to curve my subdivided mesh along it's y axis I have a simple mesh that i have subdivided along its y-axis, i want to curve it along an arc but i can't find the way to do it with a modifier, how exactly can i curve it along an arc?

Use the [curve modifier].

See a video tutorial on the famous video website or search here at BSE.

You can also use [Simple Deform] modifier.

You can also use proportional edit.

You can also use an armature modifier.


physical weight on rigid complex object I am not new in Blender but in rigid physics.

How to get a pendelum swinging down / rotating around the axis in case of model weight?

Use a Rigid Body Constraint to fix the pendulum to the pivot as a hinge instead of relying on the geometry (select the pendulum and thr pivot, in the physics toolbox panel select ‘Connect’ and set as ‘hinge’ - you might then need to re-orient the hinge so it swings on the correct axis (it will rotate around the Z-axis of the constraint)).

Finally, you need to move the origin of the pendulum to its centre of mass (currently it appears to be at the pivot) - select the pendulum, click Set Origin and select ‘Center of Mass’.

See also https://blender.stackexchange.com/a/109136/29586 - it doesn’t include a pendulum but does explain the Rigid Body Constraints. Also https://blender.stackexchange.com/a/101880/29586 for an explanation as to why to use constraints for pivots and axles rather than mesh surface interactions.


Not enough connectors in Render Layers node I made models of series of glass chess pieces in Blender.  I want to use Compositing to add in a Denoise node, but the Render Layers node does not have a Noisy Image connector, it just has Image, Alpha, and Depth.
In Blender Guru's tutorial on Materials, his Render Layers node has all four of those connectors, plus a bunch of OTHERS as well.  How do I fix this?

You need to enable Denoising Data under Scene Tab > Passes.
Then your compositor will include all needed denoising passes.
Keep in mind, Denoising data are enabled for each render layer separately.


How to make permanent custom tab and removing some submenu in tab tools (T)? I create new tab by using phyton template in blender, but I don't know How to make it permanent. and I want removing some submenu in tab.
I want to remove this, do you know how?

What you are referring to as a submenu is the header of a panel. The template that you created includes a class that inherits from a Panel, the bl_category value in the panel class decides what tab the panel will be shown in.

Tabs only exist if there is a panel to be shown in them. When there are no panels to show the tab is removed. To make a tab permanent you need to have a panel to show in it that is always available, this may be a python script set to auto-run on startup that is saved to your startup.blend or an addon that is set to be enabled on startup, you do that by enabling the addon and then saving user settings.


Moving GPencil frames in time with Python causes viewport issues While changing Grease Pencil frames 'frame_number' attribute, the viewport doesn't update well, when switching their order (needs manual action to complete that refresh/sort).
To reproduce the error, you can simply add a Grease Pencil monkey to an empty scene, and quickly sculpt his face a bit at frame 10 (or get the blendfile here : https://developer.blender.org/T83590 )
Select the monkey and run the script :
import bpy

ob = bpy.context.object
gp_ob = ob.data

#it gets the frames at time 1 and 10
for layer in gp_ob.layers :
    for frame in layer.frames :
        if frame.frame_number == 1 :
            frame_1 = frame #should be layer.frames[0]
        if frame.frame_number == 10 :
            frame_10 = frame #should be layer.frames[1]

    #and switch the frames order
    frame_1.frame_number = 10
    frame_10.frame_number = 1

at first, it seems like nothing changed, (frame_1 displayed from time 1 to 9, frame_10 from 10)
manually click on a frame symbol in the grease pencil dopesheet,
now it looks like frame_10 is displayed all along the timeline
manually move a frame symbol along the timeline (you can even replace it at time 1 )
now everything is as expected, (frame_10 displayed from time 1 to 9, frame_1 from 10)
My guess is that the frames indices have to be recalculated because displaying frames[1] before frames[0] is confusing Blender. So i was looking for a  kind of frames.update() or layer.sort_frames() method which doesn't seem to exist.
Am i missing something ?

As Antonio Vasquez suggested me : "The frame number is not designed to be used in this way. The correct way to do this is to replace the strokes or replace the entire frame, but not just change the frame number. There are many things that happen under the hood and they cannot be changed as easily as it seems."
So here i am, trying to create a function moving frames by copying his strokes and points. As there are no stroke.copy() neither points.copy() methods, the function is longer than expected.
import bpy

def move_GPframe(layer, frame, frame_number):
    ### move Gpencil frames in a proper way
    #First check if there's already a frame at frame_number (and remove it)
    for _frame in layer.frames :
        if _frame.frame_number == frame_number :
            layer.frames.remove(_frame)

    #create destination frame
    new_frame = layer.frames.new(frame_number)
    for stroke in frame.strokes :
        #create strokes
        new_stroke = new_frame.strokes.new()
        for attr in dir(stroke):
            try :
                #copy attributes
                setattr(new_stroke, attr, getattr(stroke, attr))
            except AttributeError:
                pass

        #create points
        new_stroke.points.add(count = len(stroke.points))
        for i, point in enumerate(stroke.points) :
            new_point = new_stroke.points[i]
            for attr in dir(stroke):
                try :
                    #copy attributes
                    setattr(new_point, attr, getattr(point, attr))
                except AttributeError:
                    pass
    #remove source frame
    layer.frames.remove(frame)
    return new_frame

######

ob = bpy.context.object
gp_ob = ob.data.id_data

#it gets the frames at time 1 and 10
for layer in gp_ob.layers :
    for frame in layer.frames :
        if frame.frame_number == 1 :
            frame_1 = frame #should be layer.frames[0]
        if frame.frame_number == 10 :
            frame_10 = frame #should be layer.frames[1]

    ## old way to do :
    #frame_1.frame_number = 10
    #frame_10.frame_number = 1

    ## proper way :
    frame_1 = move_GPframe(layer, frame_1, 0)#need to move the frame_1 at time 0, or it will overwrite frame_10
    frame_10 = move_GPframe(layer, frame_1, 1)
    frame_1 = move_GPframe(layer, frame_1, 10)

I feel that it can be really simplified, but at least it works.
Any suggestions ?


How to fuse/weld/combine 2 "tunnles" in scuplting Im fairly new to blender probably only a month 1/2 or so in.
I thought doing a skull tonight would be a good practice sculpt but Iv run into an issue in that I cant connect these "tunnels" (not sure what the exact terminology would be) nor can i seem to find a solution via searching.

The closest thing iv come up with is a Boolean union but they are part of the same mesh or do all the bits separately then union them...im at a loss.

Fastest way to solve this is:

Go to edit mode. Select the areas oposing each other (probably with C - circle selection).

Run Edge - bridge edge loops.

I assume you are using Dyntopo - dynamic topology, so then you can return to sculpt mode, and with dyntopo on, you can add resolution and smooth this area.


How to fix weight painting for a glove? I would like for the glove to stay put when I move the hand. I've been fighting with this for a while now trying all kinds of things with the weight paint. I have another version where I managed to do it (not perfectly, still moves a little) but I can't remember what I did. I tried copying the weights there but nothing. There's no actual hand under the glove by the way. I'm attaching the file.

https://www.dropbox.com/s/8bscsabxsbsikmp/Captain%20Blender%203.blend?dl=0

Your troubles come from the fact that some gloves vertices weights are assigned to vertex groups unuseful (i.e. the thumb one): remove all assignements to unuseful vertex groups and assign some weight to the forearm bone only.


Poor focus in Cycles render I have built a model using a mannequin and some text labels. When I render the scene with Cycles, I'm not getting a sharp focus on the objects in the scene.  I'm trying to produce a 312x502px .png image of my scene.

I've played with the depth of field focus setting using both focusing on an object in the scene and using the distance setting, but neither caused any improvement. My aperture setting is radius with a size of 0.0, and I'm using an orthographic camera. At the moment, saving my rendered scene to a .png image produces an image of very poor focus.

I seem to get better image sharpness before rendering just using material viewport shading!

The depth of field of the objects I'm trying to get a sharp focus on are about 1 Blender grid square in depth where the grid floor scale is set at 16 lines, scale 1.1  and subdivisions 10. - pretty much the standard setting.

I can't believe that it's not possible to get a nice sharp image of a rendered scene; can someone give me some pointers as to where/what I should concentrate on to solve my fuzzy focus problem?

Firstly I'd like to thank you both very much for spending the time reading my question.

I continued to blunder around trying to solve my problem when I had a light bulb moment and noticed that in the 'sampling' section of the render panel it was set at  Render :10 and Preview:10,  obviously the default setting! And being new to blender I hadn't noticed. Anyway, I whacked up the Render value to 100, then 500 & finally 1000 and low & behold I got the razor sharp image I wanted, and spent the rest of the day feeling very pleased with myself.

So this is a case of self help, but thank you so much for reading my question!


Only scale selected bone's mesh scale I'm new at Blender
As you can see on the image I want to scale only selected bone mesh but they scale all which are connected.

Select the next bone in the chain after the one you want to scale. Then go to the properties panel and go to the bone tab. Near the bottom there will be a 'Relations' heading. Under that heading there will be a checkbox for 'Inherit Scale'. Uncheck that and you should be good to go.


Background image not visible: What am I doing wrong? I'm trying add a background image to my scene in my Python script.  It runs without errors, but I can't see the background image.

Can someone please look at my code below and tell me what I'm doing wrong?  (It may be that my camera is not active, but I'm not sure how to activate it.)

import bpy
filepath = r"C:\test\trees.jpg"
img = bpy.data.images.load(filepath)

for area in bpy.context.screen.areas:
  if area.type == 'VIEW_3D':
    pace_data = area.spaces.active
    bg = space_data.background_images.new()
    bg.image = img
    break

cam = bpy.data.cameras.new("Camera")
cam_ob = bpy.data.objects.new("Camera", cam)
bpy.context.scene.camera = cam_ob
bpy.context.scene.objects.link(cam_ob)
bpy.context.scene.objects.active = bpy.context.scene.objects["Camera"]

Essentially you forgot to show the background images.

In the UI, you do this by pressing on the checkbox in the Properties Panel (N) --> Background Images.

In python, you do this by accessing the show_background_images property of the 3D view region within the 3D view space (within the 3D view area). This is what your space_data variable is referencing.

Another thing you could do (added in the last line below) is move directly to viewing through the camera when the script is done, to immediately see your BG image.

import bpy
filepath = r"C:\test\trees.jpg"
img = bpy.data.images.load(filepath)

rv3d = None
for area in bpy.context.screen.areas:
  if area.type == 'VIEW_3D':
    space_data = area.spaces.active

    rv3d = space_data.region_3d # Reference 3D view region
    space_data.show_background_images = True # Show BG images

    bg = space_data.background_images.new()
    bg.image = img
    break

cam = bpy.data.cameras.new("Camera")
cam_ob = bpy.data.objects.new("Camera", cam)
bpy.context.scene.camera = cam_ob
bpy.context.scene.objects.link(cam_ob)
bpy.context.scene.objects.active = bpy.context.scene.objects["Camera"]

rv3d.view_perspective = 'CAMERA' # Go to camera perspective to see your BG iamge


Create a realistic puddle? I'm creating a scene involving a spilled Nuka-Cola bottle. Here's how it looks:

The puddle on the ground looks too.. smooth. I would like it too look a little bit more noisy and realistic. Changing color settings or roughness or IOR didn't help.

From your Blender file, i've done the following node setup, if you do the same, just change a bit your camera position or lightsource position, so the fluid can have something to reflect:


How do i remove the the default HDRI in Blender 2.8 eevee? I'd like to get a studio type of reflections. Seems that the HDRI default is reflecting on my model. I'd like to have the basic lighting setup for my model. Is there a way to disable the HDRI?

Thanks

There shouldn't be any HDRI applied when creating a new project. You can set your own HDRI or change an existing one in the world tab. If you want to remove an existing HDRI you delete the nodes connected to the color socket or change the texture to one you like better.

Click on the button behind the color field.

Select environment texture from the dropdown. This will allow you to select an image that is used as background.

Click on Vector and select the Mapping node. This allows you to change the orientation of the HDRI.

Click on the Vector socket of the Mapping node and select Generated from the dropdown. You select and .hdr or .exr image to light your scene

Example of how it could look like.


Force scientific notation in Blender GUI I have an addon in development, and create various meshes in it. I have several physically based parameters, that are often extremely small, but make sense in the context they are. I have in my GUI class, for example:
poly_0: FloatProperty(
        name="POLY_0",
        description="Some description...",
        default=1.26587922531743e-16,
        min=-1000.0,
        max=+1000.0,
        )

In the GUI, I would like to force this Float member to always be displayed in scientific notation, and always with some set precision (number of digits). Looking in the API docs, I cant seem to find this option.

Make a Scientific Notation Property Group.
As a workaround could set up a property group to handle scientific notation. Restricted to the significant digits of the float property, but allows to set the the power.
import bpy
from bpy.props import FloatProperty, IntProperty, PointerProperty
from bpy.types import PropertyGroup

class ScientificNotation(PropertyGroup):
    def get_num(self):
        return self.number *  pow(10, self.power)
    number : FloatProperty(min=-10, max=10)
    power : IntProperty()
    value = property(get_num)

bpy.utils.register_class(ScientificNotation)
bpy.types.Scene.foo = PointerProperty(type=ScientificNotation)

Layout with both number and power to set. Use the value property in calculation.  Could use a string property for the number, to get more sig digits.

Example of use in python console.
>>> C.scene.foo.number = 6.62607004
>>> C.scene.foo.power = -34
>>> C.scene.foo.value
6.626070022583007e-34

See also  https://blender.stackexchange.com/a/134310/15543


I'm having trouble applying a bevel to curve I am fairly new to Blender, and I'm having trouble with applying an object-bevel to a Bezier curve.  I've had success in the past, extruding one object around the contour of another, and I have even tested applying the bevel to a simpler object in my current .blend file, and it works, but when I try to extrude the circle object around the curve of the saddle-shaped object, the saddle-shaped object just disappears in a weird way.
Here is a shot of the three objects in my setup: on the left is the saddle-like curve I'd like to give a thickened, circular cross-section, and I want to use the small circle in the middle to do it.  The square on the right is just there for debugging.

In this next photo, I've successfully performed the bevel operation on the square to the right -- you can see it took the bevel operation, and now has a diameter of 8mm.

However, when I try to apply the same circular bevel to the saddle-shape, the saddle-shape just disappears, though I can see weird, flickery traces of the old shape:

I've made sure the scales of the objects are compatible, and haven't come up with anything in searches.  I'd really appreciate anyone's help with this!
Thanks in advance.

Nevermind, I've figured it out: I just had some vertices which were too close together.  I'd already tried merging by distance at 1.0 mm, but it required a merge radius of 2.1 mm before it would finally take that bevel.
Cheers.


Blender stop responding while texturing Im trying to do 3d models with diferent pose but when I texture the 3d model and next I try to move the bones or do something, blender stop responding.Only after texturing. I need help. My PC specs:  AMD Ryzen 5 2600 |   RTX 2060 | 8GB RAM DDR4

Try turning off the textured view, I notice mine slows down pretty bad when I try to do anything rig related after texturing.


How can I create a glass globe with a sandblasted effect? I have set myself a challenge to create a glass globe with sand blasted land mass and totally transparent sea.

Creating the globe is straight forward enough but I'm not sure of the best way to create the land. I've tried adding a UV map but the glass always becomes solid even where the sea is...

Can anyone suggest the simplest way to do this? Or, better still, an example for creating a sandblasted effect on glass.

Find or create a black and white texture which separates the parts you want to be "sand-blasted" from the parts you want smooth. For example, this public-domain land-mask from here.

Open the mask image in a texture node. Plug the generated output of the texture coordinate node into the vector input of the texture node, and set the image node's projection to Sphere.
This avoids the need for a UV map, and prevents artifacts near the poles.

Plug the texture into the roughness output of a glass shader, optionally using a mix node to adjust the min and max roughness:


Curve Modifier Deforming my shape I'm adding a curve modifier to my twisted object, targeting the bezier curve, and its making my twisted object much bigger than what it was originally, I have reset the transformations values but it didn't help.

You must have scaled your curve, when you've applied the scale it has rescaled its vertices radius. So go in Edit mode, select all and right click > Set Curve Radius, or open the N panel and bring back the Mean Radius to 1.


Merging mesh parts that use the same texture and shader I have created a model and imported it into Blender.

All parts of the mesh use one and the same texture image.

However, when load my blend file in Unity, each and every mesh part receives an individual shader / material slot:

My problem is

1) that I have to re-assign the material in Unity (well, I guess, I will sooner or later find out why Unity does not use the correct material right away)

2) that I would like to merge some parts into a single part (for example, "Face", "Legs", "Arms", etc. should be a single object called "Body" since they will use the same shader)

Can somebody tell me how I can do that?

Thank you!

If you select one part in Blender then double tap the 'a' key, it will select everything.

If you press 'Ctrl+j' it will merge all the parts.

Unity should now only see one mesh, material and texture.


Subdivision surface modifier problem Hello!
I've recently started learning Blender and faced one problem.
After applying subdivision surface modifier I have plenty of extra faces.
I've watched some teaching videos and I suppose additional faces shouldn't be added.
Is it OK ? How to avoid this problem if it isn't.

I think you have some double vertices over there.
shortcut W > remove doubles might solve your problem. Also try to keep faces as quads. Subdivision surface with triangles doesn't give optimal result.


Workflow for a short animated film: what to do first, music or video? I really want to make an animated short film, but this is the first time and I don't know if I should make the music first or the film.

By short animated film I assume it is story driven and that there might be dialog.

The process is this:

write the script (with dialogue)
create storyboard, mood, concept art
record dialogue with video reference of that performance
select Temp music based on script and mood
animate based on script, storyboard, dialogue audio, temp music
compose real music and replace temp music, add sfx

In more detail you can read Pixar's Animation Process.

Why is it like this:

I will skip how script and storyboard is important, the question is not about these.

It is way way easier to animate facial and body expressions if you have dialogue and actor reference as source.

The final camera motion, animation and film cuts are also good sources for the music. However it is easier to cut footage to music than to cut sound to video. The reason is music has rhythm, which the footage might initially not correspond. Speeding/slowing footage and cutting it is easier than doing it with sound.

You solve this paradox by using Temp music, which is just some music already created, that you "steal" and use as reference to time your animations and to use as temporal guide for mood.

This temp music makes it a bit easier to get inspired for flow, mood and timing while animating (similar as with the dialogue audio). But it is no deal breaker if no temp tracks are used.

Making the actual music/score is the last step in creating animated short film.

On a side note:

It is by all means also possible to skip the Temp music part, and source all the flow and mood for animating directly from script and storyboard. The music is then inspired by the visuals (mood-board/story-board) and story emotions (animation/script) and is less restricted.

Temp music can be controversial, because your final score might sound like a knock-off. Because of this, it might be good to change the tempo or roughly re-mix the source for using as temp track.

More matter to watch:

Temp music from composer's point of view: video here

Temp music in film: video here