UV box textures different dimension I have a problem with 2 object,
I would like the same size of the texture, in the two objects, without uv mapping (given the complexity of the objects).
What can I do?
thank you

One fast way is to use Box projection.

Set Image projection to Box
Change coordinates from UV to Object
In Texture Coordinate > Object field, target any object (I used an empty)


How do I change Z offset in Blender 2.8? I'm trying to get an object to show up in front of another. Where is the Z offset, and am I able to keyframe the value?

You have 3 options;

Make whatever is in front of the object semi-transparent.
Render the object, then render what is in front of it (each perhaps on their own render layer), then composite the two renders in the compositer.
Move the object closer to the camera than the object that is obscuring it.

As far as I know, there is no "z-offset" setting for an object in blender.

Edit for followup comments

Given your example, I've come up with the following proof of concept;

I have attached the .blend file;

Explanation

First, forgive my model, it was a quick mock-up. By the time you sent your blend, I was almost ready to post :)

So, what I've done here is created a series of spheres, nested inside each other;

Then, I flipped them inside out (so to speak - I've actually just flipped the normal of all the faces by going into edit mode, selecting everything, searching for "flip normals", and clicking that option). This allows you to see all the spheres, despite being inside each other.

Note: This should be visible by default in Material Preview and Render modes, but if you want to see it in Solid mode, you'll need to turn on backface culling specifically for that mode;

Now, as for the shading, I set up the following node structure;

Effectively, what this does is flat shades the object (so you don't have the odd, inverted, shaded spheres).

To note, this is a default ColorRamp;

I only wanted the one color (no shading, no variation), so I completely deleted the first slider. Then I changed the color to the desired value.


Different options in Blender 2.8 when selecting Loop Cut via the toolbar or the shortcut (CTRL+R) I noticed that when you select the Loop Cut via the toolbar on the left side you cannot adjust the number of cuts via the mouse wheel. If you scroll the mouse wheel, the camera zooms in and out. It is different if you select the loopcut with the key combination CTRL+R. Then you can set the number of cuts with the mouse wheel as usual. Can anyone tell me how to set the number of cuts when selecting the Loop Cut via the toolbar? Why is the behaviour different here at all? And is it the same with other commands? That would mean that a command/tool behaves fundamentally different if you select it via the key combination or the toolbar.

There's a little pop-up menu, where you can adjust the parameters.
The tool works the same, you only don't control it through shortcuts.

It's an alternative for those who don't like using shortcuts :). (like me)


How do I animate a rotation with 3D cursor as pivot point? I am trying to animate a bell swinging. I've managed to make it rotate from side to side using keyframes, but I want it to rotate with the 3D cursor as its pivot point. How do I do that?

https://imgur.com/mkNV7fZ

https://imgur.com/KRRbF9S

As is shown in the pictures, the small "top piece" of the bell isn't fixed to the 3D cursor; it is not its pivot point; and that is my problem.

The object's position is based on the rotation and location of its origin. When you change an object's rotation property, the origin's rotation is changed and the entire mesh is rotated around that point.

If the origin is somewhere in the middle of the object, and you apply rotation keyframes to it, this happens.

But since you want your bell to rotate about a point near its top, you just need to move the object's origin to the rotation point, resulting in something like this:

To move the origin, you can move your 3D cursor to the point where you want the origin, select the object, right-click, and go to Set Origin > Origin to 3D Cursor.

Alternatively, while in Object mode, you can go to the Active Tool and Workspace Settings tab and under Options > Transform > Affect only, select Origins.

This will cause any transformations you do to only affect the object's origin, allowing you to move it to the top of your bell.

Another method to change an object's pivot point in animations is to create an Empty Axis at the desired pivot point, parent the object (your bell in this case), to the empty, and animate the axis instead.


Center Off Center - Why? Sometimes the "center point" of a sphere, cube, etc. is off center from its object, even sometimes outside the object.  The manipulator stays with the center point.
Is there a way to keep this from happening?
I've seen how to cure it, but I'd like to know how/why it happens.
It's very offputting (if you'll pardon the pun).

Is there a way to cause it in a controlled manner?

Because you are trying to move your object in Edit mode. If you want to move your WHOLE object (along with its origin point), move it in Object mode. Press TAB to quickly switch between Object mode and Edit mode.


Show plane texture while in weight paint mode Like you can see on the second image, I painted some areas brown. I made a particle system with grass an tree items and I want to use weight paint to spread them over the model. I only don't want them on the brown area but when I switch to weight paint than do the textures disappear.

I am using the blender render engine and my blender version is 2.74

My question: how can I still see the textures while in weight paint

Set the 3d view shading type to Rendered, select the area you want to paint on with Ctrl+B, change the mode to Weight Paint and...paint!


Cycles Render not rendering what viewport camera shows I have created a scene and set up the camera and everything looks good through the viewport camera.

then when I hit render and the result is a warped version of what is seen through the camera.

please help

You have a Subsurf Modifier applied to the plane that you're using as a mask. Most modifiers allow different settings for preview in the viewport and at render time. You probably have the subdivisions for "view" set to zero, and the subdivisions for "render" set to 1 or 2. This is so that you can minimize impact on the viewport but still have a nice render.

Select the plane and then look in the modifiers tab. You can either adjust the subsurf settings to be more reasonable, or just delete the modifier altogether.

If you never tried to add a subsurf modifier and are wondering how in the world it got there, it's possible to add one by pressing ctrl1 or another number, up to 4 (I think). So you probably accidentally used that shortcut.

Hope that helps!


How can I add a second colour to an object? For the past month or so I have been learning how to pretty much learn blender from scratch so bear with me.
Currently I am trying to add a second colour to the objects I have created. I have worked out how to subdivide and select sections, then assign them two different materials/colours. But this process only allows me to change colours in straight lines corresponding to the subdivisions.
I would like to re create something like the provided image, where the second colour is very fluid and is more like a pattern. Thank you

What you are doing at the moment (I think), is applying different materials with different colors to certains faces i.e. parts of the mesh. The example image you posted is using one material for the complete mesh and distributed by some texture which is used as mix factor between two colors. A simple example - very simple, you can do so much more complex things, but I would suggest you watch more tutorials on these things because this is too much to put in single answer here - you can see in the following screenshot:


Transforming multiple objects to have equal dimensions I created several planes scattered around the scene, but I created them individually.

I also extruded several planes to create an expanding curve, without realizing that I was scaling on two axes at the time (for each new plane).
I would have preferred to only scale the 'y' value, but I didn't notice my mistake in ortho view.

Is there a way to change all of their size values to be equal?  Let's say I want them all to be 1cm X 1cm, but they are all currently slightly different sizes. I don't want to change the position or rotation of any of them though.

Thanks for the help, I'm just getting started in the 3d world.

Just press the Alt key before clicking any of the value text boxes and inserting you values.

That will affect all selected objects instead of just the active one. It will also work for modifiers and most other properties.

Edit

If all your planes belong to the same object you have to separate them before controlling sizes directly, since absolute size control will only work in Object Mode, not Edit Mode.

Enter edit mode in your planes object
Select all with A
Separate all planes with P > Loose Parts
Now exit edit mode
Select all separated plane objects
Move their object center to the center of the geometry so their positions wont change when you change their scale, by pressing Shift + Ctrl + Alt + C > Origin to Geometry
Now you can change size

Don't forget to apply transforms afterwards with Ctrl + A > Scale


Object Organization - Hierarchies, collections, groups, empties? If I want to organize my sub-components into a convenient hierarchy in 2.8, what is the best approach? Should I use collections, groups, empties, or simple parenting?

First, I haven't been able to understand what "groups" are or how to create them. I read something about them in the manual, and couldn't understand what differentiates a group from a collection.

If I have some object that represents a single entity, but consists of multiple components (frame, seat, planks, cushions, etc), is it best to create a sub-collection for this? Or would it be better to identify one of the elements as the "root" and parent all other elements to it? Or is it better to create an "empty" and use that as the parent/root?

Another thing I'm trying to understand is why empties come in different modes (arrows, axes, shapes, image, etc). Is there a reason for these? Are they intended to serve as identification helpers (use a cube for a car object because the shape helps identify its owner)? Something else?

Lastly, if you guys use empties for this, anything you would advise about it? Do you change any settings or options in yours? Maybe disable visible in viewport, or some other setting?

Edit: One thing I just noticed is that you can easily duplicate an entire collection using the context menu, which is pretty convenient. Doesn't look like this is possible with an empty.

Thanks for any advice!

I would suggest using collections for grouping objects together.  It's flexible, and very orginizable.

also, there is no reason for selecting a different shaped empty except for personal preference on shape, (or for selecting a shape that fits the object like you mentioned in the question.)

and groups are now obsolete.  They were used in 2.79 and backwards.  Collections are the new and improved thing.


Should I use bones or shape keys to control the movements of a cat models ear? I'm not sure if this is where you ask questions like this, but I'm trying to rig a cat and am wondering if it would be better to use shape keys to control its ear movements or bones? Any thoughts?

Also, if this isn't where I ask questions like this, please let me know where to go. Thanks.

It would depend on what you want to do with the model after it was rigged. If it's going to be used in a game engine then you will want to see if it can support exported shape keys. If it will stay in Blender then shape keys will be fine.
You can always set up both then see which works best and is easiest to do for future work.


pass variable to custom operator through iteration i'm trying to write a little addon to show all strips used in a vse timeline. and i also want it to have a "reveal file in explorer" button. So far so good, i have this to show strips with a pop up menu :

        scene = bpy.context.scene
        strip = scene.sequence_editor.sequences_all
        activeST = scene.sequence_editor.active_strip
        rstrip = activeST
        print(rstrip)

        #images/videos/sons
        for s in strip:
            if s.type == 'IMAGE':
                layout.label(s.name, icon='FILE_IMAGE')
                layout.label("  Start : " + str(s.frame_start) + "   End : " + str(int(s.frame_start)+int(s.frame_final_duration)-1))
                layout.operator('reveal.file_explorer')
            if s.type == 'SOUND':
                layout.label(s.name, icon='FILE_SOUND')
                layout.label("  Start : " + str(s.frame_start) + "   End : " + str(int(s.frame_start)+int(s.frame_final_duration)-1))
                layout.operator('reveal.file_explorer')
            if s.type == 'MOVIE':
                layout.label(s.name, icon='FILE_MOVIE')
                layout.label("  Start : " + str(s.frame_start) + "   End : " + str(int(s.frame_start)+int(s.frame_final_duration)-1))
                layout.operator('reveal.file_explorer')

all is working except for the custom "reveal.file_explorer" operator, here's its code :

def revealfileexplorer (s):

    if rstrip.type=='IMAGE':
        name='\\' + rstrip.elements[0].filename
        path=rstrip.directory
        Npath=os.path.abspath(bpy.path.abspath(path)) + name
        print(Npath)
        subprocess.Popen('explorer /select,"'+Npath+'"')

    if rstrip.type=='MOVIE':
        path=rstrip.filepath
        Npath=os.path.abspath(bpy.path.abspath(path))
        print(Npath)
        subprocess.Popen('explorer /select,"'+Npath+'"')

    if rstrip.type=='SOUND':
        path=rstrip.sound.filepath
        Npath=os.path.abspath(bpy.path.abspath(path))
        print(Npath)
        subprocess.Popen('explorer /select,"'+Npath+'"')

class RevealFile(bpy.types.Operator):
    """Reveal file in Explorer"""
    bl_idname = "reveal.file_explorer"
    bl_label = "Reveal"
    bl_options = {'REGISTER'}

    def execute(self, context):
        revealfileexplorer(s)
        return {'FINISHED'}

I tried to pass the "s" value to make the operator different with every file, and opening the right one... but "name "s" is not defined" according to blender. I'm not a coder basically, and no clue on how to do this...
Any help would be greatly appreciated :D
thanks in advance !

The problem is that in the execute function, s is not defined, you need to tell the operator what is s.

A solution you could use is to add a property to the operator:

class AnimOperator(bpy.types.Operator):
    bl_idname = "object.anim_operator"
    bl_label = "Pose Anim Operator"
    s = bpy.props.StringProperty()
    ...
    def execute(self, context):
        revealfileexplorer(self.s)
        return {'FINISHED'}

notice the self.s to access the s in the AnimOperator class instance

Then when calling the operator, you have to define the value of s.

op=layout.operator('reveal.file_explorer')
op.s = s

I didn't try this code so I maybe made some mistakes but you have the idea.

Those are object oriented programming and concepts and the scope of a variable problems, you'll maybe need to learn a little about that if you want to use programming language for more complex program.

Edit: I'm a little tired right now but looking back to you code there is another problem, you don't use s but rstrip in the revealfileexplorer function. I also suggest you to use the StringProperty but this will only accept text. I never tried to use complex types as operator parameter I think you are limited to Blender properties types but I'm not sure about that, I will test that tomorrow to give you a more precise answer if you need, but for now I think that you can solve your problem using only string, maybe with multiple StringProperty  if needed. You can also use a IntProperty, and pass the index as parameter, and then find your strip like that:

def revealfileexplorer (id):
     s = bpy.context.scene.sequence_editor.sequences_all[id]


Boolean operation between a form and a spiral I'm designing a real object: a cylinder box dispender.
It will be 3D printed: two mirror versions of the same object (named Half.shell) will be printed and then screwed or glued together.
Just before gluing/assembling these two parts, I want to insert a thin band of metal between them, and give it a spiral form, so a spiral groove must be made available in the Half.shell object.
Context is Blender 2.9.1 with extra curve add on.
The problem I have is when I want to make the spiral groove into Half.shell object.
I've built a spiral of cubes, starting with a cube, add modifier array of 780 objects, then add modifier curve following an archemedian spiral curve created with the extra curve addon.
I've tried boolean modifier as well as BTool addon to make the difference/groove, with no success: the resulting shape is a real mess with triangles going everywhere and nothing becomes editable from this point.

Edit1:
-the Spiral.of.cubes object sometimes grows by itself, as if I've scaled it on the X & Y axis, and reopening blender can help, but not always. This problem occurs when I'm changing selection in object mode and edit mode.
-so may be the way I'm doing the spiral.of.cube is not the good way.
-Spiral.of.cube is in fact a spiral of parallelepiped 1.5x1.5x2mm

What you need to do :

Select your spiral cube object, delete 2 faces so that it won't generate inner faces, apply both the Array and Curve modifier, press Alt > Merge By Distance:

Fill each tip with F :

The topology of you shell is messy, go in Edit mode and press Alt > Merge By Distance, in the Operator box choose a Merge Distance of 0,001 :

But you also need to delete inner faces, overlapping faces, and you need to recalculate the normals (AltN), especially if you plan to print in 3D.

Once everything done, you can merge all the faces of your shell surface, where the boolean is supposed to happen:

The Boolean will work fine:


Object Transform Origin to Geometry Floor I have about 400 different Plant models. I need the origin to be at the very bottom of the plant so I can plant them at the correct height when I export them to Unity. Is there a faster way to do this than:

Snap cursor to Selected
Set 3D Cursor Location Z to 0
Object transform origin to 3D Cursor

Enable the align tools Add-On.

In the 3D Viewport select your objects, open the Sidebar (N)
Go to the Item tab.
In  Align Tools > Advanced Align Operations, click on the Advanced button.
On the bottom left of the viewport window the Align operators control will open.
Set the Operator to Pivot mode.
Enable Active too, Self and Min
Then  set the Axis you are aligning, in this case it should be $Z$

Then your objects origins are at the bottom.
For older versions of Blender the interface looks like this:


Cuda error with render layers I have a scene that rendered perfectly with my GPU, in 960x540. As I had a Cuda error when trying to render this scene in 1920x1080, I decided to use Render Layers. Now, I have a Cuda error every time I try to render it, even in 960x540... And when I erase all the Render Layers, it renders just fine.

I don't really understand why using Render Layers does this, as it should do the opposite :/

Edit :

The error is "Cuda error: Out of memory in cuMemAlloc(&device_pointer, size)". I'm using Blender 2.79, my graphic card is a GTX 960 with 4GB of VRAM. I'm using Linux Mint 18.2.
The scene uses 112Mb of memory: it's a pretty simple scene with less than 20 objects and one lamp, a particle system, two 3K textures and Adaptive Subsurf on some objects. There are 74,873 tris.

Edit 2 :

This is not the same problem as here : CUDA error: Out of memory in cuMemAlloc(&device_pointer, size). My problem is related to Render Layers, as said before.

Sorry for the engrish :X

When using Render Layers don't forget exclude layers, if they invisible.

If you doesn't exclude layer, it will be loaded into memory even if turned off. Objects on invisible layers will be visible in reflections, shadows, and can be mask (Mask Layer option). So, if you really want to layer don't load into memory, mark them as Exclude.


When I texture paint when I repeat and tile brush to get smaller it gets worse? I'm texture painting, I've created a 2048x2048 brush. It's a nice brush, however I wanted to wanted the pattern the brush to create to be smaller. So I repeated in the texture mapping panel and the quality deteriorates.

I'd expect this when I'm making the texture bigger, however I wouldn't expect this to happen when making the  original brush smaller? And ideas if there's a fix to this?

I think that if your target's resolution (image texture being painted on) is low, it will have problems interpreting the projected pixels. If you instead paint on a larger image of at least double the resolution, you will get a better result.

Here I made a 2048x2048 brush, set to repeat like yours and painted into a 4096x4096 target image.


What does the radius vector do on an SSS shader? What exactly does the radius vector value on a subsurface scattering (SSS) shader do?  In his SSS tutorial (making realistic bread), Andrew Price says that the XYZ values translate to the RGB values of the scattered light.  But a lot has changed with SSS since that tutorial was made and that doesn't seem to be true anymore.

It does seem to have something to do with the scattering color, but it is not a simple XYZ to RGB thing.  Here are a couple renders I did:

(the sphere is 75% SSS and 25% white diffuse)

So [1 1 1] seems to be just white scattering, while a [0 1 1] vector gives a turquoiseish color.  Setting it to [1 0 1] gives a pinkish color and [1 1 0] produces a yellow scattering.

Intuitively, I would think that radius would mean the distance that the rays are scattered from where they hit the surface.  But that would not change the color of the scattered rays and could be accomplished easily enough with a scalar value as opposed to a vector.

I am looking for a technical, mathematical explanation of exactly what the radius value does.  I think I have a pretty good grasp on how SSS works, but it wouldn't hurt to explain that as well.

From the Blender Internal Wiki:

RGB Radius:
This is not in fact the radius of the subsurface scattering, but the average path length between scattering events. As the light travels through the object it bounces around then emerges from the surface at some other point. This value corresponds to the average length the light travels between each bounce. The longer the path length is, the further the light is allowed to scatter.
This is the main source of a material's perceived "scatter color." A material like skin will have a higher red radius than green and blue. Subsurface scattering is the diffusion of light beneath the surface. You control how far the light spreads to achieve a specific result.

Basically you change the radius value for each of the three primary colors, which results in the efects you described in your question. In both render engines the Radius value does fundamentally the same thing.
The Cycles wiki states:

Radius input:
Scattering radius for each RGB color channel, the maximum distance that light can scatter.

This is fundamentally the same as the Blender Internal engine.
View the entire entry on the Blender Internal SS Shader.
View the entire entry on the Cycles SS shader.


Too many UV mapping point I used a 3D slicer to separate the small intestine from the CT image.
The model has a lot of bends. There are too many points when trying UV mapping with this model. This loads my computer. Also I would like to put the texture of the small intestine naturally on top of the model. The image is small on each side. How can I solve this?

In my experience, most people are not going to UV map a mesh that dense.  That qualifies as high poly.
You have a few options to create a lower poly mesh that you can be more easily UV mapped.  The first and most important is manual retopology.  For a mesh like this, where we can expect little in the way of deformation, automatic remeshing tools can do the job in lieu of manual retopo.  Blender implements a few remeshers, in the way of the voxel and quad remesher tools, available in properties/object data/remesh, but they're not great.  Other alternatives include Instamesh and the paid addon Quad Remesher, which is the best in my opinion.
If you are certain that you do not want to retopo/remesh, there are some techniques that can simplify UV mapping of a dense mesh like this.  The first is select shortest path.  For me, that is select a vertex, ctrl select a distant vertex, and Blender will select all vertices along the shortest path between those two.  This can make seaming a breeze, after which, you just have to sit through however long the unwrap takes.
Of course, smart UV project unwraps will generally give you a usable UV map without any work, just a lot of CPU time.  Same with lightmap projects, although lightmap project can introduce really terrible UV distortion.
A final alternative is to make a quick, low poly cage mesh, UV map that, and then use a data transfer modifier to copy its UV map to your high poly.  This is almost always going to require some cleanup at seams.  You'll probably want to create a cage like this anyways, so that you can map your image to it and use it to do some selected-to-active texture baking (opposite of typical, baking low-to-high.)


Using the face edit mode as a texture in bge In the blender game engine, is it possible to make it look like this when you actually play the game?

Obviously, this was screenshotted outside of the game player while in edit mode, so maybe it's possible to bake this texture to an actual texture which I can apply to a material?
This is very likely impossible though, so maybe theres a script someone made to generate the texture for each face? (so for each face just a simple light grey texture with dark grey outlines?)

I have arrived at an imperfect approximation. It will create the effect, but has some flaws:

Edge lines will be inconsistently thick.
Center point may not be exactly centered.

However, the result is definitely passable:

To create this, you need a few steps:

UV unwrap it. You U>UV unwrap
Reset the UV's U>Reset
Add an image texture, I used this image:

Set the UV map

TADA! You have your result!

See the .blend for any confusing details:


Where can I find a complete list of the industry standard keymap? Where can I find a complete list of the industry standard keymap? Ideally with a comparison of what the blender standard keymap for that function would be.

I have found https://docs.blender.org/manual/en/latest/interface/keymap/industry_compatible.html#viewport and https://developer.blender.org/T54963 but they don't seem to be complete. For example I can't figure out what the industry standard to open the 'Add' menu (Shift + A in blender keymap)

The only official keymap document can be found here.
The shortcuts you specifically mention, do not exist in the default keymap, though they can be added through python or by editing the keymap. There are some other addons or config files that might be more beneficial for you.
The closest thing to a full list can be found here, but this has been edited a bit, so it's not 1 to 1.
There is also Maya Config, which turns Blender into a very similar Maya configuration.
I'm working on listing out all of the shortcuts and adding the ones I miss from the regular Blender shortcuts myself, I am going to try and keep it close to the industry compatible keymap as possible, I will post here again if I get an update for you.


"tapering" without the modifier or rotating I only want a single part of the mesh to be tapered without affecting the rest, other than using the modifier, how can I achieve this? Rotating achieves the effect however it slightly distorts the model, and doesn't work at extreme angles

If i understand the question correctly you can use the shear tool for that. The shear tool can be accessed by pressing Ctrl+Shift+Alt+S.


Animations pause for a slight moment when reaching end frame I recently copied over some Blender files from my old computer to my new one.

I noticed the the animations are freezing on the last frame for just a moment. This is making my animation loops not seamless and choppy at the end of the animation. I pulled up the same file on my old computer and it was fine but for some reason it doesn't work on my laptop.

Try reducing the length of the sequence by 1 frame (so rather than, say, starting on from 1 and ending on frame 300, end on frame 299).


from .xyz import FunctionA also imports FunctionB and FunctionC - confused why I am surprised that besides AlignZ also AlignX is being imported while I specify only to import AlignZ

I was under the impression that with import * you import all functions in the py document instead of specifying each.

Pie Menu py file:

from .pietransformation import AlignZ

transformation py file:

import bpy, os
from bpy.types import Menu, Header
from bpy.props import IntProperty, FloatProperty, BoolProperty
import bmesh
from mathutils import *
import math

#AlignX
class AlignX(bpy.types.Operator):
    bl_idname = "align.x"
    bl_label = "Align X"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self,context):
        scene = context.scene
        #bpy.context.space_data.pivot_point = 'CURSOR'
        bpy.ops.transform.resize(value=(0, 1, 1), constraint_axis=(True, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='ROOT', proportional_size=0.0323492)

        return {'FINISHED'}

# #AlignY
# class AlignY(bpy.types.Operator):
#     bl_idname = "align.y"
#     bl_label = "Align Y"
#     bl_options = {'REGISTER', 'UNDO'}

#     def execute(self,context):
#         scene = context.scene
#         #bpy.context.space_data.pivot_point = 'CURSOR'
#         bpy.ops.transform.resize(value=(1, 0, 1), constraint_axis=(False, True, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='ROOT', proportional_size=0.0323492)

#         return {'FINISHED'}

#AlignZ
class AlignZ(bpy.types.Operator):
    bl_idname = "align.z"
    bl_label = "Align Z"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self,context):
        scene = context.scene
        #bpy.context.space_data.pivot_point = 'CURSOR'
        bpy.ops.transform.resize(value=(1, 1, 0), constraint_axis=(False, False, True), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='ROOT', proportional_size=0.0323492)

        return {'FINISHED'}

def register():
    bpy.utils.register_module(__name__)

def unregister():
    bpy.utils.unregister_module(__name__)

A blender addon is a python module. Using bpy.utils.register_module(__name__) will register every class within the module, which includes classes in all .py files within a module made of multiple files.

Don't confuse importing with blender's registering process. By importing you are bringing the class into the current namespace, which could be a methods namespace, but blender's register causes a suitable class to be registered as an operator under bpy.ops making it available to display in a menu using the layouts operator() method.


How to get rid of unwanted zigzag effect on edges? Due to the Solidify Modifier the mesh appears deformed on certain areas. To fix that, I added the Edge Split Modifier, but around the edges in Solid view, appears an unwanted zigzag effect when zoomed-in/out. How can I fix it?

Unwanted zigzag effect

If any body know a solution to this problem, please help.

Does this sort of shift around as you rotate in the viewport?

This looks like a clipping issue. Go into your View tab on the right and muck with the Start and End values under "Clip."


Options for new objects not in the tool shelf When I watch a youtube video it says something like verify capFillType = NGon; but there is no capFillType at the lower left.  How can I find it?

I have an HP all in one, windows 7, using blender 2.78c.

You can find it on the lower left, see screenshot.

From the Primitives documentation:

  These options can be specified in the Operator panel in the Tool
  Shelf, which appears when the object is created.


Can you paint textures in Blender 2.8x with values > 1? (I.e. HDR) Is it possible to paint a texture with values greater than 1? I'd like to paint some emissive surfaces to use as lights, and I need large values. It seems the color picker only goes to RGB=1.0. Am I missing something?
(I know I can import an .exr from outside Blender. I'm talking about the texture painting inside Blender.)

As a fallback, I can paint the textures with <1 values and use a math node. But I'd like to paint them as they should be.

I'd like to paint them as they should be.

Not really sure what that means. Art is trickery. The only rule is, "if it looks good, it is good".

That being said, one way to do what you want would be to texture paint on an image, assign that as the color input to an Emission node, and crank the Emission node strength up to 200 or whatever.

If you feel fancy, you could add multiple textures to a single object with a Mix Shader.


UV map not applying on Object I am trying to build my own spaceship according to the spaceship tutorial created by BlenderGuru.

However, there' s a problem with the UV map I have created for the spaceship.

As you can see, I have already added the image to the node editor and connected it to a displacement socket and added the image to the UV image editor.

I am clueless what might cause the problem. Maybe you could help me to solve this problem.
Here' s an additional image of the UV map I've created for the spaceship.

Here is the .blend file:

Duplicated Material output node

Even though it seems to be one, if you try to grab it and move it slightly you should discover that there's another one just behind it.

When you have multiple material output, Blender set as active the last selected of them. As in your setup Shader/Surface and Displacement are in different output node, you cannot see both effect at the same time.

Delete one material output node and plug the cables in the other.


Why don't I see light reflected off a mirror in Cycles? I want to render mirror balls. In the real world you would hit each mirror ball with a spot light.

To test if this would work in Cycles, I made a mirror ball and hit it with two spot lights (shown with red and green arrows) as shown here:

However, although you can see the direct spot light effect on the walls, the mirror balls show no light and no light is reflected onto the walls from the mirror balls.

What I would want to see is light on the other side of the wall (i.e. in the area circled in red) because that is the direction the second spot light is pointing, and directly perpendicular to the normal of a few faces of the sphere.

Why don't I see any light reflected from the balls?

Here is the project file:

Lights are only visible in Cycles when they are mesh lights. If you want a light source to be reflected you need to make it from geometry and create an emission shader for it.

If you wish light to be reflected and illuminate other objects, you need to enable reflective caustics:

These calculations take a lot of time in Cycles and are inefficient, because of the way tehy are calculated. For better caustics one would need to use a render engine that supports bidirectional pathtracing. I think LuxCoreRender can do a better job with this.


Can I select by color when not the same material? I have a VRML version of a PDB file imported into Blender.
Every geometric segment has its own material assigned even though the materials are identical.  Can I select the objects by color instead of by material?

This simple script loops through the visible objects, and checks if the active object's diffuse color (blender internal) matches. If they do match, then that object gets selected.

Make sure the active object has a material with the color you want to merge. Then load the script below in blender's text editor and hit "Run Script".

After you run the script all you need to do is press CrtlL then M. Or from the 3D view header Object > Make Links... > Materials.

import bpy
active = bpy.context.scene.objects.active
bpy.ops.object.select_all(action='DESELECT')
for obj in bpy.context.visible_objects:
    if obj.type == "MESH":
        if obj.data.materials[0].diffuse_color == active.data.materials[0].diffuse_color:
            obj.select = True
active = bpy.context.selected_objects[0]


When creating a new uvmap for an object the previous uvmaps are included. How do I start without them? I'm having a hard time managing my uvmaps.  I keep getting artifacts from previous uvmaps showing up.  I unwrap only a portion of my object to place a decal.  I make a new uvmap and the previous one shows up and so on.  And I can't remove it.  I need help bad.  Either this is buggy or I'm doing something fundamentally wrong.

So I just made a new uvmap "UVMap" and it auto included the other uvmaps.  And I can't figure out how to get rid of them.  Why they appear.

Any help is greatly appreciated.

Creating a new uvmap, duplicates the selected uvmap.

You can change any uvmap layout without altering any other uvmaps, just choose a different mapping type from the unwrap menu or adjust the uv positions the way you want them.

If you want to completely reset a uvmap - in edit mode select all A and then press U and select Reset.


Boolean + Subdivision modifier warped surface I was following this tutorial, but I am not getting the mesh to work correctly with subdivision surface.

I was using the boolean modifier to cut my mesh, and was stressed that subdivision surface was causing my mesh's surface/geometry to be warped after applying that boolean modifier.
The problem was that I was using the exact solver instead of fast(in bool modifier), and choosing the fast solver fixed the geometry warping, presumably because the exact method was causing some imperfections that I made when trying to align two objects.

Well, I figured it out myself. I just needed to delete the bottom face.


How to subtract alpha channel from another alpha channel? How I can subtract a blurry alpha channel from another alpha channel in the compositor?

First alpha channel

Second alpha channel

Desired result

You need nothing more then a Mix node set to Subtract with a factor of one.

To replicate your bottom image, plug your first image in to the first socket on the mix node, and the blurry image into the second socket.


how to change grease pencil radius using brackets [] brackets not working for changing the brush radius like it does for sculpting/texture painting. Is there a a keymap to get this to work similarly?

I couldn't edit the keymap to get this to work at the time this question was asked, BUT the shortcuts have been added to the 3.0 alpha build:

New Bracket keymaps ([, ]) to increase and decrease brush size. (c58bf31aed)

3.0 Grease Pencil release notes
Daily builds download page


How to access projected 3d tracks of the camera solver? For further reconstruction of a shot, I'd like to access the 3d location of the projected tracks by the camera solver constraint in the 3d View for all frames via python.

While searching through the Datablocks I've only found a read only bundle attribute per track: bpy.data.movieclips["clip_name"].tracking.tracks["track_name"].bundle, but unfortunately the given coordinates are totally off:

Is there any way to access the properties of the 3d tracks at the moment?

Copy matrix_world uninfluenced by "Camera Solver" constraint, ie set constraint influence to 0, set the frame to the first frame of the simulation,  save a matrix_world copy, then reset the influence.

The track positions are mworldcopy * Track.bundle

Camera tracking points in red, object tracking points in green, resultant object tracking points in yellow.

import bpy

from sound_drivers.BGL_draw_visualiser import BGLWidget

context = bpy.context
scene = context.scene
scene.frame_set(1)
camera = cam = scene.camera
cam_const = cam.constraints[0]
cam_const.influence = 0
mw = cam.matrix_world.copy()
cam_const.influence = 1

class ShowTracks(BGLWidget):
    def draw_region(self, context):
        clip = context.scene.active_clip
        tracking = clip.tracking
        tracking_object = clip.tracking.objects.active

        # match to object tracking
        # from bl_operators/clip.py
        if camera:
            reconstruction = tracking_object.reconstruction
            framenr = scene.frame_current - clip.frame_start + 1
            reconstructed_matrix = reconstruction.cameras.matrix_from_frame(framenr)
            matrix = camera.matrix_world * reconstructed_matrix.inverted()

        else:
            return

        tracks = tracking.objects

        # track points in global space current frame
        pts = [matrix  * t.bundle for t in tracks['Object'].tracks]
        pts = self.points3d_points2d(context, pts)
        self.draw_points(pts, lw=2, color=(1, 1, 0, 1))

        # tracking data
        pts = [mw * t.bundle for t in tracks['Camera'].tracks]
        pts = self.points3d_points2d(context, pts)
        self.draw_points(pts, lw=1, color=(1, 0, 0, 1))

        pts = [mw * t.bundle for t in tracks['Object'].tracks]
        pts = self.points3d_points2d(context, pts)
        self.draw_points(pts, lw=1, color=(0, 1, 0, 1))

v = ShowTracks(None, bpy.context, bpy.types.SpaceView3D)


UV texturing mesh object won't turn black in texture painting mode Im following a video series by Darrin Lile (Texture painting part 1) my mesh doesnt turn black when I change to blender render, change from data to object, assign a new material, and switch the texture painting. Any ideas?
Thanks in advance!

It's likely that you don't have texture slot to paint on (warning about that and ways to correct are in the top of the T panel):

You have assigned material, set shading to GLSL, set Viewporrt shading to Texture and turned on Texture Paint. Thus the pink color - Blender's warning regarding to leak of texture, wasn't shown. If you switch back to Solid shading, you can see that the mesh is pink (tbh, this was the only way I could avoid of getting pink color in the beginning of the Texture painting). See why the textures are pink, or why the mesh is pink in Texture Paint.

I think it's quite handy to start this work being in the Solid Viewport shading. Then if image is missing you can notice that, while you'll see the texture in all details once it's added:


Extend the length of a cone I am having trouble extending this cone outwards, ie to the left. I have set the pivot point to 3D cursor and the Orientation in the active tool section to Normal, pressed s to scale and then z, then z again to get the axis following the angle of the face but the scaling does not seem to work properly. By not work properly I mean that the radius of the open end of the elongated cone is the same diameter is in the picture above not bigger as it should be, giving me essentially a cylinder on the end of a cone as you can see by the length of the edges in the following pic compared to the length of the edge at the head of the cork.

Any ideas as to how I do this? Thank you!

Is this what you mean?

It's the loop selected, and  GG, Edge slide, with Alt held down, or  C pressed, to release the clamp.


procedural generate mesh that fits each other is it possible to generate mesh just like the one in the picture? if so, how?

I have to make a whole bunch of those for a project i'm working one and they don't need to be handmade but they do need to fit each other

Use a the Cell fracture addon - Fracture addon - to break up your master outline object, then shrink each piece using a deform modifier with a negative value, OR use the margin variable in the script preferences to create a gap between elements.
Check out this tutorial if you are stuck - Cell Fracture addon tut


turning the black to alpha in texture node How to turn the textures ( for example musgraves ), black color area to alpha color channel .
I have tryed to findt a manual that would solve the problem , but have only findt
how to make an alpha channel come out of a picture not from a texture node.

To the best of my knowledge the only thing you can do in a shader is to use the texture as input to the alpha input of a shader node that supports alpha input, like the principled shader node.  Here's an example of a red ball behind a brick wall:

Here's the simple shader for this.  Note that I inverted the color of the brick mask before feeding to the alpha input of the principled shader.  Otherwise, the mortar would have been black and the bricks transparent:

Note that if you are going to render this with EEVEE you need to go to the material settings and change the Blend Mode to Alpha Blend:


How do I simply close a few widget windows? I am losing my mind trying to figure out how simply close widget that was so easy to open to begin with.

[x] close button doesn’t seem to exist in this program so what’s a guy gotta do to close a window in blender 2.8? I also can’t close the widget with “transform | View | 3d cursor | annotations” window either.  I’m extremely frustrated and I’d really appreciate the help

Press T on your keyboard to open/close the Toolbar on the left, and N to open/close the Sidebar on the right.
https://docs.blender.org/manual/en/latest/interface/keymap/blender_default.html#common-editor-keys


Simulating Yarn Dynamics in Blender I am trying to calculate the collision detection between the nodes of the single yarn, is that possible in blender for dynamic simulation of yarn, later I am supposed to use the Jersy model where I can calculate the sliding friction and contacts between nodes.

You could maybe look into "SOFA"
(https://www.sofa-framework.org/)
which is a python based Physics engine for a wide range of things (including your problem i think)
I think there is even a previous version that was connected to blender so that blender uses SOFA as physics engine....

If you should find another solution, in blender or somewhere else, please post it! I'm interested in doing something similar myself!


My symmetry is off but only on the lower jaw of my model? I am making a Chimpanzee skull and everything was fine until a few moments ago when I started to work on the lower jaw, I realized that the symmetry was off even though I didn't mess with it.

Does someone know how I could fix it?

At a glance, it looks like the lower jaw is a separate object (correct?) and that the origin of that object has been accidentally moved somehow. In Object Mode, select the jaw, right click, and go to "Set Origin". You should see a few options; select "Origin to Center of Mass (Surface)". That should get your origin back to the right place and fix the symmetry.


Grease Pencil Onto video How do I draw gp onto video? I have found many of the same question that were answered but there is a teal camera icon that isn't appearing for me, I am in blender 2.90

Start with the template for 2d animation.

Set the color management to sRGB, the view transform to Standard and the look to None.

Press Tab to enter Edit mode.
In the outliner select the camera.

In the properties window select camera and enable Background Image.
Set the source to Movie Clip, select your file and set the opacity to 100%

This will allow you to use the video as background image when you are looking trough the camera view. (Note that this image is for reference only, and will not render without setting it up in the outliner)
Select stroke on the outliner (or create a new one using Add > Grease Pencil > Blank).
Enter draw mode and draw on top of the background video.

To render the grease pencil along with the video, set film > Transparent

Then set the compositor with a movie clip node with the video and the render layer and use alpha over to composite them together.


Slow Viewport Rendering: Bad Settings or Underequipped CPU? Question

Dear all,

I'm trying to make a simulation in which Suzanne moves in a straight line  through a piece of rubber cloth. Getting the settings of the cloth modifier right is quite hard due to the long rendering times in the viewport. It takes 3 minutes to (preview)render just 30 frames. I am trying to figure out whether these long rendering times are caused by (A) an underequipped CPU, or (B) by the polycount/settings of the cloth/cloth modifier.

Concerning option A (the CPU): my laptop has a i5-8250U, with 4 cores and a clockspeed of 1,60 GHz. This CPU has a benchmark of 7,679 (on https://www.cpubenchmark.net/), whereas the CPU of a recommended laptop for animation (e.g. the MSI GS65 Stealth THIN-050, acoording to https://www.cgdirector.com/best-laptop-for-animation/) has a benchmark of 12,446. No doubt a big difference, but I'm trying to animate a very basic scene, so shouldn't a CPU with half the power of a topnotch model suffice?

Concerning option B (the cloth settings/polycount): the 'cloth' consists of 576 squares. I have added a subsurf modifier with view/render set to 2. In the physics tab, under the 'cloth'-section, I have set the quality to 7 (in the screenshot below I put it to 20 to make it look better, but that increased the rendering time to 4 minutes). Under the 'cloth collision'-section, the quality is set to 2.

Question: Is it normal that with these settings and this CPU, it takes 3 minutes to render 30 frames in the viewport? If it is, I will postpone my project until I can afford a computer with a better CPU. If it is not, then what am I missing?

Screenshot

What I've Learned So Far

For others who are fairly new to physics simulations: the main thing I learned is that there is an important distinction between viewport rendering/preview rendering, and final rendering. When people talk about 'rendering' they usually refer to final rendering, not to preview rendering (i.e. the basic preview render while working in the viewport). As it turns out, preview rendering depends more on the CPU, while final rendering makes more use of the GPU. The hardware side is very accessibly explained in this article:

https://www.cgdirector.com/best-computer-3d-modeling-rendering/

Yet the distinction is also important when trying to reduce the preview render time in the viewport. For instance, I tried to reduce it with the tips from this post:

https://www.blenderguru.com/articles/13-ways-to-reduce-render-times

but that did not significantly reduce my preview rendering times; although I'm sure these tips are important when it comes to final rendering (a stage which I have yet to reach).

Knowing this distinction does not immediately solve my problem, but it is at least a first step.

Cloth Simulation can be pretty heavy. The normal usage is to cache your cloth simulation first, then render using the cached data.

Once you have your cloth sim cached to disc, it doesn't take any extra time to render each frame. But caching/baking the simulation can still take a while so it's important to use settings that fit your system and needs.

All the rendering settings won't have any real impact on the time calculating the cloth simulation takes. That time it takes depends heavily on the mesh complexity and your cloth quality settings.

The first step you should take is to use as simple a mesh as possible. You can add an additional subdivision modifier AFTER your cloth simulation to make the mesh smoother, while not adding tons of extra detail to your simulation.

Start with a very simple mesh and low quality settings on the simulation. Try to make the result look better with modifiers applied after the simulation before you increase subdivisions or quality settings that are part of the simulation.


Is there an addon for todo management? Like something that hooks into the text editor, or maybe the node editor?

I'd like an addon that allows me to keep track of things I'd like to do (or have done) on a model.

You can use Generic Note Add-on which allows to create some kind of sticky note in the Compositor. In this case I'd suggest re-using a text file from the Text Editor:

In addition there is a nice Comment Node Add-on by @CoDEmanX, which allows creating a list:

Since Blender 2.74, you can use the built-in Frame Node to display text blocks in the Node Editor:

Further information: Is there a way to make comments in the node editor?


Is there any kind of face group? So, I'm familiar with vertex groups for saving vertex selections / groups. But, is there any way of grouping faces? Vertex groups won't suffice for the obvious reason that they often select faces I didn't originally include:

I am familiar with how materials act as face groups to some extent, indicating it's very possible code-wise. But, is there a way to group faces without the need for a 'material'?

As this is for a plugin, a Blender API solution is acceptable, but it must still provide a UI for adding / removing faces from these 'face groups,' even if it means the plugin adds this interface.

Yes, Vertex Groups doesn't work.
In Blender 2.81 (or more), I use Face Maps.

It works like Vertex Groups but it is for face.
I am not sure if 2.81 is the oldest version that has this feature.


How to translate a bone with IK in pose mode using the python API I create an script that loads a .json file, which contains the joins and bones positions, and create a skeleton with IK based on that information. Everything works as it should be, however, when I am in pose mode, I can rotate my selected bone trough the the python API with the following command:

bpy.ops.transform.rotate(value=radians(-45), axis=(1,0,0))

The following image shows the result of the rotation on my torso:

the command above will rotate my selected bone as I wish. The problem is with the translate function, when I translate the bone trough the User Interface, everything works perfectly (even the Inverse Kinematics), so I was wondering what command should I perform in my script to achieve the same effect in translation that I achieve with the mouse (clicking G, then move the mouse cursor, left click), like the following image:

So I am really looking foward for a way to achieve this effect trough python code, without the UI interaction. By the way, the following command does not work (I do not know why tough) bpy.ops.transform.translate(value=(1,0,-5)).

Just another question that could solve all of my problems, is there a way to see what commands is the blender UI applying to the skeleton so I could just copy the command of whatever I am doing to the script to achieve whatever I desire?

Thank you so much.

Is there a way to see what commands is the blender UI applying to the
  skeleton so I could just copy the command of whatever I am doing to
  the script to achieve whatever I desire?

Yes, you can run blender with the --debug flags. For example:

./blender --debug-wm

or

./blender --debug-all


Red circle appears as cursor When LMB clicking the mouse is replaced by a red circle. This unfortunate behaviour occasionally disappears.

How can I get rid of that?
(I can't connect nodes properly, because the cursor changes.)

[Few minutes later.]

That is the Grease Pencil Eraser.

Make sure there are no other inputs except for the mouse. In this case there was a graphics tablet with the pen in near proximity.


How do I save my sculpture? I created a person's head using sculpt, but when I go to Edit or Object mode, it just shows as a cube. I'm not able to apply modifier because when I try, Blender shows an error:

  Constructive modifier cannot be applied to multi-res data in sculpt mode

Yet when I do it in Object mode, it remains a cube.

What to do?

Similar to a subsurf modifier, the multires modifier has settings that determine what level of detail is used for object mode, sculpt mode and rendering. If you only see a cube in object mode then you most likely have the preview set to 0, simply increase this to see your sculpt detail.

Note that the detail shown from the preview setting is used when you apply the modifier, which must be done while in object mode.


One of my objects obstructs the others in solid mode I'm creating a donut in Blender.
Problem: In Solid mode, I'm not able to see the sprinkles of the donut. However, in the Material and Rendered modes I am able to see them. How do I see the sprinkles in the Solid mode too?
For example, here's the Material mode preview:

And, here's the Solid mode preview: Can't see the donut's sprinkles!

Go into the bun object properties (orange ish square in the properties editor) and uncheck "In Front" if it is on.


Why does my scene preview look so different than the render? In my 3d scene view, with display mode set to "textured", my texture looks fine. But when I render it the texture stretches all over the place. All my settings are at default, just a single sun object for lighting.

Ensure that you have UV mapping selected in Properties > Textures > Mapping > Coordinates:

If you only have one UV map it's not necessary to select it in the Map drop down, but you can if you want.


How to make particles fall like snow I'm trying to make a blender animation for Christmas, so I am kind of pressed for time. It is snowing in the scene, so I have watched tutorials on the particles.
I tried it, but it looked too much like rain when I plated the animation. Snow is supposed to lightly drift to the ground, and when I use the particles it looks more like rain and it fell way too fast.

How can I get a  snowy effect without the rain effect?

There are several things you could try, here are a few:

Try increasing the Drag force in Particle Settings > Physics > Forces to make particles affected by air resistance:

Decrease the influence of the scene Gravity in Particle settings > Field Weights to make particles fall more slowly:

Add a Turbulence force field (ShiftA> Force Field > Turbulence) to make particles drift in random directions, simulating eddies and air currents:

Result:


Subdivision makes one part of my knife thicker than the other https://gyazo.com/0378ac77fdd3d4756cea85b0990cb684
https://gyazo.com/2646c6698b74b056077a73a3347fec11
Any help?
When I try to subdivide this edge it seems to make the width uneven with the rest of the models width.

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


What would be the most efficient way to retopo this mesh? Should I just make the low poly version by removing the modifiers then bake, or start from scratch like how most people retopo a human?
edit: I'm going to use it as a video game asset.

The geometry looks OK. You do not need to retopologize this. It can be improved by editing and removing some loops or sliding some edges(Shift + V) and merging some vertices, but I don't think you need to do a lot here. Starting from scratch seems unnecessary for many purposes. Obviously, since you did not tell anything about your context or what you are planing to use it for, it's hard to say for sure.


How to access the bundled Python executable for subprocess in Blender scripts? There is now a python executable in the blender install folder, It's clearly said that it was included for subprocesses purposes (here : https://developer.blender.org/T43486)

But how can we access it through scripts ?

The path to access this is bpy.app.binary_path_python

The exact details on how you should run the process are up to you, and not Blender spesific.

Best try the subprocess module, but os.system will work too.

Heres a very simple example calling a Python sub-process.

import bpy
import subprocess
import time

command = (
    bpy.app.binary_path_python,
    "-c", "import time; time.sleep(2)",
    )
proc = subprocess.Popen(command)

while proc.poll() is None:
    print("Waiting...")
    time.sleep(0.1)

print("Finished with exit code %d" % proc.returncode)

For an example of how to run Python as a subprocess without locking up Blender, see this Q & A.


Creating Loop Cuts in any direction I want to create loop cuts in a direction that Blender does not allow me to. As far as I know.
Anyone have a solution how to create the loop cuts as shown in the image attached.

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

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


Array Modifier, no Texture on End Cap I'm on blender 2.90, trying to attach an end cap with a texture to an Array that's following a curve.
Though for some reason in the array the texture is not displayed.
I have no idea what's going on. Scale is on 1.0 for both objects, texture is mapped to the UV coords and I even tried adding the textured material to the Array.

what it's supposed to look like

what it looks like in the array

This is an old limitation, it seems.
To make it work, you need to place the material (only one) of the start/end caps as first material in the material slots of the arrayed object.

If the caps have two different materials, that won't work (only one is taken into account).


Save Python objects in blend file? I am animating a scene with the help of bpy.app.handlers.frame_change_pre hook.

I'd like to be able to store the "initial state" (vertex position in this case) in some Python objects so that I can reset the animation after the changes made by the handler and even if I overwrite my .blend file with my "changed" scene. As a matter of fact, the next time I load my file, the initial state will be the "changed" one.

So, my question is, more or less, can I save Python objects in my .blend file?

A possibility is to use some hidden mesh (or other native Blender object type) to store the wanted data.

Also, as indicated by @batFinger in comments, you can use text blocks as a more versatile solution, if needed.


Blender crashes when running custom operator EXCEPTION_ACCESS_VIOLATION I'm trying to write my operator that will simulate the local view (Because I need to create new meshes, and some other functionalities that are not supported in blender's local view). Script acts as expected, but when I try to run some other custom operator that I wrote (for example, one that adds some custom properties on an object), blender crashes from time to time without warning. Crash doesn't happen every time, but at random, maybe one in ten times. I tried running blender from windows console, and I get an error: EXCEPTION_ACCESS_VIOLATION. I'm pretty much lost here.

Here is script for local view:

bpy.types.Scene.hidden_objects = []
bpy.types.Scene.is_isolation_mode = bpy.props.BoolProperty(default=False)
bpy.types.Scene.is_isolation_mode = False

class IsolationMode(bpy.types.Operator):
bl_idname = "my_operator.isolation_mode"
bl_label = "Enter/Exit Isolation"

def execute(self, context):
    if bpy.types.Scene.is_isolation_mode:
        for hidden_obj in bpy.types.Scene.hidden_objects:
            hidden_obj.hide = False
        bpy.ops.view3d.view_all()
        bpy.types.Scene.hidden_objects = []
    else:
        for obj in bpy.context.scene.objects:
            if obj.select == False and obj.hide == False:
                bpy.types.Scene.hidden_objects.append(obj)
                obj.hide = True
        bpy.ops.view3d.view_selected()
    bpy.types.Scene.is_isolation_mode = not bpy.types.Scene.is_isolation_mode
    return {"FINISHED"}

def register():
    bpy.utils.register_module(__name__)

def unregister():
    bpy.utils.unregister_module(__name__)

And custom script that crashes Blender (this is just one example, there are several scripts, and they all tend to crash Blender:

bpy.types.Object.material_type = bpy.props.EnumProperty(items=
                                                    (('0', 'Normal', 'Normal layer'),
                                                     ('1', 'Additive', 'Additive Layer'),
                                                     ('2', 'Subtractive', 'Subtractive')),
                                                    name="")
class SetLayerType(bpy.types.Operator):

bl_idname = "my_operator.set_object_type"
bl_label = "Set Layer Type"
bl_options = {'REGISTER', 'UNDO'}

layer_type = bpy.props.EnumProperty(items=(('0', 'Normal', 'Normal layer'),
                                         ('1', 'Additive', 'Additive Layer'),
                                         ('2', 'Substractive', 'Substractive layer')),
                                  name="Mode")

def __init__(self):
    self.update_properties()

def draw(self, context):
    layout = self.layout
    layout.label(text="Layer Type")
    layout.prop(self, 'layer_type')

def invoke(self, context, event):
    if len(bpy.context.selected_objects) == 0:
        self.report({'ERROR'}, "At least one object must be selected.")
        return {'CANCELLED'}
    return {"FINISHED"}

def execute(self, context):
    for obj in bpy.context.selected_objects:
        obj.material_type = self.layer_type
    return {"FINISHED"}

def update_properties(self):
    if len(bpy.context.selected_objects):
        obj = bpy.context.selected_objects[0]
        self.layer_type = obj.material_type

def register():
    bpy.utils.register_module(__name__)

def unregister():
    bpy.utils.unregister_module(__name__)

Kinda hard to answer this q in it's given format. As pointed out by @RayMairlot you are using property definitions incorrectly which is very a likely cause of your woes, possibly with the list bpy.types.Scene.hidden_objects, especially if you have removed (deleted) an object that is in the list prior to accessing it again.

When using bpy.props to assign properties to classes registered with Blender for example you assign the is_isolation_mode property to the Scene class.

bpy.types.Scene.is_isolation_mode = bpy.props.BoolProperty(default=False)

And access on each instance of the class, eg bpy.context.scene , bpy.data.scenes["Scene"] etc.

And definitely NOT by doing this

bpy.types.Scene.is_isolation_mode = False

which assigns false to is_isolation_mode for all instances and cannot be altered from the instance. Toggling above to true makes it true for all instances, which is not what you want.  Example code below from the console.

>>> C.scene.is_isolation_mode
False

>>> C.scene.is_isolation_mode = True
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
AttributeError: 'Scene' object attribute 'is_isolation_mode' is read-only

Suggested Alternative Method

A suggested solution to having a pseudo-local mode is using an update method on the is_isolation_mode property assigned to the scene object.

Example code: when in isolation mode all visible objects, except the context object, are hidden and given an "isolation_mode" ID property.  They are unhidden and the prop is removed when not in iso mode.

import bpy
from bpy.props import BoolProperty

def hide_mode(scene, context): # standard to use self here to show it's a prop
    if scene.is_isolation_mode: # scene is also context.scene
        obs = [o for o in scene.objects if not o.hide and o != scene.objects.active]
        for o in obs:
            o["isolation_mode"] = 1 # could be anything (bool, int, float, string)
            o.hide = True
    else:
        obs = [o for o in scene.objects if o.get("isolation_mode")]
        for o in obs:
            del(o["isolation_mode"])
            o.hide = False
    return None

bpy.types.Scene.is_isolation_mode = BoolProperty(default=False,
                                                 name="Isolation Mode",
                                                 description="Blah Blah",
                                                 update=hide_mode)

# prepend a toggle button on 3Dview header

def draw_toggle(self, context):
    scene = context.scene
    layout = self.layout
    layout.prop(scene,
                "is_isolation_mode",
                toggle=True)

bpy.types.VIEW3D_HT_header.prepend(draw_toggle)

Toggle button on 3D header

Set via script in python console.


Game engine's tic delay in python - how to do? The GE has a simple feature that allows you to execute logic bricks at a given time (tics). For example, I can have my object move every 5 tics: Always (5 frequency) > and > Motion. How can I have tic delays of the GE in python? Thanks.

This is a bit more of a general programming question, than a Blender question, so you might have more luck over at StackOverflow, though they might also have trouble answering because you're in the Blender environment.

That being said, the general idea is that you want a check that will determine how much time has passed since the last "tic." You'll decide that a "tic" is 100 milliseconds, 10ms, 5ms; whatever length of time makes sense for your application (ticking too frequently is called "thrashing" the CPU, a term which might help you with future research). If enough time has passed, it executes a "tic." If not, it yields to some higher level process like an outer loop, the main program, or even the OS. You can yeild by having an if that just skips over some code if it's not time to tic yet, or you can use a function like sleep() that actually tells the CPU "I won't need any time on the processor for at least x seconds" and then the OS handles the wait time.

It's a common problem to which you should be able to find lots of solutions, some of which you'll be able to tailor to Blender.

More on sleep(): http://pythoncentral.io/pythons-time-sleep-pause-wait-sleep-stop-your-code/

Hope that helps!

EDIT: With @blackhole 's contribution above, you know that a python script will run every tic. Knowing that, you can just skip tics:

tics_skipped = 0
if tics_skipped > 5
    #reset the counter
    tics_skipped = 0
    #then do the other things that need to happen here
else
    #otherwise, skip this tic and increment the counter
    tics_skipped = tics_skipped + 1

That being said, there's no guarantee that BGE tics are consistent. In fact, I'll bet you they aren't. A "tic" is probably a single pass of the GE doing everything that it needs to do for one frame. That might take 0.001 seconds, or it might take 10 seconds, but that's one tic. Depending on what you're trying to move and how, there's probably a good, standard way to do it. I just don't know what that is ;-)

You might use this same idea to check the amount of time that's passed, but you're going to have to look into how to get sub-second resolution. It's possible, but it's not trivial.


How to get round "salient" shape of building I am trying to model that building (red arrows)

Using Simple Deform modifier on a ordinary rectangle building allows bending "outside", but not "inside" as i need on the picture.

Any ideas how to to do that to have the result from the pic?

In whichever space is specified, the Simple Deform > Bend modifier progressively rotates elements about Z, by a factor of the element's X distance from the origin.

(The X distance is normalized, so there is 0 rotation at X=0, and min_X -> max_X is mapped onto the total angle of bend)

The direction of rotation is determined by Y of the specified space. The 'inside' of the bend is in positive Y.

By default, the modifier's space is set by the pivot of the modified object, but you can set the origin and orientation of the modifier to the pivot of any other object by allocating it as 'Axis, Origin' in the modifier. (Usually using an empty)

This object was created with its ridges up in world Z, its length down X.

The object bent around its own pivot, aligned to world

Using an Empty as the modifier's origin, with its local Y rotated to world positive Z

Using an Empty as the modifier's origin, with its local Y rotated to world negative Z


Blender Game Engine: do something when an actuator happens I've made a shooting scene in the blender game engine and I want a property of the gun to show how many shots have been fired. This is how the shooting works:

There's an integer property on the gun called "shots_fired" and I want this property to increase by 1 every time the shoot animation is played.
I've tried to have true-level triggering with different skip amounts but it's not working properly

Ironically, we have an "Actuator" sensor. weird right?
all you have to do is set up one of these and it will send a positive pulse every time the specified actuator changes.

or (recommended) you can simply hook the property actuator to the exact same sensor that your fire animation uses.


Blender 2.77 renders smoke\fire domain solid black on GPU (Cycles) I have just updated to 2.77 version and was very exited about using GPU for rendering fire.

When I tried to render the test scene I got this:

Though it should look like this (rendered on CPU):

Blender is rendering domain solid black for some reason.
I got the following configuration:

AMD Radeon R280x (3Gb)

OpenCL Version
2.0.4.0

At the time of writing, smoke/fire is still currently only supported on CUDA/Nvidia cards.


How to create triangle/jagged edges on a cylinder (e.g. for a lamp shade) I'm looking for a good practice method of creating a triangle/jagged cylinder. My intention is to create a lamp shade with this zig-zag edges like the following. Basic stuff but I don't get it done.

example image http://www.shapes.info/s/cc_images/teaserbox_2450143432.png?t=1421415920

So, I played around with circles and paths in combination with the (array) modifier(s) but didn't accomplish the desired result. I tried with the modifiers because I like the handy way to adjust the outcome.

TIA.

This is pretty straight forward. The advantage of this technique is it keeps the crease depth equal from top to bottom, just like a real world lamp shade.

Create a cylinder. Choose No Caps, and set the subdivision to 64.
Scale the cylinder on the Z axis (S+Z) to get the correct height.
Tab into Edit mode, switch selection mode to Edges
Select one vertical edge, then in the Select menu choose Select Similar>Length to select all the vertical edges
Select Checker Deselect in the Select menu to deselect every other edge
Click S+SHIFT+Z to scale the selected edges in towards the centre of the cylinder
Tab into Object Mode and add the Simple Deform modifier
Adjust the Deform Factor to a negative value to get a narrow top and wide bottom for the lampshade.


How to clean the scan data in Blender? sorry, absolutely beginner here.

I need advice how to fix some problem areas in the texture of scanned model.
see the attachment.

Thank you.
Gregory

Blender has a texture painter tool that could fill in that area with a smooth color. If all the textures have their own UV islands, it is a simple fix.


Rigid Body Simulations never work- everything flies in random directions I am so confused. I try to make a simple rigid body animation.
There is one piece in the middle which rotates and some other parts are connected to it and should move if the rotation is taking place.
However, if I start the animation, then everything just flies in random directions, even though i selected Mesh everywhere.

This one is rigged, not physic'd.  (I've treated it as a lock)
(Blend file below)

The bones are pulled in reverse to guarantee the locking shaft will move in a dead straight line.
To this end an Empty is animated to the left and is a parent for the shaft.  It's also an IK target for the bone that controls the middle linkage.
As it moves it pulls that bone across to effectively rotate the 1st child-bone that parents the disc, forcing it to rotate also.
It's all done back to front but as far as I can make out, it's the only practical way to guarantee the locking shaft won't vary from it's straight path.
As you've come to realise, Blender is an animator/modeller, not an engineering tool and does require some innovation to get around it's physics limitations at times.  It can be a marvelous brain stimulator!


How to add weight to your textures Soo i have started using texture in blender and i want my textures to look real like they have depth i have download textures and i know there are various type of textures like ambient, roughness etc. But i don't know how to connect each of the in shader node soo plz help me out with this

First, let me explain what the different texture images are:

Diffuse - A normal picture of the material
Albedo - The color of the material (diffuse minus shadows)
Ambient Occlusion (or just AO) - The shadows of the material
Displacement - A depth map of the material (white = high, dark = low)
Normal - Which way the each point on the surface is facing (next to diffuse/albedo, this is probably the most important)
Roughness - How rough each point on the surface is
Glossiness - How glossy each point on the surface is (this is literally just the inverse of roughness.  You only need one)

Here's how you can connect each of them to the Principled Shader:

In that example, I'm using the albedo texture for the base color.  Here's a comparison using the albedo texture, diffuse texture, and albedo along with the ambient occlusion.
Albedo:

Diffuse:

Albedo + Ambient Occlusion:

(Note, you can probably get the colors to match the previous two better if you use something like the color ramp node between the Ambient Occlusion texture and the mix color node)
For the normal texture, you need to use the Normal Map node.  For only the displacement texture, use just the Bump node.  For both textures, use both nodes as I showed in the example.


How to start a Time Node? my goal:

This is my first compositing attempt in Blender, my goal is to create an animation shown in the render window, the animation is a simple shift from one colour to another within about 100 frames.

what I did and thought:

To achieve this, I put a composite node for displaying the rendering, I took two RGB-nodes, each with a different colour, and connected them into a mixer. In order to obtain a shift from one colour to the other I connected the time-node into the fac-input of the mixer. The time node is set to a frame range from 1 to 100 frames, I thought the time-node would automatically go from frame 1 to frame 100 once it is connected to the mixer, yet in reality the value from the time-node into the mixer did not change at all, the displayed colour stayed the same.

the main-question:

What do I have to change in order to make the time-node run from start-frame to end-frame ?

The idea of the Compositor is editing some kind of Input. Either the rendered result via Render Layer Node or an arbitrary image from your hard drive via Image Node.

At the moment it's only possible to set up an empty plate in the compositor via Mask Node.

256x256px 'canvas' - automatic animation via Time Node

Note: It's not necessary to use a Time Node (in your case), because it's also possible to animate the Fac value of the Mix Node, related: Is it possible Animate the Compositor node parameters?

256x256px 'canvas' - Fac value animation


Cycles displacement with Volume scatter I'm not sure if it's a bug, but when I apply a volumetric shader in an object with adaptive subdivision+displacement, the final render on Cycles ignores the displacement.

Render with surface shader (diffuse):

Render with volumetric shader (scatter+absorption):

Mesh in viewport:

Is there a way that I could use cycles displacement with volumetrics?

Using cycles displacement combined with volumetrics seem to work only if you are using the 'Object' texture coordinate.

I tested the following : Generated - UV - Object

I don't know if it's a bug, but we can see the displacement in the rendered viewport if we add a surface and remove it

So if you want to use other coordinate than Object, you have to use the displace modifier


Dynamic Paint Cycles - How do you make waves caused by an object to turn white? So I am trying to simulate a motorboat using a sphere in Blender Cycles using dynamic paint. So the sphere goes across the water and causes waves but I want the waves to slightly turn a whitish color because if you have ever seen a motor boat go over waves in real life there is always a trail of white waves behind it.

My waves so far:

What I want the waves to look like:

Node Set Up for first image:

When I tried to apply the answer I got this as my result:

Blender File:

Geometry Input - Pointiness

You might want to experiment with the Geometry Input and try out Pointiness to mix the whitecaps with the water.

Update

The order of the Shader inputs is important. If white becomes the dominant color, the inputs on the Mix Shader need to be swapped.
The black value in the color ramp should start at 0.5 or above. We want to preserve the water material and only add the whitecap material to the pointy parts of the mesh.

If an answer was helpful please consider marking it accepted

Here's your updated blend file:


Modeling/editing in imperial units I am attempting to model in Blender 2.79b using imperial units. Unfortunately, the majority of the objects I'm modeling are based on schematics in imperial units, and converting constantly will significantly increase build time.

I have set the units in Blender to feet, as instructed, and am modeling shapes normally. I noticed, however, that if I change dimensions on an object, I have to include the ' or " in the measurement that I enter, otherwise Blender will change the dimension a seemingly random amount (entering 14 for 14 feet causes the program to change the dimension to roughly 4 feet, not 14).

When extruding or using other modifiers, I can't input these symbols at all and again the measurements appear to be random fractions of what they are intended to be. It seems to me something about the scale or inability to input feet and inch markers is causing it to behave strangely, but I am not familiar enough with the software to trace the issue.

Is there a step I am missing that will allow me to model/modify without having to manually select and edit fields in the menus to produce the desired result?

Thank you.

I believe if you switched to imperial units and just use for example extruding for 1.5 it will be 1.5 feet or 1'6". To do ' or " signs while doing these operation you need to use "advanced mode" pressing = after choosing operation. Not sure if there are addons/better ways for using imperial units. Some info on advanced mode from similar question. Also you could check "Separate Units" on Scene tab under Units settings, so you can see units as separate, otherwise by default you could see 1.5' instead of 1'6" during/after operations which can be quite confusing.


Do samples affect Normal map baking? I was wondering if the samples matter at all when you're baking a normal map. I don't think so, but I just want to make sure.

No, samples have no effect.

A sample is a measurement done by shooting a ray into the scene. These rays scatter randomly inside the scene, so the more samples the more accurate information about the scene.

Normal map needs only 1 sample because there is no scattering. From every pixel of the normal map mapped on your lowpoly in the scene you need to send only 1 ray till it hits the highpoly, and store the surface direction into the normal map pixel. There is no additional random scattering after that, you get the exact finite value just there.


API: Is there any faster way to add/link material nodes? I'm looking at an importer addon that needs to create thousands of image texture nodes and links but with the nodes.new() and links.new() methods there are huge slowdowns; it's currently taking 20 seconds to create a couple thousand materials and close to 10 thousand nodes/links (it takes 5 minutes on the heaviest import which has over 5 thousand materials). I presume this is because of internal update functions and I'm wondering if there's a way to prevent them at least until the create/link operations are done.
All I could try up to this point was batching all the link operations together, unfortunately there was no change, unlike with scene linking.
Since the code and data involved are complex, here's a snippet that emulates the bottleneck but to a smaller degree (takes ~45 seconds to run here), I believe the importer itself is slower due to the added node tree complexity of the shaders, which are in node groups.
import time
import bpy

group = bpy.data.node_groups.new('dummy group', 'ShaderNodeTree')
for i in range(5):
    group.inputs.new('NodeSocketFloat', str(i))

start = time.time()
for mat in range(5000):
    mat = bpy.data.materials.new(name = str(mat))
    mat.use_nodes = True
    tree = mat.node_tree
    nodeGroup = tree.nodes.new('ShaderNodeGroup')
    nodeGroup.node_tree = group
    for i in range(5):
        nodeTex = tree.nodes.new('ShaderNodeTexImage')
        tree.links.new(nodeTex.outputs[0],nodeGroup.inputs[i])

print((time.time() - start))

Make 1 material and copy it.
In as much as I agree with the comment of
@MarkusvonBroady in that investigating making a single material and passing an argument re which image to use, especially if texture image is the only  difference per material. eg akin to Is possible play video in reverse mode into Texture Image node? with a static input like Object.pass_index.
Can get some improvement in script above by making the material once and copying in N - 1 times.  (Note tested with 500, since life's too short for 5000 on my crap machine ATM)
import time
import bpy

group = bpy.data.node_groups.new('dummy group', 'ShaderNodeTree')
for i in range(5):
    group.inputs.new('NodeSocketFloat', str(i))

start = time.time()

mat = bpy.data.materials.new(name="0")
mat.use_nodes = True
tree = mat.node_tree
nodeGroup = tree.nodes.new('ShaderNodeGroup')
nodeGroup.node_tree = group
for i in range(5):
    nodeTex = tree.nodes.new('ShaderNodeTexImage')
    tree.links.new(nodeTex.outputs[0],nodeGroup.inputs[i])

def cp(i):
    m = mat.copy()
    m.name = f"{i}"
    return m
# even quicker without renaming
# mats = [mat.copy() for i in range(1, 500)]
# or consider using generator.
mats = [cp(i) for i in range(1, 500)]
print((time.time() - start))

after running a few times this was 47x quicker than using question code. (with 500)


where can I download a "text" addon? I'm not very good in the subject of addons, and when I wanted to be able to add a polysphere on blender, I googled around and found an "Add_mesh_round_cube" addon which I believe should be correct. It's on the blender developer website, so I think it's quite a legitimate source:

When I selected the addon on the list (as seen above) I came to this page:

Apparently this is the python text of the addon. But I don't know how to proceed from here. Can anyone help me out?

Thanks for reading!

Select the text and copy it, then paste it into a text editor and save it as something like Add_mesh_round_cube.py (make sure to give it the .py extension).  Now you can load it into Blender like any other addon.  Open the User Preferences (Ctrl+Alt+U) and go to the Addons tab, then hit Install From File and select the file from your computer.  Then click the little checkmark next to it to enable it.

Note that, as others have mentioned, the specific addon you are looking at is already bundled in Blender by default, so you can just find it in the list and enable it.


Is my texture gone if I accidently clicked on "blank" in UV mapping? I accidently clicked on the "blank" button in the UV editor. I had a texture I painted in texture paint mode in the last two hours and I didn't save it. Is it really gone now?

Yes, unfortunately it's gone forever. Hopefully there will be a day where you can undo that, but in the meantime you should save your images often or paint your textures in another app. There are lots of decent texture painting softwares out there: Mudbox, Mari Indie, 3D Coat, Mari, Substance Painter, Quixel Suite, Bodypaint, and so on, and most of them have better layer management than Blender and care more about keeping your data intact.

If you pick Mudbox make sure to turn up Brush Sample Area under Painting in the prefs. The other apps have sane defaults. If you stick with Blender (which is actually not a bad choice) just make sure to constantly ask yourself, If Blender crashed right now or my image disappeared, would I cry?


Displace Modifier: reset scale problem HERE THE FILE

This is my tunnel with all my stats . . . I had a sub surface and the displace with CLOUDS.

I want to import this model in Unity and I have to change the metric then I click on scene and modify the general scale from 1 to 0.01. After that, I scale my mesh in order to bring it back to correct measures. Now the situation is this

My mesh has the scale settings (100 100 100).

In oder to reset the scale to (1 1 1) I press Ctrl + a and then Scale. The displace disappears cause the new scale:

The only way to bring it back is to increase the value of the strenght (from 0.2 to 20) in the displace, and i did it but the result is this below:

The problem is this: It's completly different from the initial result i had before! Take a look

It's look like denser, and sharper . . . How can I fix it? What could be my error in this workflow?

Thank you so much for the help!!

I see no problem in your scene, it's just that you need to multiply the size of your texture by 100 not by 10, idem for the strength


Issue with strange faces around joints I have been working on character modeling for the first time, having done static objects for some time, and have run into an issue. I created the hands and feet separately of the rest of the model, then connected them, but at the wrists and ankles I am getting odd distortion, as pictured. I've already eliminated N-Gons, converting them to tris, and flipped normals, but nothing seems to work to eliminate the distortion. I cannot identify why this is present, or how to remedy it. Any explanation or fixes?

Recalculating mormals fixes it locally, but just shifts the problem to another, nearby part of the model.

Select everything in edit mode and hit Ctrl-N to recalculate the normals on your object. It looks like some normals are facing outward, others inward. That is why flipping the normals didn't fix your issue, as it flips them all, and you still had some facing in and some out.


Move Object on Path through physical properties I want to create a object the moves on a path or curve but its motion is determined by physics not keyframes.

So for example if the curve goes down the object would increase its speed or if the curve gets more steep it would decelerate.
I also want to create acceleration points that accerlerate the object articfially like a boost field in a racing game.

Any ideas?

Thank you

This is an interesting question, and there is probably a better way than what I'm going to suggest.  But in the absence of another answer, one way you could approach it is to actually just simulate everything, including the curve that needs to be followed.

Let's say you want your object to follow a curve object.  Make your curve into a tube - in the Curve tab, under Shape, set Fill to "Full"; under Geometry, set the Bevel depth and Resolution to values that give you the kind of tube you want.  It's going to have to be the kind of tube that, in the real world, a marble would roll down, i.e., it's going to have to start relatively high on the z axis and slope down overall, although there can be sections with upward slopes.

Convert your curve to a mesh.

Make a ball object (e.g. a round cube).  Scale it to fit comfortably within your tube.  Put it at the start point in the tube.

Enable rigid body physics for the ball and the tube.

Ball:in Physics tab, under Rigid Body, set Type to Active; under
Rigid Body Collisions, set Shape to "sphere"; set Friction and
Bounciness to zero; under Rigid Body Dynamics, set Damping to zero
for Translation and Rotation
Tube: in Physics tab, under Rigid Body, set Type to Passive; under
Rigid Body Collisions, set Shape to "Mesh"; set Friction and
Bounciness to zero.

If you set your simulation going, the ball should roll along the tube, obeying gravity and angular momentum.  However, I've found that even without friction and damping, the ball loses momentum over time and can't climb small hills it should be able to climb.  The ball kind of bounces around in the tube which is partly impacted by the tube geometry, I have not found a way to really eliminate the bounciness.  Adding geometry to the tube only seems to make things worse.

Now, parent whatever object you actually want to animate to the ball.  This object shouldn't have any physics on it.

I have tried playing around with acceleration points using empty objects with Wind force field physics, but this has been . . . well it's fiddly.  Getting the strength and falloff right seems to be quite difficult.

Alternatively there is a "Curve Guide" type of force field, which can be set only for curve objects.  However this force seems to affect only particles . . . which is fine, you can create a particle system with a single particle and it is affected by the curve guide field.  The bigger problem is getting the curve guide force to integrate with gravity and angular momentum, and that may be . . . well I haven't had any luck.


What causes this deformation when switching to FK mode? I created a walk cycle where the person moves from point A to point B.

I added a circle in object mode, then I added the constraint in pose mode. But when I put in forward X up to Z I get this amazing deformation of the object!
What is the problem? It seems that the problem occurs during the switch between IK and FK modes. Until now, I could not understand these tools.

Why do I lose the motion? In fact, When I try to execute the walk cycle in FK mode using the snap buttons, I lose all motions in IK mode!

After you created a walk cycle as described in an earlier post: How should an animated character be moved while repeating a walk cycle?

If only takes a few keyframes where you move the legs and arms

Note that the movement has to be in place, no keyframes must be added to the root bone.

Create a curve (This example uses a bezier circle) and add a Follow Path constraint to the root bone.

In the NLA editor add your action holding the walk cycle and set the repeat value that it matches the length of the animation.


Inscrutable lighting artifact in eevee I have this lighting artifact in render mode (only eevee though) that leaves a "square". Both meshes are manifold, everything is quads (no ngons, tris). The light source is an area light, but the same artifact shows from point light. Subsurface modifiers are the only modifiers that are present and even when applied the problem is still there. Here are screen shots:

Any ideas, is this only eevee stuff that I can ignore?

You can try moving the lights around a bit and increasing shadow resolution. You can also turn on screen space ambient occlusion to try to mask the error. Other than that, it's nothing you did wrong, just Eevee, as far as I know.


Keep sharp edges when using subdivision surface How can I use the subdivision surface modifier to create more high poly meshes without ruining sharp edges?
For example this mesh

The sphere should be subdivided but the rim of the cylinder should stay the same because it is a sharp edge.
This is the result of the subdevision

How can I get sharp edges to not be affected by the sub surf mod?

You have two options:

Add supporting geometry (Loopcuts CtrlR and beveling CtrlB both work well):

The Subsurf modifier demonstrates why good, clean topology is so
important. As you can see in the figure, the Subsurf modifier has a
drastic effect on a default Cube. Until you add in additional Loops
(with CtrlR), the shape is almost unrecognizable. A mesh with a
deliberate topology has good placement of Edge Loops, which allow the
placement of more Loops (or removal of Loops, with X » Edge Loop) to
control the sharpness/smoothness of the resultant mesh.

Use Creases (ShiftE):

Weighted edge creases for subdivision surfaces allows you to change
the way Subsurf subdivides the geometry to give the edges a smooth or
sharp appearance.
The crease weight of selected edges can be changed using Transform
Properties (N) and change the Median Transform slider. A higher value
makes the edge “stronger” and more resistant to subsurf. Another way
to remember it is that the weight refers to the edge’s sharpness.
Edges with a higher weight will be deformed less by subsurf. Recall
that the subsurfed shape is a product of all intersecting edges, so to
make the edges of an area sharper, you have to increase the weight of
all the surrounding edges.

Creases tend to produce a sharp, hard edge which tends to look less realistic (and also tends to require an Edge Split modifier if used with smooth shading), while supporting geometry tends to give a subtly rounded edge which looks more realistic and does not require an edge split modifier. However, using supporting edge loops also tends to add a lot of extra geometry.


How can I merge objects in Sverchok and Animation Nodes? I would like to know how I can merge objects into single object in Sverchok and Animation Nodes. I do not want to merge them physically with Ctrl-J, I just want the merging to be dyanmic if you will.  So if I update one of the merge objects , the final merged object would update with the new shape changes basically.

Thanks

Yes it's possible. First we need to put all objects inside a collection.

Using Animation Nodes

In Animation nodes we can use collection info node to get all objects, then convert them into mesh list using Mesh Input node(Mesh Input node don't have vectorized input so we need loop). finally merge it using Join Mesh List node.

Using Sverchok

In sverchok we only need these 3 nodes, Our new connected object is Alpha.0000


Why does one of the faces show dotted in editmode? I just started blender a few days ago and I noticed that when making faces, they sometimes have this dotted texture compared to the generic smooth texture. I have been having difficulties with this and was wondering why these dotted faces are different from the regular faces, how do I get rid of them and what are the advantages of using them?

This is my image:

Thank you!

The last selected faces is known as the Active Face and draws with a Stipple overlay (dots),

This is used to determine which texture to show in the image window, since its possible to UV map multiple images from a single mesh.