Second material with an emission shader making the scene darker I have a stripped-down scene with a lamp and a tv screen, each having an Emission shader, I am using Cycles renderer, Blender 2.92, Windows 10.
UPDATE 2: After making several changes to reflect the suggestions form Rich and Martynas it looks better now IMO. (Far from perfect, I admit.) While the scene is now significantly dimmer the light output is more realistic IMO, for such a small lamp and supposedly OLED, and mostly black, screen:

(There is now only a hint of purple tint on the couch from the screen, as it should be. Also the lamp is burning phosphorus no more.)
All changes made are listed in the comment under Martynas' answer.
UPDATE: After sleeping on it, now I think the Clamp of Indirect Light is the key, and I should instead fix the artifacts. (See section "What I tried.")
The file

The issue
When the tv screen is not in scene the lamp shines as expected...

...when I add the tv the whole scene actually seems dimmer. (See the shadow on the lamp base.)

The shaders
the bulb shader:

(Yes, I went with 10000; started with 1, 100, 500, but all seemed too dim.)
the screen shader:

Render settings

What I tried
I tried to play around with Clamp for Indirect light, changing it from 15 to 0. The scene actually got brighter, even too bright, but I was getting strange artifacts. (I tried to fight those by changing the Denoiser settings, but achieved nothing.)

Rendering the scene with CPU only.
Tossing out the Light Path + Mix shader from the screen material. (The hypothesis being that maybe this affects rays emitted by the bulb material.)

Clamping stops light from being brighter. So if you need a light with strength of 10000 and clamp it at 15, you lose most of its effect. Turn off clamping at first, set up lights for the scene and only then check the values in your render by right clicking and dragging on the render result(maybe render a small test area) to adjust your values for the clamping when fireflies become a problem. You should use higher values than the brightest fireflies in your render. The "strange artifacts" have replaced the "strange noise" in previous versions without denoising and simply means you do not have enough samples. Increase the amount of samples. You could also add bigger light sources to your scene to avoid noise/denoising artifacts. It might also make sense to have more max light bounces in an interior scene.


Odd angle object alignment I need to attach half of sphere to this surface, but I don't understand how do I go about aligning it.

Select desired vertex.
Press Shift+7 on the numpad (and maybe 5 to switch to the orthographic mode). It'll place viewport camera directly above your plane.
Press Shift+S and choose "Cursor to selected".
Add a sphere. In the operator settings tick "Align to view".


Proper way of attaching bones to the model Newbie here. This is my first time on 3D modeling, rigging, and Blender. I followed an old tutorial on how to make a simple mech and make it move. Because of it being old and lots of things already changed on v2.7, I resolved on following other tutorials.

So this is what's happening - the whole mech/mesh is just only one entity, I joined multiple parts of it using the shortcut CtrlJ before I added armature. Then used CtrlP > Armature Deform with Automatic Weights.

On Pose Mode, few bones works properly, but most are not. Based on the image I attached below, some parts were left out or others are getting stuck/stretched.

The automatic weights calculation takes normals into consideration. Since you joined multiple meshes together, typically the normals become inconsistent.

What you need to do is go into edit mode, hit Mesh - Normals - Recalculate Outside. Then unparent the mesh (Alt+p), remove the armature modifier, and do it again (select mesh, select armature, Ctrl+P with automatic weights).

Also another method is leave all meshes separate, and parent each piece to a bone (select mesh, select bone in pose mode, ctrl+p and select bone), which is good for mechanical type armature deform. The downside to this is I find this method VERY slow in game engine if you are using that.


Is there any way to avoid viewing inside mesh when zooming in close I would like to know if I can turn off the viewing inside the mesh when I try to zoom in tight to see vertices closer when editing mesh.

What you are experiencing sounds like near clipping. In the viewport, press N, go to view, and adjust your start clip distance. If you are experiencing the issue while viewing through a camera, go to the camera's options and adjust its near and far clipping distances. These distances determine the closes and farthest geometry visible through the view/camera.


How to make a floating mesh rotate? I have a mesh (a hat) with a Rigid Body and Collision simulations.

I have a Wind force field that makes the object float but it's not rotating. How to make it rotate while floating ?

Is it possible to do this with these constraints ? Should I use Fluid simulation ?

I found a solution.

Create two small cubes and add RigidBody to it. ( Delete rigid body on the hat).
Give two different mass to the cube.
Attached the two cubes with an "RigidBidy contrainst". And attach the hat to those cubes.

And it's work.


GPU slower than CPU? I've got a Macbook Pro Retina, Mid 2014, and I'm trying to get GPU rendering to work on it.

I've downloaded Cuda, the GPU shows up in user preferences, and I've selected GPU Compute under the render settings. I've ran the BMW benchmark on both my CPU and GPU.

It takes about 4 minutes 25 seconds using my CPU, and 7 minutes 39 seconds on my GPU. I've downlaoded iStat Menus, and check my CPU/GPU usage during the render. The GPU is being used, but the memory usage is a tiny fraction of it's total memory. I have a 750m graphics card, which should be substantially faster than the CPU.

Why isn't the GPU rendering faster than the CPU?

Screenshot of render:

I'm not sure if you really have any problem here.

Actually here is common mistake made by a lot user that are not into programming.
GPU rendering is NOT faster than a CPU rendering, GPU rendering is SOMETIMES faster than CPU rendering, depending on the rendering algorithm it's used and your graphic card your OS the pipeline etc...
Blender don't use the classic graphic pipeline that the graphic card are design for (they use raytracing instead of rasteriser) so from this point all is about how fast and efficient are every computation.

A little technical explanation:

GPU programming is one of my favourite topic in computer science so I will try to keep it simple.
Actually CPU is A LOT faster than a GPU for one computation (it's like comparing a smartphone with a desktop CPU, really) and GPU love making all at same time (that why you can use Shift+Z in cycle).
Basically if computations are not dependant between them GPU win.
-> So usually the problem is more you have dependency between computations slower it will be on the GPU.

What I think for your benchmark:

You use some shader/material/effect that make dependency between computation or make the GPU wait for some synchronisation and make you GPU render less efficient...

So blender has some optimisation problem ? No, if GPUs were just more efficient than CPU what is the point of keeping CPU ? No it's just a trade, you just have to know what you want to do with your scene (render optimisation you know...). Btw that's why blender keep CPU rendring...
The GPU is really better when you want real time using a lot a tricks that use parallelism a lot. that's also why a PS4 has 1.6 GHz but with 8 cores (for parallelism again) but that's an other story

-> You really have to keep in mind I just THINK this is the problem I don't have your scene to deeply test it or trying track which effect/shader/material take time.

Hope that help. =)

[EDIT]

Even if what I said is true I said also "I just THINK this is the problem" and in fact I've just tested your scene and checked this thread:
http://blenderartists.org/forum/showthread.php?239480-2-7x-Cycles-benchmark-%28Updated-BMW%29

On my AMD AMD A8-5550M APU with Radeon(tm) HD Graphics Processors (AMD Radeon HD 8550G) with my gentoo kernel 3.17.8-r1 and proprietary driver fglrx 14.12-r3, I have:

GPU: 5:54:54
CPU: 17:09:73

which is a pretty huge gap...
So now look at the thread, for OSX you have 2 type or person:

GPU-> not supported
GPU-> slower

So the scene is obviously GPU optimised and what I said before is not the real problem here.
The thing you have to know is OSX has a lot of problem with his graphics drivers (for exemple if you try openGL you are stuck with openGL 3.3). From here what I think is your render time difference is due to Apple's drivers.
I don't work for blender or Apple so I am not 100% sure but from I see here the problem seems obviously coming from Apple. To be really sure I will make some test on the Mac of my room-mate soon.

PS: I'm really surprised the graphics driver from Apple was that bad, I thought it was just "bad" not "really bad"


Turning Off Blender 2.82 VSE Cache Indicator So I've finally made the switch to the Blender 2.8 series.

In the VSE the new visual indication of cached frames is nice, however I find it to be quite distracting.

Is there any way in which I can disable or otherwise make invisible this indicator?  It is unnecessary for my workflow and is somewhat distracting.

I'll facepalm myself here.  Of course it's in the menu system.  View|Cache|View Cache:

Turning off the checkbox removed it from the view.


Movie recorded on phone reports inconsistent number of frames when imported to blender (Blender 2.8 vs 2.9) When I import same movie clip, recorded with my phone, in Blender 2.80 it automatically recognize 1278 frames with FPS 42.28 and that's correct, but blender 2.81 and above recognizes only 923. So when I render clip to frames I'm missing 355 frames although in sequencer when I slide through timeline, I can preview those frames.
I tried to play with FPS and Base settings but with no luck.
Does anyone know what's happening here?
Thank You

42.28 is a non standard frame rate.
Phone cameras use every trick in the book to create small files by using variable frame rate and long GOP inter-frame compression, where the information for each frame depends on the information of a reference key frame.
Video encoded with such schemes cannot be imported into blender without problems.
The easiest way to deal with this is to use an external program to transcode the file into a single stable frame-rate with intraframe encoding (where all of the information for every frame is contained within the current frame).
Blender will work fine with those.


Units display while in Orthographic Blender 2.8 Please tell me you can still display Units while in orthographic in Blender 2.8.

I don't like (or want) to use Overlays only in Edit mode. That is clunky.

If you don't know what I'm talking about:


How exactly does Blender perform a simple deformation? I would like to understand, in detail, the algorithm used by blenders simple deform modifier, specifically the bend tool. I have found the source code but I do not understand exactly what it is doing. It looks like it is assigning weights to the vertices but how does that make the mesh bend? How exactly are the weights chosen? I want to know because I would like to be able to predict how the mesh will deform without actually performing several tests to get it just right.

Is there more detailed documentation somewhere or perhaps a paper which describes the general algorithm? Also, if there is a better place to ask this type of question please let me know.

Thanks.

By following the file history I can find that it was originally developed in the soc-2008-jaguarandi branch. The original documentation for it is here but I don't see any explanation of the algorithm used and there are no comments on papers used.

If you could find a copy of the gsoc application it may have a description of the algorithm.

It's also possible that you could contact jaguarandi who may still remember how it works.


Automatic Node Distribution and Alignment The Unreal Engine has the ability to align and distribute nodes:

Does Blender's node editor have such a feature hidden somewhere?

Default transforms:
You can rotate and scale multiple nodes as you can objects with Manipulate origins enabled:

You can use the usual tricks, e.g. press S X (or Y) 0 to align nodes along a particular axis. Note that the "origins" of all nodes are at the top left.
Node wrangler
This addon comes bundled with blender by default, but you'll have to enable it. It comes packed with all kinds of workflow accelerating functions and shortcuts; press ⎈ CtrlSpace in the node editor to get a menu of all of them.
One such function (⇧ Shift=) aligns the selected nodes:

NodeArrange
An experimental script recently featured which completely rearranges an entire node tree:


how do i get the hair particles to stand up straight The wheat is lying down and I do not know how to get the wheat to stand straight up like i would in real life.I do not know what i could try to fix this

While selecting the particle emitter mesh, go to the properties tab to the particle settings and under "render", check the box which says rotation.  Now you can go over to the wheat object and rotate it (in object mode) until the hair particles on the other object are standing straight up.  You will probably be rotating it by a 90 degree angle.

Let it be known, that in order for this to work correctly, the wheat has to have its origin at the bottom of its stem.


UVmagic tab, where is it? I can't find the tab in the tool shelf for uv magic. The right click menu shows up, but I can't see it as described in the tutorial.

Location    3D View > Sidebar > UV Manipulation.

Also does anyone know of a video tutorial in English?

Thanks

OK I found it, I had to reinstall the addon. I didn't realise it comes as part of 2.79 so I downloaded it from the net. When I installed the download I got a duplicate warning, so I removed the folders mentioned in the warning. That really screwed it. So restored folders from waste basket, restart and there it is! the V magic tab below display tab.


Populating Fcurves Keyframe_Points I am currently working on an importer for captured Shape Key motions. To fasten up the process, I am using the method suggested here. It works perfectly and saves up to a few minutes per import.
I am confused about the way the keyframes are displayed in the viewport.
The keyframes show up in the Graph Editor and Dopesheet (Shape Key Editor view) like this:

Here is what I am doing:
if object_with_shape_keys:

    keyblocks = object_with_shape_keys.data.shape_keys.key_blocks

    for i, key in enumerate(keyblocks):

        if i == 0:
            continue
        # values captured in nano seconds:
        values = self.get_values_for_animation(shape_key_animation_values, frame_count, index = i-1)

        dp = 'key_blocks["{}"].value'.format(key.name)

        fc = self.get_fcurve(mocap_action, data_path = dp) or None

        # When there is no fcurve existing for that datapath,
        # then we can simply create a new one and populate it
        if not fc:

            fc = mocap_action.fcurves.new(dp, index = i)

            # Create new keyframe points and populate captured values
            fc.keyframe_points.add(count = frame_count)
            fc.keyframe_points.foreach_set('co', [x for co in zip(frames, values) for x in co])

The issue I am having with it is that the keyframes do not show up in the data tab in the object properties and I cannot get them to show up. It looks like this:

When I manually add a keyframe to one of the Shape Keys then I the interface looks like this:

What's worse is that after manually adding a keyframe, the previously working motion is overwritten for that specific Shape Key...
To summarize: There is a discrepancy between the keyframe_points stored in the individual fcurves and the keyframes displayed in the viewport. I am wondering if I am missing something or if this is intended behavior. I hope I made myself clear!
Thanks a lot in advance!

In
fc = mocap_action.fcurves.new(dp, index = i)

Delete index = i.
That sets fc.array_index which is for things like locations (index=0 targets X, 1 targets Y, etc.). You don't need it for shape keys.


There is any way to use the same file from 2 PCs? I want to "host" a blender file. I mean if antoher pc edit it I can see it from my PC. Is there any way to do that?

Use some cloud. I have files on cloud and every time i make some changes it uploads to cloud and then it download the changes to the file on my other computer.


How can I fix this? Blender Mesh Problem I've been following the Blender Guru Donut tutorial and this keeps happening.My two meshes intervene with each other in edit mode but in object mode it all seems fine. Can anyone help me to fix it?

Just in case it is not clear to you how to "unhide" "the solidify modifier in edit mode"
I am adding an screen shot to illustrate Robert's comment. :)


How to set all selected vertices to height of another vertex? Let's say i have selected all these vertices which you can see in this screenshot, and i want to set the height to the same height as the marked vertex (see red arrow in screenshot)

I always copy the height from the target vertex, then i select each vertex one by one and paste the height into it.  But this takes a very long time, especially if you have big models. Is there an easier way to do this?

Result should look like this:

One way to do this is to set the pivot point for transforms to be the active element, by choosing Active Element for the Pivot Point in the bar below the 3D View:

If you have Pie Menus enabled, you can press .>7 instead.

Then select all the vertices you want to affect making sure that the one whose height you want to copy is the active one (i.e. select it last) and just Scale in the Z axis direction to 0, by pressing S, then Z and then 0.


Viewport rendering (shift+Z) is darker than in final render I just purchased an interior scene from chocoviz for the cycles render engine.

When I do a test render in the viewport it renders, but is much darker than in the final render.

What could be the cause of this issue? How can I resolve it?

In interior scenes and in scenes that have lots of translucent materials it is common for them to be dark until the camera has sampled enough light. If it still seems too dark after 100 samples try duplicating the lights and disabling the render setting on them. This will most likely give better results if not the most accurate.


Absolute lost at words for how to describe this softbody/fluid? I recently saw a video THE VIDEO
It's of a softbody(i think) cow getting mashed up and broke apart, I have no idea how to describe it so i cant search for a tutorial and the closest thing i found was this
THE OTHER VIDER
How would i do this

This is a soft body plastic deformation and tearing simulation. Currently, Blender's built-in soft body system does not support tearing, and (to my knowledge) the Mantaflow fluid system is not appropriate for the extremely high viscosities needed to emulate it.
Thankfully, there are a couple of free options you can use:
Molecular Addon
Probably your best bet, the Molecular addon uses a very flexible meshless mass-spring system to approximate a wide range of soft body physics (when combined with CubeSurfer) as well as simulate granular flow. Most relevant to your problem is the feature for breaking bonds. Unfortunately the documentation is offline, so I cannot link it to you now.
FLIP Fluids
FLIP Fluids is a fluid solver for blender that supports high-viscosity liquids. While it appears to be a paid addon, it is possible to use it if you compile from source. For your problem, all you need to do is crank the fluid viscosity up and have a blob of fluid in the initial shape of your body.
In the future, I hope the new soft body sim and particle nodes will be up to the task.


How to Add Shininess on this Sun Object? I need to Add Some Extra Highlight/Shine/Glossy to My Sun Object such that It feels like Sun is Emitting Sun-rays.

My Scene :

It must feel like something like this :

Options I have tried :

Increasing Strength of Emission Parameter of Sun. (No Effect)
Mixing Glossy Shader with Emission Shader. (No Effect)

You could use compositor and add Filter/Glare node.


How to make particles fall straight down instead of initially going up? Hey guys I was creating a particle system and I want the particles to directly fall down instead of the usual way where they go slightly up before they fall down.I even tried turning off all the force field settings except gravity but it didn't worked.So,if anybody has any idea please share.

This is the result of the direction that the normals are facing. If you rotate your plane 180° on the Y or X axis (upside down), it will be resolved.

Also you can flip your normals by going into edit mode and select all faces. Then press CtrlShiftN to flip the normals.


How to rotate objects in array along path When I apply the array modifier to the object, it follows the path "standing" up, I want the object to follow the curve "laying" down. The object is created in a "lying" down position. I have tried to rotate and change, but it's not working as I want. Is there a setting for this I have missed or how could this be done?

An array modifier duplicates the object multiple times, the curve modifier can then control the direction of the duplications. The curve modifier uses the chosen axis of the object when it does the deform, the offset dimensions of the array modifier need to match the axis that the curve modifier is using.

Each point in a curve has a tilt property. You can use this to align the objects second axis to point the direction you want. You can use CtrlT to interactively alter the tilt in the viewport.


Check if bone is manipulated by constraints My question is following.
Is it possible to see if a pose bone is manipulated/influenced by any constraint.

Python offers the function in_ik_chain for bones. Is something similar possible for other constraints? If so, how? :-)

And as small addition. Is it also possible to get the bone that is used as target?

All constraints on the active pose bone,

import bpy
context = bpy.context
pbone = context.active_pose_bone

for con in pbone.constraints:
    print("Constraint:", con.type)
    target = getattr(con, "target", None)
    if target:
        print("Target:", target.name, con.subtarget)
    print()

Other ways to access pose bones of an armature object

# armature object has the pose.bones collection
arm_obj = bpy.data.objects.get("Armature")
if arm_obj:
    #bone named "Bone"
    pbone = arm_obj.pose.bones.get("Bone")
    #items() gives key value pairs
    for name, pbone in arm_obj.pose.bones.items():
        print(name, pbone)


Volumetric Lighting is not working I have a simple setup to try out Volumetric Lighting. I have a spot lamp and Volume Scatter set for the World. The cube has a window for the light of the spot lamp.

But no Volumetric Lighting. I have read most questions on this subject. But I have no idea where I am going wrong.

Even though the text in the question says that there is a "Spot Lamp", the lamp in the linked file  is set to "Sun".

Volumetrics will not work with a sun lamp.
Sun lamp is not really a lamp in the sense that it's position on the scene won't affect the lighting, it is designed to give parallel rays from an infinite distance with no fallof... Just the opposite of what is needed for volumetrics.

Other light that won't work with volumetrics is Hemi

Change the lamp to any other type of directional lamp. Point, Spot or Area will work fine.

Also keep in mind that when you deal with volume scattering or absorption the light source will not be as intense, so be ready to bring up the intensity to compensate. Depending on the amount of scattering and/or volume absorption you might need very large values.


particles are shown in viewport rendering but not in final rendering my blender knowledge is only 2 months old. i have used eevee and cycle both but the results are same.created this grassy field with particles system which seems ok in viewport rendering --

but when i try to render it, the final render is looking like this--

can anyone tell what am i missing here that i did not get what i saw ?? pardon me if i did not make the question clear.

Go to particle panel and check out if the camera icon of your particle system has been lit up. It represents "Available in rendering" while the eye icon beside it represents "Display in viewport".

This reminds me of my another answer about the similar question lol


How to create a glow animated circle that surrounds a sphere I want to create an animation similar with this one; I am wonder how to create this glow animation effects ?
I do not know how to create the glow animated circle that surrounds the sphere; How to create this effects?

use object vertex positions to make a ring (math node set to absolute makes it a ring for example if you choose z value from vertex position every vertex with value more than 1 is white and with absolute node -1 and less values also means white and you can move positions before that ,so ring moves along z axes this(the marked value) is also what you can keyframe to animate ring movement ) then use the ring as a texture and map node to rotate it and use it as a factor to mix diffuse and emission shaders and also use some another axes like x to change ring color based on it.

there are some options to make glowing effect but this is an easy way, first check emission

in compositing blur emission part and mix it with rendered image


Mapping a texture onto a fluid Mapping an Environment Texture onto a fluid in blender works normally, even with image sequences/animated textures, but I can't seem to figure out how to map an Image Texture onto a fluid.

Really, I need to map an image sequence onto a fluid. If there's a way to bake a fluid onto a non-physics enabled object (similar to baking a collision simulation into an animation and disabling the physics) and then mapping the texture normally, how would I go about doing that instead?

I'm assuming the issue is that it's impossible/difficult to properly UV-unwrap a fluid, moving mesh?

2 solutions off the top of my head:

Use "Generated" as the Texture Coordinates, and then Use Box method on the Image node to blend the texture seams together.
If you need more control over the texture placement, use the UVProject modifier with a number of projector cameras in the scene. You might need to add an alpha feathered transition to the edge of the image manually in an external app. For an animated texture, you might need to blend it with an alpha mask image.


Why can't I see my pictures in the folder its suppose to be in? In the Video editing mode of Blender, I can't see the pictures imported from my camera in my folder. But when I am in file explorer, they're rightfully there!!!

You might have a filter in the file browser selected.


Cycles Render not utilizing the GPU as it should The issue I'm having with Blender is as follows:

The Cycles Rendering doesn't seem to use the GPU to its maximum power, even though I've read it should to the point where Blender UI becomes unresponsive because of the GPU spending all its power on rendering.

I have the CUDA toolkit installed and tried it with different versions (Newest version and CUDA 4.1). I've even tried the latest Blender version 2.67a and 2.66. No difference there either.

As you can see in the picture blow CUDA is on and I the GPU is selected.

Here are my Render Properties. I've also tried with Feature Set as Experimental, but it showed no changes.
All the other settings have pretty much been exactly the same. Apart from the occasional Device switching from GPU to CPU and back again, to see differences. But I'll come back to that below.

Here is the information MSI Afterburner shows me, while I was running the render. Mind you that the scene itself is not complex at all. It's simply the default box, which I duplicated to 4 boxes and they're moving across the scene and go together to form 1 box.

The GPU Usage rarely exceeds 30%. The difference between CPU and GPU rendering is only 10-15 % units.

I'll be editing and adding stuff if I find additional information. It might take a bit of time since I'm trying to solve the problem at the same time.

GPU usage is highly dependent on the scene complexity. With a very simple scene like the one you tested, it is hard to bog-down a modern GPU. But with a realistically complete scene, you can expect the GPU usage to be a lot higher.

Take a look at this Cycles rendering benchmark


Sub-frames and the File Output Node I am trying to get the File Output Node of the compositor to create a new file with a different name (appending a number would be best) if one already exists. Controlling the name with some extra input perhaps would also work.

I'm in this situation because the time is being controlled by a speed track on the VSE. The frame are actually sub-frames, but the File Output Node generating the output file name based on the integer frame number. The result is that there are less files than there should be, because multiple sub-frames end up overwriting themselves.

Any ideas?

A workaround is to make the base path of the File Output node change according to the subframe, before every render, using a Python script. In this way, the output file names won't be overwritten. This script must be run once before rendering.

import bpy

def add_subframe_to_fo_path(scene):
    if scene.name == 'SceneName':
        scene.node_tree.nodes['File Output'].base_path = '//sth/' + str(scene.frame_current) + '-' + str(scene.frame_subframe)

bpy.app.handlers.render_pre.append(add_subframe_to_fo_path)


The Blam Image BackGround Not Showing in 3D View I'm Trying to use Blam but I cant see the Image background on CameraView, the one that I added in Movie Clip Editor and draw lines in X and V axis for mapping

Here is a screenshot of my blender

did I change something that I don't remember or like that?
and sorry for my English

You must manually add the image.
press N to spaw the view properties menu in the 3D View - Object Mode. In there, locate a check box that reads, Background Images ( It's around the bottom). Drop it down and enable it. Click on add images, locate the photo you used in BLAM and you should have the image visible from the camera view.


How to make a point out of 2 intersecting lines? I have 2 lines, and I want to get the point where they intersect. I am looking to have a point created on the point of intersection. How can this be done?

Two line maybe not even intersect, not even in 2d if they are parallel, well there is cheat for it:
https://en.wikipedia.org/wiki/Line_at_infinity

In blender we work with vectors in a 3d place and not with real numbers but with floats. So a pure mathematical solution is maybe unusable, I wrote this because the question is pure mathematical. If we rephrase it for 3d modeling:

Can I make a vertex at the intersection or mutually closest point of two edges. We will get a duplicated question:
How can I add vertices to intersection of two edges?


From texture painting to UV map I'm a newbie and I have a hypothetical question that is interested in me.

For example, the man has a 3D-model and texture painting therefore he has a UV map.
The man detects a mistake in UV and decides to remake the UV map fully.

The question: Are there tools to help the man go back and remake UV, and transpose all textures (doesn't redraw them) to a new UV map?

Let's say, it would be nice if the man can transpose texture paint to vertex paint. But it can be not so quality if 3D-model has less resolution than an image of texture paint. And I have no ideas it possible or not.

Any ideas are welcome.

I will start the example with creating a texture from a box mapped image texture set to blend as a way to get something baked to the initial uv map.

I've set up an image texture to bake to as a target and am using an emission shader to avoid shadow

I leave the image target disconnected and selected before baking Emit

Here you see in the UV editor the newly baked pixels on the target image in relation to the UV map, save this image now to disk

Here we set up a New UV map and set it to viewable, then unwrap to a new scheme

Here we check the new mapping to a new image texture target so you can see we are not dealing with the previous UV map - reference the new map in the UV node

We need to reverse the connection so that we leave the target image node disconnected and still selected and then press bake emit

Our result on the new UV map is visible now, and we have gone from generated texture coordinate image texture to UV mapped image texture to a second UV mapped image texture. Save you result image to disk if satisfied with the mapping.


Material pass and DoF don’t match I’m doing an enormous render for a poster and I have an image with pretty shallow depth of field. I’m trying to make a material pass so I can play with colors when compositing, but I can’t get the DoF of the Materials pass to match the DoF of the main image.

Without the defocus node the blurry section is just black or white dithered pixels. Once I add the defocus node, it just blurs everything, even the sharp areas.

Should I be just doing the depth of field for both the main mage and the material pass in the compositor? Right now I have the DoF of the main image done in the Camera tab.

Pasting the correct answer here for visibility.

All ID passes (materials and object ID) by design are binary (a pixel can only belong to one object): developer.blender.org/T51121  This means you cannot use the ID passes when motionblur, depth of field, or transparency is involved.  In your case, you can use the dofocus node on the material pass to create the DoF as a postprocessing step, which CAN create a blurry mask for you to use.

For defocus to work correctly it needs to access the depth data. So you need to plug the 'Depth' output into the 'Z' input for the defocus node to correctly blur the image.


Do a full render for what I am seeing without changing the default camera? Suppose that I have set an animation to the default camera. I can still view other parts of the scene in the viewport and even see a low-quality rendered view by clicking the empty ball icon.

But what if I want to see the full render for the current view? I could change the viewport render settings, but that would make all subsequent preview slower and I would have to change them back after seeing the full render.

I can press Ctrl+Alt+Num0, but that changes the default camera, which I don't want. I have added another camera, but I don't know how to make Ctrl+Alt+Num0 to change the second camera, not affecting the default camera. Is this possible?

Also, pressing Ctrl+Alt+Num0 does not even exactly set the camera as I see in the viewport; the area that the camera is changed to see is only the centre part of the viewport, so when rendered, it is not showing what I see in the viewport.

The view that I wanted render.

What pressing Ctrl+Alt+Num0 and F12 will render.

Press Numpad 0 to view what the camera is seeing, select the new camera and press G Z Z (Which means move the camera along its own Z axis), move the mouse until you get the desired framing (like if you put a real camera closer or far from the subject) and confirm with left click.

You will get the same framing of the viewport only if the viewport and the camera have the same focal lenght (both are 50 mm as default).


(Animation Nodes) How can I make objects rotate to face the direction of the normals of a mesh? I'm trying to recreate Mystique's transformations from the new X-men movies, and I cant figure out how to get the directions of individual polygons or vertices. I can get the location and "normal," but the normal vector doesn't seem to correspond to any sort of rotation. Help?

Use an Object Mesh Data node to get the face data of the target object. Connect the Polygons output to an Object Instancer and create a loop subprogram that has a polygon and an object iterator. With the Mesh data node selected you can press W and choose polygons to create the loop and add another object list iterator to it.

For the subprogram, connect the object to an Object Transform Output and use a Polygon Info node to get the location and normal of each face. Connecting the polygon normal to the object rotation input will create a Direction to Rotation node that gives the direction you want. The center output will give you the location to place each instance.


Reducing useless subdivisions How would it be possible to stop certain parts of a model being subdivided where its not needed?

This picture shows how it currently does it, notice the lines in between the sharps? it adds useless polygons, and can be manually removed but takes a long time to do the whole model.

Is there anyway to get this result without effecting the rest of the model or doing it manually ?

It's a matter of changing your over-all approach.

Only add as many polygons as you absolutely need to begin with.
Sometimes adding loop cuts or subdividing only certain selected edges or faces is better than using a SubSurf Modifier.
If you end up with extra edge loops you can press X and Dissolve them.


changes in group node inputs in v2.77 I am just learning blender and am using a tutorial that explains group nodes. It must be made in a previous version since my software is not working the same way. The tutorial explains that when grouping nodes in the node editor, a 'group node' input is created that allows you to connect specific attributes that can then be modified on the group level.

The display I have creates a group but does NOT have any sort of Group node input available that I can see. I understand that the group nodes have been totally redesigned in v2.77 so can anyone point me to information on how to use the group node input feature in this version.

thanks

To add inputs and outputs to a group node press N to bring out the properties panel on the right (or use the plus sign on the top right of the node editor window).

Once the panel is open you'll be able to edit the interface for the node group. Adding inputs and outputs is done with the plus signs at the bottom.


Which is edge is longer? I need to know which edge is longer only in the Right Orthographic.

.

You can just turn on showing of edge length, then any selected edges will display their length next to them:

There are also the MeasureIt tools which you can find in the view tab of the right side bar for more complicated cases (You may need to enable the addon to see the tab).


Ocean Stretching to the Horizon? I want to make an ocean stretching to the horizon. Here's what it looks like currently:

Blender file here: ocean-test.blend

IMO this looks more like I'm looking up a wave and less like an ocean stretching to the horizon (which is what I would want). Shouldn't the horizon be a flat line?

Here's an actual photo, how can I make my water look more like this?

You need to reduce the focal length of your camera drastically, increase the size of
the ocean, make the ripples more and smaller and flatten the angle of the camera
in relation to sea level.

EDIT (added): Take a close look at the original picture how imperfect it is! :) Why is your picture so perfect? :) :)
The human perception is trained to interpret subtle things like those imperfections. Often "perfect" renders are looking "sterilized" and "unnatural" (NO critism implied!!!).
Play with the depth of field of the camera and make it a little blurry in
the distance.
Then add some haze - just a little bit to obfuscate the "end of the horizon".
Infinity and long distances are often obfuscated and blocked for example in movies and the human brain is tricked into thinking "oh yeah...I can't what's there in the disctance...it must VERY FAR FAR away, because I can't see it!"


Is there a way to select two individual UV islands, and grouping/parenting them to each-other? Is there a way to group UV islands together? That way you can overlap identical islands and when you pack them, blender doesn't just take them apart?

Yep, I do that with Vertex snap enabled in UV editor, and then just move 1 of the UV islands over to the other identical one, it should snap right into place!


How to get all "collections" name in one line output from "for loop" (python) Currently I have this code:
col = bpy.data.collections
for i in col:
    list = i.name
    print(list)

Output:
Collection 1
Collection 2
Collection 3
Collection 4
Collection 5
>>>

how to get output list like bellow?
['Collection 1','Collection 2','Collection 3','Collection 4','Collection 5']
>>>

bpy_collections.
Blender uses a collection that can be accessed like a dictionary (string key) or like a list (integer index)
The name of the object in the collection is also its keys. For a collection the names of all objects in the collections can be gained quickly via the collections keys.
D.collections.keys()

(D.collections.values() is the values, and .items() the key, value pairs.
Or via list comprehension.
[c.name for c in D.collections]

Or lastly using a for loop
>>> cols = []
>>> for c in D.collections:
...     cols.append(c.name)
...
>>> cols
['Collection 1', 'Collection 1.001', 'Collection 1.002', 'Collection 1.003']

Note: could have also used cols = list() here since list is a python type. In as much as can define it as something else list = "something else" it's not recommended practice


Unregister Timers with parameters I am trying to use a timer for a function, but I need to provide it a parameter so I'm using the example from https://docs.blender.org/api/blender2.8/bpy.app.timers.html:

import bpy
import functools

def print_message(message):
    print("Message:", message)

bpy.app.timers.register(functools.partial(print_message, "Hello"), first_interval=2.0)

The problem is that I don't know how to unregister it.
Trying with this:

if bpy.app.timers.is_registered(functools.partial(print_message, "World"):
    bpy.app.timers.unregister(functools.partial(print_message, "World")

Or this:

if bpy.app.timers.is_registered(print_message):
    bpy.app.timers.unregister(print_message)

Or even this:

   if bpy.app.timers.is_registered(functools):
        bpy.app.timers.unregister(functools)

And a lot of other things, but that doesn't work. Any idea?
Thanks!

I am not an expert in Python, but if my knowledge from JavaScript translates well enough, then this is caused by the fact that the created function references are not equal. Let's say, you have a function called a:
def a(x, y):
    return x + y

It is stored as a reference, that can be assigned to multiple variables that will be equal to each other and itself as well:
print(a == a) # True
b = a
print(a == b) # True

But each time you call functools.partial, it creates a new function reference, which are then not equal to each other, not even if their parameters are the same:
c = functools.partial(a, 5)
d = functools.partial(a, 5)
print(c == d) # False

Or alternatively you can even directly compare the results.
print(functools.partial(a, 5) == functools.partial(a, 5)) # False

Because of this, if you want to later unregister a function created with functools.partial, you need to store a reference to it, so Python will be able to find which one to unregister by checking for equality among the registered ones, like for example this way:
e = functools.partial(print_message, "World")
bpy.app.timers.register(e, first_interval=2.0)

after which you can use the following code to unregister:
if bpy.app.timers.is_registered(e):
    bpy.app.timers.unregister(e)

because
print(e == e) # True


Can I run "Mesh ‣ Clean up ‣ ..." tools without tabbing into edit mode? I have an ENORMOUS mesh (23 million faces) that I'm interested in cleaning up. I've already gotten everything I can out of the modifier stack, and now I see some "Mesh -> Clean up" tools that I'd like to try out... but I can only access them in edit mode.
Switching to edit mode with a model this big is prohibitively demanding on my system, so it would be great if I could exercise these tools on my mesh some other way.
Any suggestions?

Some of the cleanup operations can be done through modifiers:

Decimate Geometry > Decimate Modifier (Collapse)
Limited Dissolve > Decimate modifier (Planar)
Merge By Distance > Weld Modifier

(Didn't feel right without a silly gif)


Can I record unrendered scene/animation? I like how 3D View exposes me the auxiliary objects, like cameras, selected object coordinate system and TrackTo line. But all auxiliary objects are removed in the rendered view, that is stored to output device by animation. Can I render the animation in Solid view instead of Render, for instance?

Try selecting Render > Render OpenGL Animation.  That should give you the results you want.


How can I make the transition from blue to purple (I do not want the white part) more smooth? When using a gradient node and a color ramp, Even though a gradient should be smooth, I get sharp edges separating the colors in the color ramp. Also, there is this white part that comes out of nowhere. Help! I use blender 2.82 and windows.

In your setup, the emission shader is causing that white strip.  In the pic below, I set it up exactly as you did, but I bypassed the emission shader.


I'm using objects as particles but the objects have hair. Why is the hair is all going sideways? I made some wheat, complete with the little hairs.  I've set up a particle system to use my wheat reference and the result is pretty good at first glance.

However, if I turn off phase randomization it pretty quickly becomes apparent that the hair system used on my object is all biased in one direction.

I haven't used any Tangent or Object Aligned particle velocity and my scene doesn't contain Wind.
This is an object that I approved of wholeheartedly before I prepped it for use within a particle system.  (R X -90 and Apply Rotation)

The answer has two parts.  First was that I had used a (hilariously) small amount of Gravity for growing the hair for just a touch of realism.  It is truncated in the UI to three decimal places.

Secondly, when I rotated and applied the rotation, my object was ready to be used as a particle, but it was on its side in scene space, and the hair system on the object still respected gravity in scene space.  In other words, the hair now understood gravity to be something that pulled to the side, in a sense.
But afterwards you can freely rotate an object, and as long as you don't apply the rotation the change won't be reflected in instanced objects.
So I simply rotated my reference object back 90 degrees on the X axis such that it was reaching for the sun like a good wheaty, and everything is fine.

Reintroducing phase randomization.


Rotate background procedural texture I want to put a procedural texture in the background of my image. I set the "World" color to a texture I like, and I would like to change the angle of this texture. How can I do this?

What you want to do is edit the World nodes. Go to the Node Editor and click the globe icon:

Makes sure you check the Use Nodes checkbox as well.

Now add an Input > Texture Coordinate and a Vector > Mapping node and connect them as shown:

Now the three rotation values will adjust the orientation of the texture.


Deleting from the outliner Is there any way to set Blender to delete objects when I select them in the outliner and press delete? I tried assigning the shortcut in the right click menu, but that did not work either. It works when I delete a collection, I'd like to have the same behaviour when I select objects.

As you can see, it is supposed to be assigned to Delete button, but it does not work.

It's missing from the Keymap, but you can add it manually. Go to Preferences>>Keymap>>Outliner. Click on Add New then type in outliner.id_delete for the identifier for the new item. Assign the Delete key or what you want and choose Any or Release for the press method, because for some reason it doesn't work with "Press". Now you will delete the item which below of the mouse cursor, not the selected.


How do I export animation with inherit rotation turned off? I have two bones with parent/child relation ship.

Child bone does not inherit rotation from Parent because I turned it off (unchecked the Inherit Rotation) as I don't want the child to rotate with parent.

This works perfectly in Blender. But when I export to FBX (with Baked Animation) to use in another software, the rotation is inherited.

How do I export the animation with inherit rotation turned off?

I've tried turning it on and adding a constraint to limit rotation but it has the same problem.

Probably the problems comes from an "inherit rotation" behaviour of the destination rig. If you baked all animation infos (loc and rot) you can break the parent-child relationship of the destination rig, and everything should be OK.


Limitations on .stl file importing I have .stl data files that I'm trying to import into Blender. Large, over 100MB. I'm having trouble importing them, and I'm wondering if the size might be the reason. They all return the following error lines upon attempting import:

Traceback (most recent call last):
  File "C:\...\AppData\Roaming\Blender Foundation\Blender\2.57\scripts\addons\io_mesh_stl\__init__.py", line 86, in execute
    paths = [os.path.join(self.directory, name.name) for name in self.files]
  File "C:\...\AppData\Roaming\Blender Foundation\Blender\2.57\scripts\addons\io_mesh_stl\__init__.py", line 86, in <listcomp>
    paths = [os.path.join(self.directory, name.name) for name in self.files]
  File "C:\...\AppData\Roaming\Blender Foundation\Blender\2.57\scripts\modules\bpy_types.py", line 626, in __getattribute__
    return getattr(properties, attr)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xee in position 27: invalid continuation byte

location:<unknown location>:-1

It sounds like your having some sort of corruption with your binary (source). Change the settings of your import or reexporting the model should fix it.


EEVEE Volumetric Light exlusion I need to exclude a point light from volumetrics lights.

I tried placing a cube that surround only the spot light with a "Volume Scatter" node but it catch also volumetrics from the point light.

It will be great to have a "no volumetrics" checkbox like "shadows" checkbox.

Hope someone can help. Thank you!

One way is to go to the World node editor, then add a Volume Scatter node and plug it into the Volume parameter in the World Output node.


User Login message box when opening blender to choose a different startup file on the start I'm wondering how can I make a messagebox with the fields username and password to appear when blender is opened, and depending on the user's credentials a different startup file will start. I'm thinking that this can be done where the credentials will be staticly saved within a python script which will run when launching blender like:

if username == 'user1' and password == 'user1pass':
 open starup file1
elif username is 'user2' and password is 'user2pass':
 open starup file2
else:
 display a message saying "sorry not a correct user" and make the user try loginning again

Any thoughts please how this can be done?

This question is too open-ended to be answered in detail, so I'll answer generally. Before we talk about how to create such a solution, there are some issues with what you are trying to do.

First, there is no "security" offered by what you are doing, so there is no reason to ask for a password. You can simply let the user choose from a list of startup profiles. If you wish to provide some kind of security, you need to use your operating system's user accounts. You said you are using windows, so you would want to create a separate windows account for each user.

Second, it's strange to be asking for "username", since the startup file is only a set of presets for new projects. If the user saves his work, and loads it later, loading the file will overwrite the startup file information. Choosing a different startup file would more likely be used to choose different "configurations" of blender, for different types of tasks.

Therefore, the only sensible way to use the UI you are suggesting is actually to present a list of "startup configurations" and let the user pick between them. The following will explain one way you might do that.

You will need to create some custom UI for your startup-selector using python. I don't believe you can modify the splash screen from python, so I would do this by making a custom page in the user-preferences UI. This custom page will contain your UI and the logic to load the proper startup file. (See scripts/startup/bl_ui/space_userpref.py)

Once you have your custom UI for picking a startup file and loading it, you can make a startup file which loads this when blender starts. Configure blender the way you want, with only one view on the screen, showing the user-pref space, with your custom space-chooser showing. Then do File->Save Startup File. Now this will show every time blender is launched.

That should give you a startup-file selector on launch.


Access property by argument name (dot and bracket notation not equal) Here we see two ways to get a UI property stored in the Scene

>>> print(scn.repGroups)
<bpy_struct, RepGroup("")>

>>> print(scn['repGroups'])
<bpy id prop: owner="SCScene", name="repGroups", address=0x0000003F0CE7D278>

Typically I'm use to accessing a property like in JavaScript by passing an argument that is the string that holds the value that is the property like

def findIt(propName):
   scn = bpy.context.scene
   return scn[propName]

I would like to access the scene/scn property by name but get returned the item like you do in a normal reference (bpy_struct NOT bpy id prop).
Please advise?

Defined properties use ID properties as storage

A defined property bpy.types.Scene.xxxx = bpy.props.BlahProperty(default=default)  is stored as an ID property scene["xxxx"] once it is set (non default). See get set example

>>> bpy.types.Scene.xxxx = bpy.props.IntProperty(default=11)
>>> C.scene.xxxx
11

>>> C.scene['xxxx']
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
KeyError: 'bpy_struct[key]: key "xxxx" not found'

>>> C.scene.xxxx = 12
>>> C.scene['xxxx']
12

You see a struct printed for the property scene.xxxx if it is a pointer or collection, or an int for IntProperty, a str for StringProperty.

Henceforth, rather than scene[propname]  a more generic pythonic way would be using

getattr(scene, propname, None)

to return, if propname == "xxxx",  scene.xxxx if it exists, else None.

for the defined default

>>> C.scene.bl_rna.properties['xxxx'].default
11


How to write a small program to use the Crayola Easy Animation Studio with Blender? Link to more info: https://www.youtube.com/watch?v=MnX6pHC9VwE

I saw the Crayola Easy Animation Studio for about $17. It would be cool to hack this to drive Blender animations. It looks to have about 16 potentiometers or the equivalent packed onto a manikin that you can position.

I can see that this would make a great, widely useful hack. Either by writing a (presumably small program) to get the values off of all those potentiometers, or by linking it directly into Blender, which would be a much, much bigger job.

The mannequin in the package is simply a few bits of plastic that clip together, there are no electronics in it. The included app that does the animation takes a photo of the mannequin and detects the location of each piece to then position the armature used for animation.

While any mannequin could be used for the same thing, you will find the odd shapes printed on this one will be used to get error free location detection of each piece.

Someone could write an app that detects the mannequin pieces and exports the armature data needed to match it. It will be about shape recognition within an image not reading any data being output by the mannequin.


"Cannot Execute Boolean Operation" Error So I'm trying to prepare a helmet that I am going to 3D print. What I am doing is taking the pieces and joining certain ones with cylinders to act as dowel pins to help align the helmet when putting it together, but for some reason one of the pieces in my first group isn't accepting the boolean modifier. My main piece (MChelmet1) was joined together with the cylinders to act as the main piece, and I would then use a boolean difference modifier to make it so the other pieces would have holes that the cylinders would fit into. Two of my pieces did it just fine, but the third piece (MChelmet 8)won't accept the boolean operation. I've tried shortening the cylinders so they weren't as long, but that's not helping.

I can't check your file and the picture does not give enough information, but every time I encountered the problem it was due to an "opened" mesh. You should check if there's no 'hole' in your mesh. If there is a hole Blender is not able to calculate the volume and therefore it does not know where the inside or the outside of the object is.


Open Image in Pillow I'm trying to open an image stored internally in Blender into the Image module from Pillow (https://pillow.readthedocs.io/en/3.1.x/reference/Image.html). This should be a simple operation but I'm having some problems with it. I don't want to use the path of the image, but I want to work with the pixels.

from bpy import data
from PIL import Image
import numpy as np
# Generate a random image
width = 80
height = 40
img = data.images.new('random_colors', width=width, height=height)
num_pixels = len(img.pixels)
from random import random as rnd
#Create random colors for each pixel
for px in range(0, num_pixels-5, 12):
    r = rnd()
    b = rnd()
    g = rnd()
    a = 1
    cols = (r, g, b, a)
    for i in range(4):
        img.pixels[px+i] = cols[i]
pxs = bytearray(int(p*255) for p in img.pixels)
image = Image.fromarray(np.array(pxs), 'RGBA')

I'm getting : IndexError: tuple index out of range

Any hint?

I'm not immediately able to test the numpy and PIL lines as I don't have those installed, but...

First - is your main loop really setting the pixels you intended? The comment says "create random colors for each pixel" but what it's actually doing is creating random colors in every 3rd pixel - and the stop condition of num_pixels-5 is arbitrary and seemingly will have no effect, since you're stepping 12 each time.

So that's the first thing. If you actually want to set all pixels, it would be range(0, num_pixels, 4)

Second - your line creating the 'pxs' array is making an int array of length 12800 (80*40*4) out of all the pixel components. If you want a binary packed representation, maybe you need to do

pxdata = struct.pack("<%uf" % len(img.pixels), *img.pixels) # pack RGBA floats as binary.

instead? Double-check what the PIL Image call is taking.


"Blobbing Effect" in Animation Nodes How could one re-create this "blobbing-off" effect in animation nodes?

Just use a Ping Pong repeated time as the scale of one of the meta balls as follows:

You can also evaluate the output at some interpolation to get more custom animation.


I cannot get a scene to render in blender I am using Blender version 2.74 with cycles and I have a scene that I cannot get to render. When I click render it will just stay on the viewport will just show a checkerboard and show no signs of rendering. It seems to be using all of the memory on my computer but barely any of the CPU. This must have something to do with the model because I can easily render other models. I have tried disabling all the particle systems on the one object I am rendering but still nothing will happen.

Here is the link to the .blend if anyone is interested.

If anyone can help that would be very appreciated. Thank you.

Your ParticleSystem2 setup for your pebbles is what is bogging down the render. It's currently set for 30k particles with 100x children to render which I think is the source of your infinite render time.

I would cut down on the number child particles by quite a bit. I would also use a blend texture from foreground to background to effect the particle density so it would give me more particles near the camera and less particles in the background. You may have to apply the curve modifier to get the blend texture to work properly.

You could also use a pebble texture for the background pebbles instead of actual geometry particles, which will cut down on your particle count as well.


Question about particle systems ("static particles") I just started looking into particles with Blender.

I'm familiar with the concept (I also work with particles inside Unreal Engine), and experimented already with force fields.

What I'd like to do is some kind of "static particle system", where I just need to render one image that later I will simply put over a photo with Gimp.

Basically I'm looking for something like this: http://www.4rand.com/TEST/Krakatoa/TurbSpawn/furball100m4k.png

Is it possible to achieve a similar result with Blender? Any suggestions?

Thank you very much.

Is it possible to achieve a similar result with Blender?

Yes. Absolutely.

What follows is a sloppy facsimile to demonstrate technique not artistry.  You are the artist.  The background use is black for legibility.  I have no idea of your future background.  Blender Render not Cycles.  No lights. Emission material.

You wrote

    over a photo with Gimp

Your writing seems to imply you want a transparent background.

Any single or range of frames can be rendered and saved to disk with a transparent background.
PNG format.

Because you state you only want one image and not a sequence that can be critiqued as a moving image you might just need a circle or sphere mesh and generate particles or spherical texture for density.  Forces are convenient.  The movement or location might come from the [normal velocity] of the Blender Particles System.  Color and Blur if that suits you in the Compositor

The particles themselves can be group of mesh objects or PNG bill board images.  You can also generate all particles in 1 or 2 frames and by the 3 frame the image is static if there are not forces, normal velocity, gravity or similar.  Splurge and generate a few hundred images and pick the one you want. Since the shape is generally circular spherical you can layer PNGS with rotation for increased density.

If you do not value your originality, and the mentioned image is intended for sharing you could  you can also remove the background from the image.  GIMP or Blender Compositor.


How to fix animation distortion? I'm completely new to 3D modeling and animation, so please cut me some slack. I've downloaded and imported a free 3D model. Added a bone structure (armature) to it and now I'm trying to create a basic animation.

All is working perfectly fine so far, except that I seem to get some kind of distortion (not sure if this is correct naming for it) when animating the model. Here are 2 screenshots to show what I mean:

Original position:

Animated position:

How do I either prevent or fix this? Has it something to do with the bone affect range and is it a simple matter of adding more bones or is it not that easy?

Looks like a weight-painting issue.  Keep one of those selected bones in the screenshot selected, select the mesh and get into Weight Painting Mode.  You'll probably see a ring of green, yellow around the mouth/gums.


Where can I find the number of vertices, edges, and faces in my scene in Blender 2.8? In Blender 2.79b, you could see the number of vertices, edges, and faces in your scene on the bar at the top. Is there a way you can access this information in Blender 2.8?


strange black lines on object when rendered ive encountered a similar problem to a lot of other people i saw in forums but none of them were the same as mine.

the object was made using a cube with a path and array modifier to create the curved shape. the problem persists whether or not the modifiers have been applied. there are no materials and even when i do add a material the lines are still present. the lines don't seem to change shape or position when the camera is moved around. i have tried removing doubles and recalculating normals but it hasn't helped.

any help much appreciated

I have not seen this behaviour before but if you select the arch and Set Origin to geometry the artefacts will go away. I suspect that it's related to precision errors when the geometry is too far away from the origin.


How do I extend the amount of frames on a 2d animation? I need to extend the amount of frames on the timeline, as you can see in the picture it ends around 1020 frames in the png. I havent tried anything yet to fix it myself but I was wondering if there was a way to go about fixing it before I do any unrepairable damage to the file. Thanks in advance

You can change the number of frames for the project if you type it at the bottom right of the timeline window.

Note that you've enabled an alternative preview range, that is different than the project's frame range.

Preview Range(clock icon)
This is a temporary frame range used for previewing a smaller part of the full range. The preview range only affects the viewport, not the rendered output.

Read:
https://docs.blender.org/manual/en/latest/editors/timeline.html?highlight=preview%20range


Once mirror mesh is made - how to remove its data from the original mesh I have downloaded a female model
https://www.blendswap.com/blends/view/26755
from net and it is made with mirror. so when I try to rig it the left side will only follow the right side. How can i make the left mirror side its own mesh - and not follow the right side.

After using shape keys, your mirror modifier can't be applied, unfortunately. There's a way to recover from this situation, maybe, I'll try to describe it with a simple "cube" example.

Here is a simple half-cube with X mirror modifier, and a shape key setup.

The shape keys affect only the "real" part of the mesh, and the mirror cannot be applied. So, I'll

remove the mirror modifier
duplicate the half-cube (SHIFTD)
scale it over X with -1 factor (mirrors over X the duplicate half-cube) using SX-1
note that each half-cube retains its shape keys, mirrored

Finally, I:

join the two half-cubes (CTRLJ)
they became a single object (you could remove duplicate vertices at X = 0)
fix, in edit mode the normals, recalculating  them outside (CTRLN)

And now you have a single object, symmetric over X, with shape keys acting as if they were mirrored...

Of course, if you wish your model to behave differently on the left and right side (which was the primary reason to apply the mirror modifier), you could not need the shape keys of one side to be "duplicated mirrored" on the other side... in this case, before joining the two half-cubes, remove the shape keys from the duplicated half-cube...

I hope that this can be easily applied to your half-model too!


Joining all meshes in any context gets error When I run this code:

import bpy

# Select all and only meshes.
item = 'MESH'
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_by_type(type=item)

# List of all known subcontexts.
subcontexts_list = ['INVOKE_DEFAULT', 'INVOKE_REGION_WIN', 'INVOKE_REGION_CHANNELS',
                    'INVOKE_REGION_PREVIEW', 'INVOKE_AREA', 'INVOKE_SCREEN',
                    'EXEC_DEFAULT', 'EXEC_REGION_WIN', 'EXEC_REGION_CHANNELS',
                    'EXEC_REGION_PREVIEW', 'EXEC_AREA', 'EXEC_SCREEN']

# Try to join using each subcontext.
for sub_context in subcontexts_list:
    try:
        bpy.ops.object.join(sub_context)

    except Exception as e:
        print('{}: {}'.format(sub_context, e))

I get these errors:

INVOKE_DEFAULT: Operator bpy.ops.object.join.poll() failed, context is incorrect
INVOKE_REGION_WIN: Operator bpy.ops.object.join.poll() failed, context is incorrect
INVOKE_REGION_CHANNELS: Operator bpy.ops.object.join.poll() failed, context is incorrect
INVOKE_REGION_PREVIEW: Operator bpy.ops.object.join.poll() failed, context is incorrect
INVOKE_AREA: Operator bpy.ops.object.join.poll() failed, context is incorrect
INVOKE_SCREEN: Operator bpy.ops.object.join.poll() failed, context is incorrect
EXEC_DEFAULT: Operator bpy.ops.object.join.poll() failed, context is incorrect
EXEC_REGION_WIN: Operator bpy.ops.object.join.poll() failed, context is incorrect
EXEC_REGION_CHANNELS: Operator bpy.ops.object.join.poll() failed, context is incorrect
EXEC_REGION_PREVIEW: Operator bpy.ops.object.join.poll() failed, context is incorrect
EXEC_AREA: Operator bpy.ops.object.join.poll() failed, context is incorrect
EXEC_SCREEN: Operator bpy.ops.object.join.poll() failed, context is incorrect

What am I doing wrong?

Make sure one of your mesh objects is active. You will get that error if you try to join without one being active.

This works with 2.80

import bpy

#Deselect all
bpy.ops.object.select_all(action='DESELECT')

#Mesh objects
MSH_OBJS = [m for m in bpy.context.scene.objects if m.type == 'MESH']

for OBJS in MSH_OBJS:
    #Select all mesh objects
    OBJS.select_set(state=True)

    #Makes one active
    bpy.context.view_layer.objects.active = OBJS

#Joins objects
bpy.ops.object.join()


Selecting a different object hides all keyframes in timeline? There are two objects in my 3D-view:

A red object
A white object

Both are overlapping each other.

I have added several keyframes of animation to the red object.
When I select the white object, all keyframes disappear from timeline.
They reappear if I select the red object again.

Why do keyframes disappear from the timeline?
What am I missing?

This is a feature. You only see keyframes for the selected object in the timeline. If you want to see all your keyframes, I would use the Dope Sheet.

The arrow icon only shows the key frame from the selected object.
The ghost icon shows keyframes form hidden objects.
The life saver :P(I think that the official name?) shows broken drivers.


Python variable is not persistent/ changes from unrelated bpy.ops line I want to store the rotation of an object to be able to change it back after some operations. From my little coding experience "rot" should stay persistent and not be changed in the next line by "bpy.ops.object.transform_apply". Am I missing something?

import bpy

obj = bpy.context.object

rot = obj.rotation_euler
print("store object rotation", rot)
#evaluates correct

bpy.ops.object.transform_apply(location=False, rotation=True, scale=False)
print("rot after rotation-apply", rot)
#problem: rot has changed to (0, 0, 0)

#other operations

#problem: rotation cant be set back.
obj.rotation_euler = (rot)
print("gameobject_final_rotation: ",  obj.rotation_euler)

obj.rotation_euler is a reference to the rotation object which is affected by bpy.ops.object.transform_apply. In order to store the old rotation in a variable you can use:

rot = obj.rotation_euler.copy()


How do you animate someone holding something with both hands and placing it on the ground? I'm trying to make a Minecraft animation where Steve, is holding a full size crafting bench in his arms and places it on the ground. How do I parent and unparent his arms from the crafting bench?

I don't think you can.  Rather, I would animate them separately. When I've had to open a drawer, I found it best to animate the drawer sliding open first, and then match the character motion.  Drawer's are a little easier, because they follow a straight path.

For this, I would move the box to the ground in a shallow arc, in a reasonable number of frames.  (If it takes 1/2 second, then @ 24fps, you use 14 frames to animate the box.)

Next I would place one or two key frames for Steve.  At least start of move, end of move, and something near the midpoint.  Adjust Steve by tweaking curves or adding keyframes as necessary.


How to get Blender to add new face-ids but not recalculate old face-ids? I am writing a procedural planet generation addon.

I thought it would be nice to give the user the ability to create continents. He can create a continent, give it a name and add some faces to it (via selection). The addon is storing the face-indices of the current selected faces. If a user selects a continent in the gui the corresponding faces are selected, too.

Now I found out (via extrude operator, Find out if Mesh Operator (bpy.ops.mesh...) was cancelled or not via python) that blender sometimes recalculates the index of old faces. That is destroying my addon and the way I store the continents (remeber: face-indices).

How can I force blender to only add new face-indices for the newly created faces and leave the old faces alone?

Thanks for helping!

Geometry element indices can change at any time, don't rely on them!

See e.g. How are vertex indices determined?

You should instead use a custom data layer to store the group (continent) information in. I would suggest bm.faces.layers.int. How to display them in a panel is a bit tricky, because you need to iterate the entire mesh before you know which numbers / continents exist.

API docs: http://www.blender.org/api/blender_python_api_2_75_release/bmesh.html#customdata-access

Note that if a user extrudes a face that is part of a continent already, then that property might be copied to the new faces. It's definitely true for vertex extrusion, but I'm not entirely sure when or which faces may receive the custom properties of their ancestors. Also see second half of my answer here: https://blender.stackexchange.com/a/36816/1363

Another approach would be to use Vertex groups. There are some downsides however: Vertices can be assigned with weights, they can be assigned to multiple groups and the face selection may differ for certain topologies (3 adjacent faces, left and right part of a continent, the middle one not will select all 3 if vertex groups are used, since all of the vertices are used by the left and right face).


Fixing deviant vertices after Remesh modfier I have been trying to model a submarine; I deformed a cylinder and scaled the edges outwards, and the result was a torpedo shape with a front face consisting of six triangular sub-faces.
I need to add a circular window on the front face, so I tried converting the triangles to quads using the Remesh modifier. However the end result looks like this:
The modifier converted the triangles, but now those 4 highlighted vertices project away from the mesh and cause the model to appear crooked instead of tapered on rendering.
Why are these vertices projecting? How do I get them to hug the contours of the mesh?
.blend file here

Looking at your .blend file, it appears that your mesh doesn't exactly line up for mirroring. This is partially causing the SubSurf modifier to pinch the mesh. To fix this, select the edge loop on the plane of reflection:

Enable Clipping on the Mirror Modifier:

Scale the edge loop on the X axis by 0 (S , X, 0, Enter). Now, as long as clipping is on, the vertices won't deviate from that midline.
Re-enabling the SubSurf modifier reveals that we don't have any pinching any more:

As far as the topology for your window goes, the Remesh modifier is not the best option for you. It has no regard to symmetry and is best used on complex, triangulated meshes, such as Dyntopo sculpts or 3D capture imports. It would be best to just manually retopologize by merging the tris into an n-gon, then cutting it into quads with the Knife tool (K), like this:

This mesh is still symmetrical and preserves your original mesh, unlike the Remesh result. This will also subdivide nicely:

With more subdivisions and smooth shading:

Download the .blend file here:


How can I unlock rotation and displacement for multiple objects at once? I have created a collection of objects that includes archimesh objects.
I want to duplicate, move and rotate the collection.
Since archimesh objects have some of its properties locked, I have to unlock every property of every one of them.
I tried locking and unlocking all the properties of the selection set, but did not work. Only selecting one sub object at a time worked.
Is there a way to select all objects in the collection and have all objects properties unlocked?

In Blender if you want to change the same property on multiple objects you have to press (and keep pressed) the ALT modifier key beforehand, otherwise only the active object (Yellow outline) will update.


Can I hide certain keyframes that belong to the same object? I'm animating an animal and want to hide the all the keyframes to focus on just one leg. Is it possible to hide certain keyframes even when they belong to the same object?


Matching up perspective to background image I'm trying to match up the perspective of a camera to a background image. The purpose is to render furniture to composite into the image. Does anyone know of a good way to line up the plane so it the same perspective as the floor? I've already set the blender camera to be the same focal length. I know if I mess with the position and angle long enough I will get it but any ideas on how to speed up the process up would be much appreciated.

-Thanks

Blender File if you'd like to try it yourself

The reason you're having trouble is that your photo camera wasn't straight.  I can tell because the far corner isn't perfectly vertical.  It's VERY easy to fix this particular image:

go to the Camera view
Hit 'R' (Rotate)
Type -4.2

Pretty darn close when you move it back to the corner.  You can tweak it a little either direction to make it more exact. Caveat is that I had to guess a bit because that gray floor was in the way since I just downloaded your example image.


I have input a reference image and it wont rotate. What do i do? So i am trying to create an image and i have input a reference image but i cannot rotate it on at 90 degrees on the Y-axis. I have changed all transformation orientation to Global but it isn't trying to work.

Press ">", than choose "median point". Make sure "only location" is not selected.


How to make particles emit from an object at regular intervals without disappearing the already emitted particles I was looking for a solution of this issue regarding animating the number of particles in blender.
I have to emit particles from a pulsating hole at regular intervals. How can i do it? I tried animating the "render" settings in particle to "none" and "object" but the issue is particles that are already emitted are disappearing.I just want to stop the particles coming out of hole at a particle time without disappearing the already emitted particles.
Any solutions?

Here's a workaround that might help. If you don't want to create a particle system for each "pulse" but a single particle system doesn't allow switching emission "on" and "off", you have to kill particles in those frame ranges that you don't want them.
The lifetime of the particles should be high enough so that they are visible as long as you wish to see them. Let's say you want to emit particles between frames 10-20 and 40-50 for example.

Place a Collision object where the emitter is, set Permmeability = 0 and enable Kill Particles.
Go to frame 9, set keyframes for Permeability and Kill Particles.
Go to frame 10, set Permeability = 1 and disable Kill Particles and keyframe those values again.
Go to frame 20, set keyframes again without changing the values.
On frame 21, set Permeability = 0 and enable Kill Particles, keyframe them again.
Select all keyframes in the Timeline, Ctrl+C to copy them, then go to frame 39 and paste them with Ctrl+V
Keep pasting those keyframes wherever you want to emit particles on the Timeline.

Timeline example for Collision object:

Now here comes the problem: depending on what kind of scene you have and how and where you want the particles to emit, killing the particles normally takes (at least) one frame, so they exist for one frame and will be visible. If your scene setup allows it, you could disguise this by having the emitter hidden by another object so that those killed particles stay inside there.
If you are rendering with Cycles you can use the Age output of the Particle Info in the Shader Editor for the particle material. Plug Age into a Greater Than node to check if Age > 1. This information can be used as a Mix Factor between a Transparent Shader and the normal particle material, this makes the particles appear at an age of > 1. This is probably the best, because you can hide the Collision object and don't need another object hiding the killed particles.


What is happening to Suzanne's eyes during this use of the Boolean modifier? So, I used a Boolean modifier on Suzanne and a fairly default cylinder. The results, as they move along, go something like this:  video.

The modifier is set to union.  As you can see, something strange is happening: only her eyes appear.  I did do some interesting things with it previously using the subsurface modifier - but that time, her eyes dissapeared, as opposed to the rest of her head!

Kudos to anyone who can help me with this.

You are using a non manifold mesh. Basicly, non manifold means, in layman's terms, not water tight.

Here is an example:

The cube has a hole in it. In Suzanne's case, its the fact that her eyes aren't attached to her head.

Here is a quick way to fix Suzanne:

Note: I use the loop tools add-on accessed by W


Why Are White Lines Bleeding Between Textured Faces? I have an array of planes that I textured with an image file I made. When I look at the array in Texture mode or Render mode, I can see white lines bleeding through between the planes:

(Texture mode)

(Render mode)

I don't know how well the problem shows in these images.

I have done some research and found out that it is sometimes caused by bleeding of the alpha channel when the UV mapping is on the edge of an image where the transparency color in the image file is white instead of black. I tried fixing my image files in Krita (where I made them) and I think I turned off the alpha or at least changed it from white to black, which reduced the problem somewhat, but not completely. (I'm just learning how to use Krita)

I also moved the edges of the UV mapping away from the edges of the image file, which helped a little more. But again, not completely.

I also read that this can be caused by MIP-mapping, which I know very little about. I tried changing a few settings in the Materials and Textures windows, and one of them helped reduce the bleeding in render mode, but they're still quite visible at certain angles or (more significantly) when moving the camera.

This is probably due to MipMapping.

MIP mapping (also sometimes spelled as mipmapping) is a technique where an original high-resolution texture map is scaled and filtered into multiple resolutions within the texture file. MIP maps can be automatically generated from the original texture, but may also be individually painted or adjusted by the texture artist. Typically each subsequent MIP level is half the size of the previous, which guarantees that the complete texture (the original and its MIP maps) is no greater than 1.5 times the original texture.
Each scaled texture, or MIP level, represents what the texture would look like at a specific distance from the users viewpoint. Through the use of filters, the MIP levels give a more natural representation of how colors and details tend to blend together when viewed at a distance.

If your texture has a white default background colour and then some hard edges in your texture -> black road - then through the scaling down when generating MipMaps, the white background colour bleeds into the road. Therefore, always use a margin/padding of 2-4 pixels (depends on the texture resolution) when creating your texture maps. A good description here: http://wiki.polycount.com/wiki/Edge_padding


Keeping array objects straight when duplicated along a twisted curve I have a fence curve which goes down a hill and fence posts duplicated along it using the Array and Curve modifier.
How do I stop my fence posts tilting with the angle of the fence? I would like them to remain realistically upright as they go down the incline.
The post's origin is on the exact same place as the fence's and duplicated with the Array modifier, using the fence curve in the Curve modifier.

Issue

Fence properties (Bevel Object 'fence to curve' is the shape extruded along the curve to make the fence itself)

Fence post properties('Fence Curve.RIV...' is the fence curve)

I finally have an answer to this. I wanted to make pillars for my roller coaster track, and I needed them to be vertical as well and after a lot of search found the solution. Here is how it looks

The way is to NOT use Array Modifier/Curve Modifer but instead parent the object (fence posts) to your curve ( Ctrl P), and then use DupliFrames (after disabling speed). This way, it treats each of your posts as separate objects and then you can use Limit Rotation to zero degrees on all axes. This will keep them vertical.

I just implemented this and it totally worked. Let me know if you need more details. I think the idea is that modifiers treat the set of fence posts as a single object and thus you cannot Limit Rotation on them separately. Using DupliFrames treats them as separate objects and thus you can limit their rotations afterwards. Sorry for the wordy reply without any images. Other blender experts can comment if this should work.


Alpha channel set to below 0.1 results in invisible object I encountered a problem I do not know why when creating image in Shader Editor,
I set alpha value between 0<=Alpha<0.1 in Shader Editor, the object is invisible from texture Paint mode, as seen below,

But if if set Alpha>0.1, the object become visible as shown below, but it colors blue

So I don't know why it become invisible if alpha value less than 0.1

Shaders typically have a clipping value set for low alpha values. If the alpha is below the clipping threshold, the pixel won't be rendered. This is an optimization which helps speed up rendering and can help give sharper transitions on textures with transparency.


Bone Parallelogram Connection Translations and Parenting I'm trying to get a single side of a mechanical parallelogram (with 2 bones parallel and equal in length) to carry the "Neck Base" along a fixed angle as a parallelogram only allows.

I've tried restricting the movement of the bone within the IK chain (pictures show that there are none, but I did try) to allow zero rotational movement, but the "Neck Base" still rotates weirdly and not smoothly. It reacts the same way without any of said rotational restrictions, if that helps.

I do have a Bone Constraint on both "Neck Rod Front" and "Neck Rod Back" to share the same rotation angle in only one axis as shown.

Is there a way to connect "Neck Rod Back" to the "Neck Base" to maintain that angle?

Is there a better way to complete this method of movement?

Here's a link for the file for testing.

https://ufile.io/wmhn6

Pictures:

Rest Position

Forward Position

Up Position

Short Gif

There are two simple solutions to it:
What both rigs have in common:

boss and helper are children with offset of main. That puts them into local space and prevents flipping. If ever the rig has to do a looping this becomes relevant.

bar is a child of boss.

neck 1 is a child of bar with offset.

1. Two simple constraints.
This one works if the bones are really parallel and have the same length (copied). Helper has a Copy Rotation Constraint and rotates in sync with boss.
Bar has a Locked Track Constraint pointing to helper. Locked Tracks only rotate around a locked axis and are therefore more stable than a Track To. They won't flip.
Now you can rotate boss and everything will follow.

2. One slightly more complicated constraint
This one will work regardless of lengths and rotations as long as it can function mechanically. Good for rigging excavators. It has an additional bone, target, which is a child of helper with no offset.
This time, bar has an IK Constraint pointing to helper, chain length 2. boss and helper kind of need a rename since now it's helper who gets to be animated. bar and boss will follow.
But you could just as well turn bar around, parent it to helper, put the target on top of boss and do the IK chain the other way around.

A third solution would be to let main be a duplicate of bar, maybe form a complete parallelogram with the 4 bones and give bar a copy rotation constraint to main but it's not really needed.


How to properly apply all this image textures? Cycles Even though I do feel like this may be a duplicate I am unsure on few on how to use them.

I downloaded a fbx from online, a free one which came with textures but I am unaware on how to use it properly.

This is what they come with and the model is this

I did something upto a point but I am unsure on how to use the two normals, the cavity, spec, and translucency. I am not even sure if I did the rest correctly.

This did work, still unsure where to plug the micro-normals but the results achieved from this are quite good. You can also play with the cavity color and value to give a overall color to the skin.


What is the difference between blender render and blender game? I have to simulate rigid body physics simulation that is close to the real objects. Its about free fall of objects from initial random position onto a table.

I am new to blender so I started my project in blender render and have been working on it. But I see that in certain tutorials, they use blender engine. So I wasn't quite sure about the difference of these two modes.

When to use which? What is right setting for my project?

If you are making a still render or animation, then you most likely want to use the rigid body physics in the 3D view.

If you are making a game or a program that users will interact with in some way, then you most likely want the game engine.

Not too long ago blender didn't have any way to simulate rigid body physics outside of the game engine, and there are still lots of tutorials floating around from before that time.


Video format/encoder settings that don't destroy image? I'm trying to render video of something where the individual pixel color matters. I need whatever format and encoder I use to preserve the basic colors as much as possible. All of the formats in Blender seem to totally destroy the image at a pixel level (except RAW, but that is massive.)

For example, here is a test image. Above is the original .png. Below is that image rendered with the default MPEG output setting.

The colors have been drastically altered, and it's added value into solid black pixels. I assume this is some feature of the codec meant to help interpolate between frames in a video or some such. But I'd like to just get regular video, same as an image sequence.

The base .png is 23.1kb (2400x600) so I'd expect to be able to get a video file that is 360 frames of that at ~8316kb. But it seems my only option to get this into video without destroying the quality is a ~460mb RAW file?

Is there some combination of format/encoding settings where I can just get the same thing as a PNG sequence but as a video without any added effects?

The short answer is that you can't.

The longer answer is that it is an extremely complex series of transformations to take something from the RGB domain to the YCbCr domain, as outlined here.

Finally, even if you manage to leverage a 444 output stored in YCbCr that doesn't decimate your work, the output from Cycles is known as scene referred data. This data cannot be captured properly in a PNG nor any codec format. For a larger explanation into some of the nuances of this, see this question and answer.


Shading problem after object cut? I made a cylinder (1):
Shading = Smooth
Mesh Tab: Normals = Auto Smooth

Then I cut the cylinder to get a quarter. (2 - 5).

I duplicated the quarter and rotated it 90 degrees (6). Now the shading looks bad. Someone has an idea how can I make it look like in (1)?

I don't want to connect the vertices, because I want it modular.

Smooth shading calculates the normal of any point in a polygonal face of a mesh by interpolating between the normals at its corners. The normals at the corners of a face are stored in the mesh data, and are usually calculated from the normals of adjacent faces.

When the cylinder is cut, some of the adjacent faces are missing, so the calculated corner normals are changed.

However, you can copy the corner normals from an intact cylinder to the cut cylinder by applying a Data Transfer modifier.

Place the cut cylinder directly over an intact version of the same cylinder
Add a Data Transfer modifier to the cut cylinder, with the option 'Face Corner Data' checked, set to copy from 'Nearest Corner .. etc', and the intact cylinder as its target.
Apply the modifier

Cylinders: 1. Intact. 2. Cut with no transfer. 3. Cut with transfer.


Cylinder meshes and boundaries Maybe i am just missing something.
(Eevee, Blender 2.9)
I have a cylinder and I wish to add 2 meshes to and cut a shape from the side.
I select cylinder object and then use Ctrl+R in edit mode to create an upper segment.
I highlight all faces of the upper segment and apply one material - pink.
I highlight all the remaining lower faces and apply second material - grey.
I add smooth shading, edge split and subsurface division (catmuli) - then the mesh material (pink) jumps and extends beyond the mesh bounds.
If i click "on cage" option in subsurf then the mesh material extends to the full size of material - but not to the original height of the mesh cut.
Then i add a rectangle mesh and perform a "knife project" on them to cut shape out of side of cylinder. Doing this displaces the entire material.
In the attached blend file there are 3 cylinders
Cylinder 1 - the original size of material applied to top segment, no modifiers
Cylinder 2 - the new size of pink material, after applying modifiers.
Cylinder 3 - the deformed material from the knife project
Why does this material displacement happen? Why the deform on knife project?
Thanks in advance.
U.

This is caused by the Subdivision modifier.
It interpolates the spacing between edges, and the subdivided geometry is slightly moved.
The same thing is causing the distortion when adding cuts with knife-project. You're effectivelly adding loopcuts, which limits the stretching.
These are your options:

Add a crease to the edge
Make the geometry evenly spaced on the object
Add a loopcut on both sides of the edge
Split the edge using Edge split modifier


Array Modifier deforming mesh I am using an array modifier to create a long fence along a curve. I have modeled a small section of the fence so that I can use an array modifier to fill in the rest. I am using a curve as the path for the array modifier. The curve follows the path of the terrain. The fence is getting deformed as it is follow the curve. It is making the fence unrealistic.

The planks going from pole  should be straight like they are in the original model.

If I use a low poly fence that is made up of simple boxes only the deformation the planks behave like I expect them to.

This is the behaviour I expect from the high poly fence. I think the low poly fence works because there are no vertices to deform in the planks beside the endpoints.
How can I prevent the planks from deforming with the curve?

I want it to distort the poles, so that it looks like the are follow the surface of the terrain. I do not want to planks to be bend, only stretched to connect to the poles as needed

blend file

The curve contains too many unnecessary points. Additional curvatures will bend the object where you don't want.

For better control in this case, I suggest to separate planks from poles, making them as two individual objects. Then use one simplified curve (or two curves) to control each of them.


When IK bone moved wrong part of mesh deforms I am pretty new to blender, but I've been digesting as many tutorials and reading as I can get my hands on. I've run into a problem and I can't quite form the question properly for Google to handle so I've come here for help.

When I manipulate the arm IK bone most of the mesh behaves normally. However, when I do manipulate say the left arm IK, there ends up some twisting and deformation on the right breast of the mesh. I've checked the weight painting and nothing on the left side is connected over there.

I'm not entirely certain what else it could be.  I've checked the parenting. I checked the weights and made sure to subtract everything that needed it.  I'm stumped.  I have before and after pics and I will certainly make the .blend file available if anyone needs to look more closely.

Thank you.

[![Before][1]][1]

*Here is the blend file.

Yes, I checked the file, there are still subtle weight painting errors... I know they're subtle because it's difficult to see because they are just drawn in a slightly lighter blue colour, and some weighted vertex somewhat hidden into the folds of the suit of the character. but trust me, that is the problem. I can show you where they are some, in an image:

I removed all of them from the right IK arm, and now it moves just the supposed geometry.

There is a way to help you spot those subtle areas, and you can use it temporarily just to fix your weights: in the user preferences, activate the "custom weight paint range", and setup one that will help you, like did here:

Here I setup 2 control points in the colorramp:

the first is at 0 exactly (vertices with zero weight): black
the second, at 0.002, white (vertices with weight 0.002)

you cannot even see the black (zero) point, because it's very, very near to the white, but it's there.

in this way it's very easy to see where the bad paints are... when finished, just disable this feature, and get back to the default rainbow scheme...


python find material that is not used I am not a blender developer, but a python developer. I wanna create some validation scripts that I can use to assure that we don't keep orphan nodes in the blend file. One thing that I wanna do is to find out if there are any NOT used materials in the file. I wanna implement the is_used method below, that should return True only if the material is used in the blend file, and False if it is an orphan material that is just remaining in the blend file.

def is_used(material):
    pass

for material in bpy.data.materials:
    if not is_used(material):
        print('material %s is not used' % material)

Like Chebhou mentioned, you can use material.users to find out how many users there.

So you should use this in your method:

def is_used(material):
    if material.users == 0:
        return False
    else:
        return True

Or because it is a very simple condition, it would be more effective to not use a separate function at all:

for material in bpy.data.materials:
    if material.users == 0:
        print('material %s is not used' % material)

Also, the new str.format() in Python 3 should be used to fit the new standard (but it isn't really necessary). You can also use material.name for a prettier output.

print('material {} is not used'.format(material.name))