text:
Is there a script to remove this sign " in text?
I have 100 individual text objects, is there a script that will help me get rid of quotation marks in texts all at once?

You can try using a macro software, to enter ' edit mode>press backspace>press 'home key" >perss delte>enter object mode.
and bind these macro to a keybind

you can try this python script:
import bpy

texts =  [ o for o in bpy.data.objects if o.type=='FONT']

for text in texts:
    text.data.body = text.data.body.replace("\"", "")


text:
Start Blender with popen in windows 7
I am trying to start and run a blend file with python3 popen under windows 7, but all I am able to do is start Blender.
blendFile = "D:\_Blender_Files\atrium.blend"
blenderPath = r"C:\Program Files\Blender Foundation\blender-2.71-windows64\blender.exe"
subprocess.Popen([blenderPath, blendFile], stdout=subprocess.PIPE)

closing, the issue with slash direction is a common beginner mistake, and not specific to Blender.

It's because of the escape character "\" and how python handles it. Windows paths on python scripts are a nightmare. So you have to escape the backslash.
Try :
blendFile = "D:\\_Blender_Files\\atrium.blend"
blenderPath = r"C:\\Program Files\\Blender Foundation\\blender-2.71-windows64\\blender.exe"
subprocess.Popen([blenderPath, blendFile], stdout=subprocess.PIPE)

or with simple slashes (python handles it well) :
blendFile = "D:/_Blender_Files/atrium.blend"

Dang, you hit the nail, thank You for the fast reply!

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Shader turns black when connected to node group
I have a project where I reuse the same material for multiple things.
So, I use node groups; saves a lot of trouble - at first!
Up to this problem I have with node groups:
In 1 you can see, that the logo (white text) is on a black background. This black background should be a node group (and certainly not black).

Here is the Logo Overlay node group:

If I put the node group "ultramarinblau" into the Logo Overlay node group, it does not work!
Only if I add the "ultramarinblau"-node group directly into the Logo Overlay node group, it works:

This behavior is not desired. I'd like to reuse my Logo Overlay node group multiple times with a different node group-input.
What am I doing wrong? Or could this be a limitation of Cycles node groups?
Any ideas are appreciated!

This is because you are plugging a Shader output (green) into a color input (yellow). See What is the meaning of the color of the node sockets in the node editor?
Instead you should add a shader input (green) to the "Logo Overlay" group. Doing this is a little complicated, as you currently can't directly set the socket type without some python. However, it is possible:

Enter the node group (↹ Tab)
Plug the placeholder output of the Group Input node (hollow) into any input socket of the desired type. In this case, green for shader:

Optionally rename the new input in the properties panel (N).

Once this is done, your setup should work.

I don't recommend putting the material output node inside a node group, as this could lead to confusion down the road depending on how the group is used. Instead you might want to plug the mix shader into a Group Output node, and plug the entire group node into the material output in the main node tree.

Ok, I think I understand what you mean. But, how would I change the imput type to shader?
Even if I connect the third input directly to my Mix Shader (from Logo Overlay), it does not change color (of the group input node).

@gilu Once the socket is created it's type can't be changed. You'll have to create a new socket by connecting the blank output (bottom). Then you can delete any unneeded sockets in the properties panel (N).

Bingo! I had to remove the node and reconnect it!
Thanks, gandalf3!

You're right, I removed the output node from the group as well. This adds more flexibility as well. Since displacement can now be controlled outside the logo group.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
How to remove "jumps" of trackpoints in Camera tracking when moving them?
Since I moved my trackpoints I got this jumps where the line of a trackpoint jumps from the red to the green curve(and the other way around).
This happened to points that I moved, so maybe that's the reason. Is there a simple solution, or do I have to replace all these trackpoints?

@Backfighter Rather than editing your question post an answer to the question, explaining how you solved the problem.

Isn't possible only after 5 hours ^^

see blender.stackexchange.com/questions/14330/… –  cegaton 56 mins ago

So my answer is solved now I think. After reading this I know, that the "jumps" the lines are doing are caused by moving them. Because if you move one its speed increases immensely. And if the lines indicate the speed of a tracker, they will go up too. That's causing the jumps.
The other points where the red and the green line is connected. A new Trackpoint was created.

You need to track those markers again, and then resolve the camera motion. To do this, go to the "Motion Tracking" prespective, by chosing it from this menu:

Then select the markers that need to be tracked, open the Toolshelf (press T) and go to the subsection "Track" and click the track button, as shown here:
:

Please add some more details, such as steps on how to achieve what you have suggested.

He already did this, since he has that graph, but fine....

So the only possibility is to track them again?
I see lot of work coming towards me :s :D
And yes someonewithpc is right ^^

I'm not sure, but I think so...


text:
Where to find the undo list?
How do I get the list of operations done in blender? Usually Undo/redo are found under edit menu. But I'm not able to locate undo list.
This wiki page says by pressing AltU it should show history. But somehow I'm not able to view it.
Note: I'm new to blender.

Try CtrlAltZ. That wiki page is for Blender 2.4x.
Here's the 2.6x page (which is current for 2.7x, as there is no 2.7x wiki yet)
If you want to access it from a menu, it's in 3D view > Header > Object:

If you want to access it from a toolbar, it's in 3D view > Toolshelf (T) > Tool > History:


text:
Blender Python Script doesn't show in Add ons List
I am just trying to generate some random geometry to get a low poly environment. Therefore I wanted to use a script that randomizes the vertex position. I dropped the python file into ..scripts/addons/. But when i move to user preferences in blender and search for it, it won't show.
Does any of you know what I am doing wrong? I also tried to install the script via the user preferences panel itself, but the same happend, nothing!
#!BPY

"""Registration info for Blender menus Name: 'Vertex Noise' Blender: 2.43    Group: 'Mesh' Tip: 'add some random distortion to a selected mesh' """

__author__ = "Sammler Rene" __url__ = ("http://www.blender.org", "http://www.sammler-mediengestaltung.com") __version__ = "v080305"

__bpydoc__ = """\ ***** BEGIN GPL LICENSE BLOCK *****

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

***** END GPL LICENCE BLOCK ***** --------------------------------------------------------------------------

This script allows to distort the selected vertex points along the specified directions. """

import Blender from Blender.Draw import * from Blender.BGL import * from Blender.Object import * from Blender.Mesh import * from Blender.Window import * from Blender.Types import * from Blender.Mathutils import * from random import *

def ExportConfig():     conf = {}

conf["X"] = tgl_x.val   conf["Y"] = tgl_y.val   conf["Z"] = tgl_z.val   conf["LOC"] = tgl_local.val     conf["GLOB"] = tgl_global.val   conf["NORM"] = tgl_normal.val   conf["ZERO_1"] = set_zero_1.val         conf["ZERO_2"] = set_zero_2.val

conf["MIN"] = min.val   conf["MAX"] = max.val   conf["R_SEED"] = r_seed.val

Blender.Registry.SetKey("VERTEXNOISE", conf, True)

def ImportConfig():     global tgl_x, tgl_y, tgl_z, min, max, r_seed,set_zero_1,set_zero_2,tgl_global,tgl_local,tgl_normal

conf = Blender.Registry.GetKey("VERTEXNOISE", True)

if not conf:        return

try:        tgl_x.val=conf["X"]         tgl_y.val=conf["Y"]         tgl_z.val=conf["Z"]         tgl_local.val=conf["LOC"]       tgl_global.val=conf["GLOB"]         tgl_normal.val=conf["NORM"]         set_zero_1.val=conf["ZERO_1"]       set_zero_2.val=conf["ZERO_2"]

    min.val=conf["MIN"]         max.val=conf["MAX"]         r_seed.val=conf["R_SEED"]   except KeyError:        pass

  def type_check(obj_list):     global failur   ret = 0     if len(obj_list) == 0:      failur = "ERROR: Select a Meshobject!!"         ret = 1     elif type(obj_list[0].getData()) != NMeshType:      failur = "ERROR: Select a Meshobject!!"         ret = 1     else: failur = ""   return ret

def calc_verts_global(vertex, direction, value, trans_mat):     val = 0     if vertex.sel:      val = uniform(value[0], value[1])

    vec = Vector(direction)*val

    vec = vec * trans_mat

    vertex.co[0] = vec[0] + vertex.co[0]        vertex.co[1] = vec[1] + vertex.co[1]        vertex.co[2] = vec[2] + vertex.co[2]

def calc_verts_local(vertex, direction, value):     val = 0     if vertex.sel:      val = uniform(value[0], value[1])

    vec = Vector(direction)*val

    vertex.co[0] = vec[0] + vertex.co[0]        vertex.co[1] = vec[1] + vertex.co[1]        vertex.co[2] = vec[2] + vertex.co[2]

def calc_verts_normal(vertex, value):   val = 0     if vertex.sel:      val = uniform(value[0], value[1])

    vec = vertex.no*val

    vertex.co[0] = vec[0] + vertex.co[0]        vertex.co[1] = vec[1] + vertex.co[1]        vertex.co[2] = vec[2] + vertex.co[2]

def Event(evt, val):    if evt == QKEY:         ExportConfig()      Exit()      return

def BEvent(evt):    global tgl_x, tgl_y, tgl_z, min, max, r_seed,set_zero_1,set_zero_2,tgl_global,tgl_local,tgl_normal

if evt == 11:       if type_check(Blender.Object.GetSelected()) == 0:           edit_mode = EditMode()          if EditMode(): EditMode(0)          obj_lst = Blender.Object.GetSelected()          if len(obj_lst) > 0:                mesh = obj_lst[0].getData(False,True)               if r_seed.val > 0: seed(r_seed.val)

            intervall = [min.val,max.val]               if set_zero_1.val: intervall[0] = 0.0               if set_zero_2.val: intervall[1] = 0.0

            if tgl_global.val:                  zero_matrix = Matrix([1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1])                   obj_matrix = Matrix(obj_lst[0].getMatrix())                     obj_matrix[3] = [0,0,0,1]                   transform_matrix = obj_matrix.invert() * zero_matrix                    [calc_verts_global(vertex, [tgl_x.val,tgl_y.val,tgl_z.val],intervall,transform_matrix) for vertex in mesh.verts]                elif tgl_local.val:                     [calc_verts_local(vertex, [tgl_x.val,tgl_y.val,tgl_z.val],intervall) for vertex in mesh.verts]                              else:                   [calc_verts_normal(vertex,intervall) for vertex in mesh.verts]

        if edit_mode: EditMode(1)           elif evt == 10:         ExportConfig()      Exit()      return  elif evt == 12:         min.val = min.val * -1  elif evt == 13:         max.val = max.val * -1          elif evt == 14:         min.val = max.val   elif evt == 15:         max.val = min.val       elif evt == 6:      if tgl_global.val == 0:             tgl_global.val = 1      else:           tgl_local.val = 0           tgl_normal.val = 0  elif evt == 7:      if tgl_local.val == 0:          tgl_local.val = 1       else:           tgl_global.val = 0          tgl_normal.val = 0  elif evt == 8:      if tgl_normal.val == 0:             tgl_normal.val = 1      else:           tgl_global.val = 0          tgl_local.val = 0           tgl_x.val = 0               tgl_y.val = 0           tgl_z.val = 0   elif evt == 1:      if tgl_normal.val == 1:             tgl_x.val = 0   elif evt == 2:      if tgl_normal.val == 1:             tgl_y.val = 0   elif evt == 3:      if tgl_normal.val == 1:             tgl_z.val = 0

Blender.Redraw()

def GUI():  global tgl_x, tgl_y, tgl_z, min, max, r_seed,set_zero_1,set_zero_2, tgl_global, tgl_local, tgl_normal, failur

glColor3f(0.7, 0.7, 0.7)    glRecti(15, 50, 205, 255)       glColor3f(0.9, 0.9, 0.9)    glRecti(15, 30, 205, 50)    glColor3f(0.65, 0.65, 0.65)     glRecti(15, 255, 205, 275)  glColor3f(0.0,0.0,0.0)  glRasterPos2f(20,262)           Text("Vertex Noise")

tgl_global = Toggle("Global", 6, 20, 230, 60, 20, tgl_global.val, "distort to global coordinates")  tgl_local = Toggle("Local", 7, 80, 230, 60, 20, tgl_local.val, "distort to local coordinates")  tgl_normal = Toggle("Normal", 8, 140, 230, 60, 20, tgl_normal.val, "distort to the vertex normals")

min = Number("Min: ", 0, 20, 205, 100, 20, min.val, -100.0, 100.0, "the minimal distortion")

neg_1 = Button("neg", 12, 20, 180, 60, 20, "negate the min value")  cop_1 = Button("= max", 14, 80, 180, 60, 20, "copy the max value to min")   set_zero_1 = Toggle("use 0", 4, 140, 180, 60, 20, set_zero_1.val, "use 0 insted the inserted min value")

max = Number("Max: ", 0, 20, 155,100, 20, max.val, -100.0, 100.0, "the maximal distortion")

neg_2 = Button("neg", 13, 20, 130, 60, 20, "negate the max value")  cop_2 = Button("= min", 15, 80, 130, 60, 20, "copy the min value to max")   set_zero_2 = Toggle("use 0", 5, 140, 130, 60, 20, set_zero_2.val, "use 0 insted the inserted max value")

r_seed = Number("Seed: ", 0, 20, 105,110, 20, r_seed.val, -100.0, 100.0, "")

tgl_x = Toggle("X", 1, 20, 80, 60, 20, tgl_x.val, "distort to x direction")     tgl_y = Toggle("Y", 2, 80, 80, 60, 20, tgl_y.val, "distort to y direction")     tgl_z = Toggle("Z", 3, 140, 80, 60, 20, tgl_z.val, "distort to z direction")

quit = Button("Quit", 10, 20, 55, 80, 20, "")   ok = Button("OK", 11, 120, 55, 80, 20, "")

glColor3f(0.15, 0.15, 0.15)

glRasterPos2f(150,210)  Text(str(min.val)[0:6])

glRasterPos2f(150,160)  Text(str(max.val)[0:6])

glRasterPos2f(150,110)  Text(str(r_seed.val)[0:6])

glRasterPos2f(105,20)       Text("created by Rene Sammler", "tiny")     glRasterPos2f(75,12)        Text("(sammler-mediengestaltung.com)", "tiny")  glRasterPos2f(150,4)        Text("(v 08 03 05)", "tiny")    glColor3f(1, 0.0, 0.0)  glRasterPos2f(20,35)        Text(failur)

tgl_x = Create(0) tgl_y = Create(0) tgl_z = Create(0) tgl_local = Create(1) tgl_global = Create(0) tgl_normal = Create(0) set_zero_1 = Create(0) set_zero_2 = Create(0) failur = ""

min = Create(0.0000) max = Create(0.0000) r_seed = Create(0.0000)

ImportConfig() Register(GUI, Event, BEvent)

Cheers
-Marten

So, we should guess that there's a typpo on line 32? Post the code, that's probably the source

@someonewithpc here you gooo!

Your code is for Blender 2.49, the Blender module has been replaced with bpy. More than likely your question will not receive support.

See, @Slim Marten, there's your problem, next time post the code along with the post.

Find an updated tutorial, and follow it

@someonewithpc oh I feel kinda dump now. Thanks, in the meanwhile i already found a newer script that works fine for me. Thanks for bearing my stupidity. I am not really into coding especially not python!

In the script, "Blender: 2.43" is listed as the version. There have been major changes to the blender API in 2.5+. That addon will not run in anything higher then 2.49b unless you convert it.


text:
Selecting loops crashes Blender 2.71 on mac
Has anyone else noticed that selecting an edge loop by Alt+RMB on it crashes in version 2.71 on a mac?  Reverted back to 2.7 and it works just fine.

Create a bug report :) Also, try alt+shift+rmb

If Blender crashes then it's automatically a bug report situation.  Feel free to let them know. This is the sort of problem that gets fixed right away once it's reported.


text:
Cloth simulation appears corrupt in render
I am having problem with a cycles render.  My cloth simulation for a flag bakes just fine and seems to work.  When I render the image gets fractured (it looks like broken glass instead of cloth).  See attached images.
Someone said to post the blender file.  I can't figure out how to do that.
OK, here is the link to the file:
http://www.pasteall.org/blend/31495
I can't figure out which setting to change in the render settings to get rid of the "z fighting"

Post your .blend file. And that looks like z-fighting.

I think you might be using the wrong simulation... double check all your settings.

Do you have a modifier which different settings in the render than what you baked with? To me it looks like an invalid cloth cache (causing Z-fighting).

Upload it to a hosting service like pasteall, then put the link here

OK, uploaded:  http://www.pasteall.org/blend/31495

This is because the cloth simulation is baked using the viewport settings of the modifier(s) above it.
As the subserf modifier above it has a viewport subdivision level of 1, but a render subdivision level of 2, the vertex locations stored in the cache are nonsensical when rendering.
To fix this, just set the render subserf value to 1:

If you still want to use two subserf levels, you have two options:

Re-bake, with the viewport subdivisions set to 2

Add another subserf modifier below the cloth modifier. These subdivisions won't be taken into account with the simulation, but they will smooth the result out a little bit (though a smooth modifier could probably get you comparable results with a lot less vertices), and you won't have to rebake.


text:
Lo-Res texture blurring in blender
Is there a way to tell blender to blur textures if they're too lo-Res or pixelated, so as to not increase file size yet still get a finished result?
If I got an answer, I could spend less time making unimportant textures-- and even save packing space!

The phrase "blur textures if they're too blurry"  confuses me.  Maybe you should just use a lower-resolution of the texture, replace it manually.

@MutantBob Sorry, I mean Lo-res or pixelised. I was drunk at the time.

Would that blur the entire image? I mean, this whole thing is just a way to save time finding/making textures, so if you think it isn't worth it, answer the question and I'll accept it, as long as you upvote my question. I'm in dire need of repoints!

Yes and no. Yes, because this is called "texture filtering" or "texture interpolation." No, because Blender is already doing this.
Your question is basically the opposite of this one, and that answer will be very helpful to you.
Suffice to say, you can change the interpolation mode on the texture node in Cycles, or in the Image Sampling section of Blender Internal. Cubic typically gives the result you want. It's a sharpened version that doesn't look pixelated. "Closest" is pixelated, it doesn't do any blurring at all. "Linear" is a little more blurry than cubic, but that's as blurry as it gets without doing some other image processing, which you can't do within Blender. There's currently no way to blur an image texture before using it in a material.
Lastly, it wouldn't help. If you're blurring the image, you're losing information. If you want to NOT lose that information, you have to have a higher-resolution... which isn't a smaller file.
The unfortunate reality of computing is that computers are terrible at guessing. If the dataset is incomplete, the computer cannot fill in that data intelligently (unless you're Adobe and have made unholy pacts in order to perform the dark magics known as "content aware fill"). If the incomplete dataset is insufficient, you must add more data which comes at a cost. In the case of Adobe, that cost is unholy liaisons. For the rest of us, that cost is file size.
Hope that helps!

Amazing! Also, heh, I know about computers and guessing.


text:
How to set cameras type to Orthographic with python scripting
I'm trying to add some cameras to my scene that are orthographic. For this I am using:
add camera
bpy.ops.object.camera_add(view_align=False, enter_editmode=False, location=(-12, 12, 12), rotation=(0.0, 0.0, 0.0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, ))

 make the camera of type orthographic
bpy.data.cameras["camera.001"].type('ORTHO')

I want all the cameras to be Orthographic, but i don't know how. I cant get this to work. I know that it is an ENUM, but i dont know what to do with it.
How can I set these to be orthographic?

Python doesn't have enums. It's just a string.

Enums were added in python 3.4 http://legacy.python.org/dev/peps/pep-0435/

The values to set for the types are:
'PANO', 'PERSP' and 'ORTHO' in your case, you would loop over all objects and check whether they are cameras and assign 'ORTHO'
import bpy

for obj in bpy.context.scene.objects:
    if obj.type == 'CAMERA':
        print(obj.data.type)
        obj.data.type = 'ORTHO'

Orthographic can be set with:
bpy.data.cameras['Camera'].type = 'ORTHO'

Thanks! It works. It's a bit weird though that I have to set ORTHO with cam = bpy.data.cameras['Camera'] after having set location with cam = bpy.data.objects["Camera"]. Am I doing things wrongly?

@SibbsGambling Sorry, I don't know what you mean. Feel free to ask a new question if you have an issue.

Oh just that bpy.data.cameras['Camera'] doesn't have a location attribute. To set that attribute, I need to do bpy.data.objects["Camera"]. I said it's weird because essentially it's the same thing, but I need to retrieve it differently for setting different attributes.

You would see the same thing for curves or armatures. When you're accessing bpy.data.cameras you're not accessing the camera object you're accessing the camera datablock which is then attached to the camera object. Similar issue here. If you need more information it's better to ask as a separate question as comments aren't for this kind of discussion.

This is so very helpful! Thanks for the explanation!


text:
Cycles option to turn off texture tiling?
Update
As of 2.76 there is a built-in option to handle this.

In Blender Internal there was an option to turn this off (called Clip)
Is there a way to do this with Cycles?
I know you can just scale your textures up with a transparent background, but you end up with textures much bigger than they need to be.
Is there a way to this, and if not, why not?

Where is the clip option? Link is broken

@NᴏᴠɪᴄᴇIɴDɪsɢᴜɪsᴇ Are you referring to the BI link? If so, it should be fixed now.

Cycles node system is very flexible and allows you to manipulate the UVs in pretty much any way you like.
The UV channel can be used as if it were just an image where U and V correspond to red and green channels.
These can be separated and manipulated using math nodes to create a mask you can use to clip the texture.
Here's a screenshot of a node setup doing that:

This uses the clip mask group to mix the texture to black. You could also use it in a mix material node to mix with a transparent shader or the like.
While making such node groups is a relatively long process, you can append or link the node group whenever necessary after you've made it once.

what are those places where a node is connected to the connector between to other nodes??

@gandalf3 they are reroute nodes, they don't have any futional purpose, they're there just to make the setup clearer. You can add them by shift-dragging over a connection.

As of this commit (will be in 2.76), there is now an option to set the coordinate extension mode similar to BI:

You can simply use the mapping node and check the min and max boxes.
Set the number of repeats in the values next to max check boxes.
Check my example here:

Thanks, I got it to work, sort of. I guess I still don't understand how the mapping node works. I can't change the size of the texture. Textured, Material, and Rendered views all display different results.. If someone can explain the the mapping node in detail, maybe that will help.

Yeah.. the location, rotation and scale values are in fact weird. My workaround is to create a separate UV layout to position the "decal" exactly where I want. Then I use the min and max check boxes to avoid tiling.

It should be noted that with this technique, the outer pixels will be stretched. If the outer pixels are all transparent, then it works great.

@gandalf3, Why exactly are the outer pixels stretched?  I've run into this problem quite a lot.

@AnsonSavage When the texture coordinates are clamped to 0..1, all coordinates outside of that range will be equal to 0 or 1. Pixels that are mapped to exactly 0 or 1 (along an edge) will be mapped everywhere there is a 0 or 1, "duplicating" them on the clamped coordinates and giving a stretched appearance. See http://blender.stackexchange.com/q/2629/599 for ways to avoid this

Ooh! I just had to deal with this the other day.
http://blenderartists.org/forum/showthread.php?239416-tileable-uv-textures-in-cycles
&
http://www.andreucabre.com/2012/02/multiple-uvs-and-decals-in-cycles.html

Those are the tutorials that I found helpful.  Unfortunately, as far as I could tell, it's really a longer explanation than can be laid out here, but I found those tutorials only after a dangerous trip to Mordor and back...

Hopefully it'll save you some time hunting them down. Cheers!

the one on blender artists seems like the simplest way of doing it, but I couldn't get it to work.. seems only to work for where your uv map is not bigger than the texture?


text:
Why are the Cycles/BI Voronoi Procedural Textures Different?
The Voronoi procedural texture settings you get when, for example, you create a Displace modifier, are much more customizable and there are many more different effects you can achieve them with the Cycles material nodes version of the voronoi procedural.

Material nodes:

Displace modifier:

Is it possible to get effects like you can with the displace texture with the cycles material nodes texture? For example something like this:

The Voronoi Texture used by the displacement modifier is generated differently since it can also be used in the Blender Internal renderer.
The node you speak of is the Cycles texture node, a completely different engine and thus completely different parameters and code.
But yeah, I'd like to see some more procedural textures ported from BI to Cycles, particularly this Voronoi texture and the Cloud texture (which has many different algorithms to choose from, whereas Cycle's Noise texture is a simple Perlin noise if I remember right)

There is a very simple node setup for getting a "voronoi crackle" texture in the node setups released here

Probably just uses a color ramp right?

Nope, just uses two voronoi textures with different scales mixed with Difference.

Not quite the same, but a great shape none the less


text:
Looping walk cycle animation snaps back on repeat
I have what seems to be a fairly common problem (From what I've seen while searching) that I can't quite seem to solve. I'm trying to make a character walk down a street. This is the first proper walking animation I've attempted in Blender (Did a couple in 3DS Max and Maya years ago). I've created a walk cycle action called walk which repeats perfectly in place. I've also created a moveForward action which moves the character forward. This works fine with a Cyclic F-modifier as long as I keep the action as a keyframe animation, the character will keep walking down the street indefinitely. This is great for time saving but not so great for control and general animation. My problem comes as soon as I try to make it into a looping action that I can layer into another animation. The character will move through 1 loop and then jump back to his starting position.
The way I have the animation set up: bones animated for the walk cycle (walk action)
The whole armature object moved forward (keeping the supporting foot in place - as per Jjannaway3D's Sintel Walk Cycle Youtube videos) for the moveForward action.
My biggest problem with following that tutorial exactly is that he duplicates the forward motion keys for every loop, however my animation is 90% walking for 2 min 30 punctuated for a few seconds here and there by other actions that need smooth transitioning, which would be better served by layering actions.
I've looked, on and off, for a couple of days and the best answer I could find was from this question How should an animated character be moved while repeating a walk cycle? (basically the same problem) but it doesn't appear to work for my situation.
The walk cycle is 27 frames long. I've taken a snapshot of my Blend file setup on frame 28, once using just a the Cyclic F-modifier and once using the same animation as a repeating action.

As you might be able to tell, in the 2nd image the character has snapped back to origin 1 frame after the first animation loop. I'm sure there's a simple solution but I can't seem to find it.
Any help would be greatly appreciated.
Edit: Updated to reflect Phip's suggestion.
New set up: same armature + root bone parenting pelvis and IK targets
Walk action: same as before
Forward action: moves the root bone forward, keeping the supporting foot in place to prevent slipping. First and last frames are set to linear interpolation and the forward action is F-modifier'd.
I can upload my blend file somewhere if that'd help?

Oh dear, I feel kind of stupid but also so glad I worked it out.
So this is the setup that works.
Action 1: walk - in-place walk cycle
Action 2: moveForward - moving the root bone in time with the feet to avoid slipping. F-Curve modifier set to repeat with offset.
Convert both animated actions to action strips on the NLA editor. Here's where I was going wrong and what to do right. I was setting the repeat value on both strips. This worked for the walk cycle which has the same start and end frame so the "snapping back" isn't noticable but caused the character to walk forward then snap back at the end of each forward motion cycle. In essence it was only repeating the first F-Curve and ignoring all the future repeats with offset. To fix this I set the repeat value on moveForward to 1 and then set the end frame to what I wanted. This then allows the character to keep moving forward, applying any extrapolated future F-curve repeats to the motion. This also allows for extra animations to be layered on top.
For example if you have a walk cycle that's 25 frames long and you want the character to walk straight for 10 seconds (assuming 25 fps) you can set the walk action repeats to 10 and the end frame for the moveForward action to 250 frames (leaving the repeats and scale to 1).
I now realise that this is pretty much exactly what Adhi said in the other question I linked to but it didn't quite make sense to me for some reason. Anyway. I hope this will prove a useful tip for anyone else stuck on a similar looping animation problem.

I'm far from experienced with animation, but as you've not had an answer yet; I'll try to help.
In the images you provide I cannot see a root bone for your rig, a root bone should not be keyframed at all in your walk cycle, and should be the parent of your armature.
When you translate your walk cycle into your animation, it should be keyframes on the root bone that control the position of your armature in world space, and your action strips that control the movements of the bones of your model. These separate actions need to be well synchronised to prevent slippage of your character in your animation, this is discussed in the latter portions of the videos you refer to, and also the question you referred to posted by stacker.
If any of the keyframes in your walk cycle control the world position of your rig, then this is the reason your character has snapped back to the beginning.

Thanks for that. I added a root bone and animated that instead of the armature object but unfortunately it still snaps back as soon as I convert the action into a track on the NLA editor. I'll update my question to reflect my progress with your answer.

I created a tutorial on how to parent a walk cycle to an empty and then animate the empty. (It's just one method of dealing with the question asked in this post.)
In short, start with an "in place" walk cycle. Parent the armature of the character to an empty. Using key frames, animate the empty. You can see it in action here:
https://www.youtube.com/watch?v=Gxd42ONmU_g

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
My Camera view and renders blank
After modifying an object I deleted the camera, and after that I add a new camera to the scene but in the end I couldn't see anything with my new camera view with Numpad 0 and rendering, it just shows blank.
Can anyone help me? Thank you.
Blender File

That file is corrupted

That's because the scene camera was set to the mesh itself, instead of the Camera:

Just imagine: Can you see your own face without a mirror in real world? :P
Solution is simple: Go to Scene tab (located in Property Editor), use the actual camera object instead of the default one. Or select the camera object then press Ctrl Numpad 0 to set it as the active Camera to the scene.
Another issue in this case is that the Aperture type of the camera was set to Radius, which makes everything blurry with current parameters. Or you can simply switch to F-Stop to solve the blank render issue:

HEii.. it WORKS ... thankyou LEon cheung for the help, And the next problem is .. my rendered still black, LOL can you help me ?

OK, I think I found another why. See updated answer. :)

Wowww .. amazing, thank you Leon, It works :)

Vote? for sure.. how to vote?

Not sure what is wrong exactly with your file, some sort of glitch.
I created a new camera object, switched to it as active camera with Ctrl + 0, then switched back to your originally created camera and it started displaying correctly again.
Make sure you clear your camera objects scale with Alt + S and make sure you adjuts the clipping limits so your objects are within the visible area.

Thankyou for Helping me ... Now I can see through my camera but my render still blank ..

Focus Distance must not equal 0
In my case, the problem was that "Distance" was set to 0. Perhaps the object it was supposed to focus on was deleted at some point without me noticing.
Set a Focus object or set a manual value greater than 0.


text:
How do I minimize stretching UVs?
Using the Ctrl+V option on a UV map keeps the initial shape (the boundary of the map is not moved) and just moves everything inside, mucking it all up. Is there a way to include the boundary in this relaxing or do I have to add a thousand seams, manually rescale faces and move vertices to minimize stretching?

Does this help? http://blender.stackexchange.com/questions/10686/3ds-max-like-uv-relax/38936#38936 Are you asking the same? If yes your answer will be marked as duplicate and it will lead other people to the answer.

yes..that was exactly what i was asking, and i got my answer: "Blender lacks these features." thank you!

I find that the minimize stretch function isn't usually what works for me. When trying to minimaze the stretch in the UV island I usually pin some vertices and enable live unwrap. Pinning vertices away from each other and moving them while in live unwrap will adjust other vertices automatically and usually choosing the right vertices will minimize the stretch.
My heuristic is to choose vertices at extremes of an immaginary rectangle and start moving them. Pinning and unpinning other vertices to see what works better.
There's not a fixed rule, but usually it works.


text:
Why is my image sequence render using an old version of my animation?
Whenever I try to render my blender animation, I get this weird sequence render and uses an older version of my animation, and just creates junk files.
I'm using JPEG format, rendering into a new folder. I have tried restarting blender, saving then reopening the file, but this didn't fix it. Please help, I need to get this animation rendered so I can make sure everything looks OK from an animated rendered view.
Here is  the blend file.

We can't say anything without looking at the the file.
Post your blend.

It sounds like the old sequence has been packed into the file.  I can't post screen grabs on a comment so try this:
go into Video Sequence Editor
Select your JPG track
Display the Properties menu (N on the keyboard).
Near the filename property will be a button labeled "Unpack".  Click that and then use the [Open file] button to locate your updated sequence.
See if that does it.

I think reason you are seeing an old version of your animation is because you have an image loaded into the Video Sequence Editor (VSE), which is overriding the render.
Either remove the image strip with X > Erase Strips from the VSE:

Or, un-check 'Sequencer' in the 'Post Processing' panel in the 'Render' tab:


text:
Toon shader making jagged shadows
I've tried to find an answer but so far no luck. All of the ones I could find went over my head. So I'm caving in and asking this question myself.
I'm very new to Blender and 3D stuff, so bear with me, but when I activate the toon shader, it gives me a weird jagged mess instead of a smooth curve. Must be something obvious I haven't noticed, but I can't figure it out. Here's what it looks like:

If anybody could enlighten me on what in the world is happening that would be appreciated.

Set your shading to smooth.

Make sure your object is smooth shaded, as GiantCowFilms mentioned.
Select it and press smooth in 3D view > toolbar (T) > Tool > Shading:


text:
GLTF Export — get scene camera
I am using the GLTF exporter to use the result with Three.js. Within the Scene I have defined two cameras and set one as the »scenes' camera« within the Scene Properties panel (see image below):

The result of the export contains a list of all cameras, but how can I figure out which one is the one attached to the scene?

glTF and three.js do not have Blender's concept of a Scene Camera, so you'll need to use another way to identify which camera you want. Object names are exported with cameras, and Custom Properties are exported as well (if you enable this in the export options). Those would both be available in three.js as camera.name and camera.userData.
Note that the camera may be parented to an empty for export, so you may need to check both camera.name and camera.parent.name for the original name.

If anyone is wondering how to do it with react-three/drei
// Inside a react component
const { nodes, materials, cameras, userData } = useGLTF(
  '/objects/house_gltf/house.gltf'
) as unknown as GLTFResult;

// On a sidenode, I also use gltfjsx to convert gltf models into components
// https://github.com/pmndrs/gltfjsx

And this is what do check in Blender when exporting the file

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
What is the bmesh equivalent to bpy.ops.mesh.shortest_path_select()?
Basically I am trying to replace a call to bpy.ops.mesh.shortest_path_select() in an Add-on of mine. While many bpy.ops.mesh operations have a bmesh equivalent, the selection of the shortest path between two verts is something I haven't found anywhere in the bmesh documentation. Maybe I just missed it, but nothing sticks out to me as an obvious solution.

https://en.wikipedia.org/wiki/Shortest_path_problem#Algorithms

Shortest Path algorithms

Dijkstra's algorithm
 Dijkstra's algorithm to find
the shortest path between a and b. It picks the unvisited vertex with
the lowest distance, calculates the distance through it to each
unvisited neighbor, and updates the neighbor's distance if smaller.
Mark visited (set to red) when done with neighbours.

Here is a bmesh take on this.  The algorithm calculates the shortest path from source vert to all verts.
To clean this up would prob make a class of the method, that once built would return this info
import bmesh
import bpy
from math import inf

class Node:
    @property
    def edges(self):
        return (e for e in self.vert.link_edges if not e.tag)

    def __init__(self, v):
        self.vert = v
        self.length = inf
        self.shortest_path = []

def dijkstra(bm, v_start, v_target=None):
    for e in bm.edges:
        e.tag = False

    d = {v : Node(v) for v in bm.verts}
    node = d[v_start]
    node.length = 0

    visiting = [node]

    while visiting:
        node = visiting.pop(0)

        if node.vert is v_target:
            return d

        for e in node.edges:
            e.tag = True
            length = node.length + e.calc_length()
            v = e.other_vert(node.vert)

            visit = d[v]
            visiting.append(visit)
            if visit.length > length:
                visit.length = length
                visit.shortest_path = node.shortest_path + [e]

        visiting.sort(key=lambda n: n.length)

    return d

# test call select two verts edit mode

context = bpy.context
ob = context.object
me = ob.data
bm = bmesh.from_edit_mesh(me)
v1, v2 = bm.select_history[-2:]

# calc shortest paths to one vert
nodes = dijkstra(bm, v1)
# specific target vert (quicker)
#nodes = dijkstra(bm, v1, v_target=v2)
# results of other vert
node = nodes[v2]
print(node.length, node.shortest_path)

for e in node.shortest_path:
    e.select_set(True)

bmesh.update_edit_mesh(me)

Notes. Added option to target a destination vert to yield when the result for that vert is reached.
Another addition would be to save the  alternative route when the distances match. Multiplying each node in the resultant path will give the combinations of possible routes.

Awesome answer as always! From first tests, this seems to be the algorithm that Blender uses internally as well, though I can't really tell from browsing the source code, my C++ Voodoo isn't sufficient to tell.

Thanks. It's fun coding these things.  Leads to a question re the persistence of bmesh tags.  Had a fiddle with adding alternate paths and global edge lengths.


text:
On returning to my file 'Play Rendered Animation' says 'file not found'
Earlier I rendered my first ever animation which is grass moving. But I closed the program and went to do my personal things. When I got back to the file and opened it, I clicked play rendered animation but now it says 'file H: blahlbhalbha... png.001-0100.avi not found' or something like that. I checked my folders and I clearly have all the 1-100 png files. Do I have to re-render it because it took about 24 hours because I have a terrible computer. Is there any way to fix this?

If you can find the files in the output folder, import them as a VSE image sequence strip

If blender fails to play back the file that just rendered, this should be reported in the bug tracker. Please check if you can redo the error with a few low resolution frames.

If you have renamed your animation (if it was outputted to a movie file), then Blender will not be able to recognize it if it doesn't have the original output name. Did you rename your file? (Was it a movie file in the first place, or was it an image sequence?)


text:
Can the 3D viewport be set to draw smooth (anti-aliased) wireframe?
When I create mesh etc the wireframe looks so jagged. Coming from other applications I've used, most of them seem to have smooth wireframe (Maya to name one).
Are smooth wireframes possible in Blender?
I'm using a MacPro and my version is 2.71.

I'm assuming you're talking about anti-aliasing:

This can be turned on in the User Preferences (found in the File menu), in the System tab:

You may need to click Save User Settings at the bottom left and restart Blender to see any effect.

Warning, on some systems (NVidia specifically) this can cause editmode vert/edge/face selection to fail. (This is an issue with the OpenGL driver and not much Blender can do to resolve)

Doesn't do anything for me... Using the blender snap (2.79) on ubuntu 17.10

@Tooniis did you "save user settings" and restarted Blender?

@Winand yes I did

It works now on Ubuntu 18.04


text:
How to play My Blender Game in a webbrowser?
Right now I have a .blend file for a little interface project I am working on in the game engine and also a .exe
Is there a way I can play my project in a web browser so I can show it to some friends?

There were blender plugin for web browsers, but it not supported anymore. You can use http://www.blend4web.com. This question seems to duplication of: http://blender.stackexchange.com/questions/14302/html-blender-game-engine?rq=1


text:
How to make a button that changes lamp energy in BGE?
I am creating an options menu for a simple game. I want to make a button that will adjust my lamps energy up or down.
I would like both ways,  a button that adjust the lamp energy up and a way to adjust it down.

scene = bge.logic.getCurrentScene()
cont = bge.logic.getCurrentController()
light = scene.lights['Lamp']

if cont.sensors['Mouse1'].hitObject.name == 'button.up' and cont.sensors['Lclick'].getButtonStatus(bge.events.LEFTMOUSE) == bge.logic.KX_INPUT_JUST_ACTIVATED:
    light.energy += 0.5

if cont.sensors['Mouse1'].hitObject.name == 'button.down' and cont.sensors['Lclick'].getButtonStatus(bge.events.LEFTMOUSE) == bge.logic.KX_INPUT_JUST_ACTIVATED:
    light.energy -= 0.5

Attach this script to your two buttons with these logic bricks. The two buttons must be named button.down and button.up, or you will have to change the names in the script.

The two buttons will increase and decrease the default Lamp energy by 0.5 per click.

The "I'm not a programmer!" approach.
First step:
Create the button(s), create the light.
Second Step:
Create an animation for the lamp where it is dim at frame 1 and bright at frame 200.
Third Step:
Switch to game logic and add a property to the light named Bright. Make an action actuator with the play mode set to property set the property and the frame property of the actuator to be Bright. Do the rest of the setup as follows.

This basically means If the mouse is over the button (cube) and the mouse is clicked, add two to the Bright property. Play the PointAction as Bright is increased.
Forth step: (optional)
Add an always sensor and a mouse visibility if your game has no way of knowing where the mouse is. Create another button with the exact same setup except make the property Bright decrease by two under the property actuator

I didn't even know that you could have animated lamps playing in the BGE! (jeep's headlights will be toggling on/off very soon.)

Learned a trick or 2 from BRSky


text:
Simple Question Why Does Pressing P not start the BGE?
Pressing P in Game Logic Mode Does Not Work Anymore I Checked and the shortcut is the same still. if I press Space to bring up the search and type in game
it says "Wm: start game in player" upon clicking that it works but
pressing "P" does not do this anymore and it gets kinda frustrating searching it up every time I wanna test the game logic, so How do I get the shortcut to work again. oh, a little more bit of detail changing the shortcut also does not fix my problem ether.

Up the top switch blender from "Blender Render" to "Blender Game"

Until Blender 2.49, P key put you right into the game engine.
Blender 2.5 introduced a special concept called Render Engine (Internal, Game, Cycles), and you must choose the right engine to configure it. When you choose the game engine render engine, the properties editor and some other ui menus and panels will update. Pressing P will also now put you in the game engine mode.


text:
How to switch to another camera in blender game engine
This might have already been asked but how do I switch cameras in blender game engine? What I would like is to play a camera sequence perhaps a panning view around a map and then towards the end switch to a camera linked to my player modal for a third person setup.

The scene actuator allows you to alter the active camera.

Hi sambler, I am here again to bring trouble for you. I have an issue regarding activating cameras. Could you please take a look at my question here? It seems that I am doing everything correctly but the result that I get is so weirdly strange. I need some urgent help and I think you might be able to help me with it. Really appreciate you.

As @sambler answer you can use a scene actuator.
Also you can do it with a script.
from bge import logic

locPoint = scene.objects['EmptyPanningEnd'].worldPosition
scene = logic.getCurrentScene()
cam1 = scene.objects['panningCamera']
cam2 = scene.objects['playerCamera']

if locPoint != cam1.worldPosition:
    scene.active_camera = cam1
else:
    scene.active_camera = cam2

Also if you want to change the camera pressing a key and you have a lot of cameras, add a property and named camera (in each camera).
from bge import logic

own = logic.getCurrentController().owner
scene = logic.getCurrentScene()
camList = [cam for cam in scene.objects if 'camera' in cam.getPropertyNames()]

if logic.keyboard.events[events.CKEY] == logic.KX_INPUT_JUST_ACTIVATED:
    change_camera(scene,camList)

def change_camera(scene, camList):
    if camList.index(scene.active_camera) < (len(camList) -1):
        scene.active_camera = camList[camList.index(scene.active_camera) + 1]
    else:
         scene.active_camera = camList[0]

Related Documentation


text:
(Game Engine) How to restrict character movement to linear paths
I'm making a Pac-Man clone to familiarize myself with the game engine and I can't figure out how to limit the area the player/enemies can move in without introducing other problems. If I use a navigation mesh they kind of slide around clumsily instead of moving in straight lines parallel to the the x/y axis like in the original Pac-Man.
I've made a simple mesh (highlighted in orange) that shows the paths the characters should travel over.

Is there any way I can restrict their movement so they're always located at some point on this path or am I better off just using a ton of logic bricks to handle each turn at each corner individually?

Can't think of a nice way tot do this with logic bricks without being hack. do you know Python?

Have you tried incrementing motion? You might try using a setup like the one in the image below to increment the motion of the characters (Although you can set the frequency extremely low) and then adding a non-rendering collision mesh ahead of the character that rotates them when they're about to hit a wall.
Just set the motion value to the number of blender units per grid space on your map, an that should do it!

Hopefully this helps! Just a quick aside, if the motion winds up being too fast, try halfing the value for motion. That'll slow it down while still preserving the grid-based motion.


text:
Certain textures don't work as particle textures?
I can't seem to use point-density or voxel data textures to affect particles.
For example, I can set up a point-density texture that will create volumetric density around particles from system A, but if particle system B is set to use the same texture for particle emission density, nothing will be emitted.
A bit of experimenting showed that particle emission treated all points in the point density texture as position 0 on the colourramp.

what render engine are you using? cycles or BI?

BI, cycles doesn't allow particle textures.


text:
Animate clouds texture for blender sky
I added blue color to my world background and then add texture 'clouds'.
I set up options so it looks quite good.
But I'm animating flying jet and these clouds are static. When I move camera & jet clouds are always the same.
How I can easy fix it?

blender internal render, or cycles?

blender renderer

That really depends on the node setup. If you go to this tutorial and follow along with what it has to say, then there are specific drivers in the tutorial that will allow your clouds to move and be very flexible.
Here's the .blend file in which you can append from! Just make sure your project is in Cycles, and press Shift + F1 (append) and go to path\suppliedblend.blend\world\sky.
;)

EDIT:

Here are some further steps on how to animate the clouds without actually having to watch the tutorial. Now, when going to edit this answer, I realized that my supplied .blend file wasn't actually optimized to have these animate-able  properties. So, It's really quite simple to add that feature. Make an edit to the provided node setup and add a new node (Shift+A) and add a mapping node. (Vector>>Mapping) Put your node in between your Texture Coordinates node, and your Noise Texture node. That way, the mapping node will have the output of the texture coordinates node going into the input of the mapping node. It's output will then go into the input of the noise texture node. Simple. Once this has been added, to make your clouds move you just need to keyframe the location coordinates parameters. If you hover over one of the sliders and press I then you will have keyframed your value. Make sure that the other keyframe is far enough away from the first to achieve a realistic effect.

But this tutorial is for cycles and I'm using internal render :( Can I use this tutorial anyway?

@Kaki I don't believe that it's possible to make a setup for a sky that is TOO reliable in BI. This is a cycles only tutorial.

@David Actually, before I knew he was using BI, I actually posted my answer and planned to switch to my other computer with Blender installed and edit it with a .blend example to append from. But, apparently he is using Blender Render. :( Does B.SE save answer drafts? I would have just done a draft if I could rely on that.

@Kaki would you like me to supply a .blend example file with the contents of the tutorial to append from for future reference? You know, just in case you have this same scenario but with Cycles and want a quick way to get a cool looking sky. Too bad you're using BI instead of Cycles or you'd have your moving clouds in no-time.

If you can. I think I can switch to cycles - my animations are very simple.

@Kaki Okay. I'll edit my question. If you don't know, just append from the supplied .blend file in the world folder. Once it's appended, just select the world in your world properties tab. Keep on Blending! ;)

@Kaki There you go!


text:
Is there a way to batch change the text with script
So I have 10 txt objects, named 1-10 accordingly, is there a way to insert smth in the python console to change them from "txt" to these names that I have on the left part of the screenshot?

Are you sure you mean the left part…?♂

with python its ease. Firs select the cells on the table and copy them.

then with this code
import bpy

## create an string with words copied from table
words = '''
word A
word B
word C
word D
word E
word F
word G
word H
word I
word J
'''

## split the string and select all except the first and the last because these spaces are empty
words_array = words.split("\n")[1:-1]

## print the array to verify that it is correct. Printed on the system console: "Window > Toogle System Console"
print(words_array)

## initialice an index to extract a word from array
index = 0

## loop through the selected text objects and assign them the corresponding word.
for textObject in bpy.context.selected_objects:
    textObject.data.body = words_array[index]
    index = index + 1

and with the selected objects we have the result

Thank you, this is very helpful!!!


text:
how to edit shader for all materials
I have an object that has 100+ materials, and the roughness in each material is set to 1, is there an easy way to set it to 0.5 with a script or smth?

just an advice for the future: you should have given us more infos about your material because i posted now just the "easiest" case. If you have more complicated material - you should have written that in your question. But you can open as many questions as you want.

you can do it like this:
import bpy

for eachSlot in bpy.data.objects["Cube"].material_slots:

    eachSlot.material.node_tree.nodes["Principled BSDF"].inputs[9].default_value = 0.5

But....
Prerequisites are:

all materials look like this:

you exchange "Cube" to the name of your object

Each slot must have an material which looks like 1)


text:
Where is the image texture node?
I want to change linear to closest but i'm not sure where that setting is at.
Can someone show me a screenshot?


text:
how to rotate an object (a line) diagonally x,y
I have defined a line as an object, and I am trying to rotate it end over end, diagonally, 360 degrees, over 100 frames. i havent yet found a way to do this. I tried just using calculations and setting the rotation to a frame, but it wobbles like crazy. I also have tried using an empty, but then i have the problem where i have to rotate the empty diagonally, so that didnt work either, and i also wouldnt know how to join two objects on their centers to link their motion. what is a good beginner solution?

Add a screenshot so that we could see this line.

Euler rotations in multiple axes do not commute (their order matters) , and while you can set the start and end key points of a rotation with a combination of Euler rotations in various axes, in no way does that imply that interpolating those separate rotations will yield overall interpolation along a Great Circle when they are recombined.
Typically, for animation, you would parent the line-object to an Empty previously rotated in Z by 45 degrees, so you can rotate the Empty in only one of its axes, X or Y, to achieve the diagonal rotation of the line-object.
The rotation in a single Euler axis will interpolate along a Great circle, and behave as expected.
However, Blender also provides other modes of rotation, which can be switched in the Item > Transform  panel of the Properties region in the 3D view. Quaternions will interpolate along Great Circle between keyed points, but are perhaps trickier to set in the viewport.
Analogous to parenting to an Empty, without actually parenting, might be Axis-Angle rotation. You define an axis, and key the rotation about it.

The rotations will only appear when their mode is active. You can key the switch between rotation modes, so as to have one take over from another in the course of an animation.
But it most circumstances, that might make things a bit complicated on your dope-sheet.


text:
Very weird error after import .OBJ
I sometimes get this error while importing an large .OBJ file. The Mesh is completely broken. Can someone help me, please?

Might be helpful to ask people for more advice on how to best import an .OBJ file. They might have some good tips for you, and it would also help other users. To include a Blend file go to :blend-exchange.com. I have sometimes noticed changing the scene units can help just in case there is a mismatch.

@common_goldfish: How to best....is a very bad question here, because you shouldn't ask opinioned based questions, because that kind of questions will be closed quickly.

@Chris:  Fair enough, hopefully the OP gets back to us with either info on his import settings or a .blend.


text:
strange texturing artefacts
I made myself a procedural brushed metal texture. I use it to render CAD designed parts in blender. On most of the parts the texture looks great. But sometimes there are strange artefacts in the lightnig, as if the faces are not planar.
I've tried to retopoligize the mesh a bit, but somewhere, there are always this artefacts. The strange thing is, I symmetrized the mesh, and the mirrored faces look just fine.
Has someone a clue, what this could be?

Somehow flipping the normals solved the problem, But why?
edit: not really, only in edit mode it looks ok then. Outside it looks strange again.
The tile at the left side has normal like other co-planar faces. Rest of the row has normals flipped inside.
edit2: i found out, that it has something to do with the origin of the object. when i move the origin outside the object, the artifacts dissapear...


text:
How can I get applied mesh normals from a newly created mesh?
I'm working on an addon to distort the backsides of a mesh along a direction. I'm using a dot product with each vertex's normal to determine whether or not that vertex should or should not be affected, and by how much. This works 100% perfectly if you only move or scale the object, but if you rotate it without applying the rotation, there are issues with the direction not changing.
Here is my code for getting the normals
def global_verts(_obj):

    out_verts = []
    out_norms = []

    mat = _obj.matrix_world

    depsgraph = bpy.context.evaluated_depsgraph_get()
    mesh = _obj.to_mesh(preserve_all_data_layers=True, depsgraph=depsgraph)

    for vert in mesh.vertices:
        out_norms.append(vert.normal)
        out_verts.append(mat @ vert.co)

    return np.array(out_verts), np.array(out_norms)

This should give me the updated mesh, but when I test if these normals are equal to the original object, it returns as true. So far I have tried multiplying the normals by matrix_world, matrix_local, and matrix_basis, using multiple different methods of getting the mesh, and setting the mesh vertices to world space and then getting the normals, none of which have worked. Is there any way that I could get the applied normals for a mesh, not just for rotates objects but also for rigged ones as well?
Thanks!

I might be missing something, but in your script you're never changing, e.g. rotating the normals, so naturally they would be the same in the comparison. The normals in out_norms are identical to the original ones (with the exception of e.g. modifiers because the evaluated depsgraph is used).

That might be the case. Any way that you know of that I could fix it?


text:
Blender 2.81a wont work with my Wacom tablet
Just downloaded blender 2.81a wont work with my Intous Paper. it is working with both 2.8 and photoshop so im pretty sure its a problem with 2.81a. the tablet will work with 2D in 2.81a but not sculpting for some reason. thanks for the help!

Can you test if that happens without using the tablet as well?

do you use the pressure sensitive settings in that mode?

It works perfectly well when i use just a mouse but sculoting with a mouse is near impossible to me.

I always use pressure sensitivity i believe.


text:
Change Viewport Display Color of selection/collection of objects - Only changing one
Trying to make a simple script to change the viewport display colors of a selection of objects. (I like to keep track of things visually with color codes on objects.)
The script below will change the 'material color' of multiple objects, but will only change the Viewport Display color of the last selected object, which I've sussed out to be 'object color'
(Thanks for any tips, not much of a programmer at all)
import bpy

# Iterate over all the selected objects
for o in bpy.context.selected_objects:
    # Set the active materials diffuse color to the specified RGB
    o.active_material.diffuse_color = (0.8, 0.1, 0.0, 1)
    bpy.context.object.color = (0.8, 0.1, 0.0, 1)

It's even simpler than that ! Replace the last line with :
o.color = (0.8, 0.1, 0.0, 1)

FYI, the for loop iterates over all selected objects in the viewport, pretty straightforward.
Then the second line changes the material viewport display color. This is what you see when you set the Solid view mode to "Material". Be careful though, if your object doesn't have any active material, this will throw an error and terminate the script not so gracefully.

The last line is supposed to change the object viewport color, what you see when you set the mode to "Object".
Your script only takes the active object in the viewport, the one with the yellow outline. You rather want to change the color of each selected object, noted o inside the for loop.

Thank you! That did the trick. I had a feeling I was making it harder than it needed to be. Thanks for breaking it down for me too. Really learned something here.

Now I see...so 'o' is current index of the array of currently selected objects...I could change just about any property en masse this way? This is good stuff.
I want to try and expand this into a little organizational tool that allows assigning and selecting coded mesh colors. I'm a 3DS Max convert, and I used to do a lot of organizing with mesh colors...made it easy to visually organize yourself.

Well it is not the index per se, it is actually the object as it is represented in the software memory. for loops in python are a bit different than in other languages you might be familiar with, you iterate over the actual list rather than iterating the index and looking it up in the list. With that you can get access to many of its properties. See the docs for which ones for instance. I recommend following a crash course in python to get familiar with the basic semantics of the language, you don't need much to automate things :)

Also for instance you can tweak the script to automatically color the objects containing a certain tag in their name, or in a certain collection with a simple if "my_tag" in o.name: just after the for loop


text:
Blender freeze for minutes while saving
Blender freezes for minutes when i save a project , a render etc ... even if i try to save a simple box the issue is here .
i have a surface book 2 GTX 1060 and CPU I7 , blender was working nicely until recently .
Does anybody has an idea ?
thank you .

Have you changed drivers, system settings or hardware? Such things don't happen just like that.

blender was working nicely until recently , what changed in your computer?

try load factory settings, maybe some hidden data stored in default scene

When you save a file, it actually adds to the amount of memory being used in Blender currently. This happens to me quite often. When this gets bad enough, I usually save the file a last time, and then open the Blender file again. When I re-open the file, the previous saves' memory and history is not accounted for, and saving again is very quick.


text:
Image texture is not showing on imported objects
Using Blender v2.8. When importing Vavefront obj or Stl and trying to assign an image texture, it doesn't show properly. At the same time, a native Blender object, like a cube from the screenshot with the same settings works as expected. Cannot find any differences in the settings between imported and native objects. Is it some kind of limitation, or imported objects needs to be processed differently?
BR
Oleg

Hello and welcome :). What exactly do you mean by "texture doesn't show properly"? If a texture doesn't show at all, it usually means the object isn't UV unwrapped.

Check the UV map. It seems to show the averaged color of the texture, this might happen when there is no UV map made for the object.


text:
Problem with lights in blender 2.81
I'm having some problems with a blender project, I'm trying to learn how to animate and I did this very simple barrel that falls: only problem is, I can't figure out why but there is way too many light in my simulation (There maybe is a more precise name for that), and I really can't work out why the light that I created does not seem to work. I tried to increase a lot it's watt and change color, and I even tried to get it closer to my object, but it simply does not seems to work and I don't understand why. I'm leaving the project file so if you want you can download it and try to give it a look.
Project file (google drive)

Okay I looked at your file. There are some major problems, you are working on your lighting too soon. You have no materials applied to any of your objects. You need at least a basic material to setup lighting. Also your camera isn't placed very well to catch the action, it is barely getting the barrel at all. Fix these first then try to get the lighting. I would use a sunlamp, not the spot lamp.

Well of course I didn’t mean to render the scene with the camera and the light placed in that fashion, i was just trying to see if i could have an idea of what to do in the future. You say that using some texture and material i should not have problem of this kind?

There was only the one default light, if you have materials it will let Blender know beter what to do with the light and give you contrast as you adjust your lighting.


text:
How can i animate my object with one bone?
I`m trying making an animation with an wand to my game, i follow this tutorial from Blender Youtube Channel: https://www.youtube.com/watch?v=cZ3o5tjO51s
I create my wand with 3 separeted meshs and merge with CTRL+j then i create an armature with only one bone and set inside:
Then i selected both armature and wand and click parent with automatic weights.
But when i move the armature in pose mode the wand don't move. Is there a diferent set to make a object move with only one bone

If you created an armature with a single bone, and after autoweights, your mesh doesn't move with that bone, it's because the autoweights failed.  Blender would provide an error message in this case, but it's easy to miss if you're not looking for it.  You might check out Heat Weighting: Failed to find solution for one or more bones if you want more information about how to work around this.
However, here, there are a couple of easy things to do, that are just as easy as autoweights, and better.

Manually assign all vertices to that bone.  Enter edit mode on your mesh, select all vertices, and look in properties/object data/vertex groups.  Blender should have created a vertex group with the same name as your bone (maybe, "Bone".)  By default, the "Weight" slider beneath your list of vertex groups is set to 1.0; if not, set it to 1.0.  Then click the Assign button immediately above that slider.  Now, all of your vertices are assigned fully to this vertex group, and if you still have your armature modifier from parenting with automatic weights, you'll find your bone works properly.

Alternatively-- not additionally!-- you can bone parent your object to your mesh, rather than armature deforming it.  This is slightly different, but generally preferable for reasons of performance and for cases where object coordinates are used in materials.  In this case, start by deleting the armature modifier that the parent with automatic weights created.  Then enter pose mode on your armature and make sure your bone is selected.  Now, in the 3D viewport, select your mesh object, shift select your armature, and ctrl p -> bone relative.  Now try our your bone, and you'll see that your mesh moves with it just fine.

To be frank, if the autoweight failed, more often than not it means the mesh is wrong and it should definitely be fixed, especially if it's for a video game asset.

The correct procedure in to select in object mode the mesh first, the armature second (with shift select), then press Ctrl P and choose with automatic weights option. In this way moving in pose mode the bone will move the mesh strictly tied. Another (and better) way is to choose the "bone" option, which can be used when the mesh doesn't have to be deformed (in your case, in which you have one bone only, the result is exactly the same).


text:
Why does my character model revert to a torso when I go into Pose mode to animate it?
I rigged a model following some tutorials, and now I'm trying to make some basic animations.  I already know that my model is rigged properly, because I can get it to work using the motion captured animations pack in the Unity store.  However, following an example like this one, I go to put my model in pose mode, and I get this:

Instead of my full model to animate:

I'm sure this is something absolutely stupid that I'm missing, but I'd appreciate it if anyone can tell me why this is happening so that I can get back to work on this.  Learning things from tutorials is a great way to learn for free until something goes wrong that the tutorial doesn't expect.  My project is here.

The rigify addon creates an armature that uses drivers to control some parts of the rig. The leg bones have their scale calculated based on the value of the stretch_length, which is a custom property of the bone.
Blender has a security option that controls whether scripts are run automatically when opening a blend file, this includes drivers that use python expressions to define their calculations.
When you open a file with auto run scripts disabled these drivers aren't run so you end up with strange results like this.
The solution is to open the file with Trusted Source enabled or ensure it is in a path that is not listed as untrusted.


text:
How to make an object have a clay like surface?
I am new to blender and I am trying to add a clay like material to an object in blender.
I tried using a material but I want the object to have a rough imperfect dull surface like play-doh. Is it even possible to do that?

Are you using Blender Internal renderer or Cycles?

By the way, clay materials and "play-doh" materials are different.

I am using Blender internal render

For a clay material, simply set the Specularity to 0:

If you want it to be more like "play-doh" you might want to raise the specular lighting by a bit (maybe to 0.1), but it will also be important to actually deform the model some. Play-doh shapes aren't perfectly smooth. I find that using a Voronoi texture on a Displace modifier, followed by a Cast to Sphere, works pretty well. Here's an exaggerated image and a more realistic image:

Finally, here's the modifiers and texture setup I used:

this works but it tends to deform my objects i already made

@user2883800 Yes. That's the point. That's why I said that it's "important to actually deform the model some." Sometimes appearances are about more than just materials. If you don't want to deform at all just don't include Cast or Displace; if you want a different method, try a bump map.

I found another way to create a clay surface and it is working well. Thank you for your help though.


text:
Can one create a video from sequence of meshes that you already have using blender?
If I have a sequence of .obj (or any other readable format) files created from my own simulation code (say cloth simulation), can I use the rendering capabilities of blender to generate a video?
Is there a way to set the material properties for frame 1 and use the same or rest of the frames while the corresponding meshes are imported afresh from that ones I provide?

If you can get your sequence into a .MDD or .PC2 format, you can try using the Mesh Cache modifier.
If that doesn't work, you can try this addon which handles .obj sequences.
A third option is to write your own python script to toggle the visibility of each mesh so it is visible for only one frame. You can do this with a script that sets the object.hide_render property accordingly.
You can copy materials to from the active to the selected objects with CtrlL> Materials.

The Meshfoot plugin is no longer available. The closest solution may be here http://blenderartists.org/forum/showthread.php?292968-AddOn-Import-OBJ-Sequence-As-Shape-Keys%28on-one-object%29&highlight=object+sequence

This answer is a bit late, but I recently developed a Blender add-on for importing OBJ sequences (it also supports STL and PLY). It's called Stop Motion OBJ. It supports objects with changing topology (different number of vertices on each frame). Here's a link to the blenderartists thread where I announced it. Make sure to read through the README on the Github page for some important notes on how to use it.

I solved this via conversion to PC2 and using the PointCache modifier. BUT, this method only works if you have the same number of vertices and faces throughout your entire simulation. if so, suggest:

write a script to convert your obj (vertex data) to a pointcache file. Have a look at the python script in Blender io_export_pc2.py, this will give you the pc2 binary file format.
create a basis or reference mesh - build this from the first .obj mesh in your sequence. From what I could figure out, the pc2 file holds vertex information only, and assumes the topology in the basis mesh does not change. hence the need for this step
apply the pointcache modifier to the basis mesh, pointing at your .pc2 file
adjust the pointcache modifier settings. I used custom, setting the time/frames to align with the an integer multiple of the number of meshes/timesteps. I assigned 50 outputs meshes to stretch over 200 frames, and Blender interpolated the point locations in between
assign keyframes - keyframe the first and last time reference in the pointcache modifier

thusly, during animation the vertex locations should move in accordance with the pointcache data.  Good Luck

authors: два плюс два


text:
How does one figure out how big to make an object to make it scale to fit a Curve Modifier perfectly?
Suppose I want to make a flat surface curved using the Curve Modifier; how do I do this so that the flat surface follows the curve from end-to-end exactly?  I can hackily scale the flat surface along the curve but then it flies off the end of the curve and the vertices on the curve are all arbitrarily placed!  Is there some sort of "Stretch to Fit" option for the object having the Curve Modifier being applied to it?
This is my curve from above:

This is my flat plane I want to have mapped to the curve:

You can see that the flat plane is the same length as the curve from the front view.  However, when the following Curve Modifier is added to it, it shrinks and for some reason, the 45-degree-angles lines become curved!

The origin of the curve and the plain are in the same place (I was having other weird issues before having done that).  I've subdivided the plain into 16 faces per square so that it can curve and used "Set Smooth" on all of those faces).  What do I need to do to stop the plain from orthographically shrinking laterally when it uses the Curve Modifier?

could you please share your file? https://blend-exchange.giantcowfilms.com/


text:
Blender 2.81 - Copy cursor rotation to an object
I see in Blender 2.81 that cursor has rotation informations.
I would like to find a way to use cursor's Orientation and apply it to an object.
Is there an easy way to do that ?
Thanks !

Hello :). You can manually copy the XYZ values, or use it as a driver for your object. Then, by rotating your cursor, the driven object will also rotate.

I'm not aware of a simple option or shortcut in the UI, this is possible in Python though (and therefore an add-on could be written which provide a button). Otherwise the approach described by Jachym would work as well.

Snap to cursor with code
Quick little script to copy either or both of cursor location, rotation to selected objects.
import bpy
from mathutils import Matrix

use_rotation = True # use cursor rot
use_location = True #  "    "    loc

context = bpy.context

cursor = context.scene.cursor

tc, qc, sc = cursor.matrix.decompose()

for ob in context.selected_objects:
    to, qo, so = ob.matrix_world.decompose()

    R = qc.to_matrix().to_4x4() if use_rotation else qo.to_matrix().to_4x4()

    T = Matrix.Translation(tc) if use_location else Matrix.Translation(to)

    S = Matrix.Diagonal(so).to_4x4()

    ob.matrix_world = T @ R @ S

Thank you; this is great! I can't believe this is not a button in the N-Panel>View>3D Cursor, or an option when doing Shift+S, or at least the ability to right click the rotation XYZ and "Copy All to Selected".


text:
Fluid simulation only renders surface leaving cavities against domain
The simulation runs fine, but only seems to add the mesh to the surface layer of the fluid. Any space between the surface and the domain that should be filled is left as a void. I tried changing the concavity numbers in the mesh settings, but that didn't do anything.
When I see other fluid simulation tutorials, there is no gap between the fluid and sides.
How do I fill the whole space with mesh that should be filled with the fluid?

could you share your file with me?  you can use this link:https://blend-exchange.giantcowfilms.com/

Unfortunately I don't have the blend file anymore, and I've had no luck recreating this in either 2.83 or 2.91. Sorry.

After giving this a bounty because I had the same problem, I found the solution. When you simulate the fluid, the default settings only simulate the surface layer of the liquid. This is called a narrow band, which reduces memory and computational power needed. For some reason, the fluid mesher only meshes the narrow band.
Scroll to the Liquid settings, and set narrow band to 0 to disable it.

I don't think this fully answers the question - since "normal" behaviour of Mantaflow doesn't generate a mesh with just the surface rendered as in the original post. Mantaflow normally concentrates fluid particles on the surface and the Narrow Band setting controls how thick that band should be. Presumably setting it to zero indicates that it shouldn't have a band and for particles to then be distributed through the entire fluid - which avoids the problem. I think it would be interesting to determine why the original poster got different results (was it a specific blender version with a bug?).

I'm with you Rich, the normal behaviour of Mantaflow should not mesh just the surface. I also tried to recreate the effect, and although it seems (from the screenshot) that all settings are left on default apart from the Diffuse values at 3.9 and 2, at frame 140 my fluid is less turbulent and the domain less filled. Since we can't see the flow object settings, I tried to give it a Z velocity of -30 m/s. It creates more turbulence and fills the domain, but still it meshes everything and not the surface. Also changing the narrow band doesn't produce the original poster's result.


text:
Particles update strangely
When changing the settings of a particle texture (controlling density and size), the particle display in the viewport updates, but it does so in some weird ways.
Firstly, if I click on either of the color markers in the color ramp (if ramp is turned on), the particle distribution will change, even if I don't move either of the markers. Furthermore, the distribution is typically the same for a given marker. If I click from one to the other, the particles basically toggle between two distributions.
Similarly, if I drag the size slider in the influence section, the particles update, but they "flicker" between a fairly sparse distribution and a much more dense distribution as it updates.
What's causing this? Is it a bug, or am I doing something weird? I'll try to post a video soon.
EDIT:
Just to clarify what I'm doing:

Select each ramp marker (without changing them)
Click on black marker several times
Drag the size slider
Key 0.5 into the size field several times in a row

Changing almost any other setting on this panel will do the same thing. There are also several things OUTSIDE the texture panel that will do this.

Could be the seed is updating . . ?

I don't think so. The seed for the particle system itself shouldn't ever change on its own. It should only ever change if the user sets a different seed. I'm about to add a video and I think it'll make a bit more sense.

particle day! it's really strange. but i'll try this tomorrow.

I'd like to object to the "off topic" based on the actual question: "Is it a bug, or am I doing something weird?" This is not a report, this is a question. I need to know if this is legitimate behavior.


text:
How to set exposure per-camera, instead of for the whole scene?
I have several cameras that represent different views of the same scene and it would be handy to set the exposure on the CAMERA, instead of on the whole scene. Is there any way to do that without a plugin? If not, are there any good plugins for letting me control the view differently for each camera?
Background: I am making an architectural reproduction and it requires shots from various locations in and around the buildings. These shots have been carefully selected, and I need to re-render each shot from time-to-time (especially as the buildings are added/updated/changed), SO this means that I can't just move the camera from one place to another each time I need to render. It's important that they stay where they are, and that I'm able to re-render a particular view without a lot of fiddling, especially because we're doing some (non-scientific) comparisons between each version of each render. Consistency between renders makes that easier. Since some of the perspectives are inside the (unilluminated) structure, and some of the shots are outside, I have to use a different exposure level depending on where the camera is (these interiors don't have a lot of light and I can't add any). So if I could set the exposure level for the interior camera(s) higher and the exposure level for the exterior camera(s) lower, I would be able to just pick a camera and hit render, without having to keep track of what a good exposure value was for each one and fiddle with its settings.

You could save openEXR and use the compositor. But it's probably not what you are looking for, so you might need to explain a bit more about you final goal

I'll try to add more information to the question, but the part that's relevant is that I want to have multiple cameras in a scene, but use different exposure levels for each camera.

Hi :). I believe the Photographer Addon can do that, haven't used it in a while though, so not sure. It has many parameters set per camera instead of per scene.

Are you going to render stills or animations? For stills, what I sometimes do as a workaround is using markers to switch between cameras. So let's say you have 5 cameras, then you can go to the Timeline on frame 1, select camera 1 and hit Ctrl+B to bind the camera to a marker on that frame. Repeat that for frames/cameras 2, 3, 4 and 5. The Exposure in the Color Management can be animated by keyframes on each frame as you need it for the respective camera. Or you could use an Exposure node in the Compositor and animate it with keyfranes.

...so instead of having to keep track of the exposure settings per camera, you just need to know on which frame which camera is set to render and instead of picking cameras and hit render, you pick certain frames and hit render.

I'm doing stills. Technically, your solution would work for me. Have a different camera active on each frame, and just animate the exposure so that it's correct for whatever camera is active on that frame. It's most of a solution, but I would still have to be careful about keeping track of which camera "belongs" to which frame... I wonder how hard it'd be to write a script for that...


text:
Thoughts on Building a Blender-Oriented PC
The rendering time on my laptop is starting to become absurd in order to get a decent looking scene. I am looking at building a pc that is well suited for blender. What components are the most important? Most of my projects are rendered using cycles, so a Nvidia graphics card is a must plus lots of ram. But I want some more information, like what cpu (Amd?)? What graphics cards would you recommend? If you have the time could you list a couple different builds such as premium, budget, ect.?
I know that there are other ways of lowering the rendering time (i.e. better poly management), but I have been looking to build my own rig for a while.
Thanks Guys!

This question appears to be off-topic because it is not about blender.

I apologize. I didn't realize my question was off topic.

Note
Although this question is about hardware we need a canonical answer on this!

Canonical posts for hardware questions?
Answering vague support questions (once)?

Answer
Mike Pan has started a thread on BA and collects benchmark results in a sheet.
Be careful because the benchmark results may differ due to different Blender versions and Cycles performance has been optimized.
A few things to consider:
GPU
Cycles uses CUDA and is provided by NVIDIA only.
A single system designed for Cycles should be focused on maximum number of shaders kernels (CUDA cores) on the GPU. When you use shaders written in OSL the scene can only be rendered on the CPU.
Nvidia model numbers start with a digit for the generation 5,6,7
 oldest    540 < 550 < 560 < 570 < 580 (fastest, 512 CUDA cores)
           640 < 650 < 660 < 670 < 680 (fastest, 1536 CUDA cores)
 newest    740 < 750 < 760 < 770 < 780 < 780Ti (fastest, 2880 CUDA cores)

You could find something like 590, this means AFAIK the two 580's have been connected.
GPU RAM
If you use many big textures the RAM of a 1.5GiB card could be the limiting factor more is better.
CPU
Baking, preparation of the scene is calculated only by the CPU. According to the benchmarks I guess Intel is to prefer.
i3 2 Cores (slowest)
i5 4 Cores
i7 4 Cores + Hyper-threading (fastest) Hyper-Threating adds approx. 10-20% of performance.

Server CPU
A Xeon-CPUs an E3-1231-v3 (4-cores) costs a bit more than an i5 but comes with Hyper-threading. . There also costly CPUs like E5 available Depending on the motherboard you can add 2 of them (Socket 2011) having hexa(6), octa(8) or deca(10) cores (plus hypertheading which adds ~10% performance) but they cost > 1.250$ (Sep. 2014).
System RAM

Should start at 8GiB, 16GiB would be suitable for most use cases.

Realated Resources

Blender Cycles performance benchmark - more CPU cores vs higher clock frequency benchmark
Cycles versions speed comparision

Some numbers from my machines for Mike Pan's BMW:
Blender v2.71
i5-3470@3.2 GHz 02:50.00
CUDA GeForce GTX 660 Ti 01:12.65

Xeon E3-1231@3.4 GHz 01:36.48
CUDA GeForce GTX 580 01:08.23

i7-2630QM@2.0 GHz 03:39.96
CUDA GeForce GTX 560M 03.00.87

You find a lot more results at:

Blenchmark benchmarks-overview


text:
Is there any "Show Brush On Surface" option in sculpt mode?
I found this in the threads from GSoC 2010 or 2011, but can't find it now in blender. Is there an option somewhere or an addon that project brush circle on top of the surface of your model?

Not sure what you mean.. Can you give a link?

On-Surface Brush here http://wiki.blender.org/index.php/User:Jwilkins/GSoC2011/Google_Summer_of_Code_2011_Preliminary_Documentation

By default, no. By script, maybe. Looks like a tremendously useful addition, though!

Just found it in the Onion Branch of the GSoC 2011 here: http://graphicall.org/272

But it doesn't work on my win8.1-64... at all... so can't test it. Btw, i think on-surface brush is pretty much a default in many if not every other sculpting software.

Sadly this isn't currently possible in blender, I believe that for one of many reasons it wasn't included into blender, that happens with GSoC projects quite often, sadly. (Maybe why blender didn't get any projects this year, 2015). As a result this isn't possible.

authors: Вячеслав Кобозев


text:
How to cut a mesh at the edge?
Is there a way I can cut by continuing an edge?

So I want a cut at the red line, possibility using the knife tool, but I can't use the angle snap, since its not on any particular angle, so is there a way to rotate the camera so its on the same angle as that edge?
Clarification: Where the red line is, it's just grey space. I want an edge there

Do you prefer a solution with the knife tool, or is any solution that cuts the edge OK?

I really don't mind how its done, results is what matters right? :D Though... it would be nice to have a function that can rotate camera to the same angle as an edge.

What do you mean with "same angle as an edge"? =)

Since the knife tool's angle snap is relative to the viewport, if the viewport angle is rotated so that the diagonal line is horizontal, then the knife tool's angle snap will work the way I want it to.

If you have a face on the edge perpendicular to the front face, then you can select the face and move the view with ShiftNumPad 1. That will rotate the view so that the edge is alined, then the angle constraint in the knife tool will work.


text:
Updating 3d model respecting existing material
I'm constantly updating a 3D Architectural model, via external software, and importing into blender to render with cycles. I have one scene fully setup, materials, cameras, environment etc.
Here's my question: How could I import the modified scene into the old one (e.g walls of a room changing their shape) and respecting the old materials that I've set up. I'm importing  obj objects. What I'm doing is duplicating all the materials, which is pretty repetitive to re-assigned every material every time.

Are the objects named, with "meaningful" names? I.e., not just "Plane.001" or something?

That's right, when I import the new mesh, names are something such as "mesh305 Group 3 Ceiling". But my problem is that the imported mesh is duplicating all the materials, even they already have same orignal name. ie Wood light. Would import for second time as Wood light_1 and with the second importing wood light_2...


text:
Fibermesh to Hair Sheets
Is there a tool that would convert fibermesh hair to game-ready usable hair sheets as shown here:
http://udn.epicgames.com/Three/CreatingHairUsingAlpha.html
Currently I have this:

Or should I simply put this beard into the dustbin because it cannot easily be converted to some game-ready?

Voting to close on the basis that the question is unclear, however as far as I can tell this is also off-topic as it is not about Blender

Try to ask your question in the post, links should help as opposed to being the actual question for us to figure out what you want.

The page you link to doesn't 'convert' particle hair to mesh, it uses particle hairs to create the texture that is used on mesh hair.

Go to modifiers, find the right Particle System one, and press convert. Is that what you want? Just as a side note, something like a beard is quite often just modelled as a solid textured mesh, as it is much quicker in-game to render.


text:
Material not showing texture data
I wanted to create a new material using an image texture.
It worked fine, but then it suddenly turned purple.
Is there any switch that I might have accidentally turned on that causes this behavior?

@RayMairlot  Ah, yes, thank you very much! Should I delete my post?

No, there's no problem with duplicates existing, they will all direct people to the original question.

authors: Игорь Иванов


text:
Re-add edge loops after using ctrl f
I am working on a really big project and I made an error in my mesh so I had to remove the faces and used ⎈ CtrlF to add a new one back but it ends up like this:

Is there any way I can use something like ⎈ CtrlR to add a few new loops in that one face? It does not need to be aligned with the old one, I just need to add something in there.

Ctrl F opens the faces menu. Did you mean F?

Yes, this is possible.

Delete the extra faces so the hole is even
Select the boundary with ⎇ Alt RMB
Press ⎈ CtrlF> Grid fill. If it looks strange, adjust the options in the redo panel until it looks right.

Thank you it worked :) it even made it look like it used to


text:
How to access vertex_color layer directly from inside BMVert
I want to access vertex colors directly from inside BMVerts, but I don't know how.
I am able to access vertex colors indirect for inside BMFaces:

import bpy
import bmesh
obj = bpy.context.active_object
mesh = obj.data
bm = bmesh.new()
bm.from_mesh(mesh)
layer_color = bm.loops.layers.color.get("col_test")
for bmf in bm.faces:
    #bmf.loops[0][layer_color] = new_color
    for loop in bmf.loops:
        color = loop[layer_color]
        print(color)
        loop[layer_color] = new_color
bm.to_mesh(mesh)
bm.free()
But this way I loop multiple times through the same vertex colors, because a face vertex is owned by multiple faces.
I don't want to loop through all faces only to get access to the vertex colors.
I am looking for something more direct, like:

import bpy
import bmesh
obj = bpy.context.active_object
mesh = obj.data
bm = bmesh.new()
bm.from_mesh(mesh)
layer_color = bm.loops.layers.color.get("col_test")
for bmv in bm.verts:
    color = bmv.????[layer_color]
    print(color)
    bmv.????[layer_color] = new_color
bm.to_mesh(mesh)
bm.free()
It seems there is no "interface" to access the vertex color from insider a BMVert directly, or am I doing something completely wrong?

Vertex colors are stored in face loops, you can't ignore/overlook this.
However its reasonable that you might want to generate vertex colors per vertex and not have to deal with looping on vertex-loops while generating/manipulating the colors.
Your best options would be to have 2 functions for converting colors between loops and verts. This could take & return array of Color objects. Then at least you can keep the conversion isolated and not complicate your color calculation logic. (If your generating new colors you only need one function to go from vertices to loops of course)

my fault was, i overlooked / did not realize, that i can assign each face-vertex an other vertex-color. in vertex-paint-mode that behavior is not/hard to see.
so it is like, at the coordinates of one vertex, each face that is using that same vertex can have different vertex-colors.
i thought that the vertex-color is stored to a vertex, so that each face, that is using the same vertex would get the same color at that coordinate.

Hmmm, looping thru all polys and then looping thru all their loops really doesn't scale well... So there's really no way around it? I could write vertex color to an obj and import it, but I kinda like the concept of face-vertex, as it sorta gives smooth colors.