Shadow catcher layer for After Effects not rendering I am rendering out a CGI sequence for use in After Effects using this process https://www.youtube.com/watch?v=t_B2H_jnaoU

I have done this several times before and it has worked wonderfully, but for some odd reason, for this scene, the shadow catcher layer doesn't render. All of my settings on the render layers are the same as the video's

What else could be interfering?

You should have both Scene Layers 1 and 3 selected so both layers affect each other. Your render layers can stay as is.

Also, you are using Layer 3 to mask out Layer 1, but because Layer 3 contains objects in front and behind the character on Layer 1 it's masking out the character completely.

You'll probably need to need put the elements behind the character (floor, etc.) on a different layer.

I'm getting something like this for the Shadows>Shadow pass.

Also, I noticed you're rendering out to PNG file without using the compositor. Doing it this way will just give you your main Combined pass. You'll need to render to a MultiLayer EXR (renders all passes into one file per frame), OR you'll have to set up File Output nodes in the compositor to render out separate PNG image sequences for the additional render passes you need.


Problem after closing with bend modifier I bent my shape, and erased double vertices.

I can move them and the shape is well closed, but when I use subdivision it remains with a rounded end.

I know I can make a cylinder, but this is a test for more complex work.

Any idea how to close it properly?

Since you've created that band by bending a rectangular prism then removing doubles, I believe there's an extra face that you didn't delete, right in the center where the two ends had met (running along the cross-section of the band). You need to delete that inner face since the subdivide modifier is using that face to average out the vertices.


Vertex slide for curves? Is there a vertex/edge slide like tool for curves?

In other words, I'd like to be able to edit the curve in the same way I can with a mesh, by sliding a vertex along a connecting edge:

Is this possible?

Straightforward way, no (currently). But possible to make it in another way.

If the cuve is as simple as a poly spline, I think you can try converting it to a mesh first, tweak it with Vertex Slide tool, then convert back to curve, but the original paramters on curve may lose then. Or:

Select the target curve point, CtrlH > Hook to New Object;
ShiftD to duplicate, then AltC2Convert the curve in to mesh object;
Tab in to the Edit Mode, select the target vertex, CtrlRMB to select the hook (a empty object) while still in Edit Mode, CtrlP > to make vertex parent. Then you can slide that vertex in the mesh to control the target curve point.

Another way is to use the handle orientation as transformation reference:

Be sure to switch Spline Type to Bezier, then set handle type to Vector;
Switch Transformation Orientation to Normal, then select the handle control point, create transformation orientation from it;
Now select the curve point, you can move it along Z axis of the new orientation.
When finished, you may want to delete the created orientation(s).


symmetric movement of 2 objects how can I move 2 objects always symmetrical? I want to move a right and left wheel of an object symmetrical outward/inward. Icould do it by putting the exact y values on each but I was wondering if there is a faster way to do it.


Why does my loop subdivide not extend around the whole shape? I am createing a model which has a cylinder shape extruded inwards, and wanted to create some sharper edges around it. I tried using the loop subdivide tool (Ctrl + R) but the "loop" part of it is only reaching half-way along the inner edge

The top portion of this is divided into thirds for this, and I'm not sure why this is happening.

These appear to be 4 sided shapes, so I don't think it's an ngon problem.

You probably have duplicated vertices. Here I ripped a few vertices (and moved them away which isn't the case in your model) to interrupt the flow of the loop cut:

This can be easily fixed by Remove Doubles.


How to align face to face I have face snapping on. Instead of snapping face to face the mesh rotating and moving here and there. Any addon or good way to align face to face. Which work perfect and easy way. Thanks

This should be rather easy.

Enable Face Snapping > Median (to snap with origin)
Check Align rotation to target
The object's Z+ axis now aligns to face normals


Vertex paint not working after sculpting with dyntopo on I started painted a low poly island model some weeks ago.  Today I modified the mesh with sculpt mode and when I activated Dyntopo, I got this warning:

Then I tried to vertex paint the new vertices but it is not working, the new vertices don't get painted. Here you can see my settings:

What I am doing wrong or missing to do? I will appreciate any help.

Blender is a complex application. I don't know exactly what I did, but at the point when I wrote my question, for some reason I had changed the Draw mode to Add instead of Mix. Once I put it back to Mix, it worked as expected and I was able to keep working in this project.


How to programmatically load a python script in Text Editor and launch it With python API, is it possible to load a (new) python script in the Text Editor and then launch it (to automate things !) ?

I try this but it doesn't work :

bpy.ops.text.open(filepath="my-script.py")
bpy.ops.text.run_script()

Script name added in the text list but not visible in the Editor.

Every Text Editor has its own active (visible) text datablock stored in .text.

To call the text.run_script() operator, use a context override and give it the right 'edit_text' member.

import bpy

text = bpy.data.texts.load(path_to_file)

for area in bpy.context.screen.areas:
    if area.type == 'TEXT_EDITOR':
        area.spaces[0].text = text # make loaded text file visible

        ctx = bpy.context.copy()
        ctx['edit_text'] = text # specify the text datablock to execute
        ctx['area'] = area # not actually needed...
        ctx['region'] = area.regions[-1] # ... just be nice

        bpy.ops.text.run_script(ctx)
        break


Offset object/bone animation Is possible to offset animation in Blender.

For example. I have an animation of a hand grabing a gun, but I need to change how hand grabs the gun. Is there a way, to change only first pose, so any later ones will update?
Something like offseting mode for transforms, to add an offset to actual transforms. Am I clear?

Thank You. Delta transform aren't present in bone animation, and editing graph is tedious. Sadly it's the only way.


Replicating double-sided normals on a cube face, extruding causes inner faces So I noticed this when I created a cube object, extruded one of the faces and it created an inner face in the inside. Which was weird because normally extruding would just moves the face-out and leaves the original vertices without face inside the cube.

So this is what got and see the inside face but also that original cube in the middle has two normals for one face.

I wondering how to replicate that (The double sided normals), literally, how did I do that? I know I must of hit something to do that since I retried it on another cube and the extrude behaves normally.

it's impossible to have two normals per face. (you can check out the documentation of how the mesh datablock is designed)

The only way you can get this situation is if you managed to duplicate the face. (Shift-D for example) So you do have two faces overlapping, facing in different directions. You can verify that by selecting one face and then moving it away, the other one will stay.

Of course I can't really tell what you did in that particular scene.


Insetting a non-closed mesh into a solid object I have a detailed mesh (600k faces) of a hole in the ground, produced from photogrammetry of a volcanic collapse pit in Hawaii.  The mesh surface ends just outside the rim of the pit, but doesn't have any holes inside the pit.

I have two goals:

1) I want to be able to render views where there is a stand-in for the "ground" around the pit, occluding the backfaces of the pit geometry, so that it's immediately obvious where the rim is.

2) I want to end up with a watertight mesh, so that I can 3D print it.

I think what I want to do is inset the pit mesh into one end of a cylinder, similar to doing a boolean subtract between the pit and cylinder; however, since the rim of the pit isn't perfectly flat, I'd like to end up with the final top face of the cylinder going above (and possibly below) its original height to meet up with the edge of the pit mesh (see mockup image).

Note that I'm not married to doing the mesh manipulation in Blender if there's a better option.  Also, although my mockup below shows a texture derived from the original photos, I don't intend for the final mesh to use a texture, so don't worry about preserving it.

EDIT

I've found a partial solution- the current version is good enough for the super-rough renderings I need, although it has enough inverted and otherwise problematic faces that it isn't printable (probably caused by the edge of the mesh being very messy, with a straight line going radially away from any given "edge" vertex possibly passing through another bit of the mesh).  Basically, I used the vertices along the edge of the mesh to build a cylinder around the rest of the mesh.

All of the following was done in Edit Mode:

0) A bit of cleanup by selecting the main mesh (select one vertex, hit L), inverting the selection (CtrlI), and deleting the few floating blobs.

1) Select the edge of the mesh (by selecting all non-manifold edges with CtrlAltShiftM). (Trying to select it as an edge loop failed due to the topology not being as clean as Blender likes.)

2) Follow these directions to turn that outer loop of points into a circle:

2a) Flatten the points into a plane: hit S (or click the "scale" button in the Transform panel), left-click to get the number-entry panel to pop up, and set the Z value to 0.

2b) Turn the loop into a circle using the "To Sphere" tool (spacebar and search);  use a Factor of 1 to make a perfect circle.

2c) Scale in X and Y to place the circle fully outside the rim of the pit (this can probably be combined with step 2a).

3) Extrude the outer loop to make a cylinder wall (Extrude: Edges Only; use the manual editing panel to set the X and Y offsets to 0 and the Z component to slightly below the bottom of the pit.)

4) Close the bottom of the cylinder with the "extrude and merge edges" solution from this question (E, Escape, ⎇ AltM, A).

This is going to be a bit of a tricky problem due to the edge of the crater being as rough and jagged as it is. I'm assuming that the edge of the crater is not going to line up perfectly with the tapered cylinder style you are going for.

I would go about it this way:

Create the base shape you are going for by taking a cylinder, extruding the top face a bit then scaling it down until it is an angle you like. It doesn't matter how high you extrude the face, what matters is that when you get the angle you are looking for the top face is smaller than the top edge loop of the crater. Make sure this base object is positioned where you want it to be in the final object.
Subdivide the base a lot, using CtrlR to add loops until the faces of the base are mostly square, then W and subdivide. You will want the geometry to be dense enough that the average edge on the angled portion is roughly the same as the average edge on the edge of the crater. Note that you only need to do this for the angled top faces, not the sides or bottom face of the cylinder, although it won't hurt if you do.
Look from the top at the two objects (they will need to be separate objects at least until this point) and use the circle select tool to select all of the vertices on the top of the base that the crater will cover. It doesn't have to be perfect, but you don't want there to be vertices inside the crater perimeter.
Join the two objects with CtrlJ. In edit mode, use proportional editing set to connected to adjust the height of the top edge of the base until it is fairly close to the edge of the crater. You will likely not be able to have the base be a smooth slope up to the edge of the crater due to the uneven edge. I would suggest trying to make the top of the base look a bit uneven and rocky as it gets closer to the edge, but the choice is ultimately yours.
In edit mode select the perimeter of the crater and the now uneven edge of the base using the non manifold edge method you did above.
Press CtrlE and choose 'Bridge edge loops'. The number of vertices on each edge should be close enough that it will do a decent job filling the gap. You may have to manually adjust a few places if there are any problematic spots.

Do note that I haven't tried this method on anything like your project, I'm going by what I think would work best. If you run into issues it could just be a limitation with this method, but I would imagine that it should work.


Unregistering panels in python I found out that I can remove panels via python with these command:
bpy.utils.unregister_class(bpy.types.SCENE_PT_physics)
bpy.utils.unregister_class(bpy.types.VIEW3D_MT_add)
...

Ican then customize my interface with an addon. My problem is that I get an error if the panel is already unregistrered. Is there a way to check before unreg? like so:
if bpy.types.SCENE_PT_physics not None:
   bpy.utils.unregister_class(bpy.types.SCENE_PT_physics)

EDIT (after reply):
Ok so I try do it as posted by Duarte Farrajota Ramos. But would like to automate it so I don't have to write in a console - like this:
import bpy

all_classes = (
bpy.types.VIEW3D_PT_snapping,
)

for single_class in all_classes:
    module = single_class.__module__

    from module.name import single_class

    if module.single_class.is_registered:
    #Do stuff

This doesn't work and I'm not sure how to handle pythons types. That is I'm confused when I have a string of the name of the module or when I have the object it self and what I'm supposed to use when importing several variable modules ect.

Import the class def
If a type is in bpy.types.FOO it implies it is registered.
Wouldn't recommend unregistering using
bpy.utils.unregister_class(bpy.types.FOO)

particularly if you wish to re-register it, as unregistering it removes it from bpy.types.
Rather, would recommend importing them. If you are not sure where the classes are defined,  turn on developer extras and view source or check the classes module property
>>> bpy.types.SCENE_PT_physics.__module__
'bl_ui.properties_scene'

Hence can import it, check if it is registered by looking at its is_registered property
>>> from bl_ui.properties_scene import SCENE_PT_physics
>>> SCENE_PT_physics.is_registered
True

>>> bpy.utils.unregister_class(SCENE_PT_physics)

and then re-register if need be to "uncustomize"
>>> SCENE_PT_physics.is_registered
False

>>> bpy.utils.register_class(SCENE_PT_physics)

Note, since most Blender UI code sticks to the convention of putting registerable classes in a list named classes can use this, or the modules register methods.
>>> from bl_ui.properties_scene import classes
>>> classes
(<class 'bl_ui.properties_scene.SCENE_UL_keying_set_paths'>, <class 'bl_ui.properties_scene.SCENE_PT_scene'>, <class 'bl_ui.properties_scene.SCENE_PT_unit'>, <class 'bl_ui.properties_scene.SCENE_PT_physics'>, <class 'bl_ui.properties_scene.SCENE_PT_keying_sets'>, <class 'bl_ui.properties_scene.SCENE_PT_keying_set_paths'>, <class 'bl_ui.properties_scene.SCENE_PT_keyframing_settings'>, <class 'bl_ui.properties_scene.SCENE_PT_audio'>, <class 'bl_ui.properties_scene.SCENE_PT_rigid_body_world'>, <class 'bl_ui.properties_scene.SCENE_PT_rigid_body_world_settings'>, <class 'bl_ui.properties_scene.SCENE_PT_rigid_body_cache'>, <class 'bl_ui.properties_scene.SCENE_PT_rigid_body_field_weights'>, <class 'bl_ui.properties_scene.SCENE_PT_custom_props'>)

Note.
The module bl_ui is blenders UI written in python. The classes listed above are all the UI elements listed in bl_ui.properties_scene ie the PROPERTIES area in SCENE tab.
The idea here is to not use the class from bpy.types rather import it from its appropriate UI submodule.
Hence in your addon code would
from bl_ui.properties_scene import SCENE_PT_physics

As an example, to take out all panels in the Scene Properties
import bpy
from bpy.types import Panel

import bl_ui
# all panels in PROPERTIES > SCENE
scene_prop_panels = [cls for cls in bl_ui.properties_scene.classes
        if issubclass(cls, Panel)]

def register():
    # unregister default scene props panels
    for cls in scene_prop_panels:
        if cls.is_registered:
            bpy.utils.unregister_class(cls)

def unregister():
    # unregister default scene props panels
    for cls in scene_prop_panels.reversed():
        if not cls.is_registered:
            bpy.utils.register_class(cls)

if __name__ == "__main__":
    register()


UVs resetting to same random pattern when I close the file When I edit my UVs (I'm attempting to map for textures), save, close the program and then re-open the file, all of my Uvs have reset back to the same strange pattern every time and does not keep whatever changes I make, essentially stopping me from mapping the model and I do not understand why.

I have tried resetting the Uv map, and I have tried deleting the Uv map and I have tried appending the model over into a new file and nothing works. It is like the model has somehow saved this specific Uv map?

I have two models (both characters edited from the same base model I made on separate occasions) this has happened to and I do not know why.

EXTRA INFO - It seems that exporting the object without Uv's fixes this problem on this model, but does not explain why this was happening. This therefore does not tell me how to fix this on my other model which is having the same problem. I would do the same thing but I have already rigged and textured the model and would very much like to fix the problem itself without deleting the existing UV map and therefore losing several hours of work. Or if the problem were to happen again further down the line (as it did on the other model)  I would not want to have to delete the entire UV map to start fresh each time the problem occurs.

Keyframed UVs

As most of all the properties, UV island coordinates can be individually keyframed.

By examining the Outliner and the Graph editor you can realize that each island has fixed location coordinates for the current animation.

If you modify the UV island position and save without overriding the keframes values, the island would come back to the stored position.

If those keframes are needed, you must Insert a new keframe upon the old one before saving.


Context Problem in Blender 2.80 python module I run Blender 2.80 as python module (for running on a server with Django), so there is no gui.
Apparently passing the correct context doesn't seem to work for me in this case.
I have tried many suggested implementations to override context (a lot were for Blender 2.7), but i still get context errors for most operators
For example the line: bpy.ops.object.mode_set(mode='EDIT')
with or without     ...(override, ...

produces the error

  bpy.ops.object.mode_set.poll() failed, context is incorrect

and I cannot search through the contexts until for example the correct area is found:

for area in bpy.context.window.screen.areas:
    if area.type == 'VIEW_3D':
        v3d = area.spaces[0]
        rv3d = v3d.region_3d
        for region in area.regions:
            if region.type == 'WINDOW':
                break

override = {
    'scene'            : bpy.context.scene,
    'region'           : region,
    'area'             : area,
    'space'            : v3d
}

as this will produce the error:

  'NoneType' object has no attribute 'screen'

When running the following Code:

print(bpy.context.window)
print(bpy.context.mode)
print(bpy.context.area)
print(bpy.context.region)
print(bpy.context.scene)

the output I get is:

None
OBJECT
None
None
<bpy_struct, Scene("Scene")>

So maybe there is no fully set context to begin with? Could it be an option to make a new context?

The problem occurs even when i have a .py (with only some other Django methods) where i use import bpy at the start of the file and do bpy.ops.object.mode_set(mode='EDIT') in an if statement that is activated by django at the program startup.

However this code example works normally and exports a .stl file with a rounded cube:

import bpy
bpy.ops.object.select_all(action='SELECT')
bpy.data.objects.remove(bpy.data.objects["Cube"], do_unlink=True)
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.mesh.primitive_cube_add()
myObj = bpy.context.object
myObj.select_set(True)
bpy.context.view_layer.objects.active = myObj
myObj.location = ( 0, 1, 1)
myObj.scale = ( 1/2, 1/2, 1/2)
mySubsurfMod = myObj.modifiers.new(myObj.name, 'SUBSURF')
mySubsurfMod.levels = 4
bpy.ops.export_mesh.stl(filepath="myExportSTL.stl")

Does someone know how to make override context work in blender 2.80?
Or maybe at least a good resource for deep level commands to avoid operators? Or is there maybe even a way to see the deep level commands which are accessed by the operators (similar to the info screen) in blender?

Thanks in advance!!!

Some things to check and look out for.

Expect context.window, context.screen etc to be None in headless
mode.
If an operator works in the python console in blender then chances
are it needs no special window, screen or region for context.  AFAIK
the edit mode toggle operator only needs an editable object active.
Check the bpy module works in your python shell

Recommend using myObj = context.object A new cube may not always have
the name "Cube" eg Cube in another language
The space member of context is context.space_data or from the area as area.spaces.active.

And the answer was, as supplied by the OP

  ...It seems, that the precise location where i do the import bpy is
  very important. My error was that I put import bpy at the top of my
  .py (prior to some Django getUserInput function). Therefore i strongly
  recommend to others working in Django or other python environments to
  always use import bpy DIRECTLY before your blender scripting. I have
  now also tried to run a more advanced script and it works!


Export to .STL Format In Correct Scale - Inches I've tried and tried to 3D print models that I have created, and I need them in .stl format.  When modeling in Blender, I change the units in Blender to Imperial - Inches.  However, whenever I try exporting it, it becomes super small.  I don't even know that checking "Scene Unit" helps.  I figured out that if I scaled it by 100, it would appear as corrects scale in Fusion 360, but then I try printing it and it's way bigger than it should be.
How can I know for sure that it's gonna print at the right size?  Is there a way I can double-check?

By default Blender uses 1 unit = 1 meter even if you change the units in Blender to Imperial - Inches. That change only affects the GUI display, not the internal representation. According to Wikipedia, STL is unitless so use a scale of 39.37 to convert from meters to inches when you export, or tell the program you import into the file is in meters.
Basically, in Blender's Scene tab, set the Unit System to whatever you're comfortable with, choose whatever length you like, but leave "Unit Scale" set to 1.0. This leaves Blender internally using Meters, this is a good thing, because the unit system is a little strange sometimes.
When exporting your STL, set the Transform Scale to 39.37 (to convert meters to inches) and don't bother with "Scene Units" check box, it multiplies by the value in "Unit Scale" which we purposefully left at 1.0.


Can I model a double convex lens I'm fairly new to blender and not a graphics person by any stretch of the imagination. I've been having some success though modelling semi-reflective glass for a project I wish to build (physically) and I'm wondering if it is possible to model the effects of a lens. The lens I wish to model is a double-convex type. It has a diameter of 120mm and a focal-length of 301mm. Is this something that can be modelled in blender and if so, how? I'd like to be able to position the camera close to this lens and reproduce the magnifying effects of the lens on the scene behind the lens as well as depth-of-field effects.

Thanks a lot.

You can create something like the following. You can also adjust the IOR to your liking; this is just a sample at 1.2.

Result with Shady Puck in the background:

Mesh sideview profile:

Modeling

Start by keying Shift + A and going to Mesh > Sphere. Key R, then X, then 90. Key Numpad 3 and Numpad 5 to enter Right Orthographic view. Key Tab and Z to enter Edit Mode and Wireframe View, respectively. Key B for Box Select and drag while holding down your LMB to select the following vertices.

Key S, then Y, then .3 to scale the selected vertices down to a more lens-like shape. Key G, then Y, then .48 to slide them over. You now have half a double convex lens. You should see something like the following.

Key A once or twice to deselect all vertices. Key B for Box Select and drag while holding down your LMB to select the following vertices.

Key X and choose Vertices. Tab out of Edit Mode and key Z to exit Wireframe View. Go to the Properties panel > Object modifiers tab and add a Mirror modifier. Make sure Z is checked under Axis: and nothing else. Your settings should look like the following.

Add a Subdivision surface modifier. Set the View: value to 3 and the Render: value to 4.

Key T to toggle open/close the Toolshelf. Go to Tools tab > Edit dropdown > Shading: and select Smooth.
You are now done with modeling.

Materials

This is where the magic happens. Go to the Properties panel > Materials tab and add a Glass BSDF shader. Note that you will have to be in Cycles Render for this to work. Play with the IOR: as you wont.

Materials tab:

You now have a fully completed double convex lens.

Further Reading

Many of the techniques from this piece are gathered from tutor4u's awesome Focused Text Animation tutorial.

.blend file

The following is the .blend file with the lens and Shady Puck text from the first image.


Strategy to reduce polygon count of Comet 67P shape model using python I've imported an obj file of Comet 67P here (newly released) and found it has over 4 million polygons. I'd like to reduce that number, but using somewhat "scientific" method/strategy using an algorithm I understand. For example - I would want to avoid alter heights or shadow positions, volume, etc.

This, this, and this link are also helpful.

So instead of "Just use decimate", could I have a strategy, or some ideas how to approach creating an algorithm which reduces the polygons - by a factor of say between 2 and 10, which maintains peaks, valleys, volume, etc. Maybe something like a "it's pretty flat around here" detector?

Note - monkey added for scale reference.

https://www.youtube.com/watch?v=ApzVWuPa4A4
Try creating a normal map out of the high poly comet. The above tutorial teaches how to do this, so far i only thinks this works in blender render unless someone else knows how to make it work in cycles (if that's what you want to use). Basically use the decimate to to remove polys from your mesh then add the normal map to create the illusion of all the valleys etc. Watch the video to understand what i mean/


How to select leaves on a sapling-addon tree when selecting their branch? I'd like to use Ctrl+Numpad + in edit mode to select branches and leaves on a tree generated using the sapling add-on. I have a workflow to connect all of the branches to the trunk. However, I'm not able to find a way to connect the leaves to the mesh so they can be selected along with the branches.

Is there a way to generate the model or modify the models so that leaves can be selected as vertices along a branch are selected using Ctrl+Numpad +?

Example:

Add a sapling tree to a model. Enable 'bevel' and enable 'show leaves'.

Convert the tree curve into a mesh in object mode.
Go into edit mode. The mesh for branches and the trunk are part of the same object and intersect, but are not connected.

In edit mode, select all vertices, the Ctrl+F and select 'intersect (knife)' and on the toolbar select 'Self Intersect' and deselect 'Separate'. This will create merge the meshes and they will be connected at the intersections. Since it is connected, it is now possible to select trunk and branches using Ctrl+Numpad +. (See [stack exchange question] discussing the process3)

If connected vertices are continued to be selected, the leaves are not selected. Is there a way to modify the leaves so as the branch is selected, the leaves are also selected?

Sample blender file:

The leaves can be connected to the sapling mesh through the following steps.

1) In object mode, select the tree and the leaves.

2) Press ctrl+J to join the meshes.

3) Enter edit mode and select all using A.

4) Press ctrl+F and select 'Intersect (knife)' and make sure the Separate option is unselected and the Source is 'Self intersect'.

5) Now the mesh is fully connected, including leaves. Selecting a vertex and using ctrl+numpad + will select all of the connected elements.


Render is duplicating random frames when loaded into 3D tracker I am trying to render an edited clip at 23.98 fps for use with motion tracking in a different project that shares the same frame rate. However, when I go to the tracker when the rendered clip is loaded, some of the frames show up twice in a row, thus throwing off the whole track. Any idea why this is happening?

Most likely the video is recorded using a LongGOP format and not an intraframe codec.
http://tiliam.com/Blog/2015/07/06/effective-use-long-gop-video-codecs/
What that means is that every frame does not contain the full information for the picture, but only records the changes from a reference (I) frame. Blender has a hard time dealing with that format.
Try exporting the video as an image sequence or a video format with intraframe encoding, so that every frame is available to blender for tracking.
Another common error is using video files recorded on some phones and screen recording software that encode using a variable frame rate. Blender cannot deal with such files correctly, they need to be converted to a stable frame rate (or an image sequence) in an external app, before importing into blender.


Rendering from more than one camera view at once Is it possible to render from more than one camera view in Blender in one time? Or do you have to do this for each camera view one by one?

There is a system in place that was initially designed for producing stereoscopic content, but was made flexible enough to basically produce an arbitrary number of views at the same time. It is called MultiView and is available in Blender 2.79 series as well as Blender 2.80. The following description targets how to set it up in Blender 2.80, as there were a few small UI changes here and there.
The .blend file I used while testing this is uploaded here:

Set the scene to use multiple views
Add as many Cameras as you need and set them up as usual.

To enable MultiView, which will render all of them in one shot, go to the Output Tab in the Properties Editor and check Stereoscopy. Then, switch the mode from Stereo to Multi-View. Deactivate the left and right camera, as they will display in red and green while rendering, following the Anaglyph standard, and their names can not be edited unfortunately. Next, add as many Camera slots as you need and name them. Note the Camera Suffix field. This is the most important one, as it will link the Camera by name to the Camera in the scene. Old-school, but that's how it is currently implemented.

Next, make sure that the scene Cameras are named according to the suffix:

At this point, you are ready to render
Hit F12 to render the scene. While the render is running, in the top right corner you have a dropdown box that allows to switch between views. This is not done automatically for you unfortunately.

Important: If you plan to composite later, it is best to use OpenEXR MultiLayer as the output format for the images, as it can store the views in one file in floating point precision, allowing for maximum flexibility in compositing. You can in this case set the Views Format to Multi-View like in the screenshot below.

You can of course use the other formats too, but then make sure that the Views Format is set to Individual. In that case, each View becomes a separate file:

Compositing
Compositing a MultiView Render Layer directly requires another node that allows you to switch between them. The View Switch node from the Converter section in the compositor allows you to do that.

External compositing software should be able to extract the corresponding channels from the MultiLayer EXR file you rendered. The design of the View Switch node is flawed in my opinion, as there is no way to switch the view with the node itself. Nor does the Render Layer node have such a dropdown box. You rather have to do this in the image editor again, like during render time. The compositing chain itself is applied to all views at the same time, which is also not ideal.
Much better choice is to use the MultiLayer OpenEXR file you produced earlier. When you load that, you can choose the view to composite from the dropdown box. It comes in like this:

But can be set to this:

Now you have access to each camera View independently and can hook up arbitrary compositing chains on each. Just duplicate the input node and set the View dropdown box to the one you need.


How can I cast shadow on background with nodes I shot a video in a chroma room (object in front of green background), after I have eliminated the green (masked away). Please, can someone explain how I will cast the shadow of the object on my new background? Thank you in advance.

Once you have your subject cut out, you can use its alpha channel to make a shadow layer with the compositor:

After the color keying is taken care of, use the Separate RGBA node to get the alpha channel.
Run it through a translate node so you can move the shadow.
The alpha channel will need to be inverted with an invert node.
Multiply the shadow with the background and use the multiply factor to control the opacity of the shadow.
Run the shadow-background and color key results through an alpha over node to put the color keyed result over the background-shadow.


scaling mess up original shape, not even As you can see, I scaled the top surface, and it messes up other parts. It is just a perfect sylinder before I change the scale.

This happen everytime I scale something. Please help, thank you!

You have Proportional Edit enabled (maybe by an accident).
Press O (or click the Proportional Edit icon) to disable it, so only the selected vertices are affected by your transforms.

More info about Proportional Edit:
https://docs.blender.org/manual/en/latest/editors/3dview/object/editing/transform/control/proportional_edit.html


Multiple file browsers (different files) using python I'm trying to find a way to bring up two file browsers (one after the other), but without success.
The reason for needing multiple file browsers is that I first need the user to export a text file, then export a mesh file. Those could have different names and be exported to different directories.
One solution I could think of is to have a separate operator that I call from the first operator, but the problem seems to be that 1. it doesn't return a value and 2. the code pause while I call the other operator.
I also tried to add multiple fileselect_add calls, but that seemed to crash blender. Any idea?
Sample code:
import bpy
from bpy_extras.io_utils import ExportHelper

class ExportCommon(bpy.types.Operator, ExportHelper):

    bl_idname = "export.common"
    bl_label = "Export common"
    bl_options = {'PRESET'}

    filename_ext = ".fbx"

    def invoke(self, context, event):

        context.window_manager.fileselect_add(self)

        return {'RUNNING_MODAL'}

    def execute(self, context):

        print(self.filename)
        return {"FINISHED"}

If I understand your question clearly, you want to proceed with the first modal result and run the second operator right?
Instead of calling two modal operator, you should call the second one in the first operator "execute" function. In that block, the modal part is done and can call another modal operator.
A simple snippet that run two file select window in a sequence:
import bpy
from bpy_extras.io_utils import ExportHelper

class ExportCommon(bpy.types.Operator, ExportHelper):

    bl_idname = "export.common"
    bl_label = "Export common"
    filename: bpy.props.StringProperty()
    filename_ext = ".fbx"

    def invoke(self, context, event):
        context.window_manager.fileselect_add(self)
        return {'RUNNING_MODAL'}

    def execute(self, context):
        print(self.filename)
        bpy.ops.wm.save_as_mainfile('INVOKE_DEFAULT', copy=True)
        return {"FINISHED"}

bpy.utils.register_class(ExportCommon)

bpy.ops.export.common('INVOKE_DEFAULT')


Corrective Shape Keys for the Shoulder I'm using the rigify rig with my model, and following this tutorial (https://www.youtube.com/watch?v=f3JWNIkwBZ8&list=PLaPYMM3efL6nAqPsMwC3jJAc-r7CUTOd4) helped me work out how to use corrective shape keys for the hips. I tried to apply the same process to the shoulders but nothing is happening.

For the shoulders, I made a driver and and selected the thigh.fk bones as the targets. I selected Y rotation, local space, and averaged values. I didn't add a generator modifier as, unlike the hips, changing the coefficients to 0 and -1 didn't make any difference.

Here's a screenshot of my settings:

DanPro (https://www.youtube.com/channel/UC4lLVkUGPtM5pnS3ZskvECg) answered my question with this post (https://blenderartists.org/forum/showthread.php?412404-Corrective-shape-key-driver-for-the-shoulder) and this tutorial (https://www.youtube.com/watch?v=wUs04SGUnVI).
Quote from DanPro in the BlenderArtists link:

The shoulder does not rotate on the Y axis for the standard Rigify Rig. It only rotates in X and Z and that is on the bones Local axes. I can't tell from the screenshot how you have the bone aligned so I cannot tell you which axis to use. (Turn on bone axes display.) You can find this out by using the hotkey R, then X,X, or R then Z,Z (if you are using Normal or Global Transformation Orientation). Change your variable to this other axis, once you determine which it is.
Also, change the bone to ORG-upper_arm.L instead of the FK bones. This way, whether you are using IK or FK controls to pose, the driver and corrective shape will still work. The ORG bones for legs and arms is the intermediate that switches between IK and FK, so this is the bone that should be used to drive corrective shapes. (In most cases. Exceptions always apply.)
One more tip, a human cannot raise their arm like in the screenshot unless they involve the shoulder. The shoulder needs to be raised whenever the arm reaches the T-pose position and above.

His rigging tutorials are the best I've found on YouTube.


Getting BMesh Face Index from UV Face Index I want to iterate over the square blocks of the UV map from left to right (and then top to bottom) and find the index in bmesh of the face(s) contained in each of the block (one block can contain multiple faces and vice versa).
Is it possible?

Edit:
Even better would be to be able to find the bmesh face indices corresponding to the UV islands.

Each Bmesh Face has it's loop of vertices. You get to the UV coords through them:

uv_layer = bm.loops.layers.uv.active
for face in bm.faces:
    for loop in face.loops:
        print(loop[uv_layer].uv)

There is no UV Face Index, this is all that is exposed from python API. You don't get access to what is displayed in UV editor.

You can make your own class of UV_Face and populate an array with it. Each UV_Face will carry the index of Bmesh face and UV coordinates of its vertices. Then you can calculate a median center for each UV_Face and sort the array based on that to have it in left-right top-down order if you need.

If you need UV islands, you will have to match UV coordinates of same values, see what UV_Faces touch at least in an edge, and construct the islands from there.


Why don´t certain shapes/faces extrude? So i am working on a project, where i created a shape based on an image, but when i extrude it certain areas just won´t extrude right. As you see in the screenshot there are no "walls" at some places.
 Why is that? I guess that i used a couple techniques in the process to create vertecies, that apparently don´t work well together.On the other hand i don´t see why this should be a thing. Is there a way to assimilate the condition of the whole mesh so it extrudes normaly?

Removing doubles may fix it in this case, but similar results may show with wonky normals, generally fixed by Ctrl+n in Edit mode


Blender's "stdio.h" not found anywhere Trying to run some OSL scripts for Blender 2.83 on mac. Never tried it before and having troubles with it.
Any script I try to run gives same error
ERROR: /Applications/Blender.app/Contents/Resources/2.83/scripts/addons/cycles/shader/stdcycles.h:31: error: error: could not find include file: stdosl.h
Error: OSL script compilation failed, see console for errors

Where "stdosl.h" is supposed to be? I can't find anywhere on my drive.
Downloaded fresh build of Blender - no such file as well in any directories.
What am I doing wrong?

Figured it out. Downloaded Win version, copied missing file, works fine. Weird.


Change in shape after adding mirror modifier I'm making a knife. I have added subsurf modifier to the mesh. After adding the mirror modifier, the shape of the knife changes. The order of the modifier stack is the mirror on top and subsurf below. Why does the shape change?. Any suggestion or help. Thanks

Before adding mirror modifier

After adding mirror modifier

The reason for the changed shaped is the Merge option.
The vertices of the blade are directly on the merge plane XY but they are connect to vertices on the handle, which don't get merged. This result in some different connections.
A solution could be to turn off the merge option on the mirror modifier.

BUT...
... your topology is horrible. Here are some steps to fix it.

Grab the faces of the blade and move them down, of the XY merge plane. ⇧ Shift RMB > GZ

Don't use triangles, remove the upper edge of the triangle at the transition. ⎈ Ctrl↹ Tab > E,  LMB > XECreate a new vertice by extruding.  LMB, E > [drag] >  RMB

Turn on the mirror modifier again (not subsurf though), select the edges along the ridge and extrude them upwards so the mirrored parts are joined.

Your topology should be a clear flow of quads. If you wish you can counteract the smoothing of the subsurf by marking certain edges as sharp. ⇧ Shift LMB select them and mark sharp ⇧ ShiftE.


Moving an animation from 1 rig to another in a separate Blender file I got two exact rigs in 2 separate blender files.
I need to move the animation from the rig in the one file to the same rig in the next file.

I have tried appending, linking, and just Ctrl+Copy Ctrl+Past; but every time the location and rotation comes in wrong.

I have been working on this project for over a year now... Please help!

Thanks.

Append the Action data block from the first file into the second file, then set the Action in the Action Editor.  There's no need to copy and paste.  If the rigs really are identical, connecting the appended Action should be all you need.

If location and rotation comes in wrong, I'd check the position of your Armature in Object Mode-- could be that you have values on it in one file or the other.


Gradient multi color each face? Basically I want to make gradient color like this in cycles, is that possible ?

Here the link for the lowpoly apple model I made:

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

Thanks you

You can use faces normals to obtain the colors of the faces (more or less randomly) and use UV input to give them a little gradient effect (or some lamps also).

For the color :

Use "texture coordinate" and "normal" as input
Add a vector mapping (this is usefull after to tune the faces orientation by rotating x, y or z and change the colors)
Separate the coordinates
Add a color ramp to each so that you can modulate each intensity
Combine them and use it as a color input for the shader

For the little gradient effect :

Use "UV" input of the texture coordinate input
Separate and use X or Y (U or V)
Add a color ramp to tune the value

Use both by mixing them and link to the shader.

This is not the exact same colors as your picture, but the same kind of effect. You'll probably have to tune : color ramps, orientations, eventually inverting X, Y, Z...


How to remove transparency of a layer? I'm new to Blender and I am making that famous doughnut. I seem to have accidentally made the icing layer transparent, meaning that it doesn't show up in Edit Mode and I cannot sculpt in Sculpt Mode. Instead, it ends up altering the doughnut underneath. How do I get my icing back?

If it only disappears in Edit Mode, you might have accidentally hit H to hide the selection while the complete mesh was selected.
Go to Edit Mode and press Alt+H to unhide everything.


Selecting objects in collection I am trying to bake the normals from a high poly mesh onto a low poly mesh. I am trying to select the high poly one, and then shift select the low poly one, but for some reason, whenever I do that, the node layout for the low poly one do not appear which I need so I can select an image texture. I will attach photos of what is happening.

If you want the view to stay on a material or object settings regardless of what you have selected in the 3D window, try the pin icon (like the one next to the "New" texture button in your second and third images).

For baking to work, you must:

Have your low poly object UV unwrapped and also a new blank texture for it.
Select high poly first, and low poly second. You can Shift select in 3D window OR Ctrl select in Outliner view.
Make sure your texture node in low poly material is selected and that it has the new UV image in it.


Why is my render darker after joining geometry? I am working on cleaning up an asset I purchased of a closet (above). I am currently trying to join the closet doors together (frames + glass pane), but when I do so the render gets darker for some reason.
Before Joining:

After Joining:

The difference is subtle, so I would suggest opening both the before and after images in separate tabs and flipping through them quickly. I checked my normals and they are fine.
Any help at all would be extremely appreciated as I am completely stumped.
Here is the blend file:

So I figured out what was happening. Shadow ray visibility was disabled for the glass. When I merged the glass with the frame, shadow ray visibility got enabled again.


Render different than render preview I've got a problem with rendering this scene. What I get, looks totally different compared to render view, with these options turned on, also changes in light paths, setting bounces etc. doesn't seem to affect anything.
What did I do wrong? Is there something in the Render settings, Preferences, or my computer (worst option, hopefully not)?
File:

EDIT:

You have a fourth diamond, called "Diamond1" in your scene.  You have it enabled for render but not for viewport shading:

When I disable it from the render, the two match as closely as can be expected:

Viewport

Render

The remaining difference is because there are more samples in the render than the viewport.


Duplicating a rig doesn't work When I create the left side of the body with ik bones and then I duplicate them for the right part to be symmetrical and then I try to armature deforme with automatic weights only the left side is attached to the body and the left side also controls the right side. Why is that?

There can be different situations, but the concept is that the stack order of operations is important:

When you duplicate (or mirror, or copy and paste inverted, etc ....) something, the copies will retain all the issues of the source: this is the reason why your right side of the character is piloted by the left bones (probably you copied or applied the mirror AFTER assigning wheights).

One of the  correct sequences could be:

Finish half a mesh, set a mirror modifier and apply it (so you have a complete mesh).

Finish half a rig (Left side); rename all bones with a name which ends with .L (or .l); select all .L bones and copy and mirror them; while all new copied bones are selected, choose "Armature - Flip names";

So, when you have  a complete mesh and a complete rig, you can go with automatic weighting and everything will work as expected.

Remember that - before parenting - you could need to ALT P clear parent and delete all vertex groups of the mesh, to "clear" any previous unwanted setting.


Is there a way to rig another character to have the same weight paint? As you can see, I have 2 near identical low poly characters which I want to reuse animations for. Is it possible to somehow copy the weight paint from one to another? Although in the screenshot it looks as if they already have similar weight paintings for them but they aren't exact. I've tried Transfer Mesh Data but with no luck (but I'm not sure if I was doing it wrong? I first selected my male mesh followed by ctrl clicking my female mesh and then selecting transfer mesh data and then select vertex groups but the weights looked different in the end) Thanks for any help.

https://www.reddit.com/r/blenderhelp/comments/3uot2q/copy_bone_weights_to_another_object/
That looks like your issue. I googled "copy weight paint blender" .
specifically
Go to 'Weights'>'Transfer Weights' from the menu to the left of [Weight Paint]


How to execute a method from the console I'm just getting started with bpy and I wish to know how can I execute the addon below from the console.

# hello_world.py
bl_info = {
    "name": "Hello World",
    "category": "Object",
}
import bpy
class HelloWorld(bpy.types.Operator):
    """Print in the System Console"""
    bl_idname = "object.hello_world"
    bl_label = "Hello World"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        print("Hello, world!")
        return {'FINISHED'}

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

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

I tried:

import hello_world
hello_world = hello_world.HelloWorld
hello_world
>>> <class 'hello_world.HelloWorld'>
hello_world.execute
>>> <function HelloWorld.execute at 0x0000009F05C576A8>

But it did not really execute. Whatever if it is a print function or an object translation it did not execute. What am I doing wrong?

I can execute the script from the space bar, typing the label Hello World but I wish to call a variable from an addon and use it in a different addon. Thanks!

But it did not really execute.

Based on my understanding of Blender, an operator cannot be directly executed.
It should be called from Blender internal.

Try

bpy.ops.object.hello_world()

Where hello_world is the name you registered to Blender system using bl_idname.

More details if you are interested:

When a request of operator invoking is arrived, Blender internal(the source code looks like a factory) will create an Operator instance dynamically, and call your execute function there. You should not call it yourself IMO.

  but I wish to call a variable from an addon and use it in a different addon

In your case I think you may want to have some utility functions shared with other addons.
I suggest to write these utility functions as normal Python function and pass the context to it from your addons.


Grease Pencil Backwards compatibility or import function? Wanting to find a way to import old GP layer from 2.79 into 2.8 beta. At the moment if i open the .blend file the GP data is shown however there doesn't seem to be any way to select or edit the data. Wondering if anyone has found a work arou

AH, i figured out a workaround in the meantime for anyone looking for the same thing. Basically the issue is that the old GP data is being brough in as an annotation rather than a GP object. I found an answer to this issue here
Convert annotations to Grease Pencil object (old GP to new GP)


How to colour vertices of a beveled curve mesh without converting to mesh? For scientific visualisation, I'm using a lot of splines which are bevelled with an object (i.e. a hexagon). I control the level of details depending on the context.
Without losing the benefits of curves, I want to assign colours to the curve points so that the generated mesh will show these colours (with interpolation).
Here's an image of what I would like to achieve. The image below is an example of the object I want to map colours to. Some splines have hundreds of points. Each point has a colour so the mesh has to show the "exact" colour at the proper location.
I browsed stack exchange for an answer and I also did try to answer my own question before posting it here, see below.
1. the naive way
I tried looping over the curve points but there's no colour property. Meh.
2. curve mesh data
So, this is about looping over generated mesh vertices and then calculating how close they are to a point in order to assign the proper vertex colour.
When I have a meshed curve in my viewport, I do a loop
for mesh in bpy.data.meshes:
    print(mesh)

And I get 0 as a result. But my mesh is there, I can see it in Blender.
3. weights to colours with Cycles
So far what I did was assigning the colour value to the weight property of curve points, like this simplified code:
    polyline.points.add(len(points) - 1)
    for i in range(len(points)):
        vertex = points[i]
        # x, y, z and weight
        polyline.points[i].co = (x, y, z, w)
        # radius of the point (only meaningful if a tube-like volume is drawn around it)
        polyline.points[i].radius = r

I thought there would be a way to then transfer the weight to vertex colouring of the curve mesh but I found none since I can't access the mesh data.
So I randomly tried to find a way to use weights with Cycles, maybe there is something that I can plug to the colour input of a standard material ? Didn't find any.
4. using BMesh ?
Bmesh doesn't support curves so it's a dead end here as well.
5. uvw mapping
As Chebhou wrote, I could use UVW mapping but I would like to see this in python. However, I'm asking for a way to match colours at every curve point. It seems that uvw mapping is non linear so how do I know to what coordinate in space (on the mesh) a color will be ?
UPDATE : there is a limit to how many gradient elements you can have in a color ramp, 32 colours max. I have splines with way more points than that. I need to find an alternative way of using UVW mapping.

Check use UV for mapping in the curve tab (this act as unwrapping the curve mesh ):

use the U input from the texture coordinates node to control the color using ColorRamp node along the curve :

render result

UPDATE
It seems that the UV space is divided equally between the bezier points , and using this info we can use the ColorRamp to assign a color to each point using knowing its order in the spline :

the number of elements in the color ramp should be the same as the number of bezier points
distribute the color ramp elements evenly
the color of each bezier point is the color of its corresponding element in the color ramp

this is a curve with 3 splines each spline has each own material :

using the previous idea gives the following result( color-ramp interpolation is set to constant to show thee relation between elements and bezier points ) :

Scripting : the following code has been used to create the last image materials

assuming you have

a dictionary of points' colors
material slot for each spline
-each material has a ramp node ( the material should be as the previously used one ^)

import bpy

curve = bpy.context.object

colors = {  0 : [(0,0,1,1), (0,1,1,1), (1,0,0,1), (1,0,1,1), (1,1,0,1), (1,0,1,1), (1,1,0,1)],
            1 : [(0,1,0.3,1), (0,0,1,1), (1,0,0,1), (1,0,1,1), (1,1,0,1), (1,0,1,1), (1,1,0,1)],
            2 : [(1,0.4,1,1), (0.8,0,1,1), (0.5,0.5,0,1), (0.6,0,0.2,1), (1,1,0,1), (1,0,1,1), (1,1,0,1)]
         }

if curve.type == 'CURVE' :
    i = 0
    if len(curve.data.splines) <= len(colors) :
        for spline in curve.data.splines :
            spline.material_index = i
            color_ramp = curve.material_slots[spline.material_index].material.node_tree.nodes['ColorRamp'].color_ramp
            l = len(spline.bezier_points) -1

            for e in range(1,l) :   # if i>0  create new color elements
                color_ramp.elements.new(e/l)
                print(e/l)
                color_ramp.elements[e].color = colors[i][e]

            color_ramp.elements[0].color = colors[i][0]
            color_ramp.elements[-1].color = colors[i][0]

            i+=1


How to create spiral in blender? I have attach 2 images of what I'm trying to achieve...

I would like to know how to do this stuff by nodes or by random faces selection... I tried inset faces and rotate some vertice but that doesn't seem to work...

Here is a node tree to create a spiral from a Wave texture. It takes generated texture coordinates, splits them, and converts them to polar coordinates with the atan2 node and the Pythagorean theorem. It then adds the coordinates together so that the texture rotates as you get away from the center.

The Greater Than node acts as a threshold, to have a clear separation between black and white.

To change the direction and rotation speed, you can tweak the light grey Multiply node in the center. Value is the rotation speed; sign is the direction.


What numerical CRF values do the assorted output qualities correspond to in the ffmpeg video encoding options Blender 2.79 added the ability to encode video using ffmpeg's CRF (constant rate factor) technique.

I assume this is controlled by the Output quality setting in the Encoding subpanel.  Unfortunately, all my previous workflow has been using numbers for CRF (like 20 or 25 or 30) with ffmpeg in a makefile.  It is not obvious which of the qualities in blender's UI maps to these values.

For each of the Output qualities, what is the corresponding CRF value?  (Although I bet the lossless and CBR options don't correspond to CRF operation)

A suggestion from a person on IRC led me to examine the encoded streams which conveniently contain a SEI NAL with the encoding options.  Based on encoding streams with varying output qualities it seems

CRF
32   lowest
29   very low
26   low
23   medium
20   high
17   perceptually lossless

and the lossless option is a different mode with qp=0 which activates the lossless mode of H.264 (which probably uses a PCM mode according to what little I have read).  I did not bother to study the CBR mode.


Unity3D controls in Blender I am used to the control setup in Unity (moving around the world/scene) and I would like to use the same controls in Blender. How can I import these settings without changing them all manually. I tried, but failed and had to reset the controls.

You can go to User preferences > Input and set Presets(drop down menu to the top left and another one to right) to Maya.

It's been a long time since I've used Unity, but I think Unity and Maya are very similar in this aspect.

If Maya is not similar, try the 3DsMax preset.


Particle system - steers along path I have few arrows to follow a particular path such a way that the arrows will always orient along (steer along) the path. Using 'curve guide', I was able to make the arrows flow along the path, but the arrows do not change direction according to the path.

As you can see arrows are always facing the same direction. What I want is the arrows should change the direction according to the path.

I tried my level best. But no result :( Please help me. you can find my Blender file also.
Blender file

Thanks and Regards Sabin

First make the arrow point in X direction by editing the mesh:

Then enable Rotation tab for particle system and check Dynamic:

Your particles will now rotate along the Curve guide accordingly:


ArchViz Glass for quick renders in Cycles? I have seen a number of different opinions on what light paths should be sent to the mix shader for doing archviz glass for quick renders. I've always used either just the shadow ray, or the shadow ray and the reflection. Some suggest using a combination of shadow, diffuse and glossy and I've even seen some including more beyond that.

What is the correct way and more equally important, why?

I'm putting together a general tutorial on Glass and I really want to ensure I'm giving out the optimal method here to the viewers.

Note: This has nothing to do with physically based glass.

Andrew Price reccomends this 'Glass Hack shader' specifically for archviz renders, where caustics aren't that important. Relevant part of video here

Working principle
It doesn't affect Shadow, Diffuse and Glossy rays in any way, but your camera still sees a reflection when looking at it.

Pros: Very fast, low noise
Cons: No refraction


How can I find the location of a node using the GUI? Very simple question: how can I find the location of a node in a node tree using the GUI? If it's impossible, how can I do it using Python?

If it makes any difference, I'm using Cycles.

In GUI you will find this info in Outliner in Datablocks view under:

BlendfileData > Materials > name_of_material > NodeTree > ShaderNodetree > Nodes > name_of_node > Location

You can also keyframe such value or even drive it.


Why can't I change the weights of subdivided bones? I have character with ready armature. I want to make forearm twist & for this need to subdivide bone. When I do this, I can't change weights for these bones.
Maybe there is some way for weights to be automatically distributed when bones are subdivided? Or at least how to fix weights in this case?
I tried Assign automatic from bones, Normalize, Normalize all, I even removed all weights from this bone, but result still remained the same:

It looks like some of the vertices of the biceps are influenced by several bones, if you select one vertex of this zone and open the N panel (on the right of your 3D View) > Item tab > Vertex Weights, you'll see a series of vertex groups that the vertex should not be part of.
Also, if you select your armature and go in the Properties panel > Object Data > Skeleton > Layers, you have a lot of hidden bones that have their Deform option activated and that will influence this part of the body.
For example it looks like the wrist is the parent of some upper arm bones, therefore when you rotate the wrist it deforms the upper arm mesh. It makes no sense, you should probably correct these bones relationships. This correction should fix the problem.

But if you want to entirely redo the weight painting you can select the part of the mesh you want to rework, go in the Properties panel > Object Data > Vertex Groups and on the left of the Vertex Groups list, click on the down arrow icon and choose Remove From All, which will de-assign these vertices from all groups.
Now you can work in Weight Paint mode and give to this part the influence that each bone is supposed to have.
Instead of subdividing your forearm, you could choose to display your bones as B-bones instead of Stick (Properties panel > Object Data > Display As). Then choose the bone you want to segment and in the Properties panel > Bone > Bendy Bones, choose the amount of Segments you want for this bone. Then give it a constraint Copy Rotation that you put above the IK Constraint, and choose the hand as Target, Space > Pose Space / Pose Space. The bone flexibility is set in the Properties panel > Bone > Bendy Bones > Easing.


My object is coming out as gray despite its assigned color being white. Other objects don't have this issue. What am I missing? I'll preface this with a few things. This project is being run in Cycles Render. I am a beginner when it comes to using Blender, so please forgive me for obvious errors.

I cannot make my rendered object (a triangle) fully white no matter what I do. Instead, it is gray. I'm not sure what I have enabled that is preventing it from appearing as white instead of gray. Other objects remain white, so I know it isn't so much a scene or lighting issue. I can shift the color as well, but it keeps its gray hue it seems.

Pictures:

Note: Both Viewport Color and Viewport Specular hex values are FFFFFF (whitest, brightest white).

This picture shows the triangle selected. Note that the color on the left indicates it is fully white (in the node as well).

The second image here has one of the white bars selected. It has identical an color swatch as the triangle. Why are these bars white yet not the triangle?

Each of those bars is its own object, though I understand how it may be misleading.

Does anyone know what I am missing?

Update: Looking at your blend, the maximum draw type of your triangle is set to solid, for it to be drawn correctly you need to set it to textured. It can be found under the object tab (orange cube icon).

You need to change the actual material colours to affect the render. These can be found under the surface heading on the materials tab rather than the settings heading, or in the node editor.

The viewport colours you are changing are just that, colours used in the viewport to differentiate between objects, and have no affect on the render.


Switching from Cycles to Eevee : material turns black I searched for a while for a solution but in vain :( I've got a collada object import in Blender with a unique texture. When I make a render with Cycles everything's fine ! But when I want to make a render with Eevee, the texture becomes black... I verified the UV map, I tried to reaffect the material nodes, but the issue is still here.
Thanks for your help !

You can find the file here : https://drive.google.com/file/d/1qeSegPYoMHfd_D6ln8uKHqqAgWhrtOLB/view?usp=sharing

The entire model, as imported, consists of 2 layers of faces. (Presumably the importer's interpretation of double-sided faces.) The 'outer' layer is backfacing. It can be hidden by switching on 'Backface Culling' in EEVEE.

It would be safe, (having made a copy) to select any face on the model, then CtrlL select linked, and X delete the lot, leaving behind the correctly oriented faces. If you somehow managed to select the wrong shell, ShiftN > Flip, turn the remainder inside-out.

Steps to finding the problem in this case:

Switch on 'Face orientation' and 'Face Normal' overlays
Note the normals show outward-facing, but the orientation doesn't.. Eh?
H hide a face .. there's another one underneath


How to render an animation through command prompt in Cycles? I have been trying to render a 180 frames animation from command prompt with blender -b file.blend -a but instead of giving me an MP4 file it rendered me each frame in JPEG.
Do you know how can I make the final result a video file ? Thanks in advance!

one way to achieve this is to change your output settings in your project -> file format -> video.
Then use your command in command prompt.


Change radius for proportional editing When proportional editing is enabled in edit mode, then if you select and drag a point, nearby points will also move with it. The effect has a certain radius. How can you set this radius?
According to the documentation I found, you can set it using the scroll wheel or PgUp/PgDn. I tried those, but PgUp/PgDn seem to do nothing, and the scroll wheel instead zooms. What's the correct way to do it?

You must press PgUpPgDown or use the scroll wheel during a transform action such as Translate (G), Rotate (R), or Scale (S).
During a transform operation, you can see the proportional size visualized as as a circle around the Pivot point and you can see the actual proportional size value displayed in the Header:

In the Redo panel located at the bottom of the Tool Shelf (N in the 3D view) or found by pressing F6, there is a slider to adjust the Proportional size. Note that this only applies immediately after a transform operation.


Modelling a full Windsor knot on a necktie I'm trying to model the steps involved in tying a full Windsor knot. The very first step is getting the fatter/thicker end through a loop. In my model, towards achieving this first step, I reached this stage:

To make this, I've used a Bezier Curve and added a Nurb Circle with very low thickness to its Bevel. I got the thin and thicker ends by changing the radius of different control points. I plan to convert this to mesh once the steps are complete.
My goal is to reach a more refined version:

However, I've only manages this:

As you can see, the loop made as a result of the thicker end wrapping around the thinner end is quite large. I would like to make this loop as small as possible with two surfaces just touching each other.
My main difficulty is doing just that. My main strategy is to subdivide and use as many control points as possible. However, when I get the surfaces closer to touch each other, the model goes haywire, the surfaces crumple up and I'm not able to correct this even with the tilts and adding/removing subdivides. So basically, my question can also be reduced to if the Bezier curve can wrap around a part of itself.
I've just started with Blender 2.8 about a month ago and am quite the newbie.

As Duarte said, the Curve Modifier is probably best suited for this.
You can easily edit both the knot and the shape of your tie.

Start with a flat tie. Heavily subdivide it along it's length
Create the Windsor knot using a Bezier curve
Add a Curve modifier to your tie and target the knot


How can I morph a flat plane to be a flat cirlce? So I'm making a 2d animation in blender, using the z space as layers, and the camera is in orthographic view.
I'm trying to morph a square plane to be a flat circle, but I have no idea how to even approach it.

The easiest way, in my opinion, is to use the 'Cast' modifier. Using a subdivided plane you can cast/warp an object from one shape, to another, preset shape:

Animating the 'Factor' allows you to switch between the original shape and the 'cast' shape.


Animating active object issue in motion tracking project Why won't my 'meteorite' continue forward follow-thru even though set as an active object in the Physics tab?
• Project for school - to VFX a meteorite striking building
• Must finish by this coming Sunday night! (3/21) if at all possible
• Using Blender v2.83 on desktop PC with Windows 10 - Blender version is what school uses
• Any / all help welcomed :D
Thank you!!

“Animated” is checked. The sphere will follow its animated coordinates when this is checked. If it becomes checked after the sphere has physic-ed around, it will snap back to those coordinates.


Why didn't installing Blender 2.82 delete 2.80? Installing version 2.82 did not automatically delete version 2.8. Is it standard for a new version of Blender to not delete the previous version in the installation process?

It varies with the OS and the method of installation (archive, repository, installer...).

It's totally fine to have two (or many more) different versions installed, that shouldn't cause any issue. Of course, feel free to manually uninstall the version you don't need anymore.


Join an edge in a mesh I need to join this edge (pic below) to the rest of the mesh, how I do that?

That edge is joined to the mesh, but there are three ways that it might look the way it does.

1) It's not part of a FACE. To make it part of a face, select the (at least 3) vertices that you want it to be part of, and press F. That will make a polygon out of those vertices. If you've chosen correctly, that edge will be part of the polygon as well

2) It's a 2-sided polygon. This is a really strange case, but the solution is usually just to delete it. You can switch to Edge Select mode, select that edge and delete it. You might have to do that multiple times to delete all of the edges that are on top of each other.

3) It IS part of a face, but you're looking at the backside of the face. Polygons only have one face. This is defined by the direction that the normal is facing for that polygon. The normal is a vector that points out from the surface of the face, perfectly perpendicular to it. If you're looking at the polygon from the same side as the normal, then you can see it. If you're looking from the other side, the polygon will disappear, and seem transparent. To solve this problem, confirm that it's a face and which direction it's pointing. In the viewport, TAB into edit mode. Then press N to open the view properties pane if it's not already open. Somewhere in that pane, you'll see a trio of buttons. One of them will be a box with a face highlighted. Click that box to turn on "Draw Face Normals." This will draw a little (or not so little, if the size is set too high) blue line that indicates the normal. The line starts ON the face of the polygon, and points outward. Look at the polygon from the same side as the normal (the normal should be pointing more-or-less at you) and the face should be visible.

Hope that helps!


Network Decode with Modal Operator I am working on a script that reads network packets to modify the emission strength of lights. In order to use the UI at the same time as reading from the network, I have created a modal operator:

class BlenDMX(bpy.types.Operator):
    bl_idname = ".blendmx"
    bl_label = "BlenDMX"
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    _updating = False
    _timer = None

    def modal(self, context, event):
        if event.type == 'TIMER' and not self._updating:
            self._updating = True
            #Here is where i would read the data from the network and modify the lights.
            #I will spare you those details for now...
            self._updating = False
    return {'PASS_THROUGH'}

    def execute(self, context):
        context.window_manager.modal_handler_add(self)
        self._updating = False
        self._timer = context.window_manager.event_timer_add(0.5, context.window)
        port = 6454
        self.s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.s.bind(("127.0.0.1", port))
        return {'RUNNING_MODAL'}

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

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

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

if __name__=="__main__":
    register()

Unfortunately, 0.5 seconds is too slow for proper processing of these packets, but something like 0.1 will lock up the UI, defeating the purpose of the modal operator in the first place.

My thought is to check to see if an adjacent group of network packets are identical, which would mean my data stream has temporarily "settled." I can work out the logic for that but am unsure how to use it to make the modal operator release control back to the UI. I would also need to then check for when data becomes "unsettled" so I know to run the decodes in rapid succession again, allowing the UI to temporarily lock up.

Again, I can work out the logic for scanning adjacent packets, but I am unsure of where to put that code and what to call to implement this variable decode speed. Your help is appreciated!

Here is perhaps how I would try to implement it (please excuse me if this is too simplistic):

Maintain a queue of the packets that allows concurrent access
One thread (process A) continually monitors the queue and processes and removes the packets from it. Since this does not have any timer even, it isn't subject to time constraint; it will have to wait until there are packets available in the queue (maybe feasible with multiprocessing python package)
The timer driven modal function (process B) can simply fetch the network packets and place them in the queue, this can be (I guess) reasonably expected to finish in less than 0.1 sec
I am not sure whether the 'settled' and 'unsettled' distinction for the state of the incoming flow will be of much use in this case, as this information will always be a posteriori (but again I maybe totally wrong).

NB: You may also want to put this question on stackoverflow, since this is more of a algorithm/python question.


How do I form planes into existing object? So, I want to make a cave in Blender.
I used a circle as a starting point, extruded it, used some subdivision, sculpting, yadda yadda, standard stuff.
But I'm not happy with the way textures are portrayed on the finalized cave.
It shouldn't be one texture, mapped on the thing, the texture isn't made for that. The texture should be on the object multiple times.
So my idea was to make a plane with the texture, multiply that plane(using array modifiers, make the single planes smaller for detail) and somehow apply that to the cave object.
How do I do that? With a shrinkwrap? How it reads, that should be the way to go, but im not shure I understand it correctly.
I added the blendfile to drive

You could do it with a procedural texture, but if you absolutely want to use an image texture, I see at least two ways to do it, tell me if it answers.

First, as Keavon says, you could UVmap your object with a texture.
Prepare your texture, it needs to be tileable.
As your object is already made, create a seam along an edge, and unwrap.

Your object is not orthogonal, so it will be displayed as a twisted mesh in the UV/Image Editor. It won't allow the image texture to be repeated seamlessly, so you need to orthogonalize your UV. To do that you need to use an addon like UV Squares. Once installed, open the T panel on the left of the UV/Image Editor window > Misc, press To Square Grid. Rescale the UV on the Y axis and on all axis, move it...

Don't forget to plug the Image Texture node into a Diffuse in the Shader Editor. Now your uvmap is orthogonal and the image texture will repeat seamlessly. Advantage of this method: you need only one picture and it doesn't need to be big as it is repeated. Small problem with this method: the texture may be a bit distorted on some parts.

The second method would be to paint the texture on your whole object.
Prepare a second material, create a second UV map for this one, this time unwrap with the Smart UV Project mode. Create a new (black) image in the UV/Image Editor with the "+" button. This image needs to be large enough because it will have to cover the whole object, so you need to decide, depending on your final goal. Plug the Image Texture node in the Diffuse, and load this new image. Put an Input > UV Map node before if you've created a second UV map.

In the 3D View switch to Texture Paint mode. In the T panel > Tools > Texture, create a new texture, and in the Properties panel > Texture, choose Brush - Texture to determine what texture you will use for your brush, choose your cave wall texture (doesn't need to be tileable this time).

On the T panel > Tools > Texture > Brush Mapping, choose Stencil. It will overlay the texture image on the 3D View and allow you to project it on your object. To be complete about stencil, how to change its position here.

You should be able to paint your object, and the painting will appear on the new image you've created in the UV/Image Editor. Advantage of this method: You can apply the texture as you want on the object, it may look more natural. Disavantage: As it is not a repeated pattern you need a big image that covers all your object.

With both the 2 methods, to make everything more realistic you need to complicate a bit your nodes organisation: add glossiness and bump maps, etc...


How to set bpy.context.window.scene in the right context? I would like to set the active scene with bpy.context.window.scene = my_scene

Now the problem is that normally this works if you are in the right context, the problem (in my specific case) is inside a function that is executed immediately after bpy.ops.render.render ('INVOKE_DEFAULT')
immediately after the end of the render I get:

for s in bpy.data.scenes:
     if s == my_scene:
         context.window.scene = s

AttributeError: 'NoneType' object has no attribute 'scene'

so I guess currently the context has changed to that of rendering, am I wrong?

How can I solve this?

I think the answer to my question is a simple copy of context. So:

ctx = bpy.context.copy()

bpy.ops.render.render('INVOKE_DEFAULT')

###This is handled with some handlers, but essentially seems to work with a simple context copy

for s in bpy.data.scenes:
     if s == my_scene:
         ctx['window'].scene = s

I think this is the answer to my question, but I won't vote for it right now as I could probably cheat in future problems.
For now everything seems to work ok.


How to trigger LMB click events to activate a specific View node and update contents of 'Viewer Node' image data block using Python? I am using two Viewer nodes to directly access pixel values of the rendering through bpy.data.images['Viewer Node'].pixels.I want to access the outputs of both of these nodes by activating them one by one using Python. However, it seems that I cannot activate them via Python. If I click on either of them the Viewer Node data block is immediately updated as the sum of the pixel values shows. For instance, clicking on Viewer2:

And doing np.array(bpy.data.images['Viewer Node'].pixels[:]).sum() will give me 292007.42460217333

Clicking on Viewer1 and doing np.array(bpy.data.images['Viewer Node'].pixels[:]).sum() will result in a different number. Doing the followings will not activate either of the Viewer nodes and I will always get the same number in the np.sum():

v1 = bpy.context.scene.node_tree.nodes['Viewer']
v2 = bpy.context.scene.node_tree.nodes['Viewer.001']

v1.select = True
v2.select = False

np.array(bpy.data.images['Viewer Node'].pixels[:]).sum()
292007.42460217333`

v1.select = False
v2.select = True

np.array(bpy.data.images['Viewer Node'].pixels[:]).sum()
292007.42460217333`

I also tried bpy.context.scene.node_tree.nodes.active = v1 after v1.select = True and v2.select = False lines but it still does not work.

None of these activate either of the Viewer nodes. It seems that I am doing the same thing as shown in the solutions provided here but I cannot activate the nodes, or update the image block without re-rendering. Another solution that I found is this one. However, it seems that Blender's Python API has changed a little bit for the newer versions of Blender (I am using 2.79) and I cannot use the method provided.

A promising solution seems to be coming from invoking clicking events as shown here but I don't know how I can do it for selecting nodes. So I wonder, does any one know how to activate the Viewer nodes via Python, possibly via invoking LBM events?

Very good question. But The answer at this moment is you can’t. The python interpreter needs to be finished in order to start the compositor recalculation. This is a background job and after it is finished you know for certain that the new image has been updated.

If we would have a possibility in the API to find out if the background job of the compositor is running we would be able to start a python thread or modal window to wait for this to happen and then continue the task you want to do.

Perhaps best solution ATM is to use the file output node to always store those all outputs and when needed read them back.


Binding Removes Particle System Vertex Weight Map I am using Auto-Rig Pro and have stumbled into an issue I can’t seem to resolve. I have a model with a beard created with a particle system and utilizing a vertex weight map for placement. When I set everything up in ARP, the “bind” process removes the vertex map of the beard completely and the particle system populates all over the body. I understand what is happening, just not sure how to avoid it?
I thought I may be able to bake or create a secondary UVMap for the beard area, but I just can’t figure it out. I tried the ARP online manual and have searched several blender forums, probably not looking for the correct wording. Any ideas or links to solve this?
Seeing how common this must be, I am going to guess there is a fairly straight forward and simple process to avoid this, I just can’t figure it out on my own. I was hoping I don’t have to duplicate the vertices as a mesh and separate the beard from the body?
Thanks for any help!

I just solved my issue. There is a lock icon that allows you to lock that specific vertex group that is highlighted.


Python draw 2 vertices under specified angle EDIT! What I would like to achieve using python is,

Top view,

Z = 0.0

Y = 0.0

Vertex 0 = -1.0

vertex 1 = 1.0

Rotation on y axis (top view)

Point of rotation is either Vertex 0, mid-point or Vertex1

The angle is user specified and point of rotation also (just hard coded)

Line should remain same length when angle is adjusted

When the distance between the 2 vertices is adjusted (I.E. V0 = 0.5 and V1 = 1.5 the angle should remain the same)

In the screenshot I tried to make example

First line (example) is straight 0 degrees

Second line (example) is 45 degrees angle and V0 = -1.0 and V1 = 1

Third line (example) is also 45 degrees angle but v0 = -1 and V1 = 0.

I just want to draw 2 vertices including an edge (3 might also be good so the vertex in the middle can be used as point of rotation) and change the angle of the edge.

But when the distance between the 2 vertices becomes smaller or bigger the angle should remain the same.

Important is that the vertices always stays on the given X axis grid point.
Y axis needs to be recalculated to get the specified angle.

old post!!

I would like to ask some help regarding mathutils and vectors (edges)
At the moment I use this code to add 2 vertices (1 edge)
But I would like to be able to adjust the angle of this line in such a way that no matter the distance between the 2 vertices the angle will always be fixed. I.E. 10 degrees or whatever I input as user.
I search this forum and internet but could not find any similar to my question

import bpy
import bmesh
import mathutils
from mathutils import Vector
from bpy.types import Operator
from bpy_extras.object_utils import AddObjectHelper, object_data_add
from bpy.props import FloatVectorProperty

verts = [(1, 1, 0), (-1, 1, 0)]

mesh = bpy.data.meshes.new("mesh")  # add a new mesh
obj = bpy.data.objects.new("MyObject", mesh)  # add a new object using the mesh

scene = bpy.context.scene
bpy.context.collection.objects.link(obj)  # put the object into the scene (link)
bpy.context.view_layer.objects.active = obj   # set as the active object in the scene
bpy.context.active_object.select_set(state=True)  # select object

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

for v in verts:
    bm.verts.new(v)  # add a new vert

bm.edges.new(bm.verts)

# make the bmesh the object's mesh
bm.to_mesh(mesh)
bm.free()  # always do this when finished

The code below wil just draw a straight line from 1 to -1 (x axis)
I would like to get an angle like the picture

it is important that the vertices stay in same line (x axis) as seen on the screenshot. So rotating the line would not give the result I am after.

As seen in the screenshot V1 and V2 are still on the same grid line in the x direction

As far as i understand you seek for this. one way to do this is using the matrix.Rotation
the only thing i dont know and maybe @batFINGER or @Robin Betts can help in this is to extend the line to the asked X axis. As far as i get it @cexoso wants to "constrain" the vertices on the X axis. with other words the vertices are free to move on the Y axis and are fixed on the X axis respecting the given angle.

@batFINGER or @Robin Betts
May i ask you to edit this code so that the line will be extended on both sides to the X axis. I'll try to explain using an square. Screenshot is below the code.

Please note that in this example the outside vextors are drawn on -1.0 and 1.0 X axis
I added a third vector but it might not be needed.

import bpy
import bmesh
import mathutils
from mathutils import Vector
from bpy.types import Operator
from bpy_extras.object_utils import AddObjectHelper, object_data_add
from bpy.props import FloatVectorProperty
from mathutils import Matrix
from math import asin, pi, degrees, radians

angle = 10
mesh = bpy.data.meshes.new("mesh")  # add a new mesh
obj = bpy.data.objects.new("MyObject", mesh)  # add a new object using the mesh

scene = bpy.context.scene
bpy.context.collection.objects.link(obj)  # put the object into the scene (link)
bpy.context.view_layer.objects.active = obj   # set as the active object in the scene
bpy.context.active_object.select_set(state=True)  # select object

mesh = bpy.context.object.data
bm = bmesh.new()
test = []

V3 = bm.verts.new((1, 0, 0))
V2 = bm.verts.new((0, 0, 0))
V1 = bm.verts.new((-1, 0, 0))

bm.edges.new((V1, V2))
bm.edges.new((V2, V3))

bmesh.ops.rotate(
    bm, verts=bm.verts, matrix=Matrix.Rotation(pi * angle / 180, 3, 'Z'))

bm.to_mesh(mesh)
bm.free()  # always do this when finished

Text continues below screenshot

Note 1
On any given angle the edge should connect to the square
I dont know how to do this tbh. Im still learning lOL

Hope my answer contributes to this question


Ray shadows are not correct I created a simple scene with a plane, a mountain and some trees. I added a sun and selected "Ray shadows", but the shadows are created like if the sun is right above the scene. It's not where I positioned the sun and I even tried different positions, but the shadows never change.
What do I need to do to have working shadows?

Blender v2.79
Blender Render

(Others have mentioned this in comments, but the question still has no answer. I am writing this for other people that might run into the problem in the future.)

The position of the sun has no effect on the direction the light is coming from. This is because the sun light is meant to simulate a light source that is infinitely far away. This gives an effect very close to that given by our actual sun, since the real sun is very far away.

Instead, to control the direction the light is falling from, rotate your sun object. Example:

Straight down

Rotated

Note that it doesn't matter where you put the sun. It could even be positioned behind the object. It is always going to give light that appears to be coming from far away, opposite the direction you have pointed it in.


Polygon with cylindrical edges I am trying to model regular polygons (triangle, square, pentagon, hexagon, etc.) with the edges made up of cylindrical rods, kind of like the bonds in a molecule. I can get the basic shape by working with a circle mesh and changing to the appropriate number of vertices, but would appreciate some help in changing the edges to cylindrical "bonds." An example of a folded hexagon that I am trying to model is shown below. Thank you!

I think the easiest way to do this is to bevel a curve object.
Go to Blender Preferences > Add-ons. Type "extra" in the search bar, and activate the Add Curve: Extra Objects add-on by checking the box next to it.

Then in the 3D Viewport press Shift + a, choose Curve > Polygon and set the sides to 6.
In the Properties window, go to Object Data Properties > Bevel, and change the Depth value to give the curve thickness.

Then move and rotate the vertexes in Edit Mode to get the desired result.

If you want the corners to be less sharp and more rounded you can change the handle type of the selected vertices (from the original Vector) to Aligned. You can also use Vector and Aligned vertices together in one curve to get a more precise result.

EDIT:
Alternatively (which I quite stupidly didn't realize before) you can place Spheres to represent the atoms at the corners of the curve. If you would use a Hook modifier the curve would follow the position of the atom object.
Select the curve. Go into Edit Mode. Select a corner Vertex. Press Ctrl + S and choose Cursor to Selected. Go to object mode and Press Shift + A and choose a spherical object like Mesh > UV Sphere. (Press S to scale it down)
Now select the the sphere and Shift select the curve (in that order) so both are selected. Go into Edit model and select the curve vertex and press Ctrl + H and choose Hook to Selected object.

However if you choose to do this, you might want to parent the curve and all its atoms to an empty object, to be able to move the molecule (by moving the empty) without issues. (Add an empty, move it in the center of your molecule, select al the parts of the molecule, Shift select the empty, press Ctrl + P and choose Object(keep Transform). )


How do I create multiple groups of weight paint? How do I create multiple groups of weight paint?

You can do this by adding an additional vertex group under Properties > Data > Vertex Groups.


Modify (strech) one object by moving another object Having 2 cube objects A and B.
I would like the cube B to be stretched if I move A away.
So the object A should be grabbed/linked/connect to some vertices in B.

In this way I do not need to reshape object B (in Edit mode) so it fits together with object A.

How do I do this?

You could use hooks: select B and then A, then go to edit mode (of A).
select the A face near to B and add a hook to selected object (CTRL-H).

Now, when you move B, A will be stretched, since you're thus moving the hooked face of A, through B.

Eg:


Is possible play video in reverse mode into Texture Image node? I import a Video in the image node of the material, can I set the video in reverse? Is there any trick that can do it? Obviously the blender timeline must always go forward.
I have not found any questions like this on the internet, I have lost a few hours of searching, but I have not found anything about it

In order to get more control about the playback of an Image Sequence or Movie Clip, you can set the Frame property of the Image Texture node to the 'first frame' which allows to set the the 'current frame' based on the Offset property.

If you'd like to reverse the playback of a Movie Clip or Image Sequence, you can add a driver expression to  the Offset property, eg. #3-frame -> last frame - current frame:

For the sake of completeness: You can also loop the playback by using the remainder a.k.a. modulo operator %, eg. #(3-frame) % 3 -> (last frame - current frame) % last frame:

Demo using an Image Sequence (left) and a Movie Clip (right) on the default cube
Note: You can even add a condition to eg. be on the safe side for the 0th frame when cyclic is disabled: #1 if frame==0 else (3-frame) % 3 -> (a if condition else b).


Handles missing in the graph editor It's impossible for me to manipulate handles in the graph editor. The numbers in the scroll bars on the side, are missing, and if I scroll in, the bottom scroll bar just expands.

It looks like you're zoomed out a lot.

To fix this, press A to select everything, and then press Numpad . to view selected.


my particle emmiter isnt working I am making this smoking pod. My particle emmiter is placed underneath the balls inside the pod but no smoke comes out. A whole load of smoke came out for a second or so I have no idea why it did or why it isn't now. Also when the smoke did come out it went right through the pod and the balls whereas if possible I would like it to drify up around the balls and out like it is a smoking caldron. i also want the smoke to be white

you need to place the balls as a group (ctrl+G). With the balls selected, go to physics tab, click "collisions" and select your group under the SMOKE tab.

2nd: Your smoke sim dies too early. I can see you have 250 frames active in your timeline. So you click on your smoke domain and click on -behaviour- uncheck dissolve.

Now, to really make it efficient:
create a shere (ctrl+a). With the ball selected:
Press space bar. Type on the search : Quick smoke.
Press ALT+A. (it will play your smoke for the 250 frames simulating a cache).
Press ESC. (to stop your sim)
Select the balls you want to act as a collider.
Make them group.Name them "colliderballs"
With the group still selected: Go to physics tab. Press: SMOKE and select "collision" button.
Thattá do it.


Blender alternative tool for 'cut faces tool' of Maya I recently watched a Maya tutorial, (Time- 7:47) where a cylinder is cut diagonally using cut faces tool.

I am wondering is there a similar tool that exists in blender?

With the Knife tool I cannot diagonally cut/slice the whole circumference of a cylinder.

This is called the knife tool in blender.
Shortcut K by default. You have to be in edit mode to use it.


How can I use Visual Keys? I have a cube with a Follow Path constraint. In the first part of the animation, I need it to move along the path. In the second part of the animation, I need it to be free of constraints and move according to keyframes.

I know that using the normal keyframes will cause the cube to jump to its original position after disabling the constraint. I also know that the answer is to use Visual Keys. I tried using them but the cube also jumps to far places.

I would appreciate it if you write the steps of getting rid of constraints like Child Of and Follow Path and keeping the cube at the same position so that I can continue the animation with keyframes or even add another constraint.

This is not employing Visual keys but these examples do allow you to switch freely between constraints, animation and physics. Something akin to this - Rigidbody - Change Dynamic simulation to animatic -

Go to the link at bottom and at the bottom of that answer again there is a demo, switching from animated and physics and back again, along with a path constraint thrown in for good measure.

You can use model duplication or if the model is complex, use a 'Child-of' constraint's influence slider as described along the way.

Additionally a path constraint can be departed from mid-length as shown here (the 2nd path wouldn't be needed) -

How to sequence paths?

If the path has been followed to the end, it's constraint will become ineffective anyway. The model can be freely animated.

Another alternative is to bake the constraint action to keyframes and after deleting any redundant Dopesheet strips, the model is again free to do as you wish. Make sure to tick all boxes in the bake panel.

I've thrown this together in a hurry as it's quite late and will elaborate if you need more detail.


"View" "Object" "Add" On Bottom Toolbar have Collapsed into a Menu, How Do I Undo This? I was building a model and at some point I must have clicked some shortcut and now part of my bottom toolbar has collapsed into a menu. It's quite annoying because I manually switch my views in this project quite often. I closed blender and loaded it up again, the default project showed the full toolbar but when I opened my project up again it was gone once again.

In the photo, I have selected the new collapsed menu with my mouse to show what I mean.

Right click on this collapsed menu (hamburger) then Header and Collapse Menus.