Can ultra-low-res textures cause problems while rendering? This is a strange question, so comment if it's unclear.

I'm making a low-poly piece of art, where many of my objects will have only a single flat color (a cube that's all green, for example).

It seems that I should be able to use a very small texture for each object (the green cube could use just a single green pixel as its texture, for example).

I want to know if this will cause any problems. Should I use 16x16 or 32x32 textures, even though they provide more resolution than I actually need?

I am using the Blender internal render engine, though I also plan to export to Unity for a game project.

Yes, having a low res texture can cause issues, but they can be prevented. Here is an example:
This is the texture I will be using in the example, which is 16x16 pixels:

If we import this into Blender we notice that the pixels are all smoothed and the detail is completely lost. This is because the interpolation is set to Linear, which will fade from the color of one vertex to the next using a linear gradient:

Switching this to Closest brings back all the detail and makes the image remain sharp:

In your particular example, as long as this is enabled, you can go down to a 1 pixel size without any issues.


Get Object Width In Cycles as Value Is there a way to get an object's width in Cycles as a value that I can use, for example, as the color input of a diffuse shader? Basically, is there a way I can get the volume absorption shader's output as a value?

Here is an example of what I mean:

The thicker the glass, the more subsurface scattery it looks.

I was able to achieve what I wanted by creating two renderlayers; the first renderlayer would render some object with just a volume absorption material and output the image to a folder, and the second renderlayer containing the same object but with a material using the first renderlayer's output as an image texture. But this is pretty annoying because I have to use two renderlayers and an image sequence.

I have tried using the fake absorption method (The one that utilizes the Beer-Lambert law) to do so, but it seems I cannot invert the output value or even use it at all on a surface shader that does not have light pass through it. Maybe there is a way to alter the math behind the nodes so that it outputs an inversed version of itself?

Open Shading Language

You can enable OSL in the render tab of the properties panel.

Create a text either externally or in Blender, write your
OSL code in that text and save if necessary. In the node
editor, add a script node and select the mentioned text.

Based on the Blender manual using trace in this case is OK.

Simple depth

These shaders need only one trace per sample and get
precise values. Can be used anywhere without any bias.

Normal dependent depth

shader depth(output float depth = 0) {

    if(trace(P, - N))
        getmessage("trace", "hitdist", depth);
}

You can use this code to get the depth along the normal of the surface.

View dependent depth

shader depth(output float depth = 0) {

    if(trace(P, - I))
        getmessage("trace", "hitdist", depth);
}

You can use this code to get the depth from the point of view.

Plugging in the proper function of this depth to a transparent
shader you can create a uniform volume absorption for example.

Stochastic depth

These shaders trace one random direction per sample which average
out over the rendering process. The output of these have to be used
carefully: They can be used to mix colors or shaders and probably
well enough as the roughness of a glass for example. But they can
not be used for a color ramp with lots of color stops for example.

Mathematically: They are unbiased if the resulted color of
the sampled pixel is a liner function of the depth value.

I could add multiple sampling, which would dramatically reduce
the bias for those non-linear cases, but using those would slow
down rendering. I will write those versions if you ask me to.

The random

float random(int seed) {

    return cellnoise(P * 732283.511 + seed * 138257.835);
}

This is a position dependent direct seeded pseudo-random number generator.
Somehow I did not get too much luck with the built-in random function.
Works because the position is already pseudo-random with small variance.

Uniform depth

float random(int seed) {

    return cellnoise(P * 732283.511 + seed * 138257.835);
}

vector hemiRandom(vector direction) {

    vector result;

    int seed = 0;

    do {

        result[0] = random(++seed) - 0.5;
        result[1] = random(++seed) - 0.5;
        result[2] = random(++seed) - 0.5;

    } while(dot(result, result) > 0.25);

    if(dot(result, direction) > 0)
        return result;

    return - result;
}

shader depth(output float depth = 0) {

    if(trace(P, hemiRandom( - N)))
        getmessage("trace", "hitdist", depth);
}

This takes every direction equally into account.

Semi-mathematically: Every direction inside the mesh is sampled with the same chance.

You could considere this as one general view independent depth.

Lambert depth

float random(int seed) {

    return cellnoise(P * 732283.511 + seed * 138257.835);
}

vector lambertRandom(vector direction) {

    vector result = 0;

    int seed = 0;

    do {

        result[0] = random(++seed) - 0.5;
        result[1] = random(++seed) - 0.5;

    } while(dot(result, result) > 0.25);

    result[2] = sqrt(0.25 - result[0] * result[0] - result[1] * result[1]);

    vector a = 0;

    if(direction[0] == 0) {

        a[1] = direction[2];
        a[2] = - direction[1];

    } else {

        a[0] = direction[1];
        a[1] = - direction[0];
    }

    vector b = cross(a, direction);

    return result[0] * a + result[1] * b + result[2] * direction;
}

shader depth(output float depth = 0) {

    if(trace(P, lambertRandom( - N)))
        getmessage("trace", "hitdist", depth);
}

Takes depths towards the normal more into account, the same way a transulcent shader samples the light of its environment.

Mathematically: The density of the random is linear to the dot product of the sample and the normal.

You could considere this as another general view independent depth.

Rough depth

float random(int seed) {

    return cellnoise(P * 732283.511 + seed * 138257.835);
}

vector roughRandom(vector face, vector direction, float roughness) {

    vector result;

    int seed = 0;

    while(1) {

        result[0] = random(++seed) - 0.5;
        result[1] = random(++seed) - 0.5;
        result[2] = random(++seed) - 0.5;

        if(dot(result, result) < 0.25) {

            result = normalize(direction) + result * roughness;

            if(dot(result, face) < 0)
                return result;
        }
    }
}

shader depth(float roughness = 0, output float depth = 0) {

    if(trace(P, roughRandom(N, - I, roughness)))
        getmessage("trace", "hitdist", depth);
}

This is a poor roughness model but could be good enough for your use.

This is general view dependent depth with roughness control.

Nodes

These are the nodes used for the renders:


The materials tab seems to be missing So i imported a model from mmd, and i need to materials tab to add textures to it.
but the materials tab is nowhere to be found.
I tried selecting the model( Also tested it on a basic cube mesh, and the tab suddenly appeared )
And also tried to change the blender render.

Maybe the mmd importer creates a collection and adds an instance of that collection while hiding the actual objects in the collection. (Collections don't have a material tab)
Check the Outliner and see what exactly you are selecting. You can also change the outliner display mode to Blender File and then search your imported model under Objects. You can then select it and should be able to change materials.
Hope that helps!


Individual origin VS Median point I'm following this tutorial https://youtu.be/-0tMeMZpeXE?t=147. At 2.27 he extrudes those faces but with an unusual angle. He changes to "Individual origin" and it works fine.
When I try it it doesn't work as expected (see attached image where I've changed to Individual origin but with no luck). It only works if I Shift+Z during scaling.

I think he has made a small mistake. Neither of these two settings will give the desired result, on the left Median Point (will place the center of the scale at the center of all the selections), on the right Individual Origins (each selection will have its own center of scale):

Actually as you can see when he scales, he constrains the scale on the Z axis (X axis and Y axis are visible, not Z axis), that's why it works as expected.


Add a filter for the extension of a file in the file browser I'm writing a python script that allow us to open a file in it like that:

It's a string properties wich is coded like that :

bpy.props.StringProperty(description="Path of .DAT File", default="C:", subtype='FILE_PATH')

When the user click on the little folder on right it open a file browser.

In the file browser, in my case I want to filter only the .DAT files. I know that it's possible to filter the extension of file for exemple here it filter the .py or .zip file:

How can I do that with Python ?

Unfortunately this isnt documented, however it is used in the templates that come with blender, see Text -> Templates -> Python -> Operator File Export, there is a filter_glob string property.

eg:

filter_glob = StringProperty(
        default="*.txt;*;*.py",
        options={'HIDDEN'},
        )


Convert large particle system(s) to one object efficiently I place leaves on my trees with emitter particle systems. Then, to make a forest, I place those trees with another emitter (or hair) particle system.

Problem is particles of particles don't work, I only get the trunks without leaves in my forest.

Following this question : How can I convert a hair-particle system into 3D, editable objects?, which solution takes ages (I use about 500 000 leaves per tree), I tried to write a python script, but comes to the same problem. Searching on google, I found Brecht saying it comes from the naming of object (leave.001, leave.002 .... leave.500000) which after 1000 iterations becomes pretty slow and after 10000 extremely slow (so naming 2000 object is much slower than twice the time of naming 1000 of them). Anyway, that step is useless, blender needs one big mesh with all leaves to allow instancing it, not 500000 objects with one linked mesh.

So question is how can I convert all the particles to one unique object in one step (or at least avoid it to take 28 hours every time) ?

Particle Instance modifier

  When a ParticleInstance modifier is added to an object, that object will be used as a particle shape on an object which has a particle system associated with it.

Instead of setting the leaf object in the render settings of your tree's particle system.
Use the "Particle Instance" modifier on the leaf itself.

This has the advantage that it can be used multiple times for multiple particles systems.


Can I use viewport modes as driver variable? I am using an addon that replaces the default world in blender, however it's hindering the viewport performance in solid mode for about 20-30% fps drop. Is there a way I could make the driver that would switch the addon off when I go to solid view and back on when I go into render view ? The Addon I'm using is called "Physical Starlight And Atmosphere" and it has a checkbox to enable and disable it in the "N" Tab.
I'm pretty sure there is some way to put a line of code into the driver's variable to make it work, i just don't know much about coding at all.

In 2.90, I can right-click on the viewport shading buttons and select "copy as new driver". Then I can right-click on a property and select "paste driver". So, it looks like the functionality exists. But, the variable (named shading.type) seems to always read as zero, so maybe the function doesn't actually work in this version.


How is possible to create a tetrakaidecahedron? How can I keep only the edges? The idea I have is to start from the tetrakaidecahedron, have the edges and create something organical as the photomicrograph below.

Photomicrograph of open-cell foamed urethane

Under the user preferences make sure you activate the default bundled addon Add Mesh Extra Objects.

Add a new mesh of the type Math Function > Regular Solid and from the presets at the bottom pick Truncated Octahedron.

Erase the edges dividing the large faces in half, then add a Wireframe modifier.

Adjust the thickness as desired and add two Subdivision modifiers below it. The top one must be set to Simple, and the second one to Catmull-Clark.

Adjust subdivisions as desired for a more organic or geometric look.


how to make poly render flat? triangles are showing but I don't have an edge connecting the vertices, I just want the poly to render as flat but it renders as 2 angled triangles. Also when i connect the vertices the opposite way it still creates an extrusion shown in render. I cant really think of anything besides maybe shading smooth but I don't think I should have to.

Christopher Bennett has given you a solution but if you want to keep a low-poly look for your object, you could give it Auto Smooth (Properties panel > Object Data > Normals).

When used with Shade Flat, Auto Smooth won't try to smooth between faces but only between the triangles within a face:


can any body tell me how to make this complex object? This is the model and i made it
https://in.pinterest.com/pin/757730706026954368/

I tried it but not up to the mark

The image gives you quite a good blueprint and the first tip is to start with the big forms and then make the details.

Load the blueprint into blender and start modelling with a mirror modifier to model only half of it.

Start with a Torus and make the bulg on top with a uv sphere that you scaled in x and y to get the desired angle. Connect the two with a boolean -> Union and go on with the other parts in the same way.

For the extrusion part try to model it from the buleprint with single verts and then connect it with the torus to bevel the single verts for a smooth transition.


Is it possible to make a displace modifier collide with other objects? if not, is there a way to make the food not go through the cooking pot? I want to make the animation of the displacement to collide with the cooking pot, I already set the two objects with rigid body physics but it just goes through

See Vertex Groups.  There are plenty of postings here at BSE to be searched.
By selecting the top of the delicious tuna fish casserole in Edit Mode and making it into  a vertex group named say "TCTOP" you can displace only exactly the top of mesh.


Are the Arcmesh materials broken? If so, how do I fix this? The materials for the Window Arcimesh (Using the Archimesh add-on) were all black.
I entered the Node Editor to check it out, and found this material organization.

I'm unfamiliar with what is trying to be accomplished here, as these nodes imported with the add-on.
What are they trying to accomplish here? Is the node format outdated? What was trying to be accomplished?

And...
How would I go about restoring the previous settings? If I can't, how would I go about redefining these textures to look at least similar to what was intended?

(Apologies if these are too many questions; I'm looking to learn).

It's a bug. I recreated the material nodes in my own fashion in order to continue. However, the Archimesh add-on will need to be updated to truly resolve the glitch.


Bsurface error problem Encountered this error. Few times already. Am i stupid or it has a real problem?

I have had similar issues with Bsurfaces and it is difficult to pin point what triggers the error. The solution that works for me is making sure the automatic join is not ticked.

For the record: The error, when it happens, generates a number of overlapping files which essentially corrupt further work - specifically 4 files. In my case here only the Plane [green] can be considered not corrupt and the only one worth saving. I would advise that the other items be deleted, your file saved and Blender restarted.


I can't find brushes in .blend files New blenderer here,
I have 2.9.1 and have downloaded https://blendswap.com/blend/20195, a free set of rock brushes.  When I append the .blend file, it does not contain a brushes folder (it does have freestylelinestyle, image, light, material, mesh, object, scene, texture and world).  I know there is supposed to be a brushes folder because when I first downloaded it, there was one.
I have downloaded the file again (twice) and reinstalled blender, but it can't find brush folders now in anything I download now, even different free brush sets.
And suggestions?
EDIT:  just to close the loop on this in case someone else has the problem, I had to reinstall 2.8.2.  The brushes folder would not appear in 2.8.3 or any version of 2.9

Maybe the version 2.9.1 isn't compatible with the version of the add-on, btw, 2.9.1 is not a release yet, is an Alpha version, and from my experience, in the alpha version there is not everything inside Blender activated or working.
Solution (Maybe): Search for another version of the brushes add-on or try with 2.9 of blender and go backward into the versions until you get the right one (because from the link you posted, on the left side, the specifications and details, show that is compatible from 2.7X (but keep an add-on up to date in Alpha version is going to be almost impossible
Hope this helps


Bump node doesn't produce bump from normal vector Why does Bump node loose its functionality as soon as being fed with texture, connected to Normal vector?

EDIT: Using Texture Coordinate's Normal vector doesn't change anything.

The problem here isn’t the Bump node but how the Noise Texture is being used.

With no input to the Noise Texture it will automatically assume Generated coordinates and with nothing connected to the Bump Normal it will automatically assume the Geometry Normal - ie, it's effectively automatically :

NOTE : The nodes shown in white are optional - if nothing is connected to the texture Vector or bump Normal then those are the values that are assumed anyway.

By connecting the Normal of the Geometry node to the Vector of the Noise Texture you are telling Blender to use that normal in place of the usual Generated coordinates , overriding the default with something that doesn't make sense (as @Nathan says, it's a circular dependency - the normal is dependent on the result of the bump which is dependent on the normal). This is effectively destroying your coordinates used to generate the noise.

If you do need to use a modified normal for the Bump then you could potentially use a calculated normal - either via Maths nodes based on something other than the actual normal or from an Image Texture via a Normal Map node.


Boolean modifier applies weirdly I am following IanHubert's post-apocalyptic buildings tutorial and I can't figure out why my boolean modifier takes so long to render, and why is it buggy.

As you can see, the mesh isn't edited, but the parts of the mesh overlapped by the boolean operand aren't displayed.
My building is made out of several stretched out cubes, joined togehter using CTRL+J. Blender freezes for about 30 seconds each time I swicth to edit or object mode or I try to move the operand or the object.
What did I do wrong?

In this case you can use the "Fast" mode in the modifier settings in order to limit the heavy calculations caused by the "Exact" solver mode.


Particle System, want to emit a particle AND a lamp I have made a mesh of a submarine. I have parented it with a lamp, like a headlight on a car. I have made a particle system to created BOIDs of these submarines, as if they were swarming around. Only the submarine mesh gets rendered in the system. Does anyone know a way of making the lamps appear with the mesh in the particle system too?

Any help would be massively appreciated! Thanks guys.

After a short experiment I have been able to get a lamp to appear as part of a particle by using the Group option in the Render section and activate the Whole Group checkbox.  Since the mesh and lamp are both part of the group I created they are both instantiated for every particle.

Probably the biggest gotcha is to set the Size property underneath the Whole Group checkbox to something reasonable (it defaults to rather tiny).


Matching point locations: Relative translation, preserving surrounding geometry How can I move the tip of the pyramid so that it sits at the top of Suzanne's ear (pictured below, the noted point is highlighted)?

The objects and their origins need to stay the same.
If all of the pictured geometry were part of one object, and #1 was not a requirement, how could this be achieved? (If this were a mesh level transformation instead of an object level transformation)

Multiple objects

This can be done with a combination of transform snapping and 3D cursor snapping.

Snap the cursor the the point vertex by selecting it in edit mode (↹ Tab) and pressing ⇧ ShiftS> Cursor to selected:

Set the pivot point to 3D cursor (.)
Set the snap element to vertex and the snap target to Center in 3D view > Header:

In object mode, grab the pointer object and move it over the target vertex while holding ⎈ Ctrl:

Single mesh

If everything is in the same mesh, you don't even need to use the 3D cursor:

Select the geometry you want to move, making sure the vertex on the tip is active (last selected, appears white):

Set the snap target to Active:

Snap away by holding ⎈ Ctrl.

Note that you can also enable snapping without holding ⎈ Ctrl by clicking the magnet icon in 3D view > header, then things will snap by default and holding ⎈ Ctrl will make them not snap.


Can I have both 2.79 and 2.8 on my system? Will one interfere with the other? I have Blender 2.79 on my Windows 7 system.

I want to install 2.8, but I'm completing some courses which use 2.79.

If I install 2.8, will it automatically replace 2.79?

Will they interfere with one another?

Thanks.

You can install multiple versions of Blender alongside without them interfering.

They will each have their own Preferences and scripts folder. On windows, there will be a folder for each version.

You can also use a Blender version without "installing" it by downloading the portable version.


Fluid animation with varying speed How can I animate the fluid so it starts with a normal speed and then changes to slow motion?

I have one 1/4 second fluid simulation played over 24 frames (one second):

Now I'd like it to slow down and play second quarter of simulation over the next, say, 72 frames.

I tried changing the timeline Start and End frames to 25 and 96 respectively, setting the simulation time Start to 0.25 and End to 0.5, and setting cache offset to 25 and bake again, but it seems to overwrite the previous bake i.e. the normal speed simulation in frames 1-24 is substituted with the slow simulation. Obviously it's not the way to go.

(I'd post more screenshots but don't have rep for that yet ;))

How would I go about it? Do I need two domains for different animation speeds or is there some way to keyframe the liquid?

Note that I'm quite new to Blender so there are some basics I still need to learn, but I find it easier to learn them when I have specific goal in mind. Thanks for understanding ;).

I know it's a late reply, but I think I can help, if I understand correctly.

You can use keyframes on fluid simulations.  The best way to slow down the simulation is to set keyframes in the "Speed" field.

You will have to set the keyframes and then rebake the fluid simulation so they can be applied, this can be annoying if you are using a large domain and/or high resolution to the simulation as it can take a long time to bake and rebake till its right, so it's better to bake it with a small domain and low resolution so that you can quickly check to see if the fluid is behaving the way you want, then crank-up the domain size/resolution for your final render.


What is my mistake in creating the uv map of the lantern? I am trying to make a uv lantern for substance painter use, but I keep running into problems.

this is uv map of this lantern
After separating the seams, I encounter gaps in the SP, it looks like a hard joint, but without separating into seams, it does not work out to make the correct UV map.

uv without manually specified seams (I used the  smart uv project function) I would be very grateful if someone could tell me what to do. maybe someone can suggest good guides for creating uv? I certainly found a few videos on YouTube, but they are all very superficial and almost useless.

First , I see some Overlapped UV islands (may I wrong because of image size).
Second , you should use a checker map to check your UV

then in Substance painter for some materials and texture coordinate you should change Projection on UV or Tri-Planer


Invisible Physics to Certain Objects in the BGE I'm making a first person view game.  I have an invisible collision body that I use for interaction with other objects.  I have it so that the player can "shoot" cubes.  How ever, if the player looks down and tries to shoot (for example if an enemy is coming close) the bullet gets bounced off the collision body for the character.  Is it possible to make it so that my bullets can collide with everything except for the collision body?  Thanks!

You can do this with collision mask and collision group.

These options are found in the physics panel. To fix your particular problem, select the invisible collision box for the player and put it in collision group 2.

Next, select the bullet and while holding Shift click on the 2nd box in collision mask. This will stop the bullet from colliding with anything in collision group/layer 2.


Particles and Random Numbers and Cycles Render Goal.  Have access to a random number in range [0-1] per particle per frame in a Cycles Render Node.  Particle System is used.  Multiple particles per frame.

Question.  How can Blender drivers/other achieve that goal?

Current State. Partial Success.  Blender driver which is invoked once per frame.  Python Random random.uniform is used.  Input Value Node has the driver.  So the random number per frame is achieved, not per particle per frame.

To emphasize there are many particles per frame.  If there are 40 particles and 30 frames then

1200 = (30 * 40) random numbers should be generated.

Thank You.

version 2.74 (sub 0), branch b'master', commit date b'2015-03-31' b'13:39', hash b'000dfc0', b'Release'
build date: b'2015-03-31', b'15:46:51'
platform: b'Windows:32bit'

You can use the particle info node to achieve this:

Where 1000 is the total number of particles.

If your particles do not have a random distribution, then this doesn't work so well.
In that case, you could try mapping the index to a procedural texture, e.g. like this:


Can I export a video editor timeline to .xml or .aal? I'm wondering if we can make an edit with several clips, like any video editor, then export the timeline to a .xml or .aaf file, like the major editor like Final Cut Pro, Adobe Premiere or Sony Vegas. The file describes the edit (cue points, which clip goes where, etc.) but does not include the orignal clips used in the edit).

The point is not to render to a sequence or a clip. It's to import the edit to another software like DaVinci Resolve for color grading, relink the edit information with the source clips and finalizing the edit.

I'm working on a script to export Davinci Resolve friendly EDL files: https://blenderartists.org/forum/showthread.php?418606-EDL-export-script-help-needed!


how to distribute objects in a constraint offset integer value? i'm trying to distribute multiple objects that have the same path constraint, my goal is to apply the distribution on the offset value of the constraint between 0 and -100 so i can have an even distribution, i've noticed that if i use Alt then place a value it will apply the same value to the all selected obhects thats not what i'm looking for. for example in Softimage XSI if you toy L before applying a value of 0,100 it will distribute objects evenly based on the value input. i'm looking for something similar that can do the same.

Use fixed position offset factor of follow path constraint.

For a follow path constraint with fixed position set, then 0 is one end, 1 the other, 0.5 half way along etc.  Related https://blender.stackexchange.com/a/72682/15543

Using this we can thread objects onto a curve.

Code edited from https://blender.stackexchange.com/a/93441/15543

Demo run , cone, suzanne and cylinder threaded onto a path such that there are 10 items equally spaced. Curve follow is set to False

Test script (Targeted to blender 2.8+). Select the object(s) you wish to thread on the path. Select the path last to make it active object

Edit the res = 10 to have more or less items. Change cyclic to True if the path is a cycle. (Note in link above code tests for this)

Constraints are using default settings for follow and up axes. The location of object copies is set to zero to thread them on the path.  _If making this into an operator would make these properties

import bpy
context = bpy.context
scene = context.scene
curve_ob = context.object
obs = [o for o in context.selected_objects if o is not curve_ob]

res = 10
cyclic = False
new_obs = []
o = 0 if cyclic else 1
pts = res - 1
for i in range(pts + o):
    s = obs[i % len(obs)].copy()
    s.location = (0, 0, 0)
    fp = s.constraints.new(type='FOLLOW_PATH')
    fp.target = curve_ob
    fp.use_fixed_location = True
    fp.use_curve_follow = True
    fp.forward_axis = 'FORWARD_Y' # 'TRACK_NEGATIVE_Y`
    fp.up_axis = 'UP_Z'
    # calculate the offset factor
    fp.offset_factor = i / pts
    scene.collection.objects.link(s)
    new_obs.append(s)

Should you wish to remove the follow path constraint on copies

# remove constraints
scene.update()
for s in new_obs:
    sc = s.constraints[0]
    s.location = s.matrix_world.translation
    s.constraints.remove(sc)


Fill complicated mesh (terrain) i've imported DXF file of terrain contours, and im trying to figure out a way to fill in the contours to get a surface, but since its very complex, all tools such as fill/grid fill, bridge loops etc. don't work.
So far the best outcome i got was using shrinkwarp, but to still there was a lot of imperfections.

Is there any solution other than do it manually?

Thanks :)

EDIT:
So far, I've been having decent results with bsurface addon

with just shrinkwrap

with bsurface

I actually worked on a very similar project, and was frustrated by how difficult it was. I'll share the things I tried, and hopefully it will help.

EDIT: I remembered that I also had some reasonable degree of success by using image processing to convert the elevation maps into a grayscale height map, and then using the displace modifier to displace a high-poly plane. This is not a straightforward technique, though, and is very difficult to gauge the accuracy of. There's lots of weird math going on between the color of a pixel and the number representing it. Depending on how accurate/precise you need to be, this might be a tolerable option.

I had a hand-drawn contour map that I was fortunate to find easily scanned and converted to vectors. These vectors were relatively trivial to import into Blender as polylines. It looks like you already have lines in Blender. If they are curves, it'd be better for them to be polygon lines. But this is where the trouble began.

There are two main problems you're trying to solve. One is to fill in-between the contours with polygons. Secondly, we want those polygons to be reasonably well organized, so that they can be textured easily and rendered predictably.

I tried many different techniques to bridge from one contour to the next and the short answer is it can't be done in Blender. The primary hurdle with using the tools in Blender, is that the vertices used to define the lines need to be very carefully positioned in relationship to each other. Otherwise you get some very strange, and quite unhelpful results (as you might have experienced). It's possible to do this manually in Blender, but that is (as you might imagine) an ENORMOUS amount of work.

The only reasonable solution I came up with was Autodesk Revit. I think it's free, or there's a free trial, something like that (this was many years ago). As with most Autodesk products it's a pain-and-a-half to find and get installed. And once you do, it has more than its fair share of bugs. To make a long story less long, I loaded an image of my contours (you might be able to import yours, IDK), traced a line for each elevation, and then Revit was able to connect them into a 3D terrain surface. This is non-trivial, but unfortunately is beyond the scope of this website (because it's not Blender). If you need help with Revit, please get in touch with me. We can find a way to exchange contact info.

Unfortunately, the topology of the resulting mesh is horrendous, and makes texturing, sculpting more detail, and rendering quite difficult.

One of my early attempts to correct the topology showed some promise and might suit your purposes. I created a high-quality cloth simulation and draped a high-poly cloth over the mesh that came out of Revit. This is time consuming because of the simulation calculations, and it's prone to artifacts because the cloth can wrinkle in ways that don't represent the terrain, but it doesn't require any manual labor on your part. It's also limited in the kind of terrain it can accurately cover. High-relief terrain will be more difficult.

It looked like this: https://www.youtube.com/watch?v=lMH6fAW1G_4

What ultimately ended up working was actually using the shrinkwrap modifier to project a high-density plane directly down onto the mesh that came out of Revit. The right settings were important, though. Instead of using "Nearest Surface Point" or "Nearest Vertex," use "Projection." This will basically project the vertices of your high-poly mesh in exactly one direction (I did down, because I was already thinking in terms of laying a sheet on it) until they touch your target mesh. This ended up having reasonably good results, but required a lot of tweaking to get the right settings, and a fair amount of cleanup afterward.

I hope that helps.


How do you get a trace around your shadows? I need to trace the shadows of an object, like getting a red line around the shadow(shadow itself is not red). I know how to trace an object itself but not the shadows on that object. Is there a way I can do this?

You can pick out the edges of the shadows by using the compositor as follows :

The key is to enable the Shadow pass in the Render Layers (right-hand-side of the screenshot). In addition, enable the Object Index pass to give some control over which objects in the scene will have shadow edges highlighted - otherwise all objects will show highlights on all shadows, even where they are shadowing their own faces (presumably not desired).

This works by taking the Shadow pass (which just shows the shadows) and passes this through a Dilate/Erode filter to slightly shrink back the shadows, followed by a Subtract node to get the difference between the original shadows and the ‘shrunk’ shadows - this will pick out the edges. The ID Mask filters out only those objects with Object Index of '1' (which in this case is just the 'floor') and this is combined with the shadow edges using a Multiply maths node so as to only highlight shadows on the ‘floor’. The result is used to mix between the original render and a solid colour (red) which highlights the edges.

EDIT : To show all shadows (including 'self' shadows where an objects blocks its own light) you can use a simpler setup, not requiring the object ID :

Note that the 'background' also counts as a 'shadow' - hence the line on the outer edge of the floor plane.


How did they do grouping for nodes? As I was going through some tutorials online, I bumped into this way of creating the nodes.

Looking at the textures node, I noticed it's being grouped?
How is this done, or what's the rational behind all these?

What you are seeing is a layout feature called frames. The rationale behind them is to help organize your node tree by helping you easily select and relocate related nodes all at once.

For clarity's sake, it may be important to distinguish node groups from frames, since you asked about groups in the question.

The Blender Manual says this about Node Groups:

  Grouping nodes can simplify a node tree by allowing instancing and
  hiding parts of the tree. Both material and composite nodes can be
  grouped.

  Conceptually, grouping nodes allows you to specify a set of nodes that
  you can treat as though it were “just one node”. Node groups are
  similar to functions in programming. You can then reuse them inside,
  which are then called “NodeGroups”, or in other blend-file(s), when
  appending called “NodeTrees”.

https://docs.blender.org/manual/en/latest/editors/texture_node/types/groups.html

And it says this about Frames:

  The Frame node is a useful tool for organizing nodes by collecting
  related nodes together in a common area. Frames are useful when a node
  setup becomes large and confusing yet the re-usability of a Node Group
  is not required.

https://docs.blender.org/manual/en/latest/interface/controls/nodes/frame.html

You can create a node group by selecting multiple nodes and pressing Ctrl + g. You can create a frame by pressing Shift + a to "add" a new node, and go down to the bottom of the list, to Layout, and select Frame. You can give your frame a name by entering one in the Label field, found in the Properties Shelf to the right (if the Shelf isnt' visible press n while hovering your cursor in the Shader Editor).

After creating the frame, you can drag the the desired nodes into it. Then you can click and drag the frame to move all of the nodes within it.


How can I do a one-time Initialization? In the following script I want to perform the loading of a DLL only once when initializing

import ctypes
import mathutils
from ctypes import *

hmd = None

def poll():
    if hmd is None:
        hmd = ctypes.WinDLL("C:\\Program Files\\Blender Foundation\\Blender\\2.68\\scripts\\addons\\game_engine_rift\\openhmd.dll")
    hmdPoll = hmd.poll
    hmdPoll.argtypes = ()
    hmdPoll.restype = ctypes.POINTER(ctypes.c_float)
    pos = hmdPoll()
    print(pos[0], pos[1], pos[2] ,pos[3])
    bge.logic.rotation = mathutils.Quaternion((pos[0], pos[1], pos[2], pos[3]))

poll()

But I get this error:

Python script error - object 'Camera', controller 'Python1':
Traceback (most recent call last):
  File "rift.py", line 21, in <module>
    poll()
  File "rift.py", line 12, in poll
    if hmd == None:
UnboundLocalError: local variable 'hmd' referenced before assignment

The existing answer from @Polosson is correct, however Im a bit biased against globals since I have had to debug other peoples code with many globals - it can become difficult, if the code becomes complex and there are more then 2-3 of them used across multiple functions. It's a pain to keep track of them, forgetting to add a global keyword, it can fail in a non-obvious way.

Store in a global dictionary

Heres an alternative, which I prefer in some cases.

# store all runtime variables here.
runtime = {}
runtime["hmd"] = None

def poll():
    # declare hmd as global so that the function has (write) access to the global var.
    if runtime["hmd"] is None:
        runtime["hmd"] = ctypes.WinDLL("C:\\Program Files\\Blender Foundation\\Blender\\2.68\\scripts\\addons\\game_engine_rift\\openhmd.dll")

You can store the runtime state in a dictionary, and it has some advantages that you can easily print(runtime), runtime.clear()... etc. and pass it to other modules if you end up splitting your code across files.

Because the dictionary its self is never re-assigned, you don't have to define it as global.

Store in the function

Another trick, is you can store the variable in the function (and avoid using globals)

Note that this is not the functions local namespace, which is why it has to be accessed as an attribute of the function, even when inside the function body.

def poll():
    # declare hmd as global so that the function has (write) access to the global var.
    if poll.hmd is None:
        poll.hmd = ctypes.WinDLL("C:\\Program Files\\Blender Foundation\\Blender\\2.68\\scripts\\addons\\game_engine_rift\\openhmd.dll")
poll.hmd = None

Sometimes I use this for global variables that only the function ever accesses.

For more info on function attributes see:
Q: Python function attributes - uses and abuses


transparency issue in blender render with shading? Unsure how to fix this problem, just a generic fire in a fireplace, but the transparency isn't working correctly for some reason.

I'm in Blender Render. Not sure exactly what to search for to find the answer to this so I'm just asking.

Thanks, and I'm sorry if this is a repost of a previously asked question.

when using a transparency in Blender Render ensure that in the material tab , under options that the traceable box is unchecked so as to not cast a shadow on the transparent portion of the texture.


Weird outline around brush strokes in texture paint I'm trying out the texture layers in texture paint. I've got my base texture and then a completely transparent layer which I want to paint on. I can paint on the base layer no problem, but when I switch to the alpha layer the strokes have a weird black outline around them. Anyone know what's going on?

The outline is caused by the Mix node not being exact enough because it is a low resolution, try creating an alpha layer with a resolution like 2048*2048 or 4096*4096, this should fix the problem.


Is there a way to play all actions that are part of one armature one after another? So I have a few actions I made for my FPS hands that I would like to play one after another and render it as a video, but I cant seem to find where or how to do that. Is that even possible?

You need to push down each action that you want to show from the Dope Sheet into the NLA (Nonlinear Animation window):

Then open the NLA and move each strip (you can also put them all on the same track). Press G to move a strip, right click on a track to move it up or down:

If you press N in the NLA you'll have access to the NLA properties, for example you can decide the effect of the selected strip, Extrapolation > Hold means that the strip below the one selected won't be able to act. If you want them to act, choose Nothing, or put the strips above this one:

If you want the NLA to play you need to close the action playing in the Dope Sheet, action playing in the Dope Sheet will play primarily.
To quickly edit an action, select its strip in the NLA and press Tab, the strip will turn green, the action will automatically appear in the Dope Sheet.


Pointers to node groups? I am making "2x4"s!!! For consistency across the variations i have to use the same texture, otherwise they would look like they were made with different types of wood... but if you line them up you can see very obviously that they all use the same texture, and they look tiled. so for each object i have a unique node tree where the only difference between them is that i have changed the location in the mapping node...

problem is that i have to create an entirely new node tree for each unique 2x4, which can become a pain when making minor adjustments to the shaders. so i was wondering if there was a way to create a pointer to sections of a node tree and have the changes reflect across all references to that pre-defined node section. i have heard about instantiating node groups and am not entirely sure if this provides the functionality i desire (i worry about memory and render speed)

QUESTION

does blender allow for pointers to a node group? or reuse of a group of node without the memory hit of multiple instances?

EDIT: maybe it would be better to say i want a static node group....

Randomizing Texture Locations

Here are 3 node tree setups that allow one texture to be randomly placed on multiple objects:

(NOTE: If you can't see the node tree graphics easily here, you can download them to see them in much higher resolution)

Node Tree #1:

NOTE: In the Vector Curves node here, see how the curve has been changed from it's default straight line to a curve and how the X button is selected above that on the left? Well, in order for the randomization to be most comprehensive, you need to similarly change the curve for Y and Z -- just click on each and adjust it's curve.

Node Tree #2:

Node Tree #3:

NOTE: The node called "Object Variation" is a node group. To expand the group so you can see and/or edit all the nodes in it, select it and press TAB (and TAB again to collapse the group). Here are the nodes in the group:

Points to Note

You probably will want to use a seamless tileable wood texture so you don't have seams showing on occasion.
You can use either Photoshop or GIMP to create your own seamless texture:

In GIMP:  Filters -> Map -> Make Seamless
NOTE: GIMP's "Make Seamless" works very well if the texture is very vague, like sand on the beach, but it doesn't work well at all if the texture is very well defined, like zebra stripes.
In Photoshop

And to give credit where due:

The 1st node tree came from Benjamin Dod on BlenderArtists.org  and here is his blend file
The 2nd node tree came from User2554615 here on StackExchange and here is the blend file
The 3rd node tree came from Rich33584 also on BlenderArtists.org  and here is his blend file


Emission material changing global lighting? I have a animation to do where a Emission material turns on and off quickly, but in my demo here https://pasteall.org/blend/b615db2696c749bd9c1bb5e97e6274db it seems to be changing the global lighting (ie the floor is changing to a gray and that will be really distracting in a quick animation). Am I doing something wrong?

Thanks in advance

In your render settings, your Light Paths options are configured to some very low values:

Compare these to the default values:

In particular, your Clamping settings are highly unusual. The default value for Direct Light is 0.00, which disables clamping altogether, but you have it set to 0.63, which is quite small. This essentially means your entire scene will be unusually dark, since the contribution of your direct lighting is artificially clamped.
Without the Emission providing an additional light source, Blender’s color management largely masks the effect of the clamping. Since the scene is uniformly dark, the brightest point is still the background, which will be chosen as the scene’s white point, scaling everything back to what is roughly normal.
But when you add the additional light source, that stops being true. Your sphere becomes the brightest object in the scene, which shifts the white point upward, above the value reflected by your background. Consequently, the background appears darker in the final composited image.
Resetting all the Light Paths options to their default values fixes the issue, so the background is consistently exposed regardless of the strength of the emission:

(Note also that the glass sphere looks much better with these settings, a result of raising the number of transmission bounces.)


How to get Location 3D cursor by Script In View from Top screen, I want get location 3Dcursor by script, when i click change 3dcursor point.
Can you help me.

thank you so much!

You can get the cursor location using bpy.context.scene.cursor_location

to change the cursor location you just set its values as shown here bpy.context.scene.cursor_location = (0,0,0)

In blender 2.80+, the syntax is :

bpy.context.scene.cursor.location = (0,0,0)


Why is "UVs" menu not visible? I'm following this CG Cookie tutorial.

I have a tree mesh, and loaded the image. But there is no "UVs" menu, where I could find the "unwrap" function. There is only View and Image. After them should be located the UVs

That menu shows up in Edit mode, and only when the mesh is already UV unwrapped.

(Click on the images to get a larger view)
Object mode:

Edit mode, not yet unwrapped:

Edit mode, unwrapped:

To unwrap, make sure you're in Edit mode, then hit U or click Mesh > UV Unwrap and select a suitable option from the menu that shows up.


Imported .svg files does not show up I'm new to Blender and trying to make a 3D model out of a 2D image.
I made an inkscape 2D trace and saved as .svg file. When trying to import it to Blender, it does not show anything in the editor.

Any possible reasons you could help me with ?

I've found issues with SVG or illustrator when the shape is filled but is not a closed curve or when the shapes have overlapping lines or fills.
On the other hand, for such a simple shape you could import the image as background and trace it as a curve directly in blender.


Rendering an animation only returns blank images I am having trouble rendering my animation
When I click Render animation it will give me 40 blank images. The frames are all correct. I think I messed around with the settings too much.
I am quite new to blender, also I'm  using blender 2.79. Here's the file.

Try removing a strip from the Video Editor.


How can I zoom without moving camera (also for render)? I tried a tracking scene and I want to zoom in, kinda like the viewport zoom but for my final render.

Viewport Zoom, I want it to look like this in my render
https://imgur.com/a/gjxhu0A

But when animating the camera to get closer, or changing the focal length the background of course doesn't move along.

Example for focal length/camera animated zoom, background doesn't move along.
https://imgur.com/Mpo7cJg

How can I do this?

(The gif file sizes were too big, I had to upload them elsewhere)

That is a background image, it is not supposed to move. It's only for reference. If you want the image to stay in place, while you move the camera use the addon "import image as plane". Or simply create a plane with an emission material and use your BG image as the texture.


normal map shows up slightly offset on mesh, but only in cycles render view I am following a tutorial to make an anvil in blender 2.9.1.  I have 2 different meshes, a sculpted high poly mesh, and a low poly, regular mesh.  I made sure both objects were on the exact same spot when I baked them.  the normal map turned out great, and when I plugged it into the normal in the material viewer, it looked just fine.  My problem is that when I go into render mode, the normal map suddenly changes, and it shifts a few inches to the left around the whole mesh, making it look really weird. (See image below)

but when I go back to material view, it looks perfectly fine.
Here is a picture without materials on it so you can better see my problem:

I want these normals to show up on the corners of the mesh instead of where it is now.  I know that the problem is not UV based because I have already checked my UV's.
here is my node setup:

(sorry it might be kind of hard to see)
does anyone know why this is happening?  And better yet, how to fix it?  any help is appreciated! :)
(PS, I will give the link to my file below)

I finally figured out what was going on.  I discovered that since I had a mix shader that was mixing 2 normals together, and one of the image textures for the normals was conneted to a mapping node, so because of the mix shader, the mapping effected the other normalmap as well.


Incorrect Context error for bpy.ops.view3d.camera_to_view() only if looking through active camera I am writing an operator to create a new camera to capture one frame renders, thumbnails etc.

It works if you are in a 3D View and not looking through an existing camera. However if you are looking through a camera it fails here:
'RuntimeError: Operator bpy.ops.view3d.camera_to_view.poll() failed, context is incorrect'

I'm confused as I believe the context should be correct? Any help much appreciated.

import bpy

class OBJECT_OT_make_test_camera(bpy.types.Operator):
    """Make a test camera"""
    bl_idname = "object.make_test_camera"
    bl_label = "Make Test Camera"

    @classmethod
    def poll(cls, context):
        return context.area.type == 'VIEW_3D'

    def execute(self, context):
        cameraName = "SimpleRenderCam"
        cam = bpy.data.cameras.new(cameraName)
        cam.lens = 90
        cameraObject = bpy.data.objects.new(cameraName, cam)
        bpy.context.scene.collection.objects.link(cameraObject)
        bpy.context.scene.camera = bpy.data.objects[cameraObject.name]
        area = bpy.context.area.type
        print(str(area))
        bpy.ops.view3d.camera_to_view()
        return{'FINISHED'}

class VIEW_3D_PT_test_camera(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "Test Camera"
    bl_label = "Create camera to test area"
    # bl_context = "object"

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

        area = bpy.context.area.type

        row = layout.row(align=True)
        row.label(text="View type is:")
        row.label(text=str(area))

        row = layout.row()
        row.operator('object.make_test_camera')

def register():
    bpy.utils.register_class(VIEW_3D_PT_test_camera)
    bpy.utils.register_class(OBJECT_OT_make_test_camera)

def unregister():
    bpy.utils.unregister_class(VIEW_3D_PT_test_camera)
    bpy.utils.unregister_class(OBJECT_OT_make_test_camera)

if __name__ == "__main__":
    register()
```

The operator does not poll in 'CAMERA' view.

Conveniently when using an operator that relies on another, can use the others poll method as our own.

The button will now be disabled when the operator does not poll, and avoid the error above.  The operator is also disabled in the Align View menu

Button disabled in Camera Perspective View

This is perhaps a good thing since you get in this state by assigning camera to view, and will have to re-orientate to make the op viable again.

Otherwise set the 3d viewport to another mode or tweak view matrix slightly to move from camera view.

import bpy

class OBJECT_OT_make_test_camera(bpy.types.Operator):
    """Make a test camera"""
    bl_idname = "object.make_test_camera"
    bl_label = "Make Test Camera"

    @classmethod
    def poll(cls, context):
        return bpy.ops.view3d.camera_to_view.poll()

    def execute(self, context):
        cameraName = "SimpleRenderCam"
        cam = bpy.data.cameras.new(cameraName)
        cam.lens = 90
        cameraObject = bpy.data.objects.new(cameraName, cam)
        context.scene.collection.objects.link(cameraObject)
        context.scene.camera = cameraObject
        print(context.area.type)
        bpy.ops.view3d.camera_to_view()
        return{'FINISHED'}

class VIEW_3D_PT_test_camera(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "Test Camera"
    bl_label = "Create camera to test area"
    # bl_context = "object"

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

        row = layout.row(align=True)
        row.label(text="View type is:")
        row.label(text=f"{context.area.type}")

        row = layout.row()
        row.operator('object.make_test_camera')

def register():
    bpy.utils.register_class(VIEW_3D_PT_test_camera)
    bpy.utils.register_class(OBJECT_OT_make_test_camera)

def unregister():
    bpy.utils.unregister_class(VIEW_3D_PT_test_camera)
    bpy.utils.unregister_class(OBJECT_OT_make_test_camera)

if __name__ == "__main__":
    register()

To make the operator return in a state to run again, set the view to perspective before return in operator execute.

        context.space_data.region_3d.view_perspective = 'PERSP'
        return{'FINISHED'}

To have your operator poll and run in camera view add an or clause .

return bpy.ops.view3d.camera_to_view.poll() or context.space_data.region_3d.view_perspective == 'CAMERA'

Since the view operator wont poll outside 3d view, this being false saves us the need to worry that the space is anything but a 3d space.

Will also have to set the view before calling operator to avoid the operator poll.


why is my texture repeating after UV unwrapping after doing node editing and UV unwrapping my texture logo is repeating.i just want a single logo.How can i solve this?

The default when you make an image texture node is "Repeat":

If you set it to "Clip" instead it should only show your texture once

Hope that helps!


RPR material not rendering in preview I've installed and activated ProRender engine, but materials won't render even in a basic setup. However from the materials side pane it looks like it can render it correctly.
I'm running macOS Big Sur on MacBook Pro 2020 (cpu only).
Edit: rendering of the image works... only render preview does not
Many thanks for your help!

Got it! Disabling Viewport Denoising and Upscaling in Render Properties → Sampling → Viewport & Preview Sampling does the trick. ¯\_(ツ)_/¯


Where is the dimensions option? I need this desperately but can't find it. Am I doing something wrong?

You are in Edit mode. You can only set "dimensions" in object mode (same as with scale).


Blender efficient dual monitor setup I use dual monitor setup with diffrent screen layouts. So I have a "Default_l" screen layout and a "Default_r" screen layout. Is there a way to automate the change of the screen layout:
When I change one screen layout for example from "Default_l" to "Compositing_l" the other screen layout also changes from Default_r to "Compositing_r"?

Duplicate the window (CtrlAltW) for the second monitor, then you can change the layout individually.
I recommend to change the mouse behaviour by OS to automatically focus window on hovering, otherwise you have to click to activate the alternate window.


When I import files they "spawn" too far away from the origin? When I import a model, they "spawn" a bit too far away from the grid, or basically where every Blender project starts. How do I change it so they can be imported closer?

Check your object origin on the object in the source blend file. If it's centered on your object, it should link into your new file at the world origin.


How do I get a Roblox Stormtrooper helmet to not be greyed out? When I insert an .obj file from Roblox Studio, it greys out the Helmet. Does anyone know how to fix this?

There are a few reasons why this could be happening.
Listed as follows are some, with their solutions.

You are using EEVEE renderer instead of Cycles.
Change this by going to the Render properties tab, and setting the renderer to Cycles.

You don't have a material set.
Go to the material tab in the object properties with the object you want a material set for selected, and add/adjust your material.

You need to adjust the material set for your object to something other than the default.
In the images, I try to achieve a material somewhat like a stormtrooper helmet.
First adjust the roughness, then adjust the metallic-ness of the Principled BSDF.

I believe you are doing this already, but it is always good to *Compare your object material to another object in the scene, with Rendered view selected.
In these photos I compare the cube object with the helmet material to a blue Suzanne "monkey" head. (Also with a principled shader.)

With no shader adjustment:
With roughness set to 0:
With final material:
One last tip: Adjusting world shader can sometimes give you a better preview of your materials. Here are examples of world brightness and color with a scene of objects with the helmet shader:
Sometimes a dark world background with a bright light helps too:
I hope this helps!


Paper model effect from Royal Institution titles There's a clip in the Blender 2013 demo reel that consists of a fly-through of a paper cut-out model. (32 seconds in)

I'd like to have a go at recreating that look. Does anybody have any tips? What are the characteristics that make it instantly recognizable as paper? Is it a subtle texture on the paper itself? Is it the hand-drawn outlines on the edges? Or is it something else, such as the indoor lighting or the focal length?

My thoughts:

Every surface must contain a paper texture, even of only slightly visible.
Make the paper look a little used (dirt, coffee stains, bit crumbled up, more hints)
Light the place as if it was miniature (soft shadows, big lights)
Focus as if it was macro (blurry background)
When drawing on the paper, use near-real pencil.
Cycles - definitely use cycles for this.
Freestyle is not a must, but can help.
Extra help is small dust particles on the ground and flying around.

I think the strong point of that video is realistic lighting: very varied sources and realistic bouncing, warm temperature. Also it doesn't stay on too long, I bet you can get a better result if you try!


Disabling Indirect Light in the Cycles Render I'm trying to create an image with local illumination only.
The scene I'm working with is the 'Class room' scene available here: https://www.blender.org/download/demo-files/

It uses the Cycles Render which I am not very experienced with. Switching to a different Render appears to screw up all the scenes materials and textures.

A full render with the preset settings yields a nice and detailed picture:

Now I want to render this same scene with direct light and hard shadows only using the Cycles Render. Soft of like a Phong shader would do plus shadows. In this style:

I've attempted setting the amount of bounces to 0, like so:

But this appears to only change specular reflections on metallic or glass surfaces. This is the result:

I want zero additional light bounces, meaning no indirect light or inter-reflection. All surfaces not visible to a light source should be completely dark.

Anyone know how what the easiest way of achieving this is?

Setting diffuse bounces to 0 is the correct way to achieve what you want. Setting glossy and transmission bounces to 0 as well is unnecessary, it just produces black metal and glass, and the like.

The reason the resulting render doesn't look like the Cornell Box example is because the lighting is different. There are multiple light sources, some of them very large in area. (the windows, in particular) This create diffuse soft shadows and light from many different directions. There are very few places in the scene that do not directly face at least 1 light, so disabling indirect lighting still gives fairly smooth and realistic-ish lighting. In the box example, there is only one light, so any area occluded from it is in solid shadow.


Can custom properties be allowed to go to infinity? Is it possible to allow a custom property value to go as high or low as needed?

In other words, is it possible to make a custom property without clamping it with a min and a max?

Going off this answer, you can just input 1e39 to get inf, since Blender will clip it off to float_info.max.  Likewise, you can use -1e39 to get -inf.  (If those don't get you inf values, just raise the exponent after the e until they do.)


Can the GPU be used while video editing I'm currently using Blender for video editing.

I have an AMD R7 and I have configured OpenCL in my user settings.

However, it doesn't seem to make rendering video any faster. Can the GPU be leveraged in this specific scenario or is it exclusively for 3D editing that the benefits can be seen?

Update #1

FWIW, exported in Blender using lossless method and will be encoding using VidCoder. Note, VidCoder uses all the cores on my system.

No there is no GPU assist for the VSE (sequence editor) and before you ask, no you can't have more cores either. You can make an OpenGL render (without audio IIRC) though. If you look at an OS task manager or resource monitor you will notice that there is very little stressing the CPU or memory. As it is not a core function of Blender it is not well optimized for system resources.


Merge 2 vertices at LAST and at CURSOR in Python I need to merge 2 vertices into one with bpy.ops.mesh.merge(type='LAST').
I select 2 vertices, however there is no saved select order to them so I can't use merge with parameter 'LAST'.

import bpy, bmesh

obj = bpy.context.scene.objects.active
objData = obj.data
bpy.ops.object.mode_set(mode='EDIT')
meshData = bmesh.from_edit_mesh(objData)
vertices = meshData.verts
#select 2 testing vertices
vertices[0].select = True
vertices[1].select = True
bpy.ops.mesh.merge(type='LAST')

I get this error:

TypeError: Converting py args to operator properties:  enum "LAST" not found in ('CENTER', 'CURSOR', 'COLLAPSE')
Error: Python script fail, look in the console for now...

So instead I tried to snap the 3D cursor to the first selected vertex to be able to use merge with parameter 'CURSOR':

#select 2 testing vertices
vertices[0].select = True
bpy.ops.view3d.snap_cursor_to_selected()
vertices[1].select = True
bpy.ops.mesh.merge(type='CURSOR')

And I get this error:

RuntimeError: Operator bpy.ops.view3d.snap_cursor_to_selected.poll() failed, context is incorrect
Error: Python script fail, look in the console for now...

So my questions are:

How do I change context to View 3D (if only 'OBJECT', 'EDIT', 'SCULPT', 'VERTEX_PAINT', 'WEIGHT_PAINT', 'TEXTURE_PAINT' are available) or am I missing something? And how come I am able to manually do it on the object in EDIT mode?
Is there any way to edit the selection order of vertices so I can use merge with parameter 'LAST' as I originally intended?

This can be done by manipulating the mesh itself using the Bmesh module:

Would it be possible to get list of index of components BY SELECTION ORDER in Edit Mode?

You can access the selection history and proceed with the bmesh.ops calls for merging vertices:

bmesh.ops.pointmerge(bm, verts, merge_co)

Or do it entirely manually by modifying the mesh data itself.

If you have any UV's or vertex colors, you will have to take care of them too.


How to let mirrored half move independently I created a model using RPG Graphics tutorials, and was about to begin weight painting.  However, when I move one side of the armature, the other side mirrors its actions (model shown in tutorial does not do this).  I would like to be able to move the sides independently.  The right side of the mesh is mirrored from the left side.  In edit mode, vertices appear only on the original side.  Mesh on the original side bonds to armature, but that on the mirrored side does not; when I move the left arm, left arm mesh follows it, and right arm mesh mirrors it, but right armature does not follow.  I have tried selecting all, pressing 'p', and using the separate options.  Does not work.

You must apply mirror modifier before weighting.

The weight is a property of a vertex, the mirror modifier "copies" all vertex attributes, weight included, so - if you don't apply it - it will copy the weights from one side to the other.


How can I make a custom IK arm rig on an already made Auto Rig Pro rig I rigged my character with auto rig pro but a disadvantage of Auto Rig Pro that I've experienced is that the arm moves as an FK rig (As opposed to Rigify with its IK arm rig). I've tried to customize an IK of the arm movement by applying an IK constraint to ARP's hidden bone layers. But I cant manage to do it without messing up with the rig. Can anyone help me?

I guess you already found your answer but maybe other peoples will need this too.
Here is one way to do :
Once you have your rig, go into pose mode and select the rectangle part of the hand.
Then on the panel on the upper right of the screen go to "tool"

Under Rig Main Properties you have "IK-FK Switch". 1 = FK ; 0 = IK
So if you want IK, switch it to O. I hope this will help.


Export the animation of one bone to .bvh I'm having a hard time figuring out how to separately export the animation of a single bone into a .bvh file.
I'm currently working on a project with a MakeHuman body, but I only want the motion of the right foot, is this possible? And if so, how?

Thanks a lot

Create a copy of your animation, in the dopesheet select all the data you're interested on, Ctrl I to invert the selection, X to delete unecessary data. Export to BVH.


2019 Macbook Pro (laptop) keyboard shortcuts I'm UI graphic designer and junior front end dev and I started learning blender few days ago but everytime I open blender and trying to do something while watching tutorials I'm stuck in the keyboard shortcuts issues. I find so many shortcuts links but for the Windows. I feel like Mac is something "special" for this.
I will really happy if someone can help me, or if someone has any tips.

Thanks a lot! O:)

I had similar problems when starting with Blender (I'm using a MacBook without mouse and Blender 2.80). Here some tipps:

most shortcuts are made for people with a numpad, if you only have a simple keyboard, you can change it under Edit -> Preferences -> Input -> Keyboard -> check "Emulate Numpad" (here's an older post about this topic How to emulate a Number Pad and 3 Button Mouse?)

I also changed some of the Hotkeys under Edit -> Preferences -> Keymap (a lot of Hotkeys use keys I don't have on my simple laptop keyboard, so you might want to switch some of the functions you are using most often to key-combinations you have and are still available). It's also useful to browse trough and lookup Hotkey combinations here (they should be specific for mac and not windows)
After you changed a hotkey, it has an arrow pointing left besides it (in blender 2.80) For example I changed the "view selected" to Alt+Q

Another important thing is to choose how you want to select stuff (either right or left mouse click), you'll also find it under Edit -> Preferences -> Keymap -> 3D View -> Mesh -> 3DView: Tool Select (earlier versions of Blender had a more global switch for that)

I hope this helps, let me know if you have questions (also always post the blender version you are using with your question, because Blender changed a lot in the last months)


How do I select vertices by material slot in Python? I'm trying to collapse some items which have multiple material slots that are unneeded (and when exported come in as distinct materials, which I do not want).  I have the code needed so far to recognize when a material slot shares the same image map (so a candidate to eliminate that slot) if only I can select it.  It does select A material slot, but not all of them, and I'm pretty sure it's because I'm still confused about the way to specify what material slot I need.

Here's the code:

imageTextures = []
# Iterate over all of the imported object's material slots
for m in imported.material_slots:
    if m.material:
        # Iterate over all the current material's texture slots
        for t in m.material.texture_slots:
            # If this is an image texture, with an active image append its name to the list
            if t and t.texture.type == 'IMAGE' and t.texture.image:
                if t.texture.image.name not in imageTextures:
                    imageTextures.append(t.texture.image.name)
                    print ("Image is ", t.texture.image.name)

# Go to Edit mode
bpy.ops.object.mode_set(mode='EDIT')
    for textureFile in imageTextures:
        print ("Our Textures are", textureFile)
        # Deselect all the vertices
        bpy.ops.mesh.select_all(action='DESELECT')
            for m in imported.material_slots:
                if m.material:
                    # Iterate over all the current material's texture slots
                    for t in m.material.texture_slots:
                        if t and t.texture.type == 'IMAGE' and t.texture.image:
                            if t.texture.image.name == textureFile:
                                # Select the vertices of the vertex group
                                print ("Selecting", m.material.name)
                                bpy.ops.object.material_slot_select()

So if someone could just correct me on that last part I'd be very grateful (after this I need to create a new mat slot and assign the selected verts to this, and then delete all the other mat slots, but I think I can handle those chores).

Okay, I figured it out (and I'm dumb and if there is a way to delete these questions you answer yourself I would).

All I had to do was to set the active index of the material and then do a material slot select (as I already had).  So this works:

for num, m in enumerate(imported.material_slots):
    ...
    bpy.context.object.active_material_index = num
    bpy.ops.object.material_slot_select()

Now just to make a new material, assign the faces to it, and delete all the old ones, but I think I have that.


Camera constrained to path, not follow it exactly around curves I have my camera constrained to a curve with Follow Path and it stays with its origin on the path exactly. But when I add a strong curve to the path the camera starts going off the path. It is cutting corners for some reason. Has anyone had experience with this problem?

I found I can make the path I want and then select all the points in edit mode and subdivide them until the camera comes back to the path on strong turns. But this is not a functional solution if I want to quickly edit the path later.

Perhaps you have the curve resolution set to low? The curve will render at the preview resolution when it is set to zero. This will make any objects tracking its length cut corners as they evaluate the curve in a parametric manner.

vs


How to fade out a mesh? I have a very very simple animation where I have to fade out a mesh, from a complete opacity to zero. How do I achieve this?

In the materials tab of your mesh, add a new material if there is not one already. Then, scroll down until you find the transparency tab. Enable transparency, and you will see a slider that allows you to change the opacity (or transparency) of the material, and thus, the mesh. I would use z-transparency as it is the most realistic.

With the opacity set to full, choose the frame when you want to begin the fade, put your mouse over the opacity slider I. Then, move to the frame when you want the mesh to be transparent, slide the opacity slider to 0 and hit I (with your mouse over the slider) again.

This technique is for blender internal


How do I align a component to another like in maya or max? I'll be more specific so it's easier to understand my question :

Let's say that Vertex 1 is at coordinates X:0, Y:1, Z:0
and Vertex 2 is at coordinates X:1, Y:0, Z:0

I need vertex 1 to be aligned with vertex 2 on the X axis. Is there a shortcut/key/tool to do that or do I have to get into the vertex's coordinates each time i need to align?

In Maya, i'd just click on the desired axis, then hold V and translate vertex 2 towards vertex 1 and it would align perfectly.

To anyone experiencing the same issue as I did: enable vertex snap, then drag your vertex along the desired axis while aiming your cursor at the target vertex.


Is there a Hand tool avaliable like in photoshop? Is there any Hand tool available for blender like moving entire world (I'm not asking about the middle mouse click movement. I'm asking like entire world movement like Hand tool in Photoshop & other Software)

2.How can I export .obj files with changed pivot position using blender? Every time pivot gets reset to the default position.

Thanks in advance

The "Hand tool" is made by Shift+ Middle Mouse Button.
To export select the mesh, Shift+ S Cursor to Center, select your mesh, Shift+ S Selection to Cursor, then export.

In this way, when you export the object it will have his origin exactly in the center of the scene, which is where the export .obj function places the pivot point.


Texture shaking/trembling in Blender Game Engine In trying to simulate a first person camera in the Blender Game Engine, I have hit a snag.

Kindly open the attached blend file and hit P to run a (very simple) demo of a first person camera (sitting atop a red cube moving across a deformed plane).

You will see that the textures of the plane (upon which a small cube is moving) shake and tremble a bit before settling down (?) every time the cube is moved.

W and S move the cube forth and back, the left and right cursor keys turn the cube.

If I try to run the test game from another view (not through the camera), there is no trembling of the texture of the plane. The problem only appears when I hit number pad zero to enter camera view and then hit P to run the game engine.

Can you help me correct this problem?

This is a really strange issue and I was able to replicate it with different textures and objects. I don't know why it happens but if you want to fix it rotate the camera a little bit on the X Axis. Just select the camera, press R then X.
It looks like the problem only appears when the rotation is 90°.


What are the differences between rigging with bones using bones constraints or just using object constraints? I'm specifically talking about mechanical rigging here.
I understand bones and armatures are necessary in organic forms where there is deformation in the object, but for mechanical rigging where no parts deform, but only move, does using bones help any?
To me it seems simpler to just use object constraints when rigging mechanical things.

What are the differences between using bones or object constraints?
Are there any benefits bones have over object constraints?
Is there anything that can only be done with one method?

If it's just separate, undeformed meshes you're using, you could use object-level constraints.  But there are even some benefits to using Pose-space for mechanical stuff as well:

It makes things easier to revise.  If you decide to change the mesh after you've constrained it, you may run into some issues if say, the pivot point has changed on that object.  Same thing if you've parented it to another object instead of constraining.  If you had a bone deforming one object (and then another bone constrained to that bone) you now have a revisable system.
It allows for some pose-based tools, such as saving poses.  Granted, this benefit is only useful if you find you want to re-use key positions a lot.  If it's just a piston or something fairly cyclical, pose-saving isn't all that useful.


Fluid doesn't react on wind force field I baked fluid domain with wind force field inside it but it seems that the wind has no impact on fluid. What did I do wrong or there is supposed to be no result at all? in this case how to simulate the wind on the top of the water surface in particular spot? For example, I wanna turbulence on the water caused by helicopter.

The Elbeem fluid simulator in Blender (fluid sim for 2.79 and earlier) doesn't support force fields.

You can use a particle system with Fluid physics and force fields but the challenge is getting a good surface.

Metaballs is one approach - see Is there a way to render particles as if they were a single liquid?
The Cubesurfer addon (example here) was looking pretty good a few years ago but the development doesn't seem to have moved on from Beta.

If you need to stay with the Elbeem simulator another option is to use dynamic paint to displace the surface by turning the fluid domain into a "canvas" and rig a object as a "brush" to follow the movement of the helicopter. I've made a very quick proof of concept and you can see it here. Note - very rough just to prove it could be done.

Finally, it looks like Mantaflow (the new Fluid simulator being developed) does support force fields. There are custom Mantaflow Blender builds for versions 2.79 and 2.8 that you can download. My experience from a small amount of playing with 2.79 is that Mantaflow was not very stable. I haven't tried the 2.8 version yet... use at own risk!


How do I get my renders to not antialias with the background? (Cycles) I'm currently working on a project that requires 2d-rendered sprites however I need for the sprites to have aliased borders/outlines with the background while the rest of the image is antialiased. I am using Cycles so I think the only way I can do this is through compositing.

How about this? See my attached screenshot. Rendered in cycles.
It is a very easy compositing node tree.

Is this what you expect? Antialiasing inside objects, but aliasing outside. Works with transparent background only.

Best wishes
Chris


Why can't I see wieght colors unless I use the numpad [ / ] key? Why can't I see weight colors unless I use / key? It seems I can only see the weight colors when the object is isolated but that isn't always practical. How can it work with all items in view?

You can barely see weight paint colors while in the Material shading mode if the shape is not in Local View, you have to switch shading mode to Solid.

I was going to delete this post but others have asked before why they can't see weight paint colors.


How to add some blur inside a glass sphere and keep the outside sharp & reflective? How to add some blur inside a glass sphere and keep the outside sharp & reflective? Blur may not be the right descriptive because there is also some distortion. I'd like to keep it one mesh because I'm going to shatter it and the pieces need the same material.. Here's what I want.

Here's what I have.

Node set up.

Thanks!

"Blur" is the right word for describing the effect, but the word for the cause of it is "roughness". Roughness simulates a surface that has microscopic bumps on it. Because of these bumps, light refracts with a little bit of randomness, causing a blur.

All you have to do is increase the roughness to about 0.1, in your case:

Roughness will also blur out the reflections. You said that you want the reflections to be sharp. But look carefully at the reference image. The reflections are slightly blurry, too!

Anyway, here is my result of a sphere with the principled shader and a bit of roughness:

Note that if you would actually need a sharp reflection, you would have to mix a rough refraction with a smooth glossy shader, controlling the proportion by the Fresnel node. (Or you could use the clearcoat feature in the principled shader). This would not be realistic, though, because usually the roughness for the reflection and refraction is the same – unless there are multiple layers in the material, which does not seem to be the case for a simple glass sphere.


How to rename Animation Node's Invoke Subprogram;s Generator Output? I use a loop to modify the (1) points, (2) left handles, and (3) right handles of a spline. I then produce 3 Vector lists and use them to create a new spline.
The following pictures shows how the x-coord of points are modified. The actual node tree has more complex logic for the points and handles.

There may be better way to I achieve the task. My question is not necessary about the best approach. The problem I have is that the 3 output lists are all named 'Vector List'. I have no way to tell which list is which when I am working them inside the Input Loop (because the actual layout of the nodes for manipulating the 3 Vector lists is not as neat as the attached picture). Is there a way to rename the 3 output lists so they can be descriptive. In this case I want them to match the input lists.

Thanks for any help.

Yes, it is possible to rename the Outputs of the Invoke Subprogram node and there are two ways to do that:

Select the Output Node:

Open the N-panel or properties panel --> Node --> Advanced Node Settings, there you can rename the output (blue box)
Or, press the U-key (which is a shortcut for the Output Node Settings), then a menu will appear in which you can rename the outputs (green box)


Making details like these (Sword Handle) i'm still kinda of a beginner in blender and i'm currently struggling while trying to achieve this kind of shape in the sword's handle:

The details that i'm struggling are those straps of leather (i don't know if that's the name)
Here's another image of a similar handle:

Should i sculpt these kind of details or is there a better way to do this? Thanks in advance!
Ps. Sorry if i butchered some grammar, english is not my main language

What I think you should look into is using the curve modifier! This will let you take a single strip of leather and physically wrap it around the handle by following the shape of your curve. Alternately, if a large amount of variety is either not your concern, or to be added at a later stage of the object, you could try the array and curve modifiers together, as well. This will let you take a very small section and follow it along the curve, repeating itself as many times as you want it to.

The ideal set up would be to first start your array, then make your curve around the sword hilt, add a curve modifier, then adjust your array. Both methods allow you to adjust the size of the object along it's length by scaling the control points. This can even be constrained to an axis, in case you need one particular part to be thinner or smaller.


Why does camera this tracking fail completely even when the solution value is very low? The attached animated gif shows some frames of a video with a mesh box placed at each tracking marker used to successfully track (solution error <.4) an 800 frame chunk of video.

The point is to illustrate just how poorly the camera tracker calculated: when the box is at a marker placed at the top of a faraway building on the left, it is actually visually much larger than when it is at the tracking marker closest to where the real camera was. I went to great lengths to be sure that the camera's sensor size and focal length are correct, and manually placed and followed all markers to be sure they were accurately tracking.

There is not a lot of parallax motion over the 800 frames, but there should have been enough to at least know that the point closest to the camera moved more than the point furthest away. Sometimes it seems to work, sometimes it doesn't. Does anybody know how to improve this?

For this kind of shot, where the camera hardly moves I don't think you're going to get good results using motion tracking.

There is so little parallax information for the reconstruction.

For a detailed post on motion tracking read:

How can I get better results when doing camera motion tracking?

I'd suggest you stabilize the footage as if it was a fixed shot and then do the reconstruction using BLAM ( https://github.com/stuffmatic/blam ).

  NOTE: Blam is no longer mantained and has been replaced by Fspy: https://fspy.io/, but there is no importer for blender 2.79 or previous versions.

For a detailed post on how to use blam and Fspy read: How can I recreate geometry using a photograph?


Black reflection on glass I'm trying to render a glassy flac. The problem is, taht it makes black reflections on sides or corners. I don't know where these reflections come from, almost white world and in the example the flac is in white cube and still there is black left side.

What can I do to get rid of these black spots?

In the render properties for cycle find the Light Paths and increase the Transmission value till the dark spots go away.


How do I colour a 3D terrain based on its height? How do I colour a 3D terrain based on the height? Say, bottom green, and gradually to brown in the middle and white at the top.

When I use colour ramp node, I can see gradient colour across the 3d terrain along x-y plane, but I'd like to have the gradient upwards, in x-z, y-z plane.

Edit

Currently, my setup is using cycles and nodes like this:

Color ramp (c) -> (c) Diffuse BSDF (BSDF) -> (Surface) Material output

Mapping node:
You can use the Mapping node to rotate the texture on the Y axis, making the gradient vertical.
Change the Location Z axis value so that one "end" of the gradient is at the tallest peak or valley of the mesh. Also ensure that the Mapping mode is set to Texture:

Result:

UV unwrapping:
You could also UV unwrap your mesh.

Enter edit mode (Tab) and select all A

Set the view to Orthographic (Numpad 5) and view your mesh from the front (Numpad 1)

Press U>Project from view:

Rotate (R) the resulting UV map in the UV/Image Editor so it is standing on end:


I cant light up the interior of an object Hey all I am making a spaceship in blender cycles and when I was adding lights to the back compartment of my ship for some reason in the quick render mode there are lights and in the actual render mode that you use to export it's basically pitch black! I have no idea how to fix this I have suns, and emission materials on the wall of the ship but no light. I need help!

This is quick render:

actual render result for export

I found out if I select all objects in a scene and hit "W" I go to clear all restrict blender. The lights are shown!


Get camera focal length as scalar value in shader node How can I obtain the active camera's focal length (or any other scalar property) as an input to a shader node's scalar value?

At its simplest:

Right-click in the Focal Length property-field of the camera, and 'Copy as New Driver'
Create an Input > Value node in your tree
Right-click in the Value field, and 'Paste Driver'.


How can I make the camera safe zone lines easier to see? How can I change the safe zone dotted line colors or transparency to make it easier to read?
I added a picture showing my issue and an image from the blender manual showing what am I hoping to see.
maybe if somebody knows the correct name of those dotted lines can be easier for me to find in the interface.

Preferences → Themes → 3D Viewport → View Overlay.
You can't make in darker, but it can be lighter and easy to see:


How can I recover animation if I turn off my computer So I spent 4 hours creating this animation and I started rendering it, after an hour, it was on frame 20. While it was rendering I was playing a game and then the screen froze. So I waited 30 minutes for it to unfreeze. But it didn't unfreeze, so I turned off my computer, I went back to blender and it stopped rendering, then another hour passed and I realized I didn't have Ambient Occlusion on, so I Re-Rendered the video, then after 6 hours I realized that the sky disappeared, so I put in a new sky and Re-Rendered but then I realized I didn't save half my work and after frame 300 it was just still. How can I Re-cover my animation?

The resources of your computer are limited

Rendering and using your computer for something else at the same time is not a good idea, not only will the rendering go slower, but you might reach the limits of your processing power and memory, and crash your system when you run out of resources. Let the computer alone when you render, while you do something else. Pick up a book or go for a walk or do something that doesn't require a screen...

Besides that. Never Ever Render Animations Directly as Video. Render as an image sequence first and encode later to a video format. Not only will you be able to pause and resume the render (so that you don't have to break the addiction to your favorite game, or to prevent the rendering from bugging down the performance of your game), but youi'll be able to try compression schemes so that your video has better quality.

Can you recover something from the crash? Probably not... but explore the following links:

How to resume a render that got interrupted?

Is it possible to recover deleted files in the file browser?

I started rendering a new animation after completely rendering one before. How do I retrieve that older render?


What does left clicking in the 3D view do? I don't understand what the white circle with the cross is for. I can change its position by left mouse click in the 3D view. Why does it change its position and what it is for?

This is the 3D Cursor, and is useful for several things in advanced editing. When you left-click you are setting the position in 3D space for it to be. It works in all modes.

If you would like some more details, go to the Blender Manual.


Blender 2.92 Lag when modeling Computer Info:
CPU - Intel i9 10900K
GPU - 3090 Geforce
Memory - 32GB
Windows 10
I have been working on different models, some have a lot of vertices others don't. Most do have subsurf at 4 or 5 but so did many other models I did prior and I wasn't getting this problem. I will move an item or scale a section of vertices and it will jump like a second later. This started recently and I am not sure what has happened since then. I actually installed a new CPU and motherboard thinking that was the problem and it didn't help. When it is at the worst my memory usage is at 30%. I recently have installed Windows and have a fresh install of Blender and it is still doing this. I have been looking at other posts on this issue which are usually 2.8 and prior versions of Blender. Nothing on those seem to fix it or are relevant. Any help would be greatly appreciated.
Update: This morning I was working on a model that had 900 vertices and it kept on lagging when I tried to apply a bevel. Also it lagged when I tried to apply a seam(shift-E) or clear a seam.

can you check if the falloff of the brush is set as sphere and not "projected"?


Rigify IK Not Working Properly I've been working in a character during my free time, and I came to the point where I decided to Rig it using rigify. Everything went fine.. Until I tried bending the legs. Instead of bending like a normal character's legs would bend, the characters legs bent in the opposite Direction. I know that other people have come across this problem before, but there doesn't seem to be any IK constraints on any of the bones.

Please Help.

Nevermind, I found the IK bone on one of the hidden layers. :D

For anyone else with the same problem, the IK bones are on the second to panel in the layers area in the armature panel in properties


How would you approach simulating garbage being compacted? If I wanted to crush mesh objects into a form, and show that process, (like a garbage compactor) how would I approach that?

I guess the solution depends on your purpose: What is your storyboard, what is the degree of realism, etc... For example you don't say if we're supposed to see a compactor machine, it would partially hide the process.

But what you could do is create a group of objects (cans, boxes and whatever...), and prepare 2 shapekeys for each object: the basis and the contracted version. NB: To give various colors to the same object, use the Object Info node, Random output socket > ColorRamp (Constant mode) > Diffuse...

Then create a cube, give it a particle system > Hair (Advanced mode). In Particles > Render, enable Group and choose the group you've created. Enable the Rotation option and find the right orientation. Now you can animate the objects shapekeys.

Instead of particles, to avoid any objects overlapping, you could simply link-duplicate your objects.

And here was my try for the result only:

Find a frontal image of compacted garbage.
Create a normal (or bump) map of this picture with a software like CrazyBump.
Open those 2 pictures in the UV Editor.
Create a cube, subdivide it, bevel the edges, mark the 6 faces seams.
Unwrap it, in the UV Editor place each face on the garbage image.
Give your object a material, mix a Diffuse with a Glossy, plug the normal map into the Normal sockets.
Deform the cube a bit so that it doesn't look too square.


Noob in BGE Just have anything work with python script Folks I have spent many hours trying to get out of the starting gate, there are many nice tutorials which step through using python scripting in the game engine (three I have tried - which claim to be starters(. As yet I have not gotten anything to respond. Ok not completely true on a windows machine I was able to get a print out (not in the python console window but in a console which was generated on running the game engine) - I work on either linux or windows machines and yet the tutorials never seem to get even the most basic response (move a block with a key) using python. This has not been a problem with the logic blocks. I save the named script which I try to create to test, I set up an always block which is wired to the python script which is in turn seen and selected in a control block - I am in "pulse mode" (continual looping sort of correct?) but still nothing ever moves or responds.... As an aside In linux under the window tab there is no toggle system console option and no second console log pops up upon running the game engine, and the system terminal does not seem to be the place and the python console window option does not seem to be tied to bge ....It feels like something very simple is missing but darn if I can tell what it is.... Thanks
Addition Below is one screen shot to address a comment and provide perspective the sphere is just for reference and not used. The console in this case gives a syntax error - The same error occurs when I change the name of the control object from own to Cube to as shown Player...... THANKS !

The show console menu is only available on windows, on other systems you start blender from a terminal window to see the same output as the windows console.

Programming languages are very strict when it comes to interpreting the code you give them. As Chebhou pointed out, you are missing a : at the end of the if statement, you also have an extra [ before the keyboard.events. Any small error like this will prevent the script from working.

The error you got says there is an error on line 11, many times it is a line or two before that that has the mistake that needs to be fixed. In this case it says the player.applyMovement() is incorrect because it doesn't fit in what it accepts next, it wants either a : to end the if statement or a boolean operator like and to join the function result with the previous test condition.


Text Render a bit noisy, even at 200 samples I can't seem to figure out how to get a sharper text render that I am using for my animation.

Here are the Things that I have tried:
1: Increasing Samples to as high as 300
2: Turning font shadow off
3: Denoising

Whatever I do, the text still has that weird greyish black outline and in my animation on youtube, it plays blurry even at 720p HD.

I see other peoples text videos and theirs are always so sharp.

How can I improve my text render in the future?

I turned the world lighting all the way up and there is a weak lamp in the scene, albeit, far away from the text, but the world lighting should be enough i think.

Blender File

Your object is casting shadows on the plane. Not because of the font/text properties, but because of the way Cycles (path tracing) works. To avoid your text being seen as a shadow caster by Cycles, you can turn off the ray visibility of the text object:

In the outliner, select the object Text.thing
Go to "Object" context
Open the "Visibility" section
Open the "Ray Visibility" subsection
Uncheck the "Diffuse" and "Glossy" property