text:
Filter Border Faces with Geometry nodes

1.Any idea how to filter red faces from model?
2.Below is my settings
3.Example without GN from which I want to filter modules

go into edit mode and hover over any red face and press L then on the lower left corner select by material.

Sorry but in geometry nodes its made proceduraly so I need to make subdivision on the red faces

please provide your node tree (or better: a blend file), because the solution depends on that! we have no idea how you did that.

oh i didnt read the title lol

It's still unclear what you mean. It's not clear what the last image represents. Based on title I would think you want to get all the external vertical faces as in Chrises answer. But then you mention the color of the faces and in your .blend file you have orientation display enabled, which makes some internal faces red.

unfortunately you didn't show us your geometry nodes tree, so we have no idea how you did it.
So i assume you will say: but i have another node tree, it doesn't work.
Then my answer will be: so please improve your question and provide your node tree.
and yes, my answer is on your title: how to filter border faces.
Anyway...here is a solution, how you can create such a grid and select the outer faces:

update for your provided blend file:
unfortunately i am still no sure how your end result should look like, so hopefully you want this?

Hi, It works (partialy faces on my example are fliped) My setting is different I'm trying to make puzzle modules based from subdivide plane. Different materials will spawn different buildings. Please see my GN.

hi Mateusz....i will have a look at it, if you provide your blend file, but i am too lazy now to rebuild yours - sorry. I wasted my time already because you didn't provide enough information. And you want help from us in our free time, right? so pls make it easy for us to help you.

Hi Chris I appreciate Your time. File is uploaded so If You have time please look at it... Thanks

i updated my answer. Please be careful when redoing node trees. My solution had set the sample index to edge - yours was on points. But now i saw your node tree, i set the separate geometry to face and the sample index to point.

Works, Thank You for solution.

This solution is in case you really have a certain material on those faces. If you do not have such special indicator for what you want to select, then it depends on what nodetree you use to create those faces. One way would be Chris' answer. But just for completeness, in this answer let us assume you have faces with a certain material on it and want to select those.
Let's say I have a cube. Most faces have a red or green material. The face on top has a blue material:

If I would now want to select the blue face in Geometry Nodes for example to delete it, I can do this with a Material Selection node where I choose the blue material and use the Selection output for the Selection of a Delete Geometry node (make sure the Delete Geometry is set to Face):

Note: I have done this in latest officially released Blender version 3.6.0, the Material Selection was in 3.5.1 as well but I don't know when it was introduced.
If instead of deleting the blue face this is the only one you want to keep, you can invert the selection with a Boolean Math node set to Not:

Other Boolean operations are of course possible, too. Maybe you have five materials and want to delete two of them, you can combine the two material selections with a Boolean And node for example.
Whatever you want to do with the selection instead of deleting faces, the Material Selection node is the one to get this selection.
Another way to do it: The next cube has a blue face on top and a blue face to the right. I want to delete the blue face to the right, but keep the one on top. You could do this by creating two identically looking blue materials and putting them on the different faces. But this is not very comfortable if you want to do changes in the material later, you would always have to change both.
What you can do instead is put two material slots on the object with the same material, and assign the different slots to the different faces.

Now you don't use a Material Selection node, but a Material Index node and with a Compare node you check if a material has the index (= slot) of the face material you want to delete, in this case index 2:

Of course you can also invert this by using Not Equal or maybe choosing every material with an index > 1 to delete the second blue and the green etc.

i think he wants to filter border faces, not by color, as the title says ;) but i might be wrong...

Maybe - but then this answer might be helpful to others who want to filter by material :D I actually edit another additional material approach into the answer.

Note: The node Material Selection is available since v3.0: https://blender.stackexchange.com/questions/273541/cant-find-the-node-which-node-is-available-in-which-blender-version/


text:
Line Curve Set end to raycast hit?
Hi like in topic how to set line curve end to raycast Hit position in geometry nodes ?

If you use a curve, you can select the start and end point with the node Endpoint Selection and pass it as selection to the node Set Position.
This way you apply the new position to only one of the two endpoints.

Not working on my example I've added image abowe. Thanks in advance

Could you please share your blend file? it's hard to see what exactly you mean. https://blend-exchange.com/

I've managed it after instances on points I forgot to realize instances... so Question is resolved. Thanks

source: Stack Exchange

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

sort: votes


text:
Instances along curve from mesh Geometry nodes
Hi is there a solution to transform rotation of instance from mesh like on screen. Mesh is converted to curve in Geonodes but tangents must be calculated somehow from nearby vertices is there a simple solution for it
To be more specific I've added image. Numbers are indexes and I need to rotate gizmos to look at neighbor indexes

tbh i have no idea how you want it to be....and what and how you want it to rotate. So maybe it is a good idea to show us a picture how it should look like. "normally" GN related questions are answered within 1 hour or less...so i think i am not the only one who doesn't understand what you want here.....

Hi, Chis thanks for interest I've added next image to be more specific

You can use the curve tangent with an Align Euler to Vector node to get a rotation pointing to the curve tangent:

Result:

Now, if you want some other axis pointing to the surface normal, you can capture the normal before converting the mesh to curve and then use it to align the tangent rotation (using the tangent pointing axis as pivot):

Result:

Thanks, It works

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


text:
Normals on split curve
Need help after I split curve it's normals changes. I'd like to have normals outside of this curve.
Thanks in advance.

Use "Capture attribute" node.

I've tried to compare captured normal with new one and then flip faces when equal but with not luck

I'm trying to recreate your setup and whenever I convert the mesh to a curve and back into a mesh it seems like it auto calculates the edge normals and makes them consistent? Is that not happening for you?

I 've separated parts of spline by crease and my normals are filped.

You're starting with a face so you can just mark the edges for separation, extrude, and then separate faces extruded from selected edges:

Imgur mirror (SE image hosting has problems)


text:
How to force a shallow copy?
If I do this in a script
v = bpy.data.objects['Cube'].data.vertices[0].co

v becomes a deep copy of that vector, this is a behaviour that is common to many other places inside the Python APIs.
The irony is that in Python the method copy returns a shallow copy, and deepcopy returns a ... deepcopy; in Blender it looks like there is no real rationale for what you get, apparently everything is tuned for deep copies, but when an object has the copy method, it returns a deepcopy and not the standard python-esque shallow copy, and the method deepcopy is pretty much absent .
Inside loops you tend to get shallow copies because of Python optimizations, but speaking about the API in general, how I can enforce the use of shallow copies ?

First sentence from the link provided in the question:

Assignment statements in Python do not copy objects, they create bindings between a target and an object

You assign / bind the mathutils.Vector object stored in the attribute co to the variable / name v.
You don't copy anything.
Use co.copy() to get a new instance of the vector and assign it to v instead.
Most vector operations and methods like +, -, *, cross, dot will also return a new instance for the result. So if you plan to use some of these maybe you don't need .copy.
This is done behind the scenes for immutable objects like strings or tuples. As soon as you make a change to a tuple or a string you get a new instance.
But if the object is mutable like a list it works the same way:
a = [1, 2, 3]
b = a
b[0] = 4
a[0] #-> 4

there is no answer that is valid in Blender here. Blender's copy doesn't perform a shallow copy, I don't understand your wording or what you are trying to assert . if with new instance you mean "deep copy" that's exactly what I'm trying to avoid .

The vector class has also the method .is_wrapped which tells you wether it has returned a shallow copy or not. In this case you can simply store a reference to the vertex itself ?

is_wrapped is probably the most useless thing in history for the simple fact that I can just try to modify the state of my variable and see if the supposedly linked object changes its own state at the same time. The point is that I want a shallow copy and a shallow copy only, I'm not looking for a way to check things. How to generate the reference you are talking about ? There is an operator ? For example in C there is the & which generates a pointer to var if written on the left &var, you mean something like that in python 3 ? How ?

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


text:
Compositing output image shading
Is it possible to control the shading via a node in the compositor? I would like to generate two output images, one which has material shading and one without any shading - just the colors from the texture.
So far I only found how to control this option with the UI (of course) and with Python, but with these methods I have to render the image twice, which is somehow an overhead.

Cycles:
Shadeless image:
You can do this in cycles by enabling the Color passes in Renderlayers > Passes:

Then add them together in the compositor with Mix nodes:

Original image:

Post composite:

Shading only:
You can get only the shading of the render by dividing the full render and the color pass:

The reason the large cube appears as if it is still textured is that it has a Glass material, so that is the shading result. To prove this we can multiply it back with the color pass and we will get the full render again:

Blender internal:
You could get a "shadeless" pass in BI with the Color pass in Renderlayers > Passes:

Result:

Saving multiple images from the compositor:
You could then save the shadeless images in a separate directory with the File output node:

Note that the output connected to the composite output node will be saved to the path specified Render settings > Output. In the absence of a Composite  node, the raw render will be saved.
The above node setup the raw render is saved to the path in Render settings > Output (in this case /tmp/) and the shadeless image is saved to /tmp/shadeless/.

But how do I get a "noiseless" rendered image?

or is it even possible in Blender Render?

@Masala What do you mean by a "noisless" image?

For example your original image. I have the same problem with my model. If I use Blender Render, the result looks much cleaner.

@Masala I added a way to do this with BI. To reduce noise in cycles you have to increase the number of samples in Render settings > Sampling. Note that this will increase the rendertime.

BI with a color pass works fine - thank you.

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


text:
Convert Cycles depth/z to distance to image plane
I want to simulate a depth sensor with Blender Cycles, but the z-pass returns the length of the sight ray and not the distance to the image plane.  Here is a formula to convert the depth map, but I am not sure how to derive the terms from Blender, or a Python script using the Blender API.
I guess the focal length (f) can be derived with
bpy.context.object.data.lens_unit = 'MILLIMETERS'
f = 1000 * bpy.context.object.data.lens

The y-coord of the principal point by using the resolution
cy = bpy.context.scene.render.resolution_y / 2

The y-coord of a pixel (ys) and the length of the sight ray (zs) are also clear, but how can I derive the density (d)?

I got it with a slightly different formula. Given the field of view (fov) as
bpy.context.object.data.lens_unit = 'FOV'
fov = bpy.context.object.data.angle

and the intrinsic components of the camera as
f = (im_width / 2) / tan(fov / 2)
px = im_width / 2
py = im_height / 2

I can transform the depth as follows
zc[v,u] = zs[v,u] * f / sqrt(f**2 + (px - u - 0.5)**2 + (py - v - 0.5)**2)


text:
Hair particles on a moving and deforming mesh sequence
I have a .ply sequence of 10 frames (from a fluid simulation) imported with Stop-motion-OBJ which looks like this:

The mesh is constantly having a change in the number of vertices/faces as it is deforming.
Now, I want the hair particles to behave as strands attached to these moving faces and follow the motion of the mesh. Something like this:

I did try a basic hair particle system and before that I did the following as well:

Cleaned the imported mesh( removed doubles/recalculate normals)
Created a particle system on frame 1 Checked Use Modifier Stack
I also turned the stiffness down to a super low value.
Physics set to Newtonian and the rest pretty much the default.

This results in:

I notice two problems immediately. First, the hair particles are still rigid and stiff and two, beyond frame #10, nothing happens except that they continue to remain stiff.
I am not sure what I am doing wrong or how to go about doing this as I am new to modeling particle systems in blender. Any pointers are appreciated.


text:
How do I open my .blend file as a folder?
I want to make my own folder of grouped objects where I store my assets. I then want to be able to drag and drop it into any blender file so i can use group instance to access that folder and import any model i want. I know there are simpler ways to do this, but i wanted an entire library similar to the extra objects plugin. The only problem is I cannot access the information inside the .blend file. If i could access those files without the need to open blender, i could transfer data between blender files easily. Is there a way to do this?

what OS are you using? if you are using windows try 7-zip file manager.https://www.7-zip.org/

You can't.
blender files use a custom binary format for a lot of stuff, so you really need to open blender to modify them safely.
There is a bit more information here:
How would you go about reading a .blend file? I mean all of a .blend file, not just the .obj information
The best way to achieve similar functionality would be to do it as an addon within blender, so blender can handle file operations.

Won't it be possible by heavily coding? Just curious, since he actually starts a blender instance and want to open a list of .blend file while doing something complicated.

@Hikariztw  In theory yes, you could write your own software to do this (the question I linked actually has some info on this), but the amount of effort required is pretty high. You aren't relying on a stable public api, so you would often have to adapt between versions on blender (blender actually does this internally too), particularly as the encoding is also vary closely tied to blender's internal structures. I believe this is one of the main reasons they didn't leave the code to read old BI materials in 2.8 as it would have required keeping too much BI code around.

What you are describing sounds like appending an object from a Blender file.
Make a master blender file containing the objects you want (that you can bring in with a copy/paste) and then append (ShiftF1) specific instances onto a new blend file from there.

it kind of does provide an answer, likely they only answer that isn't "you can't"...


text:
Problem with Boolean-difference modifier – or – How to model a cuboid with two cylindric holes
Simplified: I want to generate a cuboid with cylinders as holes in Blender.

When I add with a difference-modifier, I come to pretty common problems/limitations.

There are lots of tips or advice like about this theme:
-   Solidify the objects before booleaning them
-   Recalculating normals
-   Close holes
I couldn’t fix the problem with this general advice. I know that these are the limitations of face-based modelling (with Blender) and not volume-based (other software) modelling. But there must be a work around for Blender?
I know a manual fix for this problem:
By manually and step adding the faces (in the Edit Mode by selection one edge and pressing [enter])

Well at least it is nearly a solution…

But anyway, this isn't helpful for a scripted solution...
So what can I do?
Can someone tell me how to code this?

code Example of this Problem for Blender 2.80b (warning, this seems to be not backwards compatible with Blender 2.79):
#code for Blender 2.80
import bpy

def booleanModifierApplyAndDelete(fromObject, removeObject):
        ##Switch to
        bpy.ops.object.select_all(action='DESELECT')
        bpy.context.view_layer.objects.active = bpy.data.objects[fromObject]
        bpy.data.objects[fromObject].select_set(state=True)

        ##addModifier Working
        bpy.ops.object.modifier_add(type='BOOLEAN')
        bpy.context.object.modifiers["Boolean"].operation = 'DIFFERENCE'
        bpy.context.object.modifiers["Boolean"].object = bpy.data.objects[removeObject]
        bpy.ops.object.modifier_apply(apply_as='DATA', modifier="Boolean")
        bpy.data.objects.remove(bpy.data.objects[removeObject], do_unlink=True)

#initial variables:

thickness = 2
width = 5
height = 2
overlap = 0.1

#delete all objects from previous Build
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete(use_global=False)

##add mainCube
bpy.ops.mesh.primitive_cube_add(view_align=False, enter_editmode=False, location=(0,0,0))
bpy.context.active_object.name = 'mainCube'
bpy.context.object.dimensions = (thickness,width,height)

#top Rounding/hole
bpy.ops.mesh.primitive_cylinder_add(vertices=64, radius=1-overlap/2*2, depth=width+overlap*2, view_align=False, enter_editmode=False, location=(0, 0, 1), rotation=(1.5708, 0, 0))
bpy.context.active_object.name = 'topRounding'

booleanModifierApplyAndDelete('mainCube', 'topRounding')

#cylindrical hole
bpy.ops.mesh.primitive_cylinder_add(vertices=64, depth=height+overlap*2, view_align=False, enter_editmode=False, location=(0, 0, 0))
bpy.context.active_object.name = 'hole'

booleanModifierApplyAndDelete('mainCube', 'hole')

Have you tried adding subdivisions/more edge loops to the original mesh? That can sometimes help.

Because an intersection between two cylinders at 90 degrees is a 45 degree miter, this isn't too hard to model. Z up, Y along the lenght, X across

K with C to constrain and Z to cut through, make 2 45 degree cuts into  a half-cylinder as shown
E (right-click to cancel transform) followed by SX extrude the long edges outwards
Select all the faces, E extrude them downwards, followed by SZ0 about their median point to flatten them.
Select the central hole-faces on both sides, and CtrlE > Bridge Edge Loops
Header select menu > Select Sharp Edges, and add some by hand to complete the circumference of the top hole. Set the Bevel Weight of all the selected edges to 1.00

Assign a Bevel modifier by Weight, Segments 2, Profile 1.00. I usually switch off the clamps, and reduce the width until everything looks correct. Assign a Subdivision Surface modifier.

I think this is the simplest way, without code, in Blender 2.80 Beta. I use the Bool Tool activated in the Add-ons in the Preferences.

Select the 2 cylinders, press n to bring up the panel, if not showing, and click on the Tools tab to show the Bool Tools.

Union them, now you have only one cylinder object, see below.

With this latest cylinder selected, add the cube to the selection and Difference them. Now you have the desired object shape.

Thank you.
My Beta version wasn't containing the Bool Tools in the Settings. So i downloaded the latest version.
I tried to reproduce every step...
The N key just opend the Objectmenu, so i used [strg]+[shift]+[B].
But i could not reproduce your result and was left with the open surface like before (the second picture in the question).

Okay, there seems to be a problem with the modifier, when the axis of the cylinder is located exactly in the surface of the cube. When I slightly move the cylinder, it works just fine.

May need to report it as a bug then. Must have been a really old beta. The Bool Tool is part of the beta for a while. For the 'n' key to work you need to hover your cursor over the modeling window you are working on. Feel free to mark my answer as a solution if it solved your problem.

Forgot to mention, to report a bug go to the Help menu and select Report a Bug menu item. The guys are very responsive there. If it is found to be a bug, they will resolve it in a few days, that is my experience. Give as much information as you can, if possible with images or sample blender file that has the problem and a very clear explanation.


text:
Manipulate Bloom to fit faces or into any shape?
I would like to fill up these empty faces with bloom as per this screenshot.

How do I do so? Here is my corresponding blender file:

Hello, you need to select the object, fill the faces, then give it the same material as the one that is glowing, what difficulty have you met?

I want that orange glow/bloom to fill up the faces. Unfortunately, when I did, the white emission was there instead.
Examples of what I really want:
https://ibb.co/SX7Nmz5
https://ibb.co/JdNdNhg

The bloom settings are in the render properties. Try increasing the radius. Bear in mind it's a screen space effect so it might not look the same depending on viewing angle and location

@FrancisMikeNathan Hello and welcome. Instead of having users go through links and external sites please use the builtin tools to embed images in your post. See How to upload an image to a post? or GIF

When I open your file, it's already in Edit Mode on the object you want to fill. So in this case the easiest way is:

Select all with A.
Press F to fill everything (fortunately it works that simple with this geometry).
There could be errors in face orientation, so press Shift+N to Recalculate Normals.
Give the object the same (or a different if needed?) glowing material as the other object.

What I want is for that orange bloom to fill up those empty faces, as I want that orange bloom to be a notable part of that mesh shape

@FrancisMikeNathan Okay, that is not really clear in your question - bloom is an overlaid post effect and cannot fill any faces. If you want the bloom to extend so far that it covers the empty faces, change the settings. If this is not producing the correct result (since the bloom comes from the inner object which does not cover the shape of the outer object, then you have to fill the faces and give them an emissive object with bloom like I described in my answer - if you don't want white emission, give it a new material with orange emission.

And if you have no idea how to create materials with different colors and change them on the objects etc. then I would highly recommend you watch some basic tutorials about materials, shading and textures in Blender.


text:
How do I project this object onto this hemisphere?
I'm not sure why I can't project this object onto a hemisphere, using a Shrinkwrap modifier. Whenever I try to it project it goes only onto one face of the hemisphere. Why is this?
https://justpaste.it/1paa8

you should rotate your object so that it "looks" to the sphere (rotate on y 90 degrees). if this doesn't help, pls provide blend file so that we know all technical details and can help you in detail.


text:
Blender model creates different format of 'f' records in exported .obj file
I exported a model from blender to an obj and I want to use it for a game that I am making. The problem is that the format of the F in the obj file is different.
This is what my obj file contains:
f 48//1 210//1 212//1
f 75//2 219//2 209//2
f 51//3 7//3 52//3
f 7//4 53//4 52//4
f 53//5 11//5 54//5

I want my obj file to contain something like this:
f 1/1/1 37/2/1 3/3/1
f 3/3/2 39/4/2 5/5/2
f 5/5/3 40/6/3 7/7/3
f 7/8/4 41/9/4 9/10/4
f 41/9/5 11/11/5 9/10/5

Can somebody explain how to use this format or how to make Blender generate the face with the right format?
(sorry for the confusing title; please tell me better titles)

Did you UV unwrap the model? The second number gives the UV coordinate.

Yes, I unwrapped it and it makes the same result.

Is the Geometry > UV Coordinates export option on?

Nevermind, it works after I unwrapped it. Thank you.

This was answered in the commentary by @scurest. In an .obj file, the second float in the slash-separated triple for each f face, represents the texture coordinate. If the object is not unwrapped, or it is exported without UV coordinates, the field will be empty.


text:
Why Is my stl Failing to export into cura
This is the Tale of Two models
and it's a noodle scratcher for me. Now it could be cura based issued so don't smite me down if it is. but It works about 30 percent of the time all the time.
I have two models. Both of the  model I've been working on. The finished product is going to be 3d printed.
The first titled Final copy with flourish, which I can export as an .stl file no problem (I mean it shows as having to be scaled up 100000% but, whats a few decimals between friends )
Now the second model titled final copy with flourish scale down  in which I made a few Minor adjustments to the base in attempt to get better sizing for my part, refuses to open on cura.

I have tried cura 5.3 cura 5.6 and cura 5.7.1 same results every time.
Any idea?
this one is the working model

This one is the broken model

By the way, there is a built-in addon called 3D Print Toolbox that allows you to check for potential problems with your mesh. I recommend enabling it in Edit > Preferences > Add-ons. Apparently you have several problems with your mesh. For example when you click Check All and click Intersect Face it will highlight the 985 intersecting faces. These need to be fixed including other all the other issues. Click each button to highlight the corresponding problematic faces. https://i.sstatic.net/A2lOBgl8.png

The answer is simple:
ALWAYS export models from the Object Mode
*with 2nd model you were trying to export it from Edit Mode.

(!)BUT:
before printing - you should fix these problems
(both models have them):
-Separate mesh parts
-Duplicated vertices
-Loose edges
-Interior faces
-Multiface edges
-Edges with non-contiguous normals
-N-Gons

And an additional info which could be helpful for you:
In the export window - ALWAYS set scale to 1000
(it's necessary due Blender and printing software use different units)


text:
How can I adjust an already bevelled surface?
This is an embarrassingly simple question.. but I don't know how to word it the right way so I am not able to find an answer via my own research.
I am making a plaque..
I want the plaque to have a beveled edge. Using the Bevel tool I was able to accomplish this. However.. I want a steeper angle for the center plaque. Whenever I try to extrude or move the center portion,I end up just raising the center plaque without taking the sides with it which is not what I want.
There has to be a simple way  to just  move the center face and take the edges with me? I know I have done it before.. is it because I used the bevel tool? does it have something to do with normals?

It looks like what you want is just to move the inner face in the top image upwards?
So usually with it selected you only need to press G then Z to make sure you are moving on the Z axis.
If the second image is what happens if you do it like this, then because you probably first tried to extrude it with E, saw that it is not what you want and aborted the action with Esc or right-clicking.
The problem is: the extruding consists of two combined actions, first creating a connected duplicate of the face and then moving it (or rotating or scaling if you press R or S while the Extrude tool is still active).
Cancelling the action now only aborts the movement, not the creation of the duplicated face. So if you first tried to extrude and then tried to just move, your selection is now the newly created face and you move that upwards.
When you do not want the extra face(s) from an extrusion which you already started, you have to undo the action after cancelling it by Ctrl+Z. Or you can select all with A and then hit M > Merge > By Distance to merge the duplicate face(s) into the existing.
By the way, if the first image is the result of the Bevel tool, then you most likely have scaled your object to be wider and flat in Object Mode without applying the scale afterwards. Which means, the bevel distance is not even on all axes. To apply the scale, select your object in Object Mode and press Ctrl+A. If you do this before using the Bevel tool then the angle would have been already steeper immediately while beveling.


text:
problems with retopology
I have done every setting i could, and started to retopology. but i get those holes on my mesh! problem seems to solved only when i increase the number of subsurf modifier like the pictures . Anyone can help me solved this?i also increase the offset value to 0.02 but i still get some holes...

Unfortunately, you can't solve this issue without further increasing of SS level. Other thing worth trying is to limit original mesh visibility to Wire or retopolgy mesh to X-ray.

by saying ss level you mean offset?

SS level is a Subsurf 's number of subdivisions. Shrinkwrap offset won't help if there is significant lack of geometry to wrap original mesh curvature.

why are these holes a problem? It's normal that some faces will cross the other topology. Also, why have you chosen Shrinkwrap rather than the simple Snap option for your retopology?

snap option for retopology what is that sir?

also how much subsurf should i go to? 2 is ok? or more?


text:
Bone "Mirror names" function makes bones parented
I wanted to ask if this is a normal behavior. SO the problem is I am creating a simple right leg rig with three bones and parent them to the pelvis. Then I mirror it to the left leg. And I have noticed that when I leave the checkbox "Mirror names" unchecked - everything works as usual. But when I want to mirror names(Thigh.l - Thigh.r) - the function works but causes some weird dependence between the bones - they rotate together if I try to rotate any one of them as if their rotation becomes linked. If I rename them - everything works as it should, but if I return to the Blender naming convention Name.l, Name.left - the glitch returns. Can someone tell me what I am doing wrong?

what operation do you do to mirror? where is the "mirror names" option? I personally use header menu Armature > Symmetrize when I want to symmetrize

I use simple mirror "command" because Symmetrize doesn't work properly for me for some reason. With the necessary bone chain selected I press Duplicate-Ctrl+M and there's the  "Mirror names" checkbox. That's where trouble happens

there should be no problem with symmetrize, I've forgotten the old way of mirroring the armature so I guess someone will help you better than me  :/

maybe share your file (version with the problem happening)

The file is a total clutter. Maybe instead you could check the same procedure that I did? I mean mirror bones the Ctrl+M way with the checkbox "Mirror names" checked? And if you don't have the same problem - I will just know that I screwed up somewhere and it's not Blender.

just keep the armature and share it  ;)   I've tried with ctrl M with Flipped Names and it works on my computer

Here. Check if you can download it pls https://drive.google.com/open?id=1TwbOOKu5aDSijXomKYpUL2Wah9-GUTj6

it looks like it works fine, what bone are you talking about?

I tried that with the leg bones. I ended up naming the right part differently - Thigh.p, Shin.p instead of Thigh.r and Shin.r - otherwise that glitch appeared - the bones were starting to rotate together as if parented.

if I call them Thigh.r and Shin.r it looks like it works normally, so as I asked please send the armature with the problem

Here. I haven't used the service before (https://blend-exchange.giantcowfilms.com/b/6434/)

I still don't see any problem + it's the same version as before, i.e. it has the names Thigh.p, Shin.p

I don't know - perhaps something's wrong locally, just can't fathom what it could be. Thank you anyway. Will keep on digging

no but please share the file with the problem, you did not

Here. I have removed all IK's - just the skeleton with those faulty legs

in the N panel > Tool > You've enabled the X-Axis Mirror option, is it the problem you're talking about?

Nailed it! Thanks man. IDK how it happened - perhaps yet another long forgotten shortcut. Thanks again.

In the 3D View N panel, deactivate the X-Axis Mirror option, it makes the opposite bone move when you move a bone.


text:
Custom cycles math function
I have created a material with several math nodes, and I think it would be much easier if I could just write my own function in Python which would take some values and produce the output I want.
Is there a way to do that? I checked the script node, but it looks like it's more to define custom shaders only...

No
Unfortunately there's currently no Eval / Custom math node for Cycles as described in the question. Unless it's an OSL definition it has to be pre-compiled. Look through the OSL examples, you might find that it is capable of doing at least some of what you want.
See the specs: https://github.com/imageworks/OpenShadingLanguage/blob/master/src/doc/osl-languagespec.pdf
And suggested reading: Understanding the Cycles 'Script' node
But..
Node trees can be scripted and groups can too. I imagine it is possible, with sufficient willpower, to write a script or addon that translates a (Python like) expression with variables into a node-group with inputs and outputs. Perhaps something like:
# {materialname: material.001, groupname: NodeGroup}
sockets = {inputs: [var1, var2, var3], outputs: [var4]}
theta = var1 / 300
gamma = sin(theta * var2)
var4 = gamma * var3

and to the outside world that would look like a single node.

To make a useful implementation is not a trivial thing, but it could move away from pure python syntax to a more domain specific syntax to provide more convenience for specifying the types of inputs and outputs (Vector, Color, numeric..).

That's an interesting idea, but it would require quite a lot of work... moreover, that would still not allow me to do things that are very easiliy accomplished in code, like a simple if/else statement. Thanks for your answer anyway.

agreed @PaoloTedesco I wish it was different, but that's where we're at at the moment. The Math node modes less than / greater than will output 1 if A > B or A < B respectively .. some form of logic is possible

@PaoloTedesco Mix nodes can work as if/else statements.  I have also figured out how to make an is equal to node group.

Yes - this is possible using dynamically generated node groups similar to Cycles Materials Math node with more than two inputs, coupled with a python script to parse the entered expression. Since the expression is built up using standard Maths nodes it is effectively just as efficient as if you had built the nodes manually - but with the ease of being able to simply enter the expression and let Blender do the hard work.
This can be achieved by installing the Maths Expression add-on available here, developed originally for Recreating Mandelbulbs with math nodes - simply download the .ZIP file, open User Preferences, and in the Add-ons tab select 'Install Add-on from file...' and point it at the .ZIP. Enable the add-on (by enabling the checkbox) and Save User Settings to make it automatically enabled when loading Blender.
You should now have a new 'Custom Nodes' menu in the Add menu of the Node Editor and within that a new 'Dynamic Maths Expression' option. Selecting this will add a node similar to the following :

Entering an expression into the Expression field will automatically build the internal nodes to implement that expression, automatically addin Input and Output sockets as required.
For example, entering a+b+c will result in the following node and internal structure :

Similarly you can enter much more complicated expressions such as calculating the distance of an x, y, z vector as (x*x+y*y+z*z)**0.5 :

Note that you can implement multiple expressions simultaneously by entering each expression, separated by commas. You can also assign a name to each expression using the '=' operator. For example, entering the expression Distance=(x*x+y*y+z*z)**0.5,Maximum=max(x,max(y,z)),Average=(x+y+z)/3 will produce the following node providing all three results :

In the comments to @zeffii's answer it mentions being able to implement conditional statements. This can be achieve by making use of the values of True and False being 1 and 0 respectively - by multiplying a statement by a conditional we can effectively mask it where the conditional is False and only include it where it is True, summing the result of multiple utually exclusive conditions. For example, to implement the ternary statement x*3 if x<0 else x*5 we could simply write :
(x*3)*(x<0) + (x*5)*(x>=0)

Note that the first term will be zero if x>=0 while the second term will be zero when x<0.
The add-on successfully interprets all the main operators (+, -, *, /), power (**), comparators (<, <=, >, >=, ==), and functions sin(), cos(), tan(), asin(), acos(), atan(), atan2(), max(), min(), log(), round(), mod(), abs(), as well as brackets to override the natural precedence and '=' as a means of assigning a label to an output (rather than the default of 'Value').
Note that the generated node tree is available via the Group node - as for any other node group - with a name starting 'DynamicMathsExpression'. The 'internal' nodes can be copied and pasted outside the group so that they can be used independent of the add-on.


text:
Texture transparency problem
I wanted to cover my model with fur, but I can't make my hair band look transparent
Here's my nodes. I've watched a bunch of videos and tutorials but still can't figure this out. What am I doing wrong?

I meant to write "Hi, everyone.", but the first part of it wiped away somehow

Can you try inverting the inputs of the Diffuse and Transparency shaders into the Mix shader?

It turned pink in material view and in render view it's now semitransparent

Does the image texture have an alpha channel then?

Uhh, maybe?.. I don't know, I'm still new to 3D and most of the time I don't know what I'm doing

Hey, I think it's now working! Didn't even register what happened, I just randomly was turning shaders on and off

Might be that you needed to force Blender to reload the image texture so it would draw.

Yeah! The texture for a moment went purple, I reloaded it and it now it workes! Thank you, kind stranger!

How do I update this post so it's now answered?

Make an answer post below with a screen capture of the fixed setup, and then you will be able to mark it as the solution tomorrow.

All is working now, thanks to  Craig D Jones


text:
How to make stripes on a cylinder
I'm trying to make a Saturn V rocket in blender 2.8 but I have some difficulty with making stripes on a cylinder.

I'm trying to make the black and white stripes of some stages but I don't know how to do it. I tried with UV Map but my cylinder has too many edges so it's hard to modify the UV map. I also tried with wave texture, mapping and color ramp nodes but I can't adjust the position of the stripes and if I change the scale it just adds more stripes.

Does someone have an idea of what I could do ?

UV Cylinder Projection, use that with the wave texture. Just a hint, I can make an answer from that later if no one does

I'd like to see that answer @HenrikD!  I could probably muddle through it myself but I'd appreciate seeing a nicely written up explanation of how and why, and it'll probably be more generally useful for later than my per-face solution.

While it's certainly possible to do this procedurally (as the comment from HenrikD is suggesting) I think I'd probably do this via material assignment.
It looks like you already have sufficient numbers of faces on the cylinder to pick the appropriate width, so I'd put an all black material on some faces and an all white material on others.  The white material is simply the default I get when I press the New material button, and the Black material is that default but with the colour changed to a very dark grey.

First add the two material slots (button marked 1) and then with the slot you want (probably Black, assuming the object starts out White by default), select some faces in Edit mode and press Assign (button marked 2).  The Assign button will only show up when actually in Edit mode though.
Here's what this looks like in edit mode (lookdev):

And here's the result in object mode (lookdev) with overlays off:
This way you can specify exactly which faces you'd like black and which faces you'd like white.  This works very well for cylinders as they tend to have faces exactly where you want to separate the materials, though you may need to plan ahead to have a number of faces divisible by the number of stripes you want.  A procedural solution would not have this issue and would be better in some other ways, but requires more setup and tweaking.
If I needed this to be a single material UV mapped texture, I'd then probably bake it out to a diffuse texture map.  I think explaining the process for doing so is a bit long for this answer but you can check out the blender manual on the subject or find one of many video tutorials on that subject, but I'll link one or attempt to expand the answer if requested.

I don't see any assign button in 2.8 Edit: It was just on the right side in the proprieties window

Is their a way to select example 1/8 faces?

Assign only shows up in Edit mode.  In the dropdown Select menu in edit mode when editing faces, try Checker Deselect.  You'll probably have to play with it a bit but using it and then maybe select less should get you 1/8th, eventually @Tornado77.  You may also wish to play with holding ctrl when you click to select a face, that'll select a path of faces from where you last clicked to where you just clicked.  This makes things SO much faster for most complex selections.  If not, C for Circle-Select is probably useful instead.

I think especially for this case the procedural solution makes no sense what so ever. I mean it is procedural and stuff but such textures should either be painted to have even more freedom or assigned like you showed if you dont care about realism (the edge between white and black is very hard and you can not have any kind of transition)

you could use a simpler (fewer edges and vertices) with a subsuf modifier so you can get a smooth cylinder on the render with a simple UV unwrap.
also, you could use different materials (black and white) on certain faces of the cilinder to have the same and more manageable results


text:
Why is the shader changing in the final render?
i created multiple objects from a single piece and set its shader to a mix of glass and translucent when I view it in viewport, everything looks fine, it takes on the shader it was originally meant to take but as soon as i move to final render, one of the pieces 'loses' its shader and becomes opaque with a slit between it. also there is slight decolouration along the edges (i have marked) of a pre-made .stl designed in solidworks.
viewport screenshot -

but in the final render, I got this ;

when you post pictures of one model that has an issue, make the two pictures from the same viewpoint please.

Make sure you disable any duplicates of your model from being rendered by toggling the camera icon in your Overlay Tab. Without looking at your scene, this looks like there's an older version of the model which is hidden in the viewport but isn't toggled off in the rendered view but without seeing the blend file it's difficult to know what's going wrong without more information or access to the file itself.


text:
Why does applying smoothness to a mesh reduce the number of vertices?
I was playing around with Blender meshes and importing them into Unity when I made an interesting discovery. In the tool shelf, under "Shading", there is a Smooth button and a Flat button. Now I already knew about these buttons. What I didn't know is that when I apply Smooth to an object and import the object into Unity, the object has less vertices than it would have had if it was set to Flat (which is the default).
I was always under the impression that applying smoothness to an object would increase the number of vertices. But it seems to be doing the opposite. This is great because I can now replace many of the objects in my game with their smoother counterparts from Blender, which should significantly reduce the number of vertices in my scene and that would be good for optimizing.

Actually shading type doesn't do anything to mesh apart from manipulating normals. Maybe it is an export settings, like apply modifiers could reduce geometry. Better share a test file to investigate this issue.

Could be that the exporter uses edge split to create hard edges / flat shading which would double the vertex count.

The shading options (Smooth and Flat) refer to how the vertex normals are calculated, which then essentially tells the renderer how to bounce light off edges.
For smooth shading, the vertex normals are calculated by averaging each face normal that they belong to. The face normal is simply the direction perpendicular to face, on the outward side.
For flat shading, each vertex can be considered to have multiple normals, one for each face it is part of, in the direction of the face. Many programs represent this by splitting each vertex into multiple vertices, one for each adjacent face. This is most likely what you are seeing in Unity, as that is most likely what the renderer in Unity is doing.
There is another kind of 'smoothing' called subdivision, which as its name suggests, splits faces into smaller faces. This obviously adds vertices, and is probably where you got the idea that smoothing adds vertices.


text:
Parallax mapping in Cycles
So I have some textures from a minecraft resource pack:
One normal map:
And one Specular and parallax map, I think:

Do you guys know what could be the right node setup tp make this work?
My current node setup:

It's not the works but still doesn't look right any ideas how should I treat that specular/parallax map?

Alright, lets go over this.
Firstoff, the surface albedo (color). You got that one, just straight into the color.
Onto the roughness. Roughness maps are black and white. You've already set your image texture to "Non Color Data", however I'd recommend feeding it through a color ramp. This does not only allow you more control over the actual texture but also elminiates any residual color. Personally I don't know if blender converts the greyscale-map into data before moving ahead or if it preserves color, since normal maps are colored based.
I'd remove the "Invert" node, it does weird things to the values (I've not once used to great success). You can achieve the same result with a color ramp, with more control over it.
So, the normal map. Let me go on a bit of tangent here about bump maps as well, since you used a bump node.
A bump map is a very simple way of non-destructive displacement in which a greyscale map controls light behavior. It is based on a few tricks of human perception. However it does not include any actual data on simulated geometry.
This is where normal maps come into play. It gives a more detailed description of how the light is supposed to interact with the surface, which is why it is that nifty shade of pink. Different colors correspond to different geometry directions.
We could move on to vector displacement maps here, but that's quite a way ahead.
Back to your node setup then! With the theory covered, how does one implement that? You've nearly got the implementation down here. Since a normal map uses colors and not a greyscale you're going to need the normal-map node (as you have rightly done). Connect it to the Normal input of the Principled BSDF shader and there you go! Don't forget to set the normal maps texture node to "Non Color Data" for it to work properly! This is because you're not taking color data from the texutre map, but rather geometry data.
Just as a heads-up, specular differes from roughness. You can use the it as a roughness map here, which is great, however specular is a different kind of workflow compared to roughness.

HE asked for a parallax cycle's setup. All you´re doing is just arming pbr shader. What happened?


text:
How to make a circular array with a fixed radius. whose elements gradually scale?
I used an array modifier with a scaled and rotated empty offset object. but there is no option for a fixed radius.
Then I tried dupliverts on an edge with a fixed radius, but don't know how to scale the duplicate gradually.

For this, you can use DupliFrames.
Create a Curve Circle at the desired radius.

In the object to be duplicated, Object tab >'Duplication' panel, choose 'Frames', set the number of frames to the number of duplicates, and uncheck 'Speed', as shown.
You can also set which axis of the duplicate which follows the path, in
the 'Relations Extras' panel. Here, it's the default.

In the circle's Data tab, check 'Path Animation' with the 'Frames' also set to the number of duplicates, and 'Follow'.if you want the rotation of the duplicates to align to the curve.

CtrlP Parent the duplicate to the circle, with
the 'Follow Path' option. You may have to use AltO on the duplicate to clear its origin to get it to sit on the path.
In a timeline, set up an animation of your duplicated object, and
keyframe its scale at frames 1 and 12, by right-clicking in the Transform > Scale panel of the properties region of the 3D View and selecting 'Set Keyframes' . Here, the scale was 1 on frame
1, and 2 on frame 12.

As indicated in the manual, you can use ShiftCtrlA to make the duplicates real.


text:
How to merge vertices of a ripped model?

After I spent like 2 hours rigging a model with riggify I've realized the model I've ripped the other day has the articulations unmerged (shoulders, knees, etc), after moving one arm.
Is it possible to merge all the holes without going arm by arm, knee by knee, and making sure all is properly merge?

Ok, I solved using "remove doubles".
Thanks anyway.


text:
Edit Mode: disable closest selection
Is it possible avoid Blender 2.79 from selecting the closest vertex/edge/face in Edit Mode?
I find that even when clicking well outside of my model, the closest possible target often seem to selected, I have no idea why Blender would behave this way.
Thx!
Update: the behavior I am seeing: https://streamable.com/y447y

Welcome to Blender.SE. I'm not quite sure to really understand the behaviour you would like to see: you would like to able to click whitout selecting? what should the click action perform instead?

@Carlo I am not able to explain it in words, so I am just going to add a video showing my issue (see update)

So you would like to decrease the radius of the click slection to be able to clik near the edge without selecting? May I ask what's the reason behind clicking with the selection button without actually wanting to select? BTW, here's a similar question: https://blender.stackexchange.com/questions/107815/component-selection-distance

@Carlo it's intuitive to click somewhere else to de-select the items. and I am quite surprise that question never got an answer!

In 2.79 developers preferred to use a dedicated key for deselection. I think the few peole who have seen the question did not have an aswer. The issue isn't ruining the workflow, as the deselction is based on a different approach, so it's not seen as a big problem and few people were wandering about changing the threshold distance as clicking far a way from object currently has no puropose.

Not really an answer as there is currently no solution to my specific problem in 2.79. But I did find some alternative to de-selection.
I have created a keymap based on the 2.80 "Industry Standard Keymap" proposal in case people ran into the same issue as me.
https://gist.github.com/bitinn/22f6fefe026d8d9e83468864edb8f835


text:
poll failed - context is incorrect
Goal
Generate several scene from files (csv, yml with parameters) and thus, initialize the scene before loading a file.
Bug
In my code, I am creating a plane(object mode) and want to subdivide it (edit mode). Yet I have this error message:
RuntimeError: Operator bpy.ops.object.editmode_toggle.poll() failed, context is incorrect

can anyone has a solution?
Info: before toggle to edit mode, I select and activate the plane
and on my Blender GUI, the plane seems to be in Edit mode (with the vertices visible) yet I am still in object mode
UPDATE
It seems that it come from the bpy.ops.wm.read_homefile()..
@rob: I made a little addons that you can place in a directory "test_addons" in the scripts/addons. This show how you cannot (?) use
bpy.ops.wm.read_homefile()

with a toggle_mode right after...
__ init__.py
bl_info = {
    "name": "Test Addons",
    "author": "",
    "location": "View3D > Tools > Test_addons",
    "version": (1, 0, 0),
    "blender": (2, 7, 9),
    "description": " ",
    "wiki_url": "",
    "category": "Development"
}

if "bpy" in locals():
    import importlib
    importlib.reload(ui)
    importlib.reload(new_plane)

else:
    import bpy
    from bpy.types import PropertyGroup
    from bpy.props import (PointerProperty, FloatProperty)
    from . import ui
    from . import new_plane

class MyPlane(PropertyGroup):

    size = FloatProperty(name="Size", default=5., min=0, max=100,)

classes = (ui.NewToolBar, new_plane.NewPlane, MyPlane)

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
    bpy.types.Scene.my_plane = PointerProperty(type=MyPlane)

ui.py
import bpy
from bpy.types import Panel

class NewToolBar(Panel):
    bl_category = "test_addons"
    bl_label = "test_addons"
    bl_region_type = "TOOLS"
    bl_space_type = "VIEW_3D"
    bl_context = "objectmode"

    def draw(self, context):
        self.layout.operator("my_plane.new", text="New Plane")

new_plane.py
import bpy
from bpy.types import Operator

class NewPlane(Operator):
    bl_idname = "my_plane.new"
    bl_label = "My Plane"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):

        # I load the home file
        bpy.ops.wm.read_homefile()

        # create an object and change its mesh in EDIT mode : I have an error message...
        my_plane = bpy.context.scene.my_plane
        bpy.ops.mesh.primitive_plane_add(radius=my_plane.size, location=(0., 0., 0.))
        bpy.ops.object.mode_set(mode='EDIT')
        bpy.ops.mesh.subdivide()
        bpy.ops.object.mode_set(mode='OBJECT')

        return {'FINISHED'}

Error message
bpy.ops.object.mode_set(mode='EDIT')
File "C:\Blender\2.79\scripts\modules\bpy\ops.py", line 189, in __call__
ret = op_call(self.idname_py(), None, kw)
RuntimeError: Operator bpy.ops.object.mode_set.poll() failed, context is incorrect

can you post the code? then we can try and replicate the issue.

If you want to be in a certain mode I'd recommend testing context.mode and using  bpy.ops.object.mode_set(mode='EDIT')  As mentioned posting code, and how and where you are running it will give more context to q.

Would strongly reconsider the use of read homefile in an operator like above.  The context gets trashed after the call.  Would trash anything in the file too, doubt there would be any undo available....

Actually, I did reconsider it now as I found out that I would have this issue...
The goal I have is to generate several scene from a set of file. Thus I need to initialize the scene before creating a new one (or delete everything). I am still wondering if there is a nice way to do it !

The elephant in the room is 2.8.   eg  see the write-up re  templates

this guide looks very nice ! I will read it carefully ! Thanks


text:
Python 2.8 custom texture painting active tool
I'm working on a addon that has a custom active tool in the viewport. This tool is supposed to allow you to do basic texture painting, while at the same time doing some other stuff.
My problem is, that I'm not aware of a way to make the active tool able to do texture painting. I know that there is some python api for texture painting, but that seems to only work in Texture Paint mode, which I don't want to access because my active tool is in object mode.
So here's the question:
How do I get my custom active tool to allow the user to do texture painting on a selected texture?

With this tool, are you going to then combine modes and allow the user to tweak the settings of the texture paint tool that is active?

Yes, that's the plan. It doesn't really matter to me which mode is active, as that wont change when working with the addon. The main point is that you can do texture painting and tweak the corresponding options, while having the custom active tool selected.


text:
GN_City Generator
I'd like to fill curve separated by road (blue lines) and area (red cross).


text:
Display Texture in viewport
I am new to using Blender 2.8. Actually to Blender as a whole. I am creating a game in unity and needed a .obj file. Currently I have an obj file, but is has no colour at all. It's just plain white. The textures(.png files) came separately unfortunately and I have to join them myself. The problem is though when I import the obj files I can see the design in shader view, but not in the viewport. And so I can not see any colours when I export it. I don't know how to make Blender export the version I see in Shader View, not in the ViewPort. I have attached some pictures to make it clear. Please remember that I just started using Blender and have no experience. I just want to use Blender to add the texture to the obj file. I took some time on other sites for help, but there were too confusing for me(since I am still new to Blender). I would appreciate an answer that I can understand.
I can't seem to upload the view from the viewport, but it is the same model, but without colours. Can anyone help me or point me in the direction on how I should fix this?
Link to file example
https://drive.google.com/drive/folders/136JAU39QuD3YjroLCU9UfEzixqg6PBRa?usp=sharing

You can display textures in solid viewport by clicking on the drop down arrow in the top right of the 3d view then you'll be presented with a few options, in the color choices you should select Texture. Is that what you are looking for ?

In order to output FBX textures to UNITY, it is
It is recommended to internalize the texture information into FBX beforehand.
Try this method.
Setting up the blender material

As a reminder, you need to make sure that the texture is properly saved in a folder somewhere.
FBX Settings

Store the textures inside the FBX file.
Keeping the texture inside (COPY) will increase its versatility.
Setting up UNITY

Output the image and material information inside FBX in UNITY.
If you want to extract only the texture, you can use only the texture.
If you want to set the material settings, press the Extract Material button as well.

If you want the transparent color to be reflected on UNITY, change the rendering mode.
Change the "rendering mode".

If you want to set up a normal map, add a normal map node in between.

I believe your problem's issue is that you are in the view Material Preview instead of the correct view Rendered View.
You can also easily toggle these views with the Z key shortcut menu.

Hi, It seems like I may have confused you and Gorgious. I can click z and switch the the dev view and I can see the colour. The problem is I can't export it with the shader as an obj. It is just a blank file. This is a big problem for me in Unity. I have to create a new material for each material that exists that uses that png texture. So I need to create 20 new materials and assign them the png in Unity. I wanted a way to do that quickly in Blender. That way when I export as an obj I can just use that in my project, without creating any new materials.

The routine of needing to recreate materials for exported .obj files is quite normal I believe... Have you tried other supported formats such as the .fbx format?

Yeah, I tried fbx, but it still doesn't work. All of my other assets came with the material. That's why I thought I could export with the correct material, not the blank one. If it isn't possible I guess I could just manually recreate the materials.

The only other format I could think of that would be useful to this particular scenario would be the "glTF" format. Blender already has natively import/export capabilities for it, and Unity supports them too.

Ok, I will try using that format tommorow. I really appreciate your help.

No problem. Apologies that I do not have a straight-up answer for your problem's issue. :)

Hi, Sorry for not replying earlier, but it seems gITF is a format that Unity does not support. I should note though that when I drag the file to link, I can see the tank with full colour.

Ok, So I just updated my post with a link to a file example. It might help you figure out what my problem is. If not I will have to manually create the textures in Unity. Thanks for your help.

Hm... This is awkward, apparently Unity doesn't support the .gltf format "officially," but does unofficially through 3rd-party plugins such as this one: https://github.com/KhronosGroup/UnityGLTF


text:
How to import an image sequence?
I have a collection of images that I want to import into the movie clip editor as an image sequence. The problem is that it only showed one image in one frame (1/1 instead of 1/22).
How can I fix this?

Looks like a little bug: to solve, when importing your image sequence, you have to sort your files by name.

It works now, thanks!


text:
How can I boolean the shape on the curve surface?
I have some questions when I use boolean to hollow the groove on the surface.
First, I duplicate the texture and try to shrinkwrap on the surface, but some of them will distort while they snap on the surface. How can I fix it?
Then, the surface will disappear after I Boolean the surface with the object. I can't find what happened in this modeling process.
There are some pictures below which can show the problem I meet.

The texture I want which I made beforehand.

After I shrinkwrap in the surface, the shape will distort

The surface disappear after I Boolean them with the shape

do u want it like this? [1]: https://i.sstatic.net/jnhcI.jpg

@Chris yes!! how can I fix the problem that exists above?

You have to apply all the modifier before. And yes, then it is not non-destructive anymore, but I don’t know another way.


text:
The rendering result is different from the scene in camera
I follow Blender Guru's tutorial "Ways to improve your lighting" online to learn about the light setting. I use EEVEE to render my picture, but the color in the rendering seems different than the scene in the blender's camera.
What can cause this issue?
The file is below

are you sure that there are no hiddens object that can affect lighting? I see some hidden plane that is hidden in viewport and not in render, what is it? Is there anything else like this?

provide your blend file and i will check it out. it's hard to say with just a few infos. And there could be a lot of reasons...but you can also search here for "render different viewport"

@Chris I have already uploaded the blender file. Please help me to solve this problem.

Press Alt + H to reveal a hidden plane - since the plane doesn't have its visibility disabled for render, it obstructs light when rendered but not in viewport when it's hidden.

Oh, thanks! I found that the invisible plane which obstructs my light.


text:
How to fix Blender in sculpting mode sculpts in wrong side of ear?
When I sculpt from the side I need, it pierces from the wrong side. Sorry, for my bad English, but here's a video:
How to fix Blender in sculpting mode sculpts in wrong side of ear?
How to fix it?

Okay, I found more appropriate answer by check for Plane Trim and setting value to 0.25 :
Result:
How to fix Blender in sculpting mode sculpts in wrong side of ear? Use PLANE TRIM


text:
Numpy / lidar point-cloud to mesh: How to separate polygons?
I have lidar data in numpy structured array with x,y,z and other lidar specifics that I can use to colourize and display.
I have got pretty far on the numpy side for filtering the points down (near, far, density) and multiplying the points to create cubes at each coordinate, that even get larger the further away they are.
I have used this as a baseline for my code, and can't really find any other examples. And it's quite fast, I can bring in large point-clouds at thousands of frames in under a few seconds.
My only issue now is that when I create the mesh, it looks fine at first! But when I enter and leave edit mode, there are all these connecting edges added.. I'm sure this due to how I'm creating the loops.

(Before and after entering edit modes)
Here's my code:
# parse and fitler the point_cloud here, such as min, max range, density, and quantize
point_cloud = self.filter_cloud(np.load(self.url + file + self.ext))

mesh = bpy.data.meshes.new(name=file)
linear_scale = self.get_linear_scale(point_cloud)

# Create a 8 cube vertices at each point cloud x,y,z coordinate
vertices =  np.concatenate((
    np.array([point_cloud['x'] - linear_scale, point_cloud['y'] - linear_scale, point_cloud['z'] - linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] - linear_scale, point_cloud['y'] - linear_scale, point_cloud['z'] + linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] - linear_scale, point_cloud['y'] + linear_scale, point_cloud['z'] - linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] - linear_scale, point_cloud['y'] + linear_scale, point_cloud['z'] + linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] + linear_scale, point_cloud['y'] - linear_scale, point_cloud['z'] - linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] + linear_scale, point_cloud['y'] - linear_scale, point_cloud['z'] + linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] + linear_scale, point_cloud['y'] + linear_scale, point_cloud['z'] - linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] + linear_scale, point_cloud['y'] + linear_scale, point_cloud['z'] + linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
), axis=1).ravel()

num_vertices = (vertices.shape[0] // 3)

# Create a list of polygons from those vertices using their indexes
vertex_index = np.array([
    np.arange(start=num_vertices * 3, step=8) + 0,
    np.arange(start=num_vertices * 3, step=8) + 1,
    np.arange(start=num_vertices * 3, step=8) + 3,
    np.arange(start=num_vertices * 3, step=8) + 2,

    np.arange(start=num_vertices * 3, step=8) + 1,
    np.arange(start=num_vertices * 3, step=8) + 5,
    np.arange(start=num_vertices * 3, step=8) + 4,
    np.arange(start=num_vertices * 3, step=8) + 0,

    np.arange(start=num_vertices * 3, step=8) + 2,
    np.arange(start=num_vertices * 3, step=8) + 3,
    np.arange(start=num_vertices * 3, step=8) + 7,
    np.arange(start=num_vertices * 3, step=8) + 6,

    np.arange(start=num_vertices * 3, step=8) + 3,
    np.arange(start=num_vertices * 3, step=8) + 7,
    np.arange(start=num_vertices * 3, step=8) + 5,
    np.arange(start=num_vertices * 3, step=8) + 1,

    np.arange(start=num_vertices * 3, step=8) + 4,
    np.arange(start=num_vertices * 3, step=8) + 5,
    np.arange(start=num_vertices * 3, step=8) + 7,
    np.arange(start=num_vertices * 3, step=8) + 6,

    np.arange(start=num_vertices * 3, step=8) + 6,
    np.arange(start=num_vertices * 3, step=8) + 4,
    np.arange(start=num_vertices * 3, step=8) + 0,
    np.arange(start=num_vertices * 3, step=8) + 2,
], dtype=np.int32).flatten('F')

# notate where each polygon starts
loop_start = np.array([
    np.arange(start=num_vertices * 3, step=8) + 0,
    np.arange(start=num_vertices * 3, step=8) + 1,
    np.arange(start=num_vertices * 3, step=8) + 2,
    np.arange(start=num_vertices * 3, step=8) + 3,
    np.arange(start=num_vertices * 3, step=8) + 4,
    np.arange(start=num_vertices * 3, step=8) + 6,
], dtype=np.int32).flatten('F')

# How many vertices does each polygon have?
loop_total = np.full(loop_start.shape[0], 4)

num_vertex_indices = vertex_index.shape[0]
num_loops = loop_start.shape[0]

mesh.vertices.add(num_vertices)
mesh.vertices.foreach_set("co", vertices)

mesh.loops.add(num_vertex_indices)
mesh.loops.foreach_set("vertex_index", vertex_index)

mesh.polygons.add(num_loops)
mesh.polygons.foreach_set("loop_start", loop_start)
mesh.polygons.foreach_set("loop_total", loop_total)

mesh.update()
mesh.validate()

obj = bpy.data.objects.new(file, mesh)
self.add_to_scene(obj, frame)

I have also tried the much slower, but more straight forwards from_pydata, but it just hangs for a while, then crashes.. (the verts and faces part works fine on it's own, it hangs and crashes at the from_pydata part)
verts = list(map(tuple, vertices.reshape((vertices.shape[0] // 3), 3)))
faces = list(map(tuple, vertex_index.reshape((vertex_index.shape[0] // 4), 4)))
mesh.from_pydata(verts, [], faces)

Any advice or documentation would be kindly appreciated! Maybe I can delete the edges programmatically? Maybe there's a way to break up the loops so they don't connect? I tried printing loops and vertex data for normal cubes and cubes with connecting non-polygon edges but they seem to be identical.

From my experience from_pydata is pretty fast, but it does bug out when the entry data is not properly formatted. Have you tested it out with only a few points to see how the different data lists look like ?

Can you provide a scan to test?

If Mesh.validate() is true, there is something wrong with your data. (would perhaps call it before update) Could you provide a link  to full source  to test?  Ok see you've answered while commenting... looks good.

Wonder if making a direct point cloud from single verts then using a particle system or duplivert object will be quicker than as above.

I was going to try the particle system as an alternate, since loading the pointcloud as verts only is way faster. I think I'll need to do some more research on using particles for this, but if I can map the other attributes to colourize each particle, then that would be perfect and more desirable than creating real mesh.  The main goal is to colorize this and render various concepts to then decide what would make sense in a real time system.

Thank you @Gorgious! On further investigation, I defs messed up something. The worst part was that it was working somewhat using the lower level mesh creation.
I gave from_pydata a longer look, it seems a bit slow, but all that matters is that it works, and I can't complain about that! Now Just need to assign the colours.
point_cloud = self.filter_cloud(np.load(self.url + file + self.ext))

linear_scale = self.get_linear_scale(point_cloud)

vertices =  np.concatenate((
    np.array([point_cloud['x'] - linear_scale, point_cloud['y'] - linear_scale, point_cloud['z'] - linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] - linear_scale, point_cloud['y'] - linear_scale, point_cloud['z'] + linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] - linear_scale, point_cloud['y'] + linear_scale, point_cloud['z'] - linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] - linear_scale, point_cloud['y'] + linear_scale, point_cloud['z'] + linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] + linear_scale, point_cloud['y'] - linear_scale, point_cloud['z'] - linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] + linear_scale, point_cloud['y'] - linear_scale, point_cloud['z'] + linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] + linear_scale, point_cloud['y'] + linear_scale, point_cloud['z'] - linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
    np.array([point_cloud['x'] + linear_scale, point_cloud['y'] + linear_scale, point_cloud['z'] + linear_scale], order="F").ravel(order="K").reshape(len(point_cloud['x']), 3),
), axis=1).ravel().reshape(-1, 3)
num_vertices = vertices.shape[0]

vertex_index = np.array([
    np.arange(start=num_vertices, step=8) + 0,
    np.arange(start=num_vertices, step=8) + 1,
    np.arange(start=num_vertices, step=8) + 3,
    np.arange(start=num_vertices, step=8) + 2,

    np.arange(start=num_vertices, step=8) + 1,
    np.arange(start=num_vertices, step=8) + 5,
    np.arange(start=num_vertices, step=8) + 4,
    np.arange(start=num_vertices, step=8) + 0,

    np.arange(start=num_vertices, step=8) + 2,
    np.arange(start=num_vertices, step=8) + 3,
    np.arange(start=num_vertices, step=8) + 7,
    np.arange(start=num_vertices, step=8) + 6,

    np.arange(start=num_vertices, step=8) + 3,
    np.arange(start=num_vertices, step=8) + 7,
    np.arange(start=num_vertices, step=8) + 5,
    np.arange(start=num_vertices, step=8) + 1,

    np.arange(start=num_vertices, step=8) + 4,
    np.arange(start=num_vertices, step=8) + 5,
    np.arange(start=num_vertices, step=8) + 7,
    np.arange(start=num_vertices, step=8) + 6,

    np.arange(start=num_vertices, step=8) + 6,
    np.arange(start=num_vertices, step=8) + 4,
    np.arange(start=num_vertices, step=8) + 0,
    np.arange(start=num_vertices, step=8) + 2,
], dtype=np.int32).flatten('F').reshape(-1, 4)

mesh = bpy.data.meshes.new(name=file)

verts = list(map(tuple, vertices))
faces = list(map(tuple, vertex_index))
mesh.from_pydata(verts, [], faces)

mesh.update()
mesh.validate()

obj = bpy.data.objects.new(file, mesh)
self.add_to_scene(obj, frame)


text:
Rotation of fan animation keeps changing rotation from clockwise to anti clockwise and vice versa when i want it to rotate in only one direction
i am a beginner and am working on a fan animation for a small project but it keeps turning from anticlockwse to clockwise and then back to anticlockwise. i have set the fan to rotate on the z axis from 0 to 72000 degrees and interpolation mode is quartic and easing mode is set to ease out. this happens from frame 54 and can be seen if you look at each keyframe carefully. it would be a great help to know why this is happening and would love to know how to resolve it. Thank you

Could it be the Wagon Wheel Effect

@batFINGER that’s what I thought, though for a moment there I was mentally pronouncing wagon with a German accent, thinking it was a name; trying to be too big for my britches, lol

I downloaded your .blend and opened it up. When scrubbing through the animation, the rotation value on the left kept only going up.
EXPLANATION
What you are experiencing is something called the Wagon Wheel Effect.
To summarize, this is when it appears that something switches direction when it actually doesn't. If you have ever driven on a highway, you have likely seen how it appears that the other car's wheels are spinning in reverse.
Something similar is happening with your blender file. The animation speeds up enough that each frame it is turning somewhere between 180 and 360 degrees. This means that it appears that it is spinning in reverse.
Now that you are aware that it is not actually changing direction, you could be satisfied.
If not, keep reading.
FIXING IT
To change how it appears, you need to change the interpolation type.
To do this, hover over your timeline and press Shift+F12. This will switch your window type to the dope sheet editor.
Now, to  change the interpolation mode, press A to select all, Numpad . to zoom to selection, and T to change interpolation mode.
Now, press linear on the dropdown that appears. This will make it so the fan spins at a constant speed the entire time.
If this is not satisfactory, experiment with the other interpolation modes until you get what you want.
Finally, if this was helpful, please upvote, and if it answered your question, please mark as accepted answer.

If going linear what can also help  is using a prime number. The value 72000 and the common frame rate of 24 have many common factors.  As explained in wiki article it depends also on symmetry of spinning object. An 18 spoke wagon wheel will appear stationary if each frame rotates an exact multiple of 20 degrees, overlaying the perfectly onto previous, next etc. A little more or less will give the illusion of forwards backwards.

@batFINGER I hadn't thought of that. Good idea. Thanks for your suggestion!

Via drivers https://blender.stackexchange.com/a/139145/15543

thanks for the answers. was very helpful but i actually wanted to animate the fan starting . thats why i used the quartic interpolation mode with ease in. using a linier curve would make it a constant speed. so is it not possible to achieve this along with rotation without this effect?

What I would do is make a keyframe at the point that you want the fan to get to full speed, and one at the beginning. Then you can make the interpolation between the first 2 keyframes a curve and then the rest to be linear. Do the same at the end if you want it to stop.

A touch of motion-blur might help. Or, at least, it would look like it does in the westerns. :)

i found that first making the interpolation mode of graph quartic and easing mode as ease in and then after a few frames after the fan speed considerably fast and starts having the 'wagon wheel effect' inserting a key frame at that position(60th frame in my case) and then making the graph from the 60th to the end as linear gives me almost the desired result. hope it was helpful.


text:
How to join multiple object while the material with shader and uv stays the same?
I renamed all the uv so when it was merged it will be merged as 1

but even after uv is renamed etc. the looks still changes when joining.

images after joining
what causes this and how do I fix this?
here is the file link:

You have 3 objects. The one called car breakdown has a material that uses the Generated output of the Texture Coordinate node. The one called car breakdown.027 has a Gradient Texture node, which by default also works as if it used the Generated output of a Texture Coordinate. Generated takes the proportions of your object into account, if you stretch your object on X in Edit mode it will also stretch the texture. When you join all these objects, the new object is longer, it explains why your textures are stretched. The solution is to adjust the position of the needles in the ColorRamp nodes of your materials.


text:
Overlay Text Strips above Render
In the animation, Stickfigures would be communicating amongst eachother. Since I don't have voice actors, I'd be using text instead; Specifically, effect strips.
When text effect strips are added, the main render is excluded.
Here's an image for reference: https://i.sstatic.net/YBBQK.jpg
The Final render should include the scene, not just the effect strips.

if my answer doesn't help, pls provide blend file, thx

You'll need to set the Composite Blend to Alpha Over. This is a default setting in the latest releases of Blender. If you're not running the latest official Blender version, you should update.

In VSE use Shift-A -> text and move the text above your render like this:

result:


text:
How to make bullets appear in a blender animation?
I want to make an animation where a plane shoots many bullets at another one.
I don't want to create all bullets and make them invisible since that will make the window laggy and increase render time to near infinity.
I want a bullet to not exist until a specific point and then at a specific frame it exists and then at another frame it's nonexistent again.
I couldn't try anything since nobody ever had a tutorial on this.

Hello, could you add a little more information about your setup, what you have so far, what you have tried, why you think your solution will make your window laggy,... ?

If you create instances of one bullet instead of making them all single unrelated objects, then the system load won't be that high.

You should try out a particle system...   On the target aircraft, attach a Force that is negative (like -20,000).  You can create a prototype bullet and in the Particle Rendering, Render as OBJECT, with your prototype object selected as the instance object.  In Field Weights, you might change the Gravity to zero.

I even happened to have a cruddy airplane model sitting around, so here's a
(I just replaced my file with an update, as the "bullets" weren't rendering. Had to change Particle Source to Emit from FACES)

very nice, i like it!

Thanks, it works!

@entertainmentanimations -- consider marking this as a solution (checkbox), so my creds get a bump for my effort.


text:
Attach a single object to a single vertex of a mesh+skin
See the image below. I have a plane I wish to attach to the end vertex of a "branch" (Note: the branch is a mesh, not a curve).

I've tried selecting the plane, then Shift + selecting the branch, going into edit mode, selecting the end vertex of the branch and then Ctrl+P and "Make Vertex Parent." This produces a bunch of instances along the branch, but I don't want those - I only want a single plane on the end vertex. I can disable instancing on the branch to get rid of the extra planes, but the original plane follows the root vertex on the branch, not the vertex I selected when I did the parenting.

How can I attach this single plane to a single non-root vertex of another object, and have it follow that vertex?
Edit: The suggested solution from this question doesn't work - it still parents the plane to the root vertex of the branch, not the vertex I selected.
Edit 2: I've discovered that the incorrect positioning seems to be related to my "branch" mesh, which is actually a line of vertices with a skin modifier. When I disable the modifier the plane/leaf attaches correctly to the end of the branch mesh. But when the skin modifier is enabled it flips.

It looks like that's still tied to the root vertex motion. When I try what's described in the second answer (https://blender.stackexchange.com/a/220466/125759), I get the same behavior as I currently do - the leaf object gets tied to the root vertex of the branch.

I think my issue was related to my strange mesh shape - just a line of vertices with a skin modifier. I was able to resolve my issue by instead using a cube and  parenting the plane to a vertex on top of the cube.


text:
How to use only direct light?
I want to create a viewshed analysis with Blender. Something like this:

I tried it using light in Blender Render and Cycles but I can't get it to work due to the light fall off. I have already set the light bounces to 0.

You can do that easier in a compositing step.

Choose whichever renderer.
In the Rendering Tab of the Properties Editor, activate the Shadow Pass.

The shadow pass hold exactly that information: where light hits and where not. The intensity isn't relevant. It is also antialiased.


text:
3 point curve for every point in GN / Curvature Comb
Bigger Picture:
Im trying to create a Curvature Comb for surface diagnostics.
So far Im able to create a curvature Line for given point on a curve.
I want to do this for all the points on a curve and connect "loose ends" of the Lines.
The result should look something like this
Question itself:
Im creating a 3-point circle for a point on the curve and its neighbours to find out local radius.
I want to create this circle for All the points, but I have no idea how to work with instance on points in this case. Im missing something like "For Loop".
Any ideas?

Link to the file

I think we may have to write a Circumcircle group of our own.

Can you elaborate? Do you mean to do custom group to determine radius with math nodes, without using Circle node? And than to use that to change direction and lenght of instanced lines?

Yup . Just finished one. 2 queries, because I'm lazy.. 1. How do you want to treat end-points? Just leave them out? 2. The direction of the comb's teeth. Normal to the curve, or away from the circumcircle's center? (Not quite the same)

Would you mind sharing? I want to connect end points like on the first picture. For curves away from circle seams fine, otherwise normal to surface

Here you go .. this contains a group, which given 3 points a,b,c in XY,  returns the center and radius of the circle passing through all three. It could be the starting-point to an answer, which I'll write up when I can, if you like. At the moment, it's just demonstrated in another group, which draws the circumcircle of a triangle in XY.

Thank you! Its a great starting point.
It seems to work corectly only in 2D (coordinates of the points), but definitely something which I can play with.

Strictly, yes, I should have called it CircumSphere.  But you need only the radius, which is correct? If you needed the circle, you would have to rotate the it to the normal of the abc triangle. There's an abc triangle for every point in the curve,  (with the point at b) except the end-points.

thanks for explaining, this helps.

Let us continue this discussion in chat.


text:
How can i get viewport cavity data?
I am trying to create a cavity map in Blender.
I try many ways which I found in youtube or other websites,but the result is not I want.
https://www.youtube.com/watch?v=WX9J_LChpjE
I found this man are trying to rebuild blender view port cavity with shader editor,then i realized how good the view port cavity is.considering blender able to generate this cavity in view port,can we get the view port cavity data?

Can you give us an idea of how you want to use this? It's basically short-range AO.. and you can render from the workbench (viewport-solid) renderer itself.. How you choose to generate / capture the AO would depend on your use-case, I think?


text:
Light Behaves Weirdly Only on One Mesh
So here's the problem: I'm trying to get a starship to behave properly to light, but it only seems to respond at certain angles. The best way I can describe it is that there's specific angles that when the camera faces them they're dark, the area seems to move with the camera, like as I rotate it around the ship at a certain point darkness suddenly just encroaches the ship.

It behaves like this with or without lights in a scene so I think the problem is with the Mesh but I already checked the normals and they're facing the right way, I've been trying to figure out what may be causing this but to no avail. And just to reiterate the shadows seem to move with the camera, (not the camera object but my viewing angle) but don't follow it completely around the ship, they're just at their strongest at a specific angle, but I think weaker shadows follow it around but I can't be certain.

What does the shader/material look like? Does the object have custom normals?

There's a bunch of them on this object I can post an image of two of them and let you see if there's anything wrong with it, but no I haven't touched the normals at all. (I did mess with them to try and fix the problem but I undid all of that.

Not a diagnosis, but it's very odd to plug  a Displacement  vector output in to the 'Normal' input of  a Bump node. Typically Bump would expect a scalar 'Height', and optionally, a vector 'Normal', which for some reason is not the default. Typically, the output of a Displacement would be into the 'Displacement' input of a Material output node. Can you share a little sample, say, of a chunk with one of the materials, on https://blend-exchange.com/ ?

I can definitely do that if you can explain how I could share a chunk at all.

You've tried deleting all lights in the scene? Are you using an HDRI background? Try disconnecting your Bump node from the shader.

I just thought, if the model is huge, or copyright, or whatever, edit a piece out of it with a failing material, and share a blend with the piece in it, and packed images, if relevant.

Yes I have, but the darkness still persisted.  I am not using a background, I actually just have a plane in the back with a picture on it, I moved that plane from one image to the next to show it isn't affecting the lighting. Also I did disconnect the bump map however I really need this texture to work so I can't exactly get rid of it.

Also the ship is completely original, However I can definitely get a chunk out and post it.

Ok I Think I uploaded the chunk.

Xenoture .. Blend-exchange should have given you a link to share it with.. you can edit the link into your Q.

You are correct I just thought it directly uploaded it to this post, that was my mistake.

I do want to say I've done a lot of repurposing and I only have some basic knowledge of nodes so I end up reusing old nodes from old works and copying them into new things, deleting what's irrelevant an replacing them with what I want. I have a poor memory of what everything does but that node configuration is how I do bump maps. However the results are like a chimera of instructions from various tutorials because typically it takes a few to get the results I want.

OK, images not packed, so can't be definitive. But recommend simplifying. Separate  (blend file) for modelling and materials only, With only model / lighting / materials.  No simulations, animation.. And then build up materials simply, step by step. From the image names, i'm guessing they should be connected directly to the Principled BSDF.. like this. (The weird shading seems to originate with the connection of Displacement to Bump). Normals seem OK.

See that does get rid of the effect that's messing with the lighting but it also gets rid of the texture I want. I absolutely hate how it looks when I apply the image into the color, I actually am trying to keep the original colors of the images I have as far from this as possible. However you are correct. You've pointed me in the right direction, after you told me that I started fiddling with the displacement node and cranked the height up to 16.1 (I have no clue what this thing does only that it's nessicary for some reason) and after setting it up like that now the shadow effect is gone.

So apparently changing the height setting on my displacement node to 16.1 solved the problem. I have no clue how or why but I can't argue with results.


text:
Is it possible to iterate through particles in python?
Is it possible to iterate through particles like vertices of a mesh, to kill some?
I'm trying to remove overlapping particles of still droplets.

I don't know how to do it, but I do know that each particle does have it's own unique Index number -- I found it in the "Particle Info" node's Index value. I hope this helps.

You might also be able to figure out some more useful information from this post on the Particle Info Node

I'm not sure if this is possible in the current release, but it seems like it will be in new releases (I think).

Yes it is to some extent.
ps = obj.particle_systems[particle_sys]
particles = ps.particles

# on large objects list comprehension seems to be slower than index
# and . dotted access is also a slowing factor
for i in range(len(particles)):
    # alive_state
    # angular_velocity
    # birth_time
    # die_time
    # hair_keys
    # is_exist
    # is_visible
    # lifetime
    pt = particles[i]
    if pt.is_exist and pt.alive_state == 'ALIVE':
        # do something... add_loc(pt.location[:])
        ...
    # prev_angular_velocity
    # prev_location
    # prev_rotation
    # prev_velocity
    # rotation
    # size
    # velocity

pt.location would give the coordinate. The Particles API seems to be slightly under-developed, but perhaps this info will help you.

i'd like to think i tried .is_visible before suggesting that, but am not sure anymore.

the only property I routinely used for experimentation was pt.location "out of sight out of mind", also .size might be useful

unfortunately the particle API is weak sauce. One thing that you need to do is to trigger an update (to scene..i think). Rotating 3d view after passing a new value to a particle is enough to show what i mean. However in relation to doing this for many particles in a scriptable way you may want to add an event handler to trigger that update. (kind of outside of the scope of the comment section...).

so per frame, set all the particle properties..and then before rendering the frame you update the scene.


text:
Blender Game not rendering models correctly, normals recalculated and flipped,
The model looks fine in blender (texture, material, and render),
but when I run my app the parts of the model don't show.
The normals have been recalculated and flipped many times (sometimes only affected areas too) and all doubles are removed yet nothing seems to change.
By playing around with settings I've been able to get better and worse results, here's the best result I've gotten:

(doesn't seem to be changed by culling settings) and here are all my settings:
Blender Games issue
All textures and materials have the same setting applied, the missing bits have the same textures and materials as the non-missing bits

Can't you provide a example blend file? You may try to tweak the material's Backface Culling and Alpha Blend modes, but I'm not so sure.

I figured out what was going on after a few hours of trial and error, the issue was that the faces that weren't displaying had more than 4 vertices, once I triangulated the faces everything worked fine. The issue with some other textures disappearing depending on different culling and normal settings was due to the object being scaled in the negatives on the y-axis, blender doesn't like that apparently.


text:
Why does it open my old project every time I create new file after reinstalling Blender?
Every time I create new file this file keeps opening:

This answer will help you.

https://blender.stackexchange.com/questions/186/how-to-change-blenders-default-startup-settings https://blender.stackexchange.com/questions/5574/how-to-remove-the-default-cube/5575#5575 https://blender.stackexchange.com/questions/73825/blender-opening-with-a-scene-i-have-deleted

I would guess you've had that project open, deliberately, since installing the new Blender? If so, you've probably pressed Ctrl+U, which saves the opened file as your start-up scene. You'll need to delete all objects and set it up as much as you can remember like the normal start-up scene, then press Ctrl+U, and say "yes" when it asks you if you want to "Save Start-up Scene."


text:
Can only select one metaball any others are only conneteced to the first
Hi when I add in metaballs only one can be selected and moved, moving it rotates the other balls, and I can't move the others, this is only with metaballs. Here's a video showing what I mean https://www.youtube.com/watch?v=dMSJwpvO9PE&feature=youtu.be

You video doesn't work for me. Can you post A still image of your scene and outliner? Be aware that Metaballs have an edit mode, so the others may have been created 'inside' the main one in edit mode.

@Sazerac Sorry! I had the video as private and not unlisted

Meta-objects, like many other objects, have an edit mode. In edit mode you can create more meta-objects that are part of the first, and will be transformed all together when they are transformed in object mode.
Meta-objects will still stick together regardless of the whether they have been created in object or edit mode

with Metaballs you need to select the invisible circle around the Metaballs to move them.

This is the right answer, should be selected as accepted.


text:
Is it better to use a cap when using the hair tool to avoid the hair particles from entering the mesh?
I notice on some models there appears to be a cap for lack of a better term
on which the hair particles are attached, does this help prevent the inclusion of the particles into the mesh? I'm trying to create a lion main for a pre-made mesh.

Hair caps are usually used because they make controlling distribution of hair strands easier. In my experience vertex groups alone are not always ideal due to how hair children interpolate. A good example is around the things like ears or anything similar should should have a gap in hair emission, where you may have faces with some vertices set to generate hairs, and some space in-between that should not, with vertex groups alone, these partially weighted faces may still get interpolated hairs, but with a cap you can just delete them.
Hair caps may also have slightly different topology that the underlying mesh to control the emission of hairs (e.g. extra loops / edges along where you want a part to be can make the result better defined).
Due to limitations in the collision system for hair they can improve collision handling with some extra setup, see here: How do I stop hair particles going through the body and the head?