Is rendering supposed to take this long with these specs? (40 sec per frame) I have never used blender besides rendering some intro templates. But, I decided to try to do some basic animating. I did 621 frames of the animation and I decided to render it out to see how it was going so far. I did it with PNGs so I could render the rest later. And it turns out its taking 40 seconds per frame so thats about 7 hours for 10 seconds!

My PC isnt that bad either, especially the GPU, which I am using to render with.

GPU: Nvidia GTX 970
CPU: Intel i5 4460
Ram: 16 GB (Cant remember
whether it's DDR3 or DDR4 but RAM doesnt matter that
much I dont think)
OS: Windows 10

If its supposed to take this long with a 970 then I don't know how animaters wait this long, especially ones with a lower end PC then mine.

Some additional Info about the settings I used:

Samples: 128
GPU rendering
256x256 Tiles
1280x720 resolution (720p)
30fps

Rendertimes depend heavily on what you render.
For example smoke takes ages to render.

For your render settings, crank the tilesize up to 512x512.

Your graphics card also isnt THAT fast. And 40 seconds per frame isnt really much ;)
In most of my projects, render takes up to several minutes per frame on my machine. Thats why renderfarms excist. For example, i had some smoke/fire sim to be rendered. It took about 15 minutes per frame.

So, again, it depends on what you render.

What do you render? Maybe you can optimize?


How do you animate or otherwise envelope the noise of an animation? Again, blender is extraordinarily unintuitive, I have no idea how anything is done or why the developers chose to set up anything the way they did, I'm just going to take a whack at explaining this and hope it comes across clear because that's the only thing I can do.

When I key-frame an animation for a bone in blender, then go to the graph editor, then open the otherwise hidden tab on the left by dragging the "+" symbol, it makes several sub-tabs accessible. One of those is the "modifiers" tab. Among one of the options in the modifiers tab is "noise."

When you click on this noise modifier, it does what you'd expect by adding noise to whatever key-frame sequence you have selected in the main graph editor window.

However, I want this noise to change over time. I want the noise to start out with a low amplitude, then grow to a big fluctuating amplitude.

But, when I right click on the parameters in the noise modifier tab, there is no keyframing option.

So how do I accomplish this?

To open the Graph Editor right panel, press N.

It looks like you can’t keyframe the F-curve modifiers values (I don’t know why though), but you can influence the course of the modifiers through the time by several methods:

As explained here: "You can create empty, set Noise on it, and copy location from it using constraint. So you can animate constraint’s influence, this is the way to key noise’s influence." Maybe it can suit your needs?
You can also open the Restrict Frame Range menu of your Noise modifier and play with its start and end values.
You can add an Envelope modifier after your Noise, add as many Control Points as you want and play with them to restrict or expand the effect of the Noise.


Parts of rigs and items wont show in the final render I have tried all the visibility Icon in the object menu as well as the camera in the outlier.  Neither are the case and I dont know what is going on.

Select your objects on the second layer and press W and choose to Clear Restricted Render. Should all be fine now.


Value for Z-axis affect the Y-axis When I create a simple cube the objects blue Z-axis is ponting up, but when I'm still in object mode and want the change the dimension in the N menu, it's not working like when I create a new file.

I want to change the hight and enter a new value for the Z, but it affect the Y axis! I compared with a new file and there it was all OK, but not in my current scene. It worked well from start. I think I have activated some settings without knowing and I'm a bit lost and not nowing how to reset this setting or what it could be?

In Align to: View mode, the cube is created as the user has the view oriented:

Whereas in World mode, the cube is created aligned with the world axes (irrespective of the user's view):

Also, make sure your transform orientation is set to Global is you want to transform your object based on world axes:


selecting many objects inside blender and export them as seperate .obj with one click? I am currently working on a huge scene with modular building blocks and for the moment I have to export one object at the time which is extremely time consuming. Is it any way to select say 30 objects inside Blender and use the .obj exporter/some kind of script to export each object separate instead?

certainly! but it's a little hacky.  Run this from text editor for a few objects selected. Make sure to change the folder to a valid path.

import bpy
import os

folder = '/home/zeffii/Uploads/'

selected = bpy.context.selected_objects.copy()
bpy.ops.object.select_all(action='DESELECT')

for obj in selected:
    name = obj.name.replace('.', '_')
    obj.select = True
    fullpath = os.path.join(folder, name + '.obj')
    bpy.ops.export_scene.obj(
        filepath=fullpath,
        check_existing=True,
        axis_forward='-Z',
        axis_up='Y',
        use_selection=True,
        use_animation=False,
        use_mesh_modifiers=True,
        use_edges=True,
        use_smooth_groups=False,
        use_smooth_groups_bitflags=False,
        use_normals=True,
        use_uvs=True,
        use_materials=True,
        use_triangles=False,
        use_nurbs=False,
        use_vertex_groups=False,
        use_blen_objects=True,
        group_by_object=False,
        group_by_material=False,
        keep_vertex_order=False,
        global_scale=1,
        path_mode='AUTO')
    obj.select = False

Most of those options in export_scene are default and you can remove those lines, or comment them out, but some of them may be useful if you want to change them later.

There's a nice Template for this in (with a slightly different approach - as in, it checks to see if the destination is valid first, which is handy if you aren't too familiar with paths):
TextEditor -> Templates -> Python -> Batch Export

update:

https://gist.github.com/zeffii/529d435d5853e92dcc51

I'm not entirely sure how to inherit all the properties from the original exporter operator for objs. I could add them individually if you need specific props, else it would be wasted effort adding them all.

With the exporter code, you navigate to select a folder, don't have to type any thing, just hit the Export selected Objects as obj button at the end.


Append an object without its associated objects When I append an object, it also appends a lot of other associated objects, such as it's rig, and even the rig's custom shapes. And if I append an armature object (not just the data), then i also get all of the objects that use it, and even other rigs on those objects and their custom shapes. This makes for a massive cleanup job any time I want to grab even a simple accessory from a previous project.

Is it possible to link an object without getting it's associates? I am aware that I can link only the object or armature data, which avoids this problem, but then I lose my modifiers, constraints, etc.

While apending, in the file browser, untick the option Localize All at the bottom left settings panel.


Making a property change when an animation ends? I've been trying to make a blender game in first person, so i want to change the property "step" to one after a camera animation plays, then back to 0 after the second animation plays. So I was wondering if any of you could help me?

if you need more detail look down here:
(camera is turned at 90 degrees positive local x)

The first animation has the camera swings in the negative local y axis and turns back to 0 degrees.

the next animation swings in the positive local y axis and back to 0 degrees

Property "step" type Integer

Actuator sensor

The actuator sensor can tell you when an actuator deactivates. In your case it can listen to your action actuator.

Remarks:

Ensure to evaluate the sensor status after the observed actuator gets activated. Otherwise you might trigger the next operation before the action actuator even started to play something.

Frame property

The action actuator allows you to setup a property to receive the currently played action frame. With a property sensor you can sense over that property to act according to the current frame.

Remarks:

To measure the end of an animation, you need to setup the end frame twice (at the action sensor and at the action actuator)
Frames are no integer. Any equal checks will fail. You need to perform range checks.

Frame counter / Time measurement

Establish a setup that constantly increases a property by one. This enables you to trigger actuators after certain frames.

Remarks:

There is no direct relationship between counted frames and animation
You need to be sure that the counted frame number matches what you are measuring (the duration of the animation).


objects in scene are not appearing in final render but are in render view - cycles I am using Cycles 2.79 to make a render for a customer and when I render it, only renders one head from one of the various characters and scene objects. I show that on the first photo.
But in render view it shows the whole scene which is shown on the second photo.

I need help on how to fix this!

I think I know what is going on but it may not work in that version but if it does:
This is a very common problem and easily fixed, firstly go into the top right and open an outliner window.
Then that window should show which parts of the render are visible, if not open the tab shown here
This will then reveal which items are included in the render and which aren't by a greyed out camera icon.
Change this icon to the non greyed out camera and the objects should appear in your render.
Good luck!


VIewport View Rotates Weirdly Around Certain Object's Pivot When I rotate my viewport view, it always rotates around one of the object's pivot in the 3d viewport and I'm unable to move my camera around 3d view properly. If I move that certain object, my viewport view moves accordingly to that object. I've tried pressing (.) and (5) and other numpad numbers, It doesn't work.

Oh, I just solved it myself. It seems my camera was locked to that object in the N menu in the "view" section. I just removed object from there.


Blender 2.77 - how to have my default workspace always with top, left, right, perspective like 3D studio max? I am new in Blender 2.77, when i open it, i always get one view point "User Persp" how can i see at once left, top, right and perspective views? (like in 3d Studio max there is 4 view point in one GUI)

Press Ctrl+Alt+Q while your mouse cursor is over the 3D Viewport to Toggle Quad View. Press Ctrl+U to save the current blend file as the default one whenever you start Blender.

The Toggle Quad View function is also accessible from Blender's Python interface with the operator bpy.ops.screen.region_quadview() or from the Display Panel on the Tool Shelf:

Please note that after pressing Ctrl+U whatever changes you have made (no matter how small) to the current blend file will become startup defaults.


Why does Blender show trees in my glass cube? What I’m trying to achieve is an glassy object. Therefore I’ve opened a new scene in Blender 2.82a. I’ve Enabled Screen Space Reflections in Render Properties and set “Shade Smooth” for the object. I’ve set Transmisson to 1, reduced Roughness to 0 and enabled Screen Space Refraction in Material Properties. I didn’t do anything else. Entering the Viewport Shading view I’m seeing this:

I’m afraid this is as newbie as it gets, but I’m stuck. I’ve dived into various settings for an hour or so and I’ve tried to google a solution for another without having any luck because I’ve no idea what’s happening and why. Why are there trees reflecting in my glass cube in an otherwise empty scene? And how do I get rid of them? I’ve found a place where I can change the image by clicking on the upper right downwards pointing arrow. But I’m unable to remove it or to replace it with a plain color or whatever. I’ve tried to enable ”Scene Lights“ and ”Scene World“ but that’s turning everything into anthracite leaving me literally groping in the dark.

The screen space reflections in Eevee especially with highly reflective materials, for example metal with 0 roughness or glass like yours, will always show the environment like a mirror.
In Material Preview (Eevee is used, even if Cycles is set as render engine), you have a few HDRIs to choose from and if no Background is set up manually, Blender will use it's preinstalled HDRIs.

The default one used is the 3rd one.
Those are only for convenience and not necessarily used for final results.
Also the place where you set your own world environment, be it a color or HDRI, is in the World Properties:

The easiest way to set up your own HDRI, is to go in the Shading tab and do the following:

Switch the mode to World

In the Shader Editor press Shift+A to add a new Environment Texture Node.

Connect the Color output of the new Node to the Color input of the Background Node.
Now you can load a HDRI in the new node. You can find free HDRIs online (HDRIHaven for example). Beware though, they are rather big files if you want good resolution.
Lastly if you have an HDRI loaded in, you want to turn the Scene World option in the Preview Mode on, so it will use your HDRI and not the default one anymore.

Here how it can look:

mind that i did not set the cube to glass
In case you just want a color, skip all the steps and directly in the World Properties the color field above the Strength can be used to change and adjust the color used for your scene. I'd advice though against using the pure color, as it really is nothing else then making the entire scene be in that one color.
Here how that can look:

There are a lot tutorials out there, worth watching, as there are so many features, that it can be overwhelming at the start.
Happy Blending


Blender IK armature rotation issue importing animation to Unity I was making some animations and discovered strange artifacts when importing certain rotations to unity. When main body rotates while IK limbs move on their own, Unity seems to not compute correctly the positions of the baked animation, so the whole body seems to vibrate, moving the limbs in a completely wrong way. I attach the difference between the two animation tests I was doing for realizing when did this issue appeared.

I attach a link to the blender animation:
https://media.giphy.com/media/f6K0jitr4erEocGDZo/giphy.gif
and a link to the animation imported to Unity:
https://media.giphy.com/media/H62Vu0MDaAWqFej4JE/giphy.gif

I think you should apply your rotation and scale, by pressing ctrl A.


What is the fastest way to snap a bone to an object origin? The GIF I took above shows how to snap bones to the origin of objects using a 3D cursor as a medium.
But at some point, I felt tired of this manipulation.

In other common modeling or placement cases, snap options on the blender help you quickly deploy elements without using a 3D cursor.
However, I couldn't find a way to place the bone at the origin of the object.
Q : Is there a way to snap bones to the origin of the object without leaving the editing mode of the armature?

There are a couple of things you can do to speed things up.
First option is, assign hotkeys to snap to cursor/snap to selection.
Second option isn't actually in edit mode at all, but in pose mode.  Turn off locked object modes (in main edit menu), then select object, shift select bone, ctrl-shift-c (add constraint)-> copy location.  Don't worry about applying until you're done with all bones; when you are, select all, ctrl-a -> apply selected as rest pose, then use a "clear pose constraints" operation.
Hotkeys may vary depending on initial startup options chosen.
Neither of these is faster if you're doing a single bone.  But once you're doing it for five or more bones, they get a lot faster.


black artifacts when baking ambient occlusion When I bake with the bake mode "ambient occlusion" it ends in a horrible result.

Anyone know the reason why this is happening?

PS: It worked yesterday. I just opened it today and the model was black, so I
    hit bake again and it was then it happened.

I found it out. I had two object on top of each other. God I failed so hard haha... :/


How to Create a Vinyl Plastic Toy Shader? How can I make one of the vinyl toy plastic material like this?

Video: https://www.youtube.com/watch?v=8Njl5hLmGs0

Creating a Plastic Material in Blender Cycles

So I've been through the linked C4D tutorial and have adapted (where possible) the Octane setup that EJ uses to create the materials for the Apple caricature model. This is the result of my Cycles node setup:

Essentially, as EJ states, the plastic appearance of the material revolves around the subtle grungy roughness and bump texture applied to the surface. Although he uses a custom finger-prints grunge map to create a more worn surface texture, I have used a distorted Noise Texture node to achieve a similar, procedural effect.  Below is my node-setup for the material:

To begin, a Principled BSDF shader is added and connected to the Material Output node, and a desirable colour is chosen. From this, the first Noise Texture is thrown through a Color Ramp node and overlaid over a Roughness value, defined with the Value node. The purpose of this is to allow you to tweak the overall roughness of the plastic material and have it respond normally, yet with the texture intensity reacting procedurally on top. It's a subtle effect, but really goes a long way in adding realism (even if the even result is a stylized character!).
The second Noise Texture generates a much more defined and uniform pattern that is a lot smaller, and helps to add the subtle surface bumps on the plastic (shown in the close-up images) that would be created in the real world forming process. This texture is connected to a Bump node and then to the Normal input of the original Principled BSDF shader.

And that's about it! It's a fairly simple shader, however the combinations of nodes used, as well as the flexibility of the Principled BSDF shader, allow for different layered variations to be easily created and adapted to your needs. I've also uploaded my .blend file which you can download and play about with.


What is causing this unexpected shading in 3D view? I’m encountering an issue and I am wondering if anyone could help me figure out why my created 3D model is displaying this way in 3D view. I have tried to use correct language where possible, but I apologize in advance if my terminology is lacking, as I am new to blender and 3D programs.

I am attempting to create an object which shows up as Shadeless in 3D view. However, although I have created and applied a material which is Shadeless, some faces appear to be affected by lighting in the scene. This only appears to apply to the faces on the back of the character's head, and the character’s legs.

Even when I turn off Shadeless in the material, the problem persists in those areas. However, if I turn off Textured Solid (under the Shading panel in the 3D view), the problem is not present, leading me to believe this is potentially some kind of issue with the material as opposed to the mesh.

I have already tried:

Removing doubles
Selecting all faces and recalculating normals

Other things which may be of note:

Although the legs are separated from the rest of the body by a UV mapping seam, this is notably not the case for the area on the head.
The entire model renders with shadeless: the shading issue only appears in 3D view.

Here is a link to the blender file.

There's a few things.

The normals of the faces in those sections are pointing in the opposite direction of the normals around it, but that's not the problem you describe, however it might be a problem later, best deal with it anyway. You can flip selected faces, if 'recalc normals' doesn't quite get all of them.

There seems to be a Vertex Color layer, with specifically those faces coloured. Press the minus on this. That will wipe the vertex colours.

How this happened? Being new to an application it is probable that you accidentally went into vertex paint mode a few times.


Boolean Modifer Not Working Properly When I Try To Use The Boolean Modifier To Carve The White Object Into The Other One Via Difference, It Just Makes The Grey One Disappear.

Also This Does Not Occur When I Use The B-Mesh Solver, only The Carve Solver

Figured Out I Need To Combine It With A Larger Object, Apply The Boolean, Separate The Objects, Then It Works.


Blender renders blank image I've got a very large model. I can see it fine in object view, but it keeps coming up blank when I try to render it. Here it is in 3D view (through the camera):

...and here it is after it's rendered:

Everything's enabled in outliner, and all of the layers are checked for rendering under Properties/Render Layers.

I feel like I'm missing something obvious, but I'm at a loss. Any suggestions?

Solved it! I just set the camera's clipping too high, apparently!


How to convert sapling leaves to linked duplicates? Is there some way to convert many separate pieces of geometry inside one object to many linked duplicate objects?

For instance, sapling results in leaves that are all inside one object.
I want to somehow use the normal and position of each leaf/face to define the rotation and location of new linked objects.

Is this possible?

Getting the location is very easy but getting the rotation is not.

I don't know if you need the leaves to be rotated exactly as sapling generates them, but there is another way to achieve a very similiar result (if not even better) and have all leaves instanced.

Go into edit mode -> select all faces -> press P> By loose paths

To recalculate origins, press ShiftCtrlAltC and select Origin to Center of Mass

Now link all the objects to one leaf with CtrlL

Before the next step, it is important to hide everything because we will be using Proportional editing in object mode to randomize the rotations

Turn on Proportional editing (blue circle or shortcut O) and set its Falloff to Random

You also need to set the Pivot Point to Individual Centers

Then it's time to rotate either way you wish, rotation of the other visible objects will be randomized. This is the result after hitting AltH to unhide the trunk

This step is just an extra, to hide all the dotted black lines (relationship lines) you can uncheck them in the 3D View's N menu under the Display tab

This is it!

Could you elaborate why you need this? Maybe there's a different solution to the problem and this is an unnecessary step. For example you can get the rotation data through Geometry > Normal in the node editor for setting up materials.


Exporting UV maps to Gimp I'm following a tutorial on exporting UV maps to Photoshop.  I only have Gimp, but I figured the principals are the same.  I went to UVs -> Export UV layout.  Then I saved the PNG file to my computer.  Then I went into Gimp and opened the PNG file.  But all I see is an alpha background in the proportions and scale of my UV map.  There is no UV map, no colors, nothing.  Any idea what I'm doing wrong?

Nevermind, I figured it out.  I needed to select the whole UV layout with A before exporting.


how to find a mesh tips I have this mesh:

How can I get the object tips position with a python script?
Consider I don't want the bounding box tips, but the mesh geometry cusp positions

As dr. Sybren pointed out, there are many ways of defining "tips":

The most extreme points on the axis of the first principal component
The points that touch the bounding sphere/box
The vertices where the curvature of the mesh is over a certain threshold
The points where the highest intensity rays cast from the object center meet the object shape (a generalization of 1.?)
The points where the shape-aligned cutting planes have zero area (similar to 3.?)

(I've added a couple myself).
To avoid complicating matter further I'd stick with 2., points that touch the bounding sphere/box.

Use the convex hull.

The routine to find the minimum volume bounding box involves the creation of the convex hull. It occurs that the extreme points will be vertices on the convex hull.

Test script. Uses BMesh.ops.convex_hull(...) to create a convex hull mesh where the extreme points will coincide with vertex locations. The two furthest from the origin are chosen and an empty added at those locations. (Assumes the origin is already at center of geometry)

import bpy
import bmesh

context = bpy.context
ob = context.object
me = ob.data
bm = bmesh.new()
bm.from_mesh(me)
ret = bmesh.ops.convex_hull(bm, input=bm.verts)

verts = sorted([v for v in ret["geom"]
        if isinstance(v, bmesh.types.BMVert)],
        key = lambda v : v.co.length)

for v in verts[-2:]:
    loc = ob.matrix_world * v.co
    bpy.ops.object.empty_add(location=loc)

Notes: simple example above grabs two furthest from origin verts in convex hull. To find the 2nd furthest would find the furthest from the first furthest.  Will be arbitrary for something symmetrical like the sphere, where each point is radius from origin.

Simple test result on oblong


No suitably rooted paths error when trying to set action on object I'm trying to place a copy of an action onto another object.
My code seems to work, except when I try to set the action on the new object.
(I'm copying the animated viewport display rgb values, from the material of source_cube to the viewport display colors of target_cube)
The error that eludes me is:
Error: Could not set action 'the_new_action.002' onto ID 'OBtarget', as it does not have suitably rooted paths for this purpose
Any clues what I'm missing here?
import bpy

# Gets the action from material of object
def get_material_action(object):
    # current_object, material, action
    current_material = object.material_slots[0].material
    action = current_material.animation_data.action
    print ('getter: found:', action.name)
    return action

    #print ('current object', current_object.name)
    #print ('current material', current_material.name)
    #print ('current material action', current_material_action.name)

# Copies the action
def copy_action(action):
    current_action = bpy.data.actions.get(action)

    ### Create a copy of that action
    new_action = current_action.copy()
    new_action.name = 'the_new_action'
    print ('copier made: ', new_action.name)
    return new_action

# Sets the action on material of object
def set_action(object, new_action):
    current_material = object.material_slots[0].material
    # create empty action
    object.animation_data_create()
    object.animation_data.action = bpy.data.actions.get(new_action.name)

# Define source and target objects
source_object = bpy.data.objects['source']
target_object = bpy.data.objects['target']

# get current action from source
# Then copy and name it
# Then set action on target
source_action = get_material_action(source_object)
new_action = copy_action(source_action.name)
set_action(target_object, new_action)

print ('done')

Action ID root
The error is informing of attempting  to link an action which expects to be for a material onto an object.
The created action from keyframing property of  a material has 'MATERIAL' set as its ID root.

ID root
Type of ID block that action can  be used on - DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING

Py console example
>>> source = C.object
>>> mat = source.active_material
>>> mat
bpy.data.materials['Material']

>>> action = mat.animation_data.action
>>> action
bpy.data.actions['MaterialAction']

>>> action.id_root
'MATERIAL'

An object's action  would expect this value to be 'OBJECT'.
Material action -> Object action
Example, material action with only keyframes for  diffuse_color of material
>>> for f in action.fcurves:
...     f.data_path, f.array_index
...
('diffuse_color', 0)
('diffuse_color', 1)
('diffuse_color', 2)
('diffuse_color', 3)

the data path from an object to "viewport color" is  color
At the very simplest, could as above copy the action, iterate over the fcurves, make our necessary datapath change, set object id root  and assign to the object.
action = action.copy()
for fc in action.fcurves:
    fc.data_path.replace("diffuse_color", "color")
action.id_root = 'OBJECT'

Context
Customary in blender is to use the active object as a source and other selected objects as the destination.
source = context.object
targets = context.selected_objects
targets.remove(source)

for operators, having a poll method removes the need to test for  context.object being None


Python Create an array of vectors Basic question but I'm new to Python and I'd like to create an array of vectors. Unfortunately arr.append() isn't working...

Here's what I have:

for i, p in enumerate( someArr ):
    if x < y:
        locationArr = []
        location = obj.particle_systems[0].particles[i].location
        locationArr.append(location)
    return locationArr

Not sure what the location vector at obj.particle_systems[0].particles[i].location is ... object? Array? Output for an example is:
Vector((1.0000001192092896, 0.9654528498649597, -0.4224875271320343))

Thanks.

Duh, was defining the array in the for-loop


How do I morph between unrelated meshes I have 5 meshes that are "unrelated" - they're reasonably complex shapes (derived from medical imagery) stored in separate files created by a 3rd party program and imported into Blender.
I would like to morph from Mesh 1 to Mesh 2, to Mesh 3, and so on.

I've seen various answers on here with "ShapeKeys", but these only appear to be for altering the same mesh manually, that's not an option here.

Is this possible in Blender, and if so how?

Is your medical imagery made only of vertex (no planes)? If this is the case, you could morph one to another by using a particle system.

add a particle system to each object, with the same number of particles
create one additional object with the same number of particles
add Physics > keys in the last created object's particle system, create a key for each of your medical imagery objects.

Here is a complete tutorial about this.
https://www.youtube.com/watch?v=lPCs4XbGth8

Hope it helps!


Cycles removes assigned material from mesh faces altered by a displacement map, instead leaving them plain white Let me preface this with the statement that I'm a complete Blender beginner. Literally started modelling yesterday.

Here's the deal. I'm modelling a very simple tyre, and testing out different displacement map patterns, in order to be able to generate a nice complex tread in PS where I feel more confident, instead of having to model it directly in Blender. Here you can see said tyre in object mode with the map applied:

Whenever I render the image however, some weird artefacts show through on the tyre wall and more importantly, the tread grooves don't show the texture I have assigned to the mesh. It looks like this:

There is no doubt in my mind that this has some absurdly straightforward solution, but I simply have no idea what that might be. The only avenue of logic I can go down is that for some reason, at rendering time, the displacement map separates the mesh faces that it alters from the rest of the object, thus breaking the link between them and the assigned material. But what confuses me is why it doesn't do the same thing when I'm in edit/object mode.

OK, so this was not a Cycles problem.

Simply there is another tyre named "tyre2" in the scene which is hidden for the viewport but rendered :

To avoid it to be rendered, click also on the little camera icon on the right.


Export file format for Blender with Sound track I want to embed a blender object into a web application.
I want to use Blend4Web to convert it into HTML format.
a) Is it possible to dynamically configure the file path of the soundtrack (.mp3 or .wav) in HTML or JavaScript?
or
Which is the best file export format for exporting a blender object with a soundtrack included.
Please comment

I found GLTF/GLB is the right format for exporting


How to maintain driver positive values I have an empty object driving a cylinder (X) Rotation by empty (Y) Location. Is there any way to maintain Cylinder (X) Rotation on positive values even if I move the empty (Y) Location to negative values?

Yes, though you may need to change the driver to a scripted expression (easy to do). See The Blender Documentation for more info.
I’m guessing you copy-pasted the driver.

Right-click the driven property (purple) and click edit driver.
In the appearing dialogue, change the mode from averaged sum to scripted expression.
Put an abs(...) around the variable now in the scripted expression field to take its absolute value. For example, if the variable was position the code should be abs(position).


Difference in Appearance - Blender vs 3JS Transparent Materials I have been using three.js to display a model aircraft created in Blender. I used the program to add a transparent propeller to the model, using a built-in three.js texture called Basic Material and using a png file to create the propeller.
I am now trying to replace that propeller with an animated propeller created in Blender which uses the same png file (using the Principled BSDF shader).  However, when I display the result in three.js, the propeller is much darker.  Even worse, it becomes even darker when viewed in the direction of the light source - as if it is a shaded object.  Is there a way to make the Blender version look more like the three.js version?

Note that the three.js version seems to get brighter and more transparent when viewed in the direction of the light source - which is what I want.
EDIT: The description of THREE.MeshBasicMaterial says that it is not affected by lights.  Is there a way to create the same kind of material in Blender?

You could try adding a translucent shader mixed with a principled BSDF. To get less realism you could put specularity to 1 and roughness to 0. This could get you closer to your goal.


UV unwrapping: Blender always selects an edge ring as a "seam" So I have the following issue:

I'm trying to unwrap the top of this platform.
I choose some vertical seams on the sides (screenshot), with the objective that the unwrapped model will look like it was flattened from above.

The problem is, Blender always seems to choose one entire edge ring as a seam. I tried "Clear Seam" and "Clear Edge", with no results. This is causing some vertices split, and is giving me some problems when painting the texture.

Is there a way to tell Blender NOT to cut through a specific edge when unwrapping?

Hopefully you guys can help me achieve my expected result :)

Thanks in advance!

This is often happening when the mesh of your model is not all connected.

To merge vertices placed in the same position:

Go into Edit Mode Tab
Select all A
Open Specials menu W, select Remove Doubles

Unwrap the model again


How do you rotate an object so that a particular face is parallel to the ground? How would I make the face of an object parallel to the ground? I could just eyeball it and use the rotate tool, but it probably wouldn't be perfectly flat. Is there a way I could possibly snap the face of the object I want level to the top of a block (making it parallel with the block) and then delete the block?

Not sure if there is a more efficient way to do this but the method I most frequently use is through an auxiliary empty object to snap to the surface.

Add a Plain Axis Empty to your scene
Activate Snapping and Align rotation with the Snapping Target
Align the empty with the part of the surface that is to become the base
Now you will have to manually copy the three axis rotation from the empty to the object inverting them. That means if your empty's rotation is 10,50,30 you will have to paste in your target object -10,-50,-30
Apply the rotation to your object

Adjust it accordingly to fix the orientation by rotating 180º in needed axis.

Side note: It is usually helpful if your "flat face" that is to aligned to the ground is slightly subdivided so there's a few extra vertex for Blender to snap to.


Video doesn't show up in render I have never tried to do this so I am sure I am doing something wrong, but I have no idea what. It shows in the preview window but not in the final animation.

Images used as background in the 3D viewport are used for reference only and will not render unless you choose to combine them with the scene using the compositor.

Open a Node Editor window. Add a movie clip node and select your video clip. Set the movie clip to be used as the background input on an Alpha Over node and plug the render layers as foreground.

For Blender Render the setup is like this:

(click on the image to enlarge)

To Render using cycles this is the node setup:

Make sure that the compostitng box is checked:


Background image linked to mesh? I'm trying to add background images to my project. I added the first one fine, scaled and moved it where I wanted, but when I add the 2nd one for some reason it links to my mesh. If I rotate/scale/move either one, the other goes with it. Anyone know why?

Nevermind, I'm an idiot and had proportional editing on. :)


'requested item "......" does not exist' I'm a new python/Blender user
I'm trying to move an object using an Arduino. I've watched many videos and tutorials, and somehow i could write a code using others codes.
here is my code

import bge
import math
import serial

controller = bge.logic.getCurrentController()
own = controller.owner

serialport = serial.Serial('COM4', 9600)
sens = controller.sensors['run']

val1=0.0
val2=0.0
val3=0.0
p = pi/255

def run():
    if sens.positive:
            serialport.write('s'.encode('ascii')) #blender sends the ascii code of "s" to the Arduino
            n = serialport.readline() #receive data from the arduino
            val1 = (float) (n)
            val2 = (val1-val3)* p
            val3 = val1
            print ('The value is: ')
            print (val2)
            own.applyRotation((0 , val2 , 0),0)

#    own.position.y = val2

my problem is with the sens = controller.sensors['run'] when i run the game engine the following message appears:

Python module can't be imported - object 'Cube', controller 'Python':
KeyError: 'requested item "run" does not exist'

as usual i looked for a solution by checking questions of people have the same problem here and elsewhere. so i followed some of the best answers. such as, setting the actor flag in physics tab, some people suggested that reinstalling blender would help. nothing worked for me.
thanks anyway

Analysis

  Python module can't be imported - object 'Cube', controller 'Python': KeyError: 'requested item "run" does not exist'

This means you misconfigured the Python controller.

Either you use script mode and you refer to an not existing text block called "run" (the field should have red background).

Or you use module mode and you did not mention what file contains your code.

E.g. your code is called arduino.py. You can set up this line: arduino.applyRotation.

The BGE will look for arduino.py and check if it finds a function applyRotation.

arduino.py

import bge

def applyRotation(controller):
    sensor = controller.sensors["run"]
    if sensor.positive:
        ...

Solution

Ensure the file and the function inside of it can be found.

Hint:

If you want to use the module mode ensure to retrieve the controller inside of the called function. Otherwise you get unwanted side effects.


Making a bone rig for piston I'm trying to make a bone rig for a piston which will be a part of active aerodynamics of a vehicle.

I did find a video but it was on older version of Blender and confused me halfway.

How to make an armature which does the following:

(a) has a sliding movement for piston

(b) has a angular movement on which causes the piston to operate, or vice versa.

Considering that, one part of piston is a fixed to a body and the other part is what does the sliding movement. This sliding movement is connected to an upright bone which rotates on the other free end's axis.

To put it simply the upright bone is being rotated to a certain angle by the piston. The upright bone is 90°, the default angle, pointing upwards."

When working with 3D models, we often work the opposite way to reality, that is we would animate the aerofoil rotating and have the attached parts move to follow its movement. For what you are after you may not need any more than rotating the aerofoil, the interconnecting pieces of a cars rear spoiler may not even be visible.

There are a collection of constraints available that can simplify automated interactions of multiple components.

A piston is composed of two parts, one fitting inside the other and both pieces pointing toward the fixture point of the other. The TrackTo constraint is the easiest way to keep the two piston pieces in place as both ends are moved. You can find a simple example in this answer.

It is possible to build more complex rigs, in this answer a front-end loader rig is setup to move one bone that rotates the scoop as well as the attached parts that would control the movement on a real tractor.


How to remove lines from wireframe...? I made a surface and added a wireframe modifier on top of that. I want to remove just horizontal lines from the mesh. How can I do that..? Please help. I have highlighted it in the picture below.

I think that the easiest solution would be to remove wireframe modifier from this mesh,duplicate and separate from it edges, that you want to be thicker and add the wireframe modifier to this new mesh.


Can't move objects, only 3d cursor? When I use any command in object mode like, G or R, I cannot move the selected object, only this orange dot is moved. Not sure how I got here, but how can I get translation commands back to affecting the objects?

You need to press N on your keyboard and go to Tool. There, make sure that under Options is Transform. You need to uncheck Origins and the two others. That should fix your issue.


Shading issue on instances by vertices I am making some railings and instead of use the array modifier to repeat them, I choose to do it using instances by object's vertices.

My problem is at the point where instances connect. I have this ugly line between them...

Any idea how can I make connections look smooth?
UPDATE #1
And here is my initial mesh...

UPDATE #2

A file would be nice, so that we could be sure we were giving proper advice.  But what it sounds like is that you have geometry that acts connected between instanced objects, but the normals are discontinuous between the geometry.
Let's look at a cylinder.  When you split the cylinder in half, into two different half-cylinders, it's just like marking the midline edges as sharp.  In the full cylinder, these edges' vertices compute their normals from faces wrapping around the entire cylinder, but in the half cylinder, these vertices aren't using the same faces to compute their normals-- they only know about half the faces.  We can see the dividing line when comparing our whole cylinder to our two half-cylinders below:

So how can we can get the edge vertices to act as if they're part of an entire cylinder?  By giving them custom normals, copied from a whole version, with a data transfer modifier.
Because of the method (nearest corner of nearest face) we need to use the data transfer when the meshes are all in the same place, which is hard to show in a single picture.  When the normals are correct, we should apply the modifier; after that, we can delete the target mesh.  Custom normals require autosmooth to be enabled (but it will ignore the autosmooth angle once the geometry has custom normals.)


Text Not being exported to GLTF I am trying to export an object (above right), and I put 3D text (not a texture) on it.  But every time I export the glTF, the text does not come with it. Is there a way to get text, or is text not possible with the glTF format? In the image above, you can see the imported building on the left does not have the text, but I need the text to export.

glTF is a GPU-ready format that only supports meshes, not other types of geometry directly.  To make the text compatible with glTF, look for the convert option in the Object menu of the 3D view:

Object -> Convert To... -> Mesh from Curve/Meta/Surf/Text

If needed, make a copy of the text beforehand.  Once converted to a mesh, you won't be able to change the font or letters used, but you can apply normal mesh modifications to it.


Why texture painting without color? i am texture painting my model and i can't figure out this: i am trying to paint with this "pois texture" i have made (.png with alpha) but, as you can see in ther picture, it appear without its color on the mesh. (instead of purple)

My first time using Blender texture painting tools so i am sorry if this will result a very basic question.

While using a brush texture in paint mode the value of the texture is mixed with the brush color.
To paint with the original color of the texture set the brush color to pure white.


2D 'POST_VIEW' drawing with gpu.types.GPUShader(vertex_shader, fragment_shader) I can use gpu.shader.from_builtin("2D_UNIFORM_COLOR") to draw a square to a view (the nodeview), and give it a single color, but I want to use a custom shader. Does anyone have an example of POST_VIEW drawing in 2D using vertex_shader and fragment_shader with gpu.types.GPUShader:

vertex_shader = """
    in vec2 pos;

    void main()
    {
        gl_Position = vec4(pos.x, pos.y, 0.0, 1.0);
    }
"""

fragment_shader = """
    void main()
    {
        gl_FragColor = vec4(1.0, 0.8, 0.8, 1.0);
    }
"""
x = 0
y = 0
w = 150
h = 60
background_coords =  [(x, y), (x + w, y), (w + x, y - h), (x, y - h)]
background_indices = [(0, 1, 2), (0, 2, 3)]

shader = gpu.types.GPUShader(vertex_shader, fragment_shader)
# shader = gpu.shader.from_builtin('2D_UNIFORM_COLOR')
batch = batch_for_shader(shader, 'TRIS', {"pos": background_coords}, indices=background_indices)

shader.bind()
batch.draw(shader)

..which is just about the most basic shader I can come up with.

things i learnt:

to get the basic vertex shader working I needed to remove the call to shader.bind() .
if your shader gives a message

shader.uniform_float("whatever", ....) not found

it appears to be talking about the constant not being used in the shader, so comment out any shader.uniform_*s that you aren't using.

Unlike 3dview, NodeView does not have:

matrix = context.region_data.perspective_matrix

so in the callback one option is to use gpu.matrix.get_projection_matrix(), it looks something like:

def advanced_grid_xy(context, args):

    geom, config = args
    coords, indices = geom.coords, geom.indices

    matrix = gpu.matrix.get_projection_matrix()
    shader = gpu.types.GPUShader(config.grid.vertex_shader, config.grid.fragment_shader)
    batch = batch_for_shader(shader, 'TRIS', {"pos": coords}, indices=indices)

    shader.bind()
    shader.uniform_float("viewProjectionMatrix", matrix)
    ...
    batch.draw(shader)

that works with this vertex_shader

vertex_shader = '''
    in vec2 pos;
    uniform mat4 viewProjectionMatrix;

    void main()
    {
        gl_Position = viewProjectionMatrix * vec4(pos.x, pos.y, 0.0f, 1.0f);
    }

'''

nice.


Update mesh after using bmesh in object mode To avoid some unnecessary OBJECT/EDIT mode toggle, i'd like to be able to perform some actions via Bmesh in object mode.
Is it possible to update apply changes after a Bmesh action in object mode ?
For exemple, i try to select an edge with this little code but, without update, the edge not selected.

import bpy
import bmesh

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

bm.edges.ensure_lookup_table()
bm.edges[2].select = True

# need to update here

bm.free()
del bm

Try:

# need to update here
bm.to_mesh(me)

But then you'll need to switch to edit mode to see the selection.

As an alternative, you can do the selection entirely in edit mode with the following:

mesh = bpy.context.object.data
bm = bmesh.from_edit_mesh(mesh)

bm.edges.ensure_lookup_table()
bm.edges[2].select = True

bmesh.update_edit_mesh(mesh)


How to perfectly position these faces into this slot / area? (no gaps) I am trying to fit and join (connect with the rest of the vertices, so no holes) this selection of faces into an empty area.

The slot / empty area is the exact same size as this selection of faces, meaning it should "fit in" perfectly.

However, there are tiny gaps; the positioning is imperfect. Once I get it this group of faces to position perfectly so there are not even tiny gaps, then I should be able to remove vertex doubles and get what I want. But the hard part is... getting it to position perfectly. How can I preposition perfectly to ensure there are no gaps?

Your best bet is to use the snapping tools, specifically the vertex snapping mode, as others have said in the comments. The snapping tools take a little getting used to, but are really quite powerful. As I have noticed when using vertex snapping, Blender seems to take one vertex from your selection and try to snap it to the positions of others not in your selection while all other selected verts move in relation to the snapping vertex. Unfortunately I don't think you can specify which vertex will do the snapping, not exactly. You can however almost always change how the surfaces will attempt to snap together by moving the objects in relation to each other before hand.

The key is first placing your object so it can find a good snap, then moving it with snap mode. Using the ctrl key is really helpful for this.

For example:
If you are trying to snap cube A to above cube B, but cube A is somewhere off to the right side of cube B, Blender will only want to snap cube A on to the left side of cube B. However if you first move cube A somewhere above cube B, you should be able to snap cube A down onto the top of cube B.


is there a modifier to slightly shrink/grow mesh so it doesn't overlap? I have build a building model in Blender.
You can see through it (semi-transparent) to view the floors of the building.

Those floors are simple planes that have a boolean modifier on it.
The object used as boolean is another instance of the house, so the 'cuts' of the floors are done dynamically.

But then the floors are overlapping with the mesh of the (first) mesh house and it creates artifacts.

Is there a way to add a modifier or something else dynamically that I would enable on the boolean object (house) so that the mesh is a slightly smaller/bigger than the original house mesh so it does not overlap ?

Thanks !

Well, what I always do is select the model, tap the S key, or whatever you may have for scale, and then type in (actual numbers) on how much bigger you want to scale it.
I think it works best when you go to the Object Properties by hitting N and finding the model's scale, then choose either to scale it in the X, Y or Z axis. If all axis' are the same size, just click the highest box and drag down to select them all, find the number and increase it by 0.5 or if you wanna be really precise 0.05, just keep adding to it until you get the desired result.


Objects in outliner grayed out I have been using blender 2.79 and recently downloaded 2.8.
I was modelling a scene in blender 2.79 and when opening it up in 2.8 most of my objects are greyed out.
Everything is enabled in the viewport, nothing is hidden.
One object is still visible but the rest are not.

I have tried using the filters, changing the visibility in the collections to restore visibility.

The weird thing is, blender is saying that they aren't hidden but can't be seen in the renderer or in the viewport.

Can anyone help?

Thank you.

The objects are disabled in "Viewports". You need to enable the Restriction Toggle and then enable them there to make them visible.


How do I make hair particles color independent from emitter? I'm quite a newbie to Blender and I'm making my first face modeling. I'm having a real hard time on the eyebrows.

I'm using a particle system to make them, but my problem is that to change the color of the particle, I have to assign a material but it looks awkward.

As you can see in the image, to make the hair brownish, the only solution I found is applying it to a material. But it does not look great.

So my question is, is there a way to change hair particle color without being obliged to assign a material?

(this tricked also me) you need to add at leat two materials to the emitter mesh and then under the emitter setting you'll find both the materials (just select the one for the hairs)


How to create a hard straight edge while keeping this sphere's shape? I am trying to create an opening on this sphere which I created by subdividing a cube 3 times. I want the edge of the upper part of the opening not to be curved as shown in the picture so I added a proximity loop. But this messes with the overall shape of the sphere. In the second sphere I moved the edge loop a bit but the problem is still there. How should I do this? If possible only with quads and without the crease tool. This is how the second sphere looks like:

Start off by adding a cube, giving it a subserf with a level of three, and applying it.

Then tab into edit mode, and use the space bar to search for the "to sphere" operation. Use this operation, press 1, and press enter. This takes our cube which was almost spherical, but not quite, and turned it into a perfect sphere.

Then select the middle 16 faces, and inset them a little bit.

Then extrude those faces back, and scale them along the Y axis to 0 to straighten them out.

Then add a subserf modifer and move the edges closest to the outside of the hole, out to sharpen up the edge, and then add some edge loops around hole to create some sharper edges.

Then tab out of edit mode, and admire your finished result!


Regions are Shaded Weirdly I'm following the cup walkthrough on YouTube and for some reason, the inside of my cup has weirdly shaded regions.  Is there any way to fix this easily?  Or did I have an incorrect setting and I'll have to redo it?  I'm entirely new to this software, so any explicit details would be welcome.  Thank you very much.

As said above, in a comment, you should at least
- in edit mode
- check doubles W and choose "remove doubles"
- recalculate normals CTRLN

and in general check that you don't have duplicated geometry.

about the weird shading in the bottom faces, this is what happens, and how to solve (using a simple cylinder):

what happens is the effect of the bottom face being distorted by the subdivision surface modifier, without having some more supporting geometry to calculate a better shape for that 90° angle between the bottom and the sides.

here is this problem shown as flat shading

and here with smooth shading: less ugly but still visible.

To fix this weird bottom shades, we need to add some supporting geometry.
In edit mode, add a loop CTRLR

and slide it down almost to the bottom, confirm.

Now we need to do something similar for the bottom (n-gon) face.

Select it and delete (only faces)

now select this edge circle and extrude E, then press esc to stop the extrusion,

and instead scale it towards the center, using S

now extrude the inner circle (selected) again towards the center

and lastly close the inner small circle left open with F: it will create a small n-gon, but it won't create issues here. It could be converted to triangles or just quads, if needed.

Now, back into object mode, the subsurf is no more creating those artifact, since ther is now enough geometry on that corner to allow for a nice, uifomr smoothing.


Extruding / Scaling from reference edge (?) I'm a beginner in blender and am trying to model an axe for a logo, but when scaling the "sharp" edges, they scaled outward from the geometry origin, which made some edges go inward, instead of facing outward (showed in example foto). Is there any way to reference an outer edge loop to make the inner edge loop scale outwards from that edge, instead of from the geometry origin (if that makes sense)?
Blend file: https://www.file-upload.net/download-14381184/Draven_Logo.blend.html

If I'm understanding you correctly...
You want to create a sharp edge to your axe. The way I would achieve this is by using the Offset Edges which is now part of the Edit Mesh Tools addon.
First in object mode apply the scale (ctrl-a -> Scale) (I removed half the axe for clarity)
In edit mode remove the faces around the perimeter of your axe, select both faces and do Edge -> Bridge Edge Loops

Next add an edge loop to the centre of the new faces. ctrl-r -> hover over the faces -> left click -> right click (drop the loop in the middle)

Then choose Edge -> Offset Edges -> Move and play around with the settings

You have a LOT of verices around the edge of your axe, so you will get some edges crossing over each other if you pull out the edges too far, but this is a whole other issue :)


Black zones of zero weight insist in showing in my model no matter what I do and they don't move at all. What am I doing wrong? After skinning the model the same black areas keep showing. They do not move with the armature. I ctrl-J prior to skinning and still acts like it's not there! Can anyone help?

I worked with maya before and Blender is super new to me. So I don't know much about it but I got this far. I am doing this for work. confession: I brought this model from daz, and maybe that's why I am facing this geometry problem.

What's weird, is that I was able to fix it before in another model. I think what I did was painfully select all the black areas in edit mode and added the vertexes to a group. I was wondering, if I select those areas in edit mode, and add them to the root, will it be seen in weight paint? I don't want to do that, but if I have no other option...

I tried to get several screens

I found a solution: the blend on "add", then I painted the black areas in one of the upper bones in red (1.0). I guess in other words no weight had been assigned to those vertices and once I did, those parts move with every bone.


How do you make a character navigate along a grid in the BGE? I am currently developing a concept of a game, and a critical part is the character navigation. The game is based on a 2D grid, and I need to be able to navigate one block at a time, in only straight lines.

If it makes it easier, the scaling is non-critical, so grid blocks can be one Blender unit.

Your request is pretty simple.

Limit any movement to:

90 degree turns
steps of 1 BU size
do not use the physics engine

This assumes you want to move in discrete steps (in frame t the object is at A and in frame t+1 the object is at B without any intermediate steps).


How to make an animation node particle wiggle? I wonder if it is possible to have an existing particle setup (keyed) and then use an animation particle node that follows those nodes, but with a wiggle effect.

I have been trying particle nodes the whole day now, but with no results at all. The idea is that some object instance would wiggle around (normal) the particle setup.

Start by getting the particles from an object, each item from that list is an individual particle which you can get the location of by connecting to a particle info node. Then you mix a vector wiggle to the particle location and use that to set the location of an object.

Here I take the original particle z location and mix a wiggle into the x and y location to place an object that follows the particle downwards.

Add that into a loop to repeat for each particle.


What are these called in the User Preferences? I'm trying to customize my Blender Theme to make the colors easier for me to look at, but I'm currently stuck on where the Tool Shelves are located in the themes section of the User Preferences.

There are a few settings that control the tool shelf theme, such as Region Background, Region Text, Tab Active, Tab Background, etc. Note that each editor got its own tool shelf theme setting.


Blender 2.8 - Is there a way to retrace or resample the whole scene? I am a game programmer engaging in 3D art as a hobby. I recently started using Blender 2.8 but I noticed that whenever I make changes to nodes of a material, it doesn't update it in the 3D viewport until I close and reopen Blender and then my updates appear.
Am I supposed to click something to update the material whenever I make changes to the node?

If this issue sounds strange I can upload a video to show it.

Are you on a Mac? This is a bug in the current MacOS build of Blender 2.8:

https://developer.blender.org/T616411

A workaround is to make another change and then undo it by pressing ctrl+z


Distribute nodes of different sizes without overlaps in Node Editor (Python) I'm trying to write a function for my script that will distribute the standard 5 nodes along the x axis, without overlapping.

My current setup looks like this:

for index, node in enumerate((texCoord, mapping, texture, diffuse, output)):
node.location.x = 200.0 * index

This works well, and will separate the nodes equally at 200 px apart, which is fine normally but the mapping node is a little over-sized, and it covers my image texture.

Like so:

edit:
I have tried an if statement, that looked like:

for index, node in enumerate((texCoord, mapping, texture, diffuse, output)):
if node == mapping:
    node.location.x = 400.0 * index
else:
    node.location.x = 200.0 * index

but that does this:

I also tried adjusting the values, like so:

for index, node in enumerate((texCoord, mapping, texture, diffuse, output)):
if node == mapping:
    node.location.x = 100.0 * index
else:
    node.location.x = 250.0 * index

But that ends up not moving the texture coordinate enough:

I also tried using a while loop, but that crashes blender.

I feel like there is probably a better way to adjust for this size, but I can't think of anything.

Because nodes are not necessarily in the order we want in the node tree, I made a list of the nodes in their proper order (listing them from left to right). I then loop through that list and get the nodes by name in the node tree, moving them accordingly.

import bpy

nodes = bpy.data.materials['Material'].node_tree.nodes
list = ['Texture Coordinate', 'Mapping', 'Checker Texture','Diffuse BSDF', 'Material Output']
loc = 0
for i in list:
    nodes[i].location.x = loc
    loc += nodes[i].width + 50
    nodes[i].location.y = 0

The script is rather simple. I loop through my list of node names; then simply set the node's x location to the loc variable.
The next line loc += nodes[i].width + 50 is adding the width of the node, plus 50 (the margin around the nodes) to the already tallied widths.
Then next time around the next node will get moved over that amount.

The only important part is that you add the width of the node to the loc variable after the node has been moved.


Why are nodes not showing when I add a texture Ive installed Blender 2.8 and have been trying to find my way around it. I am working on an object and have got to the point where I add Materials. I have node editor up and when I select the object and add a new material, no nodes appear. I have searched multiple links on the internet and none of them have helped me find it. What am I missing and where are my nodes? do they need to be enabled somewhere.

Make sure you have all theese three elements present in your shading window.


Is there a way to see spots on a model that don't have any weight painting on them? I'm trying to get my model's head to pose correctly but when I try to pose it, some of the face (eyes) stays in one spot.

Here's the blender file:

Head up

Head to side

Head normal

What happened was, the "neck" vertex group had some weight painting from the "head" vertex group. All I had to do was select the "neck" vertex group and subtract from it.


Cycles SSS not working on AMD Radeon GPU From my google fu I leanred that SSS has been implemented on GPU for Cycles since 2.72 in the experimental kernel.  I'm on 2.78b and I'm just getting a black shader like when it doesn't work.  I installed 2.78c, and it's still not working.  Any guesses as to what setting may be borking me here?  Any ideas where I should focus my troubleshooting?

Blender 2.78c
OS:  Windows 10 64bit
GPU: AMD Radeon R9 390
CPU: Intel i5-6500 3.2 GHz

P.S. I can't create an SSS tag for this post till I have 300 reputation.  If anyone else agrees with me that SSS would be a good tag and has 300 reputation, feel free to tag it :)

The fact that a feature is supported in Cycles doesn't mean it is supported for all computing methods, nor across all devices.

It is largely known that OpenCl computing on AMD branded cards is not at the same level of support as CPU rendering or CUDA on Nvidia cards. Not only is performance non-optimal, there a lots of bugs and limitations, and many features are not yet supported.

[According to the manual as of 2.78# series SSS is not supported in AMD cards as stated in the Render Features page.

That may change in future, Mai Lavelle's work on Cycles Split Kernal may make it to 2.79, and may bring new features with it including SSS for OpenCL


Can I use the API to select an edge or face by length / area? If I want to select all the edges in a mesh which are over 10 units in length, or all faces with area > 10 units, can I do this via the API?

I've looked at bpy.ops.mesh.select_similar() which lets you select features which are similar to the currently-selected feature, so it feels like this should be possible, but I'm not sure how.

Using the bmesh module

This is quite simple with the bmesh module.  Test script selects all faces with area > 10 and all edges with lengths > 10.  Remember these are local coordinates.

import bpy
import bmesh
context = bpy.context
ob = context.object
me = ob.data
bm = bmesh.from_edit_mesh(me)

# select faces with area > 10

for f in bm.faces:
    f.select = f.calc_area() > 10

# edges length > 10

for e in bm.edges:
    e.select = e.calc_length() > 10


Ugly Shadows On Model? I was trying to create a low poly model and the shadows on her hair look pretty bad. They look fine on the rest of the body. I'm sure it's a modeling error on my end, but I'm not really sure what I'm doing wrong.

Here is an image:

Here is the blend file: https://drive.google.com/file/d/1iVsAB1jhIeeZM4LSjsm5mwWmVu2pLkuQ/view?usp=sharing

Any advice or help would be appreciated.

You need more geometry to have a smooth surface.

If you add a subsurf modifier the problem goes away.


Game Logic - Change Mesh Searching a little, I discovered that it is possible to change mesh in game logic.

Problem: When the course is over the object it continually changes the mesh as if it were unconfigured.

Any suggestion?

Solved. Thanks a lot!
I only understood logic now.


"Video Sequencer" makes video dimmer I created animation and rendered al frames, than I create new file, go to Video Sequencer > Sequencer, press shift + A and add all frames to render them into animation. After that I see, that original frames really more brighter than rendered video, so I want to keep the original brightness. Compositor is not used.
Earlier I did animation and I do not remember that I had problems.

The color management is set to filmic. This does not only effect your renderings, but also the VSE output. So you need to set the color management to for example sRGB

 Where it says filmic choose something else.


Can't get my model out of wireframe mode in blender 2.59 after saved the blender file in newer version (blender 2.79) I'm new to Blender and this site, so I apologize in advance if I'm not following any of the proper etiquette. I'm no artist, but I'm trying to learn Blender so that I can mod a skin to GTA:SA.

I need older version of blender to make my downloaded dff import/export add-on compatible, but I need newer version of blender too to be able to transfer weights between 2 objects.

The problem is even though the Object->Display->Maximum Draw is set to Textured in 2.79, there's no Maximum Draw dropdown in 2.59, and so the object is set to Wire with no way to change it in 2.59.

How can I solve this problem?

Blender 2.79:

Blender 2.59:

Maybe open the 2.59 .blend first in 2.60, then in 2.61, then in 2.62... and so on and save each time. You may skip a few if you're lucky :) (oh, in your case it might be the other way around, from 2.79 to 2.7 to 2.6... or like that, which may or may not work - but worth a try)

Here are the releases


How can a custom icon be loaded in an add-on? I have created an add-on but I can't apply my own icon to the operators in this add-on.

Is there any easy way to implement this?

Or do I need to add the icon to an SVG file?

You can only use already available icons, too see which are available enable the Icons add-on. A panel with all icons will be displayed in the text editor properties (or python console). The name of the icons is shown in a tooltip.

You can use the icon attribute like:

row = layout.column(align=True)
row.operator('id_name', icon='QUESTION')

Custom icons require compilation which is off-topic here but you could find a discussion on custom icons at this BA thread.

Possibly outdated information on how to integrate custom icons you find in the Wiki. There is descibed that all icons are stored in a single .png file which explains that you can't use SVG or any other format.


Using python to set object shading to 'smooth' So I wish to create and object and set it's shading to 'smooth' using python. It seems simple enough but after trying every method I could find on the internet none of them worked for me. Here's a short example script where the object needs to have smooth shading:

import bpy
from mathutils import Vector

verts = [(0,0,0),(0,5,0),(0.25,5,0),(0.25,0,0),(0,0,5),(0,5,5),(0.25,5,5),(0.25,0,5)]
faces = [(0,1,2,3), (4,5,6,7), (0,4,5,1), (1,5,6,2), (2,6,7,3), (3,7,4,0)]

grat1mesh = bpy.data.meshes.new("grat1")
grat1obj = bpy.data.objects.new("grat1", grat1mesh)
grat1obj.location = (5, -5, 0)
bpy.context.scene.objects.link(grat1obj)
grat1mesh.from_pydata(verts,[],faces)
grat1mesh.update(calc_edges=True)

grat2obj = grat1obj.copy()
grat2obj.data = grat1mesh.copy()
bpy.context.scene.objects.link(grat2obj)
grat2obj.location += Vector((-0.125, 1.25, 1.25))
grat2obj.scale = (2, 0.5, 0.5)

bm = grat1obj.modifiers.new("Chop", 'BOOLEAN')
bm.object = grat2obj
bm.operation = 'DIFFERENCE'
bpy.context.scene.objects.active = grat1obj
bpy.ops.object.modifier_apply(modifier=bm.name)
bpy.context.scene.objects.unlink(grat2obj)

I found this online and tried to place it at the end of the script:

smoothings = []
smoothings.append(face.use_smooth)
me_ob.faces.foreach_set("use_smooth", smoothings)

However this just returned an error on the second line, perhaps as it was from an older website.
Obviously using a simple bpy.ops.object.shade_smooth() didn't work and I'm kind of stumped as of what to do here!

Can set face to smooth in bmesh with

for f in bm.faces:
    f.smooth = True

Or in object mode

mesh = context.object.data
for f in mesh.polygons:
    f.use_smooth = True

The foreach set routines need a correctly sized value list for example

values = [True] * len(mesh.polygons)
mesh.polygons.foreach_set("use_smooth", values)

which is the equivalent of the for loop above.

Remember that when blender started to handle ngons (faces with more than 4 verts) it changed the mesh.faces collection was renamed to mesh.polygons.


How to define the rest position in a BVH file (converted from an FBX)? I have some motion capture data in an FBX file. Using Autodesk MotionBuilder I can export it to BVH. It seems to work well, except for the rest position, which is very strange:

The screenshots above were taken in Blender 2.78, but the rest position is the same when opening the file in bvhacker.

The animation plays out just fine, but without the rest position it is nearly impossible to rig a character.

In Blender, I tried Pose > Apply Pose as Rest Pose, but that ends up distorting the entire animation, so it is useless.

Is there a way to redefine the rest position to a standard T-pose in a BVH file while still preserving the animation?

I spent two days trying to find the solution and ended up finding it an hour after posting the question here.

The solution is to run a script provided by batFINGER in this thread: Create pose from existing armature

I'll copy the script here just keep things in one place, but I don't claim to have written it. All credits to batFINGER.

import bpy
from bpy import context

remove_constraints = True
scene = context.scene
scene.frame_set(1) # TPOSE frame
rig1 = context.object
# copy the rig and armature
rig2 = rig1.copy()
rig2.data = rig2.data.copy()
scene.objects.link(rig2)
scene.objects.active = rig2
bpy.ops.object.mode_set(mode='POSE')
# apply the pose in frame 1
bpy.ops.pose.armature_apply()
if not rig2.animation_data:
    rig2.animation_data_create()
# remove animation from dupe
rig2.animation_data.action = None
# add copy transform constraint to each bone
for pb in rig2.pose.bones:
    ct = pb.constraints.get(pb.name)
    if ct is not None:
        ct.influence = 1
        continue
    ct = pb.constraints.new('COPY_TRANSFORMS')
    ct.name = pb.name
    ct.target = rig1
    ct.subtarget = pb.name

action = rig1.animation_data.action
f = action.frame_range.x
# add a keyframe to each frame of new rig
while f < action.frame_range.y:
    scene.frame_set(f)
    for pb in rig2.pose.bones:
        #pb2 = rig1.pose.bones.get(pb.name)
        m = rig2.convert_space(pb, pb.matrix, to_space='LOCAL')
        if pb.rotation_mode == 'QUATERNION':
            pb.rotation_quaternion = m.to_quaternion()
            pb.keyframe_insert("rotation_quaternion", frame=f)
        else:

        # add rot mode checking
            pb.rotation_euler = m.to_euler(pb.rotation_mode)
            pb.keyframe_insert("rotation_euler", frame=f)
        pb.location = m.to_translation()

        pb.keyframe_insert("location", frame=f)
    f += 1

# set constraints to zero or remove entirely.
for pb in rig2.pose.bones:
    ct = pb.constraints.get(pb.name)
    if ct is not None:
        if remove_constraints:
            pb.constraints.remove(ct)
        else:
            ct.influence = 0


How can I get the full path of the selected file from the file explorer? I have tried in several ways and the only one that worked for me was through a modal that extends from ImportHelper, however I would like to do everything from the main panel:

import bpy
from bpy.props import StringProperty

class MainPanel(bpy.types.Panel):
    bl_idname = "Test"
    bl_label = "Test File"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = 'View'

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

        layout.prop(scene, 'file_')

def showPath(self, context):
    print("filepath: ", bpy.context.scene.file_)# return only //x_bot.json
    print("self.filepath", self.filepath)# return error

def register():
    bpy.utils.register_class(MainPanel)
    bpy.types.Scene.file_ = bpy.props.StringProperty(
        name= "File",
        subtype='FILE_PATH',
        update=showPath
    )

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

if __name__ == "__main__":
    register()

bpy.path.abspath()

Returns the absolute path relative to the current blend file using the “//” prefix.

TLDR; Just call bpy.path.abspath(your_path) to get the absolute path representation.

There is no reason to display the absolute path nor convert it because the user can set it to absolute or relative in the File Browser (N):

Also notice: there are several naming conventions like adding a separator to the name of your panel class or using lowercase names for functions and variables (PEP8):
import bpy

class CATEGORY_PT_CustomPanel(bpy.types.Panel):
    bl_idname = "OBJECT_PT_my_panel"
    bl_label = "My Panel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "Tools"
    bl_context = "objectmode"

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

        col = layout.column(align=True)
        col.prop(scn, "my_path", text="")

        # Print the absolute and relative path to the console
        print ("REL:", scn.my_path)
        print ("ABS:", bpy.path.abspath(scn.my_path))

def register():
    bpy.utils.register_class(CATEGORY_PT_CustomPanel)
    bpy.types.Scene.my_path = bpy.props.StringProperty(name="File", subtype='FILE_PATH')

def unregister():
    bpy.utils.unregister_class(CATEGORY_PT_CustomPanel)
    del bpy.types.Scene.my_path

if __name__ == "__main__":
    register()

Related

How to create a custom UI?
How to create a Folder Dialog?


Animation is complete, what now? I'm new to Blender and so I followed a tutorial on how to animate a map. It's really a great tutorial especially for beginners. However, the tutorial does not include what to do after all the elements of the animation are complete. I can playback the animation in the material viewport shading, but when I do playback in rendered viewport shading it's very blurry.

So what do I do next to create a "movie" of this animation? I imagine the full animation has to be rendered first. I hit the animation button under the render section and it looked like Blender rendered every frame of the animation, but I don't know what to do next. I don't know what happened to all of those rendered frames. Can someone please help?

Thank you for reading.

First you have to select the output format, if you select image file format (PNG, JPG,...) every frame of the animation will be saved as single image, on the other side if you select video format (H.264,...) animation will be saved as video. The destination of the saved video or frame images is specified by the output path.

It is recommended to render the animation as images and then make video using the Video Sequencer, because if something happens halfway rendering the animation you can start it again from the last rendered frame, which is not possible when the output format is video.


X-Mirror on weight paint doesn't work I've heard that x-mirror option is supposed to mirror the weight paint that I do on one side to the other. But it isn't working with my mesh for some reason, it still only paints on side at a time. Any help why?
https://drive.google.com/file/d/1neePPk9PlKjhpp8AIbUOF94m1KHws7hX/view?usp=sharing

The mesh is not a perfect mirror so it can't find the opposite side. You could try to use the "Topology mirror" option and see it that helps.


Working with Arrays LOD I was wondering if the LOD feature is working on top of an array modifier.

I once tried to setup terrain from a heightmap. It would auto-generate terrain tiles using displace, it would create different LOD levels with the decimate modifier and a vertex group (so the edges still lined up).
It worked great in the viewport, but didn't work in the game engine.

Modifiers are a bit strange in the GE. Sometimes they appear correctly, but when adding objects you get CPU spikes (there was one case I worked on where modifiers caused a drop from 60FPS to 20, but that was on lots and lots of objects). Other times they simply don't work. LOD seems to make modifiers in the GE not work.


Float object is not iterable I am new to blender and attempted to create a new mesh in my script however it is saying that the values are floats. I have tried converting to a vector but it still did not work. What is the error?

def execute(self, context):
    obj = context.active_object
    if obj.mode == 'EDIT':
        bm = bmesh.from_edit_mesh(obj.data)
        vertices = bm.verts

    else:
        vertices = obj.data.vertices

    verts = [obj.matrix_world * vert.co for vert in vertices]

    plain_verts = [vert.to_tuple() for vert in verts]
    print(plain_verts)
    rdomain_list = [x[0] for x in plain_verts]
    domain_list = rdomain_list[:]

    ry_list = [x[1] for x in plain_verts]
    y_list = ry_list[:]

    rz_list = [x[2] for x in plain_verts]
    z_list = rz_list[:]

    numX = 3

    x = domain_list[numX]+2
    y = ry_list[numX]+2
    z = rz_list[numX]
    verts = [[x, y, z]]
    for i in range (0, numX):
            x = domain_list[numX]+2
            y = ry_list[numX]+2
            z = rz_list[numX]
            vert = [x,y,z]
            verts.extend(vert)
    faces = [[0, 1, 2]]
    me = bpy.data.meshes.new("pmesh")
    objectme = bpy.data.objects.new("pmesh", me)
    bpy.context.scene.objects.link(objectme)

    #The error is in the following line.
    me.from_pydata(verts, [], faces)
    me.update(calc_edges = True)
    objectme.location.x = px
    objectme.location.y = py
    objectme.location.z = pz
    return objectme

The error says

File "C:\...operator.py" in line 95, in execute me.from_pydata(verts, [], faces)   Files"C:\Program Files\...modules\bpy_types.py", in line 412, in from_pydata vertices_flat = [f for v in vertices for f in v]

Your error comes from this bit

verts = [[1, 2, 3]]

for i in range(0, 3):
    vert = [1, 2, 3]
    verts.extend(vert)

print(verts)
#[[1, 2, 3], 1, 2, 3, 1, 2, 3, 1, 2, 3]

you want to use verts.append(vert)

If you use append you will have 4 verts  and your faces has [0, 1, 2] are you trying to build a mesh with a triangular face and a hanging vert?


Selecting vertices algorythmically,i.e. a sphere? I am working with high res point clouds of museum peices made of 20-30 million vertices and normal mapping from PLY files generated in another program.

I wish to delete cylinders and spheres algorytmically from the middle of the point cloud. For example, a sphere is just a maths equation of all vertices that are within distance from a point in space. I just want to get all vertices withing an mathematical surface and delete them.

How can i do it?

import bpy,bmesh
from mathutils import Vector

mesh=bmesh.from_edit_mesh(bpy.context.object.data)
for v in mesh.verts:
    # select by sphere radius
    if v.co.length < 8:
        v.select = True
    # select by cylinder radius
    vcyl = Vector((v.co.x,v.co.y,0))
    if vcyl.length < 5:
        v.select = True
# trigger viewport update
bpy.context.scene.objects.active = bpy.context.scene.objects.active

See Blender: Scale a group of vertices using python on how to determine the center.

Demo:


Can you only export objects to Second Life with 2.79? Next week I begin teaching Blender fundamentals to an international group of Second Life players who wish to create assets for the game. One of the members has pointed out that 2.79 has an Export To SL feature that isn’t available in the later 2.8x versions. She believes I should teach them 2.79 because the lack of this feature will, either directly or indirectly, prohibit assets from being exported into the game. Is this the case? I would much rather teach on the latest build. I’m not a Second Life player myself, so please pardon my lack of understanding in this area. So—you can export assets to SL with 2.8x, right?

Thank you for your time,

John

You can use the Collada exporter.

You'll find it in the File/Export menu.

Which opens to this:

If the options panel is not open, use the N key to make it appear on the right:

And that gives you access to the OpenSim presets:

Source from Machinimatrix (Gaia Clary Avastar website).


Batman cape material How do I create a material for Batman's cape? I have already tried a black diffuse shader, but it is not good. I need some lights highlights so I tired glossy, too much highlights. So I made roughness higher, still bad.

Use Mix Shaders. To the First slot add a Velvet Shader with an almost black color. To the second slot add another Mix Shader. To the second mix shaders First slot add simply an almost black Diffuse shader. To the second mix shaders second slot add a brighter colored Glossy Shader with a high roughness. The second mix shaders Fac value should be low. Experiment with the two Fac values.


Sheep it wont render i have a few animation projects coming up due to render in the next month or so. I downloaded Sheep It in the mean time so i can contribute to others renders as well as rack up points for myself for when i am ready to render. I set it up across 2 computers (Intel Core i5-4260U @ 1.40CHz x4 and a Intel Core i7-4750HQ @ 2.00GHz x8), and the friend who introduced me to SheepIt linked his computer up as well via the KEY. Seemed to be going fine but when he disconnected the frame render count stopped, it seems that my computers wernt rendering at all it was just piggy backing on his. Can anyone tell me what ive done wrong please.
Ive tried connecting wirelessly as well as via an Ethernet cable and still no change.

I took the Mentalists advice and contacted the developers and they updated the system and it works fine now. Thanks for your replies.


Understanding mirror modifier I'm quite new to Blender but certainly having fun!
I dont always feel like documentation is always as clear as i need it to be. Probably because i haven't fully grasped all the consepts just yet.
Anyway, I'm using mirror modifier and wondering why it starts to mirror from seemingly random place in mesh.
To me, this mirror should a) start from the end of the plane, not arbitrarily few faces overlaping like in the middle here and b) shouldn't this be end result when axis = X. Here i have Y axis selected and plane mirrors as it would be X axis.

When you mirror, the vertices you create will be created on the other side of the axis, with the object origin as center. If you choose the X axis and create some vertices on the +X side, they will be mirrored on the -X side, but if you create vertices on the -X side, they will be mirrored on the +X side as well. To avoid any trespassing you can enable the Clipping option, that way you'll make sure that if you move a vertex close to the axis plan, it won't trespass on the other side, but it won't delete the vertices that are already on the other side, like what's happening in your case.
As for your second question, the mirroring currently happens on the X axis while you've selected the Y axis, but actually the Mirror modifier takes the local orientation into account, not the global orientation. You must have rotated your object in Object mode, so its local orientation is not aligned with the global anymore. What you can do is apply the rotation of your object in Object mode (CtrlA > Rotation), then choose X in the Mirror modifier.


Mirroring to start Symmetry - object doesnt flip I'll keep it simple, unlike Max or other programs, Blender isn't flipping the object mirrored. Say for instance I have a 3d shape like this symbol "<" and I mirror it in Max over the center X axis, the result would be this pair of shapes " <    > "

So far in Blender all I can get is this " <    < " which is the same shape, just on the opposite coords of the axis. This is useless for setting up symmetry. How can I properly mirror an object without having to flip it manually?

There are a couple of ways to mirror an object in Blender:

Mirror Mofifier

This is an undestructive method to mirror your object with the most control. Go to the object's modifier panel and add a mirror modifier:

(Blender doc: https://docs.blender.org/manual/en/latest/modeling/modifiers/generate/mirror.html)

Edit Mode Mirror

Go into Edit Mode, and press 'CTRL+M' or in the menu go Mesh>Mirror>Desired Axis

This is a destructive but direct solution to mirror your object.

(Blender doc: https://docs.blender.org/manual/en/latest/modeling/meshes/editing/transform/mirror.html#mirror)


There is no object info node in Animation Nodes addon I use blender 2.76 official build for Linux, with 1.0.1 Animation Nodes addon, and I don not have object info node to get object velocity. According to this tutorial it does exists:

https://www.youtube.com/watch?v=52nKM35LRZM&feature=youtu.be

I originally called the node "Object Info" because I had no idea how large the whole addon will become. At some point I noticed that I will need multiple nodes that get data from objects and to avoid some confusion I decided to rename some nodes to give them more detailed and exact names.

This is why the "Object Info" node is called "Object Transforms Input" nowadays. Beside that there are Object Attribute/Matrix/... Input nodes.

The Velocity sockets have been removed because they did not fit in very well, they made the code more complicated and (most importantly) did not work in all cases.

If you still want to know the velocity of an object you can get it with a little workaround (this does exactly what the node internally did before):


Mesh moves back in Edit Mode I'm having an issue where, for some reason, the mesh moves back in Edit Mode then moves back again when I get off Edit Mode. The model was auto-rigged in Mixamo. Why is this happening? This doesn't happen in the model that wasn't rigged.
Image Refence - 1

Any poses etc. are moving and/or deforming the mesh are doing these operations on top the basic mesh. When you go to Edit Mode, the mesh shows its original basic appearance, to put it in simply words. It's the same with modifiers for example, if you take a cube and put a Subdivision Surface modifier on it, the cube becomes rounded. But going into Edit Mode shows the original basic cube (unless you have set the option to show the modifier effect in Edit Mode as well). This is usually useful if you want to tweak or change something general which is easier to do on the basic low-poly cube mesh than on a high-poly mesh.


How to automate polygon reduction using python? I have several models(more than 1000) in FBX format and I want to decrease their polygon count. I'm using decimate modifier. Since there are so many models and the task is not too complicated, I was wondering if it was possible to do this with python scripting. I looked around the internet but all the scripting tutorials I found were doing scripting inside the blender. But what I want is a script which scans all the models in a folder and outputs their low poly version.

I'd recommend using instant-meshes with it's batch mode. You could write a python script like this one to do all the files in your folder:

import subprocess
import os

models_folder = 'C:/folder'
models = sorted(os.listdir(models_folder))

output_folder = 'C:/output_folder'

instant_meshes_path = 'C:/Instant_Meshes.exe'

for file in models:
    # Desired number of faces for the model
    faces = 2500

    subprocess.call([
        instant_meshes_path,
        '--faces', str(faces),
        os.path.join(models_folder, file),
        os.path.join(output_folder, file)
    ])


Orientation of array objects along a helix path I made an array of cylinders following a helix (which is going round three cylinders). The cylinders are parented to a plane to avoid distortion, this is my result - how do I manage to fix the orientation of each cylinder to make it orthogonal (to path)? Thanks.

Twist method set to Z up on the helix curve:


Make a ramp up a lowpoly hill I have a very simple mesh that is completely flat, but the edges are cut out with a knife tool. How can I make a ramp up this hill? Everything I try turns bad.

If I understand correctly, you can use Extrude Region and Edge slide for that.

And an inside ramp


How to make voronoi move like living ants? In Twitter link below, I saw this work by Joe Gatling a few days ago. His voronoi moves like live bugs. How do you create that in Blender?

Moving ants with voronoi.

Edit. I'm back. I've just awhile ago asked a below question elsewhere in Stackoverflow. I was looking for scripts. In seconds, someone suggested wobbling the points with UV coordinates: u = time and v = sin; and using x, y of points with a sin wave. Now how do you do that?

Stackoverflow: How to make voronoi move like live ants?

I don't think the Blender Voronoi has access to quite the same parameter as the one illustrated. Typical shader-Voronoi is based on the distances between randomly placed points, one to a cell, in a regular grid of rectangular cells. I think the specific 'wobble' effect you show is based on smoothly varying the positions of those points within the cells, without moving the cells.

Close enough, for this effect, might be to use the frame number to drive the Z component of 3D Voronoi, pushing the texture through our 2D XY slice. (The 'Flicker' path in the tree below.)

To drive a value in a shader node by frame number, just type #frame into the relevant field.

Having started, I couldn't resist following the rest of the instructions in your link:

With this sort of result:

I don't think it would be impossible to roll-your-own Voronoi, to give access to the noise generating the per-cell points.. or maybe there's a better way.


What causes rendered frame "flickering"? Cycles Render. I have a simple scene, with a plane as ground, and objects on it. It is lit by a HDR background texture and one sun lamp, and being rendered to 16-bit TIFF individual frames. The ground plane color begins to flicker a darker version of the same hue after about 240 frames, and then eventually goes to the darker color after a dozen or so flickers over the next 120 frames. The ground material is simple Diffuse BSDF ... What is causing this flicker?

See flickering animation at: https://youtu.be/QSf4CFDx6Zk

It is most likely Z-fighting.
Break down the scene and look if there are any planes in the exact space of orientation.
1 - Could be a hidden object in viewport but still enabled in rendering

2 - Maybe it is an object that is hiding in a different layer.
3 - It could also be 1 object with 2 overlapping faces in the exact same location. (go into edit mode and pull away some edges to check)


How to Create Photo Collage Template using Blender? I want to create a photo collage template in Blender. Is there any template available for this already?

My requirements is to create a video that covers several photos. Those photos should be pasted on the wall like a motion poster. Like photo collage apps for Android.

Here is the Video sample for what I want as a Blender template. It is a corridor with videos along the walls and a studio at the end. I would like to create it and include my own vids.

First you need to build the entire scene, that video link it's 360° and has a blog post link in the description that explains how to do it. It's that a requirement for you? (think twice because it involves much more work)

Second if you want just the camera movement try the Sniper addon


How to remove (unlink) all the grease pencil layers? I have plenty of grease pencil sketches in my blend file. Is it possible to remove all of them very fast?

Short answer:
Yes!

Press N, go to Grease Pencil and uncheck the checkbox:

This will hide all grease pencil sketches, while retaining the information in case you want your sketches back at a later time.

Long answer:
In the Viewport press N and go to the Grease Pencil portion of the menu on the right.

There are several ways to remove a grease pencil sketch, you can just hide the grease pencil (the checkbox), you can delete a frame, you can delete a layer (the "X"), or you can hide a layer (the eye).
You can use the RMB or use Shift+D to get the grease eraser. Use the LMB (or RMB depending on the method) to erase, and the MMB to change the size of the brush.


How to select what to render with F12 in Blender 2.8? When I press F12 Blender 2.8 it doesn't render what I'm currently looking at. How do I select what to render when I press F12?

EDIT: I didn't explain the situation well enough not that I'm reading it back. The camera is in the 'layer' that I'm watching. The 'layer' that gets rendered with F12 doesn't have a camera object in it nor is it the 'layer' that I'm watching.

You probably need to move the camera to the position that you are looking at; you can move the camera manually like an object or you can press Ctrl + Alt + Numbpad 0 to move the camera to your view position.

Hope that helps.

Good Luck


Is there a way to use system RAM to save GPU's vRAM usage? I often have problem with CUDA memory problem when rendering on GPU. I am using GTX 1080 Ti GPU (11GB VRAM). Is there a way to store some information (frame buffer, maybe textures) on system RAM in order to save GPU memory? I envy Octane Render users for having such possibility.

No, Cycles (version 2.79) is not able to use system RAM, all has to fit into VRAM.

These are the only ways that I know of to save memory when rendering: How can I save memory in cycles?

A lot of it can be saved by optimizing your scene and textures. That takes time or planning from the start.

If your time is money or your project just too big you might want to look into Octane or Redshift. Both offer using gpu only for computations and system RAM for storing large scenes.


Import large model file into Blender I have a 530 MB .ply mesh file that I am trying to import into a Blender project. However since the file is so large, Blender freezes up whenever I try to import it. Is there a way to work around this? Has anyone else tried importing extremely large files?

@Edit: The file represents a single mesh - it just has a very high triangle/polygon count. It also didn't come from a different program - I downloaded the file already created from online. So I can't break it up into separate files.

Method 1:

The Blender documentation says:

  Use ABC if you want to import/export a large amount of scene data.

So the idea is to find a way to convert your big model from PLY to Alembic. Sadly, I didn't find any converters that generate alembic, but in their GitHub repository, there is an example called WFObjConvert. I'm not used to C++ and don't know about the conversion direction, but the line

OBJ::ParseOBJ( reader, argv[1] );

from the test files indicates that it is taking OBJ and converting to ABC.

If you get this to work, you need to convert your model to Wavefront first. That should be a lot easier due to the popularity of the format. This site should to the job for you.

Method 2:

Just use the converter and convert your file into several other formats Blender can import and try them out.

Edit:

Using an online converter isn't that a good idea with this file size. Use some offline converter like that one instead.


blender only rendering background color I had a problem with blender only rendering the background color of my blend file.  The blend file is availble for download.  Could someone tell me what is up with it?
http://www.mediafire.com/download/ndo7g529foa6kgb/glass2.blend

A lot of objects are disabled for rendering:

see: Object not visible in render


What is the difference between the SculptDraw brush and the Brush tool? What is the difference between the F SculptDraw and the F Brush tools in sculpt mode?

From what I can see they appear the same:

Other than a couple of adjustable default settings, this looks like the only difference.