Rigging Non-spherical eyes in 2.79 or 2.8 that will work in Unity There used to be a trick to setting up non spherical eyes that can be squashed and stretched while still being able to use "track to" constraints to animate where the eyes look, it would also work in Unity when exported with the fbx format.

It seems like when the "track to" constraints are applied it breaks the effect. I remember this working in older versions of Blender like 2.76 possibly I don't quite remember which one. Is there an alternative method that can be used with 2.79 or even 2.8?

Would love know another technique as I tend to work with cartoony characters. Google hasn't yielded any useful info for me.

Duplicate eye rotate and rename it to TrackToBone. Parent it to the parent of eye scale. (For this test setup, it won't need a parent.) Leave the track to constraint on TrackToBone as it was.

Add a Copy Rotation Constraint to the eye rotate with the TrackToBone the target. Choose Local Space for both inputs.

The TrackToBone will do the tracking and the eye rotate bone will copy it's rotation in the local (deformed) space.


How to programmatically add objects into cryptomatte node? How to automatically add object to Matte objects? Right now I have to use Pick output of Cryptomatte and then use eyedropper to add all the objects I need.

Ideally, I would like to have a mapping:
object -> color

I think the best way to do this is to open up a text editor window in blender by putting your mouse on the corner of the 3d view and dragging to open it.  This will open up another window and you can change the window type to text editor.  Click new and you will have opened up a file.  Next open up a python info window using the same procedure.  You can now see what all your commands are in python.  You can add objects like this by typing this into the text editor:

for i in range(10):
    *stuff*

replace stuff with the commands that you see printed in the info tab that you used to create your shape.  For example, once you make a cube you see a command in the info tab called bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, location=(0, 0, 0)).  You could then copy that command into your code to create your shapes.  If you want to learn about python scripting I would recommend reading blender's python documentation.


How to copy compositing nodes from on file to another? I do know if I make a group node of the nodes I want could do this. But is there a better way? Copy-Paste? (Note: I am talking about compositing nodes, not material nodes)

File -> Append -> select your file -> NodeTree -> choose the node group you want.

The same method works for all kinds of data (shaders, meshes, etc.).

EDIT: I just reread your question and realized that for whatever reason you don't want to group the nodes. I think my solution only works for a group of nodes. I don't know if there's a way to do it without grouping them.


How to make the 3d manipulator act parallel to a plane How would i be able to set my 3d manipulator so that one of the axis is parallel to the face of what im moving, i want to move it parallel to the face of the plane.

Select (a face in) the plane
Create a Custom Orientation (CtrlAltSpace)
(Check 'Use after creation' and possibly 'Overwrite previous' in the tool region,if you don't want to bother to name the orientation, and/or don't need it later)
Any translation you now make with G-ShiftZ-ShiftZ will be parallel to the plane you selected.


Constraints not behaving as expected Background

I am modelling a car. I am trying to create a simple rig whereby rotating an empty (the "Tyres Rotator Empty") will rotate the tyres and the steering wheel. This would allow me to easily "pose" the car as it goes round a corner (for example).

I would like to do this using constraints. The obvious choice would be Copy Rotation on both the tyres and the steering wheel, and Limit Rotation on the Tyres Rotator Empty.

I managed to rig this perfectly, until I came to parenting all the various objects that make up the car to a single container empty (the "Container Empty"). Doing this broke all my constraints in very odd ways I didn't understand. I had objects jumping about all over the place and nothing behaved as expected.

I am now trying to rebuild my constraints. While I have managed to do this for the tyres, I cannot get this to work for the steering wheel. The steering wheel needs to rotate on its local Z axis when the Tyres Rotator Empty rotates on its global Z axis.

While this should be simple enough to create with either Copy Rotation or Transformation constraints, I just cannot get the desired behavior.

Question

The steering wheel (see attached file) consistently seems to rotate along the local y axis instead of its local Z axis, even when I set it to be evaluated in local space. I cannot seem to get it to rotate on its local z axis.

My constraints seem to be correct, but I am not getting the behavior I intuitively expect. I suspect that I don't properly understand how World Space and Local Space works.

Please note that I have included two constraints on the steering wheel in the attached which I think should work (Copy Rotation and Transformation), but one is disabled. This is just for illustration. I am not trying to enable both at the same time, but I feel that either one should work and yet neither do.

What am I doing wrong? What do I not understand?

The question might be better explained with: Remove the parent from the steering with ALT  P and you will see it works. Why does the parenting disrupt the pivot point?
Update: If you add a child of constraint to the steering (uncheck the scaling) it adds the parent and behaves as expected without problems.


Exporting map models for games I am creating a map for a 3d game. How do I do it?
I can create a huge model of the map and export as collada. Is that the right way? Do I have to export in a certain way or is it ok to export it like normal model?

Well, game environment is a very complex process. So you won't find the answer in a forum, is like asking "How to use blender?".

But I can give you a starting point.

Game environment could be divided in two main parts "Terrain" and "Assets". Terrain is the process of creating the soil, mountains, rivers, the topology (in landscape language not mesh language). Commonly it isn't created as a .obj, .fbx, etc... file. To do the landscaping usually you use heightmaps (Unreal Engine 4 https://www.youtube.com/watch?v=E5pHoWfpfYw , Unity https://www.youtube.com/watch?v=qpEMhWgJTZ4 ).

Assets use the .obj, .fbx, etc... file format. They are used to make buildings, add rocks, trees, improve the landscape (because heightmaps are only the foundation of the landscape). They are usually separated by object, a car is one file, a building is one file, a entire city isn't usually a single file because it cost a lot of computer resources, you usually create 5 buildings and repeat them.

Nevertherless there are modular games, but thats a whole new way of creating maps.

Also, usually the maps aren't builded straight away, first you draw like pics of the map (but this isn't necessary), a top view map of it with the main objects (buildings, mountains... Important trees (not all)). Then you design the heighmap and then put boxes and simple meshes to the map as a concept map and then start creating the assets.

In conclusion, maps are created in the game engine editor with the assets that you create in a modeling application (like blender).


Cloth falls inside object rather than on top As you can see in the picture, the blanket folds inside of the top mattress when it's supposed to fall on top. The blanket starts outside of the perimeter of the mattress but gets sucked in for some reason

This is using Blender 2.8 and the cloth and collision modifiers have not been changed from default settings.

Please try to untick Single Sided in the Softbody and Cloth menu of the mattress collision.


Do plugins/APIs exist to edit blender-python-scripts in Intellij IDEA? I find the code editing environment on blender pretty stiff and it makes my development slower because I have to type every piece of code letter by letter so to say.
I was just wondering if it were possible to develop blender's scripts in Intellij before copying it down to blender's text-editor to run due to Intellij-idea's text-editor being better in terms of code formatting and commenting,  auto-code completion and suggestion,  variable/method-or-function documentation,  column-selection-mode e.t.c by installing a plugin or downloading an API in Intellij

You can certainly use an external IDE to create your add-ons. Since an add-on is just a (bunch of) text file(s), it doesn't matter what you use to write them.

IntelliJ probably won't be able to find the bpy module, so expect some red squigglies.


How can I sculpt multiple objects to fit together? I am attempting to create a model of the prostate as four different objects that can combine together to form the complete prostate. In the end, this model will be 3D printed and will be disassembled to show the parts of the prostate. The four parts of the prostate are color coded in the diagram below.

I have modeled the blue area already as the lower model in the image below. The object floating above it is going to be the green area from the diagram.

My question is this: how can I model the three other areas around this central one so that they can all fit together in the end? I have tried using the boolean modifier, but the route always ends in disaster. Recently, I tried using only sculpting tools, but getting the objects to have a tight fit with each other is nearly impossible. I'm convinced there must be some feature specifically intended for situations like this, but I have yet to find it.

Boolean is a solution, but you could select, duplicate and separate a part of the first object (here the topology is messy because I've sculpted it with Dyntopo but it would be the exact same process with a clean mesh):

then extrude and sculpt (or model). Make sure that you don't alter too much the bottom so that it continues to fit well:


get node links from_socket index value I need to obtain just the index value from node_tree.links[...].from_socket, I am able to see it like for example

# this is example
bpy.data.materials["SomeMat"].node_tree.nodes["SomeNode"].outputs[0]

but I would like to save just the index value [0] to variable...how to? I am lost seeing no option for this... :(

For example there is a way how to find out the name of the ".from_socket" like this:

 bpy.data.materials["SomeMat"].node_tree.links[0].from_socket.name

...and then I get its name, for example output socket called "BSDF". But is there something that returns index number of used output instead of its name as stated above? Cos if I use:

# BTW this gives me exactly what I would normaly needed like 'bpy.data.materials["SomeMat"].node_tree.nodes["SomeNode"].outputs[0]' but this time I need to get only the last index value, it is: [0]
idx = bpy.data.materials["SomeMat"].node_tree.links[0].from_socket

...then the variable is whole object, not just the index value :(

The reason why I need this is because I am copying nodes with their links and all settings from one material to another one, everything work except links, it works OK if there is just one instance of concrete input socket, if there are two of the same name like in Mix Shader (it has two inputs called the same as "shader") then my script does not work right cos it uses socket names instead of their index values like:

links.new(nodes[i.from_node.name].outputs[i.from_socket.name], nodes[i.to_node.name].outputs[i.to_socket.name])

So my new working script would be then:

# see .INDEX is meant just as kind of signature for the index number I am talking about thru all this post
links.new(nodes[i.from_node.name].outputs[i.from_socket.INDEX], nodes[i.to_node.name].outputs[i.to_socket.INDEX])

And all of this just because the most common solution does not work at all, this:

links.new(i.from_socket, i.to_socket)

If I use this then no connections are made...BUT WHY???

BTW I did try to solve it by work around of renaming MixShader socket inputs [1] and [2] that uses the same name of "Shader" to something like "A" and "B" but as soon as I do it Blender crashes right after successful renaming (BTW why in the world they uses the same name at all causing this kind of problems??? gee...)...so no go this way :(

P.S.: I need only script solutions, thanx

One of your examples is -

links.new(nodes[i.from_node.name].outputs[i.from_socket.name],
          nodes[i.to_node.name].outputs[i.to_socket.name])

Do you notice that you are trying to connect an output socket to an output socket. You would want to connect the from_node.outputs to the to_node.inputs.

Also of note is that as you know the socket names are rarely unique, which is the biggest cause of trouble here, but a socket also has a property called identifier that is a unique name for the node. I don't think you can use it as an array index but by counting your way through all sockets of the node you can find the same identifier and use your count as the index. The socket identifier property was added in 2.66 if you need to watch compatibility.

Another approach to get the socket index number is with something like -

matLinks = bpy.data.materials["SomeMat"].node_tree.links
socketID = matLinks[0].from_socket.path_from_id()[-2:-1]

So path_from_id() will return something like nodes["Mix Shader"].inputs[1] as a string, you can then use array access to get the second last character.

Most nodes only have a few inputs and outputs but to properly handle groups and script nodes which could have more than 10 sockets you would want to search for the last '[' and ']' to define your string extraction.


Mesh flickering in 2.8 So I recently updated to 2.8 and I'm having trouble with meshes when trying to edit them. The lines aren't even in thickness and at certain angles can disappear. Then when moving about the whole thing flickers. It happens even if I just load up a new file and add a simple sphere:

Is there some sort of setting I need to stop this happening? I've been trying to just put up with it the past week but it's quite a strain on the eyes!

Disable Anti Aliasing in Preferences > Viewport > Quality > Viewport Anti-Aliasing and choose No Anti Aliasing


emitting objects in the exact same spot Basically I want exactly every 5 frames for an object to spawn and follow an animation path before dying.

Right now I am attempting to use a particle emitter however even when I change all the random settings to 0 the objects are still spawning in slightly different spots.

How can I ensure every object that is spawned is spawning in the exact same place? and at the exact same intervals.

I think the trick to this is to correctly calculate how many frames you have, divide it by the number of particles you want to spawn in your frame rate.

In the below example I have my end time at 100 frames with 10 particles so it would spawn every 10 frames and a lifetime of 100. You will need to change these numbers based on how many frames you have in your animation.

I also just used a plane for my particle system (no subdivision) and made it smaller than my object that it was spawning. So it mostly comes out at the exact same spot.

Maybe somebody could come up with a better answer that is easier to control.

Probably animation nodes would be perfect for this. I just dont know it well enough.


Solid Faces and Normals in Opposite Directions I have a weird problem in Blender where it seems that my faces and normals point in opposite directions. I have backface culling on in these shots.

Here's what a selection is supposed to look like. The normals and faces point in the correct direction, both facing outwards, with the selection on the outside:

Here's the odd geometry:

On the left, the faces point inwards, and the normals face outwards. But the selection is on the outside. (I flipped the normals in this case)

On the right, the faces point outwards, and the normals face inwards, as they should, but the selection is on the inside. (The normals are unflipped in this case)

It seems as if the normals and faces are pointing in opposite directions, because the selection is incorrect. What's happening here?

I think you're misinterpreting what you're seeing.

I don't see any normals displayed in any of the images you've uploaded. When normals are displayed, they look like this:

I might be misunderstanding you. If so, please clarify.

I suspect that the normals are pointing exactly the direction you expect them to point (away from the visible side of the face). If you just Recalculate Normals -> Outside, it should correct the problem.

If that doesn't work, you should check for non-manifold geometry.


How to apply Corrective Smooth as Shapekey? Blender has a Corrective Smooth modifier, which is nice. I’m building a character for realtime, so I can’t use it directly. But I figured I’d take advantage of it by using it to create corrective shapekeys. The modifier does have an “Apply as Shapekey” button after all, and it would be a good basis for further manual tweaking.

However, the button doesn’t seem to work.

For Corrective Smooth to do its thing it needs an Armature above it in the stack. However, with the Armature modifier there, it fails with an “Applied modifier was not first, the result may not be as expected” message.

So basically, how can you apply Corrective Smooth as a Shapekey? Is it just a completely useless button that can’t ever work, or is there something I'm overlooking?

This is a quirk of how the Apply as Shapekey works. The mechanism is outside the specific modifier's logic.

Essentially when you click Apply as Shapekey blender takes the unmodified mesh and adds just the modifier that your are applying to the mesh, then uses the resulting shape. For corrective smooth, this means nothing happens, as corrective smooth needs other deformation in order to do anything.

There is however a workaround for this. Blender comes bundled with and addon called Corrective Shape Key which can generate a shape from the whole combined mesh as a corrective shape. To do this you need to first use the addon to create a duplicate for editing, and then disable the corrective smooth, and then add the dupe back as new shape using the addon's functionality to reverse transforms.


imported glb file is hollow, how to fix? im trying to import this glb file containing texture, model and animation.
when i import it into blender (latest), it has this weird hollowed out look. the face is not visible until you appear it from inside.
anyways, hope somebody can help me how to correct render.
here is the glb file https://filebin.net/hwkmdsfpvzlmg5r5/Teisel_Bonne__Cutscene_.glb?t=g2bmzav0

you can see the texture is turned inside out in particular the face is hollow and the face texture can only be visible when rotating the model.how do i fix this?
I played with the normals but it still missing bunch of faces. I used mesh ---> recalculate normals outside.

The problem you are having is easily overlooked, and is found in your material settings.
You have backface culling turned on, and not all faces are facing the same direction giving you the strange result you are seeing.

Turn off backface culling and this should fix the problem.


How do I convert a 2D vector into 3D? I have a 2D mathutils vector and I want to convert it to 3D, I know there is a method called resize3D() that does this, but it output an error "Vector Object doesn't have any attribute 'resize()'". I could manually construct a 3D vector from the components of this 2D one but is slower.

import mathutils

vector = mathutils.Vector((1,2))
vector.resize3D()

So what am I doing wrong here?

EDITED:

Did find a quicker, easier way after all:

v2d = Vector((1,2))
v3d = v2d.to_3d()

Or if you do prefer to do it in place, rather than assign to a new variable (you were very close in your original attempts):

v = Vector((1,2))
v.resize_3d()

>>> v
Vector((1.0, 2.0, 0.0)) # Has been converted in place to 3D

Old method:

Generate a new 3D vector from your 2D one:

from mathutils import Vector
2dVec = Vector((1,2))

3dVec = Vector((2dVec.x, 2dVec.y, 0))

If you have a whole list of 2d vecs, you can simply use a list comprehension to convert 'em all:

3dVecs = [ Vector((2dVec.x, 2dVec.y, 0)) for 2dVec in 2dVecs ]


import series of csv files as keyframe using handler I try to import a series of csv files (name_0.csv,name_1.csv,name_2.csv ....) but reading only one file which is the current frame of the scene, if we are at frame 2 thus displaying only the name_2.csv file. My script is working but something is missing at the handler. I put append so it append all the data series but I would like a clean update when new frame.
Thank you
here the code:
import bpy, csv, os, sys

path="path...."
case_name = 'fensap'

def read_frame():
    current_frame=bpy.context.scene.frame_current
    end_frame = 10
    frame_s = bpy.context.scene.render.fps
    with open(os.path.join(path,'{}_{:01d}.csv'.format(case_name,current_frame))) as csvfile:
        content = csv.reader(csvfile, delimiter=',', dialect='excel')
        for i,row in enumerate(content):
            if i == 0: continue            # skip header
            x,y,z = row [4], row[5], row[6]#
            bpy.ops.mesh.primitive_uv_sphere_add(radius=0.05,location = (float(x), float(y) ,float(z)))
        print("Frame number=",current_frame,"number of particles=",i)

def my_handler(scene):
    read_frame()

def register():
     bpy.app.handlers.frame_change_post.append(my_handler)

def unregister():
     bpy.app.handlers.frame_change_post.remove(my_handler)

register()
#unregister()

Hi Ray thank you for your answer.
I found another way and it works, so ...
Thank you anyway, I put the script in case of someone....
import bpy, csv, os, sys
path="/home/hadrien/Desktop/blender_parti/tuto2/"
case_name = 'fensap'
def read_frame():
for l in bpy.data.objects:
if l.name.startswith("part "):
l.select_set(True)
bpy.ops.object.delete()
current_frame=bpy.context.scene.frame_current
end_frame = 3
if current_frame >= end_frame:
    print("NO EXISTING FRAME")
    return
with open(os.path.join(path,'{}_{:01d}.csv'.format(case_name,current_frame))) as csvfile:
    content = csv.reader(csvfile, delimiter=',', dialect='excel')
    for i,row in enumerate(content):
        if i == 0: continue            # skip header
        x,y,z = row [4], row[5], row[6]#
        bpy.ops.mesh.primitive_uv_sphere_add(radius=0.05,location = (float(x), float(y) ,float(z)))
        parti = bpy.context.object
        parti.name = 'part ({0:0>2d})'.format(i)
        parti.data.name = 'Mesh ({0:0>2d},)'.format(i)
    print("Frame number=",current_frame,"number of particles=",i)

def my_handler(scene):
read_frame()
def register():
print("register")
bpy.app.handlers.frame_change_post.append(my_handler)
def unregister():
print("unregister")
bpy.app.handlers.frame_change_post.remove(my_handler)
register()
#unregister()


How do you merge 2 areas of a single mesh into one? I am a newbie to Blender and am trying to create my own character off of a template I found online. I duplicated my arms to edit them separately. After that, I tried to join the 2 meshes with "Ctrl+J" but Blender only shows one meshes. I tried to use the "F" key but that didn't work either.

Can someone please help me get an arm onto my body. Also, I don't have the armature in place yet.

I think you are watching sebastian lague's video.

Now that you have created arms and the body, you want to join them. First, I must tell you that ctrl+J only makes joins meaning it doesn't join the faces or vertices but it makes both the mesh to be accessible by one name.
Now for joining the hands with the body you need to follow these steps:-

You need to select two vertices one of the hand and other vertice of
the body nearest to the vertice selected before.
Press  alt + m while selecting the vertices. Select 'to center' and
now your the vertices are joined.
Repeat this step for all vertices.

The other way :-

Select your hand by hovering over it and press 'l'. Now you have
your hand selected.
Press P to separate the hand. This is the opposite of Ctrl + J.
Exit Edit mode.
Select your hand mesh and enter edit mode to extend the edges near
the top say shoulder.
Extend them by pressing E. So that the extended part touches the
body. Try to make the extended part as small as possible.
Now Exit Edit mode.
Go to modifiers tab and select boolean.
Select Union in boolean and then select your body mesh. Click Apply.
Now you have both the mesh joined. You can delete your body mesh
now.

I would recommend to follow the first way.

Hope this helps.


Mesh sticks to rigify controls when moving on a locked axis When I'm using rigify, moving certain IK layers such as the Leg IK, the mesh "sticks to the control. See attached picture. You can't really tell, but I have the LegIK locked to
I've watched some tutorials and their meshes don't stay attached after moving a certain distance. And it doesn't have such extreme deformation.

This is the default behaviour of IK limbs in rigify.
There are different things that you can do to change it. The easiest one is to turn IK stretch off


An error occurs when copying and pasting blender's clipboard to the Text editor under windows I run this piece of code on a Mac and it can run normally, but when it comes to windows, there are two errors
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf7 in position 12: invalid start byte

TypeError: Text.write(): error with argument 1, "text" -  Function.text expected a string type, not bytes

I also print the type of bpy.context.window_manager.clipboard in the python console is str but I don't know why this problem occurs
my code
win = bpy.context.window_manager.windows[0]
    area = win.screen.areas[0]
    area_type = area.type
    area.type = 'INFO'
    override = bpy.context.copy()
    override['window'] = win
    override['screen'] = win.screen
    override['area'] = win.screen.areas[0]
    bpy.ops.info.select_all(override, action='SELECT')
    bpy.ops.info.report_copy(override)
    area.type = area_type
    clipboard = bpy.context.window_manager.clipboard
    bpy.data.texts.new('Recent Reports')
    bpy.data.texts['Recent Reports'].write(clipboard)

A few pieces of code that went wrong:
    clipboard = bpy.context.window_manager.clipboard
    bpy.data.texts.new('Recent Reports')
    bpy.data.texts['Recent Reports'].write(clipboard)```

I now find a solution is to modify the context to get all the information in the prompt,
def get_info_context():
    info_context = None
    for window in bpy.context.window_manager.windows:
        screen = window.screen

        for area in screen.areas:
            if area.type == "INFO":
                info_context = {"window": window, "screen": screen, 'area': area, "regions": area.regions}

    return info_context

info_context = get_info_context()
bpy.ops.info.select_all(info_context, action='SELECT')
bpy.ops.info.report_copy(info_context)
bpy.ops.info.select_all(info_context, action='DESELECT')
clipboard = bpy.context.window_manager.clipboard

So you can get！


Images as planes in Solid View Shading I was wondering if there is any way to load images as planes in a way that they are visible in solid view to use as a reference.
We know that loading images as planes make them easy to scale so it helps when we want to use those images as reference for modelling or sculpting. The problem is the texture is no visible in solid mode where modelling or sculpting is easier.
Loading the image as a reference is not as easy to manipulate.
If there is no way to do it at the moment is ok, I will just add a request in the Right-Click Select Discord Channel.
Bonus question. Is it possible so see through the back of an image as a plane or reference images so it doesn't interfere when we move the around the viewport looking for another point of view? I am thinking that setting up the mesh we are working in as SHOW->In Front could be a possible workaround.

Before any requests read the manual on using images in empties.
https://docs.blender.org/manual/en/latest/modeling/empties.html?highlight=image%20reference#image

If you want images as reference, don't use images as planes, use Add > Image > Reference.

This tool allows you to create an empty with an image associated with it, that ist is visible in Solid mode. It is not really an object with vertices or faces, and it will not render in the final image. Such image will appear in front of the geometry.
To have an image that shows behind the geometry, then use Add > Image > Background
You can always change how the image is displayed:

To resize the image to an exact size use  the Size controls for the properties of the empty.

Or use the sliders for scale to change the aspect ratio in whichever axis you need.

Images as planes is meant to be used when you need a plane with actual vertices and faces, that has an image mapped into the material.


How do you download Blender 2.79 This is Yusamac205. I have been going through all of these different links that are supposed to download Blender 2.79 beta. But am unable to do it.

Here are the links I have tried, with the explanation why they do not work:

https://builder.blender.org/
This site even tells you that you will be downloading Blender 2.78

http://download.blender.org/release/Blender2.79/
This site says that you will download Blender 2.79. But when I download it, it shows Blender 2.78.

https://developer.blender.org/
This site is confusing and does not seem to have any Blender 2.79 downloads.

https://miikahweb.com/en/blender/builds
Does not have anything beyond Blender 2.71.

http://graphicall.org/
This site does not provide Blender 2.79.

Where can I get Blender test builds?
I got a lot of the links that do not work from this question.

Find and Install Current Blender Release
None of those links work either

A release candidate can be downloaded at  https://builder.blender.org/download/

From the release Notes:

  As the 2.79 is an important release before the transition to the 2.8 series, please help Blender by testing the available builds and reporting possible issues.

  Compatibility Warning

  When using add-ons in Blender 2.79 that take advantage of the new data-block pointer properties, the resulting .blend files can't be opened in earlier versions of Blender. Attempting to open such .blend files in Blender 2.78c and earlier may crash.

Where should I report bugs? Read this


Could not create a merge face As shown in the picture, I've selected five vertices and pressed the F key. But every time I do this, Blender always said "Could not create a merge face."

You have two faces already.

You cannot create a face from that faces using  F .

I tried to dissolve the edge but no luck.

My solution:

Subdivide that edge and delete the vertex.

See the image below:


creating more than 20 render layers and connect them to different scenes I'm trying to render an animation simultaneously from 32 points of view and integrate the result in a composed animation.

I followed this answer:
How to create a render layer in blender python

and this one:
How to combine renders from multiple cameras

However using:

basescene=bpy.context.screen.scene
for i in Hs:
 for j in Ws:
   bpy.context.screen.scene=basescene
   bpy.ops.scene.new(type='LINK_OBJECTS')
   newscene=bpy.context.screen.scene
   newscene.name='scene_h_'+ str(i)+'_w_'+str(j)
   new_render_layer =  scene.render.layers.new('rl_h_'+ str(i)+'_w_'+str(j))
   newscene.render.layers.active=new_render_layer

Each scene render.layers.active is equal to:

 bpy.data.scenes['scene_h_0_w_4'].render.layers["RenderLayer"]

Or in other words, whatever scene is selected the following is true:

bpy.context.scene.render.layers.active.name == "RenderLayer"

Also the scenes would always miss only the last render layer created

 e.g.   rl_h_0_w_4 not in scene_h_0_w_4 but scene_h_0_w_4 in scene_h_0_w_5

How can I associate each scene to a different render layer and compose them in the final scene?

Actually there was a typo.
The following script creates a new scene and a new render layer making it the active one for that scene

for j in range(N_PERSP_x):
   bpy.context.screen.scene=basescene
   bpy.ops.scene.new(type='LINK_OBJECTS')
   newscene=bpy.context.screen.scene
   bpy.context.screen.scene.name='scene_h_'+ str(j)+'_w_'+str(j)
   new_render_layer =  newscene.render.layers.new('rl_h_'+ str(j)+'_w_'+str(j))
   newscene.render.layers.active = new_render_layer

You can check the results with:

for scene in bpy.data.scenes:
   print(scene.name,scene.render.layers.active.name)


Knife Tool is stuck to the origin of the geometry of the object The Knife tool is stuck to the origin of the object. I hover all over the vertices and edges, and nothing. There is nothing inside of that object, no hidden vertex, it's literally the origin.
I tried it on all of my objects in the file, and they all have the same problem, but when I open a new file, the Knife Tool works just fine. I can't find the answer anywhere else, so the only way to continue is to copy paste everything I have in that Blender file to a new one in order for it to work again.

System Information

Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 1060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 457.30

I am using Blender Version 2.91

Your View clipping range in the 3D View in the 'bad' file, is enormous, so the depth calculation for point-picking in the viewport is beyond floating-point resolution.
In the 'View' tab of the N sidebar, set the Clip Start and Clip End to values that are enough to comfortably accommodate your scene, but no more.
A visual clue that this is happening is 'shards' appearing in shaded surfaces, like Z-fighting, even though the surfaces interfering with one another are not coincident.


Blender 2.8 pausing animation render Is it possible to pause rendering in blender 2.8? I have a laptop with a 1050 TI and it takes a good while to render stuff.

While you can't really pause it, the best practice is actually to output the individual frames as single images. That way, if the process needs to be stopped, you can resume it from the last rendered frame.

To do that, go to the Output menu, in the Output Properties tab, and set the File Format to an image format of your liking. I'd recommend that you also create a dedicated temporary folder to house the raw frames, and instruct Blender to output the images there.

Once all the frames have been rendered, you can proceed to converting them to a video format. To do so, open a new instance of Blender and, in the Video Sequencer editor, click Add > Image/Sequence then select the previously rendered frames. Set the animation playback's start/end frames to match those of your image strip. If you want to, in the dropdown menu in the top bar, select Sequencer/Preview and check if the animation is in order.

Finally, in the Output Properties tab, select a video format, a suitable Output location and click Render Animation. Blender will then convert the image strip into a video.


Why does it open my old project every time I create new file after reinstalling Blender? Every time I create new file this file keeps opening:

I would guess you've had that project open, deliberately, since installing the new Blender? If so, you've probably pressed Ctrl+U, which saves the opened file as your start-up scene. You'll need to delete all objects and set it up as much as you can remember like the normal start-up scene, then press Ctrl+U, and say "yes" when it asks you if you want to "Save Start-up Scene."


Cycles render starts black and then renders as white When I go to render my project; the render preview starts off black, and what is rendered is just a solid white. I've let it render until it's finished just to be sure, but it is in fact a blank white image.

I've started a new render so that I can provide an image of the problem:

https://drive.google.com/file/d/0B4v-GkVPDQUQVXZfRWd6TEU3Tzg/view?usp=sharing

Here is my project file from my google drive: https://drive.google.com/file/d/0B4v-GkVPDQUQaHdtdWU5RGVsa0E/view?usp=sharing

You are viewing the rendered image in the Alpha mode, so it's showing you the transparent data. To toggle back to the Color view, select the checker-board icon in the image viewer:


How can I export curves(nurbs) to AutoCAD without converting to mesh? I have some curves (nurbs) in blender and I want to use them in AutoCAD the same way as same curves. However, when I export the file as .fbx or .dxf and open in AutoCAD, the curves are converted to meshes.

How can I preserve the state of these when exporting? Is it possible?

The OBJ exporter supports import/export nurbs curves natively.
Otherwise you could find a list of all formats autocad supports, then see if there is support within blender for any of these formats (as 3rd party addons for eg, perhaps shapefile for example).


Animation Node "Math node" I am using Blender v2.78.4 and i am using animation nodes but when i am searching "Math node" .. its not showing. Please help

Click Shift + A and go to "numbers" in the pop-up and then you will find "math" as a node there.


How to make an object point in the direction that it's going? Im making a car animation in blender, and animating it around turns by hand is a real pain. I am wondering if there is a way to make it automatically point in the direction that it is moving?

For example: If I made it turn a corner, then it's front would rotate to continue pointing forward relative to the motion of the car.

You could try using the Follow Path  constraint.

Add a path (ShiftA> Curve > Path)

Select the object you wish to animate along the path and add a Follow Path constraint. Select the curve path as the target:

You can quickly setup the path animation by pressing Animate Path

Enable Follow Curve to make the object face the direction it is moving in:

For more precise animation of the speed along the path, keyframe the Evaluation time in Curve > Path Animation:

Note that if you have animated the path by pressing Animate Path, you will have to remove the generated F-modifier in the Graph Editor to be able to keyframe it.


Cycles Not Rendering Specified Samples I set my render to sample 800 samples.

When I look in the corner while rendering it only says 510 and has LOTS of pixelation.

I've never had this problem before.

You appear to have a per-renderlayer sample override limit set in Properties > Render layers > Layer:

To avoid this, either set the sample override to 0 in the appropriate renderlayers, or tell blender to ignore per-renderlayer sample overrides in Properties > Render settings > Sampling:

Note that you have Square Samples enabled. This means that blender will use the number of samples you specified2. The total number of samples is displayed below:

(TBH I don't really see the point of this feature..)

Also 500 bounces are almost never needed. Higher numbers of bounces give diminishing returns, and I doubt there will be much visual difference between 6 bounces and 100 bounces in a fairly diffuse scene such as yours.


circular array trouble Trouble with circular array. I get a line array, even realative offset are set to 0, se pictures.
I have tried to look at several demo of how to do, but I do not get the right result. A week agoe this work fine, so what combination I have press on keyboard....
I have 3 screenshot of this.   First are a box and a empty. Second array modifier realtive offset, and third cirucular array where empte turned 60degrees. Can anyone help?

just in edit mode rotate the cube 60 degrees


What is the best way to learn Blender? I have no prior experience with graphics at all. I only found Blender useful and interesting, and as a result, started trying to make use of it.

I want to master skills like modeling, animation and texturing.

What will be the best way to learn and master this very good tool? Are there any resources that would be useful?

As a beginner myself, I think the best way to learn blender is by trying to model something you find interesting. That way, you're going to know what you want to do, and then know what tutorial you should search on the internet.

Because only following tutorial from chapter 1 to end is going to be boring, if you don't know what you want to make or project based.

Just try to model something, and when you don't know how to do what you want to do, google it. I've come pretty far compared to when I was starting by using this method.


is "Sound Bake" node here in 2.1.4 Animation node I can't find find Sound bake node in 2.1.4 do you know if it an other name or is just not here for now ?
thank's, have a good day

You can't bake sound anymore, bc. you don't have to. Sound input is now live. It's a bit tricky, bc. it's not directly a node.
Go to the VSE, drop a sound file wherever you want (meaning the start frame).
Back in the AN SHIFT A -> sound -> sound from sequence.
From there it gets processed in realtime, no more baking required.


Newish to Blender and desperatly need help with textures So I've had Blender for about 1.5 months now and have been playing around with it. With a friend we have decided to make a third person tank game so he is doing the coding while I'm doing the art.

This is the first tank I've come up with, rigged and all, and am pretty happy with how it turned out. However, as soon as I try to do any texturing whether it be jpgs or even Poliigons texture files I just struggle so hard with making it look good. As far as I've gotten is give the mud flaps and side panels a weird looking camouflage. Ideally, I am hoping to texture it to a similar standard that the model is rather than a primary schoolers colouring in book. Any tips and tricks or even links to useful videos would be amazing. Thanks to anyone that comments.

These tuts might be helpful https://youtu.be/eiDrRa6JvQ0 this next tut is spread across several videos it covers modeling to render just pick the one(s) you want https://youtu.be/XVA8CYC9z2o and if these don't work try googling it. Hope you have success -- triplex


Export stl without applying boolean operation I am using Blender to make models for 3D printing.  I always export my .blend files to .stl files and import into MakerBot.

Lets say I'm making a model with two cubes that I want to glue together with a boolean "union" operation.  A very common pattern I've found is that I want to save my blender file with the two cubes separate, but every time I want to make an .stl file, I need to first apply the boolean operation, export as .stl, then close blender without saving.

Is there a way for me to export the .stl file as if I've applied the boolean operation, but keep the .blend file with the operation undone?  thanks.

Keep the modifiers in the file without applying and choose Apply modifiers in the exporter options , this way the exported objects will have the modifier applied but the original will not.


Knowing the angle of the camera This is a newbie question, but I want to do several scenes with the camera placed at a specific angle to the object (assuming the object is placed on the grid). I can't find any settings for the current angle of the camera. I need to know what position it is in for the next blender file I create.

So how can I position the camera at exact location for different blender projects / files?

Thanks!

With your camera selected open the properties panel (N) and take a look at the top part, the Transform section.

Here you can see, and change, the exact location and rotation of your camera. (Or any active object, not just the camera.)

You can get to the same information my going to the Object tab of the properties window, I just prefer to stay in the 3D view.

So for your two scenes, you can simply pick a location and orientation that you like, then copy the transformational values to your other camera.


"Loop Cut and Slide in blender 2.80 beta? https://www.oreilly.com/library/view/learning-blender-a/9780133886283/ch06lev2sec21.html

Ctrl+R command exists, I have also found this command in Preferences.

But where is it and its panel in the general window? It seems all the screens and tutorials are too old

You can find this tools inside the Tool Shelf, in edit mode

Hope that helps.

Good Luck


Select random by loose parts I have the following mesh. It are a series of hexagons on placed on a plane.

No I try to select random hexagons to give them an other material. I know there is a select random function but that only works on vertex, edges and faces. I try to do it by loose parts.

Is there an option to do this?

To select hexagons randomly as in your case, you must use the random function with vertex, edges or faces.

Then simply press " CTRL and  L " as mentioned Duarte.

Or press several times  " CTRL and  Numpad  + "  to add all part of the hexagons.


Exporting bones; transformation of quaternions necessary? I'm writing a small addon to export armatures and actions to an in-house rendering engine. The rendering engine uses a traditional OpenGL-style coordinate system, with +Y representing UP and -Z representing FORWARD.

Bones in the in-house system store a location, rotation (quaternion), and scale, so I'm exporting to this representation directly. In the addon, I'm using Blender's standard axis conversion functions to transform positions to the target coordinate system. However, my mathematical understanding of quaternions is somewhat weak and I'm not entirely sure if I need to be transforming quaternions too.

While I understand that quaternions do not have "handedness" or anything like that, I do feel that, for example, a quaternion that represents a rotation around the Z axis in Blender probably needs to be transformed so that it represents a rotation around the +Y axis in the target engine. Does this seem correct?

If some sort of transformation does need to occur, is there anything already in the standard API to facilitate this? I'm unable to find anything (possibly because it's not there, possibly because the transformation isn't actually necessary!).

The answer is yes: The quaternions do need to be transformed. If a quaternion represents a rotation around an axis in the source coordinate space, then it's inevitably not going to represent a rotation around the "same" axis in the target coordinate space if it isn't transformed.

As to how to do this in Blender:

Convert the quaternion to an axis/angle representation using the built-in API functions.
Transform the axis using the standard axis conversion functions that are supplied for vectors.
Convert the transformed axis/angle back to a quaternion using the built-in API functions.


Why is this line appearing across my procedural material? I have tried to texture an orange with the shader editor after uwrapping the object, and I got this strange trace on the mesh:

I want to make it disappear but I didn't find any issue. I have tried merge by distance but it doesn't work.

This is the link of the .blend:

Usually, its not necessary to do UV unwrap for procedural textures. Try setting the texture coordinate node to OBJECT and see if it still shows that trace.
Edit : I downloaded your Blend file, but there is no line appearing in the viewport.
Not even in the render (Cycles) :

(The light is a bit weird btw)


Forward Vector in Blender (python) How to determine forward vector in the blender? I mean similar to transform.forward in Unity game engine. Could anyone provide guidance? Thank you in advance.

To express some object's local y axis in world coordinates you just multiply a (0,1,0) vector with the object's world matrix:

import bpy
form mathutils import Vector

ob = bpy.context.scene.objects.get("Object")
forward = ob.matrix_world * Vector((0,1,0))

If the object has scale and you need a vector with unit length, you also need to normalize the result.


How can i add texture with a realistic fabric look to my mesh? I've created a mesh in blender and am trying to add a material in a way that will give the model a realistic fabric look.

I added a material with an image texture, but the model looks very smooth and unrealistic far from a cloth like/fabric look.

Please how can i achieve this? (is it the image am using or i will have to update some properties in the node editor?)

Secondly, the end goal is to export the model as .obj/.mtl file and import/render it in an AR app using opengl es, so the key is to be able to retain the look in the app, please which method/approach is the best....how do i go about it?
Thanks.

There must be a lot of solutions to make a fabric material but here is one that doesn't look too bad:

First find a fabric texture and make it tileable, if it's not already. Convert it to a Normal map and a Specularity map with a software like CrazyBump or else.
Build your node organization as below.
Increase the Scale in he Mapping node so that the texture is repeated.
Mix a Diffuse with a Glossy, use the Specularity as factor, it will make the threads shine a bit.
Plug the Normal map to both the Diffuse and Glossy to give a bit of 3D relief to the whole thing.
Then, as a fabric might shine a bit like velvet, bring a second Mix shader and use a Fresnel.
Now you just need to plug your colored pattern in the yellow socket of the Diffuse.


How can i stretch my UV map? I'm trying to stretch my uvs so they fit within the texture, however, I can't find a way to do it... i can only resize my uvs
i could stretch them manually but I'm trying to find an easier way

This is what I'm getting after resizing the image and re-importing it to blender

This is what i want to achieve by stretching my uvs, i just don't know how .
( yes I'm quite new to blender )

In the header of the uv editor you can set the pivot point to your 2d cursor and then place it on one of the right vertices; scaling on the x axis should give you the stretch effect you're looking for


Animation object position..origin point, proper pivot Can someone please tell me a better way to keep objects aligned when animating them. What i'm currently doing is moving the cursor and the origin point to a vertice at the corner of the object and pivoting from there  and every time i run the animation the lid is slightly off its axis and i have to realign it. How do i make sure it stays aligned after running the animation?.

This might be a long way of doing it, but you can type the exact position of the xyz locations and rotations for each object.
As these are in a straight line, technically two of the locations should be identical for each object, and the rotation should be the same for all of them.
So find one that's in the correct position, then copy paste the location and rotation to all the others. You'd only then need to alter the x or y (not sure from the screenshot) of each to space them out.
That's how I'd do it but maybe there's a better more efficient way.


What is the difference between using emission and bloom effect? I understand emission gives your objects a glow and if mapped, it can glow any color you want with any intensity you want.
Bloom seems to do the same thing to your base color except it's much easier.  You don't need to create an emission map, just turn the bloom on and you seem to get the same results.

The one with the Bloom is a little brighter.  I don't understand is this a stacked glow effect?  Emission is already suppose to glow, but Bloom gives it even more glow.  So I guess when you're making the Sun, you should have both on max?
Also is there a point in having a base color if you're using Emission?

Bloom and emission are two completely different things.  Let's talk about Eevee, since that's what you're probably using (since implementing bloom in Cycles requires the use of compositing, with behavior that depends on the precise way that you implement the bloom.)
Emission just says, write this color to the screen.  That's all.  It doesn't get lighted/shadowed.  It doesn't care about the surface normals.
Now, what happens to the color you tell it to write to the screen depends on your color management settings (and a few other things.)  Let's say you're using a raw color transform.  What happens when you write a color like 2.0, 1.0, 1.0?  Your monitor is designed to only handle colors in the 0,1 range.  So it clamps the output, and even though 2,1,1 is a pink hue, you still get white output.  Because once you clamp the output, you just have 1,1,1 white.
Except, you're unlikely to be using a raw color transform.  Standard, filmic, etc are designed to tone map colors outside of the 0,1 range into colors inside the 0,1 range.  (This comes at the cost of some color fidelity.)  So you're going to see a reduced impact of clamping overbright pixels.  Still some loss of hue.
What's the point of having both emission and base color on a Principled BSDF?  You're just adding the effect of the Principled, a combination of diffuse and specular on default settings, using the base color as the diffuse and the base color's value as the specular, to the effect of emission.  Is that something you should ever do?  You risk losing energy conservation, although that's not an issue with Eevee.  Otherwise, sure.  Think about a very dim lightbulb next to a very bright lightbulb.  The dim light bulb may both be emitting light and reflecting light from its brighter neighbor.
Okay, so then what's bloom?  It's clear that using plain emission, especially given the limits of our monitors, isn't enough to give us the perception of very bright light.  Bloom is designed to give us that perception.  It does it by first drawing the screen, subtracting a grayscale value from each pixel (the "threshold"), then blurring the output, and finally adding that darkened, blurred output back into the original screen.  (Finally, of course, it runs the whole thing through the color transform, in order to get it back into the 0,1 range.)
This creates an aura around bright objects.  Notice also how it interacts with the clamping of colors.  2,1,1 gets clamped to white.  But if it's on a black background, some nearby pixel might get half that color from the blur: 1,0.5,0.5.  So although the emitter gets clamped to white, the nearby pixels appear pink nearby.
It's not necessary to run bloom on your basic screen output, although that's how Eevee was designed to do it.  A common alternative is to render an emission render layer and only bloom emission.  This would make more sense to you once you start implementing bloom using compositing nodes instead of Eevee's out-of-the-box bloom.


Cycles, Ocean Modifier and Dynamic Paint I was trying to get multiple objects to float on an ocean in blender. I used dynamic paint (brush and canvas) for the first object and the ocean. I then copied the rotation and the and location to the object and it moved in the direction I wanted while also copying the movement of the waves for something more realistic. My issue is that I've only been able to successfully get the first object floating and I'm having a hard time getting the others to do so for the animation. Does anybody have any thoughts on this issue?

I saw your question a while ago and thought there was no fix as I was having the same problem but then I figured it out. Hopefully you have by now but if you haven't then this is how.

First I take it you followed this tutorial:

https://www.youtube.com/watch?v=11F1NRpqrzY&t=2s

It's really useful and shows you how to get an object to float using dynamic paint (brush and canvas) and then copying the location of the object you want in a moving sphere. The result is often good and very believable, he even includes how to get foam around a single object but he doesn't show you how to add more objects to your ocean.

You should watch that before doing anything

To answer the question you need to add more canvases. As you can see in my example I have many many canvases for a complicated scene in which a boat is towing equipment through the ocean

For every object you wish to float you must

1) Create another sphere like in the youtube video and place it so it's intersecting with the ocean

2) Add the sphere to a new group (ctrl G) (call it weight + object name)

3) With the sphere selected click the physics tab and select brush, make sure paint source is "mesh volume"

4) Add a new canvas to the ocean modifier by pressing the plus button next to your already existing canvases

5) Change surface type from paint to WEIGHT by changing (My examples say "surface weight"). Click on fade and turn time to 1

6) In Brush group select Weight + object name

7) In Vertex group make sure dynamic paint is outputting by pressing the plus

8) Select object you wish to float, go constraints tab then add copy location & copy rotation. and select vertex group from what you outputting in step 7.

Now you float.

You can add foam to the object in two ways, add your object that you have just made float to the same group as the object already floating, click physics tab and click dynamic paint -> add brush and the two objects will both have the same foam properties. Or you can add it to a different group and add ANOTHER canvas. Instead of changing it to weight you change it to paint.

Once you have your head round this you'll quickly be able to start using the wave and displace modifiers too which will add so much to your animation


Blur a mesh without nodes or cycles? I'm creating an Earth and it looks amazing! But the atmosphere still has sharp edges. I've created the glow but have had to make a transparent sphere around the earth to create another effect to symbolize distance. However, although this looks brilliant, I want the outer edges of the atmosphere/sphere to be blurred or feathered slightly. I don't know how to do this. I've tried in the compositor and shader, plus I don't want to use cycles as it will ruin all my current settings. Is there any way to blur a specific mesh/material in the shader, compositor or material panels without it effecting the nodes for everything else?

Here's a rendered image to help you out. From a different angle it looks great but it's just the atmosphere that ruins this angle:

Also, does anyone know how to darken the blue land of the night light map? It's very unrealistic to be seeing the land at night but I can't remember how I did it last time. Thanks in advance!!

This does not answer your question directly, but consider this as an alternatively way to implement a more realistic atmosphere effect. (With Blender Render)

Basically, you want to use the volume material type on a sphere, this gives you much more control over the density of the atmosphere, and you can tweak the density and colour without fussing around with blurring or nodes.

The following screenshot has all the settings you need to generate the atmosphere.

Blend File


Images Mapped to Planes Render White Feeble minded noob here.
My issue is with trying to map images to a set of faces.
Each one appears white, despite the image appearing in texture and material viewport shading.

I understand I need an Image which is attached to a texture and then to a material?
https://drive.google.com/file/d/0B0SOwCTySdtAZWdaaUN6emNvSWM/view?usp=sharingm
File.

Thanks guys.

while in Blender Render, when you unwrap your model, in UV Image Editor, toggle to edit mode, make sure you select all the faces by press A once or twice, and remeber to select there the image, so you can see the UVmap over your image. I've just done this and it worked.


Baking a normal map on to two (seemingly) identical cubes is producing different results I'm experimenting with baking normal maps. In my setup I've used the default cube with some notches cut out along the edges for the high resolution object (cube-high-res), and the default cube without any changes as the low resolution target (cube-low-res1). Things were going fine, but at some point I think I must have changed something on cube-low-res1, whatever it was it started messing up the normal map result. I brought in a new default cube (cube-low-res2) as the new target and the normal map produced good results again. To find out what happened I checked everything I could between cube-low-res1 and cube-low-res2 and found no differences in them. So my question is why are the normal maps generated between then different, did something happen to cube-low-res1 that is causing the difference or is it something else?

Here is a screenshot of my 3D Viewport and object hierarchy.

The objects shown from left to right are cube-high-res, cube-low-res1 and cube-low-res2. There is also a cage object (hidden from view) which is another default cube that is scaled by 1.01 on each axis and shares an origin with cube-high-res. Now, if I in turn bring in cube-low-res1 and cube-low-res2 and bake their normal map in the Scene properties (with Cycles), I get the following two different results.

The left image is the result of baking on to cube-low-res1 which is the messed up result. The right image is the result of baking on to cube-low-res2, this result seems to be a good normal map.

To ensure alignment while doing the baking I've set the origin on cube-low-res1 and cube-low-res2 by choosing Set Origin > Origin to Geometry, I make them coincide with cube-high-res by opening the Snap Menu (shift+S) and choosing Selection to Cursor, like shown here

I've done the following checks between cube-low-res1 and cube-low-res2 to determine what can be wrong.

Both object have the same vertices (8), edges (12) and faces (6). And they have the same dimensions (2x2x2m). I.e. they are both the default cube.
Rotation and scale have been applied to both objects.
I've recalculated the normals on both objects.
I've UV unwrapped both objects in the same way. I.e. using Smart UV project with an island margin of 0.09.
All seams have been cleared
Both objects use the same material, and therefore also use the same Image Texture node in the Shader Editor
The Bake settings are the same, I've set these to Bake Type: Normal, Selected to Active: checked, Cage: checked and set to cage object, Extrusion: 0.1m

The Blender version is 2.82a

The two lowres cubes are not the same. You may have rotated them or changed the vertices in Edit mode somehow... Here are the vertices IDs shown using the MeasureIt Addon (also possible by enabling developer mode in settings somehow).

Also the UV unwrap are not the same either for probably the same reason. If you split the seemingly same quad face into two triangles, they appear at different positions in the UV, meaning the quad faces are in different orientations to begin with.

Finally, simply duplicating the first lowres and baking the texture with the dup produces the same result as its source.

In essence, you have to add proper UV's to your low-res geometry to avoid artefacts and you have to make sure that the dimensions of both geometries are roughly the same, then it will bake fine:


How to crop from Top & Bottom of Video I would like to crop a video strip from top as well as bottom in Video Sequence Editor.  When I tried by checking the "offset" check box and the "crop" box, I am able to crop from the top, but when I crop from the bottom the whole image moves. I do this in other video Editors but I could not figure out how it can be done in Blender VSE.
Thank you.

The easiest way to do this effect is to animate the Y offset in sync with the bottom crop.
So enable Crop and Offset and insert a keyframe with 0 value for Offset > Position Y, Crop Top and Crop Bottom where you want the animation to start.
Divide your video's height by 2 then go to the frame when you want the animation to finish and insert a keyframe at that same value for all three fields.
Done!


Subdivision failed on boolean-subtracted object I'm working on this project including a cylinder with holes in it. I've made the holes using the boolean modifier by subtracting smaller cylinders from the main cylinder. Here's an image of the entire object in case that helps to answer my question:

The object got lot's of edges that I want to smooth out using the subdivision modifier, but like a lot of you might know, this action will cause an action resulting in this mess:

I'm pretty sure the problem is caused by all the loose vertices around the holes that aren't connected to anything. Please speak your mind and tell me if I'm wrong.

I've tried to connect all the vertices between the holes, which resulted in a way better finish than before, but still not perfect. It takes forever to do so, and I end up with way more vertices than I need, so I'd prefer an alternative if possible. Here you can see the result I got, but be aware I haven't done this on the inside, so focus on how it on the outside:

I know you can just subdivide the cylinder before subtracting the holes, but then the holes don't get smoothed out. This was the solution answered to another question asked by 'user5199' on this link: Cutting Holes with Boolean Modifier Makes Subdivision Surface Impossible

That is, of course, a possible way to fix the problem, but I think there has to be a simpler way to smooth everything (incl. the holes) without destroying the object as shown on my 3rd image.

Any suggestions? Any experience?

It is not always efficient to use boolean tool when you are using subdivision. Subdivision demands good topology especially on curved even surfaces and boolean often needs cleanup afterwards. This is how I do it.

Enable the LoopTools add-on.

Create a cylinder with sufficient amount of faces to hold your holes without deforming too much. Divide your cylinder so that faces are square and even.

Select at least a square of four faces (2x2, 3x3 etc).

Run Specials menu (w), LoopTools, Circle. This will make the circles perimeter to be arranged in a circle. Make sure to uncheck the "flatten" option (you will want the circle to be curved on the surface).

Inset the selection a tiny bit to create a support loop around the hole and then delete the inner faces.

Add a solidify and a subdivision modifier and configure then to your needs.

Add other needed support loops and delete unneeded loops. If you need you could apply the solidify modifier and add extra support loops on the rim.


How disable/enable an Output File Node from python? I have the next composition that I render from Python. How can I disable/enable the rendering of a specific node?

Thank you.

You can set the mute flag of the Node to True.

import bpy

scene = bpy.context.scene
compositing_node_tree = scene.node_tree
compositing_node_tree.nodes['File Output'].mute = True

Alternatively you can just call the bpy.ops.node.mute_toggle() operator within the compositor.


Is there really a way to make a true toon shader material in Cycles? Is there a way to make a true toon shader material in Cycles?

Here's, in order of importance, what would be ideal to find in such a shader:

Must use Cycles
Must be an actual shader
Must not rely on lighting
Must be independent of camera position
Must react directly to lighting rather than manually having to change it to emulate it
Should be easily made into a node-group
Should have the following configurability:

Main color
Darkness color
Shadow depth (how far the shadow goes from the unlit side)

Below, I'll be listing some already-found methods and their flaws:

Cycles's Toon BDSF:

Source: Blender

Result:

Node setup:

Cons:

Not a clear-cut two-color shading
Reacts to diffusion of surrounding objects

Mask & Ramp:

Source: Blender StackExchange

Result:

Node setup (Compositor):

Cons:

Very grainy
Does not support colour textures
Not easy to change shadow depth in a nodegroup
Not a material, requires compositor
Requires use of object indexes

Shadeless Fresnel:

Source: NixArt

Result:

Node setup:

Cons:

Uses camera's direction
Ignores lighting
Not easy to change shadow depth in a nodegroup

Shadeless Normal:

Source: NixArt

Result:

Node setup:

Cons:

Ignores lighting
Direction of shadow is manually changed
Not easy to change shadow depth in a nodegroup

However, this one is easily the best one. It's pretty great, and would work still images very well.

That's all I've got. Does anyone else have any methods that fall under most of the criteria I listed above? Also note that OSL is totally fine, if it works.

OSL + Solidify (Irie's Technique)

Results:

Pros:

The toon shader has seven customizable parameters for creating many different looks
Edge strokes taper off with a natural look, like hand-drawn strokes
It renders quickly
It responds to lighting (can be lit with lamps)

Cons:

Some additional geometry must be generated to create the outlines
It won't look right if you make the outlines too thick in the modifier
The toon shader does not react to emitter meshes or other non-lamp light sources

Download here.

This technique I found demonstrated on BlendSwap by Shinsuke Irie is pretty clever. It uses OSL to get the shading, so make sure you have OSL enabled if you append this into your blends. Also you will need to make one edit to the "toon.osl" script because Blender's code has changed since this file was published: speculartoon() closure has been renamed to glossytoon() so just find and replace that text, then refresh the Script node.

The outlines are generated by a Solidify modifier that has its normals flipped (is back-facing). This part is kind of hackish, but looks good because the strokes taper off to a nice sharp point. You can adjust the edge thickness by adjusting the Solidify modifier's Thickness slider, but only a little, as changing this too drastically gives strange results.
The object uses both a "Skin" and "Edge" material to achieve the end result. The outline color can be changed in the "Edge" material.

Of course you can decide to use Freestyle instead of the Solidify technique, if you prefer.

Note that with the Solidify technique edge thickness is local to the object, but it could be linked to camera distance via a driver so that strokes remain the same thickness even in close-up shots. (This is the case for Freestyle as well.)

A look at the customizable parameters in Irie's toon shader:

Conclusion:

This technique can produce very pleasing results! The way edge strokes are generated is a bit unconventional, but it's worth taking a few minutes of studying the .blend to understand how it works. At first I had apprehensions about using a technique that requires a Solidify modifier since extra geometry must be generated, and I wasn't sure if it would cause issues with the deformations of rigged meshes. But then I found this video demonstrating this technique used in production on an animated character and I am convinced this is the best way to do toon shading in Cycles at this time.


Is Blender going to optimize RTX cores? Right now blender can be used with RTX cards but they are not as optimized and are not using the RTX cores to there full extent. Will this change, am i wrong? If anyone has info on how this new tech works with blender help out.

There is now an option to render using OptiX, which renders in Cycles on the GPU using the acceleration of RT cores in the latest RTX GPUs. Most recently in the Blender 2.92 update, OptiX has been modified to render with both the CPU and RTX GPU combined.


How to connect mix RGB with Noise Texture nodes I got a set up of nodes which I'd like them to connect with the noise texture so my object can has the ability to have noise and also control the colorRamp.

If you just want to cover the texture in noise, just combine it with another MixRGB node:

If you want the noise to also affect the surface, just connect it to the Bump Node. I mixed it with white first so the effect is not too strong:


How to create a flat mesh and give it a thickness by bmesh? I'd like to create a flat mesh and give it a thickness by bmesh.
Putting together some answers seen on this forum, I thought that a script like the one below should have done the work, but it doesn't. How to make it work?

import bpy
import bmesh
me = bpy.data.meshes.new('theMesh')
ob = bpy.data.objects.new('theObject', me)
bm = bmesh.new()
bm.from_mesh(me)
ob.location = [0,0,0]
ob.show_name = True
bpy.context.scene.objects.link(ob)

#Create the mesh (in this example a very simple 4 verticies mesh)
#=======================
l=1
w=1
h=1
vertex= [0 for i in range(4)]
vertex[0] = bm.verts.new( (-l/2, -w/2, +h/2 ))
vertex[1] = bm.verts.new( (-l/2, +w/2, +h/2 ))
vertex[2]= bm.verts.new( (+l/2, +w/2, +h/2 ))
vertex[3] = bm.verts.new( (+l/2, -w/2, +h/2 ))
for i in [0,1,2,3]:
    bm.edges.new( (vertex[i], vertex[(i+1) % 4] ))
bm.faces.new( (vertex[:]) )
#========================

# Add thickness
bmesh.ops.solidify(bm, geom=[f for f in bm.faces], thickness=-h)

bm.to_mesh(me)
me.update()

The script runs without errors, but the thickness doesn't appear.

Note that if the flat mesh is created by create_grid the script works.

#Create the mesh
#=======================
bmesh.ops.create_grid(bm,size=1)
#=======================

I tested the script and it created some additional geometry, so i added these two lines

for face in bm.faces:
    face.normal_update()

before calling the bmesh operator and it worked for me


Why are blender console and info window values different for the same object? I tried to find out what armature.bones.head and -.head_local stand for.
So I first get the values of them first from upperArm.R

      C.object.data.bones['upperArm.R'].head
      Vector((-0.14598365128040314, -0.014478057622909546, -0.002403122605755925))

      C.object.data.bones['upperArm.R'].head_local
      Vector((-0.1459999978542328, 0.0010000000474974513, 0.43689292669296265))

I open the property panel, the head position is
-0.146,0.001,0.437
which is the same as the head_local.

All right.  But when I click the Z property, the infor window showed that
bpy.context.object.data.head[2] = 0.437

So who tell the truth? 0.437 comes from head or head_local. Two part show two different answers.
Can anyone help in this?

You'll notice that the property window only shows three decimals of precision.

If you round 0.43689292669296265 to three decimal places, you get 0.437.
They're both accurate, but one is more precise than the other. If I were you, I'd choose the one that's more precise. Note that you can put the very long number into the field in the property window, but it'll get rounded.

In short, always choose the referenced value, not the displayed value. The interface is getting a number from somewhere, and then formatting it for display to the user. Instead of using a value that's being modified to fit nicely in a field, you should reference the same value that the interface is referencing.


Why doesn't everyone use the 'Auto Tile size' add-on? I have been watching tutorials and behind the scenes VFX with Blender, some very experienced artist seem to manually change the tile size depending on GPU and CPU.

However I am confused, why do they do this if there is a Blender Add-on (since 2.74) that Automatically finds the size for you. Why would they not use this add-on?

Is the add-on accurate?

Some tutorials were created before the addon.

People don't know the addon exists or just forget to enable it.

Old habits die hard, adjusting the tile size was an option you learned to adjust when starting to learn cycles. This would be the main reason more experienced blender users keep doing it manually.

I'm sure if you asked the tutorial creators, they will answer the same, and I doubt anyone will tell you the addon is inaccurate or no good.


Is it possible to export a sequence .abc (Alembic) files and then reimport it with the Mesh Sequence Cache modifier? I have a object that changes geometry each frame.
Now I want to cache the mesh because the framecalculations are quite slow.
My idea was to export the frames to separate Alembic files so that I can reimport them using the Mesh Sequence Cache modifier with "Is Sequence" enabled.
But when I do this only the first frame of the sequence is showing.

This tutorial on importing Realflow Simulations suggests that the import of .abc files works in Blender 2.79. So my guess is that I do something wrong while exporting the mesh.
Are there special export settings for exporting individual frames of a sequence or is it currently not possible to export Alembic sequences with Blender?

"Is Sequence" is used when you have multiple Alembic files that are numbered in sequence. To export & import an animated mesh you don't need to use that. Just make sure your frame range for the export is set correctly.


Symmetric procedural material I've modelled a shape which is symmetric along z axis. I used material and some texure with generated coordinates plugged in displacement node. Everything is distributed evenly on the mesh.
I would like that material is also mirror image along z.

So that a procedural texture on one side of z axis
is the mirror image of other side of z axis.

How to achieve this with nodes?

Mix Color

First step is to mask out the surface's point that be affected by the flipping of the coordinates.

In order to get the reference needed we should start by adding a Texture coordinates node and pick the Object coordinates
   type (if you are interest in the local Z)

Then add a Separate XYZ to get the Z component of the coordinates and filter out the values greater than 0 with the help of a Math node

If the origin of the object belongs to the simmetry plane, all we have to do is to flip the input coordinates (Generate type in the shown example) with a Mapping node (notice the -1 value for the Z scale parameter) and mix them with a Mix node whose inpuct factor is the mask we created before.


How can my shrinkwrapped clothes stay on top of my character's skin when I animate? I have been using Blender for 2 weeks now. I have never done 3d animation before but I have been doing 2d animation since 2004. I manage to grasp a lot of the stuff in Blender (or 3d in general) like modifiers, meshes, IK and stuff. My problem is I have created clothes for my character, when I animate the guy his clothes start tearing apart in random places.

The shorts where made by selecting regions of his legs and then I duplicated them into a new mesh (shift D or control D or something). The "shirt" was made using bsurfacing starting from a single vert.

Neither object has cloth modifies (cause I'm not sure how to do that and not get problems) and there is no gravity on the garments (I don't think I want it) and neither garment has a collision on them.

Is there a way to make sure that my shrinkwrap modifier continues to hover on top of the guy's body/ flesh mesh without exposing his skin?

In the picture I have also show that the guy has a beard, I made that using a separate mesh. The beard is not attached to his chin, how do I do that? It got left behind when I moved his head.

The circled places in the attached image also show the shrinkwrapped clothes being torn apart by the guy's body when I animate.

Please help me!

I think you have problems with Weights.
You can try transfer weights from character body to clothes: https://www.youtube.com/watch?v=stem2OPRAyA
About beard:
In object mode select beard, then armature. Press Ctrl + P and choose "Armature deform - With empty groups".
Then choose a beard, open edit mode. Select the beard and open data tab (on the left side of screen. It has the same label at your version of program. Find Vertex Group which is responsible for the head, choose Weight = 1 and click Assign.


How can I enable shading in texture mode? I've been looking for a solution for about 45min and I can't find it anywhere (on the internet too). In texture mode, the object has no shading and I can't recognize any shape, which makes it impossible to texture paint.

Solid mode:

The same frame in texutre paint mode:

Here's after following the tutorial. At the point, he had shading "on". I did the steps in the video with smart UV project, adding a material that way and so forth:

I've asked this question on a discord server where I got a one-line answer that solved the problem within 20 minutes.

Solution: Disable any overlays in the 3D viewport. When you take a closer look at some of the problem pictures, you'll find the overlays enabled. Here's what it looks like when they are turned off:


Why do materials & textures look different in material mode & Cycles render mode? I'm at a loss :/ My textures and materials look completely different in the Cycles render view vs. the Materials or Textures view. I'm confident there is a fairly obvious piece I am missing. I'm fairly new to Blender, but have not been able to successfully find another question dealing with this exact issue.

Roof faces were selected and then unwrapped/
Texture is a straightforward image texture.

What am I missing?

UV Wrap & Texture

Rendered View of the Roof

Material View of the Roof

Roof Material Preview

Cycles is not using the UV map.
add a Texture coordinate node and connect the UV output to the Vector input of your image texture.


blender game controling i would like to move my character by clicking on the ground ,and my character will move towards that direction instead of using keyboards. And how can i set to use my mouse to zoom in and out in the game using the mouse wheel  and rotate the view screen by pressing the middle mouse button and move .Something similiar to the game called runescape. And when i rotate my screen , how can i see through house , so that it wont block my view of the character.
Tyvm and pls help if you is able to.

is a great video for your problem. it does involve some python but that's mostly taken care of in the description.

http://www.youtube.com/watch?v=-IeNnw6zzvQ

if your character want to walk though walls and obstacles just to get to the pointer, you'll have to set up a more complex NavMesh.
this is basically a mesh that covers all the area that the characters have access to.


Solidify makes plane thicker outwards I would like to solidify a model I am making of a plate, to give it thickness.

Here's the plate:

After I solidify, here's what I get (I increased the values to show the effect):

Solidify makes the outer edge grow, but what I wanted was just to make the object thicker (along the Z axis).

It's hard to know what to look for, but I didn't see any questions that looked like this.

Am I understanding Solidify wrong, or just using it wrong?

Here's the blend file:

Nope, you're not doing anything wrong, that's the way Solidify works.  You can make it solidify in the other direction by specifying a negative Thickness or by adjusting the Offset.


Adding a 3d array (ndarray) as displacement for material output in blender python To the material output node, for the displacement value I wish to add an nd array. Example given below to understand:

import numpy as np
nval=np.random.rand(1000,1000,3)
mat=bpy.data.materials["mymaterial"]
nodes=mat.node_tree.nodes
nodes['Material Output'].inputs['Displacement']=nval

This obviously throws error at the last step since nval is an ndarray. I know I can add image texure to the displacement map which is 3 dimensional RGB normal map. But I wish to add my own ndarray as displacement map to my material output. How can I do this using python script.

You can only connect a node output socket to a node input socket, it isn't just an array.

While it is possible to create custom pynodes and be able to add them to a cycles material tree, they aren't fully integrated, mainly they fail to update properly. You can find a pynode template in blender's text editor.  The two main projects using pynodes are sverchok and animation nodes and you will find both of these use bpy.app.handlers to update their custom node trees.

You might find drivers to offer a better solution. It is possible to add custom functions to the driver namespace to give you more control.

You can add a driver to control any value that can be keyframed, right-click  a value and choose add driver, you can further edit drivers in the graph editor.


In Themes, why does 'Reset to Default Value' result in black? If you change a color in User Preferences > Themes, and then try to change it back to it's default by Right click > Reset to Default Value:

It just makes R=0, G=0 and B=0, (Black)! Why?

I know there is a 'Reset to Default Theme' button at the bottom of the Preferences window, but that resets the whole Theme.

As it says in this bug report,  there are some default values which are hardcoded into blender, and not read from the startup .blend  (which is what the Reset To Default Value operator does)

This is a known bug on the blender wiki todo list.


Python modifier error handling I have a simple script which performs Boolean union on multiple meshes.
I can manually trace modifier errors in the console and exclude meshes which leads to union artifacts. Here's the script:

import bpy
wm = bpy.context.window_manager
act_obj = bpy.context.active_object
union_list = []
for sel_obj in bpy.context.selected_objects:
    if sel_obj.type == 'MESH':
        if sel_obj != act_obj:
            bpy.ops.object.modifier_add(type="BOOLEAN")
            union_list.append(sel_obj)

k=0
union_list_len = len(union_list)
wm.progress_begin(0, union_list_len)

for mod in act_obj.modifiers:
    if mod.type == "BOOLEAN":
        print(k,union_list_len,union_list[k].name)
        wm.progress_update(k)
        mod.operation = "UNION"
        mod.object = union_list[k]
        bpy.ops.object.modifier_apply(modifier=mod.name)
        k=k+1
act_obj.select = False
bpy.ops.object.delete()
wm.progress_end()

Is there a way to catch Boolean modifier error in python and skip meshes which produce those errors?

Well the easy way would be to use a try-except catch

This would skip the meshes where errors happen
print their names and reselect them after deleting the rest:

import bpy
wm = bpy.context.window_manager
act_obj = bpy.context.active_object
union_list = []
passed = []
for sel_obj in bpy.context.selected_objects:
    if sel_obj.type == 'MESH':
        if sel_obj != act_obj:
            try:
                bpy.ops.object.modifier_add(type="BOOLEAN")
                union_list.append(sel_obj)
            except:
                print("\n"+sel_obj.name)
                passed.append(sel_obj)
                sel_obj.select = False

k=0
union_list_len = len(union_list)
wm.progress_begin(0, union_list_len)

for mod in act_obj.modifiers:
    if mod.type == "BOOLEAN":
        print(k,union_list_len,union_list[k].name)
        wm.progress_update(k)
        mod.operation = "UNION"
        mod.object = union_list[k]
        try:
            bpy.ops.object.modifier_apply(modifier=mod.name)
        except:
            print("\n"+sel_obj.name)
            passed.append(sel_obj)
            sel_obj.select = False
        k=k+1
act_obj.select = False
bpy.ops.object.delete()
wm.progress_end()
for obj in passed: obj.select = True

hope it helps, Teck-Freak


Texture Disappeared in Cycles Render When I selected the Blender Render, there is no problem with the texture. When I change the render engine to Cycles Render, all the textures are gone.

I already unwrapped the mesh and mapped the texture onto it.

Now when I render the image in the camera, I got:

What is the reasone to make the texture disappeared in Cycles Render?

Blender Internal and Cycles are two different render engines, each of them has it's own materials and shaders.Objects that have BI materials will not render correctly in another render engine, that includes Cycles, so you need to reassign Cycles materials to your objects.
Your objects unwrap has nothing to do with what render engine you are using, so the good news is that you don't need to unwrap again.


Blender 2.8 Subdivision Surface on planes not sharp with creases In Blender 2.79, creasing the corner of a subdivided plane generates the expected sharp corner:

When using Blender 2.8, I can't replicate this behavior without triangulating the face and creasing the third edge to the corner.

Adding a solidify modifier and creasing the rim sharpens the corner, but I don't always want to solidify the geometry.  Is there something I'm missing?

I found out that this is currently an open bug in 2.8 according to this link: Blender Bug Tracker - Round corner in edge crease of subdivided surfaces


How to get my [solid mode] object OUTLINES back? I don't know how this happened, but suddenly, my OGL object outlines (in object mode) are now gone. This makes it difficult to see object edges when they are placed adjacent to other objects. I need the object mode outlines back, but HOW?

There are a couple places you can enable outlines. The first is within the viewport, to highlight selected and active objects. You can find that option here:

The other is in the object properties, here:

Enable wire to see the black edge outlines regardless of selection. Enable "Draw All Edges" to display all edges, whether coplanar or not. By default, coplanar edges are not drawn.


Plane is backward on right Orthographic view I keep rotation it but my place is alway backward on Right O view. It is front on the left and I do not know how to fix this... I am using blender 2.8

Press Ctrl+Numpad 3 to show Left orthographic view.

Likewise you can access Bottom view by pressing Ctrl+Numpad 7

For Back view press Ctrl+Numpad 1


In blender 2.9 how do I get freestyle to ignore transparent materials on a vroid character I'm doing a more anime style animation and I'm using vroid to help with anime characters but it uses transparent materials for the eyebrows and eyelashes. Obviously if I'm using vroid for anime characters, I'm going to use freestyle, or the other method I forget its name, but it sees them has a mesh and no tutorial I look at mentions how to solve this problem, which is odd since you know anime has outlines.
So I need help figuring out how to make freestyle ignore or go through them or if theirs an add-on that does that. Please use pictures or video as I'm still new to blender.
Also, I'm going to use the eevee engine.
This is what it looks like when I render it.

You can put the object you don't want to have freestyle lines in a separate second collection.
Then you can make a second Freestyle Line Set, and as the Collection choose the second collection and click the button Exclusive next to it.
Now all the object in that collection will be ignored when rendering freestyle lines.


Giving Mesh thickness with additional requirements I have some meshes that are parts of hallways with different crossings but all walls have no thickness.
For purposes of rendering it in a game I program they need thick walls (for avoiding artifacts with shadow mapping).

How can I achieve this thickness with Blender? My three conditions are

No self intersections: I know about the solidify-modifier but the angles of my mesh make it so, that the new thickness intersects with itself which is not ideal (z-fighting).
UV-coordinates of all pre-existing vertices have to stay the same. We have a cool looking texture and the texture-mapping has to stay the same.
Stay tileable: The meshes get positioned next to each other in order to form a maze. This has to be possible with the thick meshes.

The outward appearance of the mesh is not important since they are only seen from the inside. Additional I should be able to do this within a day for round about 10 meshes.

I don't think you can use a modifier in this case. You will probably have to do it manually.

Go into edit mode tab
select all a
extrude e
scale shift+y, (which will only scale on x and z.)

Now, if there are faces which are on top of each other (in the same place), you can try any of these options;

s, then y to scale along y.
Change pivot point to individual origins, then scale on y.
Simply adjust it manually.

It's hard to say what you should do, because I haven't seen the mesh, but this should help. Keep in mind, that I am assuming facing down your tunnel is the y axis. When scaling, you want to exclude the axis you are looking down, so that it only gets wider, not longer.

I hope this helped, please comment with any questions.


Why when I render an image does it work, but a weird render result comes up? So I made my monkey, added a ground plane, and rendered. Then when it finished rendering, it shows this weird final image that I used as a texture before. The first image shows it in the middle of rendering, the second image shows the render result.

The render is being overwritten by something in the compositor or the sequencer. Un-tic "Compositing," and "Sequencer" in the "Post Processing section of the Render settings, and you should see what you expect.

You might also undo whatever sequencing and/or compositing you have going on in those panes.


How do I animate the texture mapping location in the node editor? I have linked a magic texture to the base color of my principled bsdf in the shading node editor. In the menu on the right under item, there is a section for texture mapping. When I change the location, the texture moves on my object. I want to animate this movement. If I try to insert a keyframe to the slider for location x, it says failed to resolve path to property. Try manually specifying this using a keying set instead. I have no idea what that means. How do I get the location for a texture node to animate?

You can't animate this texture mapping. (Or maybe you can with Python scripting ?)
What you have to do is add a Texture Coordinate and a Mapping node before your Magic Texture node. You can then animate the fields from the Mapping node.


How to rotate/duplicate a curve around another curve object in 2.8? I'm trying to rotate and duplicate the spokes around the axle in the center. This is supposedly possible with the array modifier, but I can't get it to work correctly for me.

When I select the axle as the "object offset" the duplicates just stack on top of each other rather than moving or rotating.

The objects are curve circles with linked curve bevel objects.

Is this a curve related issue, or something messed up with origins?

What am I missing?

UPDATE:

I've added a third picture. Here's the specific things that I'm not understanding:

What effect does the placement of the "empty" in three dimensional space have on how the arrayed objects rotate? It seems to make some difference, but not in an intuitive way?
Why does changing the "bevel" curve for the spokes cause the array objects to go out of alignment like a spiral? (see first screenshot, top right corner). The first screenshot bottom right corner is the curve that controls the spokes bevel. The wider it gets, the more the spokes spread out on the x axis. I'm not sure if this is a bug or not.
What all steps need to be taken to set the point in 3D space that the arrayed objects rotate around? I thought this would be the empty or other "object offset", but I'm not sure if that's the only relevant factor.

UPDATE 2:

This still isn't working for me. Ive set the 3D cursor, snapped the origin of the spokes to the cursor location, centered the empty on the cursor, and still, when I rotate the empty, the spokes go flying off into space like this:

Add an Empty at the center of the wheel.

Set the array modifier to use the empty as Object Offset.

Set the relative offset to $0$ in all axis.

Rotate the empty to taste.


How do i rotate an animation i imported as an FBX I have 2 animations I have imported. Both as a .fbx.
One is a character turning and running and the other is the character just running.

I am having a problem syncing up the rotation.

My question is - is it possible for me to rotate the full running rotation so that it can line up with the turning animation?

Create a new action that rotates your character in right angle. Make sure that you have only rotation keys:

Next, open NLA editor. Place rotation strip over your animation (in my case I called it "jumping"):

To add strip press Shift+A. Make sure that animation data are empty.

In strip settings (N-panel) set blending to "Add".


Deformed geometry on render I'm new to Blender and I've been following the "How to Make Interiors in Blender (Tutorial)" by Blender Guru and everything was alright up until some point (which I didn't realize in time) where basically, in viewport shading, my room is alright and then in render, it's looks like my room suffered a nuclear earthquake.
What is happening? Can I fix this?
Thanks in advance.

The problem is very simple. The displacement in the materials you have given the base mesh of the room destroys your mesh. delete it, and the problem is resolved.


Reorder vertices of a mesh in Animation Nodes Is it possible to reorder the vertices of a mesh in Animation Nodes? For instance, based on their x location or distance from some object.

Yes we can, matter of fact, we have a node called Sort List just for that. For instance, If I were to sort the vertices based on their x locations, I would do:

e.x means we want to sort based on the x location of the element. Now, if I wanted to sort it based on the distance between it and some other vector, the distance can be used as a Key List:

For more info on how to use the Sort List Node, see the documentation.

But wait! It is not that simple. After reordering the vertices, the edge and polygon indices will now be pointing to wrong vertices. So we have to correct them such that they point to the new indices of vertices. To do that, we have to know at which index did each of the vertices landed in the new list, in other words, we want a list that tells us the new indices of the vertices. The sort list only returns the the sorted list, so we will have to use some other method. The best method I know would be to use numpy.argsort which returns the new indices of the list elements instead of the list elements themselves. So, in an expression node, I will write:

numpy.argsort(list.asMemoryView())

Where list is the required list to be sorted and it should be numeric type, not an object. Make sure to import numpy in the advanced node settings by replacing math with numpy. Now that we have the indices list, we can get the sorted list by getting the elements at those indices:

Now that we have computed the the sorted vertices list. We can go ahead and compute the new edge and polygon indices lists. We are going to compute them by looking at their indices and seeing what is the indices of those indices in the computed indices list, in other words, we are going to search for each of the indices and use their index to create new edge and polygon indices. However, instead of using the search node which is expensive, we are going to create an inverse look up table which is easily done as follows:

Where the iterator is the indices list and the parameter is an integer list of the same length, possibly the indices list itself. Next, we are going to loop over edges and polygon, get the indices from the new indices list at their indices and create edge and polygon indices from those new indices:

And then we compute the new edges and polygon and output them:

And you can see that they became sorted from left to right, that is, from the lowest x value to the highest:

Similarly, I can sort based on the distance from the origin as follows:

Which produces: