text:
How to avoid objects intersecting eachother
I have this structure:

I want to place some tiles between the poles. As you can see I already started.
I modeled a single tile, and I proceded to duplicate it and place it by hand until I got a section covered.
Now though, I obviously end up with sections of the tiles inside the mesh of the supports. I tried to fix this simply by erasing the exceding parts and trying to connect the remainings to the poles as best as I can. But I still end up with some intersecting mesh. When I render it it doesn't look extremely bad, but it's not exactly perfect.
And I'm also worried about texturing.
I was wondering if there was a better method to achieve this; To have the tiles connect to the poles but without intersecting or going so far as to have sections of tile inside the poles.
For the smaller poles intersecting the bigger ones I had the same problem, I resolved it with the boolean modifier. But it wasn't that easy since I ended up with lots of triangles on the meshes that I fixed by hand. I also have some disconnected parts, hardly noticeable though.
This is the blend file: http://www.pasteall.org/blend/33562

Have you tried an array modifier?

It's not really a question about placing the tiles faster, but how to avoid having them clipping with the structure.

In a real pagoda, where are they attached? are there notches into which they fit upon the poles?

I don't know, by looking at some photos, tiles seem to be held toghether with concrete or something like that.

First off, use curves and an array modifier. You can then set the end cap, which you can edit to fit with the poles on the roof.

P.S. Use mirror modifiers on the X and Y axis, that way you only have to model one quadrant of the roof.

Look who knew what he was talking about! WOOO-HOOO. I would also make the poles After making the tiles. This would allow easier, more realistic construction.

@NoviceInDisguise: Yeah, I was thinking about using the mirror modifier. About the curve, you mean tie a mesh to a curve modifier or solidfy the curve?

@VinceScalia: Yeah I was kind of half asleep while writing that. Could you expand on what you would do? Place the tile in the shape I want and then add the poles or...?

Curve modifier, to deform to the curve. Just makes it easier to move it around and get it perfect.

So you're suggesting to have a curve tied to every tile and change it when needed, right?

Each string of tiles, created by an array modifier. A cool feature of the array modifier is that you can select a mesh to be the end cap, so you can edit it to fit with the geometry of the roof.

That's not working. I set two supports as start and end, and all I get is some strange bent tubes appearing from nowhere.


text:
Cycles Material Texture not showing in render
As the titles says. With a material like this one:

What I get is: In the "material" view, the texture shows up fine, mapped like I want it to be, but in the rendered view, it's rendered in an average of the color of the texture (it's not just black, I tried another texture, a wood one, and the result was a shade of brown averaged from the texture colors). As you can see, though, the preview of the material shows up fine.
Instead, with a material like this one:
I get this: In the material view, the texture shows up but it's mapped incorrectly, BUT, in the rendered view, it shows up, but it's mapped incorrectly (obviously).
ALSO: I unwrapped another object (very roughly), applied the same shader as the first one (with coordinates set to UV) and the texture renders fine. What gives?
And, it definitely is an average of the color, because I even tried to draw some red stripes on the texture, because I thought that maybe the render was fine and it was some lightning quirk, but nope, non of the stripes showed up in the render.
blend file

Did you actually unwrap the first model?

Yes I did. Admittedly not very very well, but it's good enough for now. Good enough to show texture details and not a single color, at least.

Here the blend file (can't add it to the main) https://www.dropbox.com/s/0ak3fsuubr3jv3v/houseupload.blend

Sorry, this is the texture: http://abload.de/img/brushed-metal-texture7eovs.jpg
I know it's not "mapped" to the UV, so it'll look warped, but I'm planning to do that later, once I solve this problem.

Basically the difference between the first and the second Material is that the firt uses a texture cordinate "UV" and the second "Generated"

It works fine for me on the objects which are unwrapped. Note that if you don't have a UV map for each object using the shader (some of your objects don't), UV mapped images will just be a solid color.

I know that. The problem is that the small object on the right, next to the wall, is unwrapped but still it shows a solid color

Your UV map is disabled.
Enable it in Properties > Object > UV maps by clicking the camera icon next to your UV map:

Yes! That worked, thank you! I don't even know how I ended up disabling that.

@Paul Welcome to the site :) If this answer or any other answered your question, feel free to mark it as accepted by clicking the checkmark above.

If you UV unwrapped it, then from the Texture Coordinates node, connect the UV slot to the Vector of the Image Texture. I think that will do the trick. If not, try some of the other slots. I've had this problem a few times and most of the time I can resolve it this way, but not always.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Applying bevel modifier ruins UV mapping
I've modeled a gun. To make the top part I used booleans and a few different bevel modifiers set to different vertex groups. The result is ok if you ask me.

I went on and UV unwrapped it, and it works fine.

Then, to export the mesh, I applied all the modifiers, with the assumption that it shouldn't really mess with the UVs or anything, from some previous experiences. And yet this happens:

This is with these settings

Strangely enough, the mapping looks fine in Blender, but in Mixer and other application I can see problems with the textures.
The thing is, if I turn down the number of segments from 2 to 1, it works fine again. This is with one segment on the bevel, applied:

I've had this problem with another part of the model too, 2 segments make a mess but one is fine. I can live with it being only one segment, although I liked the shading better at 2, but is there a reason why this happens so next time I now what no to do when modeling?
I'll attach the blend file of the mesh so you can check it out if you want https://we.tl/t-gIokOG9fG4
Thank you for the help!

Hi. Please use blend-exchange if you want to provide files for us to check. Random file sharing services won't keep them up long enough.

Does this answer your question? How do I stop the UV map from changing while adding bevels?

Not really, it doesn't explain why one segment works, but two or more give problems.

It most likely does. The Bevel Modifier adds geometry to your mesh. If you bevel a seam, Blender does its best to generate that new geometry within the seam bounds. This works sometimes, but not always. The solution to your problem is either repairing the UV layout by hand or applying the Bevel Modifier before UV unwrapping.

A simple solution is to:

Pin 'all' the UVs;
Select the messed up ones, unpin them;
Select all the UVs, go to unwrap and the messed up UVs pop back into their correct position.

The pinned UVs kind of act as a guide for the unpinned ones.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Poor normal map result when the model is lit by a strong light
I have modeled a detail piece for a project I'm working on. I've used the multi resolution modifier to sculp it, and then I baked a normal map from a higher subdiv level to a lower one. Standard stuff.

The normal map looks fine in general, but under some light conditions it breaks a bit in some spots.

I think that's the underlying geometry that's messing up stuff a bit... I know that normal maps have limits and that there's quite a difference in polycount, but I was hoping it wouldn't be so drastic. Especially since under different light conditions it doesn't show up (or it's less noticeable I guess).
I was wondering if I messed up something or if this is just how it is.

This is the map, resized to 1024x1024 for size, but the original is 4kx4k (I know there are two error spots on it, but it's fine in this case because it's on the back of the model and they're never gonna be seen). Face normals on the model are all pointing outwards (just in case you're wondering).
Node setup:

Silly question, but I just have to ask... You did remember to set the normal map to non-color data, right?

Yes I did that, also did it while baking the map. I forgot to add the node setup, I'll do it now.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Subdivision Surface modifier deforms mesh on 2.80
I'm learning Blender for a university course, although I already have a few years of experience on 3DS Max. I'm having a problem with the subdivision surface modifier.I have this low poly mesh:

I want to smooth it out, since it only has 8 sides, so I applied the subdivision modifier (it's the only modifier on the mesh and I only increased the subdivision count, I didn't change other options), but I end up with this result:

See how the mesh bends instead of remaining straight? I can't solve that issue. In 3DS Max, a mesh like this, withoud a bottom cap, would have had many more sides added to it (becoming a better cylinder) but the tube sides would have remained straight. I tried: adding various horizontal support loops, maxing out the creasing amount on the bottom edge, closing the mesh and beveling the bottom corner, but I still get that pin cushion effect. Creasing the vertical sides makes the lines straighter but end up with a smoother octagonal shape instead of  a cylinder like I want. What am I missing?

I already tried creasing the bottom row of vertices and it doesn't works, as I said in the op

I added an answer that could help.

One thing you might be able to do is either make your own bevels, or use the bevel modifier Like so....
I start off with your problem:

After using manual bevels:(after selecting everything, do ctrl+b)

Or you can use the bevel modifier to do it for you:

NOTE: Make sure you decrease the width of the bevel modifier and increase the segments to achieve better results. Experiment with this a bit until you get what you are looking for.
If something like this is happening on a cylinder what you can do is extrude the end inward by pushing e than s, like so:(if not using the bevel modifier)

You need 2 loop cuts as shown:

Reasonably tight to the edge

Subdivision surface modifier rounds the whole object as it subdivides it with the default Catmull-Clark. I would use Smooth modifier that offers more precision with vertex groups  and (de)selecting axes. Smoothing, save for smooth shading, has never been a one-click thing in Blender.


text:
Trouble with Parenting Dress and Bag to a Model
I'm having some issues with attaching a dress and a bag to a moving figure. I created a dress and attached it to a human figure, and am pleased with the final result. However, when I parent the dress to the armature, there are a few vertices that don't move with it. See image below.

I also am unable to get the bag to move with the model. When I parent the bag to the armature, the body of the bag gets displaced, and only the body responds to armature movement. I have tried parenting the bag with different settings (don't use automatic weights, parent it to the mesh of the human figure and not the armature) to no avail.
Any help with these problems / tips / ways I can generally improve my layout are greatly appreciated!
The blender file:

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Hair Dynamics do not work on a object that has been parented
I currently have a sphere parented to a key chain. This sphere has hair particles. Basically, I'm trying to make a pom pom -esq key chain, similar to what Fendi makes. However, when I apply the hair particle effect and turn on hair dynamics, the hair doesn't move in the animation. I have key framed the gold chain [see image] to move, and the ball moves with the gold chain but the hair does not. Any recommendations?

Here is the blender file

Can you upload your .blend file to Blend Exchange?

Uploaded and added it to the original question!

Found the problem! Read my answer, where I tell what it was and include a fixed .blend file. If it helps, please consider accepting it by clicking the checkmark in the upper-lefthand corner of my answer. It would help me greatly and make me very happy!

It wasn't parenting. You need to start the animation on frame 1, rather than frame 38. This allows it to cache from the beginning. I figured it out by rebuilding a .blend file and testing everytime I changed something until I found the issue, which I did.
Here is the fixed (Start 38 --> 1) .blend file.

Thank you so much! However, I still have a bit of an issue because I want the animation to loop perfectly. The reason why I had the animation start at frame 38 is because I wanted the ball to be an the bottom of the swing but still have the hair be in motion. Any recommendations on how I can make it look more like a seamless loop?

Render 1-end and then play with it in the VSE.


text:
Cycles & Blender Render for God Beams / Crepuscular Rays / Sun Beams
I'm having trouble getting the actual beam of light to show in the render of my image. What I want to do is create an image that looks like this:

However, In blender render I am unable to get the walls to show any color:

And with Cycles render the walls and other objects become clear but there are no lines of the sunbeam:

I have been attempting to follow other guides such as:
Creating volumetric lighting (crepuscular rays) in Cycles
How to make sunbeams in blender?
Correct way to render crepuscular rays in cycles?
Correct way to render crepuscular rays in cycles?
To no avail. Even using Compositing nodes seems to have little effect. Does anyone have any tips or notice any flaws in the blender file I'm working on? Thanks for any help you can provide!
Blender file:

Related: http://blender.stackexchange.com/questions/67309/how-to-create-a-ufo-pickup-light-ray

Gleb has some text or video tips, or you may prefer the slower paced blender guru


text:
Add different materials to different parts of a mesh?
How do you add more than one material to a mesh?
I have tried adding two materials to the object, and then assigning one of the materials to a vertex-group, but I could not find a place to assign it.
I am making a striped bouncy ball that I want to deform, so adding a different material by separating the mesh into different objects would not be ideal.

You need to be in edit mode.

Select the part of the mesh you want to add the material to:

Click the "+" icon on the right side of "material" shown in the image below to create a new material.

Let's give the new material a green color.

Click the Assign button in the Materials tab under the list of materials:

(for older versions)

And you're done!

Make sure you have you have more than one material slot if you want to assign a single material to only a selection of faces. If only one material slot exists it will automatically be assigned to all faces of a mesh, regardless of selection.

*_Note that when using this method there can be a sharp contrast between the two materials._

My issue was I didn't hit the plus button (shown on the right side of the your image) in the materials to have two separate materials in the first place on the object.

You can switch between different shaders using a UV mapped image, if you're using cycles. You accomplish this by creating a black and white image mask and using it as the factor for a mix shader.
This has some unique benefits:

You can create soft transitions between shaders
You can have multiple shaders in any shapes/areas on a single face, or across edge and face boundaries
You don't have to create extra geometry to apply your additional shaders to

Here's what it looks like, notice that this cube only has 6 faces:

And, here's the node setup you use:

You can also chain multiple mix shaders together to further mask areas defined by your first mask. If I replaced the orange diffuse shader in my node tree above with a mix shader of white gloss and green diffuse, using another mask as a factor, I could separate the orange area shown above into two other materials. You can keep chaining mix shaders as far as you like.

This is a very great answer. I have uses for your node tree. Thank you very much.

Flipperty dipperty dang! This is a superb set up. I have  been trying to find out a way of adding a floral pattern around the rim of my tea cup saucer. It’s not possible to have 2 materials on top of each other on the same object. But, your method gets round this limitation. I will use the orange as my white porcelain base colour. I will use the blue with the mask for my floral pattern. I have decided to use a metallic silver or gold for the pattern. I will then use a bump map to display some embossing. Instead of diffuse & emission, I will use 2 Principled BSDF shaders.

I was confused because I didn't understand there were two lists of material...
I created materials in the drop-down list:

Then I selected the material here, the faces and clicked on Assign. It didn't work, I had all my faces using the same material!
But I finally understood you actually assign materials added to the list above:

You have to click the + button on the right, and you can either create a new material or select an existing one in the drop-down. Then you can select a material in this list to assign to the selected faces.
Also note that if you select a material in this list, then click Select, it will show (select) all the faces using this material.

It's not necessary to add another material slot (which is what done by hitting + button) to assign faces to a material; selecting material slot, selecting faces and clicking Assign is enough.

@MrZak You did it again, talking about a + button without telling which one, which is why I was confused at first... :-)

Again? Strange. I meant  "the + button on the right" which is mentioned in your answer so I assumed it's somehting you know about. What I was pointing out is that it might be not necessary to press that button at all. And there aren't 2 lists of materials - on the top screenshot, above is list of slots, below is the dropdown with list of materials.

Thanks for your answer @PhiLho! That's exactly the problem I was struggling with. :)

Question very related to this one and your answer (hence, doesn't warrant separate question): if the goal is to subdivide a material into an arbitrary number of materials (say 5 or 10), would this approach work or are you constrained by the mesh?

If you already have your mesh separated and applied different shaders to each, simply rejoing (Ctrl+J. Then Tab into edit-mode and press Ctrl+V>remove doubles.


text:
Flat Normal Map in Cycles (not Eevee)
I have a  strange problem with Normal Map in Cycles. It's look flat, but when I switch on Eevee, it's look well, as I make in Sub...
(Is this name not forbidden here? =))
Here examples (Note the pattern and handle.):
Cycles:

Eevee:

Blender 2.82 Steam.
Material Nodes:

Can you please add a screenshot of you material nodes?

Added in topic.


text:
Wireless geo-nodes connection
How do I make the connection between the nodes "wireless"? Example in the screenshot:

This feature doesn't exist currently. It is however discussed by the developpers. See https://devtalk.blender.org/t/portal-links-exploration/21306

https://devtalk.blender.org/t/portal-links-exploration/21306 Thanks to Gorgious. This feature doesn't exist currently.

hey that's pretty interesting and yeah that makes alot of sense to have these node portals. i'm sure they will implement this in the future. I semi-use this "feature" with the Group input node by duplicating the group input so i don't have to draw wires across the entire node structure.

You have several options here:
Variant 1
Here, you simply place your geometry into a node group, allowing you to reuse it in different places in your node tree.
The disadvantage is, however, that this geometry is created and evaluated several times, which may be important for an extensive project, but can be neglected for simple things:

Variant 2
Here you put the geometry simply into an own Node group, apply this however before on an independent object.
You can then use this object with Object Info in your node tree as often as you like.
Note that you should/must activate the option As Instance here:

(Blender 3.1+)

+1 ! i did not read it but i know it must be correct :D

@HarryMcKenzie ...Thank you for your unconditional trust! ;-)

Press Ctrl and then click RMB and drag it across the noodle then release to cut the connection.

No, that's not what I'm talking about.
(Arrr... Ma anglih iz weri gut... )
I want to connect the "Geometry" output to the Group Input. To then connect this "geometry" across the map using the "Group Input" node without stretching a bunch of lines across the all tree.
Send second screen on top.

mach mal auf deutsch XD

@HarryMcKenzie ...Woar jo eh deitsch! ;-)

ah guck mal einer an dat ist der geomeister der muss die antwort wissen! :D

@quellenform Aufhören, das ist doch kein deutsch :D

@GordonBrinkmann OK, einigen wir uns auf "westgermanisch" :D

@quellenform Aber nur gerade noch so...  :D


text:
Smoke (mist) not working for existing file
I'm doing my first project in Blender. I started in 2.82 and am now using 2.90. I'm making a frost sword where I want a nitrogren mist to fall down from the blade's edge defined by a vertex group. I succeeded in that while modelling, but then I did some changes to the model, and now I can't get the mist to work again. Even if I add completely new simple object to the scene and do quick smoke and bake, nothing shows up. If I open a new blender file and do quick smoke, it shows up fine, so I assume some scene setting has been messed up. It's been driving me nuts for hours now, so any help will be greatly appreciated.
Model file here.

Turns out the problem was caching. I had a cache left over from the last attempt I made at a smoke simulation, and according to the warning in this documentation, Blender doesn't like multiple caches.
So the solution was to Move the Blender file to a new folder and add the smoke effect there, then it ran perfectly. For some reason it wasn't enough to delete the old caches, I had to start over in a new folder.

Use "free all bakes" instead.

Thanks for the tip!

No one , Not the blender file , not the model , not the primitives , not the simulator None of them is at fault.When you make a simulation , you also bake it , and im sure you also did that , if you bake the simulation , what it does is that it records the simulations animation so that it doesn't have to do heavy calculation it does while making the simulation for the first time , so try rebaking and come back again

It's already baked, no smoke visible.

have you baked it again?

Yes, I have done so.

Please check what is your cache mode , replay or modular

Its Modular mode.

@NickW sorry , i dont know then

Otherwise, there's a link to the model file if you want to look around in that.


text:
UV Editor - It's selecting multiple vertices
How do I select only one vert/edge/face at a time without it selecting all the corresponding ones? It was working fine before and I must have hit a hotkey or something that has changed it.
I've tried turning off UV sync selection (the parallel lines button in the top left) but it doesn't help. It was working with this on before.
Has anyone had this problem before and is which button/hot key allows me to select just one?
Thanks in advance :) Also this is Blender 2.82.

May be you have accidentally turned on Sticky selection mode. Turn off UV Sync selection and change it as follows:

Please provide some context and explanation, don't just post an image

Hey Smruti thanks for the comment - I've added some images to show the problem - when I play with these buttons I am still unable to select just one vert/face/edge.

okay.. I got it... I will answer this.. Let me clear my doubts firts..

Thanks for the comment, it's working now :) I turned it to shared location.
I was having a bug where I couldn't see this little option box and it was because I had joined my mesh. As soon as I un-joined my mesh and set this to shared location (and turned off UV Sync selection) it worked!

have fun.. stay creative and productive


text:
Speed up I/O when using cached simulations
I'm experimenting with fluid sims, so I've been baking and rendering the whole day. One thing I've noticed is that the I/O seems to be really slow. Like really slow. I'm only rendering at 30 samples per pixel and denoising, and when rendering an animation, it takes a couple of seconds to render the frame, then it hangs, I'm assuming reading the cache from the disk, and resumes the render. Guys I'm not kidding, the reading from the disk is twice the time it takes to render the frame. I'm on a SSD and every baked frame in the cache, between the actual sim and the noise sim (I'm working with fire at the moment) is around 35mb, so it should be very quick to load... And yet.
Also the timeline performance is afwul, scrubbing on the timeline is basically impossibile if the cache is active, I have to remove it and the reload it if I want it to be workable.
I only have 16GB of RAM, so I know I won't be able to do gigantic sims, but at the moment blender is only using 1.2GB of RAM during rendering.
Is there a setting I'm missing? IS there a way to I don't know, load more of the cache in RAM or something to speed things up?
Edit: Blend file https://we.tl/t-RCntPkgsnu it's really just a test scene

show us your blend file would help a lot.

@Chris done https://we.tl/t-RCntPkgsnu

Have you tried using a ramdisk?

ok, although this is not an answer to your question, but i think it is important that you understand what is going on in fluid/smoke simulations.
First there is the domain, in which the whole simulation is going on. So every piece of smoke of fluid must be inside of this.
It "normally" makes no sense to move or animate the domain at all (from my point of view). So why are you animating the domain?
Inside the domain you can use inflows or geometry, which is the "real" smoke or fluid which then will be animated inside the domain.
You can imagine the domain as something, which is the world of fluids and all fluids can only live inside of that.
So my first advice: do not animate or move the domain at all. I never made it and maybe i am wrong - but i don't think it is a good idea to move it at all.
Move the inflows or your fluid inside the domain.
Maybe just changing this will solve your lagging problems. If not, just update your .blend file without moving the domain or explain me, what do you want to achieve by moving the domain?

I move the domain together with the emitter because this way I can have a smaller domain with a manageable resolution, instead of a huge domain with a high resolution in order to keep everything smooth while still achieving a movement on the flame. I know right now it has a few issues with the flame touching the walls of the domain, but I'm just testing stuff out. I don't know if it's bad practice.
I have another problem now though, I opened blender again today and I loaded up the cached sim and I don't know why it won't match the geometry anymore. I didn't move the geo at all. :\

did you ever try to make the domain just a big as you need it? so that all your animation is inside, but width, height and length just as long as you need it?

I actually haven't. Tried it now, with adaptive domain on, the performance it's slightly better. I noticed that with just the basic bake, performance is ok (15fps, not full 24 but better than 1fps), but when I add the noise bake, it goes down to 3. It also varies with the size of the domain, when it shrinks it goes faster but that's kind of understandable. Maybe I'm just overestimating my pc? but still I wonder if there's a way for it to go faster.

nearly all fluid and smoke simulations in good quality need really much time. This is normal. Of course with faster gpu's/computers it is a bit faster - but not that much faster. They still bake and render real slow.

Plus domain has an adaptative option, so you really don't need to move the domain arround theoretically.

AFAIK Blender has no tools for profiling nor benchmarking exactly what happens and for how long so it's hard to tell what's going on. Are you sure it's the fluid cache provoking the long loading times and not something else like the textures loading?
Have you chosen a fast I/O file format as output? EXR or Targa are most usually the best options, others are low quality like JPG, or way slower like PNG
Also, have you enabled Persistent Data?


text:
Animating tentacles
I'm doing some tests for a character for a videogame I'm making.

The body is straight from MakeHumans, I imported it with the rig because it would save me the pain of rigging the character myself (and because I'm pretty sure I would not be able to do a better job).
I then cut off the head and modeled those tentacles, which I also rigged and skinned. The effect I'm looking to achieve is something like this:

In the gif it just open and closes but I would also like to achieve a "swirl" effect, basically starting from the pose in the second image, and ending in a specular pose to that while keeping the spherical shape.(Imagine the tentacles sliding over an invisibile sphere)
So to the issue: Right now I just rotated every bone by hand. Is there a way to make this faster? Can IK be set up in such a way to achieve both bending and twisting? Would rigify be of any help? (I'm not sure I can use it since this rig doesn't wasn't made with the metarig)
Edit: I should add that with a basic IK I can get the tentacles to bend, but not to rotate on themselves.

Rigify is a great rig for the body, but it will not be of any help fro your "head". I would try with an "Action" constraint, where a complicated and handmade animation can be controlled with a single movement of a slider.

@joshsanfelici do you have a resource or tutorial about action constraints? Never used them before.

https://www.youtube.com/watch?v=Zm8JHVpa9Sk, https://www.youtube.com/watch?v=dc8QUoAeCu8

So that's pretty much interpolating between keyposes manually. Looks promising, thanks!


text:
Why Do I Get This Error Message When I Send A Job to The Render Network?
I'm trying to use the render network on a Windows 8.1 PC with a local network, but I keep on receiving the error message shown in red when I select "Animation on Network".
Just to explain what I have done, I set up my master and 1 slave which is ready to go. Then I assigned a client instance with an assigned directory path to send the temp files and the rendered files. I had saved the file before clicking Animation on Network.
Could someone please explain this error message and how can I fix it?

![Blender Network Render Error Message][3]
![enter image description here][4]

Could this be caused by firewall settings? You should add which OS you use, and whether this happens in your local network.

I use a Windows 8.1 PC and I am using a local network. What firewall settings should I adjust? or do I need to turn it off?

I think Windows will popup a dialog where the admin should allow network access. You see a timeout, that means (probably) that the host is reached and it has successfully connected to the port but then there is no response. I used this configuration one time and had also issues. What does the web-interface display in your browser (http://localhost:8000/html/newui) ?

It States http:/myIPaddress:8000/html

authors: ชัยรัตน์ เกตุบำรุง


text:
How can I create procedural tiles with uniquely seeded textures for each one? [Updated]
My goal with this experiment was to create a procedurally tiling floor where each tile is unique.
After messing around for a while, this is what I came up with:

Result:

I was really pleased, until I realized I have no idea how to make this tileable/repeatable. I found this post, but those solutions didn't work (or I failed to properly implement them). I tried to find out how to recreate the Brick Texture node from scratch because I think that would probably answer my questions, but this was really all I could find.
I was even less pleased with my work when I started inserting my marble texture into the material and realized it wasn't going to work. I tweaked some things and this is what I came up with:

My end goal is creating a procedural texture where tile shapes are created by a voronoi texture node and each tile has a different "seed". Is there a way to do this? I imagined using colors values from the voronoi node to provide the value that seeds each marble tile, but I can't figure out how to actually do that.
This is as far as I've been able to get (it doesn't tile and I'm pretty sure each tile's texture is static). Any help and/or feedback would be very much appreciated. Thanks in advance!

EDIT: Updated node tree. Still doesn't do what I want, but at least it's prettier...

UPDATE: Thanks for the help! I spent a few more hours cleaning up the shader and adding a bunch of input sliders. These are the "final" results. The textures, tiles, tile shapes, grout thickness, and seed are fully procedural! The grout is pretty bad, but it's 7AM and I'm going to sleep.

Updated Blender file:

Do you want rectangular tiles, each with a unique texture, or each tile to have a a unique shape? Do you want a region of the overall texture to be seamlessly tileable?

@RobinBetts I think my two main goals for this practice project are: (1) being able to independently control the size of each tile and scale of the marble, and (2) making each tile's marble texture unique (by somehow seeding each one base on it's color or something?).

@vklidu Thanks! I retitled the post.

Independently control the size of each tile? You mean rectangular tiles of different sizes and proportions, all fitting together?

Is this what you want to achieve? I used brick texture (also I can't format well since this is a comment)
Mortar (/grid) size can be adjusted;
Seed for tiles, you can't control each tiles though;
Control how many tiles you want;
Change the color for the marble (with ramp).
Also, are you using an image texture for the tiles? You can use white noise to randomize them

@RobinBetts For square tiles, no. A 1x1 tile that repeats and is unique each time would be perfect. The image of the marble texture is what I'm trying to achieve, (notice how each tile has a unique pattern that doesn't line up with the one next to it?). But I would also like to create a version where the tiles are created with a voronoi node and each one is unique. I hope that makes sense. Please let me know if it doesn't.

@CikittaTjok The unique seed for each tile is one of the key things I'm trying to figure out with this practice project. That marble is not an image texture; it's a procedural material that I saw in a tutorial and have been slowly improving. If you download the file, it should be in there (that's what inside the groups in that last screenshot of my node tree).

@MaxWilliams I kinda figured it out, but then I realized I've deleted some nodes. It might took me some time to make it again XD

@CikittaTjok Aww, that's the worst. No rush. I appreciate your time and help :)

@MaxWilliams Ah I did it! I'll post it on the answer :D

I wonder how much computational difference there actually is,between using the Voronoi node for tiling, and doing the maths yourself, especially after you've introduced a couple of Noise nodes to do your randomness for you.. ?
Anyway, you certainly get lot out for not much in, in the way of nodes, with this kind of tree..

(I've made a group of it, here) .. You get UV-per-Cell, by subtracting the Position output from the texture-space, which lets you tile any texture you like into each cell:

You get 3 random numbers (a color) per cell, which you can use to randomise any of the cell's attributes (here, used to randomly rotate a texture, per cell):

And from the parallel Voronoi in the tree, you can get the distance to the cell's edges, which you can use to make a grouting mask, as here, or you can map ranges of it to other ranges to bevel tile edges:

And you can use the Randomness setting in the Voronoi nodes to take you from square tiles..

.. to Voronoi tiles, without any further adjustment.

(Just the group.. the other trees are a bit of a rushed mess :) )

Just a little question (REALLY unrelated). Does turning of anti-aliasing for the UI will make the blender run a bit smoother?

@Cikitta Tjok Hmmm! I'm not sure! I kind of doubt that viewport antialiasing is that much work for the GPU, and any stalling in Blender  e.g. with modifying heavy meshes would be CPU? Wild guess, though....

First, this is amazing. Thank you. It's similar to what I had going on (several hours of work after getting help from @CikittaTjok) but this answer really helped me understand why all that worked. I didn't know you could label node point connectors (I don't know what they're called). I do have one question though: How can I get the bevel to work with a curves node (for softer edges)? I tried messing around with it, but I couldn't figure it out.

@RobinBetts JK, I figured it out. I've been using the "Height" input, not the "Normal" input on the bump node. Heh...

It's very like yours..(I guess, it can, as commented, be done more economically, but with more nodes) To manipulate  bevels with a RGB curve node.. something like.. 1. map the edge-distance range of interest to 0-1, with a map range node, to make it easier to handle in the curve-node,use the C curve, and remap/multiply on the way out if necessary.. it depends.. give it a try, and if stuck, post a new question. Just read yours.. Cool!

@RobinBetts I definitely assume everything I'm doing can be done with about 90% fewer nodes :P After playing around with it a bit more, using the Normal input instead of the Height input doesn't actually worked the way I hoped it would for the smooth tile edges. I shall post a new question. Thanks!

Here's a quick overview! I separated the X & Y, round the values, and multiply the X and Y value. Then, I connect the vector to the White noise to generate random value, connect the randomized value to the vector rotate to rotate each of them individually. I hope this is what you want to achieve :)
Get the file here: https://drive.google.com/file/d/11keH_2F6pm5L0qdhfqBuNEfbmzChA8Cj/view?usp=sharing
Also did I just recreated the “Poliigon Uber mapping”

Okay. Let me try to implement this into my shader. I'm using a procedural node group, not an image, so I'm not sure how to incorporate that at first glance. I'll report back shortly.

Why are there two Separate XYZ nodes? Don't you only need the one?

@MaxWilliams I'm not sure, I've tried to use both of them but it doesn't work really well.
Also connect the vector socket to your node group, if it has a vector socket somewhere and mix the brick texture with the node group result

This works! OMG, it works! You're a wizard! And it was soooo much simpler than what I had. Wow. Thank you. And, it also works if you replace all that math with a voronoi node (which is the second goal I had). Now I just need to figure out how to "find edges" of the voronoi node to make the grout for that version.

@MaxWilliams ^^

Instead of the math nodes, you can simply plug a voronoi texture node and set the randomness to 0. Plug the position output into the white noise node to get the "random-per-tile" value. Tweak the voronoi scale to adjust the size of the tiles

@Gorgious oops, I think I ever heard it somewhere.. oh the CGMatter tutorial

I think the way you showed is more efficient computation-wise so it's nice to remember this setup if you have trouble rendering your material :)

@Gorgious I actually did try that, but it doesn't work because the voronoi node doesn't tile from the same origin point. I couldn't figure out how to make that happen (adding 0.5 didn't work). If you know how to resolve that, I'd be happy to know because that could make this shader really simple and allow me to create a slider for the voronoi's "randomness" to change the shape of each tile.

@CikittaTjok, there was one thing I had to add. You need to divide by 2 between the scale value and the brick texture node's scale because a value of 1 creates a 2x2 grid.

@MaxWilliams Yes! I forgot to edit the image, but I believe the file does the thing.. Or maybe I also forgot to update the file and only saved it on my laptop??

Oh, I didn't see the file until after I copied the nodes from your screenshots (mostly to practice going through the motions). I ended up spending a couple hours refining it and getting it to work with a voronoi node. The final shader is extremely slow, but it works!


text:
Geometry Nodes: How can I align points/instances to normals without local rotation?
The lower torus is using a hair emitter and displays exactly what I'm going for: each instance edge is parallel to the next. The upper torus is using geo nodes and each instance has a local rotation. I've searched and experimented, but cannot figure out how to achieve the same effect with geo nodes.
The Point Distribute node provides the desired rotation/alignment, but the points are random so that doesn't work. Unfortunately, that's the closest I've come to a solutions thus far. I'm sure there's a relatively simple solution, but I'm struggling to find it.
Thanks in advance for any help <3

Here's a link to my file:

Looks cool, I would say you need to reference the torus’s overall orientation. If each hexagon is in a “locked track“ constraint equivalent to the Z axis, it might work.

I was about to get buried in cross-products.. but a 2-stage alignment seems to do the trick?

That absolutely does the trick! I was on the right track a couple times, but I don't think I tried using two Align Rotation to Vector nodes. Thank you so much!

Robin is just a genius....!


text:
How can I make a radial noise gradient?
I'm trying to create a bump map for an anisotropic metal cylinder. An answer on this post shows exactly what I'm trying to accomplish:

However, when I try recreate it, this is my result (I'm using a vector math node--which looks different, but I don't know of any other nodes that have "normalize"):

Can anyone help me figure this out? Cheers!
UPDATE: Thanks for the help! I combined the two answers, added a little flair, and got this:

P.S. For anyone trying to recreate this later: The bump distance is set to 0.0003

If you just need to create this random circular output, you can actually just plug the gradient node's color output into a noise texture.
Note: Geometry -> Position is based on actual position in the scene, so that may not be what you want to use.  I'm using object coordinates here.

You can control where the effect terminates by using a mapping node.  By default gradient texture generates a 1m radius sphere.  The scale relationship is inversely proportional, so to extend it over an entire axis, you can set that axis to 0.

Increase the scale of the noise texture for finer rings.

Thanks for going into so much detail and explaining your reason for using object coords. That clears up the main reason why I couldn't get it to work (the object I was using was not centered at the world origin). I combined your answer with the other and got the exact result I hoped to create. Cheers!

Great to hear, fantastic result.

Cheers. I couldn't have done it without your help ;)

Vector Math>length seems to work well here to accomplish your goal:

Click to enlarge
Adding a Math> Multiply node between the length and noise texture will allow you to scale the rings as well as seen below:

Result:

You can take this a step further, for a little more control and use Vector Rotate to help here. The Math>Multiply is what will control the size and direction (clockwise/ counter clockwise) of the rings.
The modified setup:

Click to enlarge
Here it is in action:

Thank you! I tried using length, but I didn't realize the position variable of the geo node was based off relative position in space. This solution (mixed with the other), was exactly what I hoped to create! Cheers :)

welcome, for an in depth overview of texture coordinates and how they work in procedural textures have a look at this video it's an old video, but not  at all outdated.

Thanks! I'll watch this while I eat lunch :)


text:
How can I control multiple points of a cloth sim?
I'm following a tutorial for a crate design, but I wanted to add some extra flair to it. I thought it would be cool to animate a ribbon of wires as it slides open. It's almost done, but I can't figure out the last bit.

As you can see, the ribbon isn't pinned down on the opposite end, so it just slowly slides out of place. I found this answer on in another post, but I couldn't figure out how to apply those techniques to my test scene. I'm still pretty new to Blender, so I'd very much appreciate any help/advice. Cheers!

if you don't care about not doing it with cloth simulation, you could easily do it with a Curve modifier

Instead of constraints you could hook the left extremity to an empty and add the vertices of the opposite extremity to the pin group. Put the Hook modifier above the Cloth modifier. In the Physics properties, increase the Quality Steps up to 20 to make it work correctly. You don't tell about what's supposed to happen after the last picture of your gif, does the extremity on the right stay still?

Even simpler, you could give up cloth simulation and use a Curve modifier:

Thank you so much for your help! Unfortunately, I don't understand how to hook up the left-side verts to the empty while keeping the right-side verts pinned down. I've tried finding videos and reading about it, but I can't seem to find what I'm looking for or put the pieces together.
As for what's supposed to happen after the final frame of my gif, the goal is for it to just stop, then reverse with the lid slides back into a closed position. The curve modifier method is waaaaay simpler and I would consider using it, but I really want to understand how to control the verts.

select the left vertices and press Ctrl H to hook to new object, it will automatically create the empty, don't use any constraint for the belt, just add the vertices on the right to the pin group, and it should work, I'll add the blend file if necessary. Edit: oh and don't forget to put the Hook modifier above the Cloth modifier!

Wow...that is so fast and easy. Thank you!


text:
Why is #frame_end returning a 0 value?
I'm trying to make a looping animation and want to call the value of my end frame so that I can adjust the length of the animation without breaking the loop. However, when I type #frame_end into the value node, it returns a 0 value (my end frame is 24). #frame works as intended, so I'm really not sure why #frame_end isn't working as I expect. Thanks in advance for any help!
Edit: Here's a screenshot of my trash node setup. I was just guessing my way into figuring out how to create a loop, but I realize now this doesn't actually do that. Well, these values do, but that's more or less luck. The code itself doesn't force a perfect loop, which is obviously the desired goal
Edit 2: I think I figured out out the looping issue (still haven't solved the topic question about frame_end, but I didn't realize the phases looped by tau, and not 1.

Can you show how you are implementing the driver in the scene? I mean, an example of usage... I also would like to point out that while #frame is a "global" variable, the #frame_end it isn't: it belongs to a specific scene, so you should define which scene you are referring to in the driver editor, even if there is only one in the blendfile.

@Carlo Updated the post with a screenshot. I didn't know that about frame drivers. I've only ever used them a handful of times for super, super basic scenarios. I did look around in the driver editor, but didn't really know what I was looking at.

As mentioned in the comment by Carlo, #frame creates a driver that uses the global frame variable. But frame_end is a property of the Scene object. If you enter #frame_end a driver will be created for you but the expression "frame_end" is invalid. To fix this, open the driver editor and enter the correct value.
Creating a driver to access scene.frame_end:
In the driver editor, add a new variable with the + Add Input Variable button if you don't have a valid one.
Give it a name, like var in the example. Also, enter this name in the Expression box above.
Then look for the Prop: setting below. There are two dropdown list boxes right next to it. In the first one (the object type) choose Scene, in the second one choose the scene name. The name of the default scene is Scene. Now you have the object that you want to access.
Below this there is the Path: input box. Here, enter frame_end to access the value for the last frame (250 by default). Now, you should see this value right next to the Value: label below, right next to the Driver Value: label above, and where you added the driver (purple value). That's it!

Note: To get the data path for any Blender setting supported by a driver, simply right-click on it and select Copy Data Path from the context menu. For example, hover over the End Frame of the timeline and use the context menu entry. You also can enable Interface (section) > Display > Tooltips > [X] Python Tooltips in the User Preferences and you will see the data path in the tooltip when you hover over a setting.

Wow. Thank you sooooo much. This was so informative and easy to follow. I really appreciate the note at the end, too! <3


text:
How can I use geometry nodes to shape this structure into a pyramid?
Update:
Thanks to Gorgious for helping me answer my specific question. Here's that setup for anyone that might find it useful:
Thanks to Gordon for providing a much better way to do the whole project!
ORIGINAL POST:
I'm trying to create a basic pyramid, but can't figure out how to scale the entire structure to a single point. I've been trying to solve this specific problem for hours and can't find a solution. I'd really appreciate any help.

I know I can just apply the modifier and scale it in edit mode, but the point of this exercise is to expand my knowledge of geometry nodes. I'd really appreciate any help. Cheers!
Here's an example of my desired end result that I modeled:

Use a Set Position and multiply X and Y Position by Z ?

@Gorgious That was it! Ugh. Thank you so much. I kept looking for nodes related to scale. If you want to make an answer, I'll checkmark it.

@MaxWilliams You could add your own answer in the answer area, below, to later mark your question

@Emir I just want to give credit where it's due for the internet points :P

Let @Gorgious answer and mark that as an answer,also upvote that to help him

@Emir That's exactly what I asked them to do. lol

You can go ahead and post your answer and accept it, seeing as you already wrote it :) I don't mind at all

When you posted your question about the pyramid, I actually had an object more like this in mind:

So I came up with something different, this is not an answer to your original question but since you said the point of this exercise is to expand your knowledge on Geometry Nodes, I thought I'll just leave it here.
My idea was to start with a square base where I can set the number of blocks for one side which I can set as input parameter. The width/length should be the same as the height and are controlled by an input parameter as well (that's width/length/height of the points where the blocks are placed not the dimension overall).
I had a Quadrilateral as base being instanced upwards on a Curve Line and scaled down towards the top. Then building upwards I wanted each layer of blocks to have one block less per side than the layer below. I achieved this with using the index of the instances as counter.
Then I just had to use cubes for the pyramid blocks, adjust their size according to how many rows there are overall and at the end I moved them up a little to sit on the floor plane. I'm not going to explain it all since this is not even an answer to the question, but here's the node setup and at the end I'll upload the file. I'm sure this can be optimised somehow:

Playing with the size and number of blocks you can adjust the pyramid to your liking:

And here's the file:

You're an absolute wizard! After I implemented the "solution" in my edited post, I realized the results aren't really want I wanted for two reasons (1. I still needed to offset every other layer; 2. The brick dimensions become significantly less consistent with height). So I spent the entire day trying to figure out how to do exactly what you've just posted. Thank you so much. I'm excited to implement this method and pick it apart! <3


text:
How can I use a curve node to shape the edge of this node texture?
I'm really struggling to understand why the curves layer isn't creating rounded edges in this shader. My goal is to control the shape of tile edges with a curve node (to achieve custom/rounded edges), but I can't figure out what I'm doing wrong.
Here's the basic setup:

Adjusting the Bump node's Distance value sort of resolves the issue, but that lowers the bump's visual effectiveness. Is there a way to achieve strong highlights/shadows and get a smooth, custom edge?
Edit: Also, how would one get ride of these hard edges at the corners?

Thanks in advance for your big brains and generosity!

Bump maps can be tricky but the distance on yours is way too high.  Basically no matter how you ramp the color it's trying to give it the appearance of jutting way out.

I decreased to .008 and then I was able to get finer control out of the curve node.

That's what I was afraid of. I ended up doing exactly that, but I'm still curious why the bump node tries so hard to make everything intense. Regardless, thanks for taking time to offer your help! <3

I'm pretty sure that value is in blender units.

I can't tell if that's suppose to be a joke. I'm super new to all this... heh


text:
Blender 2.77 won't Render Hair Particles (Cycles)
I can't get my hair to render on Blender 2.77a. I'm in experimental, on CPU.
Here is my Blender file

Please provide more info about your file and settings. Edit your question and add more relevant data, possibly a screenshot of your settings and render results. Also please provide a as simple as possible file where the problem is visible.

It looks like your root thickness at the very bottom was set way too small.

Try freeing the bake and setting the root thickness to atleast 1.

Thanks! I know it was a noob question! Thanks for taking the time to answer :)


text:
Controlling a text object through python. Hooking it to an internal variable
Okay so I'm using a text object eventually odd like to make it into a health counter. My code is sloppy though and needs refining.
Here is what I got.
import bge
from bge import logic

cont = logic.getCurrentController()
own = cont.owner
scene = logic.getCurrentScene()
T = scene.objects['Text']
z = cont.sensors['z']

if z.positive:
    T ['x'] += 1

if T ['x']  == 0:
    T.text = 'failure'

if T ['x']  == 1:
    T.text = 'success'

if T ['x']  == 3:
    T.text = T['x']

The last line didn't work, the money says that it returns without exception set. This is just a test to find something that sort of works. But ideally I'd like the texts to simply display a variable as it changed. Z is a keyboard sensor and x is a property linked to the text. Can someone tell me how I can just get the text to display the integer property x?
Also being able to reference the lines in a text file for text would be great but if that's to much to ask then please just help me with the first one.

When trying to execute your code, I get the error:
KX_GameObject, key "x" does not exist

Replace all your T['x'] with another objects property such as:
T.localPosition.x

If this isn't the property you want, you can search the objects fields with:
print(dir(T))

You have to parse/cast the int to a string with the python str() method.
The last line compiles fine as:
if T.localPosition.x  == 3:
    T.text = str(T.localPosition.x)

Thanks! I was missing that last str() command. Works perfectly now that it recognizes the integer as a string

Nice to hear. If this answer solved your problem, please mark it as accepted.

authors: Руслан Такойто


text:
Group instance not showing correctly
When I create a group instance a plain-axis shape is displayed instead of an actual mesh.
It happens only in one of my scenes, when I create a new scene from scratch groups are working fine. I guess I must have messed up one of the settings?

Press Shift + H with the instance selected to hide all other objects. Then Shift + C to view all. Is the group truly empty? If nothing shows, check the active layers of the group in the properties panel.

Thanks Leander, your suggestion helped me to figure out what's wrong. Group object was instantiating correctly and is visible but it's location is very very far away from parent so i wasn't able to see the actual mesh in a viewport, only representation of it's origin i guess (cross-shaped gizmo). Now i just need to figure out why group instance is beign located so weird. Thanks!

The groups origin is always at (0, 0, 0). If some meshes are at (100, 0, 0) and you instanciate the group at (99, 0, 0), the instanced meshes won't be next to it, but rather at (199, 0, 0). Always position the meshes at the scene origin if you want to use group instances.

authors: Марсель Ширьязданов


text:
Is it possible to inverse selection in Object mode?
I imported a 3D apartment model from an Archicad .3ds file.
Scale and coordinates were all messed up and I solved this by resetting location, scale, rotation and origin. Now the model seems fine except that when I press "zoom to all" it zooms out so much that the screen is empty. I figure that there must be something left to original imported scale (0.000001) that is causing this. To find it I planned to select everything visible on my scene and invert selection. Just can't seem to find the function. (The scene has over 250 objects.)

Upload your file to blend-exchange.giantcowfilms.com so others can take a look.

Use Ctrl+I to invert a selection.

Ctrl + i worked great, thanks! There was a "Lamp" object still an impossible amount of distance away, resetting it fixed my problem :)

authors: Вениамин Томский


text:
How to change contrast in a popup window?
I want to use a popup window to indicate some failure in our Addon. However i noticed that the default theme does not create enough contrast between background and text color:

I found where in the Theme settings i can modify the background color of the popup window. But i could not figure out which theme property controls the  text color.
Here is the script that i used for creating the Popup:
import bpy

class PopupTest(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "popup.test"
    bl_label = "Popup Test"
    bl_options = {'REGISTER', 'UNDO'}

    def invoke(self, context, event):
        width = 400 * bpy.context.user_preferences.system.pixel_size
        status = context.window_manager.invoke_props_dialog(self,
                 width=width)
        return status

    def draw(self, context):
        layout = self.layout
        box   = layout.box()
        box.label(text="title")
        col = box.column(align=True)
        col.label("Rig version    : 1.0")
        col.separator()
        col.label("Press the OK Button below to update")
        col.label("click anywhere outside this box to Skip")
        col.separator()
        col.label("CAUTION: ...")

    def execute(self, context):

        ob = context.object
        return {'FINISHED'}

class PanelPopupTest(bpy.types.Panel):
    bl_space_type  = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_label       = "PopupTestPanel"
    bl_idname      = "popup.testpannel"
    bl_options     = {'DEFAULT_CLOSED'}
    bl_category    = "Tools"

    @classmethod
    def poll(self, context):
        return True

    def draw(self, context):
        layout = self.layout
        box   = layout.box()
        box.label(text="title")
        col = box.column(align=True)
        col.operator("popup.test")

if __name__ == "__main__":

    bpy.utils.register_class(PanelPopupTest)
    bpy.utils.register_class(PopupTest)

How attached are you to having the box() in the popup layout? box = layout will give you white on black (default)

yes, that looks like a good workaround to avoid the problem. I meanwhile found that the text color is taken from the definition in Menu Back:Text. Now i wonder why it is not taken from Box:Text ...

This has been identified as a bug. here is the bug report: https://developer.blender.org/T48241

Excellent, I do like the box.


text:
How to map a pose to the restpose of another rig with same topology?
I have 2 rigs with the exact same bone topology, but with different rest poses, see left image below. The T-Pose Rig is displayed in green, the A-Pose rig is displayed in black. Now i want to align the pose bones of the T-pose rig to the edit bones of the A-Pose rig as shown in the right image below.:

I tried to do this by copying the edit_bone.matrix values of the A-Pose rig to the pose bone matrices of the T-Pose rig and on first sight this seems to work perfectly (if all bones are disconnected).
        #Assume the context.object is the t_rig
        for bone in t_rig.pose.bones:
            bone.matrix = a_rig.data.bones[bone.name].matrix_local
            #need to do this, not sure why:
            bpy.ops.object.mode_set(mode='OBJECT')
            bpy.ops.object.mode_set(mode='POSE')

But...
I have a problem with the Bone Roll. Here is what happens on the upper arm bone in my example:
For the T-Pose Rig the bone roll z-axis of the arm bones is aligned to the world z-axis, while for the A-Pose rig the bone roll is rotated by 45 degree:

So, when i simply copy the bone matrices, then the bone rolls gets rotated as well. But this has an undesired impact on the bound meshes: the mesh gets rotated with the bone roll:

What i really want to achieve is to copy the matrices without changing the longitudinal rotation of the bones so that the arms are not rotated:

One way to do this is by working through the T-pose rig from top to bottom and for each pose bone do:

move the pose bone head to the corresponding location on the A-Pose rig
Calculate the rotation difference between the pose bone on the t-pose rig and the edit_bone on the a-pose rig
Apply the rotation difference to the pose bone on the T-Pose rig.

However i wonder if there is a better way to align the pose bones of one rig to the edit bones of another rig and keeping the longitudinal bone rotation unchanged.

Maybe you can save the roll before copying the matrix (roll = t_rig.data.edit_bones[bone.name].roll) then reset it after the copy (t_rig.data.edit_bones[bone.name].roll = roll) ?

The bone rolls of all bones is 0 for both rigs. Only the longitudinal rotations of the bones differ. so saving the roll from one rig and reapply after copy makes no difference :(

If you use ordinary parenting (inherit rotation, translation, scale) and do not use any constraints, this answer should apply for this case,  too.

This requires a lot of matrix math which is complicated by the fact that the mathematical relationship between the various python-accessible matrices and fields is almost undocumented.
Here is an excerpt from http://web.purplefrog.com/~thoth/blender/python-cookbook/pose-match.html that should accomplish your mission:
import bpy
from mathutils import *

def matrix_scale(scale_vec):
    return Matrix([[scale_vec[0],0,0,0],
                   [0,scale_vec[1],0,0],
                   [0,0,scale_vec[2],0],
                   [0,0,0,1]
    ])

def matrix_for_bone_from_parent(bone, ao):
    eb1 = ao.data.bones[bone.name]
    E = eb1.matrix_local # * Matrix.Scale(eb1.length,4)
    ebp = ao.data.bones[bone.name].parent
    E_p = ebp.matrix_local # * Matrix.Scale(ebp.length,4)
    return E_p.inverted() * E

def matrix_the_hard_way(pose_bone, ao):
    if pose_bone.rotation_mode == 'QUATERNION':
        mr = pose_bone.rotation_quaternion.to_matrix().to_4x4()
    else:
        mr = pose_bone.rotation_euler.to_matrix().to_4x4()
    m1 = Matrix.Translation(pose_bone.location) * mr * matrix_scale(pose_bone.scale)

    E = ao.data.bones[pose_bone.name].matrix_local
    if pose_bone.parent is None:
        return E * m1
    else:
        m2 = matrix_the_hard_way(pose_bone.parent, ao)
        E_p = ao.data.bones[pose_bone.parent.name].matrix_local
        return m2 * E_p.inverted() * E * m1

def pose_to_match(arm, goal):
    """
    pose arm so that its bones line up with the REST pose of goal
    """

    matrix_os= {}
    for to_match in goal.data.bones:
        matrix_os[to_match.name] = to_match.matrix_local
        #print([ "matrix", to_match.name, matrix_os[to_match.name] ] )

    #xyz' = s * m * m(parent) * xyz

    for to_pose in arm.pose.bones:
        if to_pose.parent is None:
            len2 = arm.data.bones[to_pose.name].length
            len1 = goal.data.bones[to_pose.name].length
            to_pose.matrix = matrix_os[to_pose.name] * Matrix.Scale(len1/len2, 4)
        else:
            # we can not set .matrix, because a lot of stuff behind the scenes has not yet
            # caught up with our alterations, and it ends up doing math on outdated numbers
            mp = matrix_the_hard_way(to_pose.parent, arm) * matrix_for_bone_from_parent(to_pose, arm)
            m2 = mp.inverted()* matrix_os[to_pose.name] * Matrix.Scale(goal.data.bones[to_pose.name].length, 4)
            loc,rot,scale = m2.decompose()
            to_pose.location = loc
            if 'QUATERNION' == to_pose.rotation_mode:
                to_pose.rotation_quaternion = rot
            else:
                to_pose.rotation_euler = rot.to_euler(to_pose.rotation_mode)
            to_pose.scale = scale / arm.data.bones[to_pose.name].length

#
#
#

pose_to_match(bpy.data.objects['gamma'], bpy.data.objects['beta'])

I think I'm in a similar situation, actually every google search I make I end sooner or later on one of your posts, that looks exactly my problem.
For this issue, I think the solution would be to make a script that:

for every bone in T-Pose add a bone constraint to copy the transforms in the A-Pose. (not sure if this works in all skeletons, but at least it worked flawless in my samples)
Apply Visual Transform to Pose.
Remove all the bone constraints added in Step 1.

The T-Pose (that still keeps the Rest Pose as it was) should be now posed in the A-Pose configuration. Now the pose could be saved into the Pose Library.

authors: Полина Котова


text:
2.8 locking object from selection
I want to lock objects from getting selected, but not change their visibility.
2.8 removed the lock button from the outliner. How do you lock objects in 2.8?

Did you check the option in outline panel?

For anyone else who reads this and still can't get it to work, see the animation in the answer below.

Yeah this hardly answers the question, it "answers" it with another question.


text:
Mirrored circle not showing in edit-mode
I am using Blender 2.78. I enabled "Display modifier" but it is still not visible in editmode.

Add a screenshot of your problem to make it more clear and easier to answer.

Vertices not visible ....
vertices now visible in edit mode .....

Mirrored vertices aren't shown in edit mode, as long as there are no faces.

This is by design, you never see the verticles of the mirrored part,
as that would be highly confusing.
Those verticles (the mesh) doesnt exist, so you dont see the editable parts of the mesh but you can see the mirror aplied to it. You can only alter the left side of your circle and thus you see that in mesh edit mode.
it is though possible after you aplied the mirror to mirror X editing, and edit both sides of your mirror.

Thank all for your answer.
I found another solution:

Add Circle
(Modifier) Mirror
Choose wireframe
Go Edit Mode
Move (G-key)

Now it is visible in editmode and objectmode.

It's not clear what you were asking, what you want to achieve or how this answers solves the problem. Could you please edit them both and provide a little more insight, perhaps some screenshots too. IT may help other users in the future

authors: בן ציון פרידמן


text:
Video sequence editing, cutting strips
I'm trying some video editing with Blender and for now just wanna do some simple cuts. Whatever I do the strips keep some frames from what I thought should have been cut as soon as I start moving the strips around.
I know what happens under the hood as documented here for example: https://www.blender.org/manual/de/editors/sequencer/usage.html#moving-and-modifying-strips , but I still can't figure out how to do a simple cut like you can for example in Premiere Elements.

Related: http://blender.stackexchange.com/a/46596/2843

I have a dim feeling that it might also have something to do with this. The video im importing is a video capture from the XBox-App on Windows 10. Its recorded with this odd 24,97xxx fps and im setting the fps in blender to 25, but it still might cause a problem?

Seriously. Blender VSE is way too confusing. I feel like they could make things that should be super simple, super confusing and complicated.

In the VSE you can cut a strip at the current frame by pressing K, which gives a "soft cut". You can also perform a "hard cut" at the current frame by using ⇧ ShiftK
The two strips resulting from a cut still know the video that they are from and frames that were "cut" from the strip can still be recovered.
The difference between a hard and soft cut is that with a soft cut you can drag the start of the clip to recover frames before the cut, while with a hard cut this will duplicate the frame at the cut to the adjusted start of the clip. This works the same for the end of the strip.
In both cases you can adjust the start and end frame by adjusting the strip input properties - press N to show the properties region.

Thanks, the trim durations is what im messing around with currently. If im right you should remove the first and last frame AFTER the HARD cut because they are just copies of what has been cut out? Will try this later...;-)

Thanks! For me, it was the usage of the Trim Duration (soft) values that enabled me to simply cut away a bit of the start and ends. Do your hard cut first, note down the end frame. Put the end frame value in the Trim Duration (soft) box for both audio and video. Delete the other hard cut strip.

I tried Shift+K and I still cant get rid of the beginning of a video Clip. How to I remove it for good?

@XBuilder Cutting a strip will turn it into two strips, you select and delete the one you don't want. If you are referring to the video file, this is not affected by cutting in the VSE, you need to edit the VSE strips and then render the edited result to a new file.

@sambler , I tried to Shift+K the strip in two, and delete the first one, I even just tried setting the start time past the part I wanted to delete and rendering just the strip in a new blender VSE editor and it still rendered the beginning frames I tried to delete.

When you press K in the Blender VSE you will have a "soft" cut meaning you can always move the handles (left and right arrows) and get the frames that has been cut.
I suggest to follow this (and the other) tutorial for VSE
I've discovered today, the guy it's exceptionally clear in his explanations

Thanks, I aready know this series and also recommend it!


text:
How to render out an image sequence where each frame has a different name automatically
How can you render out an image sequences, not a movie and have Blender save each frame image with a different file name (chosen by me) for each of them?
To be more specific what I need... I have model which represents an electric electric circuit with specific elements on it. And I want to render an animation in IMAGES where each image have one specific element of that electric circuit.

As far as I know there is no builtin functionality to achieve what you want. You could try the commercial addon Render+ which may allow you to set up batch renders with different names and frames easily. It is a payed addon but no too expensive I think. I am in no way affiliated with it. https://cgcookiemarkets.com/all-products/render/

Blender allows you to render an animation to images and include the frame number in each filename. To get more control over the saved filename you can use a python script to do the rendering.
Paste the following script into blender's text editor and adjust the list of filenames to what you want to use for each frame. Instead of using blender's render buttons you can run this script to save each frame using the filenames you want.
A disadvantage is that blender's window will not get updated while rendering this way. You may want to do the render from the command line to get some feedback. If you save the script inside the blend file and name the text block myrender you can use - blender -b myfile.blend --python-text "myrender"
import bpy
import os

# the folder to save the renders
outpath = '//renders/'

# filenames is a list containing frame number and filename
filenames = [
    [1, 'PC.png'],
    [2, 'IR.png'],
    [3, 'SP.png'],
    [4, 'Board01.png'],
    [5, 'Circuit01.png'],
]

scn = bpy.context.scene

for r in filenames:
    scn.frame_set(r[0])
    scn.render.filepath = os.path.join(outpath, r[1])
    bpy.ops.render.render(write_still=True)

thx, that's is what I want :D

I had the same question today, and I found that I can animate file output node, input names.

And you can just press I and keyframe the selected name, and see keyframe on your timeline. And without any scripting. (Nodes are in the compositor.)
This does not work in 2.8 RC2.

If you already made the animation with keyframes and such, you go to the render tab, under output select JPEG, and in the box you type where you want your frames to be saved. Let's say you put C:\renders\circuit in the output, then Blender will automatically assign the names of each frame, so what you will get is a series of images named circuit.001 circuit.002 circuit.003 and so on.

I already new that... but no that is what I need... I want to give a name like PC.png, IR.png, SP.png and so on for each of them... not... bla0001.png, bla0002.png...

@Vildnex Just rename the files after if there isn't too many?

63... and sometime I need to rename again and again because I need to remake the image...


text:
Smoothing curve "tilt"
There's an option to smooth a curve's radius, but is it possible to smooth the Tilt factor of points in a curve?

For example when making a road or flight path, I'd like to tilt just some of the points and have it interpolate for the points in between, or simply smooth out the tilting of selected points to get rid of unwanted bumps.
Is there any native way to do this?

Curve weight and tilt smoothing has been added in r58575.
Will be available in the 2.69 release or any recent build.

At the moment I assume that there is no native way to do this, correct me if I'm wrong.
So I wrote a little script that will interpolate (not smooth) tilts of the selected points linearly:
import bpy
curve = bpy.context.object.data

# create point list
points = []
for pt in curve.splines[0].points:
    if pt.select:
        points.append(pt)
        print(pt.tilt)

starttilt = points[0].tilt
stoptilt = points[-1].tilt

# linear interpolation
print ()
increment = (starttilt - stoptilt) / len(points)
for pt in points:
    pt.tilt = starttilt - increment
    increment += (starttilt - stoptilt) / len(points)
    print(pt.tilt)

This will loop through the selected points and set the tilts to interpolated values between the original tilt of the first and last selected points.
Result:

You could use Proportional Editing while preforming Tilt operation.

There's also the tilt interpolation method in the Properties window, Object Data tab, Active Spline panel.

Ah of course, that's a great solution assuming you know about it from the start, thanks


text:
Get screen space coordinate for node position
I'm working on some features for Node Wrangler and seem to be a bit stumped.
The task is to draw some text and shapes using the BGL module near a certain node.
BGL is drawn in screen space (the origin always at the bottom left and measured in pixels).
However the node location is kept in some kind of region space, the origin being the origin of the background grid and is not measured in pixels (for example, some node is 200 units wide no matter what zoom level you're at)
How could I find the coordinate of some node converted to screen space, so that I can draw some BGL stuff near it?

just add region.x/y?

@pinkvertex: that won't account for zoom!

There are two utility functions for regions to convert 2D spaces:
Region.view2d.region_to_view()
Region.view2d.view_to_region()

-- API Docs
You might not even need it, try 'POST_VIEW' for your draw callback:
bpy.types.SpaceNodeEditor.draw_handler_add(draw_callback_px, args, 'WINDOW', 'POST_VIEW')

This set, you can draw in the node space in your callback function, unlike 'POST_PIXEL', which will always give you the screen space.


text:
How to blur part of the screen in the game engine?
I'm making an FPS game, and for some of my guns, i want to be able to zoom in so that i can see farther. This isn't the problem. What i really want is to make the rest of the screen (The part not looking through the scope) blurry so that it looks like the character is focusing through the scope.
I want everything that is not seen directly through the scope to be blurred, for example, refer to the scopes of Crysis 3.

You can use a 2Dfilter to accomplish this. Probably also with a  few custom uniforms so you can pass the information to the shader about when and where to blur.

Are you looking to simulate DOF (Depth of Field), or do you specifically want to blur everything not in scope, by the same factor, regardless of distance from focus point?

Does this help at all?

@GoranMilovanovic I want to blur everything not in the scope

Extending the sample shader linked by @NoviceInDisguise:
How it works: the shader gets the rendered image as a texture its x/y coordinates range from 0 to 1.0
The distance from center is calculated by sqrt(x*x+y*y) > .3 to exclude a circular region from blur.
uniform sampler2D bgl_RenderedTexture;

void main(void)
{
  vec4 texcolor = texture2D(bgl_RenderedTexture, gl_TexCoord[0].st);
  float x =  gl_TexCoord[0].st.x - .5;
  float y =  gl_TexCoord[0].st.y - .5;

  if ( sqrt(x*x+y*y) > .3 ) {
       float value = 0.0015;
       vec4 color = texture2D(bgl_RenderedTexture, vec2(gl_TexCoord[0].st.x + value, gl_TexCoord[0].st.y + value)); // Sample area around current pixel
       color += texture2D(bgl_RenderedTexture, vec2(gl_TexCoord[0].st.x - value, gl_TexCoord[0].st.y - value));
       color += texture2D(bgl_RenderedTexture, vec2(gl_TexCoord[0].st.x + value, gl_TexCoord[0].st.y - value));
       color += texture2D(bgl_RenderedTexture, vec2(gl_TexCoord[0].st.x - value, gl_TexCoord[0].st.y + value));
       color /= 4.0;
       gl_FragColor = color;
   }
   else {
       gl_FragColor =texcolor;
   }
}

Node setup: Add a Filter 2D configure it as Custom Shader and select the above script.

Sample render
Disclaimer: A decent blur needs to incorporate values from a 3x3, 5x5 or bigger matrix, the sample code only uses the left and right neighbor.

Gosh this was a while back, sorry for not confirming your answer yet :/   Is the float value the blur amount? And how would I incorporate a matrix?


text:
Text Game Properties in Blender (Python)
In my version of Blender (2.71), i can add "Text Game Properties" to text. But if i have two objects that are text, both individual properties are called the same thing "Text". I want to refer to both of them individually in a script in python, but i don't know how to do it. Please help.
@sambler
This is the code i used, but it still won't work. Please help.
    from bge import logic

    def reload():
cont = bge.logic.getCurrentController()
own = cont.owner
txtVal = own['Text']
sce = bge.logic.getCurrentScene()
sce.objects['Refill']['Text'] = sce.objects['Refill']['Text']-(80-own['Text'])

A text object gets it's own button to Add Text Game Property. This button produces the same effect as the normal Add Game Property with the type set to string and name set to 'Text'. This 'Text' property of the text object gives the ability to get and set the contents of the text object during game play.
The 'Text' property can be accessed the same as other game properties, by treating the object as a dictionary and the property name as the key.
In a python script used as a controller that would normally be with -
cont = bge.logic.getCurrentController()
own = cont.owner
txtVal = own['Text']
own['Text'] = 'NewString'
own['prop'] = 25
own['prop2'] = 'a big long string'

Other objects in the game can also be accessed -
sce = bge.logic.getCurrentScene()
sce.objects['otherObj']['Text'] = 'something'
sce.objects['missile']['prop3'] = 356

Properties changed during game play only exist for the duration of the game. Values set in the Game Logic Editor will be in effect at the start of a game, with the 'Text' property being set to the contents of the text object set in edit mode.
EDIT: response to your code example.
While your debugging your scripts you will want to watch the console output. It can contain hints as to why your scripts fails.
In python scripts formatting is important, the indentation defines separate parts of code. Not sure if any formatting got lost copying your code across but it appears you have a function and the following code might be meant to be part of that, if so that code isn't going to run unless you add a function call at the end of the script. For this small script you don't need any functions.
The all important last line, you are mixing strings and integers which you need to convert to work as you want. int(strValue) will give you a number you can calculate with and str(number) will then give you a string to use for the text value.
import bge

cont = bge.logic.getCurrentController()
sce = bge.logic.getCurrentScene()

own = cont.owner
refillObj = sce.objects['Refill']

refillObj['Text'] = str( int(refillObj['Text']) - (80- int(own['Text']) ) )

It would appear that you may be trying to jump ahead of yourself. I'd recommend you spend an hour or so going over a python introduction tutorial to get more familiar with basic python concepts first. The official python tutorial can be a good start, even if you only go over parts 3 to 6.

Um, i've tried to do what you said but it still didn't work. This code is for an ammunition algorithm. I posted my code in the question above. What did i do wrong?

Okay, Thanks. :D My only problem was trying to call the object properties, because i could get exactly what i wanted with normal properties, just the text properties were being a pain. Thanks!


text:
Timeline Matrix (Theoretical Animating)
I haven't been active for a while, but something has come up that I am really intrigued about.
Would it be possible, to have two animation sequences for one mesh rig, and then use python to animate "shape keys" between those two animation sequences?
For example, if I had a walking animation for a character, and a running animation for the same character, could I use python to create an animation sequence which is somewhere between the two already created, like having a shape-key between two key-frames?
I'm not sure how else to explain this, and it may not be possible, but if it is, some ideas would be highly appreciated.
EDIT: If this can be done, it will then be possible to animate a smooth transition between any two points of an animation (such as a walk cycle) in real time. For example, it will then be possible to create a smooth transition within a game between a characters standing walk cycle and their crouching walk cycle.


text:
Is there an efficient way to scale UVs on many objects at once?
I've got a single texture that a couple dozen mesh objects are mapped to different bits of. I'd like to say, double the height of the texture so I have room to add some more things, which would require scaling the UVs on all these objects by 0.5y from the top. Is there some straightforward way to manage this automatically?
I don't want to just add an extra texture for what I'm doing since it's a relativly minor detail, and since I'm exporting this for a game I don't want the extra draw calls and two .dds files that that would involve.

Well, I puttered around in the python console and bashed this script together:
import bpy
for mesh in bpy.data.meshes:
    changed = 0
    usedverts = set()
    for face in mesh.polygons:
        for layer, texmap in enumerate(mesh.uv_textures):
            tex = texmap.data[face.index]
            if tex.image and tex.image.name == 'construction-facemelt.tga':
                for v in face.loop_indices:
                    if v not in usedverts:
                        uv = mesh.uv_layers[layer].data[v].uv
                        uv.y = uv.y / 2.0 + 0.5
                        changed += 1
                        usedverts.add(v)

    if changed > 0:
        print("Updated", changed, "UVs on", mesh.name)

I mostly put this together via console introspection and guesswork, so, there might be a lot of ways to do it better; I still barely understand the python blender api. But it works, and the bits to customize to make it work for another situation should be self-evident...


text:
Re-linking mesh data while adjusting object transform to undo minor edit-mode tweaks
Let's say I have a set of meshes that I duplicated with Shift-D and then distributed around the scene. And then for some reason I accidentally manipulated some of them in edit mode rather than object mode.
I then decide I'd like to go back and relink the object data and woogh, I have to figure out how the heck to match a new object transform to where the old mesh was.
Considering that the mesh still has 99%+ of it's bounding box / median point / vertex distribution type stuff in the same shape, if not the same place, is there any means, method, script, or other facility to compare these and correct the receiving object's object-space parameters to apply the other mesh to it but remain in the same physical space?

Update ~
So, I ended up solving my original problems, which were all translation based, by setting all of the object's origins to geometry / center of mass with CtrlAltShiftC, and then doing the dirty CtrlL business.
I'm still curious if it's feasable to fix rotations, given that the objects all have basically identical meshes. Say, I have this case, where the objects were shift-D duplicated and then for some reason had their rotation applied. Say, in this example:

Relinking the objects to one mesh does this:

It seems like it should be possible to automatically recreate the rotations during relinking, given that the meshes and centers are identical, but I wouldn't even know where to begin with doing that.
(Also, if anyone's wondering what they're looking at, that's what happens when I give myself 60 seconds to make 'something vaguely like a spanner')

When you moved the meshes in the first place, were you in object mode, or edit mode?

I'm pretty sure linking object data (ctrl-L + Object Data) doesn't affect the object transforms. So I wonder if the mesh data relative to its origin is different for each object.. What happens if you hit Transform->Object->Origin to Geometry for each object, before linking their mesh data?

Just select all, then search 'set origin'. Select origin to geometry. it puts all of the origins back to the center of the objects.

Remove the update and add it as an answer.


text:
Morph targets and armature animations to UE4
I'm trying to import a character mesh from Blender that has both an armature rig with keyframe animations and also morph targets with shape keys. Is there a way to export/import so that both of the animation types work? The armature is applied to the whole mesh and the morph target is applied to the face. When I export from Blender as FBX 6.1 ASCII the morph target works but the rigged animation doesn't, and when I export as FBX 7.4 binary the morph target isn't there but the animation works. No matter what options I select during export/import I can't seem to get both working. I've tried unchecking the 'Apply Modifiers' checkbox during export which is what a lot of other posts suggest.
Any other suggestions on what might be the issue here? I noticed there was another very similar post here that hasn't been answered:
Right settings for exporting FBX with Rigify and morph targets to Unreal Engine 4
Thanks in advance
LB

So, I've been playing with this today, and discovered something very odd. Skeletal meshes imported from Blender with (apply modifiers off), do not seem to import to UE4. However, if, after it's done importing, you right-click on the skeletal mesh asset and select "Reimport", it will bring in the morph targets on reimport, even if the original file is unchanged.


text:
How to make water tight surface for 3D printing
I´m quite new to Blender and wanted to try out 3D printing. Now I´ve created a form and wanted to add wall thickness. I have already diagnosed it with Netfabb and apart from the fact that it´s not closed it is alright.
My problem now is that I have applied the "Solidify" modifier and it creates a lot of overlapping faces instead of giving it a water tight, printable surface. What am I doing wrong? Here is a image before using any modifiers:

And here with some of the overlapping, messy faces at the back after using solidify:

Is there any way of not modeling the whole interior side manualy?

The thickness you're using for Solidify modifier is 2, that means two blender units, and you're not using clamp, the screenshot's don't show the scale you're using, but just to give you a hint, if you're using meters for instance, you're using 2 meters for thickness.
You can use Offset to change the direction of extruding faces using this modifier, but to be honest, looking at the mesh, I don't believe it's possible to get good result using Solidify, since this will be applied to the whole mesh, so you have to reduce the thickness not to exceed the closest faces to each other, the bolts like faces are too close to each others compared to the scale of the whole mesh.
The best method is to copy the object, make the copy smaller, decimate the mesh to a simpler version, this might need some manual tweaking to make sure no internal faces or overlapping is taking place, then position it in place inside the original mesh, and weld the two meshes together using Ctrl + J

In Blender 2.90 there is one plugin that make this task. To activate follow this steps:

Menu -> Edit -> Preferences...
Click in Add-ons
Search for "3d-print toolbox" and install "Mesh: 3D-Print Toolbox"

Back to your model and click in this arrow to open side bar

Click in this tab and make your model manifold to correct for 3D printing.


text:
Viewport is rendering banded shading, but only in the Layout tab
This is how my viewport looks in the "Layout" tab:

Strangely, it looks fine in every other tab. This is from the "Modeling" tab:

This is only happening with this file; new files render as expected.
This happens with every scene in this file (including brand new scenes).

The closest thing I could find online was something about viewport rendering being "paused," but I couldn't figure out where I could find that setting. I suspect it's something quite simple, but I'm pretty new to the program.
Thanks in advance for your time and help :)

EDIT: I have no idea what caused this issue, but I managed to resolve it by deleting my "Layout" tab, then creating a new "Layout" tab with the "Add Workspace" button. Everything seems to be working as expected again.

Yeah, that's weird. I downloaded the file, and it's happening on my end too, so you can rule out GPU/Driver issues and anything to do with a broken blender install. I can't figure out how to get rid of it, though. It looks like z-fighting, or massive shading artifacts, but it even happens to new created primitives so it can't be that. Very strange.. I'll keep looking, but I dunno....

@ChristopherBennett Well, at least I'm not crazy. I have a fresh file open on another window and I'm comparing every setting I can find to this wonky file, but I haven't found the culprit yet.
Thanks for your help. If it comes to it, I'll just make a new file and import all my objects from this file, but I'd really like to figure out what's causing this in case it happens again.

If you want to see something stranger - turn on face orientation. Recalculating normals does nothing to fix it. I think you created an impossible object.

@ChristopherBennett Haha. I can't test that anymore because I sorta fixed it. Since it was only doing this in the Layout tab, I just deleted that tab and added a new Layout tab with the Add Workspace button, and that appears to have fixed everything. I have no idea what caused this to happen in the first place, but I suppose this a reasonable solution.

Glad you got it fixed. That's one of the weirdest things I've ever seen in all my time using blender. Here's the face orientation if you're curious (although you only get the "full effect" when you're moving around it) - https://ibb.co/Twv09dc

Ah! Yes, I did see that when I was initially trying to resolve the issue, but I was already thoroughly baffled by that point haha. Thanks for your help!

This is caused by extreme values in the Clip Start/End, possibly due to some sort of floating point error.

At the current value, 0.00001 m you can see the weirdness you described:

But if you increase the "Clip Start" to something like 1 m, the problem goes away:

Or just increase it [clip start] to the default 0.01 m - that's why recreating the Layout tab fixes the problem.

I'm still not sure exactly what caused this, but I managed to resolve it by deleting my "Layout" tab, then creating a new "Layout" tab with the "Add Workspace" button. Everything seems to be working as expected again.

I'm not sure about what's happening, but turning off "cavity" from the viewport setting could fix the view. When I render it out on both EEVEE and cycles, it doesn't seem glitching.

(Make sure it's turned off)

Thanks for taking the time to investigate! With Cavity unchecked and Backface Culling checked, that appears to fix the issue, but something's clearly still going on because those settings are both unchecked by default.