text:
Procedural Textures with a Gradient and Constant Colors
I am trying to create a procedural material with the musgrave node that is very dense (black) on the bottom of my plane and then fades into white. However, using the gradient node I can only create a soft fade where there are greys in between or this harsh line as seen in the picture. Ideally, I am looking at a constant black and white colors only that the density of my texture fades out.
Please let me know if you have any suggestions
x T

It looks like you almost figured it out, your bottom-most Color Ramp controls the amount of white nicely:

The problem is, the plane is still not filled with white when the white slider moves all the way to the left. This is because a Color Ramp expects an input in range $0…1$, so anything below $0$ is clamped to (becomes) $0$, and everything above $1$ is clamped to $1$. Meanwhile, some Heights are below $0$…
The general solution is to find out what's the minimum possible value that can go to the color ramp, what's the maximum possible value, and use a Map Range node to normalize that range (convert to $0…1$):

The GIF size limit forces grotesque inaccuracy but the idea is you can also increase the scale and play with the parameters that are expected to change to discover what are the minima and maxima (you could read the documentation instead, but don't trust the docs too much…). And more importantly, you can often add some safety margin and increase/decrease the maximum/minimum some more.
However, in your case you're not going to animate the movement of Color Ramp slider, so you would need to alter the input to the Color Ramp. and with that, you don't need to map range:

But in this case, the Color Ramp is not needed:

Gradient across $y$ axis
To modify the threshold based on $y$ axis instead of $t$ axis… Simply plug the $y$ coordinate instead of time. I added an additional Math: Multiply Add node to further offset the gradient to your liking (add) and control the height of the gradient (multiply):

Hi Markus,
Thank you for this detailed and easy-to-follow answer!
This comes in very handy, however I wanted to create the gradient within the tile, so for example along the y axis, instead of creating the gradient over time. Sorry if I explained that a bit vaguely

@tskn see edit.

Hi Markus,
Perfect, thanks so much for this! Having a hard time grasping the math nodes so I really appreciate this.
have a great day

@tskn think of it this way: the texture takes Vector as input, which by default (when you don't connect anything) is Generated. Then based on $xy$ (you can ignore $z$ in this case and treat it like 2D texture) it tells you what is the height of the mathematical surface (like if you asked google maps what's the height above sea level at this longitude and this latitude). "Greater Than" displays all peaks (above $0.75$ height) as white color. "Add" moves the surface up. Adding $y$ makes the upper part higher (so much so that at some point everything is the "peak")


text:
Blender freezes often on Alienware M15R4 laptop
I just do some simple coding on text editor. When I tried to save the file, Blender freezes a lot. I am using Alienware M15R4, with some voltage setting as shown in the screenshot. Does it affect the performance of Blender?

Are you working on a server or locally ?

Locally...@Gorgious

source: Stack Exchange

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

sort: votes


text:
Why Blender Mesh becomes messy when imported into Salome
I have created simple geometry in Blender-two concentric curved cylinders. In the edit mode, it looks okay. But when I import the STL file in Salome, a preprocessing software, the mesh become triangular and more dense. Why is this case? Anyone knows?Thanks.

Hello, some (most ?) 3D softwares don't support polygons with more than 3 vertices. Your mesh was automatically converted to all triangles because it had a certain number of N-Gons

so how can i avoid this? thanks.

You won't prevent the quads turning into 2 triangles, but you can tidy up the cap by using quad topology there

@Gorgious I have been able to do what you say. But still have some little problem as shown in my answer area. Please take a look. Thanks.

I have changed the cap fill type of the cylinder to be triangle fan. It looks nicer. But the imported STL file in Salome still has some weird small redundant edges...

After I have cleaned up the mesh by merging by distance. Then the final geometry looks nice in Salome:

Are tou talking about the white grid pattern ? You may have double geometry there, check in edit mode if you have double vertices on the same place

You have reminded me! In edit mode, I have cleaned up the mesh by merging by distance. Then the final geometry looks nice in Salome. Thank you so much!

Glad it all worked out :)

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


text:
how I can make the mesh invisible and keep the fire?

how I can make the mesh invisible and keep the fire ?

if rocket + fire are one unique object you can separate the fire from the rocket: go in Edit mode, select the fire with the L key, press P to Separate. Now the fire is an object by itself. You can hide the rocket with H. Does it answer?

thank you for helping plz check my last replay

If your mesh is one piece, and you don't want to work destructively,just go in the edit mode and select the unrequired vertices and hit H on keyboard to hide it
You can unhide it by alt+H
If your mesh in seperate,just click on eye button in the outlined
If you want your mesh to be seperate,select the unrequired vertices and press P to seperate it as other mesh

As you shown in the suggestion,you have to click on the eye button of second mesh,also in order to hide something in render, click on the funnel icon at top of the outliner and click on the camera,this will enable another option in front of eye button which is used to toggle render visibility


text:
Negative weight paint on a skeleton?

Hi,
I have a skeleton's strange distortion on my character's knee.
How I can apply "Negative Weight Paint" to limit this strange hole between my character's knee and calf ? Weight Paint is already set to the minimum.
Thanks a lot for your support guys

You can't give negative value. Here the issue is due to the bone placement the kneecap in inside the thigh

thanks for your support !!!!!!!!!


text:
How can I render an animation where we can see through a mesh similar to 'in front'?
Basically, I've created an animation of an apple tree growing. During part of the animation I want to be able to see the roots growing under the 'ground' mesh in my scene. The effect should look similar to the 'in front' property in Viewport Display. Is there a simple way to achieve this? Thank you in advance.

Kind of depends on the setup but you could animate the camera clipping property for a quick and dirty solution.

Doesn't necessarily help with the ground being transparent, but make sure your camera is Orthographic to get that flat head-on perspective.

You could do this on the ground with a node setup in the shader editor, using coordinates, masking and alpha channels, hope that helped out.

Thanks for all the ideas. The alpha channel tip led me in the right direction. I will study/try out all the methods mentioned so I have more tools to use in future projects.

Here is one way you can do this.

First, set the camera type to Orthographic and make sure the X Rotation = 90 so that it is looking straight forward. You can play with the Orthographic Scale to zoom in and out.

Second, add a Geometry Node to your ground shader and connect that to a Separate XYZ node. Take the Y from the node and connect it to the Alpha of your shader.
You can plug the output to the first input of a Math node set to add to move where the cut-off happens by changing the second value.

Hope that helps!

Awesome. I'll try this also, but for now a semitransparent ground using a simple Transparent BSDF and adjusting the fac on the Mix Shader did the trick. I'm sorry for not being clear in my question. The visibility of the roots should be present no matter the angle of the camera.


text:
How can I join/fuse/weld the corners using geometry nodes?
So, I've added a tetrahedron using the Math Function>Regular Solids Mesh option. Then using some simple Geometry Nodes I made the wrieframe into tubes. Now I'd like to connect and seal the ends together so that the whole thing is manifold and without overlapping geometry. Is there a way to do this in Geometry Nodes? Or is there a better method? I thought of trying to do it manually but that seems tedious and I figured there must be a better way.

Here is the example .blend file

Unfortunately there is no in-house vanilla way to do this in geonodes. I haven't seen anyone implement this. Remesh seems like the most obvious workaround, and last time I tried, the skin modifier would crash Blender when tried on top of geonodes. Working under some limit, e.g. there's only 3 joined lines, the algorithm maybe wouldn't be all that hard, but I've approached the problem a few times without such constraints and the issues quickly pile up…

Thanks for the ingo @MarkusvonBroady, the simple tetrahedron is just practice. I intend to work on some more complex shapes later after I got the hang of the method. I'll keep toying with it and see what workaround I can figure out.


text:
Can't sculpt on this model's arm. Can Somebody help me?
I am making a Pikachu model in blender. I need to use the grab tool and other tools in the sculpt menu. But the arms are (for some unexplainable reason) unable to be sculpt. I don't know if it is because of the modifiers I put on them (skin, subsurface, and mirror) but I need help. Can somebody help me? If you need more details just let me know.
the picture below:(there should be a little dot at the center of the circle. I am not pressing left click. and I think it means it's unable to be sculpted but why?)

You're trying to sculpt an edge (that has Skin + Subdivision Surface + Mirror modifiers), I doubt you can sculpt a simple edge, you need to apply some of its modifiers.

thx man! its been bugging me for a bit. have a great day :)


text:
How to stop a mesh from passing past the mirror point and merge with the part added by the mirror
I am using a mirror to merge the mesh with its mirror created counterpart but it simply passes through the mirror and overlaps with it instead. Is there a way to automatically merge them in the centre like shown in the 2nd image or is the only way to apply the mirror and manually find the centre, cut it vertically and remove the excess
Here is an image of the mesh after applying the mirror modifier:

Here is an image of the manually merged mesh:

Just check in the "Clipping" on the Mirror Modifier. If you already have overlapping verts, first move the whole mesh away from the mirror axis, then enable the clipping and move back to the original position.

I've tried that but when I enable "Clipping" and extrude them towards the mirror axis it warps the mesh by pushing the vertices upwards. Example: https://i.gyazo.com/2d81d425c10a57362c405c39fe73625c.png

constrain the vertices on the "x" axis by typing the "x" key while moving them

If you apply the mirror modifier as seen in the picture below, it will clip the mesh and auto merge it

It's specifically about these 2 values.

Thanks that worked, now I can use the mirror modifier without having to worry if cleaning up the mess created by using it will take more time than just doing it manually without using it.


text:
Is there a way to assign materials based on a color map in blender?
I am trying to add Snow stuck to the bottom of a pillar and have created a procedural snow effect using substance designer, but I'd like to have the ability to set the pillar material using blender as opposed to adding one using substance designer as well ass add subsurface scattering to the snow which is easier using Blender, Is there a way to assign either different materials based on the colour map or use it as a mask to combine different materials. I know I could use Substance Painter to assign materials based on colour but as I mentioned I prefer using blender for subsurface scattering and would also like to avoid having to use multiple programs for everything if I could, by doing this in Blender I'd only need to use Blender and maybe load up Substance Designer to generate a few other once using different seeds so as to avoid too much repetition but when using only one I don't even need to load that up.

You may be able to use mix shader nodes
I achieved this result;

Using this node setup;

And these black and white textures (painted in blender, directly on the object);

.blend file here;

Effectively, what this does is uses the black (0) and white (1) or gray (some decimal value in between) as a factor for a mix shader. This mixing can be added to as many times as you like with this setup.


text:
How to duplicate an object along an edge without warping or rotating it
I am trying to find a way to duplicate an object along an edge but the 3 different methods I can find either rotate the object; warp the object or give limited control. Here are images and descriptions of the tried methods as well as a manually made final result:
The first method I tried was to convert the edge to a curve and then use an array modifier and a curve modifier on the object to get it to array along the curve. The problem with this method is that It warps the object along the curve, see image below.

The second method I tried was to instance the object to a plane and array the plane along the curve, this way the plane got warped but the object would remain intact. The problem with this method is I want the objects to all to be rotated the same direction but when using this method it rotates the objects in the corners, see image below.

The third and final method I found was to instance the object along the vertices, while this neither rotates or warps the object, it gives me very little control over spacing and forces me to add an object on every corner or existing vertices on the edge. The amount of work to make sure there is even spacing between all the vertices and getting them placed where I want them would be just as much work if not more so than just manually duplicating and placing the objects, see image below.

Is there some way I can get my object to be duplicated along an edge that neither rotates or warps my object. For an example of intended result see image below.

Have you tried particle instances?

Yup, second method+particle system

Related https://blender.stackexchange.com/questions/125095/array-along-the-curve-keeping-rotation-and-equal-steps-along-an-axis/125101#125101

Instead of arraying a plane along the curve, try arraying a simple vertex. Tweak the constant offset in the array modifier to get the desired offset.

Then create the object you want to instance. Set its parent to the "Arrayed vertices" object. Go to the parent object and in the object properties. Set the instancing to "Verts".

Don't forget to add a high enough resolution in the curve properties or else there may be unwanted interpolation.

Awesome. Better than particles for interactive visual feedback here, easier to work with. Congrats. Probably good to mention the Curve Resolution, they slides here too.

This works and is really convenient to work with, I would like to add that while increasing the curve resolution reduces how far off the path it still does slightly stray from the path, however, if you set the resolution to 1 it perfectly follows the curve. For example see: https://imgur.com/a/jBCMoTP

I noticed the opposite ! Anyways, glad it helped

While trying to replicate why it snapped to the corner better with the resolution at 1 I noticed it only works under specific circumstances. For an example of a curve where it's beneficial to use a resolution of 1 and an example of when it's not, see images: https://imgur.com/a/JRsntGS

Particle system from single vertex
Particles Rendered as Object
Curve with Physics Properties > Force Field > Curve Guide

Distance can be adjusted by number of particles

Edit Note: increace Curve resolution in Data Properties > Shape > Resolution Preview U to max (64) to avoid sliding in corners

Or use Instances from Vertices seems to me as ideal solution for its even distribution. For more flexibility use Subdivision Surface modifier.

You can considerably improve (but no totally fix) corner accuracy by increasing curve object resolution (even if it has no visual effect)

Yes, particles now goes cross corner. Thanks :)


text:
Reduce subdivision quality in viewport on multiple objects at once
I increased the viewport quality on my subdivision but forgot to reduce it after finishing the model and have since duplicated the model like 60 times, is there a way to turn down the viewport quality on all of them at once since it happened on two separate models and I'd rather not go through 120+ objects reducing the quality manually but blender is starting to lag from the massive amounts of geometry it's having to render in real-time.

Select all and use Ctrl + the wanted amount (the numeric keys from the keybord main part).

Thanks, That Worked

One way is to use the Simplify function.
You can set Max Subdivision for Viewport or Render in your whole scene.
Render Tab > Simplify > Viewport

Use CTRL-L. I read it in another post, but can't paste the link because it will says I can only write it as a comment, and I don't have comment access yetm


text:
Is there a way to tell my particle system what collection to use based on what color the color ramp is using?
I am using the object info nodes random output into a colour ramp to decide the colour of my icing

Is there a way to assign what collection my particle system for the sprinkles uses so that I can set specific collections of sprinkles for every colour.
So if the icing is brown it uses sprinkle collection 1; if it's pink it uses collection 2; if it's blue it uses collection 3 etc.

I'd suggest to do it the other way around: Having diffrently colored objects in a collection and instancing them via the particle system.
In the render tab of the particle system choose reender as collection.
Option 1: pick random. (even distribution)
Option 2 if you want more controll how often the objects are instanced in relation to each other you can use the "count" feature.
(Option 3 for even more controll use the AddOn Animation Nodes)

Update 1:
This intent you have is a advanced procedural workflow. I think its fun to work like that but it needs a bit of trickery often. As far as I know Blender has no native functionality like that, because this is very specific also, and blender is not a fully procedural tool.
The AddOn Animation Nodes is a gamechanger in terms of making the python interface more acessible and easier to handle.
Here is a barebone example in AN (Animation Nodes) that changes instancing collections in the particle system. The boolean value (See A) would get your logic as input that does the color allocation or gets the color from the material and sets the corresponting partile collection.

Going this far with animation nodes, maby it is simple to use it also for color allocation. At the moment you do it with ObjectInfo.random wich gives you no controll. If you have multiple Color-Sets you could smoothen the workflow with Custom Object Propertys that AN interprets an does the rest.
Then the only thing you would have to do would be to duplicate the object and change its custom property.

I'm already rendering as a collection for the sprinkles it's just that I'm trying to change what collection it's using based on the colour of the icing as I have multiple collections of sprinkles and don't want certain collections of sprinkles used in combinations with certain colours of icing. I'm trying to make it so I can duplicate my doughnut and have it assign a colour for the icing and use the appropriate sprinkles for that colour. https://i.gyazo.com/57ee8183bb0716786ddd305d6a611f79.png

updated answer following your comment


text:
Problem with particle object with changing colors depending on location or age, but particle generator doesn't change
I'm trying to use the color ramp to change the particle colors over time, but i realize that even if the object I assigned as a particle changes its color the particle has a fixed gradient that is not dependant on the material of this particle I used.
Video: https://i.imgur.com/6QsxFmd.mp4
Here are all the node combinations I tried to use

And i also tried the nodes suggested on these answers: How do I get particles to change color over time?
I really don't know what I'm doing wrong, I've to test it with a mix node combining an emission node and a transparency node to see if it works but the particle system appears to be semi independent from the particle object material.
Here's my blender file, but it's basically what I show here:
https://drive.google.com/open?id=1tm7p1jWl4y5eQ-CQa0_qdG7eircHN4uY

What you are trying to achieve is particles get a darker shade of blue and more transparent the older they get ?

I want the particles to get another shade of color with time or distance traveled and on top of that I want them to ease out slowly become transparent. Particles dissapear abruptly instead of slowly fading and that makes that trail effect I'm trying to create really blocky. Is it possible to get both effects? In any case, I can't even apply a radient to my trail of particles effectively...


text:
How to get a wireframe to have a "flat" edge instead of a "sharp" one?
The title is confusing.
I have a wireframe I made

This wireframe has "sharp" edges

This is what I mean by "flat" edges. How do I achieve this?

This could be a 1-segment Bevel, with original faces removed. This example makes the generation a little more procedural, using modifiers:

Polyhedron
Bevel: All: 1 segment, with material index set to 1
A little GN modifier, deleting all faces with material index 0
Solidify
Another Bevel: By Angle: to hold shading, and Shade Smooth

Edit: (response to commentary)
Materials are assigned per-face; an object can have more than one material. The materials-per-object are held in a list. The Material Index is into that list.

The Bevel modifier doesn't offer to output a vertex-group 'generated vertices' or suchlike, but does offer to give a 'Material Index' to the generated faces. I've used that as a get-around. (Bottom of above illustration.)
A small Geometry Nodes modifier can delete faces, explicitly  selecting by Material Index == 0:

The rest of the modifier stack is unexceptional: a Solidify, and further Bevel on the resulting 3D sharply angled edges, to prevent mushy interpolation of vertex-normals across those by smooth shading, while allowing the interpolation between faces meeting at shallower angles.

Thanks for the reply! I am new to Blender, so I had to open your file to figure some stuff out. I still need some help though. My questions:

What is a material index? I think it's used for classifying different "layers".
I took a look at the node and while I can make some sense of it, I don't understand much of it.
It would be great if you could explain it to me.
Thanks.

@SlightyBurntPorkChop .. hope the edit helps .. call back if not :) You should be able to apply the whole effect to new meshes by 1: Ctrl-L > Link Materials 2: Ctrl-L > Copy Modifiers 3: Object > Shade Smooth.

Thanks for clearing some things up. I understand that I need to seperate the new beveled faces in order to delete them with a geometry node. One last question, I'm not entirely sure why beveling after the solidify is necessary. I don't understand your explanation. Thank you.

@SlightyBurntPorkChop  https://imgur.com/a/goxvbLW takes a shot  at explaining why you would want a second bevel to make smooth-shading look better.

Alr, I'll take a look at it.


text:
How to make rope wrapping around spheres?
I am looking to make tiki lamps like this:

but I don't know how to make rope that wraps around a sphere. Can anyone tell me if there is a tutorial on how I can make rope wrap like this?

Here's one way you could do it (or at least get a good starting base mesh).
Start by adding a UV sphere, but make sure to reduce the number of segments and rings by half before you do anything else.

From here, add a Decimate modifier, set to "un-subdivide", with 1 iterations. This will make the base of the "webbing".

From here, add 2 more modifiers. First, add a wireframe modifier - this will give it some thickness. I increased the thickness from 0.02 to 0.04 because I thought it looks more like rope - adjust to your taste. Next, add a bevel modifier. The reason for the bevel is that I plan to add a Subdivision Surface Modifier in the next step, and the bevel modifier makes it keep it's shape properly.

Next, add the Subdivision Surface Modifier to the (already existing) stack of modifiers. This is also a time to add a new UV sphere (in object mode) in the same spot as you added the first sphere. This will act as your "light ball". Make sure to subdivide and smooth shade the UV sphere appropriately so it looks like a proper sphere.

I gave the light some color (just to see it better), and then applied all the modifiers to the "rope" object from top to bottom on the list. From here, select the rope object, enter edit mode and select a vertex at the very top. Press O to turn on Proportional Editing, and select "sharp" from the edit list.

Now, grab the vertex (G) and move it up along the z-axis. Use the mouse wheel to control the size of the edit circle until the shape looks right. Use your light "ball" as a size reference.

Last, all there is to do is give your rope a texture - I used a simple procedural one made out of noise, but you can use whatever you want.

Then just give a better shader to your light and adjust your world lighting (also to taste). Final result looks something like this:

Obviously you can play with the values at any point to further customize it to your liking. I hope this just gives a good base starting idea you can use.

This is a great answer, I just wanted to drop in this link which shows a method for an arbitrary mesh.
https://youtu.be/FQiJvDzqsTE?t=616

@AllenSimpson That's a trick I hadn't seen before, worth an answer, IMO.. I wonder why it consistently makes quads by eliminating the right edges? I guess it must preserve  the longest..

is there a handy way to get a point-cloud for all the rope intersections from the hanging model, and use that to link a set of rope knotts?


text:
Optimal way to fill terrain between roads
TL;DR: Need to fill inside and around the roads with mountains and landscape, using a single mesh, don't know how to do that most efficiently.
I've made a road around an A.N.T. Landscape generated mountain with array and curve modifiers, applied them, got the road.
Now it looks like this:

Is there a way to add inside and outside of the roads some landscape mesh without having to do everything manually?
Every way I try, there is something that seems to be an unsolvable problem:

I could cut out the place for the road from the landscape with the Knife Project tool. problem: I don't know how to actually merge vertices from the road and the terrain next to it, without having to merge them all one by one.
I could fill the in-between parts with faces somehow (which I've done in a rather disgusting fashion):

I could shrinkwrap the inside part on the landscape mesh, but problem 1: I haven't found a way to apply shrinkwrap modifier to only a certain part of a mesh, and I do not want to shrinkwrap the road.

I could just create a landscape out of the green parts with sculpting but problem 2: I don't know how to apply sculpting only to a certain part of the mesh, so sculpting will deform the roads as well, which I can't have.

In the end, it doesn't matter how it gets done, I just need roads and landscapes in the same mesh, with both having appropriate topology. If there is any other technique and I'm way off, please let me know.
I need to achieve something like this:

You can try to extrude the road and boolean cut the landscape.

You could:
Create your road with Array and Curve modifiers:

Extrude the outer and inner borders of the road and AltS to scale. Fill the inner face, create a plane all around:

Make the road invisible with H

Create a second object, a plane that you subdivide and that you put over your road, delete the faces only:

Go in the top orthographic view, select the grid, shift select the road, use the Knife Project tool to print the grid on the road object. Unhide the road vertices, here is what you should get:

Now you can shrinkrap the object to another surface. If you don't want the road to shrinkwrap, create a vertex group that you exclude from the Shrinkwrap modifier. You can also sculpt the object, if you want to keep the road flat, hide it before switching to Sculpt mode.
Edit:
How to make the square plane around the road: Extrude the vertex, F to fill between two vertices, F to fill the whole face:

Thank you but it seems like I'm more of a noob with Blender than what you've expected. I didn't understand:
1.: How you have extruded from the road towards the sides after applying array and curve modifiers, and 2.: How did you create a plane all around the road, and even the filling might be a bit hard in my case since my roads are very wriggly, so the filling N-gons glitch out very badly.
However, I've found the "vertex group" selection box in the Shrinkwrap modifier.
IMPORTANT: When someone puts vertices in a group, make sure that the assigned weight is not 0

For anyone looking for an answer: after creating the roads with curves, BEFORE applying the modifiers I've created vertex groups from the road segment.
After applying the modifiers, I've filled out one way or another the parts between the roads. After that, select the "inner line" vertexgroup, and in edit mode click "Select", and "select less", that way you have the vertices not touching the road all selected. Create a vertex group from those, with a weight of more than 0, the more it is the stronger the shrinkwrap modifier will be. Apply this vertex group to the shrinkwrap.

I've edited, I hope it answers your first question?

Yes, thank you, I didn't realize you could select multiple vertices simultaneously, that's brilliant. I've also successfully knife-projected a grid on it, low it's already shrinkwrapped to the original terrain, will have to adjust it in sculpting mode later, but that's acceptable.
My last remaining question would be this one: I see that in the beginning your road consists of 2 faces per row, but later it's 4 faces per row. How did you make that happen? I would think it was via extrude, but I can't replicate it. It also doesn't look like you've done it before applying the modifiers.

I've done it after applying the modifiers, select the edge loop, extrude and Alt S to shrink/fatten, instead of a simple scale (S)

and to select between 2 vertices like in the video, it's Select Shortest Path

I think that doesn't quite work with the shape of my road, but it's not even important. All my essential questions has been answered, many thanks


text:
How to automate replacing textures in Blender via Python?
I tried finding tutorials on how to do this, but can't seem to find one. If you know of one, could you please point me in the right direction please? Or even an add-on.
I am trying to learn how to automate a very repetitive task of swapping textures to create different SKUs of a couch for example. So I need to replace the wood and fabric textures of this model to generate 20+ SKUs that I can then batch render over night. At this current time, I am saving each blend file by hand after swapping each texture out by hand. Which takes up a lot of time, and is very very boring..
I've tried learning it from the blender console window, but every time I try to replace the textures it doesn't record any information for me to try and learn. Only when I save it out as a different SKU name.
Hopefully this all makes sense? I can try explaining further if need be as well!
Thank you!

https://blender.stackexchange.com/search?q=Script+change+texture

You can most likely automate this yourself, with very little knowledge of python. Simply open the Info panel and copy the functions you use to do it manually. Use those functions to loop through textures and change them automatically. You can write your script in the Text Editor and run it from there as well. Lots of tutorials on basics like this one and it will help you in the long run.


text:
Apply color management only to scene and not to background image? (Mix color management false color and filmic)
I am currently working on a video and I stumbled upon the color management section of the render properties. I really like the look of the "false color" view transform so I want to use it as I really like the vibrant colors.
At the moment I have my scene (foreground) and a background image attached to the camera (its a png of clouds i drew in photoshop).
This is the background image:

I want the scene to use the "false color" view transform and the background image attached to the camera use the normal filmic view transform.
Is this possible?
These are my compositing nodes so far. The top image is the background and the one on the bottom is the "scene" with the flowers and grass. In the small preview windows you can see that currently both are using the "false color" view transform.

These are the color management view transforms I use:

I only want those to be applied to the foreground and not to the background image so that the final render will look like this:

Is this possible? Can I somehow mix two types of color management styles/ apply color management only to a scene and not the attached background?

Hmm. Since the color management at hand is in the render properties, not likely that is separable there. If you can find a similar color management equivalent for the layers/compositor, you’re good to go.

The problem with view transforms is that they make it impossible to determine what the final colors will be, whereas if you use Standard view transform, the colors you set are the colors you will get

I can see the problem. I might try what Robin Betts proposed. It looks like a good workaround plus more controllable.
However I wonder if its possible because in my render view I got both images rendered separately. Background and Foreground seem to be blended afterwards. Maybe a Photoshop script that adds the fixed background to every single frame would be an extremely tedious workaround but possible. Obviously I'd prefer a solution inside of blender.

False Color converts image intensity to hue.
How about giving your objects a home-made 'False Color' material?

(EEVEE render only)

Thanks for your suggestion I will definitely try that. What I liked about the false color view transform is that it changes with the lighting which produces more complex patterns.
But thats a good solution if all else fails.

Hi @softcake! This changes with lighting, too. That's the point :)

Yes I literally just realized that lying in bed thinking about the project and solutions... Had to get up again to answer your reply again.
Thanks so much for the solution!


text:
How to make a Bool interact with a specific item from an Enum?
I have an Enum which controls the visibility of different collections and certain bools. If I select a different item from the list then different bools appear.
So one of those Bools controls the visibility of a mask modifier of a cylinder object. I want though the mask modifier to be deactivated from viewport if I choose a different item from my enum property.
I tried something like bpy.data.objects["Cylinder"].modifiers["Mask_top"].show_viewport = (self.show_cube) + int(self.show_skin == 1) but it doesn't work. The code maybe can explain it more clearly:
import math
import json
import collections
import traceback
from math import pi
from bpy.props import StringProperty
from mathutils import Euler, Matrix, Quaternion, Vector
from rna_prop_ui import rna_idprop_quote_path

rig_id = "Character"

#### CUSTOM PROPERTIES ####

#### SKIN LIST #####

character_skin_list = [('skin1','Skin 1',''),
                         ('skin2','Skin 2',''),
                         ('skin3','Skin 3','')
                        ]

def skin_show_update(self, context):

    for skin1 in character_skin_list:
        bpy.data.collections[skin1[0]].hide_viewport = not self.show_skin == skin1[0]

    return

bpy.types.Armature.show_skin = bpy.props.EnumProperty(items = character_skin_list,
                                                        name = "Skin",
                                                        description = "Select skin",
                                                        update = skin_show_update)

#### CUBE ####

def cube_show_update(self, context):

    bpy.data.objects["Cube"].hide_viewport = not self.show_cube
    bpy.data.objects["Cube"].hide_render = not self.show_cube
    bpy.data.objects["Cylinder"].modifiers["Mask_top"].show_viewport = (self.show_cube) + int(self.show_skin == 1)  ### HERE IS MY PROBLEM ###

    return

bpy.types.Armature.show_cube = bpy.props.BoolProperty(default = True,
                                                            name = "Cube",
                                                            description = "Show cube",
                                                            update = cube_show_update)

#### CIRLCE ####

def circle_show_update(self, context):

    bpy.data.objects["Circle"].hide_viewport = not self.show_circle
    bpy.data.objects["Circle"].hide_render = not self.show_circle

    return

bpy.types.Armature.show_circle = bpy.props.BoolProperty(default = True,
                                                            name = "Circle",
                                                            description = "Show circle",
                                                            update = circle_show_update)

#### SPHERE ####

def sphere_show_update(self, context):

    bpy.data.objects["Sphere"].hide_viewport = not self.show_sphere
    bpy.data.objects["Sphere"].hide_render = not self.show_sphere

    return

bpy.types.Armature.show_sphere = bpy.props.BoolProperty(default = True,
                                                            name = "Sphere",
                                                            description = "Show sphere",
                                                            update = sphere_show_update)

#### TORUS ####

def torus_show_update(self, context):

    bpy.data.objects["Torus"].hide_viewport = not self.show_torus
    bpy.data.objects["Torus"].hide_render = not self.show_torus

    return

bpy.types.Armature.show_torus = bpy.props.BoolProperty(default = True,
                                                            name = "Torus",
                                                            description = "Show torus",
                                                            update = torus_show_update)

#### TOGGLES ####

class RigLayersProperties(bpy.types.Panel):
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_label = "Properties"
    bl_idname = "VIEW3D_PT_rig_layers_properties_" + rig_id
    bl_category = 'Item'

    @classmethod
    def poll(self, context):
        try:
            return (context.active_object.data.get("rig_id") == rig_id)
        except (AttributeError, KeyError, TypeError):
            return False

    def draw(self, context):
        data = context.active_object.data
        layout = self.layout
        col = layout.column()

        row = col.row()
        row.prop(data , 'show_skin', toggle=True)

        col.separator()

        if data.show_skin in ("skin1"):
            row = col.row()
            row.prop(data, 'show_cube', toggle=True)
            row = col.row()
            row.prop(data, 'show_circle', toggle=True)

        if data.show_skin in ("skin2"):
            row = col.row()
            row.prop(data, 'show_sphere', toggle=True)

        if data.show_skin in ("skin3"):
            row = col.row()
            row.prop(data, 'show_torus', toggle=True)

def register():
    bpy.utils.register_class(RigLayersProperties)
def unregister():
    bpy.utils.unregister_class(RigLayersProperties)
register()                                                                  ```

What exactly doesn't work ? It throws an error ? It doesn't do anything ? Also you can use special operators when you're doing operation with booleans. I think you want to use = self.show_skin or self.show_cube for instance. Note self.show_skin and self.show_skin == 1 is a tautology if self.show_skin is a boolean

@Gorgious it doesn't throw an errow. I'm only trying to make the modifier work only when both the bool and the skin1 are selected. If skin2 is selected from the list then the mask shoud be deactivated (even if the bool is still on, I mean. That's why I used "+").

Then you should use and, not or. Adding two bools is the same thing as checking if either of them is True, not if both of them are True.

@Gorgious ok my bad, but blender still doesn't do anything, and even more: the bool doesnt affect the modifier at all now. It's like it doesn't recognize that self.show_skin == 1 is skin1. The problem is with the Enum I think. It always gives me trouble. I can send my blend if you want.

oh my bad, show_skin isn't a boolean. However I think what you want is self.show_skin == "skin1". Enum properties access is done with a string identifier, not an index

It still does not interact with the enum :(( If I choose something else from the list the modifier is still on because the bool is still enabled :( . I used  self.show_cube and (self.show_skin == "skin1") . I can't access my enum properly it seems. The console doesn't give any error btw.


text:
Why is world light bleeding in EEVEE?
I have a pipe with an opening, no lights in the scene. Only world light. And it's bleeding inside the pipe (even if I cover it with a plane). Why?? Shouldn't it be black due to lack of lighting?

Unfortunately, due to the way global illumination must be "faked" in eevee, environment lighting is not obscured by objects (neither are reflections). The solution is to separate world background (if you plan to use it) from it's lighting influence, and provide the majority of your lighting with direct light sources - don't forget to enable contact shadows for the direct lights.

Damn... thank you.


text:
Multiple repeating regions on one texture?
I am wondering if I could texture the exterior of a simple house with just this texture:
Basically, I want the shingles texture to repeat on the roof, and I want the white wall part to repeat on the walls.  The door and window textures will be on the doors and windows.  Is there a way to do this?

Yes, just connect the output of the texture node coordinate 'uv' to a mod node, and then to an add node(all found in converter>vector math), with the mod vector set to the size of the window, and the add vector set to the position of the window, like such:

However, its probably better to just use a single texture for each, as it will be much easier, and if you want to export it you'll need to.
It is also possible to do this with only one material by specifying the offset with a second UV map.
You can do this by creating a second UV map, found under UV maps in the object data properties. Then,you can UV unwrap the faces for each part, and scale them to zero, making it a single point for all of those faces. You can then move this point to the start of the patterns in the image:

and connect the output of the second UV map to the offset, like such:

which allows for only one material.

Thank you, but is there a way to achieve this effect with just one material?

@TheHyperStar123 , It is, I updated my post.

That worked!  Thank you.

I will continue to experiment with this method of repeating textures and get it to look as good as possible.


text:
Randomized colors on texture tiles?
I am trying to make a skyscraper, and I want the windows to randomly be on or off.  In the image shown below, on the middle skyscraper, the windows are a repeating 2x2 texture, where three of the pixels are transparent and one is opaque.  This texture is mixed with the gradient texture below (a 4x4 Cubic texture), with the windows' opacity as the Fac.

I would like to randomize the color of each tile of the window texture, to make most windows yellow, and some black.  How would I go about doing this?

Hi :). Are your windows actual geometry, or just colored squares on a texture?

The windows are colored squares on a texture.  They're a 2x2 texture where 3 pixels are transparent and one is white.

Can you please, show us how your image texture and UV map looks like? I made a node setup that can help you but I need to see how the texture looks like and how it is mapped on your building. Or if you could share the blend file, it would be better.

Are you looking for something like this https://imgur.com/yXb1w6s https://imgur.com/kBMJLiN?

with this nodes setup:

you get this:

Oh that's very nice. Love the versatility :)

Thank you very much!


text:
Best approach for a random terrain rolling ball animation?
Simple question, just looking to be pointed in the right direction as I am somewhat new to things.
I'm creating an animation where a ball shaped robot (think BB8) has to roll around various terrains and scenes, in control.
I can model, texture, and keyframe just fine (though I am only just learning these things), but the best approach for the rolling ball is snagging my progress some. We will see the character close, so the contact with the ground and the rolling should be accurate as expected.
Simply keyframing the position and rotation seems impossible for this.
I know I can "draw" paths to follow, though this may not be practical in following the ground nicely, and there's the issue of making the ball roll.
I could  use physics to keep the ball grounded and have it roll, though there's the question of actually making it move where I want for the animation itself.
The terrain will be uneven and realistic, like a beach or rocks or forest.
Physics may be the best solution though I've looked and can't find a way to animate a physics object, specifically a sphere, moving around to specific areas. But maybe another approach is what I need! I could be missing something about paths.
Another detail is that the rolling part of the robot doesn't need to face any particular way, it just needs to roll.
Hopefully this leans more planning and effort in the setup and less in the actual animating, as there is obviously a lot more to think about than just getting a character moving to the place you want and rotating correctly.
Thanks for any help!

Perhaps a good solution would be to use Rigid Body on the ball to allow it to roll freely and “push” it where you want it to go with a set of one or more keyframed Passive Rigid Body colliders that are hidden from rendering. This way you can push it (eg, uphill) without having to break the physics.

I would manage all your keyframes as you have been doing, set the ball to be a Rigid Object with Dynamic property, and the terrain to be a Rigid modifier, too - but the collision type set to mesh, and then bake it.
Once you've done that, you could then convert the bake to keyframes, and tweak it to your liking.

That'd get the ball to roll just fine, though I know that already. Thing is I can't imagine it'd make it any easier to actually get the ball going to the specific places I need for the animation. The ball is supposed to be autonomous. The baked keyframes from a physics sim would be impossible to edit effectively, I feel.

Make a hidden, simplified version of the ground that has a grove where you want the ball to go...


text:
Human meta rig not spreading hand bones
When I add rigify's human meta rig to a project that has a model imported from SFM, the hand bones to not get added correctly. Instead of being spread out flat, like a hand, they all come in on top of eachother, as depicted below. Loading the meta rig in a new project has the same problem.
I can click the bones individually to pose them but it's time consuming and as I see every tutorial online has the hand bones spread out properly, I guess that it is not meant to happen and would like it to stop.

This originally happened on blender 2.83 and I have updated to the latest version 2.91 where it continues to happen.

Probably this file has been accidentally overwritten:

You can delete it and copy an original file from another PC.

Okay, will try that later. Thank you


text:
Procedural texture disappears in Cycles
i'm a Blender newbie trying to make my first scene without a step-by-step tutorial, and i've found a problem. I'm trying to use texture paint in a scene but it seems that using texture painting with a procedural texture at the same time is too much for my PC since the viewport got too laggy, so i switched the render mode to Cycles to bake the procedural texture's colors into an image, but on the render preview they simply disappeared and i have no idea why. At first i tought it was just a viewport glitch and tried to bake anyway but the image i baked it into turned out the same as before baking. I don't know if both glitches (the weird shading preview and the inability to bake) are related to the same issue or if they're both separate things that i did wrong...
This is how it looks in the viewport with Eevee:

And this is what it looks when i switch to Cycles:

This is what the node tree for the material looks like at the moment:

and here is the .blend file link.
As shown in the images, only the concrete material has this problem, the more simple ones are displayed correctly. Can anyone help?

The Shader to RGB node doesn't work for Cycles

I'm trying to imagine moonboots being flagged for a low quality answer.  I guess there's a first for everything!!!

at first my answer was low quality so I had to edit it  ^^

Thank you! I would never have imagined. I guess i should read the documentation before going crazy with nodes.


text:
When I texture paint, why doesn't it show on Sculpt Mode? And when I do sculpt, why does it make the texture paint black in some parts?
I followed a tutorial on how to use texture paint. However, when I go into sculpt mode, it disappears:

Furthermore, when I do try and sculpt, with Dyntypo enabled, the texture paint has black in some areas that I alter in sculpt mode.
I want to also know if there is a way in Blender to "finalize" or "apply" the texture paint on the mesh so that I would see it in sculpt mode when I have the Viewport Color Type on "Texture," and rid the black spots that come up where I altered the mesh in Sculpt mode.
I ask this because I am also following a tutorial online on how to sculpt a body, and when he turns on Texture as Viewport color type, he is able to see the texture paint in Sculpt mode and make changes to the mesh (with Dyntypo on) no problem.
Thank you, the help would be much appreciated!

To show Material Preview hold Z select Material Preview or click on 3th ball on top-right of your viewport.

When you enable Dyntopo you will get this warning which mean it will destroy your UV.

As beginner I suggest to follow your instructor workflow (sculpting before painting) until finish your course. And current workflow for sculptor Blender has Multiresolution modifier which flexible and powerful.


text:
Keyframing driver location results in unwanted movement of armature and animation
first time posting here! I've reached a bit of an impass. Ultimately I want to hide an object for all animations except one.
To do this, I am attempting to use a driver, OutsideOrbDriver to control the material value Fac for NightOrb_outside. I have mapped OutsideOrbDriver's X location value to Fac so that when I adjust the X location value from 0 to 1 of OutsideOrbDriver the Fac value of NightOrb_outside shifts from 0 to 1. Working as expected.
The problem comes when I attempt to animate the Object OutsideOrbDriver. First note that when I select OutsideOrbDriver, I see the actions for the entire armature even though OutsideOrbDriver is not a part of the armature.

Further, when I move the location of OutsideOrbDriver and keyframe with i > apply location the entire armature moves to the position of OutsideOrbDriver. I would expect this if the armature was linked to the object. But it isn't. I am dealing with two separate objects.

Could someone explain to me why my entire armature and animation is moving to the location of the OutsideOrbDriver. Is there a way to prevent this?Thank you for the assistance!
Blender File:

The OutsideOrbDriver and the armature are sharing the same action:

Then when you move the OutsideOrbDriver, and with "auto keying" on:

the movement impacts all the elements inside the action.

Thank you lemon, this answers my question!
Do you know if there is a clean way to separate different actions between different objects. There only seems to be one action list.

Use "stash" button when the empty is selected. That will disconnect it to the action. Or delete this empty and add another one.


text:
Artifacts when using solidify on curves
When i apply the solidify modifier to curves (created by importing a svg file), it creates some weird artifacts. Any idea on how to fix it?

I had the same problem with a logo that I had imported. What fixed it for me was this process. (Blender 2.90.1)

Note, sometimes it is quicker to join similar curves, like text, by selecting them and then selecting Object -> Join *

1.) In object mode, select the imported curve.
2.) Select Object -> Convert To -> Mesh from Curve/Meta/Surf/Text.
3.) Tab into Edit mode.
4.) Select all points using A.
5.) Press X and select Limited Dissolve.
6.) Tab back to Object mode and add your solidify modifier.
This method works very well for curves with few points. I have had some imports that still had some artifacts after using this method which required manipulation of the vertices to solve the problem (deleting, moving, etc.) but was really trial and error after using the method described above.
Hope it helps!


text:
Single verts mesh not moving with tracks even after hooking to the track
I watched a video made by CG Matter, and tried it yesterday, and it worked fine. Excellent, even.
so today, I tried it with other footage.

I added the verts, snapping set to vertex, to each track thing.
I selected 3 verts, clicked f and a triangle appeared.
I repeated the process for all the verts.
I hooked each vert to the selected object (the track which I stuck it to)
Clicked play
Tracks moving, but verts and its triangulated planes not moving

A link to the .blend file and the footage in my Google Drive
Am I overlooking something small? I just started blender and know the basics, if there is something else, i'll just look it up on Google.

I'm not sure I understand what you are trying to do, something like this?: https://blender.stackexchange.com/questions/23865/is-it-possible-to-take-a-mask-clip-and-connect-it-to-a-specific-point-on-a-mov/23902#23902 or https://blender.stackexchange.com/questions/61757/track-object-and-draw-path-on-top-of-video/61772#61772

Use vertex groups


text:
my baked uv doesnt go on my model
I have been slamming my head against my keyboard since last night trying to figure this out. I want to bake the fabric and the metal into one material to port but it just ends up like this. Please help]1

I found the answer for you but simply put you need a selected texture in the image editor and then make sure all layers you want baked are selected with the button next to the layers ( in object mode ) "Use scene's active camera and layer's in this view, rather than local layers" is active and dark grey ( light grey is off ).
"no object or images found to bake to" error
Oh and i use blender render and use a single material with each texture assigned to the single material but you should be able to use multiple materials as long as the model is using those materials, with corresponding textures.
EDIT: Make sure you bake full render and account for lighting.

and by layers im assuming you mean materials?

wait nevermind i think i got it


text:
How do I programmatically control the color of instances?
I'm loading MD simulation data into Blender and want to set the color of instances to indicate an attribute value that has been calculated separately beforehand.
The current workflow looks like this:

I'm creating a geometry object with vertices at every particle position and using a Geometry Nodes modifier to spawn mesh instances at these points.
A bmesh layer is used to store the specific attribute value that I want to base the color upon at each vertex (shown here and here)
Every frame the vertex positions and bmesh data are updated to mirror the particle movements and attribute value, respectively.

I'm aware of a method to color these instances (answer to this question), but struggling to apply it here, since the custom attribute I defined vor each vertex can't be referenced anymore when the instances are realized and the number of vertices changes. Is there a solution in Geometry Nodes to reference the value of the original vertex? That is, can the Group Input attribute "vert_layer" as shown in the image below, be used as input for ColorRamp somehow?
I guess one could update the dependencies graph and apply Step 2 for the resulting mesh, but it seems too resource intensive to iterate over the whole list of vertices each frame. Just as it seems wasteful to realize all the geometry of the node instances to modify color. This will probably restrict me to small data sets.
Any suggestions on how to do this (in a less convoluted way) are appreciated!

I think this setup here might actually answer that part of my question:

I made this for my add-on. The problem is that if you want to color vertices, you should set color attribute for vertices, not face corner data, because face corner data make sense only if you have faces. You can do it in attribute section:

But in this case, you will not be able to edit colors using vertex color mode. Maybe it's not an issue for you, and you can set color using bmesh.
As for your question about realizing instances, your thoughts are correct, and I haven't found a more efficient way to do this. At this moment, you should realize instances to put different data into them, so that you can use it in materials.


text:
Is there a way to apply metaballs on large scale?
I want to make a high quality rendering of molecular dynamics simulations (10k-100k elements) and melt bound particles together into some form of coherent mass.
Metaballs should be the way to go, as they allow me to choose differently sized spheres for particles and control the level of cohesion nicely.
However, they don't appear to make any use of multi-threading or GPU at all. If I crank up the render resolution setting, one core gets occupied and seemingly nothing happens for a reaaally long time. How do people apply them for rendering fluids..?
Am I missing something? Any solutions or ideas for workarounds are appreciated!

+1 relevant to my current interests, metaballs kind of suck

maybe molecular add-on can help you?


text:
How to switch strokes of the grease pencil in 2D Animation mode?
I searched but could not find a duplicate.
I want to apply a modifier to only some parts of my animation. My idea was to create separate stroke objects (Add -> Grease Pencil -> Stroke). However, I cannot seem to easily switch between which stroke I'm drawing with. I did manage to do it by accident, and now if I select the different stroke in object mode, I can draw with it later. But that's a lot of work to switch strokes.
Selecting the different stroke in the outliner does change the timeline data so it corresponds with the new stroke, but does not switch the materials, and does not let me draw with it.

In Draw mode or Edit mode you can click since Version 2.91 (See patch note) in the outliner on the left column of the row of your object to switch to editing this object.
See :

Thank you, this is great! I was on version 2.9 but immediately upgraded to 2.91. In addition to this answer, I encourage others to check out Josh Senfelici's comment on my answer below for some useful info about applying modifiers to specific layers.

Yup, there is actually plenty of options scattered around, and it's improving with each Version :)

I have found cumbersome way to do this a bit after posting this question. If someone knows a quicker way, please post it as an answer and I will accept it.
First, switch from draw mode to object mode. Then, select the new stroke in the outliner (you should see the materials change appropriately). Finally, switch back into draw mode and you should be able to draw with the new stroke.

Into a single Grease Pencil object, in edit mode you can select some strokes, press M and move them into a new layer, then in the modifiers panel you can limit the action of the modifier to a single layer (or a single material, or a single vertex group). Maybe it's helpful.


text:
Weird sprinkles
Every time I try to make the sprinkles as a particle. the appear in a big spherelike thing instead of spreading out on the Icing. What is the source of the problem, and/or how can I solve it?

hello please share your file: https://blend-exchange.giantcowfilms.com/

It seems like the particles are generated in a very small space on the icing. But to investigate that further you should add the file as @moonboots suggested.

The file is too big to share there, any ideas about how I can share it with you?

How big is too big? I just tried 3.5 GB, the upload only says it might take some time... Can you just put the particle emitter and maybe particle objects in a separate file?

You will learn more if you watch to the video again try to figure out what you did differently.

I did it lots of times, and I checked every setting I saw, but it all is the same.

It just sais that files that are bigger than 30Mb can't be uploaded


text:
Rendering image returns Null data
So, I followed a tutorial on youtube and got a still image render, but after I moved the camera to get a different angle to record an animation, rendering no longer works and just returns a null / blank image.
I am rendering in Cycles.
It's a simple scene, with only a single camera.

Using 0 on the numpad shows the area framed that I want.
I've made sure the camera is selected for the scene.
All items in the scene are rendering (I checked the using the filters for the collection of objects).
The camera is in the same collection as the rest of the objects.
All the objects have a surface.

What have I missed?
blend file

Have you maybe lost /deleted your bake cache somehow? Are you able to render the still image again although the animation doesn't render, or is it now looking like the animation?

Have you done any compositing? This once happened to me when I was compositing a scene and I forgot to plug the last output into the image socket of compositer,make sure than didn't happened here

I didn't find the reason for the strange behaviour. There must be something wrong in the scene settings, maybe someone can investigate further.
But when I made a new scene, copied all objects from the old scene to the new one, everything rendered fine. Do not try to copy the old scene by using Full Copy, in this case the new scene won't render either.
This is just a workaround to help you rendering the animation. Hopefully someone finds a better answer.

Thanks Gordon.  I went with the workaround as it was the easiest thing to do at this point.  That's working for me.  Might have a look later to see if I can't figure out why it went wrong though.


text:
Blender 3.1 Shadow Problems with "Hair" Simulation
I just recently updated my Blender version to 3.1 from 2.9. I wanted to render out a scene I have had, but I noticed many of the cubes are pitch black. I know they have to do with shadows from playing around with settings. I have tried subdivided the meshes, and I have recalculated all the normals. I have an image of this problem.
Many of the blocks are black. They return to normal when I remove shadows.
I am using Cycles with Cuda. I am using a Geforce GTX 1060 3GB. Note that when I change the device to CPU the glitch disappears.

After playing around with the hair simulation, I found that I was using too many objects in my scene. I had the hair count to 5000 when the amount needed was only 4225.


text:
Is it possible to remap UV objects and cause the underlying textures to be modified as well?
A scenario we often run into at our studio is that we need to add/remove/change features of a model after it has been completed due to iteration or further alternatives of the model.
If, for example, we need to add a new limb to a creature - If the UV unwrap has no room for the new geometry we have to move or shrink a bunch of the other existing UV objects to fit it. When we have to do this we have to spend quite a lot of time rebaking and manually tweaking the existing textures to fit the changed locations of the existing UV objects. This is a big waste of time and it seems like something that should be automated via a tool surely?
The question is: Can Blender, or even any external tool, be used to take a UV object and move, rotate or scale it and also modify all underlying textures as well?

As far as I know it's not possible. You have to make a new texture, reposition the images in Photoshop for example, in order to match the new UV. Daz3d has this tool, it's called TextureAtlas, and when you re-uv map the model, it also makes the needed modifications to the texture(s).


text:
Automatize conversion of .FBX to .OBJ/.MTL using Blender
I have a large number of files in .FBX format that I would like to convert to the Wavefront .OBJ/.MTL format. I can easily do this in Blender by Importing/Exporting but I need to be able to do this automatically, ideally using a Python script.
I have no experience using the Blender API. Could you give me a code snippet that achieves this conversion?


text:
Animation by looping through objects
I have a use case where I have a folder of .PLY files (say 0.ply to 99.ply) that together make up a certain action (e.g. throwing a ball) over 100 frames. I would like to be able to create an animation that is 100 frames long in which t.ply is visible at time step t and invisible for all other time steps.
Additionally, I would like to do some basic preprocessing (e.g. centering the geometry). As the preprocessing is equal for every .PLY file, I'm looking for a more automatic way to apply such a preprocessing to all of them at once.


text:
Cycles - Different render output when using CPU or GPU
When rendering a file on SheepIt I notided there is a difference between PNG images when the image is rendered with CPU or GPU only. I reproduced the same situation on my computer and got similiar results so the renderfarm does not cause the problem. Only changed the Device (GPU or CPU) setting in render properties.
I am new to Blender and was wondering if this is a known issue or did I just miss an important setting? For those that don't see it, I am talking about the grass particles. Left is GPU, right side is CPU.


text:
Controlling object visibility with distance to other object's vertices
This is my first post so please forgive any noobish errors.
Here's the problem I'm trying to solve.
I have a grid made up of hexagonal meshes. I have a cylinder that's either going to translate across the grid or scale up across the xy until its touching all the meshes.
I want to make it so once one of the verts of the cylinder gets within a certain distance of the centre of each hexagonal mesh the visibility will turn on for said hexagonal mesh.
The original method I was working with was using a limit distance and location constraints so that the hexagons would be pushed up in the Z and intersect with a Boolean object and become visible (which was working to a degree) but I couldn't get the limit distance constraints to work with the vertex group of the cylinder. It would only judge distance from the centre of the cylinder which doesn't work if you're intending on scaling the cylinder instead of translating.
Any ideas?

There is ways to do this in Python, but I will explain a way I found to do it using drivers.
You can control the visibility of an object in the viewport and in renders by right clicking on the Visibility section of the Object properties tab and adding a driver.

In the driver popup change it to Distance type.

In this case I have an empty driving the 1st input of the driver, and the object I wish to change the visibility of in the 2nd input.
You can edit the distance between the objects that will trigger the state change in the drivers editor window. Also, the expression in my example has "var-5" which adds m units to the switching distance. (try it and see)
You can use CTRL-L -> Animation Data to copy the drivers to other objects but you will need to update them to use themselves as one of the inputs.
The hard part... If you want every vertex of your cylinder to trigger every one of your hexagons, then you will need to hook an empty to every vertex, then create one of these drivers for every empty, then copy and edit every one of them to every hexagon and edit those! Sounds like a LOT of effort.
There is probably other ways to do this without Python, but this is the way I found.
As I said above, Python would be much better for this.

Thanks for writing that well thought out answer Psyonic. I definitely appreciate the efficiency of python but unfortunately I couldn't code to save my life haha.
Im wondering if it would work to create an empty and use it as a driver for the mesh like your example. But then use a particle system to propagate the empties across the cylinder mesh and then use an array to duplicate meshes that are driven by the empties.


text:
How to make two separate curves move together
I'm looking to make a cable with a semi transparent outer sheath, and need the able to move and curve the cable. In order to have the sheath move with it, I'm trying to move a parent curve, the child curve being inside of the parent, and have the child move as the parent would. Is there any way to do this or do I have to manually copy every movement of the curve with the handles onto both curves?

With the Hook modifier you can parent the vertices of 2 separate curves to the same empties or bones.
If you want to parent a curve vertex to a bone:

Disable the Lock Object Mode option:

Select the bone in Pose mode, shift select the curve, go in Edit mode, select the vertex, press CtrlH > Hook to Selected Object Bone:

It has automatically created a Hook modifier for the curve:

Move the bone, it will move the vertex, the advantage compared to a hook to empty is that you can always come back to the bone rest pose:

To hook to an empty you just need to select the curve vertex and CtrlH > Hook to New Object, it will automatically create a new empty:

Now you can hook the vertices of the other curve to the same bones or empties.


text:
crashing 2.91.0
It crashes whenever I change the radius of the torus.
It happens on a brand new project with nothing in it but the torus. Trying to follow the donut tutorial but cannot even start.
Is that a bug?
Running on MacBook Pro 2015, Mojave, AMD Radeon R9 M370X


text:
Render Result is different from the Composite node preview
When I try to open image with transparency in Image Editor window it looks exactly like it should. But when I try to show it in Render Result image using Composite node, transparent part of the image (which has 0 alpha but it's color is white) looks wrong.

You can see that it is a little bit transparent, but much less than it should be, and also there is leakage around the blue blobs:

The aplha in this region of image is zero, but it looks like that when Blender displays it, it somehow changes to about 0.9.
I ran into this problem while trying to use cryptomatte for the first time.
Is there some setting I missing, or is this a bug?

https://blender.stackexchange.com/questions/48008 https://blender.stackexchange.com/questions/46606 https://blender.stackexchange.com/questions/46312

Looks like that converting alpha with Alpha Over node works. As well as saving that image in EXR format instead of PNG.


text:
Blender File getting too large after workflow
i'm currently working on a visualisation for an event company.
They want different spaces to be shown to a pending client. For this purpose i've built a file that i can create all these spaces in, but seeing my geometry grow during this workflow, the file eventually ends up multiple GB big (currently 7.64 GB) which seriously slows down my whole process.
Blender becomes Kind of Laggy, saving also becomes a case of minutes instead of seconds and the whole file becomes kind of crash prone.
i'm wondering if there's a tip or a workaround to this workflow, seeing i still have to get these different spaces together in a scene for a final group assembly.
any tips are welcome!

You can separate your spaces into several independent files, and link them all into a master file. White the master file will be as laggy as the current one, working on each individual space may be slightly more bearable. Optimize your scene, use instancing instead of arrays, or duplicating things around wherever possible


text:
How to access hidden value in Uvmap (UVWT)
I got a really specific question for an expert.
I learned recently there is no such thing as Vector 2 in a graphic shader. Every Vector is in reality a Vector 4. Like vertex colors are not just Vector 3 (RGB) but always are a Vector 4 (RGBA).
By example UV mapping is not just a Vector 2 but is in reality a Vector4 which is technically called UVWT.
I need to hide inside my mesh value for my game developed with Unity to be used by my custom shader. I already use vertex colors RGBA to store information and would like to access this new dimension of data hidden in the UV map more specifically the WT of the UVWT.
Which is accessible with certain programs. Like in Unity amplify shader:

My Question:
How can I access these 2 hidden dimensions (WT) on the UVWT from blender? I know no tool in blender will allow me to edit those hidden values. I plan to build a custom script to edit them but still I can't find any information on the internet on how to access these 2 hidden dimensions from UVWT.
Thanks in advance for your time.

Would suggest creating  another UVMap and populate with WT values.

I think you are wrong. The Blender Vector only consists out of 3 values.
You can check this by adding a "UV Map", selecting it use this command bpy.context.object.active_material.node_tree.nodes.active.outputs['UV'].default_value and pressing "Tab".

Yeah, I think UVWT only works on shaders, graphic cards deal in vector4 mostly so I tought blender should have as well. But it does not. @batFINGER Suggestion should be the best one.


text:
Knife tool just not working on simple object
I'm trying to slice my 'house' so I can create a ridge, but the knife tool doesn't seem to work on this object at all. Despite snapping to the verticies correctly, as soon as I press enter, it just disappears instead of confirming the new edge as normal.
What am I doing wrong?   My Blend is here:

Not sure why, but if you uncheck the 'Occlude Geometry' option it works correctly.

It may be because the top face of your model is not an ngon (has 5 vertices).

Thanks!  It is better to stick with quads?  I probably oversimplified my model using Dissolve Faces.

Yes definitely. On a shape that simple there's no point in disolving faces anyway. You've ended up with edges with a single vertex in the middle in this case.

I don't actually have the Occlude Geometry option for some reason (2.91)

Just tried it again and that option only appears if you access the knife tool by clicking on the option in the toolbar or use Shift-Space > k. It doesn't appear if you simply use the 'k' key though!


text:
How to get a plane to intersect and join/merge with the perpendicular plane?
I'm trying to model my house as a way of learning Blender. I'm having a problem filling in a small hole after following a tutorial about roofs.
It's best demonstrated with a video, but basically I want the extruded edge to 'collide' with the perpendicular edge but no matter what I do, it doesn't seem to snap to the edge it collides with. I'm always left with two unrelated planes which also means I can't make the small trianglar area at the top into it's own face.
Hopefully this question makes sense once you've seen me extruding the roof edge towards the house:
https://www.youtube.com/watch?v=ZDGNVaY2G-8&feature=youtu.be
Sorry for the youtube link but it seems this StackExchange site doesn't like large GIFs, APNGs or anything else I've tried.

You want to stick this edge to this face but this is not a clean topology because your edge will just float, you should first use the knife tool to cut the roof and the left side, in order to add vertices, then fill with faces between the vertices with some F, and at last delete the inner faces:

Edit with your current file, as we can see you have floating edges, inner faces, etc:

What should happen:

Thanks!  That worked. Looks like I need to do some cleanup to the model after adding the overhangs, as I can't seem to do a "dissolve faces" to get rid of all the extra bits.  The texture mapping therefore isn't working that well :(

a bit hard to help without the file itself  ;)

Here you go, but I don't want to put you out! :)  I'll spend a bit more time on tutorials once I've got a rough enough model to show my architect.
http://files.staging.x-rm.com/nick/house3.zip

It's my first model so any feedback would be welcome.

yes there are a lot of mistakes in your topology like overlapping faces, inner faces, ripped edges, useless vertices, etc, too much to sum in few words  ;)  also try to work with quads even though it's not always necessary and you may not need to worry about that if you stay rather low poly and for architectural objects, but maybe it's better to start with good habits. For the part we are talking about you can see that if you grab a vertex the rest do not follow and you can see inner faces...

I've edited to give an example

Thanks! I initially started by importing an STL from Tinkercad so perhaps that's the source of some of the issues.

But how did you fix it?

I just did it quickly with the knife tool on the left part in order to create a vertical edge, then merge the right part with the left with some Alt M > Merge, then delete the inner faces, etc

OK - perhaps I'll just start again with a new model created inside Blender instead of importing what I'd done in Tinkercad (very basic tool I outgrew almost immediately).

yes Blender has its own way of modeling

I've created the model from scratch in Blender but not getting very far :)
https://blender.stackexchange.com/questions/206386/how-to-go-about-modelling-this-roof-shape-in-blender


text:
How to select a face (to add a texture) after importing from STL?
Just installed Blender 20 minutes ago (so please be nice!).  After importing an STL, how can I apply a texture?  I'm stuck even trying to select a face.  The help file says which icon to click but not how to get to a screen with that icon on it!
Could it be I need to do something with the imported STL before I can add textures?
My STL is here:
http://files.staging.x-rm.com/nick/House.stl

Using the search tools here should yield some results..Mostly done in the shader editor in 2.8+ though. Please specify if you are wanting to use procedural or image textures.In your screenshot you are in vertex selection, in standard keymap 3 switches to face selection.

It is hard to teach you from scratch in a single post how to use blender.  watch a few videos to familiarize yourself with the interface and the main principles of the program: https://www.youtube.com/playlist?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6 You need to create a material, select the faces you want, and assign the material to them.

@Timaroberts Thanks. I'm not sure why each face is split into two triangles.  Would that be a problem with the STL or simply how blender works?

STL files usually consist of triangles. You can select your model in edit-mode, select all faces and use alt-J (Tris to quads) to convert (most of) the tris to quads. In simple models this works great, in higher res models you might end up with a few tris still.

@Jaco Thanks that worked!


text:
How to prevent camera from clipping through floor? (UPBGE)
I have added a camera with a spherical empty to my model to view all angles, but the problem is that when I look up (during gameplay), the camera ends up below the floor (due to parenting), hence obscuring vision. Is there a way to prevent the camera from going through the floor? Thanks.

You can prevent the camera view from being obscured by sending a raycast from the camera to check if any object/mesh is in-front of, or behind the camera view, which is the Z-axis of the camera.
Here's a great tutorial exampling how to create and implement such a camera raycast for camera collision.
Tutorial
https://www.youtube.com/watch?v=Jim9W8B1KhU

I have actually tried this one in the past but it didn't work for some reason. I found another file with a setup that works for me anyways. Thanks.

Ah I forgot that Cotaks already gave you that blend on BA. My mistake.


text:
How to increase character movement velocity over time? (UPBGE)
I found a 3D character controller setup online and one thing I wanted to ask is how to make movements smoother by easing velocity. Is there a way to edit the python script to make acceleration and deceleration less abrupt so that starting and stopping looks more realistic? e.g. taking half a second to reach to reach max velocity after clicking the move button. Thank you.

add 2 more properties to your character: speed and oldMove

you could use this script:
import bge
from bge import render

cont = bge.logic.getCurrentController()
own = cont.owner

scene = bge.logic.getCurrentScene()
empty = scene.objects["Empty"]
pointer = scene.objects["Empty.002"]

empty.worldPosition = own.worldPosition
move = 1

emptyrot = cont.actuators["rotz"]
playerRot = cont.actuators["playerRot"]
mouseMove = cont.sensors["MouseLook"]

keyboard = bge.logic.keyboard.events

W = keyboard[bge.events.WKEY]
A = keyboard[bge.events.AKEY]
S = keyboard[bge.events.SKEY]
D = keyboard[bge.events.DKEY]

if own["speed"] > 1:
    own["speed"] = 1

if W > 0:
    if own["oldMove"] == "W":
        own["speed"] += .02
    else:
        own["speed"] = 0
        own["oldMove"] = "W"
    own.alignAxisToVect(own.getVectTo(pointer)[1], 1, 0.15)
    own.applyMovement((0,own["speed"],0), True)
    own["timer"] = 0
if A > 0:
    if own["oldMove"] == "A":
        own["speed"] += .02
    else:
        own["speed"] = 0
        own["oldMove"] = "A"
    own.alignAxisToVect(own.getVectTo(pointer)[1], 1, 0.15)
    own.applyMovement((-own["speed"],0,0), True)
    own["timer"] = 0
if S > 0:
    if own["oldMove"] == "S":
        own["speed"] += .02
    else:
        own["speed"] = 0
        own["oldMove"] = "S"
    own.alignAxisToVect(own.getVectTo(pointer)[1], 1, 0.15)
    own.applyMovement((0,-own["speed"],0), True)
    own["timer"] = 0
if D > 0:
    if own["oldMove"] == "D":
        own["speed"] += .02
    else:
        own["speed"] = 0
        own["oldMove"] = "D"
    own.alignAxisToVect(own.getVectTo(pointer)[1], 1, 0.15)
    own.applyMovement((own["speed"],0,0), True)
    own["timer"] = 0

if own["timer"] >= 7:
    cont.activate(emptyrot)
    emptyrot.dRot = [0, 0, move/20]
else:
    cont.deactivate(emptyrot)

if mouseMove.positive:
    own["timer"] = 0

Hello Chris, this is great! The only thing is that I've noticed if you hold two movement keys (forward, right) at the same time it halts movement for some reason, and if you press the same key (W) consecutively, the eased velocity effect disappears for that key until you press another movement key. Is there a way of avoiding these? Thanks for the help.


text:
Add a delay before shooting bullet (UPBGE)
When I mouse click the bullet fires automatically. Is there a way for the bullet to fire a second (or any set time) after the mouse click? I feel like other questions have addressed how to add delays between bullets but not before initial independent shots. Thanks!

there are numerous ways to implement delays, in this case for firearm firing. I will focus on the two easier methods: Logic Tics & Property Integers. The property type can be float too if you'd prefer.
Blender Math: 60 tics = 60 frames = 1 second
Example: Logic Tic

Example: Property (integer)

Download: Blend File
Unfortunately PasteAll.org is not accepting my blend file, either because it's a Blender +2.8x file or perhaps because it doesn't recognize new UPBGE source, so I've uploaded my blend to one of my Github repositories for commeridistribution.
https://github.com/RandomPandaStudios/BSE-Firing-Delay-Examples
Download: Revision
https://github.com/RandomPandaStudios/BSE-Firing-Delay-Examples/blob/main/UPBGE_03_Firing_Delay_Example_v2.blend

Thanks for the suggestion but the file you sent is a default blend file when opened?

At the time of the upload, I was using the very latest UPBGE 0.3x release. Perhaps you need to update your UPBGE version? Additionally if you have a original Blender application set as your default program to open a blend file, you're going to need to either manually open my blend in your UPBGE 0.3 program or set your UPBGE 0.3 program as the default program for blend files.

Ok yes it works when opened on the newer UPBGE. I was actually asking about having a slight delay after clicking left mouse button, i.e. the bullet appears a split second after the button is clicked, but this is useful anyways so thanks.

You can easily implement this by using a boolean to keep track of whether the button has been clicked or not. Use this in combination with either of integer setups that I demonstrated in the blend file. I can create another blend example it if you want. But maybe best to create another question thread for that.

Could you create another blend file please? I think this may be useful for other people too. Thanks.

Done: https://github.com/RandomPandaStudios/BSE-Firing-Delay-Examples/blob/main/UPBGE_03_Firing_Delay_Example_v2.blend


text:
Portal animation plays in viewport, but not in game (UPBGE)
I created an animated portal which waves around when played, but for some reason it is completely stationary during gameplay. I linked the object and animation via logic bricks but it still does not work after starting the game. Is there any solution you could recommend? Thanks.

Just change the action here:

to Shader Nodetreeaction ...and it works.

Wow it was so simple. Thank you for your answer sir!

If my answer helped you, please click on the checkmark left of my answer. Thank you. Glad I could help.

Hello Chris, out of curiosity, how would you go about adding a rotation to this? I tried editing the first keyframe to 0 and last one to 360 which works for the viewport but not the game. Thanks.

Hi Emre, to add a rotation, just add another keyframe for the rotation value and connect that action to your "and" condition. blend file:  , but please open a new question if you have further questions. Thanks.

ok thanks again


text:
How to increase emission strength when a property value is reached with logic bricks? (UPBGE)
I have a game where I collect coins, which are counted using a game integer property. Is there a way of increasing the emission of a character upon reaching 10 coins? I tried keyframing emission as an animation to link this in, but the inserted keyframes did not show in action editor for me to make an animation of it. Thanks.

Logic-Bricks
Information
You can create a keyframe action with most UI elements by clicking the diamand-shaped icon near an UI element:

Which should than automatically create an animation Action which you can select as an animation to play in an Action actuator:

I also setup a sync/driver setup for the keyframed Action with a created integer game-property I called Emission:
Emission property value of 0:

Emission property value of 10:

Download
Download the blend here:
https://github.com/RandomPandaStudios/BSE-Blend-Storage/blob/main/UPBGE_03_Dynamic_Emission.blend
Python
Remember, BPY works at runtime in UPBGE +0.3.
Code
Material_Name should be the name of the emissive material.
inputs[1], if the shader node is type emission, should be the attribute: Strength.
import bpy

bpy.data.materials["Material_Name"].node_tree.nodes["Emission"].inputs[1].default_value = 10.0

Enabling Python Toolips in your User Prefences is a great way to easily and quickly see what BPY code is required for a certain element.

Hello Panda, the confusion was more to do with keyframes not working on my particular character, but thanks for the answer anyways.

Were you able to keyframe your character eventually?

For some reason it works on simple objects but not on my character, perhaps because it is connected to an armature. Is there a way to boost emission via python script? Because then I can use logic bricks to say "If in this state/under this property - then script = active" (I would send the file but I want to keep my game features private till release). Thanks.

@EmreTurk: Then you should provide your blend file (or a simplified one), so we can check it out...

I have replicated the shaders on this object. Keyframes show an effect on the timeline but are not visible, hence animations cannot be made. Any ideas?

Added Python code + information in my original post. Side note, when I opened your blend file, I saw 0 keyframes. Maybe it's on my end and I need to upgrade to UPBGE 0.31 instead of using my 0.3 version.

Thank you Paladin, this is just what I was looking for. Cheers.

Glad I could help!


text:
How to change strength of studio light via python? (UPBGE)
Hello I would like to have the studio light strength change from 1 to 0 when entering a new scene. I assume that this is achievable via python, but what would the required script be? Thanks.

you can try this code here:
import bpy

space = None
for a in bpy.context.screen.areas:
    if a.type == "VIEW_3D":

        for s in a.spaces:
            s.shading.studiolight_intensity = 0.15203

just as a hint how you can "see" what the command is: open the console, change the strength and you see the command in the console ;)

Hello, when I connect this script to a keyboard sensor (e.g. press G to activate) and press P to run the game, when I press G it has no effect real-time, but shows the effect after pressing Esc and returning to the viewport. Is there a method for this working real-time? Thanks.

i think in game you would have to change the background color.....this is "just" viewport shading, not rendered result

Thanks for the help

You are welcome!!


text:
How to use intersecting booleans on single object?
I want to use two intersecting booleans on a sphere (to make holes on north, south, west, east sides) by using either cylinders or elongated spheres. I do this by positioning my cylinder going through the object and applying the first boolean (works fine), then rotating the cylinder 90 degrees to create another boolean cut, but this either leads to the sphere disappearing, or glitches inside the object (e.g. being able to see the inner outer layer of the sphere from certain angles). Is there a fix for this? Thanks.

You have to use multiple booleans, you can use many when needed.

Please put your file here

Use the Boolean modifier with exact solver in 2.91

Thanks everyone but I found a solution through trial and error (Blender 2.82) soon after posting this by creating a cube, extending each side to make it a cross, using a subdivision surface modifier to make it a rounded cross, then using this as a single boolean object within my sphere.


text:
How to open URL upon clicking an object? UPBGE/BGE

Hello. I wanted to know if it would be possible to open a website (hyperlink) after clicking on an object. Normally you can have a left button sensor and a mouse over sensor working together so that both conditions must be met to perform and action (i.e. object can only be selected after hovering over and then clicking it), but that is when you connect if to an "and" controller, which I cannot do as the controller is for the script. With the current setup, it should open the URL after clicking the cube, but for some reason it opens it up when clicking anywhere available. Any solutions or alternatives? Thanks.

You can open a web URL in another browser with Python by running the following code at run-time.
import webbrowser
webbrowser.open('http://google.com')

Stop spamming this site with your advertisements.

Yep. Sorry, am new. Thanks for informing me.


text:
How to use camera to control direction while moving?
I have a current setup whereby the camera can pan 360 around the character when stationary, but how can I make it so that forward movement snaps towards the direction of the camera? I.e. you can use the mouse to turn while in motion. Is there a way to achieve this via logic bricks? Thanks.

Just add another camera. (just select the one you have and press Shift-D -> by doing this it is perfectly aligned and parented to your character and this is what you want)
Then you can use this node setup:

What it basically does is: change to camera, whenever you press w or a. Change to camera.001 whenever you press d.

 for some reason the movement messes up with this setup

please recheck your (old) uploaded file because i didn't change anything of your movement...

Hello. The old file has normal movement (you can check the original file), but when I add the logic node setup the movement messes up (you can check the new link). Thanks though

Are you sure, the movement messes up or are u just irritated because you are looking through 2 different cameras while pressing different keys?

Perhaps my program is the issue. I end up moving towards the sky for some reason. Thanks anyways though.


text:
FPS drops when I add an overlay (health bar) to my camera view? (UPBGE)
when I run my game it plays at 30fps which is fine, but when I add a health bar overlay this drops down to 20fps for some reason. Is there any way of having an overlay in camera view without a significant performance drop? Thanks

Short answer, no. UPBGE 0.3's overlay pipeline is somewhat lacking in terms of performance.
Here is youle one of the core developers explaining a partial solution earlier this year to someone else who had a similar question about his UPBGE 0.3 project:

Manually constructing your own UI with the BGL/BLF modules' would be better.
Here is the blend that youle shared in the screenshot:
https://cdn.discordapp.com/attachments/719228680374583337/903281343142703114/post_draw_callbacks.zip
Additionally, UPBGE 0.2 has better overlay performance for now, so if possible, use one of those release versions instead.

I see, is there a way to use this script to show images instead of text?

Personally I've never been able to draw images with BGL (Blender OpenGL module) on my own, although I know many have been able to, whether in BGE, UPBGE 0.2 or UPBGE 0.3. Here is one a UPBGE 0.3 UI framework though: https://github.com/mysticfall/alleycat-ui


text:
How to turn off denoising for certain objects? (UPBGE)
Is it possible to have Viewport Denoising ON in the "Render Properties" panel, but have it OFF for certain objects? I heard this may be possible using layers but I am not sure how to do it. Thanks.

I do not think you can at runtime. Normally you could with enable/disable denoising per Render Layer or through manual Compositing.
Render Layers: https://docs.blender.org/manual/en/latest/render/layers/denoising.html
Compositing: https://docs.blender.org/manual/en/latest/compositing/types/filter/denoise.html
Unfortunately UPBGE does not have any similar solution for run-time usage. At least not until the Blender developers implement their hinted Real-Time Compositing Nodes.

Eevee
...
A real-time compositing system is also planned, bringing compositing nodes > into the 3D viewport. The new Eevee will be designed to efficiently output > render passes and layers for interactive compositing, and other renderers > will be able to plug into this system too.

https://code.blender.org/2021/10/blender-3-x-roadmap/#Eevee


text:
How to increase FPS? (UPBGE)
I'm nearing the completion of my game, but I've noticed that average FPS on my gaming PC is 30FPS, which makes me think that on regular PCs it will be unplayable.
1)Any general ideas on how to increase FPS? I have decimated objects with 600k vertices down to 3k yet I haven't noticed much FPS change.
2)I noticed that there is a 20% FPS change between looking towards a building with many objects (30FPS) and looking away from it (36FPS). Is there a way to keep FPS consistent?
I appreciate any help. Thanks.

it seems you are using upbge 0.3. Do you have a skeleton in your scene? If your answer is yes, all I can say is: Upgrade to upbge 0.2.5. Because upbge 0.3 is a very weak engine for skeletons. Maybe it will be fixed with updates. If not, you can use the user's scripts on this youtube link (https://www.youtube.com/c/JacobMerrill/videos). Optimization is better if upbge is at 0.2.5. If your map is too large, go to the scene's main camera and enable this setting.


text:
Shadows are green, light or intense
I am following BlenderGuru's tutorial on Blender, the donut, and everything has been fine except for this. First, I noticed in medium-light renders a greenish hue or tone. I had the donut laying on a metallic blue table so I thought it was a reflection thing going on. Later I changed the table to a lighter cream color, and it was still present. And after I applied displacement the green in the shadows fully reveals.  I can not remember if shadows were like that in the very beginning of modeling or if it is something I did along the way but I have solidly followed the tutorial, so doubt it. I am now thinking it is either software, or a hardware issue going on. Also thought it could be the display, I use an LG 4KHDR tv as a monitor, but nothing happened after turning HDR off and tweaking other stuff.
Thank you for your help! Pics attached

hello, maybe share your file: https://blend-exchange.giantcowfilms.com/

It looks like you've enabled Subsurface Scattering with a higher green radius?

The lower picture looks almost like it's part of the material... have you changed the material on it? How is your scene lit? Have you accidentally turned on subsurface scattering or something? The file would be really helpful.