MCH eye bone animation plays in Blender, but not in Unity I'm new here and new-ish to Blender but getting to grips with it, thanks to a lot of on-line support!

I've rigged my character using the Rigify option in Blender, and have got a handle on applying automatic weights, weight painting and building an animation for export. I've got an 'idle' animation for my character playing in Unity. So mostly it's all working.

The only thing I was unhappy with were the eyes, which were being deformed as opposed to actually rotating. (The eyes are separate spherical objects in the Blender file).

So I found this solution:
https://blenderartists.org/t/rigify-eyes-deform/1117896/5
..which suggests parenting the eye meshes to by-default hidden bones (MCH-eye.L and MCH-eye.R) at the eye positions.
I did that and things in Blender look great - the eyes now rotate like real eyes. I imported into Unity again and the animation plays, but the eyes remained in position, while everything else in the character mesh moved around them.

I then read that I should check the 'deform' box on the 'eye bones' each eye mesh is parented to in Blender. That didn't seem to make any difference.

I've since noticed the eyes start at whichever position they're in when I do the FBX export. For example, if Blender is at frame 120 when I export, the eyes in Unity will be static, but at the frame 120 position/rotation. This suggests to me the position and rotation are passed to Unity, but not the sequence of animation for those MCH bones - but I don't know if that's either useful or correct.

Has anyone else encountered this problem? And, if so, how do I make sure the movement of the MCH bones is included in the FBX export?

I've tried multiple settings from Blender; checking/unchecking the 'relative parenting', 'local location' and 'inherit rotation' boxes in the bone properties, as well as selecting a bone group and 'bake all keyed frames'. No change to the result in Unity and I'm out of ideas.

Any pointers or clarifying questions, much appreciated.

OK, I've figured it out. I had parented the eye meshes to the 2 MCH bones, but I hadn't added any vertex weights. I just had to set all vertices in the eye spheres to a vertex group with a name that matched the correct eye bone at weight '1' and it's now all sorted in Unity. I'm glad I checked Unity once I made the change because the eye animation is actually now messed up in Blender - The eyes at certain points swing about to odd positions. But it's working in Unity so I'm not going to complain.

EDIT:

I've now figured out how to get it looking right both in Blender and Unity. Turns out the eye meshes should be parented to the armature just like everything else. I just previously hadn't used the right bone for the vertex weighting. Using the MCH_eye.L and .R bones as the vertex groups did the trick. Looks right in Blender and Unity. A relief when things make sense properly.


Look through Spot Light I have a spot light in my scene and I want to accurately place it. I know there was a way to do this in 2.55, but that doesn't seem to work anymore. How can I look through my light?

Just select the spot light, then press Ctrl-Num-0 (zero) to turn it into an active camera (looking at -Z local axis). To keep looking through it while navigating the scene you will have to enable 'Lock Camera to View' in 'View' under the properties panel. You'll then need to press it again while selecting the camera, to set the active camera back to it.


Change Object Index of Objects in a Collection Instance If you make instanced copies of a bunch of objects (alt+D), then it is possible to give them different Object Indices from their originals. This is useful if you are using Object Index as a mix factor in the material of the objects. This is especially useful when working with multiple Scenes. However, Instanced Objects don't copy all changes from their originals. If you make a change to a modifier, or Transform the original object, it does not update the Instances. So as you are working, you are stuck constantly re-creating the instances.

You can get around this problem by instead using a Collection Instance of all the objects you need copied. Then any changes are reflected. But then you can no longer change the Object Index of the copies. You can set an Index on the Collection Instance itself, but this doesn't effect the objects within it.

Is it possible to somehow get at the Objects within a Collection Instance and give them their own Object Index that is different from the original object?

Found a workaround. Instead of Index, I'm using the RGB color value from the Object Properties -> Viewport Display of each Collection Instance to drive mix factors in the material of the objects.
From the Object Info node, instead of Object Index, link Color to a SeparateRGB node, and change the Red of the Viewport Color of the instance, same way as you would use Index. Then connect R to Mix node or any other node. Nice thing is you can control each channel separatley, using the Green and Blue value for different things in the same collection instance.
Maybe not as elegant as it should be, but at least for me in the same use case as yours, it does the job.


How can I create a realistic glass material? I have a serious problem. I am confused about making real glass material. If you are able to help me, then I will be very grateful. Thank you! ♥

Material that I want to make:

My Shader Editor:

Rendered image:

Use the Principled BSDF shader.

1) Use only Principled BSDF node.
2) Set Transmission to 1 (to get physically accurate glass), but don't touch anything else.
3) Set Roughness as desired
4) Boom. You're done.

Physically accurate glass using only Principled BSDF.


Certain colors not showing on Cycles Render I was recently working on a character model, and I encountered a problem while using the Texture Paint mode.
I unwrapped and assigned a texture to every piece of the model, and then went to the Texture Paint mode to work on it. When I finished the work I rendered it to check the result, and then I noticed certain colors of the texture didn't appear at all in the render.
The flat texture and the model in 3D view look like this:

Whereas the render looks like this:

For further reference, I'm using Cycles Render, and used the node editor to apply several shadings and displacement.
For the scene, I'm using two spotlights, both white in color, and black background.
Also, while in Texture Paint, I used the Multiply and Lighten blends for adding contrast, and the Overlay blend for applying the purple hue.
I'm using Blender 2.74.

Here is my node setup

You are using a mathematical multiply. You should be using an RGB multiply

You can get the color multiply in the add menu Shift-A>Color>MixRGB and set the drop down the multiply.

The reason the math multiply doesn't work is that it simply multiplies a single value (per pixel) together, giving one output channel. The Color multiply multiplies each of the three channels (per pixel) and gives a three channel output.

This is how a multiply RGB node works, using the mathematical multiply:

Each color channel on the first image is multiplied by the corrosponding one on the second image. They are then added together to make a new image.

The factor merely mixes the multiplied image with the un-affected image.


Hand model keeps bending finger when wrist is rotated I made a rigged hand model from a tutorial that I found on youtube. I have a problem where if I rotate the wrist part of the bone the pinky also rotates. How can I fix this problem?

Here are some pics below of the issue.

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

The reason is that the last bones on that finger have a bone constraint with "world space" instead of "local space", as ll the others have


How to remove modifiers from multiple objects at once You can add a modifier from one object to multiple other objects using Ctrl+L. Is there a way to delete modifiers all at once?

As stated in the comments by Mr Zak and Robert Gützkow, you can select the objects you wish to remove all modifiers from, then select an object with no modifiers, hit CTRL+L, and link the modifiers. This will get rid of all of them on all of the objects.


Auto toggle between isometric when using 1, 3, and 7 Previously, I've always had a setting or something which would always switch to isometric view whenever the view is moved to front, left, or top view (with 1, 3, and 7), and automatically switch back whenever i pan away.

That would be the Auto Perspective setting. You can find it in the preferences under Interface.


How do I save my undo history as well to my blender file? I want to get my entire session's undo history back when I load a Blender file.
This would allow me to undo as far as would have been possible, had I not closed Blender.

Can any in-built feature or plugin support this?

as you mentioned there is a limitation.
this test shows you how many steps you can undo. In my pc I can undo only 32 steps:
import bpy

for i in range(0,100):
    bpy.ops.mesh.primitive_cube_add(enter_editmode=False, align='WORLD', location=(i, 0, 0))
    bpy.ops.ed.undo_push(message="Add Cube")

for i in range(0,100):
    bpy.ops.ed.undo()

I decompiled undo script
void ED_undo_push(bContext *C, const char *str)
{
  CLOG_INFO(&LOG, 1, "name='%s'", str);
  WM_file_tag_modified();

  wmWindowManager *wm = CTX_wm_manager(C);
  int steps = U.undosteps;

  /* Ensure steps that have been initialized are always pushed,
   * even when undo steps are zero.
   *
   * Note that some modes (paint, sculpt) initialize an undo step before an action runs,
   * then accumulate changes there, or restore data from it in the case of 2D painting.
   *
   * For this reason we need to handle the undo step even when undo steps is set to zero.
   */
  if ((steps <= 0) && wm->undo_stack->step_init != NULL) {
    steps = 1;
  }
  if (steps <= 0) {
    return;
  }

  /* Only apply limit if this is the last undo step. */
  if (wm->undo_stack->step_active && (wm->undo_stack->step_active->next == NULL)) {
    BKE_undosys_stack_limit_steps_and_memory(wm->undo_stack, steps - 1, 0);
  }

  BKE_undosys_step_push(wm->undo_stack, C, str);

  if (U.undomemory != 0) {
    const size_t memory_limit = (size_t)U.undomemory * 1024 * 1024;
    BKE_undosys_stack_limit_steps_and_memory(wm->undo_stack, -1, memory_limit);
  }

  if (CLOG_CHECK(&LOG, 1)) {
    BKE_undosys_print(wm->undo_stack);
  }
}

you can see how limitation calculated:
const size_t memory_limit = (size_t)U.undomemory * 1024 * 1024;

as  @Jachym Michal said in comments increasing this limitation is not recommended
I suggest you use Git.you can easily undo (checkout) by git commands

Git is a distributed version control system for tracking changes in source code during software development.

but if you like the automatic way you can commit after each change:
import subprocess
from subprocess import Popen, PIPE, STDOUT

import re

# undo step
step = 0
# repository path
repoDir = 'C:/Users/Kamali/Desktop/Test'

def gitCommit(message):
    global step
    step += 1
    cmd = 'git add . && git commit -am '+message
    p = subprocess.Popen(cmd, cwd=repoDir)
    p.wait()

def undo():
  global step
  step -= 1
  checkoutTo(step)

# check out to specific step
def checkoutTo(Index):
    cmd = 'git checkout ' + getStepRevision()
    p = subprocess.Popen(cmd, cwd=repoDir)
    p.wait()

# get specific revision from git log history 546bece2c66acb454878500689e3017b92c43d28
def getStepRevision():
    cmd = 'powershell.exe git show HEAD~'+str(step)+' --pretty=oneline --no-patch'
    p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True, cwd=repoDir)
    output = p.stdout.read()
    p.wait()

    revision = re.search('(.*?)\s',output.decode('utf-8')).group(1)
    print(revision)

Update
if you don't know git commands
you can use git extension
after you undo (check out) you have to close and reopen blender to refresh
but these lines of code help you to reload it easy
import bpy

bpy.ops.wm.open_mainfile(filepath=bpy.data.filepath)

Tutorial
run this code and see what happened!!!
import subprocess
from subprocess import Popen, PIPE, STDOUT

import bpy

repoDir = 'C:/Users/Kamali/Desktop/New folder'

for i in range(0,100):
    bpy.ops.mesh.primitive_cube_add(enter_editmode=False, align='WORLD', location=(i, 0, 0))
    bpy.ops.ed.undo_push(message="Add Cube")

def gitCommit(message):
    bpy.ops.wm.save_as_mainfile(filepath=bpy.data.filepath)
    add = 'git add .'
    p = subprocess.Popen(add, cwd=repoDir)
    p.wait()
    commit = 'git commit -m ' + message
    p = subprocess.Popen(commit, cwd=repoDir)
    p.wait()

I could commit 100 steps with code


Apply face normal orientation to object Local Pivot Point orientation? Is there a simple way to "apply" a custom transform orientation to an objects pivot?

The purpose is to set the faces normal as the new pivot of the object.

Duarte Farrajota Ramos' cube merge trick is fine however it needs a dummy object to work. Efficient but quite time consuming in my opinion.

https://blender.stackexchange.com/a/121223/75435

Not trying to be picky, but just to make asking easier in the future: in Blender the pivot is what you’ve selected to be the point you rotate around. What other software like 3ds Max calls the pivot, in Blender, is called the origin. I think that’s what you’re talking about. This is a serious shortcoming of Blender, the fact that you can’t directly modify the origin. There is an addon called BS Modify Pivot that does what you need. An alternative is that you move and rotate the object to the place you need it to be and then do the opossite move and rotation to the mesh in edit mode.


python: removing vertices from mesh but still can access them from data I'm trying to understand what's going on here:

obj = bpy.context.object
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.delete(type='VERT')

# The instruction below prints <bpy_collection[8], MeshVertices>,
# but I expected the vertices to be gone.
print(obj.data.vertices)

My intent was to delete the vertices of the current object.

When executing the bpy.ops.mesh.delete(type='VERT') instruction I can tell that the vertices are gone because they don't show up in the GUI anymore.

However, I can still access them via python with obj.data.vertices.

Is that the normal behaviour? Why are the vertices still accessible if I deleted them?

You can access all of Blenders mesh data with bpy.data.objects[i].data. However this data can't really be edited as you do in edit mode. When you switch to edit mode, a whole new object (at codelevel) is temporarily created untill you exit edit mode and return to object mode. When you return to object mode, the temporary edit mesh is converted to an object mode mesh.

This means while you are in edit mode, the changes you see are not reflected in yourObject.data. yourObject.data only contains the object mode mesh. It will be updated once we exit edit mode.

You could add the lines to update the object mode mesh, before printing its data.

bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.mode_set(mode='EDIT')

But this only adds unnecessary overhead to your operations. (And you shouldn't be using the bpy.ops functions anyways.)

The solution is to use the bmesh module, it is designed to handle mesh data and has calls to update it.

Import it with import bmesh.
Then get the object data with me = bpy.context.object.data

Getting and setting the object data is dependant on which mode we are in.

Edit Mode

bm = bmesh.from_edit_mesh(me)

# manipulate the mesh data with the bmesh reference here

bmesh.update_edit_mesh(me, False, False)

Object Mode

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

# manipulate the mesh data with the bmesh reference here

bm.to_mesh(me)
me.update()

If you don't know, wether you are in edit or object mode, when your script executes, use this answers code (last block). It will check if the object is in edit mode and use the according functions.


Cant find bone constraint in blender 2.8? Im trying to have 1 bone copy the rotation of another, and aside from this https://blenderartists.org/t/no-bone-constraints-in-2-8b/1136765/4 I can't find anything on the topic - there doesn't seem to be a bone constraints tab in this version of 2.8.

Where is this?

You have to be in pose mode to get access to the bone constraint tab (even in 2.79).


How to apply rotations for seperate object's axis? I have recently stuck up on problem where I have to set object's x and y rotation to 0.0, but keep z rotation equal to the current one (best way- don't affect at all). How to do that?

I was thinking of something similar to that what I used for other data(own.worldOrientation[0] = 0.0), but it didn't appear to work!

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

#Set orientation to euler!
orientation = own.worldOrientation.to_euler()
#Set up orientation of each axis
orientation.x = 0.0
#Apply rotation
own.worldOrientation = orientation

Here is the code that resolves the problem! It absolutely works


It always create a nother file As you can see on the picture it always create another file. I have no idea what this file is for. Also strange is that it is not called Blender File but Blend1 File.
Thanks for our help.

The Blend1 files are your previous manual saves. This is so that if something goes catastrophically wrong with the most recent file (and that you can't fix it), you can load up previous manual saves (Blend1 files).

If you wish to disable this:

Go to Edit > User Preferences
Then go to the "Save & Load" tab.
Reduce the number of "Save Versions" to 0.


Can I set render settings by individual scenes? I have a .blend file with two scenes in it.

Can I set different Properties panel > Render tab settings (dimensions, frame rate, etc.) for different scenes in the same .blend file?

Thanks.

Yes you can, make sure when creating a new scene to choose New for a fresh default scene or Full Copy to make a copy of your current one.

Any changes you make to the settings in either scene will stay unique to that scene.

As per the wiki, the three options when creating a new scene that I think you should pay attention to are:

  New
  Creates an empty Scene. In the new Scene, the Render Settings are set to the default values.

  Copy Settings
  Creates an empty Scene like the previous option but also copies the Render Settings from the original Scene into the new
  one.

  Full Copy  Is the deepest form of copying available. Nothing is shared. This option creates a fully independent Scene with copies of
  the currently selected Scene's contents. Every Object in the original
  Scene is duplicated, and a duplicate, private copy of its ObData is
  made as well.


What is the 4th coordinate of spline points? When trying to set the .co property of a curve's SplinePoints I noticed that it has 4 coordinates, x, y, z and an unknown coordinate. What is this 4th coordinate of SplinePoints?
curve = bpy.data.curves.new("test, type="CURVE")
curve.dimensions = '3D'
curve.resolution_u = 2
curve.bevel_depth = 0.01
line = curve.splines.new('POLY')
line.points.add(2)
line.points[0].co = o + [plot._scale[0], 0, 0]

ValueError: bpy_struct: item.attr = val: sequences of dimension 0 should contain 4 items, not 3

NURBS curves are a set of weighted control points.

Control Point, Vertex
In case of a NURBS curve, there is a fourth component available (W),
which defines the weight of the selected control point or the median
weight.

For further technical details see https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline#Technical_specifications

A NURBS curve is defined by its order, a set of weighted control
points, and a knot vector.[4] NURBS curves and surfaces are
generalizations of both B-splines and Bézier curves and surfaces, the
primary difference being the weighting of the control points,

How to specify Nurbs path vertices in python?
Create curve from Numpy Array using Python


Got stuck following a tutorial please help I am stuck while following this tutorial
https://www.youtube.com/watch?v=28AlRLMlqW8&t=4251s&ab_channel=FlyCat
At 0:33. The youtuber highlighted the vertical line in the middle of the hexagon and did something to make it split into 2 vertical lines.
It happened pretty fast in the video so i took some screen shots too.

Can someone please tell me how he/she did it?
Thanks in advance.

They used the Loop Subdivide tool. It creates loop cut(s) around the area selected by the user.

hotkey: ctrl + r
a yellow line shows what section will be cut - click to confirm cutting this section

Once confirming the section to cut:
 scroll wheel increases/decreases cuts
move mouse to slide where the cut will happen
click again to finally cut

Here's the Blender documentation for further reading: Blender Loop Subdivide
Good luck with the tutorial, hope this helps!


Weird black lines come up over final render In the final render these weird black outlines show up. This happens in eevee and cycles, and I have no clue why.
This only popped up on this specific render.
For example, The black outlines on the snowman and the wall edges are not supposed to be there

Using blender 2.83

It looks like you have freestyle turned on. Freestyle is used to give outlines to things (primarily), however the lines do not show up in the viewport and are only visible in renders. You can turn it off by un-checking the box in the Render Properties panel:


Reflections on glossy balloon I use the image below as my "learning vehicle". I have now learned how to model balloons, texturing the balloons and put text on the balloons. One of the qualities of this image is the reflections (of a window ?). I have no idea how to do that. Is this a background image ? Some HDRi lighting ?

I used the answer of m.ardito to create this test file. I create four planes with the array modifier and made these planes emissive. I also created a sun lamp. This resulted in the image below. Although I now have the "window like" reflections" I still have a couple of issues left:

1) I think I need a second lamp (sun lamp) for lighting the sphere but this gives reflections I don't want. How to solve that
2) How to get those window like reflections with sharp edges ? My reflections have very soft edges

The simplest (or maybe fastest) way would be add some squared light for the baloon surface to reflect.

In blender cycles, for baloons try a red glossy (adds some mirroring), and add a "light" shaped like a window (either four planes in a square pattern or a single "light" plane with an opaque cross frames in front), with its material set to "emission" (cycles).

In blender render, the baloon material should have a degree of "mirroring" and the light could be four planes with a white material having "emit" shading.

It's a matter of experimenting a bit.

If you need a whole complex natural environment reflected in the baloons, like trees, building, people, etc. only then you need really to use hdri.

basic blender render example:

I edit my answer to add some more, as asked by the OP.

If you would like to absolutely avoid other reflections, you could use environment lighting, instead of lamps like this (blend file will follow), or an area light instead of sun, or some more tweaks to avoid that big specular..

I'll check your blend file later (and add mine) to find why you have those very soft edges...

here is mine... http://amrc.altervista.org/wp-content/uploads/2015/10/baloons.blend_.zip

also keep in mind that stock image could also be post processed later to get a perfect result... this is quite common to achieve artistic results.

ABout your soft "window" reflection edges, they are due to your setting for the glossy bsdf node (you have a quite complex node setup in this file!)

set it to 0 for perfect sharp result, or adjust to your need

like


Can I make an object invisible in Cycles without letting the camera see what is behind it? I would like my mountain to be invisible after rendering. And I want just Objects in front of it (like trees) to be seen, but not behind the mountain.

To make the object transparent as alpha channel:

use a holdout shader so it renders as transparent

Place the object on a different layer and use that layer as mask:

Use a Pass index for the object and use that on the compositor to substract the object from the final render:

(click on the image to enlarge)
Similarly, you can assign a pass index to the material and use that as alpha on the compositor:

(click on the image to enlarge)


Can't find a control for size under physics in the particles panel I'm following Andrew's Blender Guru beginner tutorials, and I'm working on particles right now. The problem is I can't find "size" and "random size" options under physics in the particle panel. I can see it on Andrew's tutorial but I can't find it on my own software.

OK...So I unchecked "Advanced" button under Particles panel and discovered "size" and "random size" controls were nested under "Render" in the same panel. I think that's how it is in my version 2.79 of blender.


When i render active scene with the mesh that converted from the hand writing picture there is nothing to be seen in the render window I am just the beginner and sorry about my question can be very obviously to answer. I use 2.79 version. I draw by "Grease Pencil" some simple picture and "Convert to Geometry" choosing "Path". Next I go to "Object Menu" select "Apply", choosing "Visual Geometry to Mesh". When i render it is no picture at all!

“Convert to Geometry, Path” will convert your grease pencil drawing into a Path and that path should be selectable and visible in the 3D View window (if you hide the grease pencil lines). However, paths are not normally visible in renders since they have no width.

To make the path visible in the render simply select it, select the Curve properties in the right-hand properties panel (it’s the one with a curve with a white dot at each end), scroll down to Geometry and increase the Bevel Depth. This will add some renderable geometry to the path. Adjust the other settings to get the desired effect (eg, change Fill in the Shape panel to Full) and optionally add a Subdivision Surface modifier to get a rounded stroke.


Curved grid - Cycles vs. Eevee I'm trying to create a simple animation moving the camera through a curved tube, which has a .png image (just a grid) mapped on it.
My problem is that I see some differences in the lines when I export on Eevee and Cycles. The lines on Cycles seems to be much smoother.
Here you can see what I mean:

Eevee

Cycles
I've tried using the Smooth modifier but that changes nothing. Both images are rendered using the same sampling values.

Shader
Q: Do you know how I can get smother lines for that curve (tunnel) when using Eevee?

Add a Subsurf Modifier, then the curvature will be the same for Eevee and Cycles, but in Cycles less visible because of different texture mapping.

Mapping differs because Eevee doesn't support the Panoramic camera type (set for Cycles). Eevee is using Perspective instead. Should be probably reported as a UI inconsistency.


How to move a bone and a separate object together Is it possible to move a single bone from an armature in pose mode with a separate object in object mode at the same time?

I often need this functionality when creating a layout for an animation shot. After posing my character I might need to move the root bone or an IK controller a bit. But when my character interacts with the environment, for example sitting next to a table, I can't find a way to move both the character armature and the table at the same time. So I find myself moving the two elements separately which often leads to inaccurate positioning.
If I turn the armature to object mode I can move both objects but there are some use-cases where I want to move an object with only one particular bone.

I'm assuming you need the child object to rotate on the spot, that is, with its own Origin as pivot point?  If so ....

Select the object to be constrained, which I'll call a cube from now on, and Shift S, Cursor to selected.

Shift D, and call the new object TemporaryCube.
Create an empty.

Add a Copy Rotation constraint to the Empty with the bone as the target.
Select the Empty first and the Cube second, Control P, Object with Keep Transform.

Add two Child Of constraints to the Cube.

In the first constraint, untick the Rotation and Scale axes. Pick Bone as parent.
Correct the location by pressing Shift S, Selection to Cursor.

In the second constraint untick Location and Scale axes. Pick Empty as target.
Rotate the Cube back to how it should be by:
Selecting a) the Cube, b) the Temporary Cube, then going to Object/Transform/Align to Transform
Orientation. Then you can delete Temporary Cube.

If you want to remove the constraint afterwards ....

Create a cube or sphere or something. With it selected, press Shift and select the object with the constraint.  This cube/sphere is going to "hold" the position and rotation data for you.
The cube or whatever needs to be in the same position and rotation as the object with the constraint.  You can get it there using Object/Transform/Align Objects, and Object/Transform/Align to Transform Orientation.  You'll probably need to select all axes in the tool settings and change Global to Local.
Remove the constraint, then get it back into the position of the "data holder" cube/sphere using the same two align tools as above.  Remember that the object you select last when the two objects are selected ready for the align tool, is the object whose data will be copied.


How to play multiple actions using action actuator? There is some actions that i created for a human character like walk, jump and saying bye. I want to play these actions one after one using action actuators or any other way. I mean if i want to play walk action first, it starts in frame 0 and ends in frame 20, then after played that action, next jump action should play. After that, it should play saying bye action. These 3 actions should play one after one.

When i am trying this with action actuators, it is playing the last action only. I tried with changing the priority of these actions, then it will play only high priority action. Also i tried with changing layer then it plays only last action. Also i tried with changing start and end time. I changed them to, if first action start time 0 and end time 20, then second action start time 20 and end time to 40. but it not worked.

Below code shows that how i used action actuator. if it needed i can upload .blend file too. if there is any other way to do this without action actuators, please tell me.

def play_actuator(actionName, start, end):
    cont = bge.logic.getCurrentController()
    act = cont.actuators["Action"]

    act.action = actionName
    act.frameStart = start
    act.frameEnd = end
    act.priority = 0
    act.layer = 0
    cont.activate(act)

Make sure your Current Frame on the timeline is set to the frame before the first animation. Usually 0. Then make sure the first animation starts at 1 and not 0.


setAngularVelocity does not work I run the following code in Blender Game Engine:

ball.setAngularVelocity((0,0,0),1) #or ball.setAngularVelocity((0,0,0),0)
print(ball.worldAngularVelocity)

So I expect to see Vector (0.0000, 0.0000, 0.0000) at each iteration, but the output looks like the following:

Vector (0.0000, 0.0000, 0.0000)

Vector (-1.1090, -0.8872, 0.1430)

Vector (-0.8303, -0.6629, -0.4372)

Vector (5.1094, 1.9519, 0.2987)

Could someone help me how I can set the angular velocity to zero?

I found the solution. It is a bug in Blender and it does not accept (0,0,0) as angular velocity. It should be a small number instead of 0 for example (0.00001, 0.00001, 0.00001)


Is there a way to explicitly set the mode in python? I'm developing a basic sculpting addon for practice and one of the features I'd like to include in this addon requires modes to be set explicitly.

Here's an example of the type of api that I'm looking for.

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

I tried looking for something on my own, but I only found methods that toggle the mode.

Is there a method like what I was describing that would do the job?

You can go directly to a specific mode using -

bpy.ops.object.mode_set(mode='EDIT', toggle=False)

Valid mode values are 'OBJECT', 'EDIT', 'SCULPT', 'VERTEX_PAINT', 'WEIGHT_PAINT', 'TEXTURE_PAINT', 'PARTICLE_EDIT', 'POSE' but not all will be accepted at anytime, eg PARTICLE_EDIT will only be accepted if the object has a particle system.


Weight painting not working at all (2.8) For a little bit now I've been working on a model and I've gotten to the stage where I want to apply an armature to them. So I did the whole "Automatic weights" part and was underway to touch up the weight paint. But no matter what I do in weight painting mode, nothing shows up. I can't see the weight on anything.

I've watched all of the tutorials on how to weight paint in 2.8 and they all say the same thing: Just Click Armature, Shift-click mesh, Go to weight paint mode. Simple. But when I get there, there's no colour for me to determine the weight.

This is all I get. The arm on the right has been moved and the arm on the left is what it would look like relaxed.

According to the tutorials, this would be the part where I'd be able to do everything but there are no tools. I select to "Draw" option, try to paint and nothing happens. Which actually leads me to another question...

Am I missing a part of my layout for this to work? In the tutorial videos I've watched they all have the same layout, an extra box below the header which shows the tools and options for them. I, on the other hand, don't have this nor do I know if there's an option for it.

Is this a bug? I really hope it isn't and that I'm just missing something because I really want to finish this model but I'm getting so frustrated over this little hitch.

I had same problem on a flat plane, but  after I subdivided the plane several times it worked.


unknown syntax error in python I did everything right from the Monstercat Audio Visualization tutorial, but when I say run script, line 27 is said to be a syntax error. Here is the entire script. What am I doing wrong? I checked for commas instead of periods, even retyped it, checked mine against the video. Not sure what else to.

import bpy

for i in range(0,64):

    bpy.ops.mesh.primitive_plane_add(location = ((i + (i*0.5))), 0, 0)
    bpy.context.scene.cursor_location = bpy.context.active_object.location
    bpy.context.scene.cursor_location.y -= 1
    bpy.ops.object.origin_set(type='ORIGIN_CURSOR')

    bpy.context.active_object.scale.x = 0.5
    bpy.context.active_object.scale.y = 20
    bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)

    bpy.ops.anim.keyframe_insert_menu(type='Scaling')
    bpy.context.active_object.animation_data.action.fcurves[0].lock = True
    bpy.context.active_object.animation_dada.action.fcurves[2].lock = True

    bpy.context.area.type = 'GRAPH_EDITOR'

    l = i**2 + 20
    h = (i*1)**2 + 20

    print(str(i) + str(l) + str(h))

    bpy.ops.graph.sound_bake(filepath=r'C:\Users\H20\Videos\Youtube\Onyx Leaf\Nightcore\Take Me To Church\Take Me To Church.mp4' , low = (l), high = (h)

    bpy.context.active_object.animation_data.action.fcurves[1].lock = True

Line 25 is missing a closing bracket. Python assumes line 27 is part of the high = (h) parameter to the sound_bake() function.

    bpy.ops.graph.sound_bake(filepath=r'path/to/file' , low = (l), high = (h)

should be:

    bpy.ops.graph.sound_bake(filepath=r'path/to/file' , low = (l), high = (h))


Motion blur not quite like real camera motion blur - cycles I have been attempting to render a warehouse scene with a package moving down a conveyor belt, with the idea that I would get a motion blur that match what a still camera would get with a dragged shutter. The rest of the scene looks pretty good to me but the motion blur looks really weird. It looks more like a flash has gone off rather than

I couldn't find a simple explaination (ie: one that my artist brain could wrap itself around!), so I am hoping someone here can give me a place to start.

Motion blur is checked. The shutter is set to 30.00. What am I missing to get the smoother blur across the box?

I figured out the answer: I had set two key frames in the timeline, moving the boxes in between the two. And, then I had set the green line to the last key frame.

This meant that the boxes stopped on that frame. I needed to set the green line to a spot in between the two lines to show the blur on the motion of the boxes.

Simple!


Rotation matrix addition I suck at programming but am trying to rotate an object a specific way. The line
own.localOrientation=mathutils.Matrix(x, y, z) is giving me an error:

TypeError: Matrix(): expects no args or a single arg containing 2-4 numeric sequences

The most likely problem is I'm formatting the matrix wrong when I go to add it but the error isn't really helping me figure out exactly what I've done wrong.

Euler rotation as a matrix
Would imagine that what you want for x, y, z is an Euler rotation.
The KX_GameObject.localOrientation expects a 3x3 matrix, an Euler or a Quaternion.
euler_rotation = mathutils.Euler((x, y, z), 'XYZ') # XYZ is default
# 3 x 3 rotation matrix
R = euler_rotation.to_matrix()

this is the equivalent of
Rx = mathutils.Matrix.Rotation(x, 3, 'X')
Ry = mathutils.Matrix.Rotation(y, 3, 'Y')
Rz = mathutils.Matrix.Rotation(z, 3, 'Z')
R = Rz * Ry * Rx # ( XYZ order)

Can either set your local orientation to this matrix, or to rotate by it
own.localOrientation = R * own.localOrientation

remember all rotations need to be in radians. x = math.radians(45)
Putting it together in game engine, the following in a text block named rot.py
from mathutils import Euler
from math import radians
x = y = z = radians(5)
R = Euler((x, y, z)).to_matrix()

def main(cont):
    own = cont.owner
    # color vector xyzw  ~ rgba
    own.localOrientation = R * own.localOrientation

Assign to the left mouse click. Now on every click the owner is rotated 5 degrees on each axis each click


Cycles. How to prevent shadows when using backface culling I was given this example to enable backface culling with Cycles Render but I wish to eliminate the shadow from the backface culling without eliminating the shadow on the other.

How do I prevent shadows to emit form a specific material in cycles render while that material is using backface culling render nodes?

To remove the entire shadow as well as the backface culling you could simply combine the Backfacing socket of the Geometry node and the Is Shadow Ray socket of the Light Path node and use that as the input of your Mix Shader as follows :

However, removal of the shadows of just those culled 'backfaces' is compilcated by the fact that the 'Backfacing' socket is dependent on the actual ray being considered. This means that using the Backfacing output to cull the backfaces for the Shadow rays will result in different faces being culled for the shadow than are culled for the camera view - this is presumably not the desired behavior. This would be less apparent when the light sources are close to or behind the camera and would become more significant as the light sources move away from the line of sight of the camera or viewport - and the shadow would not match the mesh.

To resolve this must use a fixed point of view for the backface culling for the Camera rays and the Shadow rays and, ideally, all rays. This will ensure that the view of the material will match its shadow. As the hidden faces are based on the camera view it will be possible to see the back of the faces via reflections.

To acheive this, use the following node setup :

The Combine XYZ node defines the Vector of the Point of View. For 'traditional' backface culling this would point directly between the object and the camera and this would then result in all 'true' backfaces being culled. The node tree is split into a number of frames for clarity. These are as follows :

Shader - Transparent and Diffuse shaders mixed via the Mix shader based on the combined output of the other frames.

Frontfacing - Uses the Dot Product to determine the direction of the surface Normal in relation to the Point of View vector. A positive result will indicate that the Vector is in the same direction as the Normal - ie, it has been struck on its 'Front' face. The Subtract and Multiply nodes are used to filter out the actual 'Backfacing' rays since those need to be handled differently due to the 'Normal' of the face will having been negated.

Backfacing - Similar to Frontfacing but to deal with Normals that have been negated due to the incoming ray being incident on the 'backface'.

The results of the Frontfacing and Backfacing frames are combined via an Add node and then passed into the Mix factor.

The input Vector can be manipulated in Worldspace coordinates to point in the direction of the camera. However, a more versatile approach is toautomatically generate the vector based on the position of the camera or other target object. As the camera or objects moves, drivers can be used to get the associated coordinates and these can be used to generate the required vector for the culling as follows :

Here is an example of the back face culling with shadow emitted only from the 'visible' non-culled parts of the mesh :

And a demonstration of moving the culling viewpoint (shown as a glowing disc) :

Blend file available here


How to maximize any Blender View Port without resetting Quad View? Lock to Camera trick in one of questions doesn't seem to work in Blender 2.8!

Use workspaces. See the Layout, Modeling, Sculpting, tabs on top?

Right Click Layout and duplicate it, rename to "Quadview". Put the quadview in that tab and single window in the layout tab.

Switch back and fourth between layout and quadview from those tabs so it does not reset.

Ctrl + Page Up, Ctrl + Page Down back and forth to cycle through the views.


I cannot rotate of move camera anymore for some reason I was working on making a mesh, i left the window open and someone got on the computer after me, im not sure what they clicked but i can no longer rotate camera, everytime i try it moves the object instead, if i try to deselect the object, it does nothing. Here's a picture

Im probably just an idiot who hasnt realized anything, if you need more information i'll try my best but im still new and can't figure out why i can't anymore. I have tried ctrl+c but all it did was zoom out. I know the mesh looks bad but, well i had just stared. I even tied installing and uninstalling blender

You need to tell blender what object to use as a Camera


Applying per-vertex colors to new Bmesh I'm having trouble applying vertex colors through Python to a mesh. The mesh is imported from a file which has vertex info, face info (vertex indices), and a list of colors that corresponds to each vertex.

Creating the Bmesh mesh is fine:

bm = bmesh.new()
[bm.verts.new(v) for v in verts]
bm.verts.ensure_lookup_table()
[bm.faces.new([bm.verts[f[0]], bm.verts[f[1]], bm.verts[f[2]]]) for f in faces]
bm.faces.ensure_lookup_table()

However, I can't seem to find a way to apply colors to each vertex. Doing

color_layer = bm.loops.layers.color.new("color")
...
bm.faces[i].loops['color'].vert

just yields a Bmesh vertex with an index of -1...

Is there anyway to get back the correct vertex indices in this way?

Loop over face loops.

import bpy
import bmesh
from random import uniform
context = bpy.context
mesh = context.object.data
bm = bmesh.new()
bm.from_mesh(mesh)

color_layer = bm.loops.layers.color.new("color")
# make a random color dict for each vert
# vert_color = random_color_table[vert]

def random_color(alpha=1):
    return [uniform(0, 1) for c in "rgb"] + [alpha]
random_color_table = {v : random_color()
                      for v in bm.verts}
for face in bm.faces:
    for loop in face.loops:
        loop[color_layer] = random_color_table[loop.vert]
bm.to_mesh(mesh)

Should your table be indexed by vert index use something like

color_table[loop.vert.index]

If you notice that you are getting -1 for index value run

bm.verts.ensure_lookup_table()

Related

How to get random color variation on a single mesh?

set a specified vertex color to black via python


Is it possible to work on two or more files at the same time (or open multiple Blender instances?) I know Blender is pretty resource intensive on less mighty hardware, but supposing that I have the hardware to handle it, can I open two files in different Windows, or open different instances of Blender?

On systems other than OSX (Windows, Linux, BSD.. etc), you can open as many instance of Blender as you like. (and load whatever file you want)

On OS X, by default, only 1 instance of an app can be run. You can work around this limitation by invoking Blender from the command line. open -n /Applications/blender.app


Object showing only in render and not in viewport even though visibility settings are correct The fluid sim obstacle is visible at the top of the monitor. Before this render I turned made sure that render visibility was set to off.

Viewport view, the obstacle is invisible whilst the visibility is on.

Something very strange I have noticed is that if I delete the object and then begin to render a frame the object is still present. I haven't a clue what could be causing this.

Perhaps this has something to do with the objects parent/child tree?

Edit:
I have managed to make the obstacle visible in the viewport, however I am still stuck with the issue of it always showing up in my render.

Blend file is included now.

You've got a second object, called Obstacle.001, which is hidden in viewport but not in render. It's a child of "Monitor" (maybe that's why you didn't seen it in the outliner, you need to expand "Monitor" to see it).


Compute Device Selection for a shared Blender Version I am writing python scripts in blender for a team of 3D-Artists.
The scripts and the blender version are on a network drive "R:".
When calling the script
R:\blender-2.82a\blender.exe -b --python-expr "import bpy; print(bpy.context.preferences.addons['cycles'].preferences.devices.keys());"

The output for everybody is:
['GeForce GTX 1050', 'AMD Ryzen 5 3400G with Radeon Vega Graphics']

Which are my devices. The 3D-Artists have other devices.
Can it be that the devices listed in the cycles addon are not derived at runtime? Or how could that happen?
I want to activate the gpu for every 3D-Artist respectively, based on their own hardware.
Best,
Manuel

Okay. Robert's answer was the key.
Apparently the array in bpy.context.preferences.addons['cycles'].preferences.devices holds all devices that have ever been activated and saved in the blender gui. In order to get the current hardware and to update the devices array, you call:
preferences = bpy.context.preferences.addons['cycles'].preferences
cuda_devices, opencl_devices = preferences.get_devices()

And then you do something like:
gpu_device = None

for device in preferences.devices:
    device.use = False #reset all other devices
    if device.type == "CUDA" and device in cuda_devices:
        gpu_device = device

bpy.context.scene.cycles.device = "GPU"
bpy.context.preferences.addons["cycles"].preferences.compute_device_type = gpu_device.type
gpu_device.use = True

for scene in bpy.data.scenes:
    scene.render.engine = "CYCLES"
    scene.cycles.device = "GPU"


Blender Particle system within another particle system I want to place trees on a landscape in Blender using a particle system. The problem is that the trees already have a particle system for the leaves, so it does not work together. What can I do to solve the problem?

By your description, i imagine that the particles or leaves on the tree won't be moving so you can convert that particle system into a mesh and then apply that mesh as a particle object onto the landscape.


get all sequencer strips in python Hello all blenderheads !
i'm trying to make a little script to collect then relink all sequencer strip in a blend file, i'm currently getting something, but only in the active scene, i can't get it work in all scenes in the blend.
Here what i've got so far :
(sorry it the code isn't so good, im a newbie in python :))

import bpy
import os
import shutil

### make all path absolute ###
bpy.ops.file.make_paths_absolute()

### get the blendfile path ###
blendossier=bpy.path.abspath("//")
blendnom=bpy.path.abspath(bpy.path.basename(bpy.context.blend_data.filepath))

### set the new folder accordingly to blendfile path ###
ressourcesfolder=blendossier + "/" + blendnom + "___ressources"

### create the folder ###
os.makedirs(ressourcesfolder, exist_ok=True)

### get context scene name ###
scname = bpy.context.scene.name

### get all strips in the scene ###
strip = bpy.data.scenes[scname].sequence_editor.sequences_all

### copy strips ###

for obj in strip:
    ### set a specific folder ###
    folder=ressourcesfolder + "/" + "Video Sequencer"

    ### check if file isn't already in it ###
    if bpy.path.abspath(obj.filepath) != folder + "/" + bpy.path.basename(obj.filepath):

        ### create the folder ###
        os.makedirs(folder, exist_ok=True)
        ### copy the file ###
        shutil.copy2(bpy.path.abspath(obj.filepath), folder + "/" + bpy.path.basename(obj.filepath))
        ### get the new path ###
        newpath=folder + "/" + bpy.path.basename(obj.filepath)
        ### relink the strip to new path ###
        obj.filepath=newpath

### make all path relative ###
bpy.ops.file.make_paths_relative()

does anyone have an idea ? i'm stuck with that... thank you !

Hey thanks to batfinger and cmomoney, here's the answer :

### Strips ###
for scene in bpy.data.scenes:

    if scene.sequence_editor is not None:

        strip = scene.sequence_editor.sequences_all

        if strip is not None:

works perfectly to get all the strip in the sequencer editor in any scene of your blend file ! hope it'll help for people in same situation !


Bake Fluid Simulation via CLI or Python? I would like to run a fluid simulation on a headless Ubuntu machine I have lying around. I did manage to find a bug report on the issue but to no avail. Has anyone else had any success? Or perhaps a better solution to my problem?

It's a bit more complicated than it could be because fluid simulating baking is only exposed as an operator. That means it expects an active object in the context, which is usually provided by the user interface that is not available in background mode.

It is possible to pass this object to the operator manually however. The following is an example script that bakes all fluid domain objects in all scenes:

import bpy

for scene in bpy.data.scenes:
    for object in scene.objects:
        for modifier in object.modifiers:
            if modifier.type == 'FLUID_SIMULATION':
                if modifier.settings.type == 'DOMAIN':
                    bpy.ops.fluid.bake({'scene': scene, 'active_object': object})
                    break

This works when executed from the command line with a command like this:

blender --background file.blend --python script.py


How to Bake a Displacement / Height Map from a High Poly to a Low Poly Mesh? I have this mesh with 7.5 million vertices:

And I also have a low poly version of it with 5 thousand vertices:

I just want to bake the detailed height information of the high poly model into a displacement map that I can use on the low poly model. Baking a normal map works just fine, but there is not option for baking actual height information:

I found out that I can enable "Experimental" feature set for Cycles and then I have a "Displacement" option under "Bake from Multires". But there is not option to bake from selected to active, what I need.

If this is not possible in Blender what are my options?

Update 1

As suggested by Manu Järvinen I have tried using Blender 2.7 to do the displacement baking, but after baking is done I get a single-colored texture:

Initially I though this is an issue with the "Distance" but changing it does not help.

You should be able to use Blender 2.79b for baking the displacement until it is available in 2.8x

https://download.blender.org/release/Blender2.79/

Thanks for sending the .blend - it seems that your model was too small

So, when I scaled it to be roughly dimensions x=15, y=12 and z=8 and then applied the scales for both objects CTRL+A, the baking was successful with the values Distance: 0 and Bias: 0

And, you get even greater results if you scale it then with 10 and apply the scales.


UV Mapping Doesn't Display in UV/Image_Editor I've gone through tutorials and get the UV Mapping to work when testing on a simple block. However, when trying this on a bigger model, the UV Mapping won't display in the UV/Image_Editor. The Eiffel Tower model is all one mesh and I select Smart UV Project. Any suggestions.

That is because at the bottom of the image editor, you are viewing the render result.  Click the X to the right of the image selection box or select another image and you should be able to see the unwrapped pelt.


My Texture looks paler/brighter in my 3D viewport than in my UV I want my model's texture to look like this one in the 3D View:

But even when my UV matches those colors, my model looks like this:

Does anyone know why my model looks like this? Because my model looks brighter or with less contrast than the first image in this post.

Thank you!

I take it that you are using the material preview mode? This is occurring because the material preview mode still applies lighting to your model albeit not much. When the light strikes the darker and lighter areas of the texture, it uniformly brightens them all since there is no geometry/normal map etc. to cause the shadows to be emphasized or maintained.

Try increasing the material roughness and reducing the material specular properties if you want to minimize the effects of lighting.

Just for fun, take a sphere and set roughness to 0 and metallic to 1 in the Material Preview mode. This is what you'll see since Blender is using some lighting to light the model.


How to add multiple meshes on the locations of the vertices of, for example, a sphere? (Adding them all at once) I want to add multiple meshes on the vertices of a single mesh. For example, I want to create a sphere mesh that consists out of vertices. Then I want to use the positions of those vertices to add new meshes of any kind of object.

My question, is this possible to do this all at once? Yes, how?

Add a particle system to the object and set it up to make particles being emitted only from vertices.

Set up particle system

Add 2 objects, one - emitter, another to be emitted. Select emitter (sphere in your case) and add a particle system for it.

Leave it as Emitter, set amount of particles to be equal to vertices' number and toggle Emit from to Verts. Uncheck Random (or particles won't be put in place of every vertex rather than random ones):

Adjust settings of the particles which will represent vertices

You can adjust size of particles, set it to random, change location of all the particles, their rotation phase using Velocity and Rotation rollout options, use textures or vertex groups to adjust particles location even more.. and many other things:

Note that you may want to turn off particles' gravity if this object is animated so not to let them fall down.

Read more on particle systems:

particle systems in wiki;
emitting only from vertices;
rotation of particles | velocity of particles;
how external forces influence on particles.


How to save viewport image when running Blender as Python module I need to save viewport image while running Blender as Python module.This is required because I need real time updated ( only available on viewport )?
Does somebody now is it possible?

Yes, you can save images rendered from the viewport.
# Set save path
sce = bpy.context.scene.name
bpy.data.scenes[sce].render.filepath = "./image.png"

# Go into camera-view (optional)
for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        area.spaces[0].region_3d.view_perspective = 'CAMERA'
        break

# Render image through viewport
bpy.ops.render.opengl(write_still=True)

Here are all the different python rendering commands.
A tip for finding out python commands: go into Blender, then Edit > Preferences > Interface tab > check Python Tooltips box. Then you can hover your cursor over any button and the python code command will display as well.
By the way: I am not sure what you mean by 'real-time updated'?


Translate texture from outer bounds to center The motion I want is very close to water soaking in the sinkhole (just without spiral aspect).

I'd like to use Noise texture on a flat plane - it should move to the center and preserve pattern as much as possible, without morphing into "Saturn rings"

You could manipulate texture space coordinates. You would need to make one go from the center outwards and then animate a value added to it. Gradient texture could be used:


BGE How do I get a objects location/Rot/velocity into a property? I am working on a space game, no gravity, no friction, just a ship and lotsa things to avoid (rocks/aliens) all logic bricks.

How do I send my ship's current (updated constantly) location or rotation into individual properties?   i.e. X, Y, Z, XRot, YRot Zrot

I want to use these numbers to determine my ship's current velocity and location, combine the results with a collison sensor and then I can determine/set whether or not the ship hit a rock/planet hard enough to explode.
(slow = bounce  ---fast = Boom ---real fast = Rock and Ship go Boom)

This screams to me to be a python solution but that is outta my league to write, i have had some success dissecting and reworking existing python tho...

thanks for any pointers/help

jd

With python a python script u can pass the values to a object game engine property to work arround logic nodes (i suppose).

from bge import logic
def main(cont):# cont = currentController
    x,y,z = cont.owner.worldPosition # owner = your ship
    cont.owner["Xpos"] = x # Xpos = object game property
    cont.owner["Ypos"] = y # Ypos = object game property
    cont.owner["Xpos"] = z


How to get image in real-time? It doesn't matter if it works like a capture or if the quality is very low. There's no reason for shadows or light, too. I hope to get only materials' color and shape of model. Just i want real-time. How can i do?

In Blender there are 4 view modes, they are placed on the top right part of the viewport,  from left to right it's: wireframe, solid, material, and rendered view. I think the material view (the 3rd one from the left) is the one you're looking for.


Why is there a transparent rectangle behind my object? And how do I get rid of it?

This rectangle didn't exist before. I got a few renders of my work in progress in the beginning, and everything looked fine. Now I have a gray/transparent rectangle behind my objects, no matter how I try to change the background. I can only see it in camera view, and it renders in my final images as well. I currently have a big cube in which my objects are placed, and the rectangle seems to conform to the cube however I rotate it (to stay behind the camera). I've checked the normals of the cube (they're correct) and deleted it and created a new one, but the rectangle has stayed.

The cube is at a forty-five degree angle. The rectangle stays perpendicular to the camera view and fills in the corner. This is the rendered view, with Cycles. Any insight on how it got there and how to get rid of it?

I think you enabled the crop to render region on the output settings
What you can do is either disable it or ctrl + alt + b to remove any render region crop.
To add it again, you can use ctrl + b and select a portion you want to render


Custom bone weights lost when switching to object mode I've written an operator to check all vertices' bone weights and change them according to some rules, in Edit Mode. If I check the new bone weights while still in Edit Mode, they have the correct value. If I switch to Object Mode and then back to Edit Mode, however, all the new bone weights are lost and the vertices have the old ones. Why is this happening?

This is an example of what I'm doing to change the bone weights:

for vertex in context.edit_object.data.vertices:
    for gr in vertex.groups:
        gr.weight = 1

EDIT: Doing context.edit_object.data.update() after chanigng the bone weights doesn't fix the problem.

Thanks in advance!

One way is to set up a dictionary with key groupname and a list of vertex indices and add them in object mode using vertex_group.add(..)

import bpy
context = bpy.context
ob = context.object

dic = {}
for g in ob.vertex_groups:
    dic[g.name] = []

for vertex in ob.data.vertices:
    for gr in vertex.groups:
        dic[ob.vertex_groups[gr.group].name].append(vertex.index)

# has to be in object mode for vertex_group.add
bpy.ops.object.mode_set()
w = 1.0
for vgname, verts in dic.items():
    #print(vgname)
    ob.vertex_groups[vgname].add(verts, w, 'REPLACE')


Modeling tenement house only using photographs from random angles and mostly useless blueprints, what could go wrong... but I have to fix it I've got a job and I've got dozens of pictures of an old apartment house and blueprint that let me get mostly basic info like length of some walls so I can model a refurbished object that someone will put over the image and possibly a video clip that presents the actual object. So after I drew some lines with a blueprint, I set the camera at a particular angle, set the picture as a background, position and FOV around 41 degrees by hand, and then I modeled what blueprint couldn't give.

Before I finished the corner I wanted to set another angle and then I ran into big big troubles. I sat for 2h and the closest I got with a camera (which fov is different and is around 72 degrees) is this. Don't look at the roof as it was just temporary, I care about the elevations.

I supposed it to be exact, but it's not and now I question if I'm able to continue the work if I can't get a reference. Do you think it's as bad as I think it is? Should I worry about it? What would you do?

This is a nightmare to set up and many blender modellers would use a program called fSpy.

The program is free and allows you to set up your camera to photos perfectly. You'll need to also download the blender fspy addon.

In fSpy, once you've set up your lines in the program, save your fSpy file then go to your blender file and import the fSpy file. File > Import > fspy and browse to find your file.

That will set up your camera perfectly. I do recommend watching the tutorial for using fSpy however.

Document tutorial:
https://fspy.io/tutorial/

Video tutorial:
https://lesterbanks.com/2018/11/perfect-camera-match-fspy/

Download fSpy:
https://github.com/stuffmatic/fSpy-Blender/releases

blender addon link:
https://github.com/stuffmatic/fSpy-Blender


Toggle vertices/edge/faces with numpad emulation I want to toggle vertex/edge/faces but I can't seem to make keys 1, 2, 3 or Ctrl+ Tab to work on Numpad emulation mode while on a laptop keyboard. Is there any way to remap these?

Blender 2.8
OSX 10.13.6

Thanks

I did it this way: go to Preferences > Keymap > 3D view > Mesh > Mesh (Global) > Select Mode, if you unfold the 3 first ones you should see Type > Vertices, Type > Edges and Type > Faces, and for example, for each one, you could choose alt Z / alt X / alt C


Hair particle system converted into mesh doesn't render I'm in cycles render. In "add modifier", I clicked on "convert", to transform the hair particle system into a mesh. The new mesh shows in the solid viewport shading, but not in the other render (texture, material, rendered) viewports. I assigned a material, but it doesn't show. What am I missing?

It's because there are no faces to show, just edges and vertices. Select your converted hair and press Alt + C and select convert to: Mesh to curve.

Then in curve option go to Geometry tab, find bevel and add depth to the curve.

The disadvantage of this method is that the tip and the root are the same width.


How do I wrap this label on cup? The front view is almost straight but when I turn the cup the label gets distorted vertically. Is this because of the mesh being curved? Also I accidentally unwrapped the inside faces of the cup, how do you undo this? I'm new lol

first download this addon https://github.com/Radivarig/UvSquares to install it open blender and go to file, preferences, addons, install from file and seek and select the zip file that you downloaded and then click open-accept and then check the the lithe box that will appear when it loads and then save user preferences, then see how to use it with this pictures... and dont forget to scale it to fit it well in the whole uv map area.


Adding current scene to VSE (Blender 2.8) I dont know why this isn't working. I'm so new to Blender so forgive me.

I'm trying to reverse my animation:
https://youtu.be/jhXfWWeGVQg?t=333

I've got it all set up, I go into the Video Sequencer and I right click:

And this is what I get.  Why can't I add it? He does it in the video okay.

You can't add the current scene. Just Add a new Scene to the file and use the VSE from there now you can add the other Scene.


Missing AO output socket in Render Layers node Here's what I'm looking for:

Here's what I have:

Oh, nevermind. All I had to do was turn on AO in the Render Layers Tab->Passes->AO


Is there any way to disable the mirror modifier temporarily? I'm currently modelling a creature with a different spikes locations on his back. I use mirror modifier to model the rest of his body because the only different part that is not symmetric are the spikes on the back.

Is it possible to disable the mirror modifier temporarily, so that I can model my creature with different spikes locations without being mirrored, and then enable it again? It would save me lot of time modelling the rest of his body that will be mirrored.

Modifiers have a few switches to control them:

The Camera icon enables or disables rendering using the modifier.

The Eye icon toggles visibility on the 3D viewport.

The Dotted Square (or Box) toggles visibility in Edit mode.

The Triangle, when enabled,  will show the final modified geometry in Edit Mode and can be edited directly. (This last option can only be used when visibility in Edit mode has been enabled)

To learn about all of the other options for modifiers please read:

https://www.blender.org/manual/modeling/modifiers/introduction.html#interface

Note that the mirror modifier will affect all of the mesh when enabled. The elements that you don't need to mirror will need to be a separate mesh. There is no way to mark elements of the same mesh not to be affected by the modifier.

You might want to separate the asymmetrical features from the original mesh, then
Apply the modifier to make the symmetric mesh a permanent one, and re-join the two meshes back together.


Rig a body with mirror modifier I'm trying to create and rig a simple human-ish body, I successfully created the body and the skeleton and parented it and it works, except that the bones on one hand control both. How would one go about making the rigging work where half the body is mirrored?
Thanks

Put the Mirror modifier above the Armature and it should work fine:


Impossible to cut terrain surface with knife project tool I am struggling to cut a terrain mesh with several triangles with the knife Project tool.

I defined the auxiliary geometry and selected the two entities, but when I apply the Knife Project button, I cannos see any face selected.

Thank you all in advance.

Best Regards

Jacob

I tried your STL file, imported (and scaled it down to the grid size, about .0001) then recalculated normals (face normals pointing up to +Z).

Then added a simple plane (4 verts, face normal points up to +Z)

Placed the plane somewhat above the STL map

then selected the plane, and after also the map, entered edit mode and from ortho top view uset "knife project":

after hiding the plane:

imho, it should work, in this way...


No "Sun Position" Addon in my Blender 2.8 on MAC In my Blender 2.8 on my Mac is the "SunPosition" addon missing. When I go to Preferences-Addons I am not able to choose and tick it on. On my PC it works fine and Iam able to use it.

I researched the Internet now for some time but seems that I cannot find an answer to that.

Make sure you select Community Addons (FYI, I am on 2.83.8):


Radius of influence? I'm on blender Currently in edit mode and am trying to create low poly maps. I did all the steps but I can't create a radius of influence3 that circle around your cursor which allows your chunks or fragments of my plane to grow together does somebody know how to create one?

To activate/deactivate proportional edit in edit mode, use O.

Alternatively, use this toggle in the top bar of the 3D viewport


Cycles Render Pixleated when rendering (Example of a minecraft image) So when I do a cycle render for a picture/video why is it really pixelated/fuzzy when its rendered??

You have to increase the samples of the rendering.

For further information:

How to avoid noisy renders in Cycles?


Is it possible to slide an edge beyond the two vertices its attached to? Hey guys!

I got a simple, hollow circle mesh that I'd like to gradually fill by using edge slide. Meaning that I want to be able to slide the edge from the top to the bottom of the circle

The only problem is that I can only slide an edge in the space between the two vertices the edge is in between...or maye the vertices won't go past the other vertices, thus preventing the edge from sliding further. I'd like to slide beyond those vertices. Does anyone here know if it's possible to do that?

I'm very new to this, but I'm willing to learn and I would appreciate any helpful comments. :)

Not as far as I know. If this is for an animation, have a look at booleans: https://www.blender.org/manual/modifiers/generate/booleans.html

They are implemented as a modifier, so you could have a hidden (hide it from the outliner by disabling it's render) circle (or rather a cylinder) acting as a "stencil" and then a plane that gradually grows in width. This plane would have the modifier set as "intersect" on it. This would make the plane only show in places that are inside the cylinder, thus creating an effect of the plane filling the circle.


Creating a helix look for a marble track Hi The following file shows how I created my loop. If is built from a base object that I will use to build the rest of the track. I am wanting to pull the ends of the loop apart in the direction of the arrows so that I can create a simple helix loop.

I tried dragging the end faces using proportional editing but it lands up pulling both ends in the same direction.

I tried using a curve modifier too but could not get it right.

One possible way to go about accomplishing this would be to use an Array modifier on a single segment of your track. Make sure the origin of your track segment is at 0,0,0. Position the track segment in edit mode to the outside of your helix.

Create an array modifier on your track segment object using the Object Offset mode. Create an empty to use as the target object.

The basic deal is that every transform you apply to your empty gets applied between every iteration of the array. So, I rotate the empty 15° (360/24, the number of segments) about the Y axis. Then I moved the empty very slightly along the y-axis to create your helix effect.

The attached file contains the basic set-up. In my demo I used the merge options in the array to create a seamless loop. You can use the same principle if you want each segment to be disconnected. You will likely have to rotate your track segments very slightly about the z-axis in edit mode if you do in order for them to line up, or you will get this kind of stepping effect:


Looping Displacement Modifier Animation Background: Originally I was making a water animation using displacement null objects and needed a way to convert them to shape keys and fortunately Chipmasque provided a solution (exporting to .mdd and then importing). The problem now is that I need the animation to loop (and the water must appear to only be moving in 1 direction). Blender does not seem to be able to interpolate the vertex information well enough to maintain the illusion of movement (it will just change Z height back to the original position). I've tried changing the animation on the Null Object used to influence the vertexes, but haven't found anything that looks good (either there is an obvious "jump/snap" or the mesh has to stop, then adjust height, then start cycling again).

Actual Question:
-Does anyone know a good way to loop this type of vertex animation?

I would use an animation-image-texture for that, with each frame made seemless, in an other application like gimp. That texture with the displace-modifier and Texture-Coodinates to Object. As Object I would use an plane, that plane set to not rendered an animate it with key-frames. The Interpolation-Mode set in the Graph-editor to Linear.


Making a multi-colored candy material in Cycles? If someone knows a good shader setup for pez candy in cycles I would be happy if he/she would share it with me. Here is a reference image:

Ps: I dont want just multi-colored Candy i want to have that grain and the overall look that Pez Candy has.

This seems to be exactly the kind of place where you might want to use the Random output of the object info node:

This output gives a random value between 1 and 0 which is unique to each object. By using a color ramp node, you can use this random value to give each object a color from a defined set of colors:


CollectionProperty avoid duplicate names I have a CollectionProperty like this:

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

class MHFCMeshProps(PropertyGroup):
    render_groups = CollectionProperty(type=RenderGroups,
                                       name="Render Groups")

Now I don't want duplicate names in the PropertyGroup but I stumbled when I tried to shadow the internal name with a StringProperty. Is there any way the following code:

g = obj.testgroup.render_groups.add()
g.name = "Name"
g = obj.testgroup.render_groups.add()
g.name = "Name"

would result in two different keys "Name" and "Name.001" for example?

Here is my idea: Overwrite the attribute setting function of the class. The following code has been created mostly be the OP, based on that idea. I added some minor formatting for better readability:

import bpy
import re
from bpy.props import *

unique_names = ['name']

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

    def __setattr__(self, name, value):

        def collection_from_element(self):
            # this gets the collection that the element is in
            path = self.path_from_id()
            match = re.match('(.*)\[\d*\]', path)
            parent = self.id_data
            try:
                coll_path = match.group(1)
            except AttributeError:
                raise TypeError("Propery not element in a collection.")
            else:
                return parent.path_resolve(coll_path)

        def new_val(stem, nbr):
            # simply for formatting
            return '{st}.{nbr:03d}'.format(st=stem, nbr=nbr)

        # =====================================================

        if name not in unique_names:
            # don't want to handle
            self[name] = value
            return
        if value == getattr(self, name):
            # check for assignement of current value
            return

        coll = collection_from_element(self)
        if value not in coll:
            # if value is not in the collection, just assign
            self[name] = value
            return

        # see if value is already in a format like 'name.012'
        match = re.match('(.*)\.(\d{3,})', value)
        if match is None:
            stem, nbr = value, 1
        else:
            stem, nbr = match.groups()

        # check for each value if in collection
        new_value = new_val(stem, nbr)
        while new_value in coll:
            nbr += 1
            new_value = new_val(stem, nbr)
        self[name] = new_value

class MHFCMeshProps(bpy.types.PropertyGroup):
    render_groups = CollectionProperty(
            type=RenderGroups,
            name="Render Groups")

if __name__ == "__main__":
    bpy.utils.register_class(RenderGroups)
    bpy.utils.register_class(MHFCMeshProps)
    bpy.types.Object.testprop = PointerProperty(type=MHFCMeshProps)

Now you can do this in the blender python console:

obj=bpy.context.object
g=obj.testprop .render_groups.add()
g.name, g.whatever="testme", "keepme"
g.name, g['whatever']
('testme', 'keepme')

g=obj.testprop .render_groups.add()
g.name, g.whatever="testme", "keepme"
g.name, g['whatever']
('testme.001', 'keepme')

I think the code example above is now pretty much complete. Although there is still one caveat here. This keeps track of reassigning the current value and always assigns the lowest nbr possible.


Controlling subdivision surfaces quality Is there a way to control subdivision surfaces quality ?
Specifically:

If I need extra geometry, I add an edge loop, but this changes the curvature and I have to manually adjust all the new vertices and doing it manually is not good
(In 3ds max there is the command Flow Connect, but I don't know if it is good)

Given a boundary curve (for example lines in a blueprint) how do I put the interior vertices of the control polyhedron to get a "nice smooth" surface, where "nice smooth" maybe depends on the application (In 3ds max there is the Set Flow command, but I don't understand how it works yet)

If I want to force a surface to be convex or concave how do I have to proced

There are some methods to do so:

Using edge crease (ShiftE);
Adding suppport edge loops (CtrlR);
Marking sharp edges (CtrlE > Mark Sharp), then add a Solidify modifier BEFORE Subsurf modifier.

Each way has pros and cons, choose one or more to meet the needs.

The above is for shaping in modifier level. However, the resolution cannot be controlled in this level. You may consider to apply modifier first, then select all elements (or particular area) in Edit Mode, X > Limited Dissolve, set the dissolve angle in F6 panel.

Tip: To select faces that are co-planar or nearly co-planar, you can select one or more faces, ShiftG > Co-planar, tweak Threshold in kbd>F6 panel.


Mov file size very small compared to pngs I just made a video in mov-formate containing 300pngs in 4k.
Every single png ist roughly 6MB in filesize.
The mov-file is just 8MB.
Seems weird to me. Is there maybe a quality loss in the video? The video looks fine but the size just seems so small.

Video compression is designed for efficient throughput, favoring smaller files to minimize data rate.
video compression always implies a trade-off: it is easier to share and playback smaller files, but it comes at the cost of quality.
Compression is always done by throwing away information, every time you encode video there will be some quality lost in favor of bandwidth.
Most video compression is lossy, whereas png can use lossless compression.
Will you perceive the difference? Probably not, as each image is visible for a very short period of time during video playback .
When the compression is too aggressive, that is when you will start to notice artifacts, like banding or macroblocking, to name a few. The fix those errors is to increase the data rate to the point where you are satisfied with the results.
It is possible to have visually lossless compression, and even lossless compression, resulting in huge files, but it is likely as well that your computer or hard drive cannot sustain the data-rate necessary to play them back smoothly.
The name of the game is Efficiency vs Quality: don't make the files any larger, or any more compressed, than what you can live with.
With that in mind, it makes even more sense to render always as an image sequence first, and encode as video later. Such workflow will allow you to experiment with different settings, and find the optimal size/data-rate/codec/container for your specific needs.
In closing, I would add that PNG is not a good format, Not only is it slower to compress, but it is plagued with a lot of problems, the most serious being it's handling of the alpha channel. If you are serious about creating video content, consider using OpenEXR as your intermediate format. Think of EXR as way to store an identical copy of the render layers you create in blender, without having to re-render.
For additional info read:
What image format encodes the fastest, or at least faster? PNG is too slow


Is there an Equivalent to the tool "To Sphere" but to Cube? I have a vertex based circle, and I want it to be a square. How do I accomplish that?

There isn't a tool that works the same as 'To Sphere', but there is a Cast modifier which can do the same job, as shown below:


How to animate in Blender on 2s When doing animation in blender, how can you get the illusion that it was animated on 2s. I do my animation 24 FPS.

A perfect example would Spider-man into the spider verse. The entire movie is on 2s.

You can perform your animation using odd numbers only, then select all objects or armature you used and go to the menu: Object (or pose), animation, bake action. Set the frame step to 2, then select all the new action and set the interpolation to "constant".


Set default UV Image Editor display mode Is there a way to change the default display of the UV editor? What I mean is when I split the screen and go to UV/Image Editor the Render Result is the default display mode, and I have to click the X to get to the blank image:

After x-ing out:

I would like to set the default display mode to be a new, blank image. Possible?

Open new file, clear that Render Result in the UV / Image editor window and save User Prefences. Note that the latter will overwrite previously saved settings so you might want to backup them first.


Why doesn't Connect Vertices create an edge as opposed to Make Edge/Face? Supose we have this scenario:

Why the Connect vertices action has no effect but the Make Edge/Face action does?

The difference between them is that Connect Vertices tool cuts through already exhisting geometry (just like Knife Tool), whereas Make Edge/Face creates new one.

In the proposed scenario it's hard to see the difference, so to better demonstrate it I used side of the cube.

Connect Vertices

The tool will cut through exhisting geometry based on selected vertices which belong to the same face (so if I selected 3 vertices where one vertice per face, there wouldn't be any effect)

Connect Vertex Path

(I decided to put it also here because for some time I couldn't get the difference)

The result of using Connect Vertex Path command (J). The order of selecting vertices is important; whether vertices belong to the same face is not. The adjacent faces were splitted, becoming tris now.

Make Edge/Face

Make Edge/Face (F) will simply create new face there atop of exhisting one, not splitting anything.


How do you take baked textures and apply them to a Blender Render/ Game Engine Object After baking the materials & textures into a .png file and applying that .png file to a blender render, of the EXACT same shape that they were baked from, I have found a weird result. It doesn't apply over the object in the same way that it was baked off the object. It winds up like below.

After reading more about baking, and playing with it some, I found that my error was trying to bake the materials and textures from my cycles render to an image, and then putting that image on a blender render.

To take materials and textures from a cycles render to a blender render or game engine, first you must bake them and apply them over the object in the same file in cycles render. Then you can change to blender render or game engine and go to nodes. Create a new materials node and connect the normal and vector slots between the nodes.


Pressed 1 or ` now mesh is gone I think I hid a mesh (named "rims" in attachment) and then created a cylinder. After accidentally hitting 1 or ` (I'm not sure) the cylinder is gone even though appears as showing in the scene.
Alt + H doesn't work; cannot even bring the hidden mesh back.

Alt + H or toggling the eye icon does not make mesh 'rims' or 'cylinder' visible.
How can I view meshes again?

When you press the 1 key in object mode, it hides all the collections except the first one. Likewise, if you press 2 it will hide all the collections except for the second one, and so on.
To unhide a collection click the eye icon to the right of the name of the collection.


UVs in Blender issue? I have an issue with UVs, I want them to show up as subdivided, I have used on my model a subdivide modifier, but it does not affect the UVs, is there a way to get them affected without having to permanently apply the modifier to my mesh? Subdivide UVs is also checked in modifier, but does nothing to them.

Also when unwrapping my character, the ears appear to much distorted, any idea how to improve the distorted areas?

I am using Blender from about a month. Before that I was using Maya. And for such issue I usually used smooth tool to improve the form of the UVs to match more precisely the form of my mesh, is there such a UV tool in Blender?

When trying to unwrap my model with subdivision applied to it, the distortion issue is solved, so I first mark seam in low poly, then I apply the subdivision to the character as level 3 and then unwrap all good to go. :)


Create grayscale masks in Blender like Gimp I want to create an image only with highlights in Blender using the following method:

Image -> increase lightness = Image 2

Image 2 -> covert to black and white = BW-Mask

apply BW-Mask to image 2 like in Gimp to get Image 3 than contains only highlights and the rest of the image is transparent.

Thanks in advance...

All you have to do is to multiply the image by a variable using the Converter --> Math node (This will automatically convert to BW).

Then you use the Converter --> Set alpha node while using the same image as the mask.


How to make square sides curved like Cylinder? I need to know how to make curved sides of square ( cube mesh ) just like sphere
I have square empty from inside like that :

When I make bevel just the vertex become rounded but the sides edges still not curved like that :

I want to make side edges curved like a cylinder just like that :

Start with a plane.  Tab into Edit Mode, select the face and press X and select Only Faces.  This leaves you with 4 verts connected by edges.

Tab out of Edit Mode and go to the menu item Object > Convert To > Curve.
Then in Object Data Properties expand Geometry and give it a Bevel Depth.

This should work for any continuous loop of verts.

It is possible to do this with more complex meshes, but they will require some work to look good since the corners only connect up on the longest continuous path.  Every other edge will be its own curve with disconnected control points.  Example:


What nodes to use for enhancing an image texture imported as a plane I have created a mesh plane with two image texture nodes. I want to improve the quality/color of the "A Logo Text" image so I can make it stand out from the 2nd image texture.

I've to go through some node tutorials and tried to plug in various nodes, but I'm at a total loss.

What nodes can I use to enhance the "A Logo Text" image? and where would I plug it in?

The "A Logo Text" is a .png image with an alpha channel for the background as shown here.
My version of Blender is 2.82.7

Here is some of the progress I made following moonboots suggestions

Your text image needs to be a PNG with a 0% alpha background (transparent background). Then use this nodes setup: plug the 2 Image Texture nodes into 2 Diffuse nodes, mix them into a Mix Shader, use the text alpha as the factor of the Mix Shader:


Mute audio files for playback? I got few audio files in my sequence editor, and I would like to mute them all temporarily. How can I do that?

You were right. thx Polosson. :)

Step by step if you want to mute all audio files in your sequence editor:
1 Make your timeline visible
2 Click on Playback (You can find it on your timeline bar)
3 Choose "Audio muted" from the list and mark it.
If you want to back your audio audible, just unmark "Audio Muted"


Animate a plane that transforms to a mesh? How could I animate a plane that transforms to a sphere using Blender ?
I know you can transform a cube to a sphere using shape keys, but is this possible for a plane ?

I just found out this technique from a tutorial that uses another software.
But it applies on Blender:

create a plane and subdivise it so it has enough vertexes (eg. 10 times)
add an empty at the same place, and set the rotation to X:90°
add a SimpleDeform modifier on the plane

Switch mode to Bend
Set Axis, Origin to your empty
Set Deform Angle to 360° so it becomes a tube

duplicate your empty and sets its rotation to X:90° / Z:90°
add a second SimpleDeform modifier on the plane

Switch mode to Bend
Set Axis, Origin to your second empty
Set Deform Angle to 360° so it becomes a sphere !

Et voilà ! You can now animate both deform angle from the SimpleDeform Modifiers to animate it.


Edit Mode Transparent Objects I changed my Blender Units to Metric System, but when I'm building things, my meshes are transparent, i.e. I can see through faces like in wireframe even though my wireframe is turned off. All faces have a light white in non-wireframe mode, but I can still see through them.

How do I reverse this?

Another issue I get is this

Looks like clipping is not working properly.

1° Possible cause:

"Limit selection to visible" must be Enabled, if you don't want to see behind faces while in edit mode. You can find the icon in the 3D View bar.

2° Possible cause:

Those are artifacts caused by not appropriate settings of camera's clipping limits for your scene.

This is the "default scene", except from the clipping near limit.

Clipping plane determine the boundary of camera's frustum (which is the portion of space where computations are done). The bigger the boundary , the less precise calculations could be. As the calculation in this case are about visibility, here they comes the strange effects.

It may not seems that your frustum is so big, as in your scene clipping planes seem not to far away from the default settings...but you must consider that in that calculation also global scaling is involved...

The cube is 150mx150m, the near clipping plane is 1mm/0.01=10cm and the far clipping plane is 1000m/0.01=100'000m! The scale of the frustum is not optimal for your geometery. I suggest to lower the value of you far clipping plane.


How to make two separate curves move together I'm looking to make a cable with a semi transparent outer sheath, and need the able to move and curve the cable. In order to have the sheath move with it, I'm trying to move a parent curve, the child curve being inside of the parent, and have the child move as the parent would. Is there any way to do this or do I have to manually copy every movement of the curve with the handles onto both curves?

With the Hook modifier you can parent the vertices of 2 separate curves to the same empties or bones.
If you want to parent a curve vertex to a bone:

Disable the Lock Object Mode option:

Select the bone in Pose mode, shift select the curve, go in Edit mode, select the vertex, press CtrlH > Hook to Selected Object Bone:

It has automatically created a Hook modifier for the curve:

Move the bone, it will move the vertex, the advantage compared to a hook to empty is that you can always come back to the bone rest pose:

To hook to an empty you just need to select the curve vertex and CtrlH > Hook to New Object, it will automatically create a new empty:

Now you can hook the vertices of the other curve to the same bones or empties.


Strange geometry when creating a face from points I am outlining a letter but once I select the whole outline and press F to create a face this weird geometry appears.

I suppose you've given a Subdivision Surface modifier to your objects.

Subdivision Surface divides each edge with a new vertex, then join these new vertices in order to divide each face.

Here you have only one face, so all the new vertices will join at the center of this face. But giving your geometry this will happen out of the shape and this will give outer faces.

To avoid that you need to create some inner edges, like that:


Combining Cloth simulation cache? Is it possible to somehow combine different cached cloth simulations? My problem is, I make jump cuts between scenes and this causes the cloth to go crazy between transitions, so instead of baking the whole thing in one go, I reset the cloth position every cut, so I pre-baked different caches for each new scene.
The reason why I want a singular cache for the whole thing is because having several caches' means I can't render the whole scene at once, I have to switch renders when doing the next cache. If there is a way to render each cache at the same time, that solution would be welcome too!

... basically you have to rename cached .bphys files.

First enable to Disk Cache checkbox, it gives you an access to saved cache on your disk in .blend directory.
Than Bake caches
Than for safety purpose I would recommend to duplicate whole cache folder.
In blender create one more sim called like MIX or what ever and let bake cache for a whole animation. Doesn't matter what result is produced, just save the blend file.
Inside original cache folder delete all files starts MIX and all previously baked caches let rename with MIX prefix (so the first frame looks like MIX_0000001_00.bphys)

I expect your baked sims continues one after the other like from frames 0-50, 51-100, 101-150

First_0000001_00.bphys ... First_0000050_00.bphys
Second_0000051_01.bphys ... Second_0000100_01.bphys

If they doesn't you would have to rename frame numbers to be sequential as well.

Note:

I see you have baked already, but if you didn't save to disk before and cache is saved into .blend file - I don't know about a way to get them out from .blend and you will have to rebake it.
in some situations can be option to export sims individually as Alembic (.abc) and import .abc back as individual objects and animate their visibility in timeline.


How to display the current frame number as part of the open GL render? I'm amazed I can't find anything that displays the current frame which is helpful to study test timing and adjusting and knowing where it went wrong. Ideally I would like to show seconds and minutes and the frame number.

Enable the Metadata stamping in the render output properties. It also works for OpenGL renders.

Here is a 720p output example of what it looks like with a bigger font and the default options enabled:

Here's how to find the option in Cycles Render (first image) and in Blender Render/"Internal" (second image):


Cycles Normal Bake does'nt bake indents that are not tapered I can bake high poly normal maps with a lot of success, however if I try to bake a very simple indentation on a cube with no tapering I get a flat baked normal map, please see the below image to clarify what I mean.

I dont know I am doing wrong because if I scale down the indented face slightly it will bake the normal map correctly, as seen in the image below.

You're not doing anything wrong, what you want to do is just not possible to achieve with normal maps. If you look at it from the top, you can't see the sidewalls, therefore no normal information can be baked to the normalmap (the normal-information for the sides is infinitely small). normal maps can't represent height differences – only differences in the orientation of the faces.


I need blender render to use freestyle but I can't use my gpu because of blender render, is there a work around? I need to generate a ton of 2D images but it's taking a while. If possible I would like to use my gpus to render the images instead of my cpu. Is there a workaround for this?

Blender render uses the CPU only, it's not set up to use a GPU, thus using a GPU will not make it any faster.

Based off your question, I'm assuming your GPU is significantly more powerful than your CPU. I would suggest, as was mentioned above, that Cycles would be the way to go. The freestyle settings are still available in Cycles, the panel with the settings is just located a bit higher up in the properties panel, and will be disabled by default. To enable freestyle in cycles, go to the render tab, and about two-thirds of the way down enable freestyle. Then all of the settings will again be visible in the render layers tab, and they should all be the same as in Blender Render.

You can speed up Cycles significantly, as well as achieve a better non-realistic result by turning the bounces down to 0 in the light paths panel. What makes cycles realistic is how it calculates light bouncing off objects. Turning this off will make it both less realistic (more like Blender Render) as well as a whole lot faster.

Another thing is that when using freestyle, you usually don't want any kind of shading. Blender Render has the shadeless option, but cycles doesn't. A quick workaround is to use an emission shader, and in the object tab in the properties panel, down at the bottom, uncheck the Diffuse and Glossy boxes in the Cycles Settings Panel. This will make light emitted from the object not interact with any other objects in your scene.

When using emission shaders, you don't need many samples. In fact, a single sample works fine.

So to recap:

-Use Cycles

-Set bounces to 0 in the light paths panel in the render tab of the properties panel

-Use emission shaders as your materials

-Uncheck the Diffuse and Glossy boxes in the Cycles Settings panel of the Object tab of the Properties panel

-Set samples to 1

The results of this speak for themselves.

Here is a cylinder rendered with the default cycles settings, with an emission shader, the lamp deleted, and freestyle enabled:

This took just over 5 seconds to render with my CPU, and 3.2 seconds with my GPU. The optimized version looked like this:

The freestyle lines are more jagged, but there may be ways to smooth them out while using a single sample. Alternatively, you could add a few more samples, which would sacrifice a few fractions of a second for a smoother result. This image rendered in 0.08 seconds on my CPU, and 0.47 seconds on my GPU (it's normal for extremely simple scenes to take longer on a GPU).

You may have to play around a bit to find a happy medium of smoothness and speed (10 samples gave a smooth result in this case at .6 seconds on my CPU), but ultimately you should be able to get good quality images with cycles very fast.