Select vertex in UV map based on coordinate x,y I have a problem similar to my last one but yet I can't find an efficient solution.

Having an array of [x,y] coordinate that indicate position on the UV map I want to select the closest vertices ( in 3D )

I'm guessing the main idea would be to iterate upon my array of coordinate and then  compute the distance to each vertices on the UV map with 2 for loop ( one for face in bm.faces, and another for loop in loop in face.loops ) but that would be not efficient.

What is my best option here ?

Any help is welcome.

thx.

I propose to use a kdtree so that we'll have an efficient search tree over the UV Map, for all the coordinates you have in input.

The principle is the following:

Create a kdtree and populate it with UV coordinates
Initialize it
Search on it from the input coordinates you have
From this index, get the corresponding vertex index (in the 3D mesh) using the loops

The tree is initialized once per mesh and allows multiple searches.

The commented code:

import bpy
import bmesh
from mathutils import Vector
from mathutils.kdtree import KDTree

print( '-------------------------------' )

# Do all that in object mode
bpy.ops.object.mode_set(mode = 'OBJECT')

# Get the mesh
obj = bpy.context.active_object

# Get its UV map
uvmap = obj.data.uv_layers['UVMap']

# Make an array of uv coordinates in 3D
coordinates = [(d.uv.x, d.uv.y, 0) for d in uvmap.data]

# Create a jd tree from that
kd = KDTree( len( coordinates ) )

# Populate it
for i, v in enumerate( coordinates ):
    kd.insert( v, i )

# Initialize it
kd.balance()

# Input UV coordinates
x = 0.41
y = 0.96

# Search
coordinate, index, distance = kd.find( (x, y, 0) )

print( coordinate )
print( index )
print( distance )

# Corresponding vertex (in the mesh) and its index
vertex_index = obj.data.loops[index].vertex_index
vertex = obj.data.vertices[vertex_index]

print( vertex.index )

Note: there is also a bvhtree version in the blend file. If you have time you could compare the results and perfomence

The main diff between bvh and kd is that bvh will test on faces and kd will test on vertex proximity (so this can be outside the face).
I don't know what is important in your context.

In the blend file, there is two script in the text editor 'KDTree' and 'BVHTree' so that you can choose.


Black nontransparent glass (Cycles) I am modeling plane and I don't want to model a cockpit so I want to use black windows which will reflect a lot of light but you can't see thought.

Currently I just use Glossy BSDF (GGX) with almost black color (0.01, 0.01, 0.01) and Rougness 0.015 but it don't look quite right. It lacks glass shine and looks too matt.

Edit:

Here is my simplified blend file:

Also here is what i want. Glass on this tie fighter is blackish and it looks like glass. In my blend file it looks more like plastic.

One more thing i noticed is when light reflect from glass whole glass section reflect same amount of light. It can be seen on tie fighter example above.

You can use a glossy/diffuse mix with the fresnel or layer weight node as the mix factor. This is basically the same thing as the glass shader, but without any transmission. You can actually remove the diffuse shader entirely and leave the first input blank if you want. It'll be a bit less realistic but you get a darker black.


Does Blender support the glTF format? Is the import/export of GLTF files is going to be supported or is there a python script that can handle that?

It looks like the Khronos Group also has an official exporter for version 2.0: https://github.com/KhronosGroup/glTF-Blender-Exporter


Merge Archimesh Rail Window to Wall I created my holes using the subdivision tool, then I added the Archimesh window and fit it into the hole.

How can I join the window to my wall? I want the windows to move with the whole building when I am moving it around the screen. I have already fitted the windows neatly in the holes I created using Subdivision.

A quick way of doing this is to parent the windows' empties to the building by first selecting the empties, then the building, then hitting Ctrl+P.


Keyframes aren't working correctly I've just recently been having a problem where I set my character up, set the first keyframe at 0 but when I try to set other keyframes later on my character makes no movements. (I have all bones keyframed correctly and everything). Some parts make very minor movements but they aren't what I keyframed and they are instant too. Also I don't know if this makes a difference or not but I am using the dopesheet.

I`m unable to show more than 2 pictures so I got rid of the first one. Basically it showed my starting keyframes on frame 0 (I had everything keyframed just like in the second image). The character at frame 0 looks like how he does in the 3rd image.

Now in this image I have moved all the parts I needed to move, and keyframed every single part even if I didn`t move it.

After I keyframed everything in the previous photo, I moved to a different keyframe and all the parts I moved snapped back to look more like the keyframes in frame 0 instead of what I had in frame 9. I honestly have no idea why this is happening and really need help figuring out why this is happening.

My .blend file can be found here:

You have the action set as a one frame track in the NLA, so you are only getting one frame of animation from it.

You can either extend the length or remove the action from the NLA to see the entire animation.


Color banding in Blender Internal render output I am preparing to render an animation, and I am experiencing banding colors on a background generated in Blender Internal using a world texture created with a color ramp:

The render generates banding as shown here, highlighted by brown dashed lines:

Earlier versions of the scene used a purer color selection... more in the deep-sea cobalt ranges, and I either did not see banding or there was none...?

Other settings that may be of interest:

Gaussian anti-aliasing on with 16 samples... and I have tried 11 and 8. It is present when no antialiasing is used, as well.

All input welcome!

I am very appreciative of information found on blendhelp.com... (Has the site died?)
https://www.youtube.com/watch?v=YwrTaXXSZsY

In any case, the solution to my banding involved:

** Select PNG output and 16-bit color depth

** In post-processing, select an appropriate dither amount. I worked between 1 and 2 and seem to get a nice smooth transition.

This explains why I did not see it earlier, as the original color range was probably narrow enough not to generate this banding.

Hope this helps someone in the future!

Please note all input from troy_s below, as these are really helping me dial this in. PNGs did not work as well as Targas, which do not seem to work as well as EXRs.


UV Hand Painted problem with colors As you can see from the image, the mushroom should be red but it appears wine and the white circles appears blue. I'm using a Diffuse Color on Texture Paint Slot

Edit: Answer below

Edit: Unchecked the Mask option and it got normal


How to create glossy icons with cycles? Being a newcomer to cycles, I couldn't find a shader that does such gloss type which I used to make using Diffuse > Ramp in blender internal .

So what shader should I use in Cycles to achieve that knowing that the Glossy shader reflects the surrounding environment and not just light and it doesn't have that "Ramp" option.
The desired goal is an effect similar to this:

Here is a simple node set up that should get you close to what you are looking for.

Also you need a light to reflect, so I added a plane and put an emission shader on it.


How do you import an object from another Blender file without losing textures? I built an LP Record in another Blender project (including colors, textures, images, materials) and tried to bring it in to my current Diamond Head project:

I appended the Diamond Head project with the LP object. I got the disc shape rendered in gray. So I tried importing the Materials and Nodes to no avail.

My objective is to have the record spinning in the crater, so I need to merge the two projects. What's the best way, if any, to accomplish this?

Use a consistent set of materials for a Render engine.  Cycles Render or Blender Render.   Do not mix Cycles and Blender materials.

It appears you have tried to mix materials for the two different render engines.

If you are producing a single still photo you may be able to render one image as transparent .png file.  You may be able to render the album disc as a texture and apply it as .png which is render engine neutral.


How to rotate source video in Movie Clip Editor - Blender 2.68 After importing my footage in to the Movie Clip Editor, I find that it is not oriented the way I would like.

What is the easiest way to rotate this in Blender?

You could add a transformation strip (effect) in the VSE and set the rotation. See the documentation for further details on available settings.


Convert a 3D Model to HTML to display on a webpage I have watched a million Blender videos and been playing around heaps but I can not for the sake of me work out how to import a 3D Map (.obj) (From Drone Deploy) and output it to a HTML friendly web version.

Several of the videos said you could do this but I cannot work out how? Happy to pay someone to show me :-)

Cheers
Jason Cole

.obj can be imported directly by default (assuming it's the standard Wavefront format you're referring to, which it most likely is). File > Import > Wavefront (.obj). Presuming importing isn't your main problem though.

Blender doesn't have a built-in way to simply export to web, though.
There are some (2 year old) plugins to convert models into web-ish formats such as .json, but then you need a web programmer to do anything useful with that.
Really, the web doesn't have a direct/easy way to 'just' show 3D models. There are a number of competing services/technologies trying to solve that, but none of them are totally simple/direct.

If it's just a wireframe, that's simpler. if there's textures involved, the problem becomes an open-ended one of how much data do you want on your web viewer. Fancy Shaders?

Things like 'three.js' and webpages using 'WebGL' are low-level systems for web programmers, not immediately useful to artists/end users.

The least technical way available currently is to use one of the services that allow web pages to show models in their own web viewer browser component, such as SketchFab or Verge3D. Verge3D is a successor of sorts to the discontinued 'blend4web'. Others may be available.

In either case, there are some hoops to jump through. Each has its own process to get data out of Blender. Checking those services' documentation would likely be your quickest way forward. I have not used either  myself and can't make any specific recommendations.


What is the difference between matrix_basis and matrix_world? I know it is a bad question sorry but I haven't found any information about these matrices expect in the blender documentations.

The docs say that matrix_basis is:

  Matrix access to location, rotation and scale (including deltas),
  before constraints and parenting are applied.

So if not related to any parent, is it the same as matrix_world ?

matrix_basis is the 'input' matrix, so it's the thing that you set as the 3D artist, so it's relative to the object's parent. matrix_world is the 'evaluated' matrix, so it basically is matrix_basis with all the constraints applied and is multiplied by all the parent matrices (so it's in world coordinates).


Vertex Parented empties become offset after Set Origin to 3D cursor? As you can see on this gif, I have a mesh composed of a bunch of vertices (divided in ~15 parts). Each vertex as an empty parented to it.
It's only when I finished the parenting part that I realised that the origin of the parent mesh was not on the 3D cursor anymore (yeah, stupid I know).
Know, when I move the origin to the 3D cursor, the empties wont follow the parent mesh, as if the vertex parenting acted as a "keep offset" parenting.
In the parent tab of an empty, I can't locate any "Connected" checkbox (which I could have checked for all empties at once, then move the origin to the 3D cursor...)
Any idea ? :x

Script to fix
To make the parent relation directly to the vertex, so editing will reflect position, run script below. Zeros the location of the empty and clears the parent inverse.
When setting origin to geometry of mesh both the location and parent inverse of the empties are changed, reflecting the translation of the origin location.  (The (0.18, -0.06, -0.41) part of the matrix shown in comment above).
Select the mesh object (make active) and run the script.
import bpy
from mathutils import Matrix
from bpy import context

scene = context.scene
mesh_ob = context.object
empties = [e for e in scene.objects if e.parent == mesh_ob]

for e in empties:
    e.matrix_parent_inverse = Matrix()
    e.location = (0, 0, 0)

The UI equivalent would be select all empties, AltG clear location and AltP clear parent inverse.
Script to add empties at each vertex
Since I have touched on scripting, feel it is a good idea to include a script to add empties to each vertex of a mesh object.
Have named them "Vert<i>" where i is the index of the vert, given them circle display and 0.2 empty scale.
import bpy
from bpy import context

ob = context.object
coll = context.collection

for v in ob.data.vertices:
    mt = bpy.data.objects.new(
        f"Vert{v.index}",
        None,
        )
    mt.empty_display_type = 'CIRCLE'
    mt.empty_display_size = 0.2
    mt.parent = ob
    mt.parent_type = 'VERTEX'
    mt.parent_vertices = [v.index] * 3
    coll.objects.link(mt)


Indirect Only filter for Collections not supported in EEVEE? does anyone know if the indirect only button is unsupported in EEVEE? It works perfect in Cycles to bypass rendering a collection except for reflections, but in EEVEE it appears to do nothing.

Thanks!

-Adam

Cycles with "indirect only" on collection:

EEVEE with "indirect only" on collection:

Yes this is a feature that works only in Cycles.

  Indirect Only (collection only)

  Objects in these collections only contribute to indirect light – Cycles only.


Background goes transparent when png UV map is applied I have a png logo-label I want applied to a section of the display. Problem is when I set up the label material and apply it the background of the display goes transparent too.

You want the alpha channel to control how the colors of the diffuse shader mix with your image. Use a RGB mix node.


Can't select individual vertices by right clicking in UV image editor (v2.46) I am in the process of UV unwrapping a rather complex model that I have spent the last few weeks working on. However, at one point this evening whilst trying to make some progress on my project, I found myself unable to select individual vertices by right clicking them. I am still able to select individual faces by selecting the face select tool and right clicking on them, but for some reason I cannot do the same with vertices.

I am aware that one other person had a similar problem with blender 2.7 which turned out to be caused by the "UV sculpt" tool, but no such tool exists in version 2.46, which I am currently using.

This issue only affects the object itself and does not affect any other objects in the scene. I thought that I might be able to Rube-Goldberg-fix the problem by joining the affected object with a non-affected one and vice versa, but this only led to the problem "infecting" the other joined objects regardless of the joining order selected. I have also tried importing the mesh object into a new file, but the problem seems to follow it when I do.

I am now at a stage where I can either scrap the whole model and start over, or find some way of fixing it. Since the model represents quite some time investment from me, I would loathe to have to start over and so come to you, cap in hand, pleading for help with this project-ruining issue.

Thank you all in advance for your assistance.

Make sure you are in Vertex select mode in UV Image Editor View.  Edge and Face Select Mode are possible conflicts.
Make sure you do [NOT] have proportional editing enabled. Turn it off.


When to use bmesh.update_edit_mesh and when Mesh.update? When is it appropriate to use one over the other?

In example, I have the following:

obj = bpy.data.objects[name]
bpy.context.scene.objects.active = obj
bpy.ops.object.mode_set(mode='EDIT')
dmesh = obj.data
mesh = bmesh.from_edit_mesh(dmesh)
# do stuff with mesh
#
# call one or the other:
bmesh.update_edit_mesh(dmesh)
dmesh.update()

Which call is correct in the end?

In my tests they seem to do the same.

The mesh data used by an object is stored within object.data, the most obvious data being stored within the vertices, edges and polygons properties.

When you add or alter edges or polygons you need to use object.data.update() to see the changes in the 3dview.

To see this working, start with a default cube in wireframe shading and enter the following into a python console.

odata = bpy.data.objects['Cube'].data
odata.edges[8].vertices[0] = 3
odata.edges[8].vertices[1] = 5

You shouldn't see any difference yet, now enter

odata.update()

and you will see one of the edges is now across the top face and not on the side.

Instead of directly editing the mesh data, it is preferred to use the extra functionality provided in the bmesh module. The function bmesh.from_edit_mesh() makes a copy of the mesh data that you can make changes to while the object is in edit mode, the changes you make remain in this copy until you call bmesh.update_edit_mesh(), this lets you add 10,000 faces and then do one refresh to reduce the amount of drawing/copying needed. If you directly alter the object data while the object is in edit mode then those changes will be lost as the bmesh edit_mesh will overwrite any changes upon exiting edit mode.

Similar to bmesh.from_edit_mesh() and bmesh.update_edit_mesh() we also have bm.from_mesh() and bm.to_mesh() which allow us to edit the mesh data while the object remains in object mode. (these are available after bm = bmesh.new())


My boolean/difference operation didn't work I'm relatively new to Blender and I'm trying to apply the Boolean modifier to substract channels from the water bottle holder.

I added the  the Boolean modifier to the Cylinder, with Difference as the operation, and the target object as the Plane... But when I removed the plane it had not affected the cylinder.

So I read some advices from similar cases on Stackexchange (flip faces), but the boolean still does not work for me.

The modifiers are designed so you can change them later; if you changed the target object, it would change the effect. Similarly, if you delete the target object, it will remove the effect!

What you need to do is to apply the modifier. There should be an Apply button just beneath the 'add modifier' popup.

Note that this will make it impossible to remove the effect again later (except manually, of course), but if you're deleting the plane anyway, it should be what you need.


Creating Glass - What am I Doing Wrong? I've followed all the tutorials, tried so many different things. But changing the transmission to 1 just makes the shape go grey. I've turned on refraction in the light settings and nothing has changed.

You need to turn on the Screen Space Refraction both in the Render panel

and in the Material settings


Where is the materials tab? I can't find the materials tab. I have tried blender tutorials but they already have the tabs. I just have these 5 tabs:

Here is the materials tab:

Note:
If you can't see it there, hover over the tabs and scroll with the Middle Mouse Button.

Also be sure that you have a mesh selected, if you don't blender will not show the materials tab.

Almost any video tutorial should show you were that is, so I'd recommend you research some more.


Texture Paint not Appearing on Model I am currently having issues with my texture paintings in Blender, the short explanation being that while I can pint on both the model and the UV Map, it does not appear on the model. I do have a solidifier layer on for a dynamic outline, but removing it does not fix the issue. I am still fairly new to Blender, so I have no idea what the issue here could be.

Without seeing the blend file I cannot be certain that this is the cause of your issue, but I have had this exact problem before when I was painting on a texture imported from a .dds (DirectDraw Surface) file.
When re-saved as a png file Blender could draw to it in memory and it updated just fine on the model.  When left as .dds it just wouldn't work, or would update in odd infrequent spots.  Even though the file is held in memory in Blender and it shouldn't matter what format it's in on disk... it does.  If you have a texture file and it isn't png or something equally simple, try saving it as that?


How to cut a circular hole into a curvy shape and have a perfectly smooth surface without using the Shrinkwrap technique? I usually use the Shrinkwrap approach to cut any kind of hole into a curvy shape. Its work flow is to subD the base mesh to 2 levels, shrinkwrap it to the same mesh (called guide mesh) that has been subD'ed to 4 levels, then proceed to cut a hole in the base mesh. This results in a perfect smooth shape.

For this method to work, the shrinkwrap modifier must be after the SubD modifier, so I can't use this technique if I want to export the base mesh as a fbj/obj file for others to work on, because I can't apply all the modifiers. If I try to apply the shrinkwrap modifier without applying  the SubD modifier first, then the result still looks not good enough because it only shrinkwraps a low poly version.

I'm getting stuck at this point, trying several methods but to no avails:

I tried to make sure that the faces which will be insetted are planar. This only works on a surface not extremely curvy.
I tried to apply the SubD/Shrinkwrap to achieve the perfectly smooth result and then use Decimate to unsubdivide it, with a naive belief that it would magically revert to the exact original topology, which it doesn't.
I tried to use the Knife Project tool to cut the circle into the mesh. Still same result.
I tried to use Data Transfer to transfer the normals information to the mesh. This works, but it brings us back to the orignal problem, because the Data Transfer solution requires geometry to work well, just like the Shrinkwrap solution.

I always get some subtle pinching like in the following image:

What I want to achieve:

So, how can I cut a circular hole into a curvy shape and have a perfectly smooth surface without using the Shrinkwrap technique?

My Blend file: cuttingHoleIntoACurvySurface.blend

The answer is just to have enough geometry to support the holes. The shrinkwrap modifier has spoiled Blender user for being able to make a smooth surface without thinking much about topology/geometry usually required.


How to create a loop in Animation Nodes (now that it has been updated) At 2:32 in Jacques Lucke's video on how to use loops in his epic Animation Nodes addon, he uses two nodes that are now revised.

Supposedly the actions that Loop Call and Loop did in older versions can now be done with Loop Input and Invoke Subprogram.  This is all fine and dandy, however I can't figure out how to get the Replicate Object node (now called Object Instancer) to do the same thing.

How do I get the same effect he does in that example using the updated version of Animation Nodes?

Shift + A > Object > Instancer

You can also use the Search Tool:

Ctrl + A, then type "instancer"


What to do when I get the message "subsurf modifier need to be first to work with unwrap"? I am trying to UV unwrap an object. However, I keep getting the following messsage when I try to unwrap:

  subsurf modifier need to be first to work with unwrap

I have tried adding subsurf modifier, but I keep getting this message. What can I do in this situation?

That message tells you that while unwrapping you enabled option Use Subsurf Modifier. It lets you avoid applying Subsurf modifier if you have it in the stack while having vertices in the UV map moved as if the modifier was applied.
Note: it doesn't mean all the geometry which will be added with Subsurf will appear on the map with this option; it only allows existing vertices to be moved as close to "subsurfed" positions as possible.

However in order this to work as expected Subsurf modifier has to be the first in the stack, otherwise this message will pop up everytime you unwrap the mesh with that option enabled.
If you unwrapped once and accidentally enabled the option these settings will be saved and then every time you unwrap you will see the mentioned message if Subsurf isn't present. Just disable it if not needed.


Newby question - Alpha Channel not working I'm trying to make a model of a tree.

The leaves are a picture with an alpha channel (tif). As a (material) surface I used the Principled BSDF. Here I tried to change the alpha values (for example, 50%). Unfortunately nothing happens.

Also when I connect the alpha part of the tif, nothing happens.

in the material properties, choose the transparency's behavior :

"opaque" means no transparency, that's why you don't have any changes in your viewport even if the shader you have configured is ok.

The "display settings" of the material is in the material panel, while the material itself is in the node editor.

There are 3 alpha modes :

"clip" is a straight "yes/no" mask, use it for very sharp mask like, well, like your leaves.

"blend" treats alpha mask with all it's shades of grey (usually more than 50, hahaha :-X)

"hashed" also treats shades of grey but using a smart "yes/no" pixels distribution, the result is average good and maybe lightest to calculate (and kind of super-stylish, why not !)


Why/how does tile size effect performance? The general wisdom is "for CPU use 32x32 tiles, for GPU use 128x128 or bigger, depending on your card".  But why?

Why should a CPU need much smaller sizes than a GPU?  I know this has something to do with CPUs doing multiple tiles at a time, but I still don't see how this effects tile size choice.

Why does tile size even effect render times at all?  Isn't cycles tracing the same number of samples no matter what?

So how should I determine what tile size I should use?

I am looking for a technical answer as to how tile size effects performance and why different hardware should have radically different tile sizes.

The difference and why there are different optimal bucket sizes comes from the size and design of on chip cache/memory of cpu or gpu.

The gpu has a massive amount of cores. But they are dumb and cannot do much logic. They have a big data throughput though - so that's why is good to give them a big chunk of data. There will be a lot of parallelization done on that data and each core will do it's dumb thing over and over again till it's done. The parallelization happens internally in gpu, so in reality you would have to assign like 2x2 or 4x4 tile to each of those little cores, but you would have 3000 of those tiles. But since they share cache/vram, you assign a big tile to them. Therefore the more CUDA cores, the bigger tile. It's worth noting that Kepler, Maxwell or Pascall cuda cores are not equal, so it's best to test the ideal tile size between generations.

When mixing different gpus (if you must), it's generally best to go with the tile size of the least powerfull one. Many commercial renderers divide the last tile into smaller ones, so the cores/gpus that are finished can still render. This does not happen yet with Cycles, so it might happen that the last tile can end up as a job for the slowest gpu, and if the tile is too big, the rest of gpus will wait too long for the next frame doing nothing.
The cpu has low amount of cores, but comparably to gpu's cores they are super-powerful. Each such core can operate on a bigger chunk of data, and since individual cores do not share cache, you have that many tiles as you have cores (actually threads). Each core has approx 4-16MB of cache and that reflects the optimal tile size.


How to import NGONS from Lightwave to Blender? I don't want meshes to be triangulated. Is there a way to keep Ngons when importing objects from Lightwave into Blender

By default, the OBJ file exported from Lightwave supports N-gons.
When importing it into Blender, it will import Ngons by default. Make sure it is enabled in the Import Window:


How to Use Pillow (PIL) Inside Blender Addon? I want to do

from PIL import Image

inside a Blender addon. But it throws this error at me:

ModuleNotFoundError: No module named 'PIL'

Thus I've tried to install Pillow via pip like this:

import subprocess
import ensurepip
ensurepip.bootstrap()
pybin = bpy.app.binary_path_python
subprocess.check_call([pybin, '-m', 'pip', 'install', 'Pillow'])

But this doesn't work, either.

What am I doing wrong? :)

I finally had to copy my PIL package from C:\Program Files\Python37\Lib\site-packages\ and moved it into the Blender Foundation\Blender\2.8.2\python\lib\site-packages and everything started working fine.


Smooth a modeled objected I just finished modeling this small pillar which I would like to have the curved parts smooth in the final render.

This is the model in Xray.

I have tried the following modifiers to smooth it out.
Bevel
Subdivision or Multiresolution
Smooth.

but obtained this result.

The Best I could obtain is the following with an object / shade smooth.

The result is good but I would like to know why am I not managing it out with the subdivision and Bavel modifiers when many of the tutorials I see use them?

I have uploaded the file for anyone who wants to try it out.

Thanks in advance for and advise and help.

Basically in most cases you need just to Auto Smooth Normals at mesh data properties:

Use Shade Smooth for object globally (or selectively in Edit mode):

Sometimes when you import object from exchange formats may be needed to Clear Custom Split Normals Data:

Another solution to achieve Auto Smooth Normals data effect is applying of Edge Split Modified especially at work with curves or linked data.


Is there a way to clamp transform values to a set number? When using a constraint like Limit Location, I can still move the digit transforms of the bone (in the transform window) even though the constraint is working and the object isn't going any further. I don't like how this feels though; I can drag the bone to infinity in the direction it is constrained, and the numbers still climb. It would take awhile to bring it back down (without simply tapping alt+g).

Is there a way to actually clamp the transform values themselves, so they never go over 1 or below -1?

Ah! Nevermind, I figured it out. The little checkbox on the constraint, "For Transforms". How did I miss this.


Can motion tracking and Video Stabilization constrain to y axis only? Is there a way to remove or ignore the tracking data of x or y axis? I just want to stabilize the up/down motion in a video because I'm doing a panning shot (rolling on wheels). As you can see, the red track seems to move the film to the left (outside) which is unwanted. Thanks.

In the compositor the Movie Input nodes has x and y offset values, once you add a tracker to the 2D stabiliser these become active. Just use the correction you need and plug it into the node distort>transform.
In your case just use the y value.


How to render a collection instance but not the original collection in blender 2.8? I am using blender 2.8.
This is a contrived example, I am working on another project with many 'assets'.

I have created a collection called 'gizmo', grouped under 'Assets'.
This is at (0,0,0) in world space.  I turned off render for this collection.

Now I add some instances of gizmo in my scene, and arrange them. For these I set render on.

When I render the scene the gizmo instances are not rendered unless I turn on render for the original collection (gizmo). But I don't want to render the original because it's at 0,0,0. What I expected was for the collection instance render setting to be used rather than the asset render setting.

Is this a bug or is it intended to work this way? is there some other better way for me to achieve this?

I have managed a way to help you with this issue. Yesterday I was trying the same thing and I realized a way to not render the original collection and only the models created with a collection instance tool.

What you need to do is put all of your original “Assets” inside another collection. Then turn off the eye icon in all of them (including the bigger collection parent) and then turn off also the camera icon (for it not to appear on the render) but only in the parent collection and not on the assets themselves.

This means that blender will not render anything that is inside that collection but still if the objects inside are on it will interpret as if they were rendering so it will render the instances of that particular asset.

If it is not clear enough I will share an image :p

The prop collection is filled with my original assets and the workspace collection is filled with the instances created with the collection instance tool

If its is not clear repost and i will try to explain better


Clean up intersecting geometry iam repairing a model that has intersecting geometry. It is a really dense mesh that was conected via boolean. So it is firmly connected but in a wrong way and i have no way to erase this zero thick wall without selecting it manualy, which is in that dense mesh almost impossible. Is there a way to isolate this kind of geometry and delete it?

If the mesh is watertight but has areas with zero thickness then these areas are non-manifold. In Blender 2.80 you can select them using Select > Select All by Trait > Non Manifold.

For 2.79 and earlier take a look at this answer by gandalf3.


Shadows in render are noisy Edit: This post is not a duplicate to this question as I am using Blender Render, and not Cycles Render. Blender Render and Cycles seem to have very different options and work very differently. The answers to the the question this post may be a possible duplicate of do not help in Blender Render, only in Cycles.

Edit 2: Here's a link to a file with a letter, floor plane, camera, and lamp.

Nearly all my shadows in my render appear noisy/grainy, and I can't find anything that will fix it. I would like to note that I am using Blender Render and not Cycles Render. I've tried making the shadow samples for the lamp (which is a Spot lamp, although the lamp type doesn't seem to change anything) very high, but this did nothing. I've also tried turning up the soft size, using Constant QMC, toggling mipmaps, changing to Buffer Shadow instead of Ray Trace Shadow, and turning on/off World light settings. All of these either did nothing, or made the issue worse. I'm still a little amateur with Blender, so any and all help is appreciated! Thank you!

Also, here is some images. As seen in this first image, the un-rendered version, the shadows are completely fine.

In this image, which is a part of the rendered version, you can see that that the shadows are noisy.

If you want less noise, increase the Samples under Gather in the World settings of the properties panel.

The gather panel:

  Samples
  The number of rays used to detect if an object is occluded. Higher numbers of samples give smoother and more accurate results, at the expense of slower render times. The default value of 5 is usually good for previews. The actual number of rays shot out is the square of this number (i.e.Samples at 5 means 25 rays). Rays are shot at the hemisphere according to a random pattern (determined by the sample methods described above); this causes differences in the occlusion pattern of neighboring pixels unless the number of shot rays is big enough to produce good statistical data.


Texture will not appear on the mesh For whatever reason, the texture I have (It's just an image of a color for now, but I need to be able to add more detail later) won't show up on the mesh. It's completely black in all views except solid, and in that view it just takes the diffuse color, not the texture. I'm not one to often ask the internet for questions, so I'm really at my wits end here. I have no clue why it won't take the texture!
Here's the Blend file. I'm using v2.79 Blender, with Blender Render, not Cycles Render:
https://pasteall.org/blend/86d2d787ccd64cfa8a631ae5060b2bb7

I downloaded your file, and though the applied material seems to have a reddish color in the material slot, the base color is light grey which is also what is appearing in the viewport views. When I changed it, the color of the model changed as well. Since the UV unwrap looks fine, I went one further and used nodes to add a checker texture just to test and it works fine. See below:

As you can see, the texturing seems fine. Is there something else i'm missing that is not working for you?


How to make render toggle visible by default in 2.8? I'd like to make the render toggle icon appear in the outliner by default - so I don't have to turn it on every time start a new project. Possible?

Open a new file and set up things the way you like and then save your start up file.
It's located under the file menu.

File > Defaults > Save Start Up File


How to set transparent property per object for fade in/out, without having redundancy of materials? Before you comment:
I don't want to have 200 materials of the same metal just for fading out at different times.
Render layers are out of the question too of course.

I bolded it out because I found here several quite similar questions and almost everytime someone who doesn't understand the problem of redundancy in complex projects advise to have the same amount of materials as fading in/out objects in scene.

I am working on couple of animations where lot's of objects are needed to be fade in and out at different times.

Since the projects are quite complex to manage for me (and I already have plenty materials) it is not effective to, for example, have 200 different materials of the same metal just for fading them in/out at different keyframes.

Is there any way to do it using maybe Custom Propterties in object panel?

I've tried using drivers on Custom Properties, but it always fading out all object sharing the same material.

You can use the object viewport color to force variation per-object, even if they share the same material.

The setup is quite simple :

If you are using Eevee, don't forget to tweak the blend mode and uncheck "Show Backface"

Add some keyframes and play :

Further reading on viewport color


How to select with python code only vertical edges from cube? How to select the vertical edges, using python code if a selected previously the cube?

The dot product
If two vectors are parallel then the dot product of their normalized direction will be 1 if in same direction (angle between 0) or -1 in opposite direction -1 (angle between 180 degrees)
Checking that the absolute value of dot product is around 1 will find edges defined by the vertex coordinate difference regardless of order.
Have used this method in example here Subdividing cubes at different intervals
So similarly
    def aligned(e, axis, TOL=1e-5):
        axis = Vector(axis).normalized()
        dir = (e.verts[1].co - e.verts[0].co).normalized()
        return (1 - abs(dir.dot(axis))) < TOL

    # select if aligned with local z axis.
    for e in bm.edges:
        e.select_set(aligned(e, (0, 0, 1))

    # select if aligned with global z axis
    axis = ob.matrix_world.inverted() @ Vector((0, 0, 1)) # local space
    for e in bm.edges:
        e.select_set(aligned(e, axis))

(if doubles in mesh will need to deal with zero length edges.)
Hardcode for default cube.
if this is a freshly added  default cube can rely on the edges having the same index each time, and could select based on index.
geom=[e.index for e in bm.edges if aligned(e, (0, 0, 1))]
print(geom)

Outputs [1, 3, 6, 9]
so the  bmesh edges of the default cube in $Z$ dir are
bm.edges.ensure_lookup_table()
vertical_edges = [bm.edges[i] for i in (1, 3, 6, 9)]


Why are my objects invisible and in the wrong places? When I add an object, it is invisible. When I change to evee, it turns black, and when I move around the view, it takes away from the black and makes it grey. Then when I turn to cycles it turns grey like in solid view. I've already tried rolling back my drivers, and it doesn't effect anything. I am using Blender 2.81. Everything was normal for a while, then all of the sudden I added an object and it was invisible.
When I restarted my computer, it did the same thing but only when I was close. The origin and outline are still there. My clip start was set very low, but even when I change it it didn't change anything.
One time when this was happening, I deleted everything, then added a new cube. It was displayed as one of the old cubes, but the outline was not in the right place.
When I add more objects, some of them disappear and others display the wrong shape. This only happens in object mode, and going into edit mode fixes it.
This only happens every so often, and seems to just magically be fixed.

For the out-of-place issue. Your Origin is not centered on the Object. Select the cube when in Object Mode and use this tool to put realign the origin


Annotation vs Grease Pencil I'm new to Blender (2.9), just getting through the docs, and also new to animation.

An annotation is extra information associated with a particular point in a document or other piece of information. –Wikipedia

It seems like Grease Pencil can do everything that Annotation can, and more, and I'm hoping for some insight as to the role and practical usage of Annotation, as opposed to Grease Pencil.

The main difference is that annotations are meant to be notes, or sketches for reference only. There is no way to render them and cannot be animated.
Grease pencil objects are renderable, and can be animated. They are designed as a "hand drawn" animation tool in a 3D environment.


How to get blender to write the correct diffuse color (Kd) in exported .mtl files? I'm using the default Diffuse BSDF for every material with custom color, but none of those colors are exported to the .mtl file (they all appear to be the default color rgb(0.8, 0.8, 0.8)).

However with the Principled BSDF shader I can export color values to the .mtl file but everything is darker (like rgb(0.9, 0.7, 0.5) becomes rgb(0.7, 0.5, 0.3)).

(related question, but not solved: https://blenderartists.org/t/rgb-values-wrong-when-exporting-as-obj/1179228/6)

Since 3D file formats such as .obj/.mtl cannot represent complex node graphs, the .obj exporter add-on only considers the Principled BSDF when creating the file. All other shader nodes are ignored. This is documented in Blender's manual.

I can't reproduce the problem with Kd having different colors in 2.81a. In case previous Blender versions applied the view transform on the scene linear RGB value from the color picker before writing the .mtl, try to temporarily set the View Transform to Raw in the Color Management panel.


What is the order of transformations when exporting to Collada? When I export models to Collada format, some transformations (bone animations, mainly) use transformation matrices. In order to decompose these matrices in the target program that loads the Collada file, I need to know the order of the transformations (scale, rotation, translation). Mainly I'm concerned if the scale is applied before or after the rotation.

Object and bone transformation in Blender are applied in the order of scale, rotation, translation. As a matrix this would be written like this:

object_matrix = translation_matrix * rotation_matrix * scale_matrix

Note that this order ensures there is no shearing, which happens when you do scaling after rotation.

If parenting is included in the matrix, multiple such object or bone matrices might be multiplied together, which means there is no longer a clear correct way to decompose the matrix into scale, rotation and translation.


Boolean modifier fails for certain configurations I have a set of outer meshes and inner meshes that are extruded cross sections along a path. The idea is to generate  OuterAsMesh - MiddleAsMesh. While it works most of the time, sometimes I get completely weird results from the boolean modifier. Attached is an example. There are three lines along which the outer and middle cross sections are extruded. The boolean modifier works completely fine for Line1 and Line2. However, when Line3 extrusions are introduced, the result just vanishes. In most other cases, only one arm will fail on the difference option unlike in this case in which the entire object disappeared. When the lines are moved around the boolean modifier can succeed but my actual object has many lines and moving lines around is painful and driving me crazy.
Can you please help me identify why the attached model fails. FYI, I have tried recalculating normals and that does not seem to be the reason.

Outer(Line1 + Line2 + Line3) - Middle (Line1 + Line2 + Line3) = Null!
Outer(Line1 + Line2) - Middle (Line1 + Line2)

This post Boolean difference modifier misbehaves with fluid sim has the answer. Adding a triangulate modifier solves the problem in the attached file.


Rotate a 2D surface around an axis to generate a 3D volume I have a collection of discrete points that describe a surface $S$ as in the image below.

I would like to revolve the surface around the x-axis to create a volume. Is it possible to do it in Blender?

yes, it is.
Just build that surface by adding a plane, add a subdivision and move the vertices as you need it.
Then use screw modifier and change screw value and rotation as you need it.
UPDATE:
to you second question in comment: i think, this is only possible with python.
To "quickly" "draw" vertices on a "plane" simply add a plane.

go to edit mode

press 7

Mesh -> merge -> at center

tap E and drag mouse to next point and release mouse

repeat step 5 until you got your shape

2nd possility:
Add Beziercurve

Press 7

Tab -> Edit mode

X -> Vertices

tap on draw in left menu

draw your shape

hit tap

object -> convert -> mesh


Looks like a material problem, but I can't find anything to remove? Really sorry as I'm a beginner and I don't know enough to characterize, or accurately search for what the problem may be. I've taken a picture of what I'm seeing, where it appears the faces have different textures, but nothing shows up under materials, and it's currently causing the solidify modifier to thicken differently along the edges and inside the areas.

I appreciate any help you all may give!

When you solidify, make sure that ALL the faces are selected. Judging by your picture, it seems that you did not do this.  If I am incorrect, please upload your .blend file, and I'll see what I can do.


Displacement with a stopping object Ok guys. I have a question I hope you can help me with. I will use the image below to illustrate what I want.
I want to use Displacement on the man (I like the blobby effect it makes, and thats the one and only reason, so an alternative to displacement if it exists is also totally ok). I want to drag the weight-slider to preferred size, but I want the blow-up-effect to be affected by the ring around his waist.
In other words, I want to expand him around the ring. Kinda like having a rope around a balloon while you blow it up.
I hope you guys can help and I hope I explained my problem in an understandable fashion(I'm Norwegian).

Use 2 displacement modifiers with the same settings.

1st will displace the object until it touches the collision object
2nd will continue with displacing, but only around the object. To do that, paint and assign a vertex group to the modifier to influence only the right vertices.

Simulating this inside Blender is not possible, because Blender does not simulate pressure inside volumes. With SoftBody sim there is a possibility to alter the edge springs to make the mesh sort of "blow up" (Length% under Soft Body Edges tab), but the result is not nice and does not look like inflating.

Houdini can simulate pressure in volumes very nicely, the apprentice version is free and can import/export .obj(s) if you wanna try it.


Using 3d scanned textures I have been debating on purchasing a 3D scanner to make point cloud references of objects to model for games. For example, use the scanner to create a point cloud object of a character, then import the point cloud into blender and model around it to create a polygon mesh. This part I'm clear on. My dilemma lies within extracting the texture of the scanned point cloud image for use on the polygon mesh. Does anyone know how one could go about this, or if something of this nature is doable?

This blog post explains how to retopologize a mesh and bake the normal maps from the hi-polygon mesh to the low polygon mesh. This was exactly what I was looking for, but didn't know what the process was called (baking normal maps).

Another blog post that goes into greater detail on baking normal maps.

I would also like to thank @TARDIS Maker for pointing out that 3D scans could be done as a full on mesh and not only point clouds, AND for shining the light of retopologizing hi-res meshes. I had no idea this process existed.


Make Hair Particles Glow or Emit Light I know you can make objects glow or emit light with an Emission node, but can you do this with hair particles, too?

Absolutely! Just make sure the material option in the particles tab is set to the material you want, whether that be an emission shader or a hair shader.

Keep in mind that the material setting is a selection based on your objects material slots. If you select one of them, it will use that material, even if no parts of your mesh are assigned to it.


Problems with rendering grass that is created by the strand renderer in cycles I have an Nvidia 760 GTX and when I try to render my image with GPU compute and F12 it does not produce any output at all.

When I switch to CPU render I get the following image

Which is not at all what I have created

When I set the viewport to render it looks like this

.blend

I fixed it by myself. The problem was a setting in the 'Children' tab. It seems that the renderer in the viewport takes the number from 'Display' and  not from 'Render'.


How to import a Blender Model into Source Film Maker? Is it possible to import a Blender model in Source Filmmaker? I can't find out how. If so, is there a way to do it without downloading anything?

Importing from blender to source is a full process, and there are plenty of tools to make it easier, all of which are free.
technically it's possible to do it all only by installing blender source tools (https://steamreview.org/BlenderSourceTools/), an addon to export as DMX or SMD and use the stock tools provided by valve, that are in the game/bin folder.
But everyone uses community built tools, crowbar and VTFedit at least.

with your model created, export it as smd or dmx with the BST. the material you set will not be exported, but it's important you use the same name when you create your materials.

You'll then have to write a QC file, it's a conductor, indicating to source how you want it to behave in game. Naming the object, assigning it models and animations etc. (https://developer.valvesoftware.com/wiki/QC)

You'll also have to create your materials(https://developer.valvesoftware.com/wiki/Material). they can be as simple as a single color or an advanced material with light and reflections. it's important that you use the VertexLitGeneric shader for props. the materials are saved as VMTs and the location they should be placed is the one set in the QC, relative to the Game/game/materials folder.
A VMT assigns a role to each texture in your material, the simplest being $basetexture "" (a basic albedo map)
those textures should be converted into VTFs with the tool VTFedit and are conventionally placed in the same folder as the VMT (http://nemesis.thewavelength.net/index.php?c=178)

once all your assets are created you'll want to install crowbar, the tool for importing into source, (https://steamcommunity.com/groups/CrowbarTool) and set it up for your exports. selecting your QC file and compiling it will tell you if there's an error, if there isn't it'll let your "use in view" then "view" to open your model in the HalfLifeModelViewer to make sure evrything is working. If it is you can open SFM and find your model.

https://developer.valvesoftware.com/wiki/Main_Page
this site will be very usefu in looking up how to use any of the tools, commands and files.


Smoke & fire simulation: Cycles material not showing fire Fire is no longer being emitted from my material, even though I have not made changes to my material. The node setup is exactly as I had it before, but now nothing works.

Here's the .blend file.

The problem isn't the material, it's that there are no visible flames in the simulation.

On the "Debris Emitter" object, the Flame Rate set set to .025 If you set it to something like .25, the material works fine:


Move modifier to the top of the stack through python To my knowledge I believe modifiers can moved up one step in the list through executing this line bpy.ops.object.modifier_move_up()

Is there anyway to move a modifier to the top of entire stack through python based on the modifier name or type ?

This can be done by some simple scripting. I assume obj is filled with the object with the modifier stack

def modifiers_by_name(obj, name):
    """ Find all modifiers with a specific name in obj """
    return [x for x in obj.modifiers if x.name == name]

def modifiers_by_type(obj, typename):
    """ Find all modifiers with a specific type in obj """
    return [x for x in obj.modifiers if x.type == typename]

# move all "Screw" modifiers to the top
for modifier in reversed(modifiers_by_type(obj, "SCREW")):
    # while modifier not on top
    while obj.modifiers.find(modifier.name) != 0:
        # move it one more to the top.
        bpy.ops.object.modifier_move_up(modifier=modifier.name)

Note I reversed the modifiers so the top "Screw" modifier will still be on the top after execution


Problem with proportional editing on a curve I have a curve (which is a loop) that I am trying to manipulate in edit mode. When I use proportional editing with connected mode, a certain part of the curve is not affected. It only seems to happen between two vertices. On one side they act as expected and on the other side they stay where they are.

I tried converting the curve to a mesh, deleting and the re-adding the vertices that caused the problem, and then converting back to a curve. The same problem occured, but between two different vertices.

If I switch the proportional editing to enabled mode, everything works properly, but I want to know why curves behave this way with connected mode. I assume it's because the curve "ends" somewhere, so even though the loop is closed blender doesn't consider the vertices on the other side connected. I'm unsure though so if anyone knows why this happens or where I could read about it, it would be appreciated.

The verticies that seem to cause the problem:

What happens when I drag the selected vertex up. The left of the curve from point 1 moves, but to the right of point 2 is uneffected:

How it looks when I use enabled mode for the proportional editing:

If it's a Bezier curve, your proportional edit circle has to encompass the handles of the point as well as the point to move it. GL  Ten four rubber ducky.  Over and out.

It looks like Blender calculates "connected" from the point and traces it back down the original curve, and if you connect 2 ends of the curve with F key (make segment), Blender doesn't read that as a new path, so to speak.  I'm not sure how to fix that though.  Hope this makes sense.


How do I turn on Cycles Render? I was watching a UV wrapping tutorial and got stuck as the version of blender they use is different to mine.

I looked in the comments and people said that the way to fix it was to turn on cycles render. However, they do not specify where to find this. So I'm stuck.

Any ideas?

You can do it in the top of your screen:


Masking a light for shadow texture I plan to fake a shadow from a light using a mask (in the area light's material I mixed a black 0 strength emission shader with another one that actually casts light). However, the result is nothing.
My mask texture is black and white. The shadow is a window frame as it seems.
Is it possible to do this? if so, how?

I think textured area lights are not fully supported yet. So currently one of the workarounds is to add another mesh under the lamp and add a transparent material on it with transparency controlled by the mask image (as seen below).

Another way is to add Texture Coordinates node to your existing area lamp material and connect the Reflection output to the Image Texture Vector input, however, that looks kinda strange and not very correct.


Rendering Transparent objects with the Cell Fracture addon? Is there a way to render transparent objects that have been pre-fractured with the Cell Fracture addon?

I know you can kind of get this to work by parenting the original object to one of the shards (or simulating it by itself) and swapping the visibility of the objects when the shards fly apart:

However, It is obvious that it suddenly breaks the entire object on impact and just doesn't really look right. (the animation is slowed down at that point so it is more visible)

Is there a better way to do this?

Take advantage of the node compositor and render layers. If you put the original (non-fractured) object on a separate render layer, you can smooth out the transition. Basically, the idea would be to reduce the opacity of the original object's render layer over the span of a few frames rather than use the hard swap that you currently have. Stretching that transition over more than a couple frames will make the change less apparent.

This can also be done from the VSE, but you'd need to either use separate scene strips or render the animation twice (once with the original object and once with the fractured object).


Trying to upload project with Mantaflow to RebusFarm getting error So I did this little animation clip with fluid simulation using mantaflow inside of blender 2.82a everything is baked but I'm getting an error when trying to upload to RebusFarm. Was not bak... "Liquid Particle System". So I tried to contact them and they basically told me this:

"a simulation is built up continuously. on the farm the scene is distributed on several rendernodes, therefore every simulation has to be baked or saved with a cache file."

Which I feel like I did unless I'm missing a step somewhere. I can't find any documentation on this so some help would be welcome or even some pointers. I did pack all into .blend file so I'm not sure where to go from there. Keep in mind I have been learning blender for only 2 months now.

They're answer is cut and paste.  Of course it should be baked before uploading, and it sounds like thats what you did.  I would double check if there are other Mantaflow settings that need baking as well.  I know for gas sims there is the initial bake and the "noise" bake is separate.

Also try in the cache section to name your cache and point it to a custom directory instead of just /tmp/

I also use Rebus and I found that in addition to "pack all files" I need to also check "make all paths absolute" (under the same File>External Data drop down)

I'm currently testing a Fire + Smoke sim made in 2.82 on their farm at the moment. I'll see if it renders.


How to set the value of a string property when a button is pressed? (Not in bge) How can I set the value of a string property when a button is pressed?

Just to clarify I don't mean in the blender game engine I mean in "regular" scripting.

A button is a representation of an Operator in a layout. Example operator code:

import bpy

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

    def execute(self, context):
        ob = context.object
        if ob is not None:
            ob.name = "Foo Bar"
        return {'FINISHED'}

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

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

if __name__ == "__main__":

You put your code to assign the new string value in the execute() method.

If you don't need any logic, but want to plainly assign to a context member, you may use the existing operators bpy.ops.wm.context_set_*:

import bpy

def draw_func(self, context):
    props = self.layout.operator("wm.context_set_string", text="Change object name")
    props.data_path = "object.name"
    props.value = "New Name"

bpy.types.OBJECT_PT_context_object.append(draw_func)

This code adds a button to the Object panel in the Properties Editor to change the context object's name property (which is a string).


Baking only one material on multi-material object I have a character model which has multiple materials.  One of the materials uses a custom node setup to procedurally generate the texture.  The procedural texture changes as the character is posed or deformed, which I do not want.  So, I want to bake the procedural texture to a diffuse map.

However, blender does not allow me to bake a texture on an object if there is more than one material.  Is there any way to get around this limitation?

I am surprised, because I can bake multiple materials in cycles in blender  2.76b. The important thing I have to select an active image for all the materials linked to the object, and they can be different images. Active image is the selected one in the node setup of the material. So select a different image for the procedural textured. Please try it.

The selected image is the active, and not necessarily connected to the node graph. However you must select one for all of the materials of your object

If it fails try this instead

Make a duplicate from your character, delete all the materials except the one with the procedural texture. You will get the texture with baking, however it will be all over your UV map, but you can make a mask for it with a next bake

Use a pure white material instead of the procedural textured, and a pure dark for the others. You can use this mask to recover the wanted result from the previous bake.


Import a bvh file and export it to be the same I have a bvh file found here and I want to import it to blender, then export it again so that both the original (imported) and exported bvh files are identical. I'm not sure what options I should choose to import and export the bvh files so if anyone could please advise.

When I keep the default options to import and export, then open the bvh files, they are totally different, this is the resulted bvh file.

So if anyone could please advise.

I looked a little closer and found a solution. On importing, there's an option to set which axes point up and forward. Set those to Z up and Y forward.

Here's the original file with the axes set like that:

And here's after exporting it and re-importing it with the axes set like that:

As you can see the entire scene gets rotated when you do this, but the files are essentially identical. A possible workaround would be to import with the axes set to their defaults, and when you're done working with it, select everything and rotating it by -90° around the X axis before exporting. Snap the 3D cursor to the world centre (ShiftS > R) and set the pivot point to 3D cursor before rotating.


Why does my material seem 'pixelated'? I'm new to Blender. I did the donut and cup (blender guru). When I render, the glass cup is pixelated. Why is that? I have a Nvidia Quadro RTX 3000 graphic card. Also, the menu on the bottom right hand side i.e. texture, light, render etc., it's all huge now. I don't know what happened.

Glass cup not pixelated, but a lot of noise, which caused by small amount of samples.

It can be reduced in viewport with OptiX viewport denoiser in Render tab (OptiX avaible only on RTX cards):

at render with  View layer denoising:

or after render with Intel Open Image Denoiser node in Compositor (Denoising Data should be checked in View Layer):

And the last, the scale of blender layouts could be customized by holding Ctrl + Middle mouse button pressed with moving mouse Up and Down


How to open a file from network location? My working directory is on a network location. Within Blenders file browser I can only choose between hard disks at the moment:

How can I access blend-files or images on a network location?

I am using blender v2.76 on windows 8

If the shared folder is accessible form your machine, i.e. you are already logged  to the share and can access it on the OS, you can type the IP address (or Computer Name) and share name in the address bar.


How do I get invoke_props_popup to work? I'm trying to get invoke_props_popup to work. But my code produces this error:

Error: Operator 'OBJECT_OT_keyframe_changer' does not have register enabled, incorrect invoke function

Traceback <most recet call last):
    File "(Script-path)", line 63, in <module> ...

RuntimeError: Error: Operator 'OBJECT_OT_keyframe_changer' does not have register enabled, incorrect invoke function

Line 63 is bpy.ops.object.keyframe_changer('INVOKE_DEFAULT')

I haven't been able to find any documentation to help me with this. Why does it not run? Why does it give me an error?

This is the code I have so far:

class KeyframeChangerOperator(bpy.types.Operator):
    """Let's you change keyframe position"""
    bl_idname = "object.keyframe_changer"
    bl_label = "Keyframe changer"
    my_float = bpy.props.FloatProperty(name="Keyframe position")

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

    def invoke(self, context, event):
        wm = context.window_manager
        return wm.invoke_props_popup(self, event)

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.keyframe_changer('INVOKE_DEFAULT')

You simply forgot to set bl_options:

import bpy

def set_keyframe_position(flt):
    print (flt)

class KeyframeChangerOperator(bpy.types.Operator):
    """Let's you change keyframe position"""
    bl_idname = "object.keyframe_changer"
    bl_label = "Keyframe changer"
    bl_options = {'REGISTER', 'UNDO'}

    my_float = bpy.props.FloatProperty(name="Keyframe position")

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

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

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.keyframe_changer('INVOKE_DEFAULT')


How to position the center of the Glare Node effect (in ghost mode) off center? It seems the Glare node in Ghost mode is always centered in the frame.

I have 2 render layers:
1 for the Background and the Asteroid (with Object ID).
2 for a Sun object (A light emitting Sphere with Object ID).

I combine the Background, the Sun with Glare and the Asteroid on top.

When I Translate the Sun Object in the compositor, it affects the Glare, it changes intensity and shape, but it is always centered in the frame, even if the Sun travels from right to left edge of the frame. So it doesn't follow the Sun. It's just in the center.

How to position/control the Glare effect, so that its center follows the Sun traveling from right to left? (Note: I can't just put a Translate Node after the Glare, because the Glare will get clipped at frame edges.)

This is how lens flare actually works, its an internal reflection of the lens and describes the aperture that the path of light enters. All light passing through a lens goes through the centre at some point. So moving the flare centre around doesn't make physical sense.


how to fill this gap? How can I fill this gap for the model? I am asking specifically for this one because it will help me troubleshoot other ones I will make when I come to this problem again.
so, what's the best way to fill this gap?

If I understand right you ask about the right topology. If so it's not good that you have inconsistent mesh (by one axis you have far more loop cuts compare to another). If there is a reason for that I would probably fill it like that:

The big N-gon in the middle is fine if this area is flat.
But the better solution would be to have more consistent mesh so you can connect loops organically. You'll still have 1 triangle but that is fine.

I hope it helps!


split object into equal halves i've made a mistake - modeled a complex (consisting of a number of meshes) object without a mirror modifier.

and now i came to unwrapping and decided to use mirror modifier.
but stuck. i don't know how to split this object into halves, because tools i know (knife, edge loop, bisect) won't do it.

i was adviced to use boolean modifier first with a cube. it seems to work, but may be there is some simplier way?

EDIT: boolean worked only on somehow simple objects, but failed on something more complex.

here is the image:

it is perfectly symmetrical. it not always has edges in the middle, but i think it's not a problem (faces there are flat)?

here is the blend: http://www.pasteall.org/blend/43072

'Knife project' works well here :

Add a plane
Place one of its edges along the middle (at the exact center)
You may work in a ortho view and along the axis (here top ortho)
Stretch it so that it covers your mesh
Select your mesh (keeping the plane selected) and enter edit mode
Hit 'knife project' and make sure the option is 'cut through'
Select the half to remove and add the mirror modifier


How and where are the Python keywords assigned a syntax highlighting type in blender? Blender has a colour assigned for Builtins, Symbol, Special, Preprocessor, Reserved, Comment, String and Numbers.

The text editor theme for syntax highlighting

While testing importing Vim colorschemes to blender I noticed there is quite some variance in keyword assignment.

Vim uses a syntax file to highlight colors from the colorscheme

Snip from vim syntax file for python python.vim

"
" Keywords
"

syn keyword pythonStatement     break continue del
syn keyword pythonStatement     exec return
syn keyword pythonStatement     pass raise
syn keyword pythonStatement     global assert
syn keyword pythonStatement     lambda
syn keyword pythonStatement     with
syn keyword pythonStatement     def class nextgroup=pythonFunction skipwhite
syn keyword pythonRepeat        for while
syn keyword pythonConditional   if elif else
syn keyword pythonImport        import
syn keyword pythonException     try except finally
syn keyword pythonOperator      and in is not or

My current result for importing the github colorscheme

How and where are the python keywords assigned to syntax type in blender.  Can they be modified using python?

Providing syntax highlighting in the editor requires parsers for the programming languages in order to identify keywords. These parsers can be found in source/blender/editors/space_text. Currently implement are text_format_lua.c, text_format_osl.c, text_format_pov.c, text_format_pov_ini.c and text_format_py.c. Each of these implementation provides a functions to map strings to internal identifier types which can later be used to give these a distinct color, e.g. in case of the Python:

static void txtfmt_py_format_line(SpaceText *st, TextLine *line, const bool do_next)

Every format implementation provide a function to register the parser as well as the formatter. They are called ED_text_format_register_ followed by the language suffix. Ultimately they all call ED_text_format_register to register the callback functions. The registration using ED_text_format_register_ functions is performed once in source/blender/editors/space_text/space_text.c by calling:

void ED_spacetype_text(void)

Once this is completed the text can be formatted and syntax highlighted by

void draw_text_main(SpaceText *st, ARegion *ar)

which can be found in source/blender/editors/space_text/text_draw.c. This function retrieves the pointers to formatting callbacks for a given text using tft = ED_text_format_get(text);. The return value can then be used to call the callback with tft->format_line(st, tmp, false);. In case the current language is Python that would result in a call to txtfmt_py_format_line. It stores identifiers / format character in tmp which can then be used to highlight keywords by one of the drawing functions text_draw, text_draw_wrapped and draw_suggestion_list. Each of them will call the function:

static void format_draw_color(const TextDrawContext *tdc, char formatchar)

This functions contains a switch statement that identifies which format character is given and applies the matching color from the theme. For example if the format character would be FMT_TYPE_KEYWORD it would set the color with UI_FontThemeColor(tdc->font_id, TH_SYNTAX_B). The parameter TH_SYNTAX_B determines the color.

In source/blender/editors/interface/resource.c is the function that is parsing this color id TH_SYNTAX_B to retrieve the actual color.

const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)

This function use ts->syntaxb when the color id is TH_SYNTAX_B where ts is a pointer to a ThemeSpace.

The place where syntaxb is assigned its value is in release/datafiles/userdef/userdef_default_theme.c. The value is given in .space_text as

.syntaxb = RGBA(0xff1961ff),

For this syntaxb we have a matching RNA property definition in source/blender/makesrna/intern/rna_userdef.c

  prop = RNA_def_property(srna, "syntax_builtin", PROP_FLOAT, PROP_COLOR_GAMMA);
  RNA_def_property_float_sdna(prop, NULL, "syntaxb");
  RNA_def_property_array(prop, 3);
  RNA_def_property_ui_text(prop, "Syntax Built-in", "");
  RNA_def_property_update(prop, 0, "rna_userdef_theme_update");

The property syntax_builtin can be set in the Blender theme. For instance release/scripts/presets/interface_theme/blender_light.xml sets syntax_builtin to:

syntax_builtin="#ff1961"


The colors of the layers of my first 2D animation are wrong for some reason I've just created my first 2D animation and I used separate layers and the "voxel heat diffuse" addon that you can find here.

With it I've been able to make the 2d animation faster. But,anyway,there is a little problem and I don't know if it's caused by the addon. I rendered the first frame and I saw that some layer have odd colors. Can someone suggest to me where could be the mistake ?

This is the first rendered frame of the animation :

and this is how it appears on the 3D view :

You can find the blender file here. Thanks.

Found the solution with the help of "Mingfen Wang",that's "Just click the 'Diffuse BSDF' item, and select 'IAP_SHADELESS' shade, then render".


How to reverse direction of object along path I have a camera with the track to constraint added, and the camera is circling around a circle pointing at an object.

Please can someone tell me how to make the camera move in the opposite direction?

Cheers

The animated path has a parameter called "Evaluation Time". This shows in percents where is the constrained object along the path. When you click on "Animate Path" button (at the constraints menu, you already did it) the curve gets an animation modifier what you can find in the graph editor. After you delete it, you can animate the Evaluation time as any other parameter. So you can increase or decrease its value by inserting keyframes at the appropriate frame.


Cycles GPU Render button is looking passive I am adding a image. Why i can't use this render?. I am using Windows 10 and AMD Radeon Software. My Blender versiyon is 2.79. I did install yesterday (27.06.18) I can't find a solution for AMD Radeon and I updated very soon (27.06.18).
And I am adding a photo for you can understand better.

From the manual:

  To enable GPU rendering, go into the User Preferences, and under the
  System tab, select the Compute Device(s) to use. Next, for each scene,
  you can configure to use CPU or GPU rendering in the Render
  properties.

  OpenCL

  OpenCL is supported for GPU rendering with AMD graphics cards. (We
  only support graphics cards with GCN architecture 2.0 and above).

  If your video card is supported, download the latest drivers.


Creating an edgeless material for flame I'm looking to recreate something like this , but if possible, using just the nodes editor and a mesh. I'm primarily having trouble with finding the right combination of nodes to create that edgeless, or feathered look to the mesh. The rest should be simple enough to do, mixing it in with transparent and emission shaders. I think I have that part of the node setup ready to go, but I need to have the rest of the node setup to be sure. That's where I'm hoping someone here might come in.

Just an idea..

You could just draw with really soft brush in Photoshop/Gimp, something similar to a flame. Then use that as the mask factor.

I just did this on a flat plane. If you use a solid object just make sure all the sides are close to each other or it might look a little weird.


Problem texturing a complex model like the interlaced leaves of a palm tree I have several models of palm trees that I have to texture. As you can see on the picture, selecting the polygons is problematic. Most of the leaves are interlaced with other leaves and large parts of the leaves are hidden by other leaves. It's very hard to view whole face of a leaf and also to select the vertices properly.

I have seen different tutorials for making a palm tree and the artists created the leaves and applied the texture before joining the leaves altogether at the top. That does not work in a case where you have to texture an imported model.

Does anyone have techniques to work with the polygons (texturing and other modifications) of complex models where there are hidden parts like in the case of a palm tree?

Maybe you can try this neat selection trick : just click on the ending vertex of a leaf, and do "CTRL +" repeatedly to increment your selection. "CTRL -" to deselect.

Another trick that you can also try is to hover over a leaf, and hit L on the keyboard. This will select the actual object as a whole (provided it is a separate mesh). You can hide it by pressing H, and reactivate it with ALT+H.

Hope it helped, and welcome aboard !


Changing bevel angle I am working on a model, and now I have stumbled upon a problem. I want to change the angle of my bevel, but all this while its still non-destructive. Is there a way to do this, without the need of applying the bevel modifier?
The thing is easily representable with the default cube, that's why I am showing with it.

One way is to bevel by percentage of edge length.

Set Width Type > Percent
Uncheck Clamp Overlap
Add loops and slide them to control the angle


When building/compiling flip fluids, I just get a bunch of error s and a weird, partial build Like the title states, when building flip fluid I get a partial build that can be installed as an add on into blender, but when I try to bake a sim it tells me that it cant find "libblpyfluid.dll" and when I look for any type of fluid file, its missing. Hopefully someone can help, thanks! Here's what I get when building/compiling (I put it in a text file so its much easier to read):
https://drive.google.com/open?id=120t0U87DNAMqeXcSUOBgGHiLs-p6Pjxa

That is nai be a pre release of its latest version and you will have to complete it yourself. I know that can be tricky but there are many blogs which can help you complete it yourself if you are able to find one which suits you and is understandable.


Pin a Rigid Body Object I am trying to find a way to make a Rigid Object object swing from a given point (an Empty or anything else) without being deformed.

For example:

In this example I want to make the Cone swing on the X axis without moving on the other axis.

I tried every Constraint and Rigid body options I could fin (Pivot, Clamp to, Tack to...), but haven't been able to find a simple solution. Alternatively, I would like the swinging animation to not slow down over time.

How can achieve this?

A rigid body constraint always needs two rigid bodies. Add a passive rigid body above the cone: Cube.

Select the empty and make it a rigid body hinge constraint, with the new Cube and Cone as the objects.

Other tweaks:

The hinge constraint rotates around its Z axis. You will have to reorient it.
Move the origin of the cone to its geometric center.
Set the Cones shape to Cone.


How to properly make an object to follow a path? a have a considerably simple path and an object to follow that path. Following the basic procedures:

Create a path and object,
Add Follow Path constraint to the object and select path to follow,
Animate the path.

Now I am facing a small issue at step 2, adding a path to follow causes object to rotate ambigiously (at least for me).

What is the right way to do this? What am I missing?

Here is some screenshots from the scene:

Before adding constraint

Constraint settings

After adding constraint

Left follow path without empty
right follow path with empty

General steps

create a path
create an object

2.1 If you are going to use an empty you can use any,
   usually to avoid complicate things selected PLANE AXES
select path
enter edit mode
select a point where you will start to follow the path once selected

5.1 press SHIFT + S and select cursor to select

5.2 pres enter or LMB
exit edit mode
select the object
press SHIFT + S

8.1 select to Cursor Offset

8.2 pres enter or LMB

This is where the road bifurcates into 2, without empty object and with empty object

follow path without empty

select the OBJECT that the route will follow (child)
select the PATH that the route will follow (Parent)
press CTRL + P and select Follow Path
go to the timeline and press play to get the animation

follow path with empty

select the OBJECT that the route will follow (child)
select the EMPTY PLANE AXES that the route will follow (Parent)
select the EMPTY PLANE AXES that the route will follow (nao is a child)
select the PATH that the route will follow (Parent)
press CTRL + P and select Follow Path
go to the timeline and press play to get the animation

NOTE: for the example with empty change the point of origin of the mesh to the tip of the arrow and in the example without empty the point of origin of the mesh to the tip of the arrow continued in the center of it

NOTA:

WHEN YOU DO NOT USE THE EMPTY THE OBJECT IS SUFFERED TO DEFORM A LITTLE OR MUCH ACCORDING TO THE ANGLE OF THE CURVES OF THE ROUTE,
when you do not use an empty the mesh that follows the route tends to deform a little or a lot depending on the sharpness of the angles of the curves of the route and usually turns in directions that are not planned

use an empty between the object and the route helps control this and prevents deformation of the mesh

observe the image well and see the detail with both arrows one with empty and one without empty


I can't switch from Blender render to Cycles render I'm having problems by switching rendering. The problem is that Cycles render doesn't appear in the top. There's only Blender Render and Blender Game.

Also when I run the program, a windows opens up in the user preferences and everything that was before is gone. I don't know if I did something to my PC or Blender files.

make sure that cycles is enabled in your add-on panel in your user preferences. also it might help if you upload your blend file with this problem.


How to loop animation How can i loop an animation of running character?

First of all make sure that the pose of your objects first keyframe is the same as the one of the last keyframe in the period you want to loop. This can be done by duplicating the first column of keyframes in the Dope Sheet and moving it to the end of the period.

Here are some ways to loop:

at the Timeline: just set the end of your playback/rendering range to the last keyframe and play the result in a loop
in the Dope Sheet: duplicate all keyframes ShiftD and move them after your existing
in the Graph Editor: use loop modifiers for everything animated

Here`s an example using the first method


Python: Check if object exists in Blender 2.8 How can I check if the object exists in python?
I want to create an add-on but I'm unable to find any reference.
For example how can I check if "Cube" exist? If yes I will make another object green, if no I will make it red.

Best practice is iterating through Scene.objects collection (all objects of the current scene):
import bpy

for o in bpy.context.scene.objects:
    if o.name == "Cube":
        print ("Cube found in scene")

Even easier to read is using python's get() on the actual collection to get the reference:
cube = bpy.context.scene.objects.get("Cube")
if cube:
    print ("Cube found in scene")

Recommend use the python console to figure out:
>>> C.scene.objects.get("Cube")
bpy.data.objects['Cube']

Alternatively you can also iterate through Data.objects (all objects of the actual file using):
>>> D.objects.get("Cube")
bpy.data.objects['Cube']

For the sake of completeness, demo on how to get all objects starting with "Cube":
import bpy

objs = []
for o in bpy.data.objects:
    if o.name.startswith("Cube"):
        objs.append(o)

if objs:
    print ("Cube found {} time(s) in file".format(len(objs)))

Related: Python: Selecting object by name in 2.8


How to fix 'Modifier is disabled, skipping apply' error? I've tried to answer this question: Removing Armature and Keeping pose and apply the Armature Modifier, when suddenly the  'Modifier is disabled, skipping apply' error window appeared. How to fix it, so I may apply the modifier?

Without proper settings a modifier is "disabled" as it can't perform it's task. To enable a modifier, suitable options need to be chosen - for the armature modifier that is assigning an armature to it.

Given that the modifier is not doing anything you could also delete it without effect.


Is there a shortcut to undo a viewport move? Is there a hot key to undo a view port change similar to the bracket key in Maya?

I've looked through the hotkeys and don't see anything.

Thank you.

I encountered many bugs so this is more of a proof of concept than ready solution
I adapted the code from here.
Run the below code, make some changes to viewport and press CTRL + SHIFT + F12 to undo viewport changes (keeping track of a few more properties has to be added e.g. orthogonal/perspective)
bl_info = {
    "name": "Work Macro",
    "category": "Object",
}

import bpy, time
from collections import defaultdict

timeout = 1  # number of seconds between changes justifying a separate state
undo_buffer_size = 100  # in this crude implementation, each buffer will grow
                        # to double its limit before being truncated to the limit

states = defaultdict(list) # key: space object, value: list of tuples(last_change, view_matrix)
view_handler = None

def callback():
    # perhaps you can only use context.area.spaces.active instead of iterating here
    areas = bpy.data.window_managers[0].windows[0].screen.areas
    for area in (a for a in areas if a.type == 'VIEW_3D'):
        for space in (s for s in area.spaces if s.type == 'VIEW_3D'):
            space_states = states[space]
            if not space_states:  # empty list
                space_states.append((time.time(), space.region_3d.view_matrix.copy()))
            else:
                last_time, view_matrix = states[space][-1]
                matrix_change = view_matrix != space.region_3d.view_matrix
                if matrix_change and time.time() - last_time > timeout:
                    states[space].append((time.time(), space.region_3d.view_matrix.copy()))
                    if len(states[space]) > undo_buffer_size * 2:
                        states[space] = states[space][-undo_buffer_size:]

class WorkMacro(bpy.types.Operator):
    """Work Macro"""
    bl_idname = "object.work_macro"
    bl_label = "Work Macro"
    bl_options = set()

    def execute(self, context):
        space = context.area.spaces.active
        if len(states[space]) > 1:
            states[space].pop()  # remove current state
        revert_to = states[space][-1][1].copy()
        space.region_3d.view_matrix = revert_to
        #sometimes the above will slightly modify the matrix so let's update the undo state with it:
        states[space][-1] = (time.time(), space.region_3d.view_matrix.copy())
        return {'FINISHED'}

# store keymaps here to access after registration
addon_keymaps = []

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

    # handle the keymap
    wm = bpy.context.window_manager
    km = wm.keyconfigs.addon.keymaps.new(name='3D View Generic', space_type='VIEW_3D')
    kmi = km.keymap_items.new(WorkMacro.bl_idname, 'F12', 'PRESS', ctrl=True, shift=True)
    addon_keymaps.append(km)
    global view_handler
    view_handler = bpy.types.SpaceView3D.draw_handler_add(callback, (), 'WINDOW', 'POST_VIEW')

def unregister():
    print('unregister')
    bpy.utils.unregister_class(WorkMacro)

    # handle the keymap
    wm = bpy.context.window_manager
    for km in addon_keymaps:
        wm.keyconfigs.addon.keymaps.remove(km)
    # clear the list
    del addon_keymaps[:]
    bpy.types.SpaceView3D.draw_handler_remove(view_handler, 'WINDOW')  # remove handler added on end of register() function

if __name__ == "__main__":
    register()


Bone unwanted rotation when moving IK I'm making a rig from this tutorial: http://vimeo.com/30078317
And i have problem like this:

As the title says and GIF shows it is probably a problem with IK, but i don't know how to fix it.

Move your pole-target bone in front of the knee, when you've done the setup as in the tutorial at 19:30 this should work. The IK solver tries to maintain the orientation of the knee to the pole target. That is the reason why the leg is winding .


How to join two UV maps pieces into one I don't understand how attach two UV maps pieces. Because,as you can see on the right side of the attached picture below,the mesh is not broken,but on the left side you can see that the Uv map is broken into two different pieces and I don't know how to join them. Really I don't understand the reason of this behaviour because I marked as seams all the edges in the front of the mesh. Thanks.

Point 1, You can join seams.

Simply select the two vertices you would like to combine.

Then press W, then "Weld". This will "join" those two vertices.

Point 2, You NEED seams!

Unwrapping requires cutting the model up into pieces (for it to work properly). Imagine it like you have a paper (3D) figure and you have to let it lay out flat. You must cut it enough times to do this. If you mark a seam, that will be a split. If you have marked all the seams you want and press U, then "unwrap", it should unwrap with only your given seams, but after you mark a new seam, you must re-unwrap for it to take effect.

Point 3, Smart UV Project will automatically add new seams.

Smart UV Project is very automatic. It adds new seams where it deems best. This can be a problem if you are working with detailed unwraps. It is often easier to manually unwrap than welding seems left by Smart UV Project.

Point 4, You can do this for a whole seam.

Simply align the seams as best you can, then select them. (Tip, use proportional editing on "connected mode" to drag an edge closer to another while smoothly transforming the geometry in between.)

Then press W, then "Align Auto" to line up the two seams.

Now press W again (with both seams still selected) and click "Remove Double UVs". This will remove the UVs that are next to each other. If you succeeded, this should merge your seams.

Note: If the vertices were too far apart after aligning, this will not work. You can do any necessary clean up using weld.

Here is a more complex join.


Image texture not showing, but diffuse does I've been playing around with nodes and the node wrangler add-on. I thought of trying to mix a diffuse shader with my image texture but it didn't work out as needed. It still shows the solid color of my diffuse but not the image. Keep in mind that both objects are unwrapped, so it should show the texture.

Project file

Textures that I used and found on poliigon.com

Other posts I've looked around didn't get me the answer.
All help would be appreciated to a new user like me!

You need to add a Shader node between the Image Texture and the Mix node - in your case probably a Diffuse Shader - alternatively use a MixRGB Color node to mix the colors before feeding into the existing Diffuse shader. As a general rule you should normally connect sockets to only the same color - in your case you have a yellow (Color) connected to green (Shader) and this is the cause of your problem since green sockets should only ever connect to green (anything else is completely incompatible).

Note that there are some situations where you can mix some node types - eg, the Color of a Texture to a Factor of a Mix node. However, this does result in some conversion between the types which can produce unexpected results. There is no such conversion to or from green sockets.


Imported .obj has UV offset Often when I import an .obj or .dae I have a UV "offset" (not sure if that is even the correct term.)

I mean the texture shows up correct in the end but I really would like to have it where it belongs. Is there an automatic way to move the uv grid into position?

The texture show up in the positive XY plane of the UV space, the unwrapped UV islands are placed where the creator of the obj positioned them. It may happens if someone is using repeated tiled textures (it's easy to lose the origin) or creating the model with another piece of software.

I think there may be lots of possible different cases, you shoul try to find the pattern that all the offsets have in common before writting a script for moving/resizing the UV islands for each one of the sources your files are coming from.

Automatic matching between rastered pixels of the texture sounds quite hard and just scaling & resizing to the UV texture space size won't work in may cases.

In the provided example, I would say the UV islands are's just shifted below by the height of the texture in pixel.

So grabbing the UV islands up by the amount of pixels your texture is high would be enough.


Physic simulation hitting non existing face I'm trying to make a simple animation: ice cubes falling into a glass. I modeled my glass, my cube and applied Rigid body behavior to them (Active/Passive). But for some reason (probably me being stupid), the cube is stopped in its fall by a non-existing face at the top of the glass. I tried to switch the collision shape (tried pretty mush all the possibilities) and it didn't solve the issue.

What am I doing wrong here?
Thanks in advance !

This is probably the number one mistake made with rigid bodies.
I made this quick scene below:

And that is what it looks like on the first frame. But on the last frame it will look like this:

And the sphere will be on top of it. The reason is that the rigid body for the bottom shape is set to convex hull:

You need to change the shape to mesh:

And then also change the ice cube in your scene to mesh too.
For a quick definition, a convex hull is basically the outside of a shape. So if you wanted to make a sphere roll on a plane, you would use convex hull as the rigid body shape because the ball is just rolling on a simple 1 face shape. But if you have a scene like this:

You would need to choose mesh as the rigid body shape.


Trying to replicate a 2D Eye Rig I've found myself at the point in my model where I have to start animating the eyes. My current setup are 2 flat ovals that are embedded in a TV screen for my "Flubber" like character. I've found this video: https://www.youtube.com/watch?v=kAfBIcCrg1A

This is exactly what I want to make my character to emote. My knowledge is limited here, but I'm thinking it's the boolean operator on intersect with my eye shape. However I don't get the nice 3D extrusion in the video above. I've messaged the author of the above video, and I'm also hoping I can get some guidance here.

Thank you for you reply.

You can indeed use the boolean modifier to achieve this effect. What you basically need are two cylinders (same shape, scale and location) and two cuboids to replicate the shown behaviour. The intersection between a cuboid and a cylinder will build the shape of the upper or lower eyelid. Add a boolean modifier to each cylinder with one cuboid as target object respectively and set the operation to intersect.

That is basically all you need for the eyelids.

For the eye-shape and pupil just add two new cylinders. To animate the pupil add an empty. Add a Copy Location constraint to the pupil targeting the empty and disable the up-axis of the constraint. Add a Limit Distance constraint and set the target to the cylinder which emulates the eye-shape. Adjust the distance to keep the pupil within the eye. Add a Copy Scale constraint to the pupil targeting the empty so scaling the empty will scale the pupil.

A blend file can be found here.


Light not passing through mirrored mesh seam For some reason, my project started doing this weird thing where light gets cut off at the seam where a mesh is mirrored. I tried applying the mirror modifier, but nothing is changed. As you can see in the photo, I even added a point light on the other side of the edge and it can't reach past that point. What it is even weirder is that is only started doing this after I installed Filmic Blender https://sobotka.github.io/filmic-blender/ to my version of Blender 2.8. I have tried everything but nothing seems to fix it.

Figured out the problem. I had forgotten to set the normal map node to Non-Colour Data. I am an idiot, but at least I managed to identify the problem in case anyone else has a similar one