How do you change the camera focal length in Blender 2.8? In Blender 2.79 this option was in the Camera tab.  In 2.8 I see I can adjust the 3D viewport focal length.  However when I go into camera view, I can't seem to find a place to adjust the camera focal length.  Is this done differently in 2.8?

You can change the lens settings on the properties window. Select the camera, look for the camera options and in the lens section you can set the focal length.

Or you can also set it visually by clicking on the camera and dragging while holding the control key.


Blender 2.80+ Game Engine Replacement with Python I was mostly using Blender for simulations and interactive visualizations controlled by Python. Now 2.80 REMOVED the Blender Game Engine with no replacement!!!!

Really not cool to remove something that was there for decades with no replacement! I have checked the external game engines but this is not the same - I need to export/import and write in some funny languages while I had everything at hand in Blender :-(

Belnder became just a 3D modelling tool :-(

Is there any way so I can perform a live real-time visualizations that are Python controlled in new Blender 2.80+ ? I don't really need physics (but the collisions would be nice to have).

Any hints welcome.. or I need to stick to 2.79.

At some point in time, an "interactive mode" was in discussion/announced. But it seems this was dropped, according to a statemen at Blender Conference 2019. You can check some discussion at Blenderartists:

https://blenderartists.org/t/any-news-on-blender-2-8-interactive-mode/1178594


How to make operator data persistent? My addon needs just one button currently and I'd like it to work as a start/stop button. But on every button press Blender creates a new instance of the corresponding bpy.types.Operator thus losing any connection to already created ones to stop them. What are the ways (if any) to circumvent this behaviour? How to make bpy.types.Panel button work with the same instance of operator?

The addon in question is accelblend, intended to receive accelerometer data and rotate view accordingly. The operator is modular and keeps running in the background just fine. Source: http://bazaar.launchpad.net/~xintx-ua/+junk/accelblend/view/head:/accelblend_receiver.py

There are a few options open to you:

Yes you can keep the operator instance by keeping the operator running, in this case you would need to start a modal operator, then use some action to trigger it (think the knife tool - it stays running and but act's when the mouse is dragged).Note: This is the most direct answer to your question - however its only really useful in specific cases.
Store the settings externally.
Typically when you store settings externally, the operators invoke function will read from these settings when initializing.

In a Python dictionary outside the operator instance (settings will be lost on restarting Blender unless you implement callbacks to write and restore them)
In custom properties (custom Scene properties is often used for this)
In the addons user preferences (not so good for per-blend-file data)
In a text data block (normally not optimal but including for completeness)


Why is a purple light/texture appearing in rendered view? I'm rendering a low-poly building/skyscraper for a city that I am creating. I have been following this Blender Guru tutorial  on YouTube and my models and textures have been looking great, but now when I go to render cycles is appearing weird with a black background and a pink shading. Here's a screenshot: I understand that my lighting isn't great yet, but I don't understand the pink colors.

Thanks ahead of time.

It was because I had moved the textures to a new folder. Oops.
and you have to link it back......find the texture location


How to export UVs per-vertex in script (as OBJ format does)? OpenGL (the model's final destination) only accepts per-vertex UVs, so it is a must to use per-vertex and not "per face-vertex" UVs. The question isn't about OGL, that's just my reasoning. The OBJ format stores UVs per-vertex, proving that it is possible. I also have checked the code of the default OBJ exporter. However, it's UV exporting code is completely reliant on the rest of it's code making it very difficult to read and understand the default OBJ exporter script.

Current code for exporting UVs:

for face in mesh.polygons:
    for vert, loop in zip(face.vertices, face.loop_indices):
        if (vert in usedverts):
            print("duplicate")
        else:
            for z in (mesh.uv_layers.active.data[loop].uv if mesh.uv_layers.active is not None else (0.0, 0.0)):
                f.write(struct.pack('f', z))

It doesn't export them correctly, whether or not I use the if (vert in usedverts):. I think because when removing duplicates, they end up in the wrong order or something like that. Maybe someone has a better example of per vertex UV exporting [than the confusing default obj exporter]?

If you are aiming to use UV coordinates with OpenGL, at some step, you'll have to use instructions like this one:

   glBegin(GL_QUADS);
   glTexCoord2f(0.0, 0.0); glVertex3f(-2.0, -1.0, 0.0);
   glTexCoord2f(0.0, 1.0); glVertex3f(-2.0, 1.0, 0.0);
   glTexCoord2f(1.0, 1.0); glVertex3f(0.0, 1.0, 0.0);
   glTexCoord2f(1.0, 0.0); glVertex3f(0.0, -1.0, 0.0);

   glTexCoord2f(0.0, 0.0); glVertex3f(1.0, -1.0, 0.0);
   glTexCoord2f(0.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
   glTexCoord2f(1.0, 1.0); glVertex3f(2.41421, 1.0, -1.41421);
   glTexCoord2f(1.0, 0.0); glVertex3f(2.41421, -1.0, -1.41421);
   glEnd();

Which means that:

UV coordinates are given per vertex...
... but given per vertex only in the scope of a drawn face

So we have, in fact a per face information.

In your export program, you may:

Loop over the vertices to store their coordinates
Loop over the faces to store the vertices they use (e.g. making fan polygons)
Loop over the UV maps, and for each:
Loop over the polygons (at obj.data level)
Loop over each polygon's loop_indices and take the corresponding data (uv coordinates) in the current UV map.

This can be something like this (code template):

import bpy

obj = bpy.context.object #An object (selected one)

#Write 3D coordinates
for v in obj.data.vertices:
    #Write v.co in your file
    pass

#Write polygons (faces)
for p in obj.data.polygons:
    #Write a line per polygon indicating the vertices it uses
    for i in p.vertices:
        #Write i in your file
        #See explanation 1 below
    pass

#Write each uv map
for uvMap in obj.data.uv_layers:
    #Process this uvMap
    for p in obj.data.polygons:
        #Use the polygon loop indices
        for li in p.loop_indices:
            #Write the uv coordinates for each vertex in the uv map
            uvMap.data[li].uv
            #See explanation 2 below

Explanation 1 (see comments in code):

The indices stored here refer to the previously written 3D coordinates in the same order they've been written

Explanation 2 (see comments in code):

The uv coordinates stored here correspond to the polygons vertices indices in the same order they are written previously in the polygons part


"Snap to" shortcuts don't work in 2.8/2.9 I'm really not sure what has changed in 2.8 with regard to how this menu's shortcuts are handled, but the way I had customized shortcuts for the Snap to elements in 2.79 is no longer working in recent versions. (I'm using 2.9.0)
The menu in question:

My 2.79 configuration (working):

My identical 2.9.0 configuration (not working):

The goal is to set the following shortcuts:

Alt` Snap to: Increment
Alt1 Snap to: Vertex
Alt2 Snap to: Edge
Alt3 Snap to: Face
Alt4 Snap to: volume

I placed the shortcut definitions in the same place as in 2.79: 3D View (Global)
The Python names and syntax appear not to have changed. I checked them in Blender's Console.
Also, I consulted the current Python API, but it didn't give any clues about shortcut assignment.
Note that although Alt1 through Alt0 now have Hide Collection assigned by default, disabling these does not solve the problem of my custom shortcuts not working.
I'm perplexed... any help appreciated.

We now have the possibility to snap on multiple elements (ie vertices and faces simultaneously).

So the attribute is:
tool_settings.snap_elements #With 's'

And the value is a set, ie:
{'INCREMENT'}


How to render transparent textures in blender render? I've managed to make the background of the image transparent, but I can't work out how to render the transparent textures on the leaves as transparent and not opaque. How do you do this?

here's a link to the blend file: https://www.mediafire.com/?1iou4i1ansu2a6s

On Material Tab, go to Transparency Section, activate leaves' Material transparency, set it's transparency mode to "Z Transparency" and then set the Alpha value to 0.

On Texture Tab, go to Influence Section, tick Alpha and set it's value to 1. Don't forget to tick Use Alpha on Image Section.

If you use an opaque image with transparency mask image, you can make the transparency mask to overlay the opaque image one using Texture Index and do things above (But, I don't guarantee it will always work).

if material still black in render mode, On Material Tab go to Shadow section tick Receive Trasparent e don't tick Cast.


PointerProperty to node of material node tree I'm trying to register a PointerProperty to a node in a material's node tree.

After hours of trying a number of things, I suspect this is impossible and I think it's related to nodes not having their own bpy.data entry.

Basically I want to avoid having to repeatedly iterate over the nodes of a materials's node tree. So, once I found my node, I want to store in a PointerProperty.

I'm doing something similar with certain objects:

myobj = PointerProperty(name="My Obj", type=bpy.types.Object)

Which allows me to assign an object like so:

bpy.data.objects[0].MyPropGroup.myobj = bpy.data.objects[1]

And access the object like this:

bpy.data.objects[0].MyPropGroup.myobj.select = False
bpy.data.objects[0].MyPropGroup.myobj.hide_render = True

So far so good.
I'd like to do the same with nodes, set the property like so

bpy.data.materials[0].MyPropGroup.mynode = bpy.data.materials[0].node_tree.nodes['MyNode']

And access it like this:

bpy.data.materials[0].MyPropGroup.mynode.mute = True

Unfortunately, all my attempts to register the pointer failed. I've tried these and a buch more.

mynode = PointerProperty(name="My Node", type=bpy.types.Node)
mynode = PointerProperty(name="My Node", type=bpy.types.NodeGroup)
mynode = PointerProperty(name="My Node", type=bpy.types.ShaderNode)
mynode = PointerProperty(name="My Node", type=bpy.types.ShaderNodeGroup)

All of them failed with

ValueError: bpy_struct "MyPropertyGroup" registration error: mynode could not register

It is acually a node group I am trying to point to, but would hope to do it for other node types as well.

I've succeeded registering

mynode = PointerProperty(name="My Node", type=bpy.types.ShaderNodeTree)

Which I then can assign the group node to. However I can't access it to manipulate node properties (like mute for instance). I can only access the group node tree of the group.

Any pointers - no pun intended - are appreciated.
Although I could select the node group in question by name, instead of iterating over the node tree, I'd like to avoid it.

You cannot do this directly. With a PointerProperty you can only refer to a subclass of bpy.types.PropertyGroup or bpy.types.ID.
A Node is none of the above. Best way to solve this is to use a PointerProperty to point to the NodeTree (what is a subclass of bpy.types.ID) and use an additional bpy.props.StringProperty to select the specific node in that tree.
Note: Renaming the node will make the StringProperty Invalid.
Version 2.79
class MyPropertyGroup(bpy.types.PropertyGroup):
    material = bpy.props.PointerProperty(
        name="Material",
        type=bpy.types.Material,
    )
    node_name = bpy.props.StringProperty(
        default="",
        name="Node",
        description="Name of the node"
    )
    @property
    def node(self):
        mat = self.material
        if mat:
            return mat.node_tree.nodes.get(self.node_name)

# draw function
def draw(self, context)
    layout = self.layout

    # NOTE: item is an instance of MyPropertyGroup

    layout.prop(item, "material")
    node_selection_active = item.material is not None and item.material.use_nodes
    row = layout.row()
    row.enabled = node_selection_active
    if node_selection_active:
        row.prop_search(item, "node_name", item.material.node_tree, "nodes")
    else:
        row.prop(item, "node_name")

Version 2.80+ (Use :instead of = for properties)
class MyPropertyGroup(bpy.types.PropertyGroup):
    material: bpy.props.PointerProperty(
        name="Material",
        type=bpy.types.Material,
    )
    node_name: bpy.props.StringProperty(
        default="",
        name="Node",
        description="Name of the node"
    )
    @property
    def node(self):
        mat = self.material
        if mat:
            return mat.node_tree.nodes.get(self.node_name)

# draw function
def draw(self, context)
    layout = self.layout

    # NOTE: item is an instance of MyPropertyGroup

    layout.prop(item, "material")
    node_selection_active = item.material is not None and item.material.use_nodes
    row = layout.row()
    row.enabled = node_selection_active
    if node_selection_active:
        row.prop_search(item, "node_name", item.material.node_tree, "nodes")
    else:
        row.prop(item, "node_name")


Simulate POV Walking Camera I have been struggling for a while to try to solve this problem.

I need to make a POV camera, it needs to simulate a walking person going up on a hill. I need the camera to move up&down as loop (simulate walking) but also to slowly move its Z values to a fixed value

I tried with Cycle modifier to the F-Curve of Z-location, to repeat the same movement (up and down, as walking, shown below). The problem is, it only allows me to do the "walking loop" on an horizontal Z-location line! I need the curve below to be like this, but rotating 45° from the horizontal!

Then I tried Bake Action to apply it to the curve, so I can soft-modify the curve. The problem is, Bake Action acts on all the F-Curves in the specified frame range (It acts on X-location, Y-location, Z-location, even if I need to apply it only to Z-location curve)

Do you guys know how I can solve the first or the second problem?
Thanks a lot for your help!

Fed

An effect like this can indeed be obtained with the Cycles modifier:

(green curve: linear forward (Y+) motion; blue curve: oscillating up-and-down motion with a net downwards (Z-) displacement over time)
Just edit your basic step making sure that its first and last keyframe are offset (vertically) from each other, then set the Cycles modifier setting "After:" to "Repeat with offset".

A limitation of this method is that you can't easily change the steepness of the hill over time.
If you want more control
If you want more control over the velocity, the steepness, etc, you can use a different method. You will need two objects: your Camera and an Empty.

Assign the "walking" motion (just up and down, no net displacement) to the the camera (as you've already done)
keyframe the Empty so that it follows the profile of the hill at the desired pace
Place them on the same position at frame 0, then select the camera and the empty (order matters!) and parent the former to the latter using Ctrl+P > "Set Parent to: Object".


Does Blender 2.8 require microsoft access database 2010 to run? Contemplating deleting 'microsoft access database 2010'. Does Blender use this as a database?

No.  Blender is built on open technologies which are also available on non-microsoft platforms.  Therefore it cannot depend on anything more than a basic install of Windows and of course, relevant graphics drivers.


Can freestyle render edges with no face? I have a mesh with some "faceless edges". Can freestyle render them?

Unfortunately this isn't supported (yet):

  Known Limitations and issues

  FreeStyle is only available for the Blender Internal renderer.
  Highly memory demanding: All mesh objects in a render layer are loaded at once.
  Only faced mesh objects are supported. The following kinds of meshes are ignored.

  Mesh faces with wire materials.
  Mesh faces with completely transparent materials.

  Transparent faces are treated as opaque faces.
  No edges at face intersections are detected yet.
  Layer masks do not work with Freestyle.
  Freestyle rendering results do not have any Z depth information.
  Does not work with a panoramic camera.

Emphasis mine. Note that Freestyle is available in the latest development builds and will be in 2.72.

Perhaps it will be supported someday, but for now you'll have to try something else. See How can I render an edge only mesh as solid lines? for alternatives.


Unknown Edge in Ipad after applying Subsurf Modifier I am trying to make an Ipad in blender 2.82 but it having some folds on the top left hand corner. See the picture below

I don't know why it is happening. Pls help me!!!
This is solid view mode

This edit mode

And this is x ray mode in edit mode

This is the blender file-

There are a few interiror faces in the frame of the device (marked on the first picture) which cause this problem. You used the same face for the backplate of the ipad and for the screen what is never recommended, create two independent face for them.

After you fixed the geometry you have to add mean crease to the sharp edges (marked on the second picture).

After you apply the modifier the best if you dissolve the middle edges to avoid the unnecessary bending (third picture).

https://blend-exchange.giantcowfilms.com/b/odmEMaaY


How-To: Text Sliding out of a Circle 2D I will be explaining this as best as I can, however I will be actively updating with more detail if necessary.

End Goal:
I want to have a circle roll in from the left of the screen (a logo will be on the circle so it will have to be actually "rolling" across the screen), stop shifting horizontally but continue the rolling motion about 1/4 from the left of the screen. I want to have text "slide" out of the circle as the stationary roll is occurring to look as if the roll is extending the text out of the circle.

Question:
How can I get text to extend in such a way? I know that this is harder because the text has to appear out of thin air as opposed to sliding from off-screen. What is the best way to do this?

Second Question:
If possible, can I import a pre-made circular 2D logo into Blender to use as the circle? I already know that making the roll motion is just a matter of repeatedly rotating it 90 degrees and using animation keys (may not be correct term, but I know how to do that part).

Thank you!

Here is a quick method for that:

Create a circle curve object.
Enter Edit Mode, make sure all points are selected, then V to switch handle type to Aligned.
AltC to make it an open curve (acyclic).
Select the tip point, then E to extrude it. Note that the length should no less than the length of the text.
You can manually tweak the shape by extruding and transforming points to make it a circle (or several circles for a longer rolling later).
Add a Follow Curve modifier to the text object, and choose the curve as path object. You may also want to scale the text to match the curve.
If the text appears flipped, you can select the path then enter Edit Mode, then W > Switch Direction.
Then move the text horizontally to the expected location.

Finally, you can key the movement for path object to get the result:

Example File:


Blender 2.8 GPU Cycles Compatibility .. NVidia Quadro M1000M ... Windows 10 Recently Blender 2.8 ... Windows 10.

Cycles Rendering rejected a NVidia 670M Mobile Card in Laptop 01.  Probably based on NVidia Compute Capability.

Should I expect a NVidia Quadro M1000M to be Blender 2.8 compatible?. Laptop 02 which is not currently in my possession.

Two different laptops.

I have never owned a Quadro GPU.  Your general comments are welcome.  Does anyone have experience with this exact video card?

By coincidence, today I did a render using Blender 2.8 on a laptop with a Quadro M1000M card. No issues there, worked fine!

Quadro cards seem to be made for rendering and GFX design, so a good choice. A good read: https://www.engineering.com/DesignSoftware/DesignSoftwareArticles/ArticleID/18630/Whats-the-Difference-Between-GeForce-and-Quadro-Graphics-Cards.aspx.

Regarding the number of tiles, here are the answers:

Cycles only uses 1 tile per GPU (does not apply to CPU);
The number of tiles are dictated by available logical cores (or
threads);
Blender seems to use a maximum of 8 tiles;

So what brought me on the wrong track earlier: I thought I was seeing 4 tiles for the quadro and 4 for the CPU, but actually it was 1 tile for the quadro (as expected) and the remaining 7 tiles for the CPU (being a quadcore with hyperthreading = 8 logical cores (or threads) in total).
In retrospective to my desktop, where I also have a quad core CPU with hyperthreading (8 threads), but also 4 GPU's (2x 1070 TI's + 2x 970) = 8 tiles total.


Eevee glass not working at certain angles I'm trying to get glass to look realistic in eevee. I'm getting this weird error when I move the angle of the camera. Any help would be great thanks!
Gif of glass error
https://imgur.com/SYVIvEI
Link to blender file
https://drive.google.com/file/d/18KG3m_MMqHvbV7azvqyHwy5V8gl_JxNz/view?usp=sharing

There is an option called 'Edge Fading' under 'Screen Space Reflections' settings in Render Settings. Try making it 0. That should most likely do the trick.


What causes the output of this noise texture to be different from the example? So, I have a noise texture.  However (and I have just the output of the noise texture painted on the mesh) I seem to have a much different pattern from the example:

His is a lot more.. "roundy" while mine is a lot more "wavy."
Don't get me wrong, I'm pretty sure I can come up with other ways of generating the texture that he has (for example, an image input) but I would be grateful if someone could help me understand WHY there is a difference here, because it might help me increase the predictability of the shader stuff.
By the way: this tutorial is nine months old, I believe he is using 2.81 and I am using 2.83.

He's using the Object output socket of his Texture Coordinate whereas you're using the UV output socket.


What is creating smudging in my render? The below given image is rendered with 1000 samples with appropriate light settings but the final rendered image is coming as smudged.
Is there any solution to fix this?

EDIT : please find the link for .blend file below.

https://drive.google.com/file/d/0B5pwuQ_y8BGXaURWMWxOLUVlWWc/view?usp=sharing

When dealing with glass you need the object to have some thickness.
To illustrate the issue with two identical glasses:

The glass on the right has only a subsurf modifier, you can clearly see a lot of artifacts as white and black bands. The one on the left has a Solidify modifier before the subsurf. The glass looks much cleaner and realistic, and you don't need that many samples (This image was rendered with only 100 samples)


Texture paint with face selection masking now shows wireframe So by default if you hide parts of the mesh and go into Texture paint mode and turn on Face Selection Masking the parts are hidden and there is no wireframe.
I toggled something so it shows up now and the other parts are visible too and that is global, I got no idea what causes this.

I found it out, this was caused by the edge split modifier.
With it being visible it looks like this.


Blender 2.8: how to cut non visible edges? I'm using the knife tool (shift + spacebar + K)  to cut a cube.

I would like to reach the edges that are behind my current view also.

What is the procedure?

To cut through, press Z just after you've activated the knife.

And press C to cut perpendicularly to the view and ctrl to cut an edge by its center.


Why glass isn't darker when overlapping? I am trying to achieve the effect seen below, when the parts of glass planes that are overlapping get progressively darker. However when I try to do something like this it looks weird, some parts of planes don't seem to be transparent at all(?)

These are flat shapes with subsurf and solidify modifier (I figured that without solidify it is much worse and doesn't work at all). Each level of glass shapes has darker color.
I use cycles with caustict turned on

Thanks for any help! ;)

You're better off using a simple glass shader.

Give your glass a very light color so it lets a lot of light pass through (your example uses dark blue)
Use a simple Glass BSDF shader (Or Principled BSDF with Transmission=1)
Make sure to use high contrast lighting or HDRI (or the glass will look flat)


How to properly smooth edge? I am a complete newbee in blender. I created this object

and want to smooth the inner edge using bevel tool so I have something like that:

But some artifacts in "Smooth shading" occured. What sould I do and how can I remesh my object to delete this strange artifacts?

Those artefacts come from the Smooth Shading option.

Each 3D object surface is made of triangles. Even when you work with quads or ngons, Blender will translate this into tris (for example each quad will be made of two tris). If you enable Smooth Shading, Blender will smooth every transition between 2 tris. It will give something good on round or flat topologies but it will give something bad on angular ones because Blender will also try to round the angle between hight-angled tris, which doesn't seem natural.

You can fix this with the Auto-Smooth option. It allows you to limit the smooth effect on tris that are only under a certain angle value. For example in your case if you set to a value under 90° it will smooth the round corner, because the tris angles are much under 90°, but it won’t try to smooth the 90° angle between the top and the side surfaces.

Apart from that, try to work with triangles and quads rather than ngons. Example:


How to append and swap materials with the same name? Is there a way to swap material with the same name after appending the material from a different file?

As default, when you have a material named 'Blue' and you append material from another file called also 'Blue', it gets automatically renamed to '0 Blue.001'. Is there a way the new 'Blue' gets simply swapped with the old 'Blue'?

In most cases, the default renaming is obviously desirable, but when you work on several files and you want to change something in one material in all files, you need to go through arduous process of changing that material in every file by appedning and picking it from the list of materials. Any way to automate it?

You should link materials and not append them in mutliple projects, by linking you have the benefit of only updating your master blend file or library and see the changes propagate in all blend files that use that material.

see also :
What is the differance between Linked and Appended data from external .blend files?


Auto naming of items In blender's collections, unique naming is beautifully handled by adding "00n" to supposed to be duplicate items. Since it is used everywhere in blender, is this a blender utility module that I can also use for my add-on? If so, can you give me an example or point me to the documentation of this module?

AFAIK there isn't a python utility to do this, it wouldn't be too difficult to emulate it

import bpy

import re
def strip_trailing_number(s):
    m = re.search(r'\.(\d{3})$', s)
    return s[0:-4] if m else s

def unique_name(collection, base_name):
    base_name = strip_trailing_number(base_name)
    count = 1
    name = base_name

    while collection.get(name):
        name = "%s.%03d" % (base_name, count)
        count += 1
    return name

# check

print(unique_name(bpy.data.objects, "Cube"))
print(unique_name(bpy.data.objects, "Cube.004"))


texture to scale on object I modelled an object in Siemens NX with dimensions 150x150x60mm and I want to apply a tile-able texture to it with dimensions 10x10mm.
The size of the texture needs be the right scale, since I need to export the obj-file for my machine input.

I need a method that I can apply to shapes and textures with unknown scaling factors.

Well exporting textures is going to be an issue but I'll assume here you will only require exporting UV coordinates.

This would be trivial to accomplish using any type of automated texture coordinates like Generated or Object, however, to be able to export texture coordinates you will most likely be required to unwrap your mesh and create a UV map, unwrapping doesn't translate well into scene referred units, since unwrapping will more often than not introduce distortions.

The way I see it you have two options, both involving third party addons.

Either use World Scale UV or Magic UV addon.

What they both do is try to unwrap your mesh in such way that it approximates texture size to a defined scene dimention.


A Particular Weave Pattern Does anyone know how to make this particular weave pattern? It's basically just a checker texture, but the squares slightly overlap in the y axis, instead of being corner to corner. I would really appreciate it!

You have to offset the Y coordinate of the texture for every square along the X axis :

Playing with the offset:


What does "Invalid clnors in this fan!" mean? When I open or render a frame of one specific scene, I have several messages in the Console with the note "Invalid clnors in this fan!"

This message also shows up when I try command line rendering.

I'm having problems rendering this and other scenes from the same project.

What is causing this problem?

Clnors stands for Custom Loop Normals.

This happens when clnors are not equal to each other where they should (would have to see the geometry), this message is printed and they are all replaced with their average value to be equal.


Does Blender Cycles support rendering in SLI mode - two and more graphics cards? Can we make SLI bridge between our graphics cards for a faster rendering on blender Cycles renderer? I saw on the blender version 2.79.4 we can faster render on 64*64 render tile on CPU and GPUs, together... that is better than just using GPUs... But I believe it would be even faster when we could render in SLI mode...

SLI was designed to be used in accelerating rendering to display in supported applications with OpenGL or Direct 3D, by either alternating the frames or splitting the frames between the GPUs. As Blender uses the CUDA engine when rendering, and has built-in support for using several cards simultaneously, there is no benefit from enabling SLI.


How can I recreate this Material and flat Colors? I really like the flat colors under the Materials viewport in Cycles render

How can I recreate this for use in a game engine?

Do you mean something like this?

It can be easily done by simply linking color node straight to output, bypassing any kind of shaders

But I don't know how it'll export for a game, you can always use Emission shader on strength 1, which doesn't modify visual appearance at all


Makehuman rig bends, model does not I have been following this makehuman tutorial, and was able to find the FK/IK switch through this question for the same tutorial. I have followed the import settings (override exported data, add rig > exported MHX/MHX), but when I move the root bone up and down, the rig bends at the knees but the model does not.

The image on the left is the tutorial video, with knees bent. The image on the right is my project file - the rig is bent, but the knees are straight.

Is there a setting I am missing from my Makehuman export or Blender import? Or have I missed a setting in one of the panels? I am also thinking it may just be better to use makehuman's game engine rig, or else create my own rig with rigify, as recommended in this thread.

For further clarity on the problem, the image below shows what happens when the root is selected, and then moved using the transform ("G" on the keyboard).

Blender 2.78a, makehuman 1.1.0, running on a Windows 10 PC

My .blend file can be found here:

I found the solution: activate auto-run of Python scripts in Blender by selecting Auto Run python scripts in user preferences.


2.8 remove doubles has changed to Merge by Distance I'm using 2.8
Is there no default short key combo to remove duplicates now?

I see that I can quickly add a shortcut for it - but it seems to me that it's something that should be in the mesh (w) menu. I use it all the time.

Thanks!

As of writing this answer, the option is not present in Blender, or at least not searchable through F3 and buried somewhere deep. What works instead, is merging by distance by either of these methods:
(remember to first select at least two vertices: at least one will be kept, while those, that are too close to kept vertices (depending on the setting), will be removed)

From the Mesh menu select Clean up and then Merge by distance.
[No longer in 2.90.1] From the Vertex menu select Merge Vertices and then by distance.
From the context menu (right mouse button by default) select Merge Vertices and then by distance.
Press M, then B keys. [before 2.90.1 Alt+M, then B keys.]

A panel with settings will appear on bottom left:

After clicking it, it will expand:

On bottom you should see the number of removed vertices, depending on current setting:

Step-by-step example

Press CTRL+N, then G for a new general file.
Make sure the cube is selected.
Press TAB to enter edit mode
Press ALT+A to deselect all vertices.
Click on a vertex.
Press G twice, and slide the vertex as far to another vertex as possible, so they both occupy the same position, confirm by clicking.
Press A to select all vertices (to make sure both vertices in the same spot are selected)
Press M, then B to merge by distance. Regardless of the setting, at least one vertex will be removed which should be confirmed by a status bar message:
Press ALT+A to deselect all vertices again.
Click on the vertex that had a "duplicate" on the same position.
Either press G to start moving the vertex and see all edges are connected to just this one, and the other is gone or H to hide the vertex and see there's no second vertex at the same spot.

Beware, that this will remove not only vertices that have the exact same coordinates, but also those that are within 0.0001m of each-other. You can decrease this value to as low as 0.000001m.
Thanks to the comments from Hikariztw and JtheNinja, I investigated the issue and indeed the old remove doubles worked exactly the same.
In Blender 2.79 the merge distance seemed to default to zero:

but after clicking the input field it would reveal that the 0.000 was just a rounded view of an actual non-zero value:

In both cases (Blender 2.79 and Blender 2.8) the default value is 0.0001m and the minimum value is 0.000001m (in Blender 2.79 you have to go to scene settings and set metric system for length in order to see 1 micrometer instead of 0.000001 without a unit).


How to add shadows to material properties in cycles? I studied about the topic of shadows in blender and found this page from the manual. It states that blender needs to be in GLSL mode for this option to be available. How do I add shadows to material properties?

That is the material I want to add  shadows too.

Those settings are for either Blender Internal rendering engine, or for the Blender Game Engine, displaying shadows in the viewport for Blender Cycles materials and shader is not currently supported.

Either switch rendering engines (on the pulldown menu that reads Cyckes Render in the header of the Info Window on the top blender screen) and rebuild your materials for the new render, if your priority is getting viewport shadows; or if you wish to remain with Cycles then use viewport rendered preview  (Shift + Z)

Edit: To achieve a shadowless material setup in cycles you can use a light path node to drive a mix shader between a glass and a transparent shader as illustrated bellow.


Blender crashes constantly since v2.80 on Linux when using Nouveau driver I started using Blender at v2.80 and it is constantly crashes ever since, after approximately 2-3 mins after startup. I use Arch Linux with nouveau driver. Blender crashes either with Eevee and Cycles engine chosen. Every time at some point Blender freezes my whole desktop env. (with mouse cursor) and then successfully crashes, OR (approximately with 1:1 chance) do not unfreezes desktop and gets me hard rebooting machine.
Last time I called blender with --log <file> and --debug options and saved project file, but there was no files except project file in the working directory. The last lines Blender returned to my terminal that I could see after the crash scrolling all the way up were:

a lot of nouveau: 0x<8-digit hex number>
blender: ../libdrm-2.4.101/nouveau/pushbuf.c:723: nouveau_pushbuf_data: Assertion `kref' failed.
Aborted (core dumped)

I see bug is highly likely related with nouveau.

Nouveau drivers aren't officially supported, the minimum requirements state that the official Nvidia drivers have to be installed when using one of their graphics cards.

NVIDIA: GeForce 400 and newer, Quadro Tesla GPU architecture and newer, including RTX-based cards, with NVIDIA drivers (list of all GeForce and Quadro GPUs)


Why is my text render so weird? I am trying to render this 2D Animation but my text always appears like this. I have tried every little solution on the internet but nothing works.

I am using EEVE Renderer.
Sampling: Render: 64
Resolution 1920x1080

Someone told me to use emission shader which improved its brightness but it is still harsh/pixelated.

(text and stroke are not in the same plane, text is a little above that.)

Tried Cycles renderer, higher resolution, depth, extrude. Nothing worked.

Any help?

Here's the file: https://drive.google.com/file/d/1mvFENCrmU1Cngdzc9cq1xsSp-NKw8EQW/view?usp=sharing

I checked the file and I think that every font - if viewed in a "too small" bitmap image - shows pixels.

If there is too much info and too few pixels, it's normal that if you zoom in you'll see a not perfect smooth shape (with antialias you can smooth a little bit the result).

In summary, if you want to represent a vector images (svg, font) into a bitmap image, you need to have enough resolution on the target image if you don't want pixelated results.

Check this post about the same problem:
How to get smooth edges on text object?


Modifier panel changed Cut this short has possible why is there missing options on the bevel,screw.
like had more details in the bevel Mod, but now have 3 bars width type,amount,segments ?

in blender 2.93 alpha:
the bevel modifier e.g. (if you mean this) has lots of options as you can see here (profile + geometry + shading):


how to render emission of light of a transparent background Imagine the following scene, top down view with a simple object emitting light (cycle) on a large floor (plane).

Now what i'd like to achieve is to only render the object and the emission of light but not the plane (tranparent bg). of course if I hide the plane there is no emission visible since there is no surface to refect it.

I think maybe using green screen effect (making the plane green) could do the trick but I don't think it will be very clean for a effect like that.
I wonder if there is any other way it could be done ?
I tested transparent material but again no emmision visible then.

edit : picture to illustrate
what I do
what i see
what i'd like to see in a way less ugly version (done with my awesome skill in gimp) (but since its a white glow on a white background you can't see it here damnit)

Note : this answer is obsolete due to the comments. I don't delete it as it still produces a result.

Use the compositor.

The setup can be like this :

On the left, the rendered input (here, all is black around, because the world has no material or light set to 0).

The color ramp is here to convert eventual colored parts of your scene to black and white.

Alpha over puts a transparency (the first image slot) over the rendered image, depending on the B&W chanel.


Is it possible to transform mesh animation (Shape Keys) into group of object (like primitives)? I have created a ghost character with use of cloth simulation. I have to export Collada file to import it to Xcode. Apparently Shape Keys / mesh is not included in .dae.

Perhaps mesh animation (Shape Keys) can be somehow turned into an animation of objects (like primitives)? Mesh vertices into primitives with triangles and ngons?

Luckily yes!
Activate the "Oscurart Tool" in the User Preferences under Add-ons / Categories-Object (and save the User Preferences, if you want to keep it activated). The Oscurart Tools Tab then shows up in the Toolbox. Select the Object (with shapes).
Open the Oscurart Tab, select Shapes and in the Shapes Tools Tab "Shapes To Objects".
That should do it for you.


Removing animation keyframes outside of a specified range I have over 1000 animation files that I want to "crop" off keyframes outside of a specified range.
Keyframes all start at frame 1 instead of frame 0, as such I want to shift all keyframes by one frame such that the animations start at frame 0.
I have an int variable named "framelength" which stores the framenumber of the last good frame. I want to remove every keyframe after this value.
The most similar code I was able to find online was:
How to remove all only rotation keyframes from current action with Python?
and Editing fcurve.keyframe points in FAST mode?
Both were written by BatFINGER.
I tried using a combination of the two to achieve what I want, but am struggling with deleting only certain keyframes.
ob = context.object
ad = ob.animation_data
action = ad.action if ad else None
if action:
    for fc in action.fcurves:
        sel = list(bool(i > int(framelength)) for i in range(len(fc.keyframe_points)))
        for i in range(len(fc.keyframe_points)):
            if i>35:
                fc.pop()

Above is my attempt at solving the problem.

I got it working thanks to batFINGER's comment.
My final code looked like this:
import numpy as np
def action_slice(action, start_frame, end_frame, shift=True):
    copy = bpy.data.actions.new(action.name)
    copy.id_root = action.id_root

    for fcurve in action.fcurves:
        kfs = np.empty(len(fcurve.keyframe_points) << 1)
        fcurve.keyframe_points.foreach_get("co", kfs)
        kfs = kfs.reshape((-1, 2))
        _fc = copy.fcurves.new(
                fcurve.data_path,
                index = fcurve.array_index
                )
        _fc.keyframe_points.add(0)
        _kfs = kfs[
                np.logical_and(
                    kfs[:,0] >= start_frame,
                    kfs[:,0] <= end_frame
                    )
                ]
        if shift:
            _kfs[:,0] -= start_frame
        _fc.keyframe_points.add(_kfs.shape[0])
        _fc.keyframe_points.foreach_set("co", _kfs.ravel())
    return copy

def object_do_slice(string, endframe):
    ob = bpy.data.objects.get(string)#context.object
    ad = ob.animation_data
    action = ad.action if ad else None
    if action:
        ad.action = action_slice(action, 1, endframe, shift=True)

object_do_slice("Root",framelength+1)


Audio bake to f-curves fails with very high numbers I am working on an audio visualization generated by a script. I am programmatically creating a grid of hexagons that will each have a different range of frequencies baked to it. My question doesn't involve the hexagons, so I removed that part of my script. My method involves baking the sound to a custom property on each object so you can access the value through a driver on different properties (Location, Scale, Color, etc).

I can run the script safely creating only 2 objects. The custom properties and drivers are created, and the cubes react accordingly. But if I set my number_of_cubes variable to more than 2, the values generated from bpy.ops.graph.sound_bake() get really weird.

On the first 5 frames of my animation using only 3 objects, here are the values

And here is the graph editor for those frames. (Notice the vertical scale)

So I can safely assume that the baking is generating values too high for Blender to handle (-1.#IND being not a number). Because of the crazy baked values, the drivers fail and Blender crashes if you try to play the animation or change the frame. So in the script I commented out the lines

#add_driver_prop(obj, 'location', 2, '["audio_data"]', "data * " + str(multiplier))
#add_driver_prop(obj, 'scale', 2, '["audio_data"]', "data * " + str(multiplier))

so the drivers are not added. So why can't Blender handle baking to fcurves more than twice in the script? I watched the CGCookie tutorial on audio baking a few years ago, and referenced it again recently, but I can't see any difference in their methods that would make mine faulty.

I have already ruled out:

Hardware. I tried this at home and at school on different machines
Drivers. I disabled them and the fcurves are still going crazy. But at least Blender doesn't crash anymore.
Weird values for the low and high frequencies. If you divide by 3 (number of cubes), the low and high frequencies become 0.0 and 33333.33333333333336 for the first cube. Dividing by 4 creates nice even numbers, but the problem persists.

Here is my script. Make sure the .blend file is saved and the audio path is relative to the .blend, or it won't work.

Here is the audio I am using. I have tried it with other songs, but it doesn't work with those either.

I have also attempted to enter the high frequency manually (I left the low at 0.0). Here are the values that did not work:

33333.3, 30000.0, 40000.0,

These values did work:

45000.0, 100.0, 300.0, 12345.0

If your sound bake is showing that behaviour try reducing your baking frequency High and Low to within the audible frequency range.

20 to 20,000 Hz

The SI unit of audio frequency is the hertz (Hz). It is the property of sound that most determines pitch. The generally accepted standard range of audible frequencies is 20 to 20,000 Hz, although the range of frequencies individuals hear is greatly influenced by environmental factors.

Audio frequency - Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/Audio_frequency

Which is likely why the bakes returned rubbish on some audio formats.
The sound drivers addon bakes n frequencies over a channel range.  I've also put in the ability to bake on music note frequencies.  Here is a screenshot of rainbow_road.mp3 baked to the 88 notes of the keys on a piano.

Baked as custom properties on the speaker (data part) object.  Fcurve modifiers are used to map the range of the fcurve. A simple driver can be added to any object, and if using channel 0, in the case of image AH0 is used as a driver on the cone, a simple grid visualiser can be created.


Keyframes do not interpolate For some reason, the keyframes I think don't interpolate. It is impossible for me to create two keyframes with different opacity in the same clip but, the strangest thing is that, when trying, the values are reflected in the curve editor, with the line smoothed between the two values, but not in the timesheet, just as it is not reflected in the viewer. I can't even make a simple opacity fade...

Look at the capture as, the same keyframe has value 1.0 in the curves editor but 0.5 in the timesheet and the video editor. Does anyone know where the rays I have to look to solve this?

Thank you

Problem solved,

Copying the scene also copied the ANL tracks from the original scene. By deleting them from the List window, the keyframes can now be worked on properly. I still need to understand some basic Blender functions which, when I start directly with the video editor, I still don't control.

Thanks leander and Greetings


sliding on 45° on XY axis (translate X and Y same value at the same time) There is a way to move on x,y,z, but is there a way to move on a 45° angle between 2 axis? like sliding X and Y at the same time from the same value?

Of course there is.
Just drag-select both X and Y axis and enter the value.


Simple Rotation problem I am almost embarassed to ask something so simpe, but can someone give me a pointer as to how to rotate a surface 45 degrees without the distortion and maintaining dimensions. See attached.

Thanks

Richard C

The answer is: it's not a rotation.  If you visualize the circular rails around which the vertices would travel in a rotation, you can see that.

If you wanted a transform to do the job, on parallel rails, it would be a shear. (ShiftCtrlAltS). But that's expressed in terms of offset, which would be half the length of the vertical edge to get 45 degrees, and would be awkward.

So the best idea here is probably a cut. Hit K and left-click on your starting vertex. It should highlight green. Hit C to snap the cut to 45 degrees, (and Z if you need to cut through more than one layer of faces), and move the mouse over to the opposite edge, until you see the highlight again. Left-click to 'plant' the other end of the cut, and the Space bar to confirm it.


Configuring eevee glass reflections Blender version: 2.82rc, 2.83alpha.

I am trying to set up eevee to properly show reflections on my glass material.

The glass object is an uv sphere, which I cut in half and then applied solidify modifier, so that it became a hollow semisphere.

When i render in cycles i can see the proper reflection of the purple monkey head:

But when i render using eevee, there is no reflection of the monkey or the floor plane:

In eevee i have tried to add spherical reflection cubemap around my glass object, but it did not help:

The eevee screen space reflections settings i tried:

And indirect lighting settings:

My glass material uses simple transmissive principal bsdf shader:

Is there any way to make eevee reflections closer to the cycles result? Is it possible to see the other objects properly reflected? The blend file i used: https://drive.google.com/file/d/1rljUoxhp4Ajbm7JIjpGwjlmQCButQ3BR/view?usp=sharing

have you checked that the clip distance is correct in the reflection cubemap? "Clipping Start" should be slightly larger than the size of your object (the glass sphere) and Suzanne must be between clipping start and clipping end.
I suggest to activate "Clipping" in "Viewport Display" in Reflection Cubemap settings as in next image:


Coordinates limitation in edit mode. How to change it? I ve found weird limitation in Blender, how to avoid it?

There is a model with global coordinates in X and Y about 100km (kilometers)
So in object mode transform location show us real values (100km) but in edit mode there is some limit to show - 10km (transform location shows us 10km maximum and it does not change when you move vertex if your global coordinates more than 10km) so I can't move vertex by typing in coordinate which value more than 10km.

Is that limit a bug or it can be turned off somewhere?

What to do if I need to set X,Y values of selected vertex in edit mode to (100002m, 99003m)?

The limit is a function of the design of the software, and as far as I know, cannot be turned off. The maximum dimensions of an object are 20,000 blender units, that is from -10,000 to +10,000, in each axis. While in many cases, a blender unit is defined by the use to be equal to a meter, it need not be, and is sometimes defined to be another unit, for example, an AU, or a KM. Complicating the use you wish to use for Blender, there is also a minimum precision in Blender, in that the smallest units supported are -.000005 and +.000005.

How best to deal with the limitations posed by these design choices involves considering the use to which you intend to use your meshes.


Blender API : pass collection as parameter of python operator I am trying to pass a collection as parameter of an operator, but I have following issue :

  AttributeError: bpy_struct: attribute "collection" from
  OBJECT_OT_example_op" is read-only

Here is my example code :

import bpy

class Item(bpy.types.PropertyGroup):
    name = bpy.props.StringProperty(name="Name")

class ExamplePanel(bpy.types.Panel):
    bl_label = "ExamplePanel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Example"

    @classmethod
    def poll(self, context):
        return True

    def draw(self, context):
        layout = self.layout
        layout.operator("object.example_op", text="Test").collection = bpy.context.scene.collection

class ExampleOperator(bpy.types.Operator):
    bl_idname = "object.example_op"
    bl_label = "Example Operator"
    bl_options = {'REGISTER'}

    collection = bpy.props.CollectionProperty(type=Item)

    @classmethod
    def poll(self, context):
        return True

    def execute(self, context):
        for item in self.collection:
            print(item.name)
        return {'FINISHED'}

def register():
    bpy.utils.register_class(Item)
    bpy.types.Scene.collection = bpy.props.CollectionProperty(type=Item)

    it = bpy.context.scene.collection.add()
    it.name = "item1"
    it = bpy.context.scene.collection.add()
    it.name = "item2"

    bpy.utils.register_class(ExampleOperator)
    bpy.utils.register_class(ExamplePanel)

if __name__ == "__main__":
    register()

Any suggestions ?
Tried with PointerProperty, but don't know exactly how to use it, and got same error.

Thanks :)

Campbell give me an answer in Blender mailing list.
Here is the proposed solution :

import bpy

class Item(bpy.types.PropertyGroup):
    name = bpy.props.StringProperty(name="Name")

class ExamplePanel(bpy.types.Panel):
    bl_label = "ExamplePanel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Example"

    @classmethod
    def poll(self, context):
        return True

    def draw(self, context):
        layout = self.layout
        op = layout.operator("object.example_op", text="Test")
        for src_item in bpy.context.scene.collection:
            dest_item = op.collection.add()
            dest_item.name = src_item.name

class ExampleOperator(bpy.types.Operator):
    bl_idname = "object.example_op"
    bl_label = "Example Operator"
    bl_options = {'REGISTER'}

    collection = bpy.props.CollectionProperty(type=Item)

    @classmethod
    def poll(self, context):
        return True

    def execute(self, context):
        for item in self.collection:
            print(item.name)
        return {'FINISHED'}

def register():
    bpy.utils.register_class(Item)
    bpy.types.Scene.collection = bpy.props.CollectionProperty(type=Item)

    it = bpy.context.scene.collection.add()
    it.name = "item1"
    it = bpy.context.scene.collection.add()
    it.name = "item2"

    bpy.utils.register_class(ExampleOperator)
    bpy.utils.register_class(ExamplePanel)

if __name__ == "__main__":
    register()


Mask vs delete vertices I'm working on my first character that I want to rig and animate. I created the raw body and added clothes, everything looks fine so far. I want to keep the render time down so should I delete the unseen vertices under the clothes or mask? Will deleting the vertices effect the clothes shape? By that I mean, will the clothes collapse because there is no body underneath? I am, of course, copying the entire character before manipulating but was concerned that any clothes physics would collapse with nothing under it.I'm using Blender 2.8a

if you'll be using cloth physics than yes, the clothes will collapse if you delete vertecies uder clothes, you could delete them if you would rig the clothes as well as part of the character. But I don't think you should worry that much about render times, due to body under clothes. I don't think you would gain much speed by deleting those parts.


boolean not working properly I have 1 Sphere and 1 Cylinder. I try to join them by boolean. when I Join the cylinder with Sphere, Cylinder behaves weird while sculpting however Sphere seems to be normal. There seems to be some issue of either Clean mesh or Normals. But not  sure how to fix that in Blender 2.8. Please help

Just to illustrate batFINGER's point:

Delete faces with Delete > Faces.
Select an edge loop and extrude downwards.

To close the bottom, just Fill and Poke faces.


how can i improve script execution time Is it there a control or something to assign more resources to script execution. Or the only option is to improve script's code performance?.

If blender freezes while script execution, you should check performance using build-in modules.

In some cases you can cache function return using functools.lru_cache.

The one way to get more resources is using multiprocessing.


Can I make source and sink for water? Can I make a source (where water comes from) and a sink (where water goes or sits) in water simulation?
I want to make fountain so that when it is full, the water overflows from it.
How can I make a sink for it, or I control the incoming and outgoing flow?

You can. The "sink" is called outflow, look for "Outflow" in the fluid sim. And the outflow mesh stops water from overflowing.


How to enable ambient occlusion with python? I am trying to access the world shading settings in python.
I want to enable ambient occlusion and give it a value of 0.5.
I have tried:

bpy.types.WorldLighting.use_ambient_occlusion()

But I didn't work.

To turn Ambient Occlusion on you must set its value to True. What you are doing wrong is that you are trying to execute the function use_ambient_occlusion() which does not exist because it's variable not a function.

import bpy
bpy.context.scene.world.light_settings.use_ambient_occlusion = True  # turn AO on
bpy.context.scene.world.light_settings.ao_factor = 0.5  # set it to 0.5


Drive the value of a Follow Path constraint I have a project where I would like to use a bones rotation value to move another bone along a brzier curve.

I have a bezier curve with the bone that is constrained to the curve with a "follow path " constraint.

I have the bone i want to use to drive the "offset" value of the follow path constraint.

I run into a problem where the driver is affecting the bone to fast. It seems the conversion the driver is doing is muddled.

I have a link to my file.

Please help if possible!

https://drive.google.com/file/d/1OGM6t1OQX3MvETzCNrDbSz-EiSbqyI_W/view?usp=sharing

my objective is to rotate a bone  and have it drive another bone along the bezier curve. I wish for the main bone that is driving the bone on the path to complete a full 360 degress before the bone on the path finishes.

Right-click on the Offset value of your constraint.  Add driver ->
Scripted Expression (don't worry, no script needed)
Open a Driver Window (Shift F6)

In the driver select the armature as the object, and the control
bone as the bone.
Choose Y location and local space.
The expression should just be var, nothing behind it.
Move the controller in local y direction (in your scene global z)


Black and white view after splitting window I have a huge problem (I'm new in blender so it maybe be something stupid actually), after splitting the windows and go back to only one view window, I can not see colors anymore. At the beginning, when splitting the window, the left window is normal (with colors if you had an object or something with a color material) and in the right window you had a black and white image. Ok, after joining the windows I only have forever and ever the black and white view :/, the only way for me to see the material's colors is to render the image. I even  tried to delete and reinstall Blender (2.8 and 2.81a) but I still the black and white view. Can someone help me with this issue?

If I'm understanding your question correctly, the issue is that you are in Solid view and want to see the Material Preview.

Click this button at the top right of the 3D viewport and you will see the material attached to the object.

As an aside, you can change the color of objects in Solid shading mode by scrolling down towards the bottom of the Material Properties tab and choosing a color for the object under Viewport Display.


Funnel object into another What is the most practical way to funnel a 3d model into another by vertex count? The purpose of it, is to have a creature absorb objects by suction, mildly deforming the sucking creatures opening as the object is forcefully drawn inside?

So here is a solution with the Mesh Deform modifier:

Create your object.
Create a cube that contains your object as a cage, subdivide it. In the Properties panel > Object > Display, enable Draw All Edges and Maximum Draw Type > Wire so that your cube is in wire mode.
Give your object a Mesh Deform modifier. Put it above the Subdivision Surface modifier. Choose the cube as the Object, and click Bind.
Select the cube. In the Properties panel > Data > Shape Keys, create one Shape Key (it will be called Basis by default), then a second one.
Keep this second Shape Key selected. Go in Edit mode. Sculpt your cube (with Proportional Editing activated) so that it deforms your object the way you want.
Come back in Object mode. Now you can play with the Value of each Shape Key and insert Key Frames so your object is deformed the way you want at the moment you want on the Timeline.


Using bump node to achieve what displacement (on Bump mode) could do Hi, so we have bump node to achieve bumpyness of a surface and we also have displacement socket on (bump mode) that could achieve bumpyness too. But in screenshot above, i found out that displacement (on bump mode, no true displacement) makes a better result while using bump node, it's result is not as that good than displacement can do..
So, how to achieve similiar result like displacement socket using bump node? Is it possible?
My intention is because i need two different bump on 2 principled bsdf mixed together with an image as mask..
Thanks in advance guys
Regards

If you wish to combine displacements you can do so with the MixRGB node here is a basic node tree combining a cobblestone and bricks displacement map together, although not using the bump node you can try using your bump maps in the image textures:

This produced the result:

Note that the MixRGB node in the diffuse color socket was not necessary, only in the displacement socket. This setup can be used regardless of the other shaders, specular workflow or using the principled shaders will not affect it as the displacement socket is separate from the other material outputs. So for your situation of using two principled shaders together this is a time and effort efficient way of getting nice and detailed combined displacement results from two materials.


When Connecting the bump node I am getting these square patterns how to fix this? I was following an old tutorial by Andrew from blender guru he was using blender 2.76, I am working on blender 2.8.
Noticed this only appears when I have the bump node connected, am I missing something?

This is an issue with the geometry  and the lighting.

First of all, make sure your sphere object is actually set to Smooth. (right click on object - Shade Smooth).
Then, if that doesn't solve it, try adding more subdivisions. Modifier tab - add a Subdivision modifier.
Play around with the Size setting of your light. Size is, basically, how diffuse your light is. To use a real-world example, covering a strong flashlight with a thin sheet will increase its "Size" (in Blender terms). In my experience, this artifact is most prominent when using strong lights with small size.


Mirror object wrt. certain face I want to mirror object using it's face as a mirroring plane. For the example, I want to use the selected face on the cube as a mirror plane.

I created a custom transform orientation using that face, but is not the one which gets used by mirror modifier. I also positioned a 3D cursor at that face and then transformed origin to it, but then rotation is wrong (from local axis). I also see I can set mirror object, but my face is not an object. I added an empty, but it's orientation is not aligned to the face either.

I am out of ideas now. I think best way is to set local axis to that custom transform. I will be happy to do it anyway, because local axis are completely off and the object is hard to work with.

EDIT:

Result using the method suggested by MrZak and lemon:

I found a workflow for this task in Blender 2.79 that does not involve any snapping or creating empties:

Make sure your "Transformation Orientation" is set to "Normal" (usually on the toolbar just below the 3D view, next to the translate/rotate/scale buttons). Also make sure your "Pivot Center" (the selector just to the left of these same buttons) is set to "Active Element."
In 3D view object mode, select the object you want to mirror.
Assuming you want to end up with the original and the mirrored copy, as shown in the question's screenshots, duplicate the object (e.g., Shift-D then return). You can skip this step to just flip the object through a face, not leaving behind the original.
With the duplicated object still selected, enter Mesh Mode (Tab).
Select the face through which you want to mirror.
Now we want to select that whole mesh, leaving that face as the active face. Hitting "A" twice should accomplish this.
Now it is time to mirror. We need to mirror in the local z-axis, set by the normal orientation of the active face. What works for me is to hit "Control-M" for mirror, followed by Space (don't know why that's needed). Then in the panel to the left, a bunch of Mirror options come up, and I click on Z.
Note that the newly mirrored copy will have its normals pointing in the opposite directions of the original. If you want them pointing in the same directions, now is a good point at which to flip them. (For projects in which I am doing a lot of reflecting through faces, I bind the "Flip Normals" Mesh action to a key for this.)

That's it, you should now have your mesh reflected through the selected face; you can Tab back to object mode and repeat the process if you want to reflect again through another face.


vertex slide and snap not working together How can I modeling these case more efficiently?

This post is an extended question from the link above.
I have covered the efficient way of doing indent in the previous question.

Like the GIF above, I finished the indent and wanted to flatten the bottom with the finish. I wanted the vertices to move numerically precisely. If the underside was aligned with the world axis, we could solve the problem by using the axis locking function and the snap function together, but we wanted to use the vertex slide function and the snap function together because the bottom surface has a different slope from the world axis.

But why Vertex slide did not work with snap in blender? So I eventually zoomed in as far as possible and placed the vertex as close as possible to the snap point on the underside.

In fact, I'm working on visuals rather than on product creation and i don't need numerical perfection. So I'm not uncomfortable using boolean cutting to flatten it. But I wanted to know more about the modeling technique, so I wrote this question.

 How do I snap a vertex(vertex slide derection) to a plane with a different slope from the world axis?

GG doesn't snap, perhaps because if you use it on multiple vertices, they all move in different directions.. (I think it still could be implemented, but that's another story)

G along a defined axis does snap, so you just have to create a defined axis from the edge you're sliding down, by creating a Custom Orientation from it. In 2.79, that's CtrlAltSpace. In 2.8 there's no default keymap.. it's the '+' in the Transform Orientation dropdown in the header. Ensure 'Use after Creation' is checked. So it's:

Create a Custom Orientation from 2 vertices, or the edge you're sliding down
GYY move the selection parallel to that line, snapping the source (usually snap: 'Active', with a vertex made active) to a target vertex.

But this will only snap to a plane thrown perpendicular to the axis, around the source vertex. Sometimes that's not what you want. So more generally, instead, set a Pivot-Pointon the plane you want the entire selection to flatten to, whose normal is the edge you've made into a Custom Orientation, and SYY0 the lot.

You can make a Custom Orientation from 3 (or more) vertices, defining a plane. Blender generally  calls the direction down an edge or a curve 'Y', and the direction normal to a plane 'Z'. So to flatten to a defined plane:

Create a Custom Orientation from 3 vertices, or a face
Set a Pivot-Point you want your selection to flatten to, parallel to the defined plane
Hit SZZ0


blender crashes my entire pc Operating system:Windows 10
Graphics card: 980TI

Ive tested in: 2.82a 2.83

Every time i use cycles either for full renders or just the viewport after several frames it crashes, it doesnt matter if i use gpu or cpu they both crash the whole pc to a reboot my friend was able to render my file just fine and i cant seem to render anything more complicated then the start up screen in cycles
its my first day using blender and im not real sure what to do

Your CPU is too hot!

Why ?
When you ask blender to render, the CPU (and/or GPU) is used at it's maximum (100% usage at max frequency). This produces heat.

What can you do?
Check the air flow.
Global case airflow

The air has to be able to come in and out (clean the grids and case fans for dust) and through (move cables and anything that is in the path).

CPU Air Flow

Make sure the fan is turning and clean the dust in the fan and heat sink.

You can buy a bigger/better CPU fan/heat sink.
You can use watercooling if it's not enough. (technical and expensive but powerful)


How to set different colors to each side of plane I'm making an animation of origami.

animation test

It's not easy to understand overlapping portions.

I wanna set different colors to each side of paper.

I think you can do it by making it "physically" double-sided, which means:

In Edit mode, Select all faces, then ShiftDEnter to duplicate it, then CtrlN (or CtrlShiftN) to flip normals for all faces.
Add a new material and assign to the selection.
Make sure to toggle Normals when exporting.

It would work if WebGL can do single-sided render (I bet it can), which is normal-based, like GLSL. Or you can make two separate objects that overlap each other, and have their face normals completetly flipped.

If you just want to render it in Blender, here is the solution for BI:

And for Cycles:


bring the output of compositing into blender material node editor Hi is it possible to pipe the output of compositor directly into the material node editor ? the current workflow i use seems cumbersome, where i need to render out (file out) first then reimport inside material editor. It will be a lot practical and faster to bring the compositor output to material editor directly without rendering first.

Thanks

Compositing is a process that happens after rendering. Materials are input for rendering. Basically it is not possible to change these steps expect when rendering out to an image and then import it in a material node.

This fixed pipeline is normal in animations and vfx. Compositing in these kings of pipelines are used to tweak the renderings without doing full re-renders.


Python: Apply object operator to dupli objects I wanted to apply an object operator (shade_smooth/flat) to linked/dupli objects, but can't find a way to pass the object to this operator.

import bpy

# flat or smooth
flat = False

for ob in context.scene.objects:
    if ob.dupli_group and ob.dupli_group.objects:
        for dob in ob.dupli_group.objects:
            if flat:
                bpy.ops.object.shade_flat()
            else:
                bpy.ops.object.shade_smooth()

Of course this doesn't work, because it applies on selected objects only. Was surprised to see this even works from the python terminal, without the need to override context.

Any clues?

This uses selected_editable_objects, You can find out which attributes are used by passing in a Python context, and then check the terminal for where each requested attribute is printed.

(Yes, we know this isnt an ideal way to design the API, however this is internal C code which defines which context variables are used).

import bpy
from bpy import context

# flat or smooth
flat = True

# use a 'set' to avoid duplicates, can convert into a list after.
selected_editable_objects = set()

for obj in context.scene.objects:
    if obj.dupli_type == 'GROUP':
        group = obj.dupli_group
        if group:
            for dob in obj.dupli_group.objects:
                selected_editable_objects.add(dob)

context_py = context.copy()

context_py["selected_editable_objects"] = list(selected_editable_objects)

if flat:
    bpy.ops.object.shade_flat(context_py)
else:
    bpy.ops.object.shade_smooth(context_py)

Note: this would be more efficient to de-duplicate based on the object data, since its possible many objects reference the same data. But for the example above, its simpler to just take unique objects.


Why aren't most of the displacement noise options available in the node editor? For displacement, you have many options, such as marble, clouds, etc., but the node editor only has musgrave, voronoi, and noise. Why is this? Is there a way to obtain these noise options in the node editor? Any answers are appreciated :)

The textures you find in the node editor are render engine based shader nodes, what you see is dependent on currently active render engine, and only available at render time, and in some cases to the basic OpenGL viewport preview.

On the other hand, textures available for Displacement (or any other modifiers for that matter, like particles, hair, painting among others) must be available at all times, even before rendering, and regardless of the currently active render engine, such as third party ones.

For the purpose of this answer I'll assume you are using Cycles as active render engine, and by the "node editor textures" you mean Cycles Shader nodes.

As such the textures you find in the node editor are Cycles Shader textures, capable of GPU computing and other Cycles exclusive features. They only really work if Cycles is used as render engine, and are generally computed at render time, making them unavailable for use in modifiers.

For modifiers, Blender Render based textures are used instead since these have been around far before the emergence of Cycles. They supporting a different set of features and aren't bound by the same constraints required by Cycles. These are computed in different ways, on CPU only, and rely on Blender Internal, and as such are is available at all times even if Cycles isn't being used.

You can't really use Cycles shader nodes for modifiers, and the opposite is also true, you can't use Blender Internal textures for Cycles shader trees.

For future Blender 2.8# version there are plans to retire the old Blender Render based textures and replace them by a modern Cycles compatible node system, but it will not be available any time soon


Render plain SVG without shadow quickly What is the best way to render a 2d animated video which is made of imported SVG files from Inkscape? I already set the Environment Lighting (to 1.250) and set the Gather to Approximate. This only gives nice results with an error lower than 0.200, otherwise there are artefacts like gray circles. I am using the Blender Render (should I use Cycles Render?) and would like to have a FullHD Output (1920 x 1080) with 24fps for my 5 min long video. Currently it takes almost a minute per frame (I have a Core i5 6600).
I hope there is a way to improve my render settings...
Thanks.

(Look I want to achieve: https://www.youtube.com/watch?v=WSKi8HfcxEk)

Use Shadeless material option in the Properties panel for each material,and that will keep you from having to use things like AO or anything like that. You can mimic the shadeless material in Cycles with an emission shader on everything, but I think the rendering in Blender Render for this type is faster.


Is it possible to make stains from a fluid simulation? I'm working on a fluid simulation and want it to look like wine pouring into the cup and overflowing, but I've been looking for ways to add stains on the cup from the fluid simulation. Can you do that?

Making stains from fluid stimulation would hamper your scene performance as it would cost too many polygons (Fluids are expensive) and also it will be really difficult to do something like that as fluids are meant to flow not stay on a mesh like stains so the simplest and most effective way is to use texture projection to project stains on your mesh or you can also make custom texture combined with some roughness and bump maps to make some part of your texture look like stain.


Can I use existing curves with the "Stroke method -> Curve" in "Texture Paint"? Curve stroke in the Texture Paint mode is very handy at times. In my case I want to use an existing curve instead of creating one by hand. However it does not show in the Paint stroke curve selection menu. Is there a way to use existing curves to project a brush stroke on texture?

Stroke method curves, though stored and named for recall, do not function as regular curve objects or can they be converted to regular curve objects. This is actually something I asked for as a feature request - that they be able to be converted to and from stroke curves just like mesh objects can be converted to curves and back again.


Freestyle strokes not appearing in Cycles texture bake First of all thank you for taking the time to read this question. I'm new to Blender, been using it the last week and I'm having great results so far, I've learned most of the basic stuff on both renders.

Since I'm working on a cartoonish project I had this idea, instead of hand painting textures, I'd simply use the Freestyle option and end up with a nice cartoonish texture from baking.
After trying it on two projects, it baked successfully but without the freestyle strokes.

So I came to the conclusion it either doesn't work in baking, since it is the last to show up when rendering and only when pressing "F12" not in rendered mode (probably just a childish assumption) or I don't know what to do to get it working.

So how do I bake a texture with Freestyle strokes?

I'm also including some pictures of my scenario, freestyle working fine in final render (F12), but not showing up on baked textures or rendering mode.

I'm fairly certain that Freestyle is a post-process type of render which means that when it happens it's more like what happens in the Compositor or Photoshop/Gimp.

Even though the depth buffer can be captured as a flat image to help with 3D reconstruction,
when you add detail to a flat rendered image like this, there is no information available for the parts of the model which are not seen by the camera.(back-facing)

So as a post-process, Freestyle can add lines to the edges of model but only so far as those edges are viewable by the camera that was used for the render.

We cannot:
(i)   take a picture of a giraffe using a camera,
(ii)  print the photo,
(iii) and then turn the photo around to see the reverse side of the subject in a 2D picture.

So far as Freestyle is concerned, the Cycles/BI Render is a 2D picture.

Even if Freestyle was run after a Cycles bake job;
it would still only be run after the texture bake has completed; just as it only runs after a camera render has taken place.

It's post-process.

Instead, you can duplicate your model then add a Wireframe Modifier.  Selectively delete geometry.

Add an Emission Shader to the wireframe.

Now bake,

You may also want to bake an Emission Mask so that a GLSL shader won't overwrite the glowing areas with Directional lighting.
Just make the model'White'(1.0,1.0,1.0) and make the Sky solid Black

The Blender Render(Internal) Settings for masks like this can be found in the Textures Tab next to Materials.  Various game engines can make use of masks in a similar way.

Just make sure to add the Mask as the 4th channel(alpha) for Blender or else it may not be used by Emit, Specular, Exponent, etc...

If you would like the baked lines to be black instead of Emission, then just use a regular Diffuse Material and the Shadows/Occlusion should make the lines black.


How can I add drivers for custom properties? Suppose that obj is a object. If I want to add a driver for its scale X, I can do

d = obj.driver_add("scale", 0).driver

but if obj has the custom property var, the following

d = obj.driver_add("var").driver

gives an error:

Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
TypeError: bpy_struct.driver_add(): property "var" not found

How do I add a driver in this case?

The datapath for a custom property is '["propname"]'

obj["prop"] = 34
obj.driver_add('["prop"]')


Rendering an animated Normal Map using Orthographic Camera in cycles I am using the ocean simulation to make an animating water texture.

I want to use cycles to render my simulation surface into a nice normal map to be used for better performance while still having the proper caustics of the simulation. All of the preliminaries are sorted already, I.E. The camera is set up, my ocean modifiers are set up properly, the animation is all ready to render, except for the actual coloring part of it.

When it came down to actually attempting to render the normal map, I got as far as feeding the normal geometry output into an emmission shader before I got stuck. The "Normal" output of the geometry shader doesn't behave like a standard texture normal map does, I'm looking for "Normal-Map Periwinkle" (or however the color is named) to show up on a perfectly flat surface, but it outputs as 100% blue (as I should have expected using this hacky method). I tried vector mapping and a few other things to rotate the input, but I don't want to do this a terrible, lazy way that gives me an improper normal map, What should I do instead to make sure this gives me a normal map that will actually work properly for anything I use it in?

I thought maybe normalizing the vectors would do it, but I have no idea how to work the node so I couldn't figure out how to set that up. If anyone knows the real way to do this, I'm sure this is probably the place to ask. I tried another method that LOOKS correct, but I can't tell if it's 100% right: I subtracted 50% blue from the colors, and then added 50% white. it looks correct, but I have no idea if the colors are in fact correct. If anyone knows a setup that would cause 100% accurate results, I would greatly appreciate it.

Update: Everywhere I look, it's apparent that the flat/default color for a Normal Map should be R=0.5, G=0.5, B=1.0. However, in blender, when I sample a normal map with the color picker, I get R=0.212, G=0.212, B=1.0. Because of this, I realized that blender does not handle the colors properly for this particular purpose.

Incidentally, after using the Color Curves node to remap x=0.5,y=0.5 to x=0.5, y=0.212, my test hemisphere normal map ended up almost indistinguishable from one which I baked properly, unfortunately, as with all other methods so far, subtracting it from the proper one in compositing revealed it's still not a perfect normal map.

Still looking for any input on how to fix this.

I have made a test setup that works, at least as far as I can tell:
First, it's important to set the Colour Management display type to sRGB/RAW (or to None) and the gamma value to 1.0. This makes sure that the render output is stored into the output file in a linear manner. It shouldn't affect how the RGB values are shown inside of Blender though, so this should always be correct.

Then a glance at how Blender expects normal maps to behave and how it stores the normals internally helps with setting up the material. Information on this can be found here: Wiki: Bump and Normal Maps
Quote:

Red maps from (0-255) to X (-1.0 - 1.0)
Green maps from (0-255) to Y (-1.0 - 1.0)
Blue maps from (0-255) to Z (0.0 - 1.0)

In other places, the blue channel is also mapped from -1.0 to 1.0. Either way, this means that the red and green values have to be remapped accordingly. Optionally, this applies to the blue channel, too. This is easy to achieve using math nodes (here for blue from -1.0 to 1.0):

Then, using an orthographic camera from the top, the follwing result is achieved:

Here, camera-facing surfaces have RGB values of (0.5|0.5|1.0), as expected. Also, the colours stay between 0 and 1 in all areas, but use the full range. So this looks good to me.


Texture looks very bad? The texture appears not good on the object. I need it to fit the size.

From what I see in your screenshot, your UV islands don't fit the scale of your model. This is almost always the case if you didn't apply the scale of your object.

Move the mouse to your 3D viewport, be sure to be in Object Mode, then hit Ctrl+A, which should open the "Apply" menu. Select "Scale".

After that you need to unwrap your object again to get the exact UV representation of your model.


Project road on a landscape Need to project mesh of the road onto landscape that is not flat

Tried Shrinkwrap modifier and the result is as on the 2nd screenshot

If nothing works, how can i just draw the road on the landscape with a brush?

Shrinkwrap with a Solidify modifier below seems like a good solution, but you need no subdivide your road a bit:


How work with CAD 'stl' imported object files I imported a CAD drawing of an airplane in 'stl' format into Blender.  I left the windows out, because I want to make them clear glass.  When I import the window separately, in 'stl' format, I am unable to make them glass & transparent.
WFR

I just tried it with an STL file, and it works fine for me.  Steps I used:
1. File:Import:STL
2. Select file and import
3. Select the newly imported object (right click)
4. In the materials panel, add a new material
5. Check the transparency panel
6. Change alpha slider to desired transparency


How to move/Change UV map manually? IDK How to ask but "I want to move my UV map parts."
I have some UV like this :

And I want it to be like This :

How?
sorry if I ask stupidly.

Note 1: this UVs are hand made to just show the question.
Note 2: it's don't have to be just on blender I have ZBrush too.

tanks.

In Blender, select the object, enter edit mode, open an UV/Image editor window, press the little icon which lets you select a whole UV Island in just one right click, then you can press G to grab, R to rotate and S to scale your UV island.


Lag when viewing meshes in texture shading mode I've been working on a ps1-style model, very low poly, and was UV mapping some textures onto the mesh, but when I tried adding another texture, the viewport started lagging a ton.

I could still move the mesh around, but it was extremely slow and choppy, like 1-2 fps. I changed the viewport shading to solid, though, and it worked fine again. I had been working with the texture shading on the whole time, so I'm just curious why it started lagging.

I'm using a Lenovo laptop running Windows, 8gb ram, intel core i5-7200u CPU, and am using Blender 2.72

I'd really appreciate any form of help with this problem since this is probably the furthest I've gotten on a project.

The textures I'm using are 5184*3456 in resolution, maybe that's the problem?

Ps1 texture for world maps reached a maximum of 1024x1024 pixels and a lot of "sharpening filter applied, from photoshop".
If you're using such an old computer, the maximum texture will be 1280x1280 pixels for Ps1 styles. Your texture is causing the lag, yes. Upgrade to Blender 2.79. Most of texture mip issues have been solved there as well, if you don't want to go to 2.8.


Constrained depth of sculpting In Sculpt mode, I need to fix Adding/Substracting of the object to a minimum/maximum depth, that I've predetermined. I need the whole mesh to be smooth, as if I used normal brush but with a Layer, prohibiting me from adding or substrancting furthermore.

I've tried to:

1) Use Layer Brush:
I've set the Persistent Base to the desired range, but it doesn't do the trick because a new stroke resets the depth and paints on top of the previous stroke. There are smoothing problems as well - at the edge of the brush, where Layer ends.

2) Use Mask Brush:

I've applied Solidify modifier (without the rim), then temporary hidden the outer shell and Masked the inner shell in Sculpt mode.

The Object (with revealed outer shell) can not be substract under the masked depth, but with the radius of the brush as a minimum depth level (outer shell still penetrates the mask).

Also, this method does not allow me to set a maximum depth level.

3) Is there a way to use a solidified mesh with Mesh Analysis to check dynamically if adding/substracting of the outer shell is out of a thickness range and then mask the vertices to lock them in position?

Any ideas how to improve the methods I used? A better method in mind?

Any help would be greatly appreciated.

Maybe this can be of help you.

you might use a solidify modifier to a certain seize, on a copy of your object.
Then in blender 2.82 in sculpting there is a remesh option. (top right main drawing window) this does do a voxel based remeshing of your model.
You then have a model that is a certain seize larger, thanks to that remisher it hasnt got wrong inner faces (its only the outside).

Then you can use this object in boolean operations (maybe first substract it from a cube, then use that cube shape to remove outsides from your object (ea double anti modelling).

Be aware though that boolean can have its own complexity errors (make sure to have normals recalculated outside before you start using it on all objects).


How to avoid grainy renderings in Cycles? I've read this question and its answers, but they didn't solve my problem, so I am re-asking this question under the context of my setup.

I am rendering some planes under HDRI lighting. These planes' material is a mix of transparent BSDF and diffuse BSDF (with 0 roughness!).

To avoid the grainy renderings (or fireflies, as some other people may call them), I tried the methods mentioned on the internet. Specifically,

Sample number is et to 128
Light paths are set to "full global illumination," where maximum numbers of bounces are all 128 (but this also means caustics are on. Maybe I should try turning them off. Thought they contribute to photorealism, the graininess I current have is unbearable...)
Filter glossy is set to 0.5
world.cycles.sample_as_light set to True, as I read from a article by Andrew Price

Despite all these efforts, the results still look pretty bad. Worse still, I have those weird white dots that seem like missing pixels...

Is this completely hopeless? What else can I attempt?

Sample number is set to 128

Unless you have the "square samples" option enabled (which turns it into 128^2 samples, aka 16384 samples), 128 is not high at all. Set it higher.

  Light paths are set to "full global illumination," where maximum numbers of bounces are all 128 (but this also means caustics are on. Maybe I should try turning them off. Thought they contribute to photorealism, the graininess I current have is unbearable...)

I'd advise never using the Full GI setting unless you specifically want to wait around for awhile to get every last lighting detail. The benefit of extra diffuse bounces drops of FAST after 2-4. Glossy and transmission often need more to avoid dark reflections/refractions, but 128 is overkill. Try 4-6 for glossy and 10-16 for transmission.

  Filter glossy is set to 0.5

Try 5.0. 0.5 is barely enough to even do anything.

  world.cycles.sample_as_light set to True, as I read from a article by Andrew Price

Do you know what that setting actually does? If not, give this a read: What is multiple importance sample option While that option is usually the right call for scenes with HDRIs, you should understand WHY you are enabling options, not just flipping them on because the tutorial said to.

Generally, here's my steps for cutting down render time and noise, in order of increasing desperation:

Turn on filter glossy
Disable refractive caustics
Turn off diffuse visiblity on mesh lights, add a lamp object to cover the missing lamp.
Lower diffuse bounces
Disable reflective caustics (they're generally softer than refraction caustics, so less noise and more contribution)
Turn on clamp indirect. Remember that it clamps sample values and not final pixel colors. Mind what white point you're using if you have enabled exposure options, post-processing, the filmic-blender LUT kit, etc.
Turn on clamp direct (absolute last resort, avoid this setting if you can).


Mirror modifiers and multiple Textures I would like to mirror textures independently. I know using flip U or V in mirror modifier does the job but it flips all textures. I would like to know if we can mirror textures independently without affecting other textures.

[Note: The above image is the mirrored side]
I would like to only flip the logo and not the doors and windows.

I also encountered that problem while modeling my aircrafts. There are two possible solutions:

The first option is to duplicate the surface where you will put the
logo then separate it into a different object. After that, move or
scale it just above you main object to remove intersections of
meshes. you can now put the logo (make sure it has a transparent
background) and reverse since it is now an individual object and it
will not affect other textures.

The last option is to apply the Mirror modifier then create a new
material just the same as on the other side but the logo that you
will now input into your image texture is reversed. This will be the
texture that you will put apply in the mirrored side of you
aircraft.


Texturing the sides of a cube (without UV mapping) only appearing correctly in Rendered View? I'm working on a Minecraft themed map, and have a ton cubes. Some cubes require 3 materials (a top texture, bottom texture, and sides texture). When I apply the top and bottom materials, it applies it correctly. However, when I apply the side material, it looks distorted and smeared, and only appears correctly when viewing it from the Renderer Viewport (rather than the Material Viewport).

Material View:

Rendered View:

Is there a way to fix it, without resorting to UV mapping?

I am not optimistic that there is a way to "solve" this without using UV maps.

If it is any encouragement, understand that many people before you have converted minecraft data into 3D data sets:  http://www.purplefrog.com/~thoth/minecraft-webgl/two.html ; and they used UVs.

I can't remember why I wrote this, but it is python code that makes up a UV map based on the position of the vertices relative to whichever of the XY, YZ, or XZ planes they are most aligned with.

Here's a copy inline:

import bpy
import bmesh
from math import *
from mathutils import *

def set_uvs_for_face(bm, fi, uv_layer):
    face = bm.faces[fi]
    normal = face.normal
    dx=abs(normal[0])
    dy=abs(normal[1])
    dz=abs(normal[2])

    if (dz > dx):
        u = Vector([1,0,0])
        if (dz>dy):
            v = Vector([0,1,0])
        else:
            v = Vector([0,0,1])
    else:
        v = Vector([0,0,1])
        if dx>dy:
            u = Vector([0,1,0])
        else:
            u = Vector([1,0,0])
    for i in range(len(face.loops)):
        l = face.loops[i]
        l[uv_layer].uv = [ u.dot(l.vert.co),
                           v.dot(l.vert.co)]

def set_uvs(mesh, name=None):

    if name is None:
        if 0<len(mesh.uv_textures):
            uv = mesh.uv_textures[0]
        else:
            uv = mesh.uv_textures.new("cubic")
    else:
        uv = mesh.uv_textures.get(name)
        if uv is None:
            uv = mesh.uv_textures.new(name)

    bm = bmesh.new()
    bm.from_mesh(mesh)

    uv_layer = bm.loops.layers.uv[uv.name]

    for fi in range(len(bm.faces)):
        set_uvs_for_face(bm, fi, uv_layer)

    bm.to_mesh(mesh)

#
#
#

mode = bpy.context.mode
if 'OBJECT' != mode:
    bpy.ops.object.mode_set(mode='OBJECT')

obj = bpy.context.active_object
set_uvs(obj.data)

if 'OBJECT' != mode:
    bpy.ops.object.mode_set(mode = mode)


How can I improve my render of a Minecraft map? I am trying to render an image of a Minecraft map I have imported into Blender.
The quality is hideous, please help me fix it.

Render:

Map:

It seems, the light is too intense in your scene. Try to select the Sun Light and adjust it's Strength until you get more acceptable results:

You may also want to add a bit more light bounces or some ambient light and experiment with Filmic color management:


How do I use Dynamic Paint with the Image Sequence setting? Dyanmic Paint has two possibilities for the "Format": Vertex and Image Sequence.

I've been able to do it with Vertex, but when I do it with the Image Sequence setting, I'm able to output the .png files successfully, but when I render, I don't see any paint.  Could someone walk me through the steps involved?

My scene has just the default cube (set to Brush under Dynamic Paint settings) and a plane scaled up 5 times (set to Canvas).

(I'm using Blender Internal render if that makes a difference)
(Blender 2.69)

It turns out I was making a silly mistake, but I'll run through the steps in case it helps.

I'll assume we're starting with the default cube and the plane scaled up.

1) UV map the plane

Select the plane, hit TAB to get into Edit Mode, then press U.  This will bring up a menu.  Select Unwrap.  Hit TAB to get back to Object Mode.

2) Give the cube some motion

In order to actually see the paint, you have to make the cube move around.  So give the cube some motion in the XY-plane.

3) Enable Dynamic Paint

Select the cube, go the Physics tab of the Properties window.  Enable Dynamic Paint, click on Brush and then "Add Brush".

Now select the plane, click on Dynamic Paint.  Make sure that Canvas is selected.  Hit "Add Canvas".

Change Format to "Image Sequence".  Under the Dynamic Paint Output header, click the box next to "UV Map" and find your UV map you just created and select it.  (It'll probably be called "UVMap")

Just underneath UV Map, you can select where you want the texture images to be outputted to.  Hit "Bake Image Sequence".  I believe you have to bake it.  You can't just render.

4) Give texture to plane

With the plane still selected, go to the Materials tab of Properties window, and hit New to give a material.

Now go to the Texture tab.  Make sure the Material Textures button is selected (this is where I messed up).

Hit New to give the plane a texture.  For Type, choose "Image or Movie".  Scroll down to the header Image, and click on Open.  Navigate to the folder where you outputted your images to and select the first image (probably called paintmap0001.png) and click on Open Image.  Then look for Source, which you should set to Image Sequence.

5) Render

That's all.  Just render it and you should see the paint.