How to combine many faces into single face

If you want to use only 6 faces, then any detail on the faces will have to be represented using textures.  Fortunately, textures can be used to create several kinds of detail and I can think of the following off the top of my head being easy to do in webgl:

color
specular parameters (although you might have to use glsl)
normal (affects specular and other kinds of lighting)

Blender also supports

displacement
mirror parameters

You probably want to research how to BAKE a texture from your high-res model into something usable in a 6-quad model.  A quick google search comes up with
https://www.youtube.com/watch?v=Tj-S5QAac3U about textures (which probably isn't useful in your case) and http://www.katsbits.com/tutorials/blender/baking-normal-maps-from-models.php which is for an ancient version of blender, but actually talks about baking from high-poly to low-poly.


How do you create a mesh made up of mutliple objects within each other?

If I understand correctly what you're trying to make, you can duplicate mesh with Shift+D. Then S to scale inner part to the required size and G to grab and move it.
To connect them you could select 2 edges and press F (only one edge at the time) or use Bridge Edge Loops tool to select two face loops from both meshes and bridge them with faces.
To preview what you're doing use wireframe shading mode (with Z). To have control over meshes, use Mask modifier to toggle their visibility;  Knife tool to cut half of the cup and mirror another part with Mirror modifier; store different meshes on different 3D layers among other tools.


My rendered turns out extremely bright even though there is no light in the scene. The floor in the rendered view is also white. How do I fix this?

In the shader editor under world remove an emission node if it's plugged into your world output and add light to the scene.


i have created a blend example to show how to do this.
http://www.pasteall.org/blend/36360

Ill warn you that this is big hack. it will most likley not work if you submit this job to an external renderfarm, deppending on the renderfarm settings.

What we want to do is create a driver on a transform property of an unrelated empty. Then write a custom Python Driver that updates the Text.body string with the Scene.cycles.samples value.

create an empty
create a driver on the x transform (not too important which axis)
run script in text editor.
set up driver

Code:

import bpy

def update_driver():
        bpy.data.objects['Text'].data.body = "%i samples" %bpy.context.scene.cycles.samples
        return 0

bpy.app.driver_namespace["update_driver"] = update_driver

Run this code when you open the file. now our custom pydriver will be available in the expression field of the driver. If you have already entered the expression before running the script, you will need to click in the expression field, and press enter to update.

It is important to have this fake_driver variable connected to a transform property of an object. This 'hack' forces the driver to update on each frame.
In the driver we now enter update_driver() for the expression.

Depending on your settings, you may need to open the User preferences and turn on 'auto run python scripts' to allow our python driver to work.


My model is magenta in Texturing Paint. What does it mean?

That magenta means that the material of your cat has a non assigned texture; the colored checkboard means that an UV map has been created referring to that image.

Open a UV Image editor window, select the colored checkboard, save it to your hard drive with a name like "Cat skin";
Select your material and load the saved "cat skin" as an image texture.
Now you should be able to paint it in texture paint mode.
It should work both in Cycles and Blender Internal.

To make your cat furry you will have to add to the skin material a new "hair" particle system and play with the adjustements.

Good luck!


How to stop blender from rendering world

Short answer: you can't.

Cycles can't skip parts of a render based on what is/isn't there because it doesn't know what will be there until it has already rendered it.  So it can't skip tracing rays that only hit the world background since it doesn't know what a ray will hit without actually tracing it.


Spawn the server from the register function, not inside ServerPanel.draw:

import multiprocessing as mp
import socket
import sys
import bpy
import time
import threading
from xmlrpc.server import SimpleXMLRPCServer
import xmlrpc.client
bl_info = {
    "name": "XMLRPC Server",
    "author": "KristenH",
    "version": (0, 5, 0, 1),
    "blender": (2, 79, 0),
    "category": "System"
}

HOST = 'localhost'
PORT = 8000

def command(com):
    com = 'import bpy\n'+com
    exec(com)
    return com

def server_data():
    return bpy.app.version_string, bpy.context.blend_data.filepath, socket.gethostname()

class ServerPanel(bpy.types.Panel):
    bl_label = "Server Panel"
    bl_idname = "Object_PT_server"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_category = "Shortcuts"
    proxy = xmlrpc.client.ServerProxy("http://localhost:8000/")

    def draw(self, context):
        layout = self.layout
        version_string, filepath, hostname = self.proxy.server_data()
        print('found server on', 'localhost:', hostname)
        layout.row().label(text="Server found on: {}:{}".format(hostname,PORT))
        layout.row().label(text="Press Ctrl-C in terminal to exit".format(hostname,PORT))

def register():
    global thread
    proc = mp.Process(target=maybe_launch_server)
    proc.daemon = True
    proc.start()
    bpy.utils.register_class(ServerPanel)

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

def maybe_launch_server():
    proxy = xmlrpc.client.ServerProxy("http://localhost:8000/")
    try:
        result = proxy.server_data()
    except ConnectionRefusedError:
        server = SimpleXMLRPCServer((HOST, PORT))
        server.register_introspection_functions()
        server.register_function(command, "command")
        server.register_function(server_data, "server_data")
        version_string = bpy.app.version_string
        print("Started the server with:", HOST, ":", PORT)
        server.serve_forever()

if __name__ == "__main__":
    register()

This spawns the server as a separate process. proc.daemon = True causes the process to terminate when the calling process terminates. On the plus side, this means that the server will terminate when you quit blender. On the negative side, it also means you have to pay attention to which blender started the server (in case you launch multiple blenders).


how to make a adjustment knob for a gun scope model

I would suggest taking a look at creating gears.

Go to File>User Preferences>Add-Ons, search for the "Add Mesh: Extra Objects" Addon and enabled it by clicking the small checkbox next to it's name and saving your preferences.
If you now create a new mesh in your 3D scene in object mode, you will have more options available. To create a gear, create a new object by pressing 'Shift+A' and then select Mesh>Mechanical>Gears>Gear.

Before moving or editing the gear manually you have the option to configure it's settings in the "Add Gear" window that should have opened somewhere on the left by default. I suggest playing around with these values yourself until you get something that you think looks good and use it as a base to work on.


Select all your bones in Edit mode, put your mouse cursor over the Deform checkbox, and click altenter, it will deactivate the Deform option for all the selected bones.


Once a rigify rig is created, it can be treated the same way as every other rig.

The armature modifier creates a relationship between a bone from the rig and a vertex group of the mesh with EXACTLY THE SAME NAME of the bone.

So: select your rig, go to edit mode, extrude E or divide W your finger bones until you're happy with the result, give to all modified bones a proper name, select the character, in the properties window - vertex tab - create new vertex groups with the same name of the new or modified bones, weight them manually using the "assign" button under the vertex group tab, and his relative value slider.
Assign "1.0" value of every vertex of the finger near to a bone, except near the junction: in those cases assign "0.5" value to both bones of the junction.

As tkausl said in the comments, you'll not loose any part of the already done animation, as soon as you do not modify the bones involved in your animation.

Also deleting unecessary bones from a rig is OK.


Problems with Weight Transfer to Shirt Objects

In solid mode, Only the viewport color is taken into consideration.
The viewport color has no effect on the textures or final render output.
It's use and purpose is purely for differentiating objects from one
another in a crowded scene, when using "solid" mode rendering in the
viewport.


How do you change the colors of 2 objects with nodes?

Since the OP said that this is what helped, then the answer to this question is to use material nodes, not the compositor nodes for the purpose of changing material properties with context sensitivity being per selection in the 3D viewport.

Albeit, the compositor nodes can definitely be used to change visual properties of everything (with a high degree of power and with a great myriad of approaches), in this case I believe that my prior statement is the answer for this question.

For whatever the reason may be (newness to the software, lack of experience in node editing, etc...), I imagine it to be true that this particular question would be very hard for a user at a beginning level of understanding to articulate.  This being said, I hope that this helps somebody else who may be searching for the same/similar solution in the future gain good information; even though it may be hard for them to describe.


Paste this into text editor and run it for your selection:

import bpy
for obj in bpy.context.selected_objects:
     obj.cycles_visibility.diffuse = False


Cannot edit single NURBS curve control points after changing its properties

Sounds like you unintentionally pressed O key by accident and turned on Proportional editing.

Try disabling it in the 3D view toolbar at the bottom of the screen


Why is my Mindtex-generated normalmap rendering weirdly in Cycles?

Use a normal map node between your image texture node and your normal input. As you already have, the image texture should be set to Non Color Data.

From the manual:

  The Normal Map node generates a perturbed normal from an RGB normal map image. This is usually chained with an Image Texture node in the color input, to specify the normal map image. For tangent space normal maps, the UV coordinates for the image must match, and the image texture should be set to Non-Color mode to give correct results.


There's now a yellow handle for this :).
Or you can press GG and it will slide like before.


Is it possible to assign a keyboard shortcut for toggling a preference?

As sambler points out, my answer is overkill for your purposes. However the general question deserves an answer too: How to assign a toggle shortcut to a preference.

Make a new keyboard shortcut or re-appropriate a shortcut you don't use.

UserPreferences -> Input -> Window

If you add a wm.context_toggle and hit enter you'll get another field called "Context Attributes". It might appear that you can't type into that field but you can. Paste into it:

user_preferences.view.show_tooltips
# or
user_preferences.view.show_tooltips_python

depending on what you need.


How to export to other format with the materials

What you should export out is a 'Transparency Map'. Otherwise known as Alpha Map as well
Its a black & white map, where black means 0(fully transparent), white means 1 (fully opaque)
After preparing a transparency map, you can connect it to the transparency/alpha slot in any engine, and it would work the same.


how i add a world background with color and with a HDRI sky?

Ok here's a node setup in the world material that may solve your problem.


How to bend painting frame sections in hollow?

You could use a custom bevel profile.
I started with a cube, inset the front and back face, and bridged the edge loops to create a frame.

Select one edge loop and create a bevel with Ctrl + B.
Once you create a bevel, you can open the panel in the bottom left to modify your last action.  Bump up the number of segments and select Custom profile.  You can model your bevel using the curve provided.


Is it possible to avoid finding my operator via the search menu?

the manual : https://docs.blender.org/api/blender2.8/bpy.types.Operator.html?highlight=operators#bpy.types.Operator.bl_options

setting

bl_options = {'INTERNAL'}

should remove the operator from search results.


Exclude sides when using the DataTransfer modifier

Choose appropriate name of UV layers in Data Transfer modifier settings, but for sides you can assign another material with different UVmap.


bpy data out of sync with the actual scene

bpy.data.meshes is all of the meshes in the all of the scenes. Meshes are different from objects, a mesh would be like the vertex positions while an object is made of a mesh, and contains the modifiers, materials, etc.

If you have an object selected you can see the name of the mesh by going to: Properties Panel > Data here you will see the name of the object's mesh, you can also get a list of all the meshes in the scene.

I am guessing that you have a cube, or an object that at one point was a cube and that is why the mesh name is Cube.

If you want to get rid of meshes that aren't currently being used then you can do something like this

import bpy
for mesh in bpy.data.meshes:
    if mesh.users == 0:
        bpy.data.meshes.remove(mesh)


How to hook empties to points of a curve programmatically?

To add a hook modifier

Following code adds a hook modifier. named Hook1,  to the curve object CurveOB and sets the hook object to Empty1

hookmod = curveOB.modifiers.new("Hook1", type='HOOK')
hookmod.object = empty1


It looks like denoising artifacts due to low render samples settings.
Go to render properties tab and increase the number of render samples.

The idea is to keep the render time low and the image as good as possible. More samples will increase the render time and quality.


object animation / keyframe moving wrong object?

Ok, I'll write an answer so to be able to attach images and files.

As I wrote in the comments above, I tried your file and it just is wrongly keyframed, it has no other weird problems, to me.

What you have to do is reset the keyframes for the two sliding doors, and I'll show you how, below.

Your file hase several shapes, so I created a new empty blender file, and then just imported (appended) the three relevant objects from your file (cube.003, cube.004, cube.005), and since also their existing keyframes were imported, I use this as a starting point to reset animation for the sliding doors, as desired. But you should be able to use your file (I tried and it works also there).

This is what I imported (appended) from your file: there is a keyframe for the left door but is moving in the wrong direction (it goes to the right)

To restart from scratch, first I've deleted all existing keyframes for the door setup:

Then, at frame 1 I selected both doors, and inserted a keyframe there, for the starting position

This is what you get after (I also moved to frame 21)

Then I selected the left door and moved it X -2

And moved the right door to X +2

This is the desired final position, at the frame 21 so, let's add a keyframe for both selected doors:

The result is shown in the f-curve editor:

I'll add the file here for your reference:

Let me know if there something that needs to be explained more.


Tracker dropdown is missing in the Tracking settings (in Movie clip editor)

This option was removed in 2.64:

  First, the old option called Tracker was eliminated. The old Hybrid tracker
  was doing exactly the same as the SAD tracker, with the exception that
  it could do more accurate subpixel precision tracking by following the
  brute-force search with a subpixel refinement. The SAD tracker was
  also limited in that it only worked on 8-bit images and is unsuitable
  for 32-bit float images like those used in Mango.

  Secondly, the KLT tracker with its pyramid tracking helped tracking
  blurry footage, but could be quite useless when the background texture
  was moving in the opposite direction of the feature point. In such
  cases the Hybrid tracker was much better than KLT, and for this reason
  the KLT tracker was made obsolete.

In other words, the SAD and KLT options were replaced with a improved hybrid tracker with new options.

From the wiki:

  The new tracker is a unified algorithm with more options, and
  specifically some options to make it work exactly the same as the old
  non-planar Hybrid tracker. The options are:

  Motion Model defines which possible motions tracking feature has. Currently supported models are: Location only, Location+Rotation,
  Location+Scale, Location+Rotation+Scale, Affine and Perspective. This
  option should be set depending on which motion a particular feature
  has and it'll make tracking most accurate for such a motion.
  Perspective is usually used to track a planar feature, but often
  Affine is a good enough approximation and may have more stable tracks.
  Prepass enables a two pass tracking, where the first pass is a brute force tracking of location only, and the second pass will use
  tracking of the full motion model refining the first pass. To get
  behavior that is almost identical to the Hybrid tracker in previous
  Blender versions, enable Prepass and set the motion model to Location
  only.
  Normalize means patterns will be normalized by their average intensity while tracking, to make them invariant to illumination
  changes. An example where this is useful is a scene where a marker
  moves in the shadow of an actress. Previously it would not be possible
  to track such a situation, scale adaption would shrink the area to
  compensate for the change in illumination, losing the track. With
  "Normalize" turned on, the patch is correctly tracked and scale is
  maintained.
  Correlation is now a single value for all tracking settings and defines the minimal correlation between a matched pattern and a
  reference to be considered a successful tracking. If the tracker is
  giving up too easily, decrease this value, or if the tracker is
  slipping too much when it should give up sooner, increase this value.

Note that it is possible to simulate the old Hybrid tracker with the current method:

  To get behavior that is almost identical to the Hybrid tracker in
  previous Blender versions, enable Prepass and set the motion model to
  Location only.

E.g:


Try updating your driver. Sometimes older versions don't have the same support as newer ones.


The reason the vertices don't line up is because the boolean makes its cuts wherever the two surfaces intersect. This leads to all kinds of artifacts and other issues and is often not ideal. For this reason, booleans are often a bad choice when we need very even topology after we are done modeling. That said, you may still be able to bevel, provided you don't need the bevel to be very deep. With the desired edges selected in edit mode, press Ctrl-B. This will allow you to create a bevel by moving the mouse to determine the extent of the beveled surface. However, be warned: As the included pic illustrates, you may have trouble because of your uneven topology. If you do, you will need to remodel the area of intersection so as to give the edge to be beveled better surface flow (or at least, to give yourself more room to create the bevel). Based on your pic, I would say almost any bevel you create is going to cause a problem like the one I'm showing in my image. What you don't want is edges crossing through other edges or vertices as you adjust your bevel (which is precisely what my image shows happening in the third frame). If you don't want to remodel anything, then consider redoing the boolean, and take care to ensure that no vertical spans on the cylinder that you are cutting into happen to intersect with the hole made by the cylinder that will be doing the cutting. If you can ensure that, then your bevel will probably work, though it will have ngons and possibly other odd edge artifacts even under the best of circumstances. Sadly, the only surefire way to avoid all this trouble is to avoid using booleans altogether.

In the first frame is a bevel performed after a boolean, while taking care to leave sufficient room between the intersecting objects to ensure that the bevel edge will not later encroach on any other edges. If you look closely, you can see that there is still a problem with extra edges forming in the bevel region, due to bad topology. The second frame shows what I get after deleting theses extra edges and then adding topology sufficient to get rid of all the n-gons. This isn't exactly pretty topology, but this should hopefully illustrate what can happen after using booleans and what kind of outcome you should be working to achieve so that you can create your bevel without inviting further complications. Note that because of this extra effort, if I was now to add another bevel to the rim of the object in the second frame, I would not have any more issues.


You can change the snapping unit by changing the grid scale:

Though, this is relative to the zoom level (relative to the grid).
To use it, make sure that snapping is set to "increment":

While grabbing, use Ctrl key to snap one unit and CtrlShift keys to snap 1/10 units.


The ctrl+t key binding is not used for texture setup in the latest version of blender (2.79b). You will need to set it up manually.


Difficulty seeing through transparency on images as planes

Alpha Blend and Alpha Hashed are only used for Eevee, those settings don't matter for Cycles.
In Cycles, Alpha transparency is shown different in Rendered View and Material Preview. Alpha transparency (like from an alpha channel or the Transparent Shader) is shown in black for Alpha = 0 in Material Preview or not shown as transparent at all when Alpha > 0, it's only transparent in Rendered View.
When the transparent parts are shown black in Rendered View then you maybe have to go to Render Settings > Light Paths > Max Bounces and set a higher value for Transparency, this is for materials with transparency set in the Alpha channel of the Principled BSDF for example or where the textures have Alpha maps to mix in with a Transparent Shader or volumes like a Smoke Domain etc. The Transparency Bounces can be set independently without having to change other bounce values.
If you instead have a Glass BSDF or other transmissive material like using the Transmission channel in the Principled BSDF, then you have to set a higher bounce value for Transmission in Light Paths, and maybe even in Total if it's too low. Because unlike Transparency, the Transmission (and other) bounces are dependent on the Total value. Setting Transmission to 16 with a Total set to 4 will result in having Transmission clipped to 4 as well, so the Total value should cover the highest value of the individual bounces (except for Transparency).

PS: I've included the Smoke Domain as example for Transparency bounces because, apart from having a bounce value for Volume here as well, low transparency bounces are what sometimes causes smoke to have ugly black artifacts, which I've seen a lot in smoke tutorials but tutors tend to call it a bug or clipping by the Adaptive Domain.


You can do batch export from Blender in the same way as described in Export multiple objects to .obj, but with the glTF export API. That said, I think a standalone CLI converter might be easier to use in this case, like obj2gltf.


Getting a normal map to work in a multiple uv node setup

I'm not sure what happens with beach but there're several problems.

Don't plug output of the Normal map into the Displacement input, see this very good answer for more info. In your case it may be enough to use only normal maps.
Consider plugging image into the Normal Map node if it's the result of processing with using some programs where the result is image of purple color. Otherwise plug it into the Bump node instead (the link above again can be helpful).
(less important) Why not using UV Map node and Attribute one instead ?
Regarding to UV maps I think it's better to search for some questions here or to ask new one (as it seems to be arranging and managing the UV maps). Basically you press CtrlA to average islands' scale and CtrlP to make them fit in the texture space (pack them); but the exact way depends on situation, it may be needed to use some other tricks like stitching etc.

You may want to read about normal maps, how to and how not to bake normal maps and a lot more

See wiki article for more info on creating, editing and managing UV maps.


Can't get my CPU or GPU in the system preference

From the manual

When set to None or when the only option is None: the CPU will be used as the computing device for the Cycles Renderer.


How to join two objects so that one conforms to the shape the other?

One way you could get the top to fit to the bottle is with the Shrinkwrap modifier. Here are the steps.

Start by adding a shrinkwrap modifier to the bottle neck. However, that will crush the entire neck on to the bottle, to get around that problem use a vertex group.

Select the bottom edge loop on the bottle neck and assign a new vertex group to it with a weight of one.

Now use that vertex group in the shrinkwrap modifier (pictured above), and you will get the bottom of the neck to match the bottle.


I'm not quite sure, but I believe that you mean "rotated 90°" by "skewed."

You can use a Mapping node in a setup similar to the one below.

Note that this is both an older version of Blender, and gandalf3's image from this BSE question.

From here, I would suggest feeding 90° and -90° values into the Rotation: sockets until your cubeoid  looks right. Do note that the X, Y, and Z values are not related, so what you do to one of them will not affect the others.


Snapping vertex to face during proportional edit

Besides all the good suggestions that came so far, what comes closest to your question in my opinion is the project individual option of Blender. You need to set snapping to snap to face first to see the button. Then you can toggle this option on in the 3D Viewport (red square):

Now, all translation tools, move, rotate, scale, even with proportional editing, will snap the whole selection to other faces from the view you're looking at (hold down Ctrl to enable snapping of course):

Quick animation / comparison here:


I remember making an animation folding a crane in the past.

It involved making a real crane, unfolding it then cutting a plane mesh where the folds are in the real one. You have to double up on each cut as real paper folds have a little thickness.

Then add an armature with a bone for each plane, joined at the doubled hinges, then animate the armature.

I'll see if I can dig up the blend file and provide a clearer explanation. The thing I remember most it's that it is not trivial! Don't expect it to be done in an hour.


Any feature in Blender which can show front edges and back edges differently like in Sketchup

To show edges of geometry in render like on your screenshot I used Freestyle, i.e. it's possible to see the result only when rendering (either in Preview / Viewport render or scene render).

In Render Layers tab, Freestyle Line Set rollout I set up 3 freestyle layers:

one for border edges of meshes (contours);
one for hidden geometry (i.e. the one which is hidden from viewer with another geometry) (seeing-through)
and one for foreground edges (i.e. ones that are closer to the camera and are visible) (foreground).

contours layer (thick grey line):
Has the simplest setup, nearly default one (it has Suggestive Contours checked and that's not needed for it to work).
seeing-through layer (dashed green line):
I checked Hidden option to make hidden geomtry selected by Fresstyle. I unchecked all the options from Edge Types category (it will also work if checking default ones and Crease, which will work only if its angle is set, see below).
foreground layer (thin red line):
Only Crease is checked because layer is intended to show those edges which are neither borders nor contours and at the same time aren't hidden geometry. In order to make it work Crease Angle in Freestyle rollout in the same tab is set to 120 degrees instead of default 0:

I also changed line style for every layer, like thickness, color etc. in Freestyle Line Style rollout in the same tab.
The result:

It has some inaccuracies, like the one with the top red edge of the rightmost cube, it stops being visible and becomes hidden too early (it should've been red all the way up to cylinder). If this is something visible for you and not desired, it should be possible to avoid that if subdividing that edge with a loopcut.


Make sure you are in GLSL mode:

Make sure each texture only affects the channels you want:

In this example I want this image to influence the specular channel, so I have unticked the Diffuse Color box and ticked the Specular Intensity checkbox.


There are two ways to do that effect.

By controlling the object falloff with Curve Interpolation node,

Blend File 1:

Using the Spline Falloff node which gives you more flexibility with the shape (O or something else),

Blend File 2:


Why my Bevel move verticies along the edges instead of bevel them?

It was caused by one flipped face.

The Bevel tool was confused, not knowing which way to go.
Recalculate Normals, so they're all pointing outwards.
Then the Bevel tool will work correctly.

Mesh > Normals > Recalculate Outside


How to swap the "visible" box option in the visibility actuator?

Variable assignment

status has no relationship to act.visibility. You can't expect to change the variable and the actuator takes over this change. You need to change the actuator, not a variable that contains an earlier copy of the attributes value:

actuator.visibility = False

Know the API:
Due to the dynamic nature of the requested behavior I recommend to toggle visibility with KX_GameObject.visible

owner.visible = True

Remarks:

I wonder how your code can work without errors

Flashlight is not defined
Aura is not defined

I strongly suggest to use complete words for naming. "cont", "obj", "act" are unnecessary abbreviations leading to confusion. e.g. is act an actor, action, actuator, or an act? Is cont an contact or continuation? Is object an objective?

If we already have words why invent new one? :)

Your code can look like that:

import bge
from initialization import initialization

initialization(__name__)
scene = bge.logic.getCurrentScene()
controller = bge.logic.getCurrentController()
owner = controller.owner
aura = controller.actuators["Aura"]

if Flashlight["targetName"] == owner.name.replace(" ","_"):
    aura.visibility = True
    cont.activate(Aura)
else:
    aura.visibility = False
controller.activate(aura)


The first place I'd check would be your Object Properties -> Viewport Display options. See if Display As is set to Wire. If so, set it to Textured or Solid.


DOF raytracing requires more render samples, because the same pixel requires more rays to be calculated.

Imagine simple pin-hole camera with no DOF - rays are shot from camera pixels and each lands on specific point in the scene. After that they scatter (that's why you need many samples per pixel).

Now with DOF the aperture is open so every ray from each pixel has more ways to exit the camera (infinitely more) and can land on different points in the scene. So the bigger the aperture the more samples you need to get clear image.


How do I prevent particle objects from intersecting each other and going though the floor?

I'm going to give this a shot as I think that rigid bodies are a viable solution. Start with a cylinder, scale it as needed but keep in mind that sometimes Blender can act strangely with objects that are too small with rigid body sims.

Next, add an array modifier, I used a count of 8, with an offset of 1.5 on the x and y axis, respectively. We are adding two identical arrays before applying them. The stack will look like this:

Apply the array modifiers in the order they were added, and Tab into edit mode, press A to select all, then P by loose parts. Now go back to object mode, it's time for physics.

Start by selecting your ground plane,add collision and then set it to passive in the rigid body settings(you can also go to the tool panel (T) physics>add passive).

Now select one of the cylinders, and again go to physics>rigid body> and set it to active. Now select the rest of the cylinders, and select copy from active in the rigid body setting in the tool panel.

With all of the cylinders still selected, press Shift+Ctrl+Alt+C>origin to geometry.

Before you go any further, press Ctrl+A and
apply scale to your objects to help prevent intersection between the collision object and other active objects.

Finally, place the group of cylinders where you want them to fall from/ be thrown from and start the animation. It may take some tweaking the rotation to get the perfect effect as they hit the ground, but it works pretty well. Don't forget that the mass of the object influences it's role in the simulation also, so you can play with that too if you like. After following these steps, you should be able to get something like the following .gif:

Here is the .blend if you would like to reference it.


Mesh in Black even after applying a Texture

You have no lighting. A sun lamp can shine some light on your textures, both in texture and rendered view.

The reason the body texture shows up is that it's material has an emit value of 1.0, so it is 'emitting' it's texture as light, while the clothing has o.o emit. Note that the emit value doesn't emit a light that other objects interact with.

You could also enable shadeless.


Is it possible to make a fuzzy blanket material without using a particle system?

You can always go in and tweak it more, but this gets ya close.

I guess, to explain a bit...

Object info: Random gives a range from 0-1,
so I send that into a multiplier to get the desired range,
then pass it into a texture.

Contrast on voronoi seemed too intense, so I subtracted a tiny amount.

I gave it a bit of subsurf to make it look soft, but then it looked oversaturated,
so I used the HSV node to dim the saturation slightly there.


BGE: Move character from Scene1 to Scene2 and keeping the character to Scene2

You wont be able to actually "transfer" the player object in-game.  But you can create an instance of the player in each scene beforehand.

Move the player to (0, 0, 0) on a non-visible layer
Add it to a new group.  I named mine "Player"
Do Shift+A -> Group Instance -> Player in each scene that needs to contain the player.

This method will not copy properties that have changed since the scene started.  You'll likely need a Python script for that.

EDIT - Quick example of transferring specific properties between scenes

1. Run this on your player right before changing scenes

import bge

def saveProps(cont):
    own = cont.owner

    props = {}
    props['name_of_property'] = own['name_of_property']
    props['another_property'] = own['another_property']
    # ... etc

    bge.logic.player_props = props

if __name__ == '__main__':
    cont = bge.logic.getCurrentController()
    saveProps(cont)

2. And run this when a scene first loads, basically the first script in reverse.

import bge

def getProps(cont):
    own = cont.owner

    try:
        props = bge.logic.player_props
    except:
        # Props dict not defined.  This was likely the first scene.
        return

    own['name_of_property'] = props['name_of_property']
    own['another_property'] = props['another_property']

if __name__ == '__main__':
    cont = bge.logic.getCurrentController()
    getProps(cont)


Adapt Limit Location Constraint to Bounds of Mesh Object

With the release of Blender 2.8, there is now a solution to this issue within the mode type section of the Shrinkwrap bone constraint - called 'Inside', it limits the movement of a bone to within a specified mesh object. This is exactly what I was after. More info can be found here in an answer I wrote to the original question.


This panel is only available in edit mode. Press ↹ Tab to toggle edit mode, or select it from the drop down in the header of the 3D view:

Once you are in edit mode, you should see the mesh display panel in the Properties region (on the right in the above screenshot), which you can toggle visible with N.


You could select all the outside faces, and from the header 'Select'
menu, use 'Checker Deselect', which, starting from your active face,
will skip the deselection of the number of faces set in 'Skip' and
leave a gap of N-1 faces entered in the 'Nth Selection' field, before
skipping again. Sometimes, though, that's surprisingly counterintuitive.
If you've got a lot of rotationally symmetrical work to do, it's worth considering cutting a segment out of your cylinder, and recreating the whole with an Array modifier, set to 'Object Offset', with a rotated Empty at the center of the cylinder as the modifier's target. Then, by working on one segment, you're working on them all.

But for one-off operations like this, it's often quicker to make a jig: a temporary helper object you can delete later.

In the illustration, I've ShiftD duplicated a chunk of faces, E extruded it SZ, scaled it down in Z, and again, ShiftD duplicated it, this time immediately following up with RZ60 rotating the thickened chunk by 60 degrees. Now hitting ShiftR repeatedly will send copies round the cylinder. In this case, they're just markers to save you counting, but they could be snap targets, or view targets.

It may seem a silly amount of work, but once your favorite shortcuts are under your belt, this kind of operation for stashing lengths an angles can become very straightforward, and speed modelling up a lot.


Subdivision makes one part of my knife thicker than the other

Simple. You just have to select "Simple"  : )


Shower Head Fluid Simulation: Domain too big issue

If splashing is not important why not use particles in fluid mode with a metaball render object.

Use many thousands of particles with a short life (until they fall out of frame).

Add a metaball with very high resolution and set it to the render type.

Also I add Denoiser (B2.79) to clean up the surface of the water for animation. And I have added Children Particles in Simple mode. Just a multiple of 3.

Sadly I cannot get the motion blur to work on particles.


Rotating a camera around a still ball (mini golf aiming)

I would use a second camera and just switch cameras . The second camera would have a "Track To" constraint so it will be looking where you want it to and you can position it or animate it as needed. You can use an empty as the target and have more flexibility if needed.


File claims it contains 0 faces and 0 vertices but in scene view all object names show

Viewing a layer which has no objects

maybe you accidentally switched the visible layer to a layer which contains no objects.

For example if you have all your objects on the first layer (called layer 0), but are viewing the second layer, you won't see anything. Verts/Faces/Tris will say 0, even if the Objects are in the scene.

Pressing the numeric keys 1, 2, 3... will switch current layer, it is possible that you accidentally pressed one of those.


From https://blender.stackexchange.com/a/38626/58482 I found out that I need to set the active object in addition to selecting it. So using bpy.context.scene.objects.active = obj after creating the new object seems to solve the problem.


Copy Custom Properties from one object to another

Custom Properties on object level are contained in Object.keys(), but there's also a helper property _RNA_UI and some API-defined properties such as cycles_visibility.

Therefore, it's better to test for _RNA_UI and get all actual Custom Properties there:

import bpy

ob_sel = bpy.context.selected_editable_objects
ob_act = bpy.context.object

try:
    props = ob_act["_RNA_UI"]
except KeyError:
    pass
else:
    for ob in ob_sel:
        if ob == ob_act:
            continue
        for p in props.keys():
            print(p, ob_act[p])
            ob[p] = ob_act[p]

Note that properties will added or overwritten, but not removed if the target has some the source does not have. You could change that by deleting all Custom Properties of the target before copying the properties from the source object.


The wall's geometry is really bad for the engine. Try to cut across the whole object everytime like on the picture. If the edges aren't align to any of the axes it's not a problem, but don't cut a hole to the middle of a simple face, because it will cause similar artifacts.


You can simply use "mouse over" and "mouse click" sensors with a and controller to detect click on planes and use it to play, pause or reset animation actuators.


This worked for me in Blender 2.82.  Result is shown in System Console window.

import bpy

bpy.context.object.update_from_editmode()
#applies any pending edits.
#allows script to be run from within edit mode

the_area = 0
for poly in bpy.context.object.data.polygons:
    if poly.select:
        the_area += poly.area

print('final area total')
print(the_area)


How to add image texture material to all parts of maze?

There are a few issues.
They are easy to repair, but will take some time.

1) Your original maze contains overlayed geometry.
That's a big problem in 3D modelling.
You will need to clean it up. It's technically very easy, but might take some time.

Clean up overlayed geometry and connect all vertices like this.

2) Keep quads whenever possible.
I cannot overstate this - this maze is begging to be made of quads.
Quads will allow you to use loopcuts and other useful features to speed up your workflow.

3) Keep scale to 1.
After transforms, go to Object->Apply-Scale.
This will ensure that UV mapping works properly.

Your current maze mesh has a messed up scale.

4) Use Solidify modifier to adjust the height of your maze.
You just need to Apply the modifier before subdivision or UV mapping.

5) Use Smart UV project for UV unwrapping.
This function is well suited for complex geometric shapes such as your maze.

Here is a page from Blender Manual explaining Smart UV project.

Good luck.
If you have any questions, let me know.

Here is your edited Blendfile.
I separated the bottom part of your maze and connected a few overlayed faces.


Creating Inky-looking characters in Blender

If I understand correctly, your question is essentially asking how to emit smoke from a rigged and animated character.
This should work just fine, as long as the smoke modifier is after the armature modifier on the character mesh:

Example (click for a smoother video):

I found using the mesh directly as the smoke emitter provided a smoother, less lumpy result without requiring huge numbers of particles.
Smoke settings
All these settings are just stylizations on my part, they are not supposed to look like real ink in water :P
I used a fairly high resolution domain with only 1 high resolution subdivision, dissolve (though perhaps I made it dissolve a little on the fast side), and low vorticity:

For the emitter I used subframes and enabled initial velocity so that the smoke inherits the velocity of the part of the mesh it's emitted from (in the example render the smoke is actually "flung" by the mesh twice as fast as it technically should be, but I rather liked the effect). I also used a negative temperature difference so that the smoke drifts down over time, however I think I might have over done it a bit (the smoke falls a little fast for my taste).


Blender Crashing when changing from blender render to cycles

This fixed the error for me (taken from another thread): Turns out my WIndows Update was to blame, installing a .dll file that was breaking both Maya and Blender. This was called igdrclneo64.dll/igdrcl64.dll. It’s located in C:\Windows\System32 (On my computer it was located in C: \ Windows \ System32 \ DriverStore \ FileRepository \ igdlh64.inf_amd64_250db833a1cd577e.) I moved it to the desktop and now everything works


I cant access object that where on another layer in 2.79 in 2.8

I think they are hidden (can you provide a screenshot?), in that case you should be able to unhide them by unhiding all (alt+h) or by unhiding them from the outliner (with the eye icon).


While I do not know a lot about this "OpenFOAM", it seems like it is a language or library designed to run on blender in order to generate meshes. According to the error, it says ZeroDivisionError: Float division by zero.

This is Python's (language blender is coded in) way of telling you that you are trying to divide a number by 0. I recommend checking your OpenFOAM code for instances where you do such a thing. The error also points you to the line of code that threw the error, so you might want to look at that closely.


How to run physics simulation frame-by-frame using Blender's Python API?

If I understand your question correctly then the way that I do this is using bpy.context.scene.frame_set(). I set it to 1 at the beginning of the simulation and then inside a loop to step through the frames I use bpy.context.scene.frame_set(bpy.context.scene.frame_current + 1).


Blender not responding when starting a Python script

Apparently I had (have) to press Enter (any key?) in the Console window, but I don't know why...but it's a "solution" at least. If someone knows what can cause this, please feel free to write a post/comment.


Attempting to unwrap model for UV, results horrible

The problem Usually when you have hidden geometry that was not marked with seams.
In your case the UVs are showing that you have additional edges that overlapping on your mesh.

The solution is to remove that geometry by removing doubles using Ctrl+V and select Remove Doubles. Then check your seams again and unwrap the mesh.


It's all accessible through bpy.context. The active area is accessible through context.area (of type Area), while data specific to the active area's current display type through context.space_data (of type Space).

Once the active space is ascertained as a 3D View, we can access its view properties through context.region_data or context.space_data.region_3d (of type RegionView3D) e.g. to check its view perspective.


The answer for this is Very simple. Modifiers do not update in the game engine (Only the selected frame will display) and generated textures do not work in the BGE either. What you are trying to do will not work, at least with the current approach you are trying to use. This will obviously work the previewing it in the viewport, because modifiers and generated textures work for Blender Internal, just not the game engine. When you press P, only one frame of your plane with the modifier is displaying. View This question on why modifiers will not update in the game engine.


How to reverse the image sequence of a movie clip in video editor ?

Enable the backwards checkbox as indicated in the image below.


Application Timers

Blender 2.8 has a new API to run functions in specific time intervals.

Run a Function every x Seconds

import bpy

def every_2_seconds():
    print("Hello World")
    return 2.0

bpy.app.timers.register(every_2_seconds)

Move an object every second

import bpy
import functools

def move_obj(ob):
    ob.location.x += 0.1
    return 1

bpy.app.timers.register(functools.partial(move_obj, bpy.context.object), first_interval=1)

Similar but passing object time axis and disp

import bpy
import functools

def move_obj(ob, axis, dist, sec):
    print(ob, axis, dist)
    ob.location["xyz".index(axis)] += dist
    return sec

bpy.app.timers.register(functools.partial(move_obj, bpy.context.object, "x", 0.1, 1), first_interval=1)

bpy.app.timers.register(functools.partial(move_obj, bpy.context.object, "y", 2, 10), first_interval=1)

bpy.app.timers.register(functools.partial(move_obj, bpy.context.object, "z", -0.1, 2), first_interval=1)

On a few quick tests it appears that the context, if passed to the timer like above is restricted, has no "object" attribute for example.


Blender Texture Maps to Unity Translation

Well, I can help with some of these.  the Metallic shader is a mask between what you want to be metal and what you don't.  Height map is the same as a bump map, Emission acts like the Metallic, except seperating emission instead of metal.

I hope this is useful.


As confirmed here by Blender devs, there is currently no way to access the render depsgraph from the python API.


Smoothing Bezier Curves in Animation Nodes

You can set the handles of the spline points to be along the normals of the surface points as follows:


Generating, Selecting, and Unwrapping an Item Added to an Existing Mesh (Python Script)

Added geometry to a bmesh is not known by bpy.ops until the call to bm.to_mesh(obj.data).
import bpy
import bmesh

obj = bpy.context.object
# Deselect all first
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all(action='DESELECT')
bpy.ops.object.mode_set(mode='OBJECT')

# Your code...
bm = bmesh.new()
bm.from_mesh(obj.data)

mesh_verts  = bm.verts
mesh_faces  = bm.faces

v1    = mesh_verts.new((2,1,1))
v2    = mesh_verts.new((3,1,1))
v4    = mesh_verts.new((2,2,2))
v3    = mesh_verts.new((3,2,2))

face = mesh_faces.new((v1, v2, v3, v4))

v1    = v4
v2    = v3
v4    = mesh_verts.new((2,3,3))
v3    = mesh_verts.new((3,3,3))

face = mesh_faces.new((v1, v2, v3, v4))

v1    = v4
v2    = v3
v4    = mesh_verts.new((2,4,4))
v3    = mesh_verts.new((3,4,4))

face = mesh_faces.new((v1, v2, v3, v4))
# ... your code

# Select v4
v4.select_set(True)
# Set back bmesh to the mesh
bm.to_mesh(obj.data)

# Unwrap
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_mode(type='VERT')
bpy.ops.mesh.select_linked()
bpy.ops.uv.unwrap()
bpy.ops.object.mode_set(mode='OBJECT')


The linked answer is obsolete since the Rock Generator is now part of Extra Objects add-on since commit rBA7347930a0fa14e752929e28c9b48adf74597b018. The separate Rock Generator add-on has been removed from the add-ons contrib repository by commit rBAC70b649775eeeebedb02c1c7b7aa996a7f6294177.

If you are using a 2.82 alpha build from the 12th of December or later, enable the Extra Objects add-on. The Rock Generator operator will appear in the Add > Mesh menu.

If you are using a build of 2.82 which doesn't include the commit, because it was compiled before the 12th of December, you will need to download a more recent version.

If you don't want to use the latest 2.82 alpha which includes this change, you will have to clone the repository and either manually replace your older Extra Objects add-on with the updated version or revert to a commit where the Rock Generator was still a separate add-on. Both options require experience with git.


how to move the camera without making the reference background image disappear?

You can use an empty as image

Select the image in the properties->Empty->Display tab

You'll get your image (or video) in an empty. The advantage of this method is that your image will be visible as you rotate, and is visible even in when the 3D viewport shading is set to wireframe or bounding box.

Note that empties will not be rendered on the final render...


Can't import the 'Serial' library to connect with Arduino

I have found my problem (windows):

I was using and installing 32bits python and 64 bits from blender.

My solution:

I'm using Windows 10 64 bits.
Download Blender 32 bits,v2.79.
Remove/uninstall all Python stuff that i have.
Reboot the system.
Reinstall Python 3.5.3 (64-bits) donwloaded from Python site.
Download the pyserial, version 3.4.
Copy from pyserial: the folder serial, paste the folder in blender sub-folder site-packages:
 /blender-2.79b-windows32/2.79/python/lib/site-packages
Open and run Blender 32 bits,v2.79.
Using Blender game engine, made a script and my LED in Arduino turned on.


Why don't my renders reflect the updated scene?

Seems like you have double geometry. Try selecting the object and moving it to see if you have overlapping objects or entering the Edit mode and selecting an island of geometry with L while hovering mouse over it to see if you have double geometry in a single object. It may also be that the double geometry is connected so you might need to grab a face or an edge and move it to see if they have duplicates beneath.


Python: Low level apply rotation to an object

To apply transformation really low-level, you should probably set the object's matrix directly and avoid bpy.ops.object.transform_apply() entirely:

import bpy
from math import radians
from mathutils import Euler, Matrix

euler = Euler(map(radians, (0, 0, 45)), 'XYZ')

ob = bpy.context.object

loc, rot, scale = ob.matrix_world.decompose()

smat = Matrix()
for i in range(3):
    smat[i][i] = scale[i]

mat = Matrix.Translation(loc) * euler.to_matrix().to_4x4() * smat

ob.matrix_world = mat

Change the last line to ob.matrix_local = ob.matrix_parent_inverse * mat if you want to set a rotation of 0°, 0°, 45° (as seen in Object tab) even if the object is parented.

The code might need further adjustments if drivers or modifiers are involved, non-uniform scaling in combination with parenting does not seems to work fine however.


Is it possible to use 2 mouse buttons for key map?

You can zoom in and out by using the scroll wheel as opposed to Ctrl + MMB.


All radio button icons missing on new install

Thanks Mr.Zak & Duarte
For your input  regarding the GPU as a possible Culprit. PROBLEM SOLVED! I initially tried changing the resolution however that had no affect. I checked for driver upgrades but I already had the newest ver. Other people with similar problems had been advised to turn off the Anti-aliasing  function on the GPU driver. A common setting option on older drivers however the driver for my Intel Chipset has no such feature instead it has options for "performance Level" and the default setting was "Max performance". I decreased it to "Balanced performance" and bada-bim bada-boom Fixed!  Funny thing, my decade-plus old el-cheapo celeron based toshiba tablet runs ver 2.71 just fine. But renders  take a loooooong time. Thanks, jrt


There is a few things you can do.
When you subdivide cube you actually gets a sphere with different topology.

Or you can delete the top polygons and grid-fill them, but that needs some tweaking as the grid-fill will be flat, so you can select the center vertex and with the proportional editing and move him little up so the sphere is round.

Also you can use ISO sphere in the mesh menu but that is made out of tris polygons.


Can I use viewport modes as driver variable?

In 2.90, I can right-click on the viewport shading buttons and select "copy as new driver". Then I can right-click on a property and select "paste driver". So, it looks like the functionality exists. But, the variable (named shading.type) seems to always read as zero, so maybe the function doesn't actually work in this version.


I had similar problem for shoulders straps. Three points here in my experience :

Weight the buckle the same weights (uniformally)
Weight the extremities of the straps the same as the buckle
Space the next straps vertices at the first point of the cat shape they need to be "linked" to

Something like that https://gyazo.com/87bf0a45e2723b477d715645ae540be6
The idea is to keep the buckle linked to somekind of tangent point of the cat belly. And for the strap, to allow them to stretch between the buckle and the next "on skin" vertices.

Another way to obtain the result (maybe) is to shape all straps starting from the cat curves (using the knife tool probably : copy the cat and cut) so that you both keep the appropriate weights (from the cat) and also give all the good bending edges inside of the model. That can probably be easily done for the straps... but more difficult for the buckle.


UV Unwrap - Object - Select Faces ONLY - and Paint UV

1) You started with a resetted UV mesh (all faces overlapping and occupying all UV space available), then you re-unwrapped part of the mesh. The two unwrapping operation got some overlapping, you can see it if you select all faces. The correct way is to unwrap one time only, then select the faces you want to paint, turn the 3D window into "texture paint" mode, enable the button named "face selection masking for painting" and paint in the 3D window.

2) The stroke/fill controls you tried to use are referred to the grease pencil only. In the UV/image window, you can acces to the paint controls pressing T, to show all tools tabs on the left of the window.


how to check if a vertex group is empty or not with python

Using list comprehension

similar to that  used in this answer

Because we are only interested in empty group will use python any to move on quickly when a non empty group is found.

import bpy
ob = bpy.context.object
me = ob.data
for vg in ob.vertex_groups:
    mtvg = not any(vg.index in [g.group for g in v.groups] for v in me.vertices)
    print(vg.name, mtvg)

Then if vertex group vg is empty can remove with

ob.vertex_groups.remove(vg)


Pack image strip to .blend not make sense.
If you need move project, send it to someone else or to render farm, folow this steps:

create folder for image sequense in folder where your .blend file is  and move/copy your image here. (for better manipulation only)
Link image sequence in your .blend to this images.
Make all paths relative - "Files" - "External Data" - "Make All Paths Relative"

Now you can send your .blend with image sequence folder or move it everywhere and Blender find your image sequence.

Why? because path to images now look like this:

//folder with images/

And not like this:

d:/data/blender/projectxy/folder with images/

In my opinion linking images this way is much more clever way than, make copy and save them direct to .blend file.

PS: work for most render farms - just zip all and send as zip


How do I bring this face up and snap to another face?

What I use is the Bridge Edge Loops function. It's not perfect since it won't move all the faces but will connect the top edges cleanly.

Make sure you are either in Edge or Vertex Mode and select the two Edge loops you want to connect.

Press W and select Bridge Edge Loops.

In the operation settings, check Merge and set Merge Factor to 0. If 0 moves the wrong  Edge loop then set the value to 1.

Lastly you'll have to move the rest of the faces manually. It's not perfect but works well enough for my own usage. I believe this is what user277143 is referring to but as I can't add comments yet I instead created a new answer.


Try a Screw Modifier. Just don't increase the "Screw" count (so it doesn't go "up"). You can increase the number of divisions from the modifier panel, and change the shape of the resulting object by transforming it in relation to it's origin (move it around in edit mode):


How do I render out a single mono audio track?

If you go to Scene Properies you can change the audio format https://developer.blender.org/F351924.

  Is blender just automatically duplicating the mono track 2x and making it a stereo?

Joerg Mueller answers this: https://developer.blender.org/T54418#492826


How do I hide, delete or manage grease pencil lines in 2.8?

Grease Pencil became a separate object (and more complex) type in 2.8. If you just draw with D, you now create an Annotation and you can toggle it's visibility:

globally in the Overlays section

individually by toggling an annotation layer in the N panel -> Annotations


Making an animation with a transparent background blender cycles render

Just render it out as a PNG sequence (with alpha) then take those files into Premiere as a sequence.

In your render settings tab, make sure your dimensions/frame rate are correct.
in the output dropdown make sure you set a destination place, and make sure PNG is selected with alpha
Make sure you hit animation and NOT render when you are ready to render out all your frames.

In Premiere make sure you click "image sequence" when bringing in your files.


Remove double vertices for multiple objects at once

You can disable the edge splitting behavior of cell fracture:

Or if you don't want to re-fracture your object, you could join all the objects and then remove doubles. This way the split edges should be re-joined, and separate by loose parts should result in the same objects as before the join.


How do I remove the shadow of an emitting geometry?

Extrude the plane slightly or use a cylinder. What you see is not the shadow, rather the geometry emits no light to the ground in this spot.

In case there are multiple light sources in the scene, disable the Shadow property for each emitter (Object Properties > Cycles Settings), see How to render an object without its shadow?


How to place texture across multiple edges?

It look like you need to UV map your other face. This tells Blender what parts of the texture go where, so it can display it correctly.

I would press Num3 or CtrlNum3 to align the view to the face (because it's parallel to the Y-axis) and, in Edit mode with all those faces selected, press U > Project from View (Bounds).


How to get the updated vertex coordinates of a cube when rotating?

Changing verts to match those of other objects in handler.
To linearly rotate an object in a scene, suggest that a driver is possibly the simplest. How do I make animations a steady speed?
Given your prior question How to update the connection shortest line between the vertice of a cube and an Ico sphere?  and my answer to it
I have added a simple 2 vert object named "Edge" for example below it is parented to the cube (not vertex parented)
The frame change handler sets the location of the edge object to a random cube vert, and sets the other end to a randomly chosen vert on the depsgraph evaluated ico sphere.  Since the edge mesh has been object parented to the cube mesh, will work in the cube object's object coordinate space. .
When using get to get an object it will return None if no object with that name exists in the objects of the scene passed to the handler.
An evaluated  depsgraph is also available as the second argument of a post frame change handler.

Scrubbing the timeline to test handler, notice both ends are always at vert locations.  The cube is animated via keyframe (as per prior)
import bpy
from random import choice

def update_scene(scene, depsgraph):
    edge = scene.objects.get("Edge.004")
    #edge = edge.evaluated_get(depsgraph)
    cube = scene.objects.get("Cube")
    ico = scene.objects.get("Icosphere")
    imw = ico.matrix_world
    cmwi = cube.matrix_world.inverted()
    # if wish to use evaluted
    ico = ico.evaluated_get(depsgraph)
    v0 = choice([v.co for v in cube.data.vertices])
    v1 = choice([v.co for v in ico.data.vertices])
    edge.location = v0
    #edge.data.vertices[1].co = v0
    edge.data.vertices[1].co = cmwi @ (imw @ v1) -  v0

Replace the random choice with the kdtree code from your other question.  Could make the kdtree outside the handler method.  Recommend tho don't reference objects from outside and use within the handler, always get from the scene objects via some test.
Rather than altering vertex coordinates, another method would be to make a unit length edge, arbitrarily in Z direction, and position and rotate based on end points... more akin to a stretch_to bone constraint.


The vertex group for the Bicep area was for some reason also including the cuff region which is not very helpful. So there was an extra deform to the cuff that was messing things up.

Thanks


How do you make a Video File Texture in 2.81?

Enable Auto Refresh in the image texture node


In the Output settings > Post Processing, you've enabled the Compositor option. If I take a look I see an Image node plugged into the Composite node. Plug an Input > Render Layers node instead and it works.


I believe what you're looking for is the 'hair' particles system, if you want another object to cover the main object. When you add a particle system to an object, one of the first options should be to choose from Emission and Hair, switch it to hair. I'd recommend watching some tutorials for the same. If this is not what you were looking for, please reply.


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

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


Is it possible to read and write to a texture using OSL?

It is possible to read an image in OSL using the 'texture(...)' call but it is not possible to write to an image directly from within OSL. For a 'life' simulation you need to be able to read the previous state while generating the new one and so the way to achieve this is to be able to read the previously rendered frame while rendering the current frame - this is possible using OSL (render the frame and use the 'texture(...)' call to read the previous frame in the render output location) as well as possible using standard nodes (render the current frame and using an Image Texture node image sequence pointing at the render output location).
To achieve this, firstly use the Output section of the Output Properties to specify a known location for the rendered output.
Position the camera such that the camera exactly views the plane - with no overlap. This way when we generate the new rendered frame it will exactly coincide with the plane's texture in the previous frame. For my set up I positioned a new Plane (2m x 2m) at the origin and the camera (set with square dimensions) at Z=2.8m and pointing directly down.

Render the animation - this will create the output directory and generate images as 0001.png, 0002.png, etc.
Use your favourite image editor (or use Blender) to create your initial state and save it as 0000.png so it occurs immediately before frame 1 :

The image acts as the 'seed' of the simulation, with "set" pixels representing 'live' cells and dark pixels 'dead' cells.
Create a material to show the image on the plane :

Note the Image Texture to an 'Image Sequence, set the number of frames to the total frames of the animation, Start Frame of 1 and Offset of -1 so that it will always run 1 frame behind the current frame (ie, always the previous frame).
To test it, render the animation and all frames should be identical. Adjust the Mapping node to include a slight rotation and re-render. You should get a progressive rotation on each frame - showing that it is indeed basing each frame on the previous one.

For the "life" simulation, we now just need to sample the points around each pixel in the image and determine the state of the current pixel based on the surrounding pixels in the previous frame. This can be achieved as follows :

The Value node at the left controls the pixel size (as a fraction of the entire width/height) - so 0.01 splits the frame into 100x100 cells, 0.005 into 200x200, etc. 'Window' coordinates are used for simplicity to cover the whole image and this is split into cells using Snap further offset by 1/2 a cell so as to ensure we always sample the centre of the cell instead of an edge. The top-left group of nodes use Combine XYZ to create two offsets - one vertical and one horizontal to compare the adjacent cell in each direction. The offsets are negated (scaled by -1) for the opposite directions and the 4 resultant vectors combines for the coordinates of the 8 surrounding cells. The Image Texture nodes fetch the current cell (the first one) and the 8 adjacent cells. The 'live' cells are detected using Greater Than and counted (using 'Add') and the 'rules' checked as <=1 live neighbours for death, >=4 live neighbours for death, 3 live neighbours for new life (with the Clamped Addition and Subtraction combining the results of the rules) with the final result being output via the Emission shader in the rendered frame.
Here's the result :

Obviously the nodes can be replaced with OSL - if that's desired - but as shown it's really not necessary.
Blend file included - just add your own start image (0000.png) (see Output properties for location)


Duplicate the window (CtrlAltW) for the second monitor, then you can change the layout individually.
I recommend to change the mouse behaviour by OS to automatically focus window on hovering, otherwise you have to click to activate the alternate window.


For those kind of shapes you can try using curves.
Start with a bézier curve, trace your object and make it a closed curve by selecting the first and last segments and pressing AltC

Make the curve a 2D curve and give it some extrusion.

Repeat that for the rest of the pieces.


Cycles, Mitsuba, Lux - Speed by Necessity - The Correct (non-subjective) Answer

There is an old adage from the industry:

“Time, Money, Quality; Pick Two”

The gist being that you can only have two points of that triangle, at a cost of the one you do not select.

It has held true long enough to become a trope.


Where is the vertex weight panel in 2.77

For the vertex weights panel (not to be confused with the vertex groups panel) to appear, you need to be in vertex select mode in edit mode and have a vertex that is associated with one or more vertex groups as the active selection. It should then appear on the 'N' panel.

For more info for others (the question quotes the manual):
https://www.blender.org/manual/modeling/meshes/vertex_groups/weight_edit.html


Best output file format for 3D model to Unreal engine 4

I use Unity, another game engine. It does accept normal .Blend files. However, I'm not sure about Unreal engine. I would recommend .fbx as this is a sort of global file type for models like these.


Scale an area lamp that seems to be locked

You could check if the Scale properties of the area light aren't locked:

About the camera, you could check these properties:


Okay, I found a solution which works for me. I tried to bake an albedo together with the ao-node. Part of it doesn't show correctly on the texture...
AO Bake didn't solve the problem either, so I baked an ao-texture as an emission texture which solved my problem.
Still don't know why blender did this or what went wrong, but it did work for me


I would suggest to use Knife Project for this task. Please be aware that this approach doesn't give you a clean topology.

You will need to add another object that is used to add the cuts. In your case I would use a Circle (Add > Circle in object mode). Select the Circle first and then the object you would like to apply the knife project on. Position your viewport perspective so that the Circle is placed where you'd want the cuts in the target mesh to be. Switch to edit mode (Tab), open the operator search (F3 or Edit > Operator Search), find the Knife Project operator and execute it.


RegionView3D from Region object and vice versa

A RegionView3D is actually a space, the access path is bpy.context.screen.areas[#].spaces.active.region_3d (area being of type VIEW_3D), or in case of quadview mode, ... spaces.active.region_quadviews[#].

There are no direct references from a region to a RegionView3D.

It's possible to find the right quadview region and its space, here's a (modal timer) example:

import bpy
import math

def get_view_orientation(space, quadview):

    if quadview.view_perspective == 'CAMERA':
        view_orientation = "Camera Persp"

    else:
        r = lambda x: round(x, 2)
        view_rot = quadview.view_matrix.to_euler()

        orientation_dict = {(0.0, 0.0, 0.0) : 'TOP',
                            (r(math.pi), 0.0, 0.0) : 'BOTTOM',
                            (r(-math.pi/2), 0.0, 0.0) : 'FRONT',
                            (r(math.pi/2), 0.0, r(-math.pi)) : 'BACK',
                            (r(-math.pi/2), r(math.pi/2), 0.0) : 'LEFT',
                            (r(-math.pi/2), r(-math.pi/2), 0.0) : 'RIGHT'}

        view_orientation =  orientation_dict.get(tuple(map(r, view_rot)), 'USER').capitalize()
        view_orientation += " " + quadview.view_perspective.capitalize()

    if space.local_view is not None:
        view_orientation += " (Local)"

    return view_orientation

def get_quadview_index(context, x, y):
    for area in context.screen.areas:
        if area.type != 'VIEW_3D':
            continue
        if len(area.spaces.active.region_quadviews) == 0:
            return
        i = -1
        for region in area.regions:
            if region.type == 'WINDOW':
                i += 1
                if (x >= region.x and
                    y >= region.y and
                    x < region.width + region.x and
                    y < region.height + region.y):

                    return (area.spaces.active, i)
    return (None, None)

class ModalTimerOperator(bpy.types.Operator):
    """Operator which runs its self from a timer"""
    bl_idname = "wm.modal_timer_operator"
    bl_label = "Modal Timer Operator"

    _timer = None

    def modal(self, context, event):
        if event.type in {'RIGHTMOUSE', 'ESC'}:
            return self.cancel(context)

        if event.type == 'TIMER':
            space, i = get_quadview_index(context, event.mouse_x, event.mouse_y)
            if space is not None:
                quadview = space.region_quadviews[i]
                print(get_view_orientation(space, quadview))

        return {'PASS_THROUGH'}

    def execute(self, context):
        wm = context.window_manager
        self._timer = wm.event_timer_add(0.5, context.window)
        wm.modal_handler_add(self)
        return {'RUNNING_MODAL'}

    def cancel(self, context):
        wm = context.window_manager
        wm.event_timer_remove(self._timer)
        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.wm.modal_timer_operator()


Why does my materials not show in a bake?

From looking at the photo of the graph, the "combinedbake" node should be changed from "single image" to "generated".  Add that node to all materials being baked.


Just regular old python, randint. Nothing special blender related for this one.

import random
random.randint(MinNubmer, MaxNumber)

You also could use the Random actuator. (but the pure python is simpler.)


Performance impact of turning up Max transparency bounces?

No, it has no effect if you do not have any transparent shaders in your scene. Setting it too high could result in a lot of extra bounces being calculated for little result on some stray transparent object. One of those corner cases that comes up sometimes. Additionally, some would say the default of 8 (with no early path termination, since the minimum is also 8) is already a "high" number. It depends on your scene and your goals. Adjust accordingly.


how do i tweak my edges so that they may result in a perfect circle?

If it is for the two rods being in connection with the spheroid, then use bevel and select check box - autosmooth in the "normals" settings. Also add shade smooth to the rods. This hides the angles a lot.  But this is normally done by boolean "brush" using bool tool or boolean in general selecting union. Brush is preferred for alterations - non-destructive.  Look up curved booleans.  Right click to add shade smooth, and autosmooth is in the side bar.  After this if the action still does not work, adjust the added bevel modifier to angle or weight, also move the boolean up or down in the modifier stack depending on if you still have a bad result.  Normally boolean first.
If it is to get a better sphere you may have to use a cast of a sphere and apply.  CG boost has 100 tips video showing this process.


Double-Click-rename on a list item does not call __setattr__

Your custom __setattr__ method is called if you add or change a collection item via Python (e.g. Python Console). It is not called if you change an entry via the UI.

The reason is probably that bpy properties are no regular python objects / properties. If you access it directly via Python, it is handled like a regular Python object. The UI however is handled in Blender's native C code (so are change events in Blender in general), and it obviously disregards custom __setattr__ handlers.

The proper way to check for property changes is to supply a callback function to the update attribute on property registration, or specify a getter and a setter function.

import bpy
from bpy.props import *

def update_cb(self, context):
    print("image =", self.image)

class RenderGroups(bpy.types.PropertyGroup):
    image = StringProperty(
            name="Image",
            description="The image-texture of this group",
            update=update_cb)

class RenderGroupUIList(bpy.types.UIList):
    def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
        if self.layout_type in {'DEFAULT', 'COMPACT'}:
            row = layout.row()
            if not item:
                row.label(text="", translate=False, icon_value=icon)
                return
            row.prop(item, "name", text="", emboss=False, icon_value=icon)
            row.prop(item, "image", text="", emboss=False)
            if item.image not in bpy.data.images:
                row.label(icon="ERROR")
        # 'GRID' layout type should be as compact as possible (typically a single icon!).
        elif self.layout_type in {'GRID'}:
            layout.alignment = 'CENTER'
            layout.label(text="", icon_value=icon)

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

    def draw(self, context):
        layout = self.layout
        layout.template_list("RenderGroupUIList", "", context.object, "coll", context.object, "idx")

def register():
    bpy.utils.register_module(__name__)
    bpy.types.Object.coll = bpy.props.CollectionProperty(type=bpy.types.RenderGroups)
    bpy.types.Object.idx = bpy.props.IntProperty()

def unregister():
    bpy.utils.unregister_module(__name__)
    del bpy.types.Object.coll
    del bpy.types.Object.idx

if __name__ == "__main__":
    register()

Be careful with writes to the property inside a callback, there is no protection against infinite loops - you need to handle that yourself.

http://www.blender.org/api/blender_python_api_2_73_release/bpy.props.html#get-set-example


Changes in edit mode not showing up in object mode

Under the properties Window > Object > Display > Maximum Draw Type dropdown menu make sure it isn't in Bounds mode


What are the system requirements for working with heavy/complex scene in Blender?

Of course it is possible, the minimum for rendering/composting this type of scene in less than 20 hours is and Nvidia GTX 650+ and either intel i5 or i7. But, your question was a bit vague so I don't really know what you mean. I hoped this answer helped though. :)


How to create a procedural brick texture for a simple building without object size changing the texture size?

When I read Rich Sedman's first answer, I realized that what he does with the two materials can be solved with a single material using a trick called triplanar mapping.

What is the problem here? 3D procedural textures can be made size-independent using Object coordinates, but the brick texture is only a 2D procedural texture, so it does not wrap around the mesh.

What is triplanar mapping? A 2D texture is projected along the X, Y, and Z axes, and then we blend among these based on the angle of the currect face. It is used mostly for things like terrains, rocks, tree trunks but can be also used here (assuming that the faces are either in the XZ or in the YZ planes, so that we don't get blending artifacts). Cycles does not have built-in triplanar mapping support, but one can construct it from nodes, an example is here: http://www.blendswap.com/blends/view/78446

The following is a simplified version of the blendswap material, because in this case we only need two projections (X and Y - this is strictly speaking biplanar mapping), and I also took out the mapping nodes because the scaling can be tuned in the brick texture. Note however, that the mapping nodes could be useful to reduce the discontinuity at the edges, as in Rich's answer.

The nodes:

The result:


Is there a way to Force 24 fps on Animation Playback?

I can see the problem here. It is probably because your hardware isn't able to handle it. I am sorry to say that. Maybe try restarting your computer, or try clearing any junk files, anything to increase the speed of your computer. If you could share your computer specs, it would be easier, or there is one more solution, try removing 1 simulation. This might boost your computer. It would be easier if you could share a video of the simulation in the viewport mode along with your hardware specs.
Cheers,
Aster17


Working sample of steering actuator with path following behavior

Path following and flee (distance is set to 1.0) works for me (Blender 2.68 64bit and 32 bit, Windows7 64bit). The cube follows the fish along the red path. And the cube doesn't leave the navigation mesh.


Drawing mathematical functions using Blender

1.Add
2.Math Function
The functions on left side are fully customizable.
Hope this will work, try!


Why doesn't the circle have a face like the plane?

By default blender doesn't fill the circle. There are two types of fillings for circle. You can do it either manually or select it from the pop-up menu that appears when you add in the circle. The two types of filling are:-
1. Ngon-
In this type of filling it'll just add in a single face.
You can manually make it by switching to Edit Mode, select all vertices and press F or select it as shown in the image: The disadvantage of ngon filling is that you wont be able to add in loopcuts .

2. Triangle Fan
In this filling, there is a center vertex which is connected with all other outer vertices.
In this type of filling you can easily add in circular loopcuts to add more geometry if needed.
You can manually model it by selecting all vertices in edit mode with A fill it usually with  F and navigate to Face > Poke Faces OR select it from the pop-up menu.

Selecting between this two fillings depend on when and where you use it.


From your screenshot, you can see that you are only rendering 12 tiles. If you have 72 hyperthreads, then 12 tiles / 72 threads ~= 16% utilisation. Options:

Render the full image, instead of small fraction that you are.

Reduce the render tile size so that you have more tiles rendering at once.


How to display a reference image in a new window?

UV Image Editor
If you wan't to have it next to your 3d view, you can use the UV Image editor. To open a new one, click and drag to your right on the bottom left hand corner of the 3D view.

You will then see a second 3d view. click on the icon of a cube, and change it to the UV image editor.


Get Edge / Vertex / Face from mouse position

You could transform the mesh to screen space (single locations: vertex coords, edge centers, face dots) and find the closest using (cursor-loc).length_squared, e.g. use this utility function:

from bpy_extras.view3d_utils import location_3d_to_region_2d

But it's pretty inefficient. There is no elegant way to retrieve a close-by geometry element.

You could improve the search for a close location in 3d space using the new KDTree Utilities (mathutils.kdtree), but you need to re-generate the kdtree whenever the mesh changes.

Paleajed's Preselection builds might still contain python-exposed functions to retrieve a close element, at least older versions did (when the preselection highlighting was done in python, and the script used a patched-in function for a more efficient test).

It depends on your goals, but you could highjack the actual operator that is used for selection making in UI, which is definately the most efficient way to select a close element. Here's a demo that selects the closest geometry element, and silently deselects it again:

import bpy
import bmesh

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

    @classmethod
    def poll(cls, context):
        return (context.object is not None and
                context.object.type == 'MESH' and
                context.object.data.is_editmode)

    def invoke(self, context, event):
        me = context.object.data
        bm = bmesh.from_edit_mesh(me)
        verts_sel = [v.select for v in bm.verts]
        edges_sel = [e.select for e in bm.edges]
        faces_sel = [f.select for f in bm.faces]

        loc = event.mouse_region_x, event.mouse_region_y

        try:
            geom = bm.select_history[-1]
        except IndexError:
            geom = None

        ret = bpy.ops.view3d.select(extend=True, location=loc)
        if ret == {'PASS_THROUGH'}:
            self.report({'INFO'}, "no close-by geom")
            return {'CANCELLED'}

        try:
            geom2 = bm.select_history[-1]
            print("geom2 sel 1st", geom2.select)
        except IndexError:
            geom2 = None

        if geom is None:
            geom = geom2

        if isinstance(geom, bmesh.types.BMVert):
            geom_sel = verts_sel
            bm_geom = bm.verts
        elif isinstance(geom, bmesh.types.BMEdge):
            geom_sel = edges_sel
            bm_geom = bm.edges
        elif isinstance(geom, bmesh.types.BMFace):
            geom_sel = faces_sel
            bm_geom = bm.faces

        for sel, g in zip(geom_sel, bm_geom):
            if sel != g.select:
                g.select_set(False)
                bm.select_history.remove(g)
                bm.select_flush_mode()
                break

        self.report({'INFO'}, repr(geom))
        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

Run the operator via spacebar menu over 3D View. It should print the bmesh element in the info header. It does not change selection, if the geom element was selected however, it will become the active element.


Got it! Disabling Viewport Denoising and Upscaling in Render Properties → Sampling → Viewport & Preview Sampling does the trick. ¯\_(ツ)_/¯


How do you animate image texture materials in blender cycles with keyframes?

To dissolve one image into another, connect the different image textures to a color mix node, before the shader node.
By animating the Mix Factor you can control the how the images change.

Cascading this node setup might work for a few images.

But if you have many images, you might want to turn them into an image sequence (just renaming them with the same name and progressive numbers will work). Then load the image sequence as a texture.

If what you want to do is have the image change with every frame of your scene use the default options and use autorefresh.

If you want to manually set the duration of each image. Set the number of frames and start frame to 1 and animate the offset value.

Note that by doing this the images will change from one frame to the next but will not dissolve gradually.


Delete part of an imported obj model in Blender?

Is the meshed separated in group for OBJ file?

Try to use Split by Group in importing OBJ file:

In that way, the object can be imported separately if the OBJ use group for objects.

Just delete the object by X

If the Object is still joined

Enter edit mode and deselect all vertices alt+A, and hover on the main structure and press L for linked mesh. Revert your selected by Ctrl+I and delete those vertices.


The compositor only imports bitmapped images like OpenEXR tiff png jpeg etc. Perhaps you could open the pdf in a pdf app then export it or try screen grabbing it. To use svg files you can try importing them as an object in the 3d view then film that with the 3D camera. This can be added to the compositor as a "Scene" node.


How to create a rotation animation with "Manipulate Centre Points" turned on?

You can do this by parenting the object to an empty and using rotation constraints.

First add an empty at the point you want the object to rotate around.  Then select the object and then the empty (in that order) and hit Ctrl+P to parent it to the empty.  Now you can animate the empty revolving around as desired.

Then select the object and go to the Constraints Properties panel and add a Limit Rotation constraint and enable the constraint on all three axes, leaving the Min and Max values at 0.


Waving artifacts on texture/light Cycles

I looked at your blend file and it seems like its the geometry of your object. Your getting these "wavy artifacts" because your shading is set to flat which is showing geometry thus creating this. So to get rid of them I would change the topology of your object.


If you're asking about moving the object the full length of the path at a slower pace, read on...  If you're trying to vary, stop, or even make the object go backwards and forwards, that's a bit more complicated but can be added to explain this.  Just ask.

For the full path length at a slower pace -

Go into the path's properties (at right) and set the "Frames" value to twice what you had before.  Make sure your animation frame range is large enough to accomodate that number of frames.

In the Evaluation slot it's a good idea to delete the maximum frame number you have there already.  (set the timeline cursor to that frame number, hover over the slot and press ALT-i)

Now set the timeline cursor to the same frame number as you entered into the "Frames" slot.

Enter that number into the Evaluation slot and hover over it with the mouse and press i to keyframe it.

You've then doubled the number of frames (time) that your object has to complete the journey.


Why does exporting FBX to Unity mess up my UVs

I'm having this exact issue, only iv'e used Maya. I created my high poly sculpt in zbrush, then rigged, animated, and UV mapped him in Maya. But the exported fbx has broken UVs in Unity... its maddening.

solution for you there are two UV layers in all imported assets in Unity. In the material inspector, try switching from UV0 to UV1 (in drop-down menu). Hopefully this fixes your problem... If not then you and i are truly in the same boat. Which tells me its likely a Unity problem, since we're using different modeling/animation software.


First, you needed to join all parts of the deer by selecting the misc ones, then the main one, and keying Ctrl + J.

You also needed to parent the mesh to the armature by first selecting the mesh, then the armature, and keying Ctrl + P. You would select Armature Deform > With Automatic Weights.

Lastly, some weight painting had to be done. I did all of this. Here is the finished .blend file:


in eevee you can use this setup:
-> important is the blend and shadow mode of the material.

if you then toggle to cycles, it works as well:

and here is the blend file:


How to move head of bone to 0,0,0 and have the other selected bones and mesh move equally with it?

I don't think you want to move your mesh or armature in edit mode; then you will move them away from their Origin, which can cause all kinds of weird behavior. Go to 3D Viewport > Object > Set Origin and pick one (Origin to Geometry for instance), or use it in combination with selecting stuff, Shift + S, and the 3D Cursor to get it in the best location for you. Origins can only be moved in Object Mode. Make sure the Object Origins are the right place, and move your rigged body as a whole in Object Mode.


A more detailed example of the technique zeffi outlined is illustrated by the following example from http://web.purplefrog.com/~thoth/blender/python-cookbook/import-python.html

import bpy
import sys
import os

dir = os.path.dirname(bpy.data.filepath)
if not dir in sys.path:
    sys.path.append(dir )
    #print(sys.path)

import cityFunctions

# this next part forces a reload in case you edit the source after you first start the blender session
import imp
imp.reload(cityFunctions)

# this is optional and allows you to call the functions without specifying the package name
from cityFunctions import *


This is because you have "delay refresh" enabled in your armature. Disable it and your mesh will move when you transform any of the bones. Find it in your armature properties, display, delay refresh. Alternatively, just confirm a transformation of a bone (don't cancel the operation when you move it) and the mesh will snap to the bone position.


It looks like you may have rotated the view with ⎈ Ctrl⇧ Shift Scroll.

To re-align it, try going into an aligned view (e.g. Front view with Numpad 1).


2.79b YZ rotation widgets are using incorrect AXIS

I tried everything I could think of, un installing, re installing, deleting Appdata folder, reset to factory settings, log off user and to a new user installing blender, tried 2.77-2.79b nothing helped untill someone linked me
https://blenderartists.org/t/issues-selecting-the-3d-manipulator-arrows/546452/6

gif of problem https://giphy.com/gifs/8TFmoAEgHjbMMcRXQm

Solution: (( User prefs>System tab>Selection (drop down setting)>OpenGL Depth Picking ))

Thank you


Procedurally generating wear on an object?

A completely different way of simulating wear on an object, with the benefit of using only Modifiers, is Decimate in conjunction with Subsurf. The attached screenshot shows the default cube simply run through Remesh, Decimate->Collapse, Decimate->Un-Subdivide, then Subsurf. There is a lot of flexibility in this approach; changing almost any of the parameters in any of the modifiers subtly alters the distortions on the cube.


Using bpy.ops.uv.seams_from_islands(...)

Here is a script to run in edit mode.

import bpy
import bmesh
context = bpy.context
obj = context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)
# old seams
old_seams = [e for e in bm.edges if e.seam]
# unmark
for e in old_seams:
    e.seam = False
# mark seams from uv islands
bpy.ops.uv.seams_from_islands()
seams = [e for e in bm.edges if e.seam]
# split on seams
bmesh.ops.split_edges(bm, edges=seams)
# re instate old seams.. could clear new seams.
for e in old_seams:
    e.seam = True
bmesh.update_edit_mesh(me)

You may want to remove boundary seams

boundary_seams = [e for e in bm.edges if e.seam and e.is_boundary]


I had the same issues when I used the same shader recently (in Blender 2.79). This is how I solved them:

I. Decrease the Step Size value.

I realized that I had to reduce the Volume Sampling Step Size (Under Geometry section in the render settings). This removed noise in those areas where the volume density is very less.

But there are side effects of doing this:

This will increase render times, so you will have to find the exact value which is good enough to remove the noise.
The clouds would look more denser, so you may have to decrease the overall volume density in the shader.
Some cloud volume, if placed far away, might disappear, or get cut if Max Steps value is set low. You may have to increase the Max Steps value if that happens.

Tip: Step Size and Max Steps properties work in relation to each other. Reducing Step Size may need increase in Max Steps in order to make distant volumes visible since the renderer may reach the maximum number of volume sampling steps before it reaches the far away volume (because it is taking a smaller step to calculate the volumetric shader)

II. Regarding the black boxes, Increase the Max value for Transparency under Light Paths. Increasing the value did not affect my render time.

All the cloud instances are rendered inside cube geometry with a transparent shader on it by default (if no surface shader is defined and volume shader is connected). Now since the volume and background ray has to travel through many of these transparent boxes to reach the camera (or from the camera), sometimes it may hit the maximum transparency bounces value and that will render a black box there as the volume ray and the background image cannot pass through.


Blender 2.8 has sub panels.

As of blender 2.8 can if bl_parent_id is set in a panel it will be appended to the parent panel. Use the usual 'DEFAULT_CLOSED' in the bl_options set to start with panel closed.

This avoids needing to set up some boolean property to open close UI altogether.

Here is a sample file I've been testing for ordering panels.  First panel is defined as a child of the object transform panel. Second panel is a child of first. Can unregister and re-register with different parent ids to sort sub-panels, which is what I was testing

The two demo sub panels appended to object transform

import bpy
from bl_ui.properties_object import ObjectButtonsPanel, OBJECT_PT_transform

class LayoutDemoPanel(bpy.types.Panel, ObjectButtonsPanel):
    bl_label = "Layout Demo"
    bl_idname = "SCENE_PT_layout"
    bl_parent_id = 'OBJECT_PT_transform'
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'

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

        scene = context.scene

        # Create a simple row.
        layout.label(text=" Simple Row:")

        row = layout.row()
        row.prop(scene, "frame_start")

class LayoutDemoPanel2(bpy.types.Panel, ObjectButtonsPanel):
    bl_label = "Layout Demo 2"
    bl_idname = "SCENE_PT_layout2"
    bl_parent_id = 'SCENE_PT_layout'
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'

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

        scene = context.scene

        # Create a simple row.
        layout.label(text=" Simple Row:")

        row = layout.row()
        row.prop(scene, "frame_start")

def register():
    bpy.utils.register_class(LayoutDemoPanel)
    bpy.utils.register_class(LayoutDemoPanel2)

def unregister():
    bpy.utils.unregister_class(LayoutDemoPanel2)
    bpy.utils.unregister_class(LayoutDemoPanel1)

if __name__ == "__main__":
    register()

If you have some logical setting that when set needs more UI How to dynamically show/hide panel elements using python?