Is it possible to use four corners of a single marker for a plane track? When tracking smooth and round objects, it can be quite difficult or even impossible to place markers to any specific features. On the other hand, it is often quite easy to track the object as a whole with one marker set to Affine or Perspective motion.

Unfortunately, even if such a large marker succeeds to perfectly track the whole object, it cannot be used to create a Plane Track. Plane tracking always needs four markers. Is there a way how to get around this limitation?

Edit: The inspiration here was a videoclip where people have sunglasses filled with funky textures:

Placing several trackers on each of the sunglasses, perhaps on their edges, would be quite unreliable. However, it is easy to track glasses with a single marker like this (movie screenshot):

I am looking for a way how to use the precise orientation of an object tracked this way.

Using Python, we can just create a new track for each of the corners, which in turn allows to create a classical Plane Track.

  tracking = D.movieclips['clip.avi'].tracking
  begin, end = C.scene.frame_start, C.scene.frame_end
  corners = [tracking.tracks.new(frame=begin) for i in range(4)]
  track = tracking.tracks['Track']
  for frame in range(begin, end+1):
     track_marker = track.markers.find_frame(frame)
     for i, corner in enumerate(corners):
        corner.markers.insert_frame(frame)
        corner_marker = corner.markers.find_frame(frame)
        corner_marker.co = track_marker.pattern_corners[i]
        corner_marker.co += track_marker.co

However, this is quite clumsy a solution.


How to render a floor plan while maintaining proper lighting A cut plane passes through an object in 3D manufacturing or architecture to see the interior workings of an object.

I want to create a building and landscape scene. I need to render floor plan views, which is a cut plane passing through the building at 4 feet above the floor. I want to be able to view the interior of the building, but keep the roof and outer walls in place so they continue to block ambient lighting from outside, while windows continue to allow light to enter.

Is this possible?

Thanks in advance,
Tim

Edit: This is a very simply model, but, with a plane and Boolean modifier set to intersect, this is what I get:

You can see the outline of the intersection, but it's not "cutting" it. The building was made with a plane that was extruded. Is that possible causing the Boolean operator to not intersect?

To expand on the great answer of stphnl329, I'll add another technique.

It works in Eevee, but I'm sure it can be used in Cycles by tweaking a few nodes.
So, the idea is to create a node group controlling the alpha value of your material and simply plug it into the alpha value of each of your materials.

First we will create the basic setup.

Add (with a Vector Math Node) the location of each object and the local position of each pixel in the object. That way, we have the real world position of each pixel in the material. Extract the Z value with a separate XYZ.

Plug this into the value of a map range node (you need Blender 2.81+). Check clamp and invert the To min and To max values.

Add a value node and plug it into the from Min input, and add 0.001 to it and plug it into the From Max node. This setup is emulating a Color Ramp node with a constant interpolation. Plug the map range output into the alpha input of your bsdf.

In the shader editor press "N" to show the tools panel. Go into the options and set the alpha blend mode to "Hashed"

You can already see the magic in action. It works best in perspective mode, in orthographic you will have some light bleeding (you can get rid of it but I won't tackle that here).

Go into your world settings and add a custom property named "floorplan"

Right-Click on the value of your property and choose "Copy as New Driver". Right click in the value node in your shader and choose "Paste Driver". Now your value is driven by your world property.

Now select all the nodes on the left of your BSDF and type CTRL + G to create a new group. Tap TAB to exit the group. Name it floorplan. Go the material of your other objects and add this node group (SHIFT + A > Group > Floorplan) and plug the output into the alpha of the bsdf. Don't forget to set the alpha blend mode to hashed in every one of you materials.

Example :

Final result :


Troubleshooting Blender's Memory Use (Memory Statistics) I've got a model I've been working on for a few weeks here.  The file itself is 2.1Mb and there are no textures used.  Although the full model is 3 million polygons, it's all subdivision and mirroring and arrays and most of it is hidden most of the time.  I suspect Blender is doing some intelligent lazy generation given there's a slight delay when I unhide objects for the first time in a session.

However, I'm seeing memory usages in this scene at a bare minimum of 850Mb.  When I do a render, that shoots up to 1500-1700mb and stays there (doesn't increase on subsequent renders) until I restart Blender.  It's causing some minor performance issues when I've got other stuff running and in some cases I have to restart Blender after doing a render just to reclaim the RAM.

I suspect I may have a fault in my objects somewhere, and on using the space search, found memory statistics.  Looking it up, it apparently ends up in the console.  I could find this on previous versions of Blender by searching for "console" on Windows or by running from a command line.  However, on Mac OS X, "console" returns no results and running from a command line shows nothing in the terminal window besides me starting the .app.

Thank you.

To fully investigate the problem you may need debugging tools (debug builds etc), but as a user, here are some things you can do.

The first thing to check on is Blenders memory statistics in the top header and compare this to what the operating system reports Blender is using, to see if the memory is being tracked by Blender or not.

If Blender's header doesn't show a large difference in memory then its possible there is a memory leak, or more likely - one of the 3rd party libraries Blender uses is holding onto memory.

If Blender also reports a jump in memory then you can use an operator which reports details about memory use.

Reporting Memory Use

Start Blender in a terminal: See manual for instructions.

Before rendering run the operator "Memory Statistics" from the space-bar search menu. Copy and paste this text into a file.

Render the scene and re-run "Memory Statistics" copying the output into a different file.

The text will look like this:

total memory len: 9.319 MB
peak memory len: 18.868 MB
slop memory len: 5.043 MB
 ITEMS TOTAL-MiB AVERAGE-KiB TYPE
  1993 (   3.051     1.568) BLI_Mempool Chunk
   210 (   0.972     4.740) Data from ME
  2544 (   0.612     0.246) PropertyRNA
    20 (   0.584    29.922) Chunk buffer
  2296 (   0.438     0.195) StructRNA
  3025 (   0.369     0.125) IDProperty array dup
  2209 (   0.322     0.149) dupli_alloc
  1723 (   0.302     0.180) keymap entry

--- snip ---

Now you can compare the results, it may help to use a visual diff tool. search online - many free applications exist.

There may be a perfectly logical reason that Blender is using more memory but if not, then best report a bug on the tracker so a developer can investigate,


Eevee multicolor gradient by object location? Alright, currently I have a color gradient somewhat hacked together with a Divide node and based on object location like this:

What I want is this - a 4-5 color gradient based on object location (so it can be split among the cubes) and not oddly hacked w a Divide node:

Ive tried plugging Object location directly into color ramp but am not having luck/cant scale the gradient. How can I do this?

In order to achieve this you need to take account of both the X and Y location - your current example is only using X from the Separate XYZ node.
Something like the following should do the trick :

Here the X and Y are used to generate the Red and the Green channel of the resultant color and the Blue is generated using some maths to color from the opposite corner of the range (ie, subtract each of X and Y from 1 to invert the range and use the minumum to combined them). The two Value nodes are used to control the Range of the fade (the one on the Mapping node) and the spread of the colors (the ones connected to the Power nodes). The start location of the range any any rotation can be controlled via the Mapping node.
This produces the following result :

To get different mix of colors you can adjust the maths to something more complicated. You could potentially add a Color Ramp before each input of the Convert XYZ node to give you more visual control of the result (with each controlling the level of that channel via gray-scale values).


Blender Multitextures Normal maps as says the title: is it possible to use normal mapping in Multitexture mode, if yes how ?

No. It is not possible.

Multitexture is a fixed-function pipeline which can do multiple layers of diffuse textures, but lighting information is calculated per-vertex. This means that maps that contain information that should influence lighting have no effect (eg specular hardness, specular intensity, normal, height).
In GLSL mode, lighting is calculated per-pixel, and so these maps can be used.

In short: In multitexture, the only maps supported are emit, diffuse (with some trickery) and transparency.

I highly recommend GLSL. Most hardware made in the last decade or so supports it. If you are concerned about the performance of GLSL, I will point out that it depends mainly on the complexity of your shaders. If you simply use diffuse, emit and transparency maps, the performance is virtually the same as multitexture. GLSL offers more functionality, allowing more effects, and it is these extra effects that cause performance loss.

That said, I used multitexture for many years because my hardware didn't support it. You can do some great looking stuff in multitexture mode if you are clever.

EDIT:
Apparently if you have old enough hardware, the performance difference between GLSL and multitexture is noticeable, even on simple scenes.


Scale Faces in UV/Image Editor I want to scale a lot of faces in the UV/Image Editor, If I select all of them and scale them the center of every face moves.
Is there a way to scale all faces and keep their position, except selecting them seperately and scaling them down?

This button in the UV editor is what you are looking for:


Delete time from video project I want to delete the frames between 100 and 200 from my project and have all strips automatically shift to compensate (thus, pre-delete frame 200 automatically would become post-delete frame 101 without having to manually drag any strips). This is a standard feature in audio workstations I've used; e.g. not wanting the audio between minute 1:00 and 2:00 and using a command to delete that time, automatically shifting all tracks to the start point of deletion.

How can I do this in Blender? (Can I?)

Yes, you can do this. It's fairly easy once you know how.

Go to the frame you want to start on. In your case, 100.
First select the whole video. Then press Shift+K, to hard cut. Now you should have two videos and/or audio(cutting the video cuts the audio too).
Then do the same as number one but to last frame you want to cut out. (200)
Simply select the middle video and audio, and press X then E
Finally select the last strip of video and audio and slide over to the first using G

Want More Info?

Check out Mikeycal Myers Videos on Blenders V.S.E. here
For this, I would recommend video #4


How to enable Vertex Color Paint in v2.81.16? Can't find material options in new UI Just installed Blender, not used to this UI. Having trouble finding a lot of things, but getting by. Can't get by without this though, there used to be material options but either that got thrown out recently, or I'm in the wrong render mode.
I think I'm in Blender Render, but I've not seen where that's shown or can be changed in v2.81.16.

First the video, then some explanation:

In the top left corner of your 3D View window, there you can find a Combo Box with the choice for "Object Mode" usually the one you start in, "Edit Mode" and further down "Vertex Paint Mode". That said, materials, you find on the right side down, in the "Properties Panel", all the way down. If you ask for material related settings in the render settings, 2nd from top, then you will have to consider which render-engine you want to use. Evee and Cycles have "some" specific options, while most materials you can set up with the nodes can be used with both. In case something does not work, you can build one material with 2 output nodes, one for Evee and one for cycles.


obj Import .mtl File Hey I'm struggling with an obj File. I got an obj file and everything seems fine except the Textures are missing. I checked the .mtl file and the .obj file.

I've already looked at Importing OBJ with MTL and Image not working properly

In the .obj File at the start of the File it looks like this after I've replaced an absolute path in mtllib:

# FILE 11740_Baumgartu_Haus_0_3D-Export.obj
mtllib 11740_Baumgartu_Haus_0_3D-Export.mtl
trace_obj 11740_Baumgartu_Haus_0_3D-Export.obj
shadow_obj 11740_Baumgartu_Haus_0_3D-Export.obj

g C211_AUSSENWAND_TR VERPUTZ__GLATT__WEISS

usemtl VERPUTZ__GLATT__WEISS

v -24948.3 -6963.67 8330
v -24903.8 -7471.73 8330
v -24704.6 -7454.3 8330
v -24749 -6946.24 8330
v -25012.6 -7146.54 8570
v -25028 -6970.64 8570
...

and in the mtl file it looks like this:

# FILE:11740_Baumgartu_Haus_0_3D-Export.obj
newmtl VERPUTZ__GLATT__WEISS
Ka 0.916471 0.916471 0.916471
Kd 0.964706 0.964706 0.964706
Ks 0 0 0
illum 2
Ns 100
map_Ka verputz_glatt_weiss.jpg
map_Kd verputz_glatt_weiss.jpg
map_Ks verputz_glatt_weiss.jpg
newmtl 011740_FASSADE_FENSTERBAND
Ka 0.4 0.4 0.376471
Kd 0.633333 0.633333 0.596078
Ks 0.25 0.25 0.25
illum 2
Ns 5
...

The textures are placed in the Folder "11740_Baumgartu_Haus_0_3D-Export_Texturen" inside the Folder where the obj and mtl file is. I have copied the textures directly into the same folder as the mtl and obj aswell.
Can't find what is still missing

In Blender it looks like this:

when importing I have set the search images checkbox

Please check if the name in the code (mtllib Name.mtl) from the OBJ file is the same as the MTL file name.

If it's not please tweak the code or change the name of the MTL file.
This issue happened to me too when i realised the OBJ file doesn't have the same name
in the code.

If this doesn't work and/or the filename was the same then there
is probably an issue with the code. If the code doesn't match the pictures name's then you schould modify the names.

~Randy


Is there a python command to package all the files in an existing .blend without it being opened? I was wondering if there was a python command that packs existing .blend files, without having to open them.
For example having a folder full of 3d models with textures, videos , music,  inside, I was wondering if we could all pack with a for loop without having to open 1x1 files.

Edit:

I simply ask if there is a python mode, through a for loop to access these .blend files already saved and in the case pack all the files inside them.
I would just like to run this from a script on any project, even empty in the case.

If it does not exist, I also accept this answer, provided it is a correct answer.

You can do it using Blender in the GUI-less mode:

create a new Python script like this one (I'll call it pack_GUIless.py):

import bpy

bpy.ops.file.pack_all()
open the Command Prompt (Windows) or Terminal (Linux) and run the command blender --b [path_to_file]/test_file.blend -P [path_to_script]/pack_GUIless.py. You might have to put the blender path as well if you have a portable version of Blender. More info here:https://docs.blender.org/manual/en/latest/advanced/command_line/arguments.html

This will open blender in the terminal and close it as soon as the files of the test_file.blend project are packed, so it will be fast and clean (no GUI loaded).
If you need to do it do it many times you might want to create a .cmd script to make it easier, like this one I made for rendering purposes (so you edit the script with the path to the .blend file and run it, and it will do everything by himself).

Please mind that I didn't test this specific case, so you might have to tweak something


How to get name of image corresponding to active paint slot? I understand that I can get the paint_active_slot for the active object, and that returns a number that corresponds to the position of the texture in the slot panel and in the texture panel.

bpy.context.active_object.active_material.paint_active_slot

What I don't seem to understand is how to get the names of the textures that correspond to the list of positions. If I want to force a 2d editor popup and have it in paint mode and also have the active paint slot, I am stumped on how to use the [0], [1], etc. that is returned by getting the active paint slot to correspond to the name of the texture.

This isn't just about making a new texture through python and forcing it to be loaded in the editor, but what I mean to do is to be owrking in the 3d view on an object with one or more image texture slots and be able to select and image slot and press a button to pop up a floating 2d editor that shows that image slot so that I can make use of the differences in the 2d paint tools while still focusing on the 3d paint scene.

edit:

I tried to look at a few things.

bpy.data.materials['my_image'].paint_active_slot

gets me the index of the current active paint slot.

bpy.context.active_object.active_material.active_texture_index

gets me the index of the active texture slot. These can be active and not be the same as the active paint slot, but they do share the same sequence in index so that if you move a texture slot up or down, the paint slot moves up or down to match.

bpy.context.active_object.active_material.active_texture

gets me bpy.data.textures['Diffuse_Color'] and appears to be usable for getting the name of the texture to match to the index of the texture slot index, but only the active one.

Somehow I need to connect the index of the material texture to the active paint slot index, and pull the name from a list I don't know how to get other than one active texture at a time. Is this a typical use of the for loop then? Do I iterate through the textures making them active and getting the names, and populate somehow to a list that will match the index numbers?

edit: I worked on a version that at least does change the active texture to match the active paint slot, and in the process I noticed that the paint slot image was opening in the main uv imge editor, but I suppose my problem is getting it to work on the floating editor that was formerly the user prefs window :D

import bpy

# Call user prefs window
bpy.ops.screen.userpref_show('INVOKE_DEFAULT')

# Change area type
area = bpy.context.window_manager.windows[-1].screen.areas[0]
area.type = 'IMAGE_EDITOR'

bpy.context.space_data.mode = 'PAINT'

#get active material

activemat = bpy.context.active_object.active_material

#get active paint slot for material

indexslot = activemat.paint_active_slot

#get corresponding index for texture/make it active in texture index
activemat.active_texture_index = indexslot

#get name of active texture
texname = activemat.active_texture

#set active texture to active image in 2d editor space

for area in bpy.context.screen.areas :
    if area.type == 'IMAGE_EDITOR' :
            area.spaces.active.image == texname

Thanks for any help you might have to give.

Material.texture_paint_images contains all image references used for painting.

import bpy

mat = bpy.context.object.active_material

for idx, img in enumerate(mat.texture_paint_images):
    print (idx, img)
    if idx == mat.paint_active_slot:
        print ("Index:", idx)
        print ("Name:", img.name)

Even shorter (without the iteration):

>>> mat = bpy.context.object.active_material
>>> print (mat.texture_paint_images[mat.paint_active_slot].name)
'Material Diffuse Intensity'


Can't shrinkwrap a plane around I have been learning Blender, I have a complete human model but I want to wrap a small plane around the bottom left leg, like a strap/belt.
Before I did the shrinkwrap operation, my model looks like this. A plane with no modifiers and a duplicated part of leg mesh where I want to wrap. (Human model from MakeHuman)

After I apply the skinwrap modifier it looks like this. Though I increase the length of the plane, it never makes a complete circle around the leg. I have tried will all options but failed. Is there some way to accomplish this ?

!
I want to wrap my plane around the leg mesh. Can someone help me out. Thanks in advance.

It won't work this way, you first need to make it rotate around the cylinder, for example with a Simple Deform in Bend mode:

Then shrinkwrap.


Problem with mirroring and animation rigging Welcome
I’m beginner in that and not the best in english so please for your understanding.
I have problem with mirroring some object on my work. It doesen’t mowing like I wanted to when i making animation. Problem probably is caused by object pivot (what is mirroring object for second one - Picture) point that don’t follow to rotation of bone. I think that I understandably explained my problem. I wanna to know how to solve that issue.
Link to download: https://download1523.mediafire.com/qu1p77h764rg/13xrbrf71bcl7il/LIGER.blend
May it be possible to understand words because I mostly used my country language in naming the objects etc.
Thank you in advance for your answer.

The main issue here is that you have several armatures, each with only 1 bone. But what you want is only 1 armature with several bones.
You can join the armatures with Ctrl+J. But you need to do some clean-up first. Most of your objects have a Mirror modifier. I would apply them and make a full rig with mirrored bones. If you want to keep the Mirror modifiers for some reason you need to move the Armature modifier below the Mirror modifier on the stack.
Clean-up

select all object and rotate them by -90° around the Z-axis (R, Z, -90). This places the dragon correctly. The front is in the front view and the side is the side view. This way you can mirror bones along the X-axis if you name them with ".L", "_L", ".left" or "_left", and ".R", etc, respectively.
select the head's aramature (szyja), go to Pose mode, select all bones(well, it's only 1) with (A), and clear all transformations (menu: Pose > Clear Transformation > All)

If you go to front view (Numpad 1 or menu: View > Viewpoint > Front) the dragon should now look at you

remove all Armature () modifiers from every object. Apply the mirror modifiers if you want, do it top-down from the stack.
join all Armature objects (grzywa...*, Oko, szczęka, dzialo szczekowe. kosci, szyja) with Ctrl+J. The last one you select will be the remaining main armature. If a mesh moves then check the modifiers for an Armature modifier and remove it.
apply Location, Scale, Rotation for the armature (Ctrl+A, All Transformations)
optional: this should be done for the mesh objects, too, but the Mirror modifier settings must be adjusted (mirror X-axis for the head, ...)
optional: if you have applied the mirrors, rename all the bones on the dragon's left side (=right side from your point of view) to Kosc- mocowanie mk1.L. Then use the menu: Armature > Symmetrize in Edit mode to let create the bones on the right side.
select all the mesh objects and the armature, then parent them (Ctrl+P, With Empty Groups in Object mode). Empty Groups will use the still existing weights. Adjust the modifier stack if you have Mirror modifiers.
check the weight paint for the eyes and the jaw. There seem to be some "rogue" vertices that have a different weight.
for better control make a bone hierarchy. Parent the bones (with offset). Something like root -> neck -> head -> mane, jaw, eyes, "ears". This way everything will rotate with the head. This doesn't work with a flat hierarchy as shown in the screenshot.


Snap Utility is removed when default cube is deleted I have Snap utilities installed in the user preferences (Lite) edition. Only the Pencil works. I also have the default cube showing. I now want to delete the cube and the snap utilities is then removed from by preferences. Would some please explain why this happens

Blender's UI is capable of only showing the functionality that is relevant to your actual selected object but not every addon makes use of that capability.

Snap Utilities are probably mesh based and therefore are designed to only be relevant to mesh objects. If no mesh object is selected (like the camera or the light in the startup scene) they simply will be hidden until a relevant object is selected.


How to restrict to cycles use only 90% of gpu? How to restrict to cycles use only 90% of gpu? For example redshift use always between 80-90% and because of that i can work with something else when render on video card. But when i put render on cycles i can forgot about using PC while rendering.

From the Blende manual on GPU Rendering

  Why is Blender unresponsive during rendering?

  While a graphics card is
  rendering, it can not redraw the user interface, which makes Blender
  unresponsive. We attempt to avoid this problem by giving back control
  over the GPU as often as possible, but a completely smooth interaction
  can’t be guaranteed, especially on heavy scenes. This is a limitation
  of graphics cards for which no true solution exists, though we might
  be able to improve this somewhat in the future.

  If possible, it is best to install more than one GPU, using one for display and the other(s) for rendering.


Precision of snapping to vertex How could I pick which vertex in scaled object should be snapped onto vertex?

I can only snap the other vertex of the arch to the wall vertex

I would like to snap like that(i can only achieve this by eye without snapping to vertex) - Yellow circle is the state i would like to achieve with snapping to vertex

Ps.
Selection to grid dont work in manual case(screen 2) because it modifies top segments of the arch as well because I would like to keep proportions of the arch segments.

A simple workaround: extrude two vertices on right X. then spin 180 degrees around the center of top face, with 16 steps, then remove doubles (two vertices will be overlapping but not jointed).


object x parented to Armature bone, object y parented to object x, Y doesn't move when i move the bone enter link description here

so object x has the parent armature and weight painted to "bone", all the "y" objects are parented to Object x, when i move object x the y's move along with it just fine, but when i move Bone the Y objects dont move along and just stay there.
What do i do?

OK, this is "normal".

Y feathers are parented at the object level. But the object level stays in place when the X mesh (think about it as 'edit level') is moved by the bone.
Because the bone does not moves the center point of the wing.

What you can do it parenting your feathers like you did for the X wing.

Or set all wings and feathers in one object and parent it to the bones. Like this :


How to use image sequence to control particles? I have image sequence that I want to use to control particle spawn area.
Image sequence is black and white mask in nature. It depicts a moving disc:

When I try to use the same sequence to control particle spawn with the "Density" controller, I get very wacky results. They seem fine in viewport as you will se in the gif below, but in render results are wrong.

Render of the same scene, does not look like a viewport result

Here I made a gif of my process (20mb): https://drive.google.com/file/d/1-GA9eF6biSXK4Nv2on2QecZgIRAdwrOS/view?usp=sharing
So how do I control particle spawn with the image sequence the right way?
Unfortunately blender can't pack image sequences in to file, so i put my blend file and image sequence here: (1.3mb total) https://drive.google.com/drive/folders/1CcxzUDwEFGFghC-nYHWwr8zidshfLb7y?usp=sharing

You are lucky more than me :) I got particles emitted only from a one frame (tested with 2.79, 2.83, 2.93 and according to this answer and its link to devs (also seen as closed bug report with this topic in 2017) ... seems like limitation persists. So what you see in your preview is a pure love of God :)
So ... seems like the only one option to control animation with texture is to translate animation into a gradient image.

To prevent release from black pixels I used image with transparency (PNGA). For some weird reason I had to set Alpha > None to let it work as intended.
To get a bit of randomness of release apply a Noise filter on image

I know you said your example is just a prove of concept, but probably you would be able reuse for your needs as well.


My Rigid body simulation doesn't work as I want it to So I made a pixel mesh that is made out of many boxes and I want them to fall and break when they hit the ground but they break then falls. What settings should I change? I want it to fall first and break on impact when it hits the ground. My settings are on the right of the image.

So the issue was that I was applying rigid body to all of the cubes at once which was giving me a different simulation. The solution is you have to apply rigid body to one cube and make sure you get the reaction you want and then apply copy from active and then bake it and it should work fine. It works great for me. You have to keep in mind that the collision shape will cause a different simulation depending on what shape you used.


circular flat uv issue I am trying to unwrap this flat ring shape, I know I can follow active quads to change the unwrap from circular to a strip, but my question is why blender do not unwrap this shape as a strip when placing the seam? Am I doing anything wrong?
What I get..

What I want..

Many Thanks.

you will lose texel density if you Unfold it like what you want and blender is unfolding in true way - if you want to unfold as a line and it be straight - use addon Textools > Rectify


Skirt collision with body Been working with Blender for about 2+ weeks.

I know this sort of question has been asked a lot but I've been struggling for a week now, trying different things to the point where I don't know what I'm doing anymore.

What I want to do is make the skirt collide with the body. Collide and move around the body like how a flag would ripple in the wind if that makes sense to you. A natural movement basically.

I have an armature for the body. A "cage" for the skirt + mesh deform modifier for the skirt. It sways naturally, but that's it. The skirt has automatic weights, by the way. That's why it stretches like so when the foot is lifted (see the screen at the bottom).

I've been trying to follow some tutorial series - Complete Character Rigging Guide (w/ Hair Physics) - Blender Tutorial (by Daniel Kreuter) but it gets too complicated with duplicate armatures and stuff...

I also saw this video:

blender Quick Tips - Cloth Simulation for Animations

I can do the first and last method but I don't understand the second. Not even sure if it would allow me to get that natural flow I'm after.

So, what would be a good approach?

I plan on using all this for a game eventually, I hope.

Quick note:
I can make swinging polygons with armature and empties. Now I have to figure out how to bind this to a mesh. It has to do something with vertex groups.

EDIT:

I don't think the armature and empties will help with achieving natural skirt flow. So I did something else. I moved the armature modifiers on top. Cloth simulation - last. It's a bit better but still not good enough. Have a look:

I've added some polygons on the legs (visible on the right leg), attached them to the corresponding bones and added collision (with default settings). Why? For faster and easier collision detection. The body has a lot of vertices and lags when testing.

The skirt-deformer is a low-poly mesh which is parented to the armature. The skirt is outside the rig with mesh deform bind to the skirt-deformer.
skirt-deformer has cloth simulation so that when it moves, the skirt inside it moves. But something gets messed up. And there's still clipping.

Here's the blend file:

And here's a quick test following  SVAFnemesis' advice:

Result:

The animation is wonky, still getting the hang of it. But still. All this works and is easy. Something with the other file is messed up. Perhaps it's that this skirt has a top cover while the other skirt has a cut out top? My guess is that there's something wrong with the mesh. I'll have to check.

EDIT 2:

I removed the mesh deformer, tweaked cloth simulation values, did some testing and the final result is rather pleasing. I realized I had to run the simulation first, so that when the cloth starts to "sit in" I can move the legs and the collision occurs. I was expecting all this without the simulation running. Just in Pose or Object mode.

Topology of your dress has to be even - try keeping all polygon in square shape and similar sizes.
Always use collide boxes to collide with your dress.
Don't use mesh cage on your dress unless your dress model is complicated.
Rig your dress to the armature first, and then pin the upper part of the dress, leaving the lower part to be sim. That's about 30% or more that needs to be pinned (half way up the thigh and anything above).
In cloth sim, Set structural to 5 and mass to 1, and start tweaking from there. These two are the crucial factors, Others only serve to improve its behavior. Also, in blender, a large step number doesn't necessarily mean it's better. A lot of times larger step number gives you worse result.
When you are ready to sim it, always start baking from a rest position!
When something's off, free your bake first before fixing it. If you don't free your bake first, your changes will not be applied.


How do you export GLTF from Blender? Is there a way to export GLTF or do I need a plugin or something? Thanks!

Benjamin

The glTF-Blender-IO addon ships pre-installed when you download Blender 2.80 or higher.  You can find it in the File -> Import and File -> Export menus, and both the *.gltf and *.glb (Binary bundle) forms are supported.
If you can't see those entries in the menus the addon may be installed but disabled in user preferences. To enable it go to Edit > User Preferences Add-Ons, search for GLTF and enable the addon GLTF addon.
If nothing is listed after searching you may have to download and install the addon.
The glTF file format is intended to be a last-mile transmission format.  The data is stored in a manner similar to how a modern GPU expects to find its own graphics memory arranged (with vertex attributes etc), meaning that glTF can be loaded and almost immediately rendered even on mobile devices, in WebGL, without a lot of pre-processing.
The material model in glTF does not support all of Blender's complex shader nodes.  Instead, glTF offers a principled PBR (Physically-Based Rendering) material definition, and the importer/exporter does its best to translate this to/from Blender's Principled BSDF node according to some very specific rules.  The rules for this are laid out in the Blender Manual.

This is the Water Bottle sample model.  This model and other samples can be downloaded from the glTF Sample Models repository.  The glTF-Binary/*.glb form is typically the best version of any given model to download, as it bundles all the model's assets into a single file.


Creating the door of a castle This is what I'm trying to model:

I'm stuck here. I don't know how to go about creating the door of the castle. I've tried adding the cavity with a boolean modifier and solidifying the edges around, but the result is far from acceptable.

What is the smartest way to go around this? Subdivide->Knife?

PD: I added the .blend file just in case you want to give it a try. I'm interested in learning the process, not in having the result finished. I'm here to learn.

FILE:

Go to Edit Mode and select desired faces. For example:

Press X and Remove Faces.
Change Transformation Orientation to Normal (a). It will help to reduce distortion of the mesh.
Enable Proportional Editing (b).
Grab handles and position vertices (c). You can use mouse scroll to change size of the influance ring.

Update:

Turn off Proportional Editing and change Transforamtion Orientation to Global.
Select loop around cutted hole.

Press E to extrude it along Y axis.
Now turn on Snap and choose Vertex.

We need to remove the vertex that is overlaping our mesh. To do so, grab it and position over the nearest vertex, then hit A to select the whole mesh and W > Remove Doubles.
To make face and complete frame select vertex point, extrude it along Z axis (E > Z and hover cursor over another vertex on the bottom). Now select all 4 of them and hit F to make a new face.


Scaling an object of varied widths? I am working on a popcorn container and was wondering if there is a way to adjust the width quickly when it is a gradual change? You could select each edge loop one by one and scale it to the needed width but is there a faster way when you have a lot of varying widths to adjust?

Is there a way to constrain the bottom edge loop and scale based on a curve graph where the top could be the most scaled and the bottom the least? Like this control graph?

For example, I'd like to adjust the width of this object to the green line.

I would use Proportional Editing with a linear falloff.  Proportional editing applies any transform you use to neighbouring vertices with some sort of interpolated falloff.

You can enable Proportional Editing by pressing O.  While transforming you can scroll the mouse wheel up and down to adjust the falloff distance.  You can change the falloff gradient in the footer of the 3D view, to the left of the snapping controls.


Normal edit modifier creates jagged edges I installed blender 2.77 (latest update) and used a model created in 2.75. In the face mesh I used two modifiers, subsurf and beneath that a normal edit modifier to have control over the sahdow on the face. In some weird way it is producing jagged edges on the jaw area (where the normal edit modifier has effect). Auto smooth in the object data is on.

Anyone has an idea what is causing this?

The problem has been solved. In the latest build an extra option has been added to the normal edit modifier. It is a field called "Max angle". Standard it gives a volume of 180 degrees. As explained by the developer, if you bring this value below 90 degrees (say 30) it prevents the normals from inverting and producing the jagged edges. Thanks for this life saver Bastien.


How to turn off textures in Blender Internal render? Actually I know that there is an appropriate option in render tab in Shading rollout. But it seems to work only with usual materials, not node-based.

I want to make fast render without shading and textures just for the preview and can't figure how to disable textures in node-based materials.

Some sort of python script which mute all textures would be usefull.

EDIT: Added screenshot of set-up I have

Go to the Texture header and uncheck the desired texture slot checkboxes in material textures tab. Then render.


Python: Check image brightness I want to do a test for image brightness in the rendered image (bpy.data.images["Render Result"]). I would like to be able to see if the image is dark or light. An example output of the code could be The rendered image is: light

You can access the pixel data directly through the Image.pixels property. It is a list of repeated RGBA values. To access a single pixel, use this:
img = bpy.data.images["Render Result"]
value = img.pixels[(y * img.width + x) * 4 + channel]

where channel is 0 for red, 1 for green, 2 for blue and 3 for transparency.
Now, image brightness is not a clearly defined thing. You can, for example, calculate the average pixel value over the whole image:
r, g, b = [sum(img.pixels[:][i::4]) / len(img.pixels) for i in range(3)]

That was "average" as in "arithmetic mean". Another possible interpretation of image brightness is a quantile, say, the 95th:
import numpy as np
r, g, b = [np.quantile(img.pixels[:][i::4], 0.95) for i in range(3)]

The specific choice probably depends on the kind of images you are processing.


Does "importing key configuration" (shortcuts) only add keys? Or, if I make a mess of new ones, can this function remove them and simply revert to a saved state of hotkeys?

A saved key configuration keeps track of added, removed and modified shortcuts. In fact, it is merely storing differences from (changes made to) default configuration. And when reloaded, it re-creates default keymap, and 'replays' stored modifications over it.

This system also allows to support (relatively) well changes in default keymap, without totally breaking or leaving customized one in frozen, old state.


Armature distorts mesh on transformation I'm having hard times, figuring out why the rig behaves veirdly (intended to be 2d)

when i'm parenting the plane "wing" to the armature (with vertex groups), on armature rotation the outline of the mesh is not moving and the texture gets distorted, however it moves correctly.

If i export the model, (with animations) the result is the same, just without blurring, a wing is visible at the original position and a second wing is visible on top of that, with correct animation.

things that i checked, that may cause anomaly:

i only have 2 meshes and 2 bones without hidden children (see outliner, at the img)
bones are  not scaled
objects on same layer
all transformation is applied to the meshes
origins are in same place
the 2 vertex groups both only contains the 4 vertices related to their planes
same result if meshes are joined (2vertex groups under same mesh)
looks like weight painting could cause similar effect, but when changing something the result getting worse (all vertices have max weight)

Finally (after 3 days of debugging)

Somehow my wing plane get extruded (i guess)
so there was 2 planes on the exact same position, but the vertex group only moved the one behind the other.


Glass shader has black parts i'm trying to render this glass material but i have these black parts all over the model. Any idea what could be the cause of this ?

Look at the HDRI below the horizon. Many of these HDRI's have a black 'ground'. Glass will refract all light, so the black ground as well. That is probably where those dark shapes are coming from. Remember, glass only exists because of reflection and refraction, both of which depend heavily on the environment. If something is wrong with the way your glass behaves you probably need to tweak the environment.


where can i get a backdrop like this? Was looking for a backdrop (if that's what its called) for a scene i have in blender. If you look at this image you can see a glowing orb at the back of the image, providing light, i think its called a lightdrop but i am not sure. What is this called and where can  i get it?

I have tried adding a sphere with an emission shader and rendering it, then using the compositor to add a fog glow effect. didn't work. what are some other methods?

I would create a material on a plane with a spherical gradient.

The method to tweak this gradient is changing the colorramp or the RGB-curve.  As you can see, the Fac slider of the RGB-curve is on 2.5. I used it to overexpose the white.

Maybe it's better to adjust the color in the last step but that you have to test by your self ;-)


How to setup Light Linking in blender 2.9 or 2.8x? Coming from Maya background and a beginner in Blender 2.8x and 2.9.

I have a set of objects in the scene file and created separate lights for each object. I want to link lights to those objects specifically so that during render time the render engine only renders lights that are linked.

Thank you

As far as I know Blender doesn't have that feature. A huge amount of people asked for it for years, but nothing so far.


Hook modifier falloff not working In Blender's hook modifier, it looks like the falloff, which should behave like proportional edit in edit mode isn't working. None of the tutorials I have found online show how to make proportional edit work.
This is a vanilla blender problem. There is nothing distinct about this scene or edit mode that prevents it from working.
The steps of using the hook modifier are:
In object mode add a hook modifier to object.
Assign vertex groups you want to effect in the modifier
Create an empty and assign as the object to the hook modifier.
No change to the falloff or strength changes anything in Blender
This is version 2.91

Falloff of the influence of a Hook does work but it requires some unexpected setup; you need to Assign multiple verticies to the modifier in Edit mode rather than rely on the 'Vertex Group' to indicate the affectedvertices.
Hooking to a single vert will move just that vertex. However, in Edit mode you can also 'Assign' other vertices to the modifier - it is these 'assigned' vertices that are affected by the 'Falloff' of the modifier. A Radius of zero inicates 'no falloff' (so all vertices are affected equally). Therefore, the steps you require are to select and 'assign' the surrounding vertices and then increase the Radius and Type until the required effect is achieved. This is demonstrated in the following image :


Part of the armature is not copied and pasted correctly I would like to copy and paste mesh and (rigify) armature from a blender session to another blender session of even in the same blender 3D window,but part of the armature is not copied and pasted correctly and when I select the root bone to move the copied version,part of the face armature does not follow the rest. Do you know why it happens and how can I fix this behavior ? I have recorded a video to show you. You can find it here. Thanks.

So, I would NEVER use Copy and Paste for a Mesh and Armature combination. I would always duplicate in the same Blender project by selecting BOTH in OBJECT mode and then key SHIFT+D and move the copies.

To move to another Blender project, I would ALWAYS append the mesh and armature in one operation from the first blend file to the second. To append, click Append in the file menu and select mesh object, if you have parented them properly, the armature will come with it, in its entirety.

At around the 1 minute mark in your video there is an error message at the top, look in the console and tell me what that was…

Clockmender.


Outliner showing duplicate entries for same object after python script parenting I am having an issue with Blender 2.82a regarding collections when parenting an object in python.

"tv" is the parent to which I am adding "newBar".

The below code parents the object fine:

bpy.ops.mesh.primitive_plane_add(location = tv.location, rotation = tv.rotation_euler)
newBar = bpy.context.active_object

tv.select_set(True)
newBar.select_set(True)     #select the object for the 'parenting'
bpy.context.view_layer.objects.active = tv    #the active object will be the parent of all selected object
bpy.ops.object.parent_set(keep_transform=False)

The problem comes in when I look at the Outliner afterwards:

The new object was added as "Plane" but it is in 2 places!

I only want it shown under "TV" but the Plane object there looks darker and fake?

I don't really understand why this is happening or even how to search for this issue as google came up with no one having this issue (I'm new to the blender API).

bpy.ops.mesh.primitive_plane_add(location = tv.location, rotation = tv.rotation_euler)

creates the plane in the currently active collection (which seems to be the root here).

As an object can be in several collections, you'll need to unlink it from root or from its current collection:

newBar.users_collection[0].objects.unlink(newBar)

Then link it to the tv (first) collection:

tv.users_collection[0].objects.link(newBar)


Can we keyframe hair particle brownian motion? Is there a good reason to be unable to keyframe a hair particle system's brownian motion? Or is it a bug? I can't change this value, because its keyframe at another frame prevents it from being changed.

Yes that is a bug. When the type is set to hair most keyed settings are snapping back to the keyed value which prevents new keyframes being added or adjusted from the properties panels. This is not hair only settings, physics, field weights and force field weights are also affected, while render settings do work properly.

For a workaround you can add keyframes and adjust settings in the graph editor once a value has a keyframe.


Can't select loops, ALT+Left Mouse moves View I can't select multiple loops, because whenever I hit "Alt+Left Mouse" or "Alt+Shift+Left Mouse", it moves the view instead of selecting loops.
I've been trying to solve this by deleting all double instances of "Alt+left Mouse" in my keymapping, but for now nothing else but "Select Loop" is bind to this, and the problem is still there. I ask this because I have no idea why Alt+left Mouse affects the view and I don't know as well where is the option to disable this?
Here's a screencap of what appears when I press (left) Alt on my keyboard:

Thanks in advance for any useful suggestions.

For those having the same issue: I have a real 3 button mouse, but Blender was set to "Emulate a 3 button mouse" (In Edit>Preferences>Input>"Emulate 3 Button Mouse" must be unchecked).
In hope that it helps anyone having the same issue.


Is there anyway to install blender on ubuntu without root access? I need to install blender on server which I don't have root access, is there any portable version of blender for ubuntu or any way to install it without root access? please help me if you know.

Just download the latest Blender for Linux from blender.org/download (currently 2.78c for Linux 64bit), unpack the tar.bz2 file

tar xjf blender-2.78c-linux-glibc219-x86_64.tar.bz2

and run the "blender" executable from inside the unpacked folder

cd blender-2.78c-linux-glibc219-x86_64
./blender <options>


Create invisibility cloak (alpha mask material) How can I create an invisibility cloak? It should be an invisible object which causes other specified objects to become invisible when it covers those objects.

After reading Leon Cheung's answer, I've redone my solution:

Say you have this setup

and you want to make the plane into an invisibility cloak that affects only the red monkey.

First, make the background transparent (see here for help).

For Blender Render, select the plane, and under the Materials tab of Properties window, enable Transparency, select Mask and set Alpha to zero:

For Cycles Render, select the plane and set its material to Holdout,

For both Blender and Cycles Render, you create two render layers: one with the invisibility cloak and objects affected by it, and one with the normal, unaffected objects.

Then create this node setup:

and the result is:


Replicating Cooktorr specular with Cycles vectors, almost there, but why vector is twisted? I'm trying to replicate material shading from Blender Internal in Cycles, so long I managed to get Diffuse working correctly with Point Lights, a rather awkward but working sunlight/hemi node setup, even a Specular shading similar to Blender Internal's Blinn.

But Cooktor Specular is not working out, I mean it's almost there, it kind of works, but for some reason my vector seem twisted away from the light source, making the final results, while rotating, to look really weird, here a picture to show the problem, also the node setup I'm using for that Specular in case someone want to replicate it. What I'm doing wrong? Or how do I replicate Cooktorr behavior correctly?

Alright I found the issue, after reading the following observation about Cooktorr in blender dev:

https://developer.blender.org/T34564

I learned that Blender Internal Cooktorr was actually Blinn-Phong, so I reviewed the math of it and figured out which vector I had misplaced, I leave a picture with the solution, also the link to the math, for reference.

https://en.wikipedia.org/wiki/Blinn%E2%80%93Phong_shading_model


How can you use color ramp to affect emissive shader Is it possible to affect the emissive shader with the color ramp at all? I would like to do something like this (image below):

That can be done using the geometry input node and doing that you'll have to tune the Z value depending on the object geometry:

The node math is done this way, as in this example Z is going from -1 to +1. So dividing by 2 obtains something between -0.5 and +0.5 and add 0.5 obtains something between 0 and 1 which is what we want for the colorramp.

You can also use a UV map (to avoid geometric calculation). For instance make the UV map with 'project from view (bounds)', so that you can:


Critical Problem : Freeze Problem while Modeling in Blender 2.80 Beta I'm trying to model something with Blender. But when I switch it to Edit Mode with Tab and, for example, using Ctrl + R  to add a new  loop, Blender starts responding about 3-4 seconds after my mouse moves.

For example, try to add new face Ctrl + R  to the wings of this ship model I'm moving my mouse, after about 3-5 seconds, the object that I selected moves too.

I'm using the latest Beta version of Blender, v2.8

My PC is HP Omen Pro Gamer Notebook with i7 7700HQ and NVidia GTX 1060 with Max-Q Design graphic card.

What can I do to solve this critical late-response problem?

Watch your subdivision level:

6 is huge. Usually, you won't go over 2 or 3 in the viewport, and let the higher subdivision levels for the render only. Change that and you will have far fewer issues.
And considering your model, 3 really is enough.

Also, since you're using a mirror modifier, take advantage of it and model only half of your model. Right now you're modeling some parts only on one side, some other in both sides, it doesn't really make any sense, it doubles your work and the final result is messy.
You're using a solidify modifier to thickens your model, but most of your model has already some thickness. You should constraint the solidify effect on a vertex group.

Or, to solve both those issues at once: separate your model into several objects witch their own modifiers. Select your mesh parts needing thickness, press P and hit Separate selection. Let you solidify modifier on the new object, and remove it from the original.


Transfer bone weights to rigify rig If I have a model that already has its own armature, is there an easy way to transfer the bone weights to a rigify armature. The current armature is very basic and would be much easier to use via a rigify armature.

There is a way. Grab the model and press alt+p to clear parent. Then, go into Object Data properties and delete all of the vertex groups. Once you have done that, you can delete the old rig and work with the new one.


Python drivers and command-line render I'm using a driver with scripted expression to create chaotically swinging pendulum.

One empty is used as a pivot point, the second as a pendulum controller, and some mesh linked to second empty as a child.

The second empty has a constraint to keep it a constant distance from the first empty, then I did some movement in the horizontal plane by F-curves to simulate swinging. Then I wrote PyDrivers to make the second empty automatically rotate to keep the local Z axis directed to first empty.

Using TrackTo is good in some cases, but not this one. When the pendulum swings near the vertical axis it automatically rotates about 180 degrees around the local Z axis. So it is hard to clean up this animation by manual compensation. It is somehow connected with gimbal problems.

I wrote two drivers for X and Y rotation (like atan(X/dist)), I changed the axis order to ZYX to allow the pendulum to rotate around local Z axis correctly.

After that I worked on a remote host with Blender 2.69 through the command-line to render the animation.

Every piece of animation has the same problem: the first frame driver is not working. I tested a lot of sequences and every time only first frame was not calculated by driver.

Well I have workaround to render first frames manually but this is a solution, because I have to render a heavy pile of animation. But I'm not sure enough that it is a bug.

Demonstration scene is here: http://www.pasteall.org/blend/25644

Sorry for bothering, looks like it was a floating bug. Аfter some another runs all first frames are correct, seems python driver works after that unclear behavior. Question is closed for me.


how to get up the 'grid floor' options Pls help me out with something I am trying to do with a character from Daz studio I've imported into Blender.
In the tutorial the person hits the 'N' button and this comes up (pictured here) http://www.imagebam.com/image/94216c1354935377 I do the same and I get the image in the second pic come up here: http://www.imagebam.com/image/97fe9d1354935425 in the same place because likely its a newer version.
What I'm tryin to do is change the grid floor selection to that in the first pic but cannot seem to find the appropriate screen for it when I hit 'N'. How can I do this please.

You can press the little down arrow for Overlays menu. This is in the up-right corner of your 3D-viewport.


How to acces all objects via Python in the Game Engine? I have different objects in a scene and I want to control them with python code. My question is? Do I have to create a script for every object or I can control all of them with only one python script? I've tried with only one script but then there is only one object as the controller... and I need to change the properties of an object that is not the "controller". I don't know if I explained this well.

You can access all objects from the scene by its name:

import GameLogic
scene = GameLogic.getCurrentScene()
obj=scene.objects['ObjectName']

To access the vertices:

import GameLogic

scene = GameLogic.getCurrentScene()
obj=scene.objects['Cube']

mesh = obj.meshes[0]

for v in range(mesh.getVertexArrayLength(0)):
    vert = mesh.getVertex(0, v)
    print( "%d,%d,%d" % ( vert.x, vert.y, vert.z ))

print( dir( vert ))


Divide a face following an existing edge (not part of the face) This is a basic beginner question which should have already an answer, but I don't know what to search for.

I have a mesh with an edge connected to two vertices of a face, but not part of the face:

I would like to know how the face and the edge can be converted into two quads:

I know that deleting the face and creating two new ones is possible, but I'm interested in a method not requiring to delete anything.

You can create an edge there by selecting the two vertices of this provisional edge, and pressing the shortcut key J.

This nice tool works well even for creating several continuous edges


FBX import not rendering textures, though look linked properly I'm very new to blender. I have a fbx file and some accompanying png texture files. The file has a rigged animated armature. It looks like the textures are linked properly and have a bunch of configuration however they are not being applied to the model.

3 Fixes : The first would be to enable textured solid , By opening the right tab ( use N )

The second is enable the texture mode , above the solid view. [! You have to have lights in the scene so everything is visible )

third would be using the UV / Image editor

Also , in the texture tab ( next to the materials tab ), make sure you have set UV co - ordinant.


Drag and drop importing of .OBJ files This is a very old question, but I just lost track as to whether it has been done.

Is there a way to simply import an .obj file by dragging and dropping it onto your blender window?

This will make my workflow quite a bit faster, since I am just checking meshes.

This did not work the last time I tried it and I assume it still doesn't since you are asking.
The fastest way I know of to do this is to use the following script that someone posted on this site a while back for batch importing .obj files.  I modified it slightly to work with OSX but the necessary Windows code is just commented out.

import os
import bpy

# put the location to the folder where the objs are located here in this fashion
#path_to_obj_dir = os.path.join('C:\\', 'Users', 'YOUR_NAME', 'Desktop', 'OBJS') #<-WINDOWS_OS
path_to_obj_dir = bpy.path.abspath('//OBJ/')

# get list of all files in directory
file_list = sorted(os.listdir(path_to_obj_dir))

# get a list of files ending in 'obj'
obj_list = [item for item in file_list if item[-3:] == 'obj']

# loop through the strings in obj_list and add the files to the scene
for item in obj_list:
    path_to_file = os.path.join(path_to_obj_dir, item)
    bpy.ops.import_scene.obj(filepath = path_to_file)

It's supposed to look like the following.  It originally searched the directory where the .blend is but one of the changes I made has the script search for .obj files in a folder called OBJ.


Why does copy paste keyframes paste keyframes additional to those I selected? In the dopesheet I

press a twice to deselect everything
push b to lasso select
select some keyframes from an object
push ctrl-c to copy
push ctrl-v to paste

But Blender pastes keyframes that weren't even highlighted! See the screenshot gif below.  How do I prevent this pelase?

Selected channels
As the tooltip suggests, when you paste from the buffer, the keyframes are pasted into the selected channels.
If no channel is selected, the keyframes are pasted into all the editable channels.

Duplicate
In my opinion, this is the easiest way.
You can duplicate the keyframes (Shift + D) and move them by entering the number of frames or by moving the mouse.
Include only selected objects
Alternatively, you can include only the channels related to the selected object.

or
Protect channels
You can protect the other channels from editing:

Select the channel
Press Tab (locked / unlocked)


How install PySide/PyQt in Blender? I want to create blender add-on using QT framework, but couldn't find any information about how install it in Blender.
I would be grateful for any information!

Either unpack the PySide/PyQt folder(s) to Blender's site-packages

\Blender\2.xx\python\lib\site-packages\>>HERE<<

You should then be able to import them normally.

Or install them to add them to your system's python installation and use sys.path.append() in your script to add the required folders to Blender's module search path temporarily and import as usual.


How to get the speed of a Camera with Python? I'm currently working on a project in 2.79b containing multiple shots that require several cameras (2+ keyframes for Location with a Linear Extrapolation applied to them) to be moving at the same speed.

At the moment, my workflow involves placing 2 keyframes for the active camera's Location and essentially estimating how far apart they should be spaced in order for the speeds to match.

I am looking to create a Python Script that logs the speed of cameras in the scene (in Blender Units per second (U/s)?), on each frame, and outputs it to the console, for example. I'd also like it to output this value every time a keyframe on the current camera is changed, preferably in real-time.

Here's a (very rough!) example of what I'm hoping to achieve in terms of output...

What would be the most practical method of scripting this? Would it be best to find the distance travelled by the camera, for example, between the current and previous frame (e.g. through the difference in location), and then perform a "Speed = Distance/Time" calculation to obtain the speed, or is there a function in the Python API that provides access to this data automatically?

Any help would be much appreciated, thanks!

On every sceneupdate we can call a function which checks for fcurves and then evaluate the current and previous frame.

The script creates a panel in the camera data section and displays the speed there.

import bpy

class CameraSpeedPanel(bpy.types.Panel):
    """Creates a Panel in the Data properties window
        when a camera is selected"""
    bl_label = "Camera Speed"
    bl_idname = "CAMERA_PT_speedometer"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "data"

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

        cameras = [ob for ob in context.scene.objects if ob.type == 'CAMERA']

        for cam in cameras:
            print(cam.name)
            row = layout.row()
            lbl = cam.name
            if context.scene.camera == cam:
                lbl += ' (active)'
            if cam == context.scene.objects.active:
                row.label(lbl, icon = 'OUTLINER_OB_CAMERA')
            else:
                row.label(lbl, icon = 'CAMERA_DATA')
            row.label(self.getSpeed(context.scene, cam))

    def getSpeed(self, scene, ob):
        if (ob.animation_data == None or
            ob.animation_data.action == None):
            return '(not animated)'
        current = ob.location.copy()
        previous = ob.location.copy()
        frame = scene.frame_current
        for i in range(3):
            crv = ob.animation_data.action.fcurves.find('location', i)
            if (crv != None):
                current[i] = crv.evaluate(frame)
                previous[i] = crv.evaluate(frame - 1)
        output = str((current - previous).length)
        output = (output[:10] + '..') if len(output) > 12 else output
        print(output)
        return output

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

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

if __name__ == "__main__":
    register()


What is the easiest way to create peristalsis (when food moves inside food pipe) like animation in blender? I'm new to blender and I have learned some basic animating features. I have taken a video project for a school in which I have to explain the digestive system in a fully animated way.

I have modeled the Digestive system. Now when the food enters mouth and goes through esophagus(food pipe) esophagus creates a pushing wavy movement to push the food to stomach.

Could you suggest some easy ways to animate it?

This picture explains the process of peristalsis.

]1

You could do it with Cast modifier as explained here.

But first I proposed the Lattice method:

Create your food and oesophagus objects.
Create a lattice with shift A and scale it in Object mode so that it encages a little bit more than your food.
Subdivide your Lattice in the Properties panel > Data > Lattice and U, V and W values (subdivide more than I did so that you'll be able to create details like the little pinch contraction).
Give your oesophagus a Lattice modifier with the lattice as the Object.
Select your lattice and in the Properties panel > Data > Shape keys, create a basis shapekey with the "+" button, then a second one that will be the deformation shapekey.
Keep that second shapekey selected, go in Edit mode and play with the lattice vertices so that it deforms the oesophagus the way you want.
Come back in Object mode, and play with the Shape Keys Value to deform the oesophagus.
Now, select both the lattice and the food object and move them up and down, you can see that the oesophagus deformation follows the lattice, as if the food was deforming it.
Create your animation with keyframes in the Dopesheet.


Lines appear volumetrics I am using a Volume scatter node to get a foggy effect, but I get these lines showing up on the floor.

Try increasing the density in the volume nodes and the number of render samples until the lines and noise disappear.


Joining 2 Armatures and keeping the weights I have two separate Armatures that I want to join together. I have no problem combining the meshes, but the problem is the bones/rigs. When you do the Object mode > join, I lose all of my weight paint on one of my armatures. Is there any way I can join two separate armatures and keep all the weight paint. I turn my models into XPS and use XNA Lara to view them, but XNAlara cannot use both armatures at once.

Weight is a property of a Vertex Group, it's not about rigs but about meshes.

Every single vertex will be moved by a bone if the bone has exactly the same name of a vertex group to which the vertex has some weight, and the whole mesh must have an armature modifier pointing to the rig.

When you merge two meshes, all vertices retain their weights, but if some vertex groups have the same name, some will be renamed with the ".001" suffix, and they will stop to be influenced by the bone.

The same can happen if you join two armatures which have some bones with the same name.

So you have to check the right correspondence between bone names and vertex groups names, and eventually rename some bones to avoid overlapping (if you rename a bone in a working model, its vertex group will be automatically renamed in the correct way).

If every datablock has different names, everything will work well after joining.

Don't forget to apply rotations and scale (Ctrl + A) to all objects before joining.


How to animate layers in Blender 2.6 I remember being able to animate layers using keyframes in some previous Blender release.

Now if I try to add a keyframe to an object layer I get the following error message :

"layers" property cannot be animated

I have the following code which can change the layer, but it's not really useful, I would like to have it in an animation, so I can reuse it.

bpy.data.objects['Cube'].layers = [False, True, False, False, False, False, False,False,False,False,False,False,False,False,False,False,False,False,False,False]

From information in a BlenderArtists thread, keyframing object layer is not a developer-approved way to animate visibility, and is now deliberately disabled.

If what you really want to animate is visibility, you can keyframe the object's Restrict Render property directly  in the outliner space, by moving the mouse above the camera icon and pressing I.


How to delete the vertex on the edge without deleting the edge its on? Let’s say vertices V2 as

V1——V2——V3

I want to delete the vertex V2 without deleting the edge V1-V3. So I want it become as below after deleting V2.

V1—————V3

Is there any way to do this?

Select vertices you want to delete
Press X on your keyboard
Select Dissolve Vertices


Is there a good way to outset from a plane? If I create a plane and try to Outset, nothing happens. If I Extrude, press Enter, and then scale up, the vertices look right, but I end up with two faces fighting to share the same space. So that's two things that don't work. Is there something that will work?

First change to edge select mode and select the edges.*

Now Extrude, but not the "normal" extrusion (which is called a Extrude Region) you want to Extrude Individual.
You can get to that by clicking the "Extrude Individual" button on the tool shelf, or by pressing AltE > Edges only.

Now, without doing anything press S. It is commonplace to cancel the translation part of the extrusion by pressing Esc or RMB , but that is unnecessary and not needed (kind of like that redundancy).

Here in a glorious full color gif is the super simple process.

* If you use the keyboard shortcut instead of the tool shelf button, the selection mode can be in Vertex or Edge mode.


Script to make an empty enclose selected vertices I want a newly created cube-empty to enclose my selected vertices by script. I thought on calculating the bounding box of all selected vertices and then position and scale a new cube-empty to enclose them, but I don't know how to use the calculated bounding box positions to enclose the vertices, since a cube-empty doesn't have the bounding box attribute.

BMesh script.
Already had this one lying around,.. no need to use bounding box of either object or it be a requirement of empty.

Parent empty to object of interest, this way can work solely in local coordinates.
Find the two extrema of $x, y, z$ coordinates of selected vertices.  The inner diagonal of the bounding box.
Set the empty location to diagonal mid point.
Giving the empty display size of 0.5 makes it unit dimensions at unit scale  (1, 1, 1)
Scale it by diagonal vector.

Test script, run in edit mode.
import bpy
import bmesh
import numpy as np
from mathutils import Vector

from bpy import context

ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)
x, y, z = np.array([v.co for v in bm.verts if v.select]).T

mt = bpy.data.objects.new("MT_BBox", None)
mt.empty_display_type = 'CUBE'
mt.parent = ob
mt.empty_display_size = 0.5 # unit
minp = Vector((x.min(), y.min(), z.min()))
maxp = Vector((x.max(), y.max(), z.max()))

mt.location =  (minp + maxp) / 2
mt.scale = maxp - minp
context.collection.objects.link(mt)

Un-parented local axis aligned bbox in world space.
To give the bounding box global coordinates, instead use above to make a local matrix and transform it by its parents world matrix, picking up from commenting out set parent (and from mathutils import Vector, Matrix)
#mt.parent = ob
mt.empty_display_size = 0.5 # unit
mw = ob.matrix_world
minp = Vector((x.min(), y.min(), z.min()))
maxp = Vector((x.max(), y.max(), z.max()))

L = (
    Matrix.Translation((minp + maxp) / 2) @
    Matrix.Diagonal(maxp - minp).to_4x4()
    )

mt.matrix_world = mw @ L

context.collection.objects.link(mt)

And finally a world axis  aligned bounding box
mw = ob.matrix_world
x, y, z = np.array([mw @ v.co for v in bm.verts if v.select]).T

mt = bpy.data.objects.new("MT_BBox", None)
mt.empty_display_type = 'CUBE'
#mt.parent = ob
mt.empty_display_size = 0.5 # unit

minp = Vector((x.min(), y.min(), z.min()))
maxp = Vector((x.max(), y.max(), z.max()))

mt.matrix_world = (
    Matrix.Translation((minp + maxp) / 2) @
    Matrix.Diagonal(maxp - minp).to_4x4()
    )

context.collection.objects.link(mt)


The file I made in Linux Mint 19.3 won't open correctly in Linux Mint 20 I just invested in a new machine- 32 gb Ram, Nvidia 2070 super,12 core Ryzen 9, you get the picture. I installed Linux Mint 20 for the warpinator but when I open files I made in Linux Mint 19.3 it looks like Hiroshima just happened. The objects are in completely random sizes and locations. Anyone else had this problem? Also, if anyone knows how I can get my GPU rendering to work, that would be handy, the Youtube tutorials are all outdated.
Many thanks,
Dan

The issue was with the graphics card. I installed Pop! with built in Nvidia drivers and everything works perfectly now, GPU rendering included.


Adding a driver to a Cycles node via Python I'm trying to add a driver to a Cycles Value node using Python. So far my code is:

node = material.node_tree.nodes.new("ShaderNodeValue")
node.driver_add("default_value")

However, this just gives me a 'property "default_value" not found' error. I've also tried:

node.driver_add("value")
node.driver_add("outputs", 0)
node.driver_add("outputs[0].default_value")
node.driver_add("nodes['Value'].outputs[0].default_value")

None of these work either. So my question is: how do I exactly add a driver to a Cycles Value node? It can be done via the UI right-click menu, but I can't find a data path that driver_add() will accept.

You need to add the driver on the output, not the node directly:

fcurve = node.outputs[0].driver_new("default_value")

or

fcurve = node.outputs['Value'].driver_new("default_value")

The driver expression is accessed like:

fcurve.driver.expression


Can I Separate an object into many objects along UV seems? I am trying to make a folding animation of a complex model. I don't want to use the built in unfold process, because I want it to fold from flat islands into a 3d model. Because of the models complexity I found that the auto generated UV seams seem to work well for my purposes. I was hoping I could translate them in separate objects. I can't find any documentation on this and am fairly new to blender. Does anyone have a suggestion.

Go to Edit mode, select a seamed edge (red edge) then select: Select> Select Similar>Seam (If the seams aren't marked, go to UV editor, select everething and choose: UV> Seams from Island)
Choose: Edge> Mark Sharp
Go to Object mode and add an Edge Split modifier. Disable Edge Angle, then apply the modifier.
Go back to Edit mode and select Mesh> Separate> By Loose Parts.


Push Faces Like Sketchup Is there a way in Blender to push faces like Sketchup does?

The best I can get is doing a regular extrude and a lot of work to clean the "mess" up...

Thank you for your time!

The Rip Fill tool comes close but it still requires a bit of cleanup to remove hidden faces.
It can be accessed either by pressing space and typing "rip fill", or you can use the keyboard shortcut ALT+v.

In the example you posted, you can now press either x, y, or z to constrain the movement to whatever axis is appropriate.

The squashed and hidden faces may cause you problems so you can remove them by first using Vertex Connect Path ,j, and now Remove Doubles should collapse them.

If you want the nGons, you can select the faces and press f for Make Face.

If the model is at some arbitrary angle,  you can set the Transform Orientation to Normal and then double tap z to move the face along its normal.
If you only tap z once, the movement will still be constrained to the Global axis, the second tap activates the custom Transform Orientation.


Decimate f-curves using python In blender 2.82 I want to decimate all the f-curves in active action, how can I override the context to make the script work with Animation Nodes Script Node?

import bpy
if decimate:
    bpy.context.area.type = 'GRAPH_EDITOR'
    bpy.ops.graph.decimate(mode='RATIO', remove_ratio=0.92)

Like this:
import bpy
def simplify_fcurves():
    C=bpy.context
    old_area_type = C.area.type
    C.area.type='GRAPH_EDITOR'
    bpy.ops.graph.decimate(mode='ERROR', remove_ratio=0.698113, remove_error_margin=0.5)
    C.area.type=old_area_type
simplify_fcurves()


What is a keying set and how does it fit into the animation workflow? I'm having trouble finding a good, newbie friendly description of what a keying set is exactly and how it fits into the animation workflow. I first discovered keying sets when trying to add a keyframe to an armature and getting the error "No active Keying Set".

This prompted me to search the wiki which only has a link pointing to the article Animating in 2.5, Getting to grips with Keying Sets, which I found overly complex for a non power user.

When and why do I have to use a keying set, and what is the purpose behind them?

A keying set is a collection of properties which should be keyed together. E.g. if you want to animate an object's position you need to set a start-keyframe of the initial location and an end-keyframe of the final position.  The position is described as x,y,z coordinate Location is a keying-set that inserts x,y and z at once.

In this image you see (Dope Sheet in the upper part) a location keyed for frame 1 and rotation for frame 2 both were inserted by pressing I and selecting Location respectively Rotation.

If the object should also rotate you can user LocRot to insert location and rotation at once. The other features described by Leon cover arbitrary properties (almost everything can be animated in blender). Later you might want to animate color, transparency of a material then you would need to learn more about it. For the time being this should provide you a basic idea.

Related: What do the preferences keyframing options actually mean?


Simple Deform animation isn't playing when exported as FBX I'm trying to animate one element of a model bending by using the Simple Deform modifier. I've got the animation looking how I want it in Blender, but when I export the object as an FBX and load it into Marmoset, the modifier doesn't animate. Iv'e tested exporting animations that use the location and rotation keyframes, and those work just fine.

The FBX file format does not support deformations.  You will need to find a different way to export that data.


Main window won't change I recently downloaded blender to do some video editing. I was playing around with it and everything was going well. The next day when I opened Blender I couldn't navigate away from the starting screen. The top menu bar will change but that is pretty much it. I tried reinstalling but that didn't work. In the screen grab you can see I'm in movie clip editor (or at least I should be).

Simply change that top toolbar back to Info.  That's the default for Blender.  From there you have all the traditional menus.  From the Info bar, you can select your preferred Workspace.  You can use the Motion Tracking Workspace which is already setup with three Movie Clip Editor panes or you can create your own custom Workspace:

As far as I know, the top bar is the only one you cannot pull down down into a pane (like all the other panes):


How to convert 3D pose sequences to the bvh format? I am very new to animation and rendering softwares, so please let me know if I need to provide more information about this. I have a sequence of 3D positions of human joints (basically mocap data), representing different kinds of walking. I have managed to visualize the sequence using python, as I have shown in this video. Each data I have is a numpy array of size TxJx3, where T is the number of frames, J is the number of joints (21 in my case), and 3 represents the 3 co-ordinate values. So my question is, how can I convert these 3D positions into a BVH file, that I can load into blender? Or convert them to any other format so that I can load these data in blender?

OK, found the solution myself. Posting here in case anyone else finds this useful. In the BVH format, the following relationship holds between the joints:

$$pos_j = R_{P(j)}offset_j + pos_{P(j)}$$

where $pos_j$ indicates the 3D position of joint $j$, $P(j)$ returns the parent of joint $j$ in whatever DAG the positions are modeled in (generally the DAG starts at the root and points towards the end-effectors) $offset_j$ indicates the offset of joint $j$ relative to its parent $P(j)$ (aka the connecting limb), and $R_{P(j)}$ is the 3D rotation that determines how much should $offset_j$ be rotated from an initial pose (generally a T-pose). In the BVH format, for each parent $P(j)$, we need to store $R_{P(j)}^{-1}R_j$.

The main trouble I had then was working with joints that had multiple children, for example, the root joint, which has connections to both legs as well as the spine. I eventually came across this repo and digging through their function forward_kinematics inside skeleton.py, realized what to do. Basically, for joints with multiple children, I had to make copies with $offset=0$, and assign those as parents of the corresponding chains. Thus I made 3 copies of the root: one became the parent for the left leg chain, one for the right leg chain, and one for the spine. And similarly for the other parents with multiple children. And yes, the visualization works great!


Simple material (diffuse nodes mixed through a "Pointiness" factor) does not work in EEVEE I have a material that works very well in Cycles, but nothing appears in EEVEE. Where does this problem come from? Is there any way to fix that?

Not all shader nodes that work with Cycles work also with Eevee. The Geometry "Pointiness" socket doesn't, as well as the other "geometry-aware" nodes like Ambient Occlusion or Bevel.

Here is a reference about node support: https://docs.blender.org/manual/en/dev/render/eevee/materials/nodes_support.html

If your mesh isn't animated, you can bake Pointiness using Cycles and then use it in Eevee:

Unwrap your mesh,
connect the end of the Color Ramp to an Emission shader and the Emission Shader to the Material Output
Add an Image Texture* node, with a blank, new image, and leave it unconnected, but selected
Bake in "Emission" mode (while using Cycles)
Save the baked image
Use the baked image as a Texture* for the Mix factor in Eevee

* if you have multiple UV maps, the image textures must always have their Vector input connected to the correct UV Map node.


Planning - how important is it to create mostly quads and few triangles? I have imported the image below as a plane, and am adding lots of vertices to the plane in preparation for dividing it into quads and triangles that are aligned with the contours of the mountain shown.

When going through tutorials, I recall it being said that one should avoid triangles whenever possible. Once I have created all the vertices and start connecting them, dividing up everything into spaces that make sense to stretch vertically and thus form the contours of the mountain, do I need to plan well to avoid triangles? These points are going to be pulled fairly far along the z axis, and then they will need to be proportionally edited and subsurfaced to get the soft shapes of its slopes correct. I wouldn't want patches to start misbehaving once I've gotten to that point. Are there general guidelines about this?

I'm no expert on mesh topology, but I do know that good topology (with nicely flowing edge loops and almost only quads) is important especially if you want to animate and deform your mesh, and less so in most other cases.

Some tools work better with quads than tris, such as the subdivision modifier which sometimes generates weird artefacts, especially when the mesh is irregular. EDIT: Rigging and skinning is also easier when you have a clean quad based topology with nice flowing edge loops.

In most other cases triangles will pose no problem (I might have forgotten a few other examples for issues, which others here might add, but there probably aren't that many). You can texture, shade, light, 3D print with ease even if your entire mesh is made of tris.


How to add non animated text in blender video editing easily All I've found on the internet are animated ways to add text and a tutorial that is now outdated. Is there any other way then just creating it as a 2D object in the editor?

In video sequence editor, press shift-A then select text, or in the header Add>Text

Is this what you are looking for?
Image from https://docs.blender.org/manual/en/latest/video_editing/sequencer/strips/text.html


My texture bake of my model seems to not render the textures on the correct polys on the UV map I do have 15 different materials on the model but baking worked fine on the other model i did
here is the blend file if needed, i really cant figure this out on my own and ive been trying for hours
https://drive.google.com/open?id=1W3HREcwcD7pMTBYW8_dHmZswikf0zzPt

I just did some digging around in the nodes and the issue seemed to be something with the image texture node, so i just deleted all those nodes on all my materials and that fixed it.


How do I cut a flap using edges or vertices Lets take a simple example of a cube.

I want to cut open one of the face of the cube from its three edges but let the third edge connected so that it looks like a flap.

In a more detailed example:

I got a airplane model

I want to cut the cockpit windshield along the selected edges in the following photo , please I don't want to completely cut it out but to let some edges attached to main mesh

This can be done using the Rip tool. Go into edit mode, select and edge or a selection of edges (or a group of vertices):

Now press V. You will now get something like this:

For your specific instance do not select the shown edges.

Every edge is made from two vertices, one on each end. When you rip them, those vertices separate from the mesh, and a new edge is created. However the vertices at the end connect to the mesh still. In your example, pressing V would make there be a single vertex connecting the two parts, instead of two edges. Use the suggested selection to get the desire result.


With Python, how to access a vertex group created by parenting to an armature with auto weights? I have rigged a character and auto weighted the mesh to armatures. A set of vertex groups are generated from this way automatically.

However, I tried to get vertex_groups but failed.

len(D.objects['Armature'].vertex_groups)

returns 0

How can I get access to the vertex group generated?

The vertex groups are on the mesh object, not on the armature. The armature itself doesn't have any vertices.

>>> list(vg.name for vg in D.objects["Cube"].vertex_groups)
['Bone', 'Bone.001']


Increasing font size in the 3D view? How can font size be increased in the 3D viewport?

The only way I know is to increase the DPI:

User Preferences >>> System >>> General >>> DPI

(but that will also change the size of all fonts in your interface)


Objects exported from Blender contain extraneous wing-like flat faces that don't display in Blender layout and modeling views I have used Blender layout and modeling tools to create, shape and size a number of meshes with fairly-simple shapes. Most of them when outputted to FBX, OBJ and X3D files appear in viewers as they do in Blender. A small number of my objects when output and viewed in an FBX or OBJ viewer display with "wings" that do not appear when these same objects are viewed in Blender.

The first image here shows what each of two cube meshes look like in Blender with Viewport Shading and X-Ray settings in place:

The second object, not shown here, appears the same when it is selected. Neither object has superfluous vertices.

When the two objects are output to FBX and viewed in the 3D Viewer built into Windows 10, one of the objects (the same one shown in Blender in the photo above) displays with "wings" which form triangular faces connecting vertices which do not have connecting edges in Blender. The other object displays in the 3D Viewer as I would expect, without added faces.

Here is another view of the misshapen object, offering a clearer glance at the plane-like angles that get affixed to the 3D object.

I have made numerous attempts to fix the problem, such as by doing workarounds. I have tried deleting all of the faces and then putting them back in. I have tried replacing the faces by highlighting just two or three edges at a time and adding back the faces triangle-by-triangle, and then dissolving the face segments into a single face per side once all the pieces were in position. Nothing I have tried has worked.

I have used no modifiers in creating or adjusting the shapes. I used nothing for the materials but solid colors chosen in the Base Color and Viewport Settings boxes. A perplexing aspect of this problem is that I don't know of any steps that I performed differently in creating the objects that displayed as intended as against how I created the objects which display with undesired add-ons.

Seeking information, I exported the two shapes separately from Blender to OBJ files, and then looked at the code in a text viewer. Although the two objects are the same except for measurements, the number of code lines is different for the two objects, with one seemingly having more twists or angles than the other.

This is the result of using ngons. If you add the following edges so that the faces are all quads (on both top and bottom), this should resolve the issue;

As you'd mentioned before, technically all Tris would work too. The issue is that you're dissolving the faces into a face of (what is generally considered) irregular dimensions/vertices. This doesn't cause a problem in Blender because it inherently supports ngons (faces with more than 4 edges/vertices)


When I import and edit a .fbx file and export with Blender, the file size gets bigger than it was I have some files from Unity, they are 3.6 MB and always keep 2 MB more when exporting, I don't include anything extra. Can I save with the same file size? Or can the Unity exporter do this but Blender cannot?
Utilizo Ubuntu 20.04 LTS

different softwares export things slightly differently. You can't expect the same exact file sizes from both Unity and Blender. File sizes will always be slightly different. :)


[Nodes]Straight displacement for UV Sphere I'm trying to get a straight displacement through nodes only. My goal is to create a lollipop.
I'm trying to create the lollipop stick. How can I obtain a straight displacement and not a cone shape (see picture below) ?
Thank you for your help !
PS : sorry, english is not my main language

I am using cycles with experimental feature set.
On the uv sphere i am adding adaptive subdivision.

Selecting the area to extrude with less than node

Adding vector displacement

The multiply node is used to change the displacement distance

combine xyz node is used to get the -z direction. The displacement will occurs in this direction.

The normal displacement node displaces along the surface normals, hence you get a conical displacement


Mesh to Substance painter Scale/repeating tiles issue when painting I have tried to make a large building for UE4. It's going to have a brick wall that I will customize in SP or some kind of 3d painting software.

My issue is when I try to paint it. It repeats the UVs, no matter what I try. I tried to make the building modular, tried scaling it to the right size in the UV editor (export does not work correctly in any of my 3d paint softwares when UV's are scaled outside the image texture), I tried to use mapping node to scale the image texture down, but it will not export as shown in Blender, and a lot more tries and errors.

Are there any tips for making large buildings and texturing for export to Unreal?

I really don't want to downscale textures outside Blender and re-import.

The trick is when you are in the UV editing panel to select the individual faces and apply the the texture needed to each one. So if on the left hand side of your image you want the graffiti, you select that face and assign the image with graffiti to it. You would then select the remaining face/faces and just apply the brick texture without the graffiti.


Getting R, G, and B of Active Color in Custom Color Palette? I have a custom palette that already has colors inside of it. I can even select which colors I want, but they don't do anything. Although, I can print out the locations of color in memory with 'print(pal.colors.active)' where 'pal' is a 'Palette' object - how can I get the R, G, and B components of the active color within said palette? I know there are tons of questions asked on colors already. But, I couldn't seem to find another post with this specific problem relating to colors.

Thanks in advance! Any help is appreciated.

According to docs PaletteColor class has color attribute, which is

float array of 3 items in [0, 1], default (0.0, 0.0, 0.0)

And active is just another PaletteColor.
Assuming these values are RGB, it would be
print([value for value in pal.colors.active.color])


How to create a seamless low poly terrain with displace and multiple planes? I'm trying to create a large low poly terrain from a heightmap which is divided into multiple squares. Each square is then used as the texture for the displace modifier applied to a plane. However, when I then place the displaced planes next to each other to form the total terrain the edges don't align seamlessly.

Let me visualize this a little bit:

I'm using the following image (512px x 512px) as the heightmap for testing purposes:

This is going to be sliced into four (= 2 x 2) squares. (The final heightmap is supposed to be about 8 x 8 of these smaller squares). Let's just look at the top two:

I have already checked and there are no pixels lost between the two slices.
In the end each terrain tile is going to be in its own .blend file, but for demonstration purposes I'm going to have them in the same one for now.

Now I take two planes, subdivide them into grids of size 256 x 256 and add the displace modifier with the respective texture. (I'm also adding a decimate modifier but that's not part of the problem)

The texture settings are as follows:

Image Sampling is set to interpolate and image mapping extension to repeat (I've tried all extension options already)

The problem is this:

As you can see there are multiple places where the edges of the different planes don't align. I'm guessing that this is probably because each displace is lacking the information for the pixels of the other heightmap slice and therefore can't properly interpolate between the two.

Is there a way to solve this problem and make the edges align seamlessly? Or is there maybe a completely different and easier approach to this whole idea?

A solution can be using two additional modifiers:

Shrinkwrap to fill the gap between the two images
Data transfer to align the normal continuously

The vertex group used to that is the following:

You can also use "extend" option on the textures mapping:

Edit

Applying the data transfer modifier won't work if 'auto smooth' is not set, as Blender will recalculate the normals.
So use auto smooth (180°) and apply the modifier:


How can I create a complex curve? I need to create a curve based on this reference (only a 3D tube/line), but it seems hard to make it exact. Is there a way I can make it exactly look like the one in the image?

Add a Path (Add-->Curve-->Path). Enter Edit Mode, select the curve with A and subdivide it as many times as you like (W).
Now select every third point of the curve.

Grab the points up.

You may notice, that the curve is not even in some places, so correct it.

Snap the cursor to the end of the curve, enable Proportional Editing and set the Falloff Type to Sphere.

Scale it horizontaly, setting the proportional size to a proper value (use a mouse scroll).

Here is the final result.


How can I create a border around a cylinder mesh that protrudes forwards I have a cylinder mesh and I want to create a border around it that protrudes forwards. Would anyone be able to explain how I could do this? I know how to create edge loops, but im still finding this a bit difficult.

Here is a references example:

As you can see in the image there is a black border around the yellow mesh and it protrudes slightly forward. I want to create this protrusion.

Thanks everyone.

How is the face of the cylinder filled? If it's filled with a triangle fan (single central vertex) then you won't be able to add an edge loop. One way to add one is to duplicate the outer circle of vertices and build a ring off of that by extruding it inwards to make it solid then extrude those faces outward to give it depth.