text:
user preferences window won't load
I just got Blender and it works fine for the most part, but when I open the preferences window it's blank and white. Does anyone know why this might be?
Thanks.

Welcome to Blender Stack Exchange! Which version of Blender is it? 2.80 is still in beta, so if that's the version you have it's likely just a bug that hasn't been fixed yet. You can also try switching an editor, say the 3d view, into the preferences window. In 2.8 the place to do this is at the top left of the 3d view, otherwise it's at the bottom right (the little menu where you can select a different editor).

It's version 2.79 from the windows store. What is supposed to happen when I switch the editor? I think I did it but it just says "Save user preferences" on the top bar and nothing else happens.

If it's 2.79 I would double check your graphics card drivers, and make sure they're all up to date. All of blenders editors are interchangeable, including that top bar with the file menu, which is what happened in your case. That was simply just to test if it was the user preferences or the new window, and it appears to be the new window. If you want to access the user preferences until you figure things out, you can switch out the 3d view at the bottom left (not bottom right, my bad) where there is a little cube icon. Then you can switch it back once you've adjust what you want.

Oh, I understand now thank you. Problem solved.


text:
Blender white screen on startup
I previously had Blender installed through the windows store (which worked ok), but I uninstalled it, intending to get the Steam version and/or the 2.8 beta. I tried both, but when I open either one it just shows a terminal window, then a blank white screen. I also tried the current (2.75b) version from the Blender website, which had the same problem.
My computer is a 64 bit windows 10 laptop with an NVIDIA NVS 4200M GPU (I think).
Can anyone help me find out why this is happening?

Never use the Steam version. It causes more problems than it solves. Try Blender 2.79 instead, but use the zipped version and extract it to your desktop.

I tried it with the zip version, that doesn't work either. It does the same thing as the others.

run it from a command prompt and edit your question with any error messages.

I just updated my graphics card driver manually and it worked for me.

The problem has been solved. It turns out my GPU needed a driver, but it had to be downloaded manually instead of just clicking "update driver".

source: Stack Exchange

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

sort: votes


text:
How to manually merge active actions for GLTF export?
Currently working on a project that involves animating a truck bed camper unfolding, which has to be exported to GLTF with a couple different animations.
The animation is created in Blender using empties parented to each other, with pistons created using Damped Track constraints on empties.
All the animated empties have NLA tracks created for them.
Exporting as GLTF works great, as long as I enable "Bake All Objects" and "Active Actions Merged".
The issue is, I don't want all the active actions merged - there need to be a couple different actions that can play separately. But if I disable "Active Actions Merged", all the animated objects export as separate actions, which also isn't what I want.
Is there any way to selectively merge actions together, without simply merging all of them?

Does this answer your question?  https://blender.stackexchange.com/a/267223/18161

Thanks - actually no because I just figured out a similar solution on my own haha, but I appreciate the comment. Will post my solution below.

Figured out a solution.

Use "NLA tracks for "animation mode" in export settings (instead of "Merge All Actions")
By default this ignores empties that have constraints but no keyframes
To solve this problem, add keyframes to any empties that need to be animated (they don't need to create any motion, just add a basic keyframe at the beginning and end of the frame range)
This will create an NLA track for the empty - this can then be "pushed down" to create an NLA channel, which can be renamed to be part of a certain action.

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


text:
Is it possible to render a single image on multiple machines (split the render load)?
Since rendering breaks up an image into separate chunks for each thread, would it be possible to offload some of those threads into the network and have other machines do the work?


text:
Rigid Body Problem - objects not colliding
I am trying to complete BlenderGuru's Quick Rigid Body Fun tutorial, but keep getting stuck when trying to add Rigid Body to the chain. My top chain link stays in mid-air, while the rest fall and collide with the floor and each other. But they should just hang in mid-air. According to the tutorial, the plane needs to be set to Passive under Rigid Body, and the top chain link should be Active , but unchecked in "Dynamic". The other chain links should all be Active and checked Dynamic. The top chain links stays as it should, but link#2 just falls right through. Any help appreciated :-)

There are a number of important things to check when setting up a Rigid Body simulation :

Use the correct Collision Shape - on your example screenshot you show the first object as having Shape set to Mesh but check that all of your objects are similarly set. Convex Hull is more efficient but Mesh shape is required for interlocking objects and/or more complicated (non-convex) meshes.
Use a realistic scale - your example screenshot shows your Collision Sensitivity Margin set to 4cm which implies that 1 Blender Unit equates to 1 metre. Each link of your chain appears to be many blender units in size (when compared to the Grid which is visible in the screenshot). This means you have links that are many metres in length and will therefore behave as very large objects, with very large forces as they interact with each other. This can cause unstable simulations - especially if your 'steps per second' simulation setting is too low.
Ensure each object has its Scale applied - it's not clear if that is the case with your example. In order for Rigid Body objects to behave realistically, they need to have a consistent Scale in each of the X,Y,Z directions. To achieve this, select all links in the chain and press Ctrl+A and select 'Scale'.
Ensure the origin of each mesh is at its 'centre of gravity' - if you've created your chain using an Array modifier, split into its separate parts then the origins may be in the wrong place. Select the objects, click Set Origin in the tool panel (T) and select 'Origin to Centre of Mass'. A wrongly positioned origin (especially if it is outside the bounds of the mesh) can produce some very odd simulation results.
If the simulation still behaves erratically, you may need to increase the precision of the simulation - in particular the Scene/Rigid Body World/Steps Per Second - don't increase it too high as this can also cause problems with the simulation accuracy.

If you have addressed all of the above and still have a misbehaving simulation then it would help to upload an animation of what is occurring in your simulation (can tell a lot about how it's set up by how it moves and interacts) and/or upload your Blend file.
In order to demonstrate the difference applying the scale can make, here's a simulation where the chains have not had the scale applied (and have been stretched in one direction and have the scale of (1.0,1.0,5.0)) :

And here's the same simulation with the only difference being that the scale has been 'applied' (so they meshes are identical but scaled as (1.0,1.0,1.0)) :

Thank you so much for that thorough answer, highly appriciate it :) Indeed the "Scale" did work with this.


text:
I scaled my character and now hair particle's don't work
Hey I made a fully rigged character. Everything was fine but after I built a scene for him I realized that he was way to big. So I applied scale to his armature and everything worked but the hair particles would not follow the scale. I looked it up and reasoned that I had to redo the hair. But the problem is that even when i add new hair particles it's children still acts like the object was scaled down with them on it. I have deleted the object the were on and made a new one but it still does not work and the hair goes everywhere even on a different particle system. I looked it up and I can't find the answer to it anywhere (Interloped children stay on the mesh fine, but they go to multiple places and make it hard to put them were i want)

Did you apply the scale to your model after scaling it?

I scaled down the armature in object mode. It was not applied but now that it is nothing has changed.

If you scaled your object, you also need to apply the size to that object. Otherwise the particle system will not work, because it's tied to the object and not to the armature.

Thanks. My character has a lot of objects attached to him so if i scale him it often messes stuff up. But ill revert him to his original size and join and mess around with stuff to try to get it to work. However its also happening to new objects that are unrelated to the character


text:
Blender BGE slow motion problem
first sorry for my bad english.
logic.setTimeScale(0.1) is only slowing the gravity and Animations down,
but not the Actuators, so i can press "w" and im fast as normal.
I tested it with logic bricks and python - same result, not slowing down.
I want a slow motion for the hole game.
How can i fix it? Thanks.

This is probably because you are using the "loc" tab on the actuator (red). You should use the Linear Velocity tab instead (purple).

The loc section works by teleporting the object a certain distance per frame whereas the Linear Velocity tab actually takes time into account.

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


text:
Select shortest path with python
I am using Blender 2.78. I have found 2 vertices that I want to automate measuring the shortest path between them on the surface. I have written the following function that I give the object that I found the vertices on and the vertices themselves, it looks like this.
def surf_len(ob, path):
    # first select the object in edit mode
    # and select the vertex path to measure
    ob.select = True
    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.mesh.select_all(action='DESELECT')
    for vert in path:
        vert.select=True
    bpy.context.object.update_from_editmode()

    # select the shortest path
    r = bpy.ops.mesh.shortest_path_select()
    bpy.ops.object.mode_set(mode='OBJECT')
    ob.select = False
    if 'CANCELLED' in r:
        raise ValueError('Cannot build shortest path: {}'.format(r))

However when I run this code I always get back CANCELLED and get the exception thrown even though I think I have selected valid vertices.
I also read somewhere that I might need to use the bmesh module for this so I did modify the code like this
def surf_len(ob, path):
    # first select the object in edit mode
    # and select the vertex path to measure
    ob.select = True
    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.mesh.select_all(action='DESELECT')
    me = ob.data
    bm = bmesh.from_edit_mesh(me)
    bm.verts.ensure_lookup_table()
    for vert in path:
        bm.verts[vert.index].select_set(True)

    # select the shortest path
    r = bpy.ops.mesh.shortest_path_select()
    bpy.ops.object.mode_set(mode='OBJECT')
    ob.select = False
    if 'CANCELLED' in r:
        raise ValueError('Cannot build shortest path: {}'.format(r))

But this always raises ValueError: The mesh must be in editmode which is weird because when I run this from the console within blender, rather than as a start up script, I can see it working
I would really appreciate any help.
Cheers

OK sweet I managed to figure this one out myself with a lot of perseverance (and grumbling) ... This is the final code I needed
def surf_len(ob, path):
    # first deselect all other objects and select our target object
    bpy.ops.object.mode_set(mode='OBJECT')
    bpy.ops.object.select_all(action='DESELECT')
    ob.select = True
    bpy.context.scene.objects.active = ob

    # next select all the vertices in out path
    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.mesh.select_mode(type="VERT")
    bpy.ops.mesh.select_all(action='DESELECT')
    bpy.ops.object.mode_set(mode='OBJECT')
    for vi in vert_indices:
        ob.data.vertices[vi].select = True

    # select the shortest path
    bpy.ops.object.mode_set(mode='EDIT')
    r = bpy.ops.mesh.shortest_path_select()
    ob.select = False
    bpy.ops.object.mode_set(mode='OBJECT')
    if 'CANCELLED' in r:
        raise ValueError('Cannot build shortest path for {}: {}'.format(vert_indices, r))

I think the main thing I needed was the vertices objects I was passing in, that I had found earlier, had completely crazy indexes and just were not the same ones I found for some reason, this seemed to happen after I added a bunch of other objects to the scene
So instead I record the vertices index when I found it on the object originally and then use those for the select which seems to work .... I don't know why this happens, all I was doing was saving a list of ob.data.vertices[vert_index] to a list, when I came to use them later the vert_index were ok to be used in the function above, but the actual vertices seemed to be no good ... ie the code did something like this
    vert_list = []
    for face in ob.data.polygons:
        for vert_index, loop in zip(face.vertices, face.loop_indices):
            vert_list.append(ob.data.vertices[vert_index])

If anyone knows why this vert_list is no good after a bit of editing to the scene I would be very interested.
Anyway once I figure out that problem, the rest was just a matter of fiddling about to get the correct modes etc ... I think bpy.context.scene.objects.active = ob helped too
Cheers all.

Ok, I don't expect this answer to be accepted as a full answer, because I think you just want the existing bpy.ops to work with the correct context

The shortest path bpy.ops.mesh.shortest_path_select() can only find the path across the surface which uses existing edges and verts.  This is not necessarily the shortest path on the surface
To find the shortest path on the surface (as if a ball could roll not constrained to the verts and edges) you will need a geodesic distance field, and then "walk" back up the field to measure the distance.  This will still most likley be an approximation, but a much more accurate aproximation than if you have to wind your way across edges.

So, if you are ok with the limitations of #1, then solving that problem is easy.
If you are hoping to achieve what I described in #2, then all the information you need is in this blender-artist post including links to hosted code
https://blenderartists.org/forum/showthread.php?393477-Geodesics-on-Surfaces

For more theory, search "Stack Exchange Geodesic Triangle Mesh."

-Patrick

Thanks Patrick .. I realised that 1. will be at best a rough approximation .. but in my case as the polygon has lots of faces/vertices so it should be good enough ... if you can comment on what part of my code might be causing shortest_path_select() to fail that would be helpful ... I have found http://blender.stackexchange.com/questions/43127/how-do-i-select-specific-vertices-in-blender-using-python-script, but it did not help :(

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


text:
in python load blender file & delete objects
I have a python file I am using in blender to load up an old file another script saved previously using save_as_mainfile(). I want to delete some objects from the scene, but for the purpose of this question I will try to delete them all. Here is the code.
bpy.ops.wm.open_mainfile(filepath=filename)
bpy.ops.object.select_all(action='DESELECT')
for ob in bpy.data.objects:
    ob.select = True
result = bpy.ops.object.delete()
print("{} objects remain because results={}".format(len(bpy.data.objects), result))

The result of running this is "35 objects remain because results={'CANCELLED'}" .. I do not know why the operation was cancelled, and I am hoping the len is 0. I have checked and I am in OBJECT mode (indeed trying to change modes gave me a poll error of some kind).
Thanks.

this appears to be something to do with running python operations directly after calling open_mainfile() ... If I load the file using open_mainfile() but comment out the other code, then run this manually at the python prompt once blender has opened I have no problems ... is there perhaps a ready event or something that I need to hook ?

I found that I needed to add a persistent post loader callback to do the work in ... this seems to allow the scene to load properly before running the commands ... ie something like this
@persistent
def load_handler(dummy):
    # do the deletes here now everything is properly loaded up
    bpy.ops.object.select_all(action='DESELECT')
    for ob in bpy.data.objects:
        ob.select = True
    result = bpy.ops.object.delete()

bpy.app.handlers.load_post.append(load_handler)
bpy.ops.wm.open_mainfile(filepath=filename)

There may be other ways, but I need the code I call to work quite generically so this solved my problems well. I am however not clear on the whole load process and why it didn't work originally?

Its because you're using bpy.ops. When using operators in code the context has to be correct, among other things. That's why you were getting the polling error.

Instead of looping on all object you can do this:
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete(use_global=False)

If you want to delete some specific objects you can use the below script. I had a .blend file (provided below) which has three cubes Cube Cube.001 and Cube.002, in this script I deleted both Cube and Cube.001 where Cube.002 is not deleted.
import bpy

C = bpy.context
scene = C.scene
bpy.ops.object.select_all(action='DESELECT')
for ob in bpy.data.objects:
    if ob.name in ['Cube','Cube.001']:
        ob.select = True
        scene.objects.active = ob
bpy.ops.object.delete(use_global=False)

.blend file can be found here:

I have not tried this, but I will. The trouble with that solution though, is later I wish to refine the for loop to select objects based on their name. So I was hoping to find out what I am doing wrong rather than just hacking around the problem.

@othane, I've updated my answer and provided another solution to pick certain objects that you want to delete. Please accept the answer and upvote it if it solved the problem. I've also provided a .blend file having the script :)

I have tried adding the ob to the scene then calling delete with use_global set False, but unfortunately that did not solve the problem. The output still reads "35 objects remain because results={'CANCELLED'}"

Well, my answer definitely works as shown in the provided .blend file, this means that your script fails somewhere else. Could you provide your .blend file to be able to help you further?

I found that if you first try to load the file from the script like so bpy.ops.wm.open_mainfile(filepath=filename) then I found the delete is CANCELLED

Although this didn't help me with that specific problem (because I needed the load handler it seems) ... I did just run into the issue where I needed to set the  bpy.context.scene.objects.active so this was quite helpful in the end, thank you @Tak

I did up vote already ... but as it didn't actually solve the problem in the title I wont make it an answer (that would be confusing for others) .. thanks.

You should avoid using bpy.ops and try using a low-level approach:
for obj in bpy.data.objects:
    obj.user_clear # clear this object of users
    bpy.context.scene.objects.unlink(obj) # unlink the object from the scene
    bpy.data.objects.remove(obj) #delete the object from the data block


text:
Can I render ambisonic b-Format audio?
Im looking for a way to render spatialized sound to 1st order ambisonic b-format. I assumed the 4ch option in scene audio settings was the key. But that just seems to render a quad speaker setup?
The 3d sound works ok at runtime in blender, and seems ok when rendered in stereo. But I need the soundfield "rotate-able" in video player for VR experiences.

You may be interested in this answer.

For VR, it makes no difference in which format your multichannel sound is stored, as long as the interpretation of the directional information is done correctly (which again depends on the application).
Both variants (4CH and Ambisonic) contain the information about which direction a sound comes from. They just use a different description of the directional information.
With Quadraphonic sound, the sound comes from four fixed positions, and with the Ambisonic format, the directional information results from an intersection of the W/X/Y/Z axes.
With sound over stereo headphones (which is common in VR), these sound sources are then remixed, depending on the viewing direction.
But if you really insist on a "real" Ambisonic format, you can always convert the four-channel sound into an Ambisonic format yourself.
However, this is definitely not the job of Blender, but of professional audio tools (hardware/software).

I have the same needs, unfortunately I cannot find an easy solution.
The best alternatives I have fund until now are:

render audio from Blender in 4 channels as described here:
Spatial Audio Render
but this is not ambisonic, you have to reprocess audio tracks in a DAW like Ardour as seen here: https://www.youtube.com/watch?v=jzg6bKAdu2A

render audio from Blender in 5.1 (not ambisonic) and then reprocess with a DAW like Reaper as described here: Render in 3D audio for YouTube

I'm not familiar with DAWs and I'm experimenting with the first solution, but I'm encountering various difficulties, mainly because I can't find documentation explaining how to proceed. Furthermore, following the first path, I think you can manually "direct" the audio but I didn't understand if you can direct the source automatically. Let me explain: if I have a moving Speaker in Blender, the source moves during the animation, but with the first method I only saw how to place the source manually in a fixed point. Maybe there is a way but I'm not understanding how.
I suppose I'll give a try to the second method in the next days when I'll have time.


text:
Force render a 360 video in Eevee
So I am working on a project and I would like it to be a 360 video. The issue is eevee currently doesn't support 360 rendering. Is there anyway I could get passed this? Maybe rendering a reflection or a cube map? I would need this to be an animation so it would be a hard manually rendering frame by frame.
Would I be able to code a script that renders to a 360?
Thanks for the help! :)


text:
Weird shrinkwrap behavior with SVG
Context: I'm trying to place an SVG file to a non-flat surface using shrinkwrap.
Problem: For some reason, the svg file gets deformed in a strange way, leaving black lines behind as if it wasn't flat... I've tried every shrinkwrap option and doesn't matter how much offset I put it remains the same.

The SVG file is exported from Illustrator and the vertices are perfect there is nothing out of place, this happens only when applying the shrtinkwrap. Anybody got any ideas?

If you shrink wrap to a non-flat surface you need to have more internal topology so that the mesh could be shaped to fit the target.
Convert it to a mesh and Remesh that with Quad and Preserve Mesh Boundary. Then shrink wrap it to the target.
The topology can also be made better after Beautify Faces.

This is what happens when I apply Quad:
link

Well, that doesn't look ok... how does it look before quad?

Looks OK, but as you can see where there are too many stacked edges is where the problem occurs when shrinkwrapping, is there a way of getting rid of those? Not even sure if that's suppose to happen... image

Try run Beautify Faces to get rid of those thin, elongated triangles. Will probably make the result look better even without remeshing with quad.

Beautify Faces did at least 99% of the job, didn't need to apply Quad. Thanks!


text:
Blender 2.93 Denoising Strength settings
In the Blender Documentation there seems to be several settings for tweaking the denoising (see image)
However, inside Blender, the only options are choosing which denoiser, and the amount of samples (as seen below) .
Has the Denoising strength settings been removed or moved elsewhere?

Are you in the right docs for the right blender version?

Not sure but maybe these settings are not available for optix denoise. Try using any other denoiser type

You're in the manual for the wrong version. The first screenshot you are showing is as it looks in my Blender 2.83.5 and it's located in the View Layer Properties.
The second screenshot you're showing looks like my Blender 2.93.1, and there the Denoising settings are located in the Render Properties.
I don't remember when exactly this was changed, seems like somewhere between 2.8x and 2.9x versions.

Thanks for the answer. Indeed, things seem to have changed between the versions (but I couldnt find out how/why through the documentation.) In the View Layer Properties in 2.93.1 the options shown in the documentation also do not exist, is the answer then that the Denoising Strength options have been removed?

As I said in my answer, in 2.93.1 the Denoising settings are in the Render Properties, not in the View Layer Properties. And yes, the manual sometimes is outdated because people do not always update everything unfortunately. So it seems they didn't update the screenshot and it's still the same for 3.0 as well. I guess the change was made because they changed the way it works? I'm not sure about that since I don't use Viewport denosing anyway, and for rendering I use the Denoise filter node in the Compositor... it's faster and usually gives better results.


text:
How can I export a video of a wind-blown object shot by a moving camera? (2)
How can I export a video of a wind-blown object shot by a moving camera?
The objects I prepared is several papers looking objects. They are inside the square wire frame and constantly blown by a wind and turbulence (Force Field) I made them by referencing this nice tutorial on YouTube. https://www.youtube.com/watch?v=9Nx38iwliZI
I also prepared a camera which moves around the objects. And I wanted to make a short movie clip. But when I rendered this scene as a movie (H264), the camera follows the pass but the papers are not moving. And the image I get is just like the camera moving around the papers that frozen in the air.
Could you please advice me what I missed? Is there any other step I need to do before rendering movie?
Thank you.

In addition to the question,I've attached a screenshot.
I'm hiding extra objects that doesn't related to my question.
All the paper objects are inside of the wire frame. If I play the animation, they move. But they don't move once I render it as a movie clip. Only the camera does move.
Image 01: looking down the whole situation (at the point of frame "0")

Image 02: get closer (at the point of frame "500")

Image 03: Paper objects at frame "0"

Image 04: Paper objects at frame "500"

Do not ask the same question twice. Instead, edit your first question.

I didn't know where I can edit it, but I found it after you pointed out. sorry. thank you for letting me know.


text:
Matching edges?
I'm a complete beginner with Blender, and was wondering if its possible to do this:
I've got two meshes that are matching in terms of structure/wireframe, except the edges are misaligned. Any input on how I could match those edges without retopologizing? as it's important not change the vertex count or do any subdivisions (it's for Daz3D).

Making less edges without changing the vertex count to something smaller will leave you with curved polygons. Why do you need to keep the vertex count high? It seems like the thin “cut mark” as it were has WAY too many edges, and could easily be simplified.

The mesh is meant to be a high-subdivision morph for another software (daz3d), won't let me import it back in if I modify the vertex count or alter the structure in any way.

Well, that kind of says it in stone. If you can’t change the vertex count, than dissolving the edges won’t really have any effect in the long run because the render engine will just be interpolating new edges to triangulate it anyway. I recommend asking a new question for how to alter your trans-software procedure.

If they already have the correct scale but are only misaligned, you can enable snapping and then merge vertices by distance. If the two edge loops don't have identical scale but the top part also shouldn't be scaled, then you could connect both parts and then try to relax the area in between with loop tools. If you can scale the top part, you can both scale, try to snap and then remove the duplicate vertices. Could you tell which of the approaches you intend to go for, then we can write a proper answer?


text:
Speed vector blurring not working
Ive got a fluid sim in v2.82.7 and is rendered with Cycles. I am trying to use the 'use speed vectors' in the fluid sim while using the vector blur node but it blurs nothing. I do have the vector pass on; I tried turning odd de-noising in case that was it but to no avail. Its probably something little I'm missing but I cannot find it. The node setup and render are below. I am not sure what other info would be helpful to give.

There are two steps need to be confirmed for the correct result:

Domain -> Mesh -> Use Speed Vector, make sure it's checked
Domain -> Cache -> Format Volumes -> Uni Cache, make sure it's choosen

then you will have a motion blur of fluid.


text:
Dynamic rope or cable between 2 objects with AN
So I have seen this tutorial here   https://youtu.be/BziV080OFHQ  and this is basically what I need, a rope between 2 empties that I can move around the scene and it will update dynamically. This method however changes the length of the rope between the empties. Is there a way to have a fixed length? So if I move the empties closer the rope will sag further, and moving the empties farther away will pull the rope tighter.
Anyone know how this can be done?
Thanks
steven

https://blender.stackexchange.com/questions/121357/how-to-create-a-cable-wire-for-animation/121370#121370

That is using actual physics, not possible for this scene. the bake time would be months. Need a way to fake it with animation nodes.


text:
Layout is weird and there is multiple ones that is the same/wrong spot

What did I do here...I accidentally added new things (IDK what it is called but the picture shows).
How do you get rid of this and bring it back to the default layout? With no extra stuff...I have no idea how...
Does anyone know how to fix this?

I would advice to get the basic stuff like using the UI on your own before continuing. It might not be practical to ask for every small detail like this. But, sure, the answer is not difficult at all.
Just grab a corner of some editor and drag it towards another to merge the UI areas:

Please note that it makes a difference what side you click on. If you drag towards another area from where you clicked it merges them, if you drag towards the area you clicked in it splits it into 2.
You can also right-click the line between them to get a menu with options:

And there are also layout presets on the top that you can chose:

And if you click the + button at the end you can create new layouts from default presets:

Don't worry, if yours are not identical to mine in the GIFs, they can be customized. There is nothing wrong with defaults, mine are just what I use most.

ah, thank you so much for the GIFs! It helped and mines is back to normal ^^


text:
How to position a GreasePencil Stroke via scripting?
I am trying to automate blinking animation via scripting. I can move grease pencil objects, but I need to move a stroke inside a layer (I am using masking, so I can't convert the strokes into individual objects). I couldn't find a way to position a stroke in the GPencilStroke docs. Is there a way to transform strokes with bpy?


text:
Fixing bad topology
I'm new to Blender. I modelled a leaf by adding vertexes all along by following the border of the image put as a reference in the 3d view. Now I want to improve the topology. I'm slowly connecting the vertexes horizontally and vertically to form the quads.
Is there a better way to do it? It's very time (and eye) consuming!
Many thanks

Beauty fill + tris to quads?

What does it mean? @Lukasz-40sth

Read the manual.

Tried them both but they don't work anyway thanks...

You could limit the amount of vertices on your boundary edges, it really depends on your final goal actually, if it's for a close-up shot, you can keep it low-poly and add a Subdivision Surface modifier to smooth it, in that case it will need a bit more vertices than my mesh, in order to sharp some extremities.

Thanks a lot for your answer! How did you achieve that kind of net so quickly?

I just began from scratch with a plane, I used your image as background, then draw the borders with some extrudes vertices, join vertices or fill faces with F, add edge loops, etc...

Many thanks, I think I will start from scratch again! Have a lovely day.

if you want to keep the original mesh you can automatically delete a part of its vertices, you select all then Select menu > Checker Deselect, then play with the parameters in the Operator box, then dissolve vertices...

Many thanks, you are really helpful!

To save even more time you can also grid fill or look into using looptools.


text:
Light bounces differently in the viewport cycles render compared to the final render
The view port render looks different to the final render. Any ideas why?

I forgot to click on "Show Emitter" under the Particle panel. That's what was causing the problem.


text:
How to Disable Green and Magenta Faces?
All I did was fixed my model by removing a certain face and by filling it with a new face. When I enter sculpting mode, these green and magenta faces are now in my model. How do I remove this? I tried to delete the faces and refill it again, I even restarted blender, but it's still there.

Probably check Face Sets https://docs.blender.org/manual/en/latest/sculpt_paint/sculpting/editing/face_sets.html

As Vklidu says, these are Faces Sets (there are used as sort of masks in Sculpt mode):

To remove them go into the Face Sets panel > Initialize Face Sets > By Loose Parts:

It worked! Thank you so much! :D


text:
Indiana Jones - Raiders of the Lost Ark - Rock material
I'm trying to recreate a rocky material from the Indiana Jones and the Raiders of the Lost Ark movie, but I'm unable to come close to it. I've never really faced issues recreating materials, but this one is one hell of a PITA!
On the images is what I'm trying to replicate.

You can take a better look at the reference here: https://www.youtube.com/watch?v=mC1ikwQ5Zgc&t=53s
How would you go on about creating such material?
(BTW, the grooves/carving isn't needed, only the rock material itself)
And how would you light the base?
Thanks

Maybe try a Noise plugged into a ColorRamp plugged into a Diffuse, mix it with a Glossy with a Layer Weight as factor, give both the Diffuse and the Glossy a bit of Noise as Bump:


text:
Why is my character still low poly and slightly distorted after baking?
I have been trying to successfully bake my character from a high poly sculpt... the bake settings are: cycles render engine, normal bake type (then diffuse after), with a ray distance set to 0.02m.

Here is the cavity map for the diffuse bake too:

Any advice welcome! I applied a few modifiers previously too, including a multiresolution modifier, shrink wrap and mirror.

maybe try to increase the Extrusion value? I think Maximum Ray Distance is the length of the ray, not sure if it's useful here...

This tutorial might be helpful:
https://www.youtube.com/watch?v=DQPjIGncXcM&ab_channel=Jayanam

@moonboots this worked btw! Thank you so much. :D

Increase the Extrusion value and set the Maximum Ray Distance to 0


text:
What is that stretched line in my uv map?
What is this stretched out line when I UV unwrap? Also, how do I display a heat map in Blender 2.9? It's not showing up under display (see screenshot below).

This line is an edge. You probably made some modifications to your mesh after unwrapping it, that's what's causing the line which is just an edge that is stretched. I don't know what you mean by heat map tho.

There must be a seam missing somewhere, thus this connexion between 2 faces (or more)

If you check the icon with the two arrows at the left-hand end of the UV editor toolbar you can then select the vertices at each end of those lines in the UV window and see what is selected on your object in the 3D viewport.

@mqbaka mqbaka I suspect she means the UV stretch overlay: https://blender.stackexchange.com/questions/209702/where-did-the-uv-stretch-option-go-in-2-9

@JohnEason Ah ok, I suspected that too but I wasn't sure so..


text:
My texture and normal bake was unsuccessful - is it possible to paint over this to cover up some of the damage?
I have baked my character (rather unsuccessfully), and am wondering if there is a way to paint over the dark/light areas that didn't bake properly.

Currently, when I try to texture paint over them, the dark patches still show through:

It appears you are trying to paint the color map. That won't work because the artifacts are not in the color map, they are in the normal map, messing up the shading/lighting.
What I would recomend is to try and bake the normal map again, changing the settings until you get a good result.

Maybe this tutorial will be helpful:
https://www.youtube.com/watch?v=DQPjIGncXcM&ab_channel=Jayanam

Try to increase the Extrusion value (like 0.02). It extrudes the low-poly mesh so the starting point of the rays that are used for normal calculation is shifted. The Max Distance value is useful when you have problems with mesh parts that face each other, like the legs, armpits, chin and chest.

Okay thank you! Can I bake over it or should I start again and retrieve an older save?

You can bake over it. There is an option "Output > Clear Image" in the baking settings. It's enabled by default and Blender will start from scratch when you bake. Don't forget to save the image when you're happy with the result.

Thanks @Blunder all of that worked! Life saver :D


text:
Bridging edge loops - distorted
I'm currently trying to bridge the edge loops between my hand and arm. I have joined them so they are the same object, but the wrist appears all distorted when I bridge them. I have played around a bit, and they both have 16 vertices and are aligned.
Is there a way to do this so the connection appears a bit more smooth?

your normals are inverted, maybe this is what you're talking about? Select all in Edit mode and press Shift N

try selecting the faces and press 'Shift+N' on your keyboard to recalculate the normals

@moonboots That worked, thanks so much

@Ribbit12 thank you!


text:
Why adding transparent shaders don't result in transparency?
As far as I know, in Cycles, when you use an Add Shader node, it simply adds shaders. I'm getting different effects of those I get with other software.
For instance, adding nothing to nothing should result into nothing, right?
Not quite so:

It's making it really difficult to recreate the behavior of a standard real-time PMA shader.

Related: https://blender.stackexchange.com/questions/420/difference-between-add-shader-and-mix-shader  and https://blender.stackexchange.com/questions/15458/when-to-use-add-shader

Interesting, have you tried tweaking around in material settings? Is this a render issue or viewport thing you are trying to achieve?

I've just tested in render, it's the same result. And probably this answer should be a comment, actually. :) Thanks anyway.

This all comes down to what the Transparent shader and the Add shader actually do. Think about it another way and the behaviour you are seeing makes more sense.
Instinctively, the Transparent shader is nothing, however, it is not. The shader defines what happens when a ray interacts with the surface - in the case of Transparent, the incoming ray hits the surface and the result is that the resultant ray leaves the surface travelling in the same direction and, if the surface is 100% white, is the same intensity as the incoming ray - ie, no change.
The Add shader takes multiple shaders and combines the result. So, adding two Transparent shaders we start with the incoming ray and each Transparent shader produces its own (unaffected) resultant ray. The Add shader combines these two rays and the result is a combined ray with twice the intensity of the original - ie, it actually amplifies the light.
If you look at your result you’ll see that this corresponds with what you see - where the environment light passes through a surface it becomes brighter, and the more surfaces it passes though the brighter ot becomes.

...and that's why I can force the color of the transparency down by 1/n where n is the number of transparent shaders added (yes, I tried that). Makes sense now, but also it's so counter-intuitive there's no sense in it. :) Perhaps there should be a Draw-over shader, for layered passes.

Generally you ahould use the Mix shader since that makes more sense, intuitively - ie, with a factor of 0.5 you’ll get 50% of each shader - combined this is back to being 100% transparent. Generally, the Mix shader is more physically accurate and intuitive and the Add shader should only really be used for special cases. A couple of good cases for using Add would be to combine volumetric Scatter and Absorption, or for adding Transparent to Emission for, say, glowing gas/flame (emission by itself does not let light pass through).


text:
Is it possible to get a list of sub-layouts from a self.layout and insert buttons on it?
I'd like to write an operator to set the correct pole angle for IKs, so adding a pole target won't move the rig. As I'd like to add a button next to the pole angle property field in the UI, found out the panel (BONE_PT_constraints), but constraints are listed into sub-layouts in the panel, as the source code has shown.
I don't want to tamper with Blender's original code. Instead, I'd like to go the add-on approach. Thus, using the traditional append-function-to-class approach will only allow me to add controls after the list of constraints.
How to run through the list of sub-layouts so to add the button?
The code I'm using right now follows:
import bpy
import mathutils
import bmesh

def dandrea_IKConstraint_panel(self, context):
    self.layout.operator("constraint.dandrea_adjust_pole", icon='CURSOR', text="Cursor > Selection") #test button
    #for s in self.layout.introspect().split(','):
    #   self.layout.label(s)

class dandrea_adjust_pole(bpy.types.Operator):
    """Adds functionality to the IK constraint panel."""
    bl_idname = "constraint.dandrea_adjust_pole"
    bl_label = "Adjust pole"

    @classmethod
    def poll(cls, context):
        #implement poll
        return True

    def execute(self, context):
        #implement execute
        print ("done.")
        return {'FINISHED'}

def register():
    bpy.utils.register_class(dandrea_adjust_pole)
    bpy.types.BONE_PT_constraints.append(dandrea_IKConstraint_panel)

def unregister():
    bpy.utils.unregister_class(dandrea_adjust_pole)
    bpy.types.BONE_PT_constraints.remove(dandrea_IKConstraint_panel)

if __name__ == "__main__":
    unregister()
    register()

I think you need a UIList: the documentation is here https://docs.blender.org/api/2.78b/bpy.types.UIList.html?highlight=uilist and an example of usage in this answer here http://blender.stackexchange.com/questions/76497/dilate-expand-vertex-color-mask/76873#76873

@lemon I've laid eyes on the documentation and it's not obvious how it would help me. I'll check it more thoroughly andgive it a shot, then come back with the results. Thanks.


text:
How can I control bone roll animation amidst an IK?
What I have:

The four bones inside the arm (DEF_Arm_01 to DEF_Arm_04) are being controlled by an IK constraint. The IK targets Hand (selected) and goes up to the DEF_Shoulder (not including it). The pole angle is controlled by Elbow, floating behind the arm. The IK works as desired.
What I need:
I need DEF_Arm_01 to DEF_Arm_04 to gradually follow/copy/otherwise propagate the roll of DEF_Shoulder to Hand.
How far did I get:
I added a Copy Rotation Constraint, Y only, from local space to local space on DEF_Arm_04, having Hand as target. It worked like a charm!
I realized I should do something similar to the other bones, adding two of these constraints to them (with Hand and DEF_Shoulder as targets) and changing the influence of the second constraint accordingly, for each bone.
I tried this. I added a Copy Rotation to DEF_Arm_01 having DEF_Shoulder as target. No go.
It seems that, as the DEF_Arm_04 has an IK constraint, it works as a stack and solves things in order, and the other ones are controlled by the IK and simply ignore other controls over their rotation and who knows what else. Also, I've tried to use an avulse bone as target, still no go.
So...
What is one supposed to do to solve this?

How did I end up solving this, in case anyone else wants to do something similar:
Four bone chains.
The first one is the IK, and it pretty much follows the rotation of the entire chain pole angle, but you can add a second bone chain to the arm (four bones) then apply a constraint to copy the rotation of the shoulder bone and then a damped track to the first, IK chain bone target onto it. In this very order. This way, you'll have a chain that follows the IK chain, but has the same up of the shoulder bone. Let's call this the "shoulder chain".
Then, add a third chain, and on each bone, add a constraint copying the rotation of the hand bone (the one that acts as a target for the IK chain), then the same damped track constraint to the IK chain bones' targets. This way, you'll have a chain that follows the IK controls, but each individual bone up direction follows the hand. Let's call this the "hand chain".
Then, the fourth, deforming chain: each bone will have two copy rotation constraints, each pointing to the correspondent bone of the shoulder chain and hand chain. But the later constraint will have proportionally less influence over the bone as you go down on the chain. As I have a four-bones long chain, I put it's influence in 0.125, 0.375, 0.625 and 0.875.
This way I have a chain that both follows the IK control and I can control it's twist along the chain using the shoulder roll and the hand roll as well.


text:
What do I set Specular to on Principled BSDF?
I've been using Blender for a few years now and never given this much thought, but I just started learning more about different PBR workflows, and I'm realizing I don't understand the Specular input in the Principled BSDF.
In the past I've tended to adjust it to whatever looked the best for the specific material and scene, but that doesn't seem like a very accurate workflow, especially when using texture sets with multiple materials (eg. from Substance Painter).
Often I've left it at the default value of 0.5, but this seems to make certain materials too bright and plastic-looking, for example with some types of rubber.
For some projects I've also connected it to the inverse of the roughness input, but I can't imagine that's very accurate either.
So I'm wondering what IS the "correct" or most accurate method? Is there a specific value that it should always be set to, or should I be creating Specular maps to use with it?
And how would this translate to other software, like Maya or Houdini?

The most accurate way would be to not use a value to begin with. Use a texture. You will have a hard time finding a real life material that is uniform. Specular and roughness work in tandem, specular is how much reflective a surface is, while roughness is how scattered the specular reflection is. The values depend on the material, and you should usually leave it to the textures to handle it, if they are made correctly to begin with. The only number theory is that you rarely ever have 0 specular. Most objects that appear non-reflective are actually well reflective and very rough.

So for example if I'm using Substance Painter, I would create a specular channel and paint the correct values for each different material? It makes sense but I've never heard of anyone doing it before!
After reading about it I guess often people just leave it at 0.5, which seems to be the most common value for materials.

After reading more about it, I've come to this conclusion which I'm posting here in case it's useful to others.
Simple explanation:
Leaving Specular at 0.5 is usually acceptable, as the specular values on most materials are close enough that number that it doesn't make a big difference. However, if more accuracy is needed a specular map can be used with more precise values.
More technical explanation:
The specular slider in Blender shows values from 0-1, but those actually coincide with reflectivity values going from 0-0.8% reflective. This is because non-metal materials fall within this range, usually with values close to 0.4% reflective, which is why the default Specular setting of 0.5 works well for most materials.
Metals, on the other hand, have reflectivity values closer to 70-100% reflective. With Metallic values of 1, the principled BSDF ignores the specular input and creates these higher reflectivity values automatically - but it is also possible to set the Specular input to higher values and create a metallic material even with the Metallic input set to 0.

Source for this info and image:
https://substance3d.adobe.com/tutorials/courses/the-pbr-guide-part-1
https://substance3d.adobe.com/tutorials/courses/the-pbr-guide-part-2
I'm not going to mark this as solved quite yet in case someone finds issues with this explanation and wants to correct me!

This is just about all we have to go on, but they do give a formula that can be used to find a value.
https://docs.blender.org/manual/en/latest/render/shader_nodes/shader/principled.html

In the past I've tended to adjust it to whatever looked the best for
the specific material and scene, but that doesn't seem like a very
accurate workflow...

You can trust data about materials you find online very rarely - only when you are making pure, clean, ideal materials. Unfortunately that's very rarely the case.
Adjusting material parameters while judging the look of the material is an accurate workflow. To make it accurate, you have to have good reference and use it while making the material. You also probably want to have a scene with lighting matching the reference while you work on the material(if PBR and scene referred workflow is what you are after). Neutral lighting(D65) is a good choice to make it easy to setup and judge. That's white in sRGB, also that's approximately the light outside during the day. You also need to understand what your color management settings do to your colors to know what difference to expect in your result and reference.
It's good to know what ranges the values should be in based on what the material is, but judging the result visually and comparing it to your reference data is probably the best way to get realistic/believable results in most situations. Adjusting material properties to whatever looks the best is still the main idea, you just have to consider the lighting of your scene as well and also if the values are physically possible and likely. The idea behind PBR is that same material should look good/believable in different scenes under different lighting. It might be a good idea to test different lighting while you are making the material.

It might be a good idea to test different lighting while you are making the material and that's where Blender's material view really shines with all its options to change lighting and reflections in a snap.


text:
Hide Light From One Material But Not From Another Material On a Single Object
I have a single object that has a logo that should be glossy and reflect light. The other material on the object is a matte finish, but still has slight glossiness to it. I would like to show off the glossy logo by having a light reflected in only the gloss material, but not show in the matte material on the same object. You can see in the reference image below that the matte material still reflects the light used to show off the gloss material:

I'm fairly new to Blender and using v2.8, but I've searched around quite a bit for this and can only find answers that suggest using light groups or compositing, but I'm trying to accomplish this using Cycles and everything I've seen is a very old post from 2017 or older saying Cycles can't do this. Surely this is not still the case as this is very easy to achieve in Cinema 4D?

Anyone? Bueller? Bueller?

Ok, can anyone suggest another forum/site to receive help specifically for Blender 2.8 at least?


text:
exporting blender material to unity
i created a lime with material in blender. it looks good enough for me in blender editor. i baked it and saved as a png texture file to use in unity. but i could not get same output in unity with this texture. i have attached related ss repectively.
thanks,
blender ss which i like the same in unity

baked ss

unity ss which i failed

maybe you set up wrong your texture because it should appear with the bumps as the baked diffuse texture that u made. tho you can try to make a normal map instead of adding details to the diffuse to left the diffuse complete green color.

i am newbie at blender and i have not gotten what you said :(

that could setted up wrong the texture in unity because it should appear like the bake that you done.

you mean blender side is ok but i can not  set up properly in unity? if so could you share what it must be, please? because i tried many time with diffent setting notting has worked so far.

unfortunately i dont know to use unity, so try to watch several tutorials in youtube for that.

It looks like you used "combined" for "Bake Type". Use "diffuse" with only "color" selected. Create a second texture for the normal map. Lots of tutorials on youtube on that.

Confirm that your baked texture is saved to your Assets folder and is visible in Unity as an Asset in the Asset Window. Confirm that the texture is actually being set as the Albedo/Diffuse on the Unity Material. IF not Drag the texture from your assets window onto that setting in the Inspector. May want to set your Material Color to white as well so that the texture is setting the color now.

i created baked image into my default folder and move it by drag/drop into texture folder under asset in unity here it is ss. and my texture settings is  ss. and my object which i need to apply my texture, material settings  ss. also i tried normal map in unity but nothing changed.

Set the color to white. If it's still showing green but you can't see the texture details, the texture is showing but then something may be wrong with the UV map causing it to map to a very small part of the texture. In Blender, edit mode, select all the vertices and look in the Image/UV view to make sure they are mapped like they where when you baked the texture. Delete the .FBX model you are using and re-export it from blender, also rather than using the .blend file. Unity doesn't always do a good job of getting all the settings right when it exports the .FBX internally from a .blend file.

i have exported it again as fbx file it looks work. but there are other issues. the texture i shared above is not suitable it has dark and light sides. it think that causes from the light when i had baked it. so i removed the light and re-bake but it created black one. i changed bake type from combined to diffuse it generate this one. i used it in unity but it is not what i created in blender. it must not be so hard to transfer from blender to unity :(

Yes, you don't want to bake the lighting into it unless you need it, also Ambient Occlusion can look bad when baked, so just bake the Diffuse. In Blender, the method is a bit weird and tedious at first but once you get the hang of it you'll have an easier time and faster workflow. I noticed that in the 2.8 road map they are trying to make the workflow for game assets better, so look forward to that. Anything else probably costs a lot of money... but once you've used Blender for a few years everything can be done very quickly, just have to get good. :)


text:
small gap while drawing
i am trying to follow https://www.youtube.com/watch?v=gDJkIu8xvk4&t=655s tutorial to draw basic lime. but there is small gap in center of the lime which you can see . it is very frustrating, what is the worng with me although i follow tutorial carefully?
thanks,

do you have a Mirror modifier? if not, perhaps use W > Remove Doubles so that the vertices stick

no, i dont use miror, in tutorial he is starting drawing from center one side and againg from center to other side.

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

https://blender.stackexchange.com/questions/5458/mirror-modifier-without-seam

As I said you have vertices overlaying, so select all and press W > Remove Doubles, it will merge these vertices. Also, you need to recalculate the normals because some are flipped, so select all and press ctrN.


text:
Blender 2.8 manipulators

Is there any way to set these manipulators on the keyboard ? How can i set Move, Rotate and scale to W E R keys ?

Are you asking if it is possible to switch your active tool so that you get the widget, or are you asking how to set your short cut keys to the operator? I have found that if my shortcut is G to translate that I can press the shortcut and move my selection even when my active tool is something else.

Should be like this link

Right click on the icon, then choose assign shorcut. Then you have to save the user preferences (Edit>>Preferences). In this menu you will find the keymap too.

Should be like this link if possible

Oh wait, actually, your option helped, thank you!


text:
Bake modifiers (ocean) animation into keyframe
I have a plane with ocean modifier and keyframes that adjust the time. How do i bake the ocean animation for each frame so I don't need to use the modifier while exporting?

You have to export it to mdd format, then import the mdd file on your model, which will appear as shapekeys for every frame. You have to turn on the "Import-Export: NewTek MDD format" addon.


text:
split face along edge
I currently have two faces, overlapping at this point:

The option to split/subdivide the faces along this edge I made would be enough:
resulting faces should look like this:

Any help would be appreciated.

Select the corner vertices and press J to cut an edge between them. Then dissolve the other edges

This method uses only built in functionality and does keep your UV coordinates in place.
First move the two inner edges so you will get a distinct intersections. Then select one of the intersecting faces and use the "Intersect (Knife)" tool (in the face menu). This will create an edge at the intersection between the two faces. It will also create some extra vertices that you need to dissolve.

Remove the overhanging triangle faces and delete them. Move the inner edges back to their position. Select the corner vertices and Remove Doubles.


text:
Measureit Measurements Inconsistent After Export
I’ve been using the measureit tool to get the proper dimensions for a 3D printing project I’m working on. The only problem is that after exporting the file and then uploading the STL into my printing software, the model is ridiculously small and out of scale. Suggestions?

Few things come in mind:

Set units to real world units (screenshot)
Make sure scale is equal 1 (Object -> Apply -> Scale)
Make sure your dimensions in real world units match what you'd want to print out.
After all that, double-check your scale is equal to 1, if no, apply scale again.

Animate property is what I accidentaly had checked and everytime I opened my file, all X dimensions were screwed.

As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.


text:
How to polish curving edges?
I have 2 questions please:
1. Just wondering how to polish these edges and make it look clean? And make it look more like hard edges.
2. I'm not satisfied with how the curve looks. I'm using snake tools to create it.

Curves that I wanted to create

The Grab brush (Shortcut "G") is great for getting the right shape for your curve.
What I'd use here would be the Fill/Deepen brush (shortcut "5") and the Flatten brush (shortcut "6"). Then I'd gently smooth the flat surfaces until close to the hard edge (shortcut "Shift").
If there's any edge that I was completely happy with, the pinch brush (Shortcut "P") is great for getting a sharper edge to finish it off.
Just play around with strength and keep undoing things if you make mistakes.
Sculpting these harder surfaces takes a bit of practise but it's generally the fastest way.
OR
If you don't feel comfortable with this, perhaps you could try retopologising it using a shrink wrap modifier and a vertex group. This way you can remove certain vertices from the shrinkwrap vertex group and play with a specific vertex until you're happy. With your retopologised mesh, you can play with the Mean Crease in properties panel ("N") underneath the transform data to get those edges nice a crisp when applying a subdivision surface.

just tried your suggestion, I think I need more practice. Still struggling to get it clean and smooth. But I haven't tried to retopologised it yet.

Yea sculpting is a skill but a skill I think everyone can improve over time, however, what I generally do is to model the shape out as much as I can before I start adding detail to it if I think it’s a difficult shape to model like yours could be for example. Like toes and fingers. Hard edges tend to be modelled by most people and bezier curves were really designed for this type of shape. However, I think with a shrinkwrap modifier you could retopologise this into a more refined version. Good luck with it! :)


text:
Smoke and fire not showing up in my eevee render
In my render the fire with smoke physics are not rendering for some reason, I've been breaking my head about this. I use blender 2.8 and the Eevee renderer.
I'll have a download link to my file.
Somebody please help!

https://transfernow.net/857n13j58q64 the link for the blender file.

I had the same issue until I realized that I typed in 'Density' instead of 'density' in the attribute node.
This should work:

Enabled "Volumetric" Under the Render tab ? - Had the same problem and that did the trick :)


text:
I am unable to find the Principled Volume Shader within my Cycle nodes. Any idea why?
I am unable to find the Principled Volume Shader within my Cycle nodes. Any idea why?
Unable to find within my list. I do have the Principled BSDF but not principled Volume
I am running 2.79 on a mac.

Thank you. I had noticed on my PC at home I had it available. Thank you for your response.


text:
Uneven bevel width in Blender 2.82
I'm getting weird uneven bevel width then trying to use bevel tool (ctrl+B) on those 3 edges in the edit mode. Scale, rotation, and position are applied, everything is 1 1 1 in the item's transform.

Never have this strange behavior in Maya, is it that Blender's bevel algorithm just can't work with this type of geometry?

Normally Id suggest checking normals and non manifold geometry for anything causing trouble.

However I did a little mockup and found that simply blender doesn't support it. I did hear stuff about miter options that might change this stuff in the future, but I recommend using the knife tool with cut through or a loop cut if you want more straight loops.

Thanks! Well, it's really time-consuming to do it with the knife, why they just can't copy the Maya's bevel behavior?)


text:
how to create letter "s" through nodes?
i create part by part . like top of the s first than middle part of s.
it doesn't look very professional.
is there any better way to do it?
letter A

Create a half circle by attaching a colorramp to a spherical gradient and removing the bottom half greater than math.

Make these nodes into a group. CtrlG
Create a square by clamping X and Y coordinates to [-1, 1]

Rotate the items with vector math operations or mapping nodes.
Squash the square into a rectangle and place it in the center. Use the half circles for top and bottom.

We can improve this setup by using a Radial Gradient and plug it into a colorramp to control the half circle, then we can increase the angle.

Thanks.. .i thought maybe there is a better way to do it...like sending rays from the centre to create top part and than mirrored it...i don't know . .maybe it doesn't make sense..


text:
World Space Ambient Occlusion
Gotta question about Eevee rendering.
Normally, Eevee uses screen space ambient occlusion and screen space stuff obviously generates lots of artifacts, like the one on the picture, where the occlusion on the building ceases near the edge of the estacade, which is closer to the camera. Is there any way to use more realistic AO rendering method for Eevee? Something that might be called "world space ambient occlusion"? Something closer to Cycles, at the obvious performance cost?

What if I add AO node to the materials? Is it going to avoid the glitch?

Well I assume you are already familiar with how cycles and Eevee rendering works. Like you said Eevee uses fake/cheat method. What you are asking for is achieve Cycles like AO which is physically accurate (depends on the values on a given scene). Currently there's no proven working method that achieves that, I can suggest you to bake the AO in Eevee like we bake in light from Cycles.

Sure, thank you, I'll try that. But baking AO means I can no longer edit the mesh, right? Because AO will basically become an image texture and mapping will be messed up after any geometry change, right?

Yes that's correct. It's much effective in static objects in the scene. If that's not ideal in your situation then you can play with nodes in Shader editor and compositor. I've not tried that myself but I'm sure there are ways to hacks achieve that effect

Sure, I'll try that. Thank you!


text:
Changing angle to snap during rotation
When I rotate an object with CTRL pressed, it rotates with 5 degree step. Can I change it so that it skips 15 degrees instead?

it looks like it's not possible if we judge by this discussion here (2019): https://blenderartists.org/t/rotate-by-increments/639809/10 ... but someone suggests that you can rotate 5 degrees then press shift R to repeat

Thanks for the info, I didn't manage to find that thread. Maybe it would make a future feature request.


text:
Mirror across object origin
Sorry for noob question but I just wanna do this: mirror geometry in Edit Mode across my object's Origin (orange dot), not 3D cursor. All tuts are about 3D cursor and the help doc is somewhat unclear to me.
I thought I needed to set Individual Origins and then CTRL+M but it always mirrors across mass centre while my origin is distant.

In edit mode, you should be able to press CTRL+M followed by XYZ to select your axis for mirroring. By default it should mirror around your objects origin.

In my case by default it mirrors along mass centre. I made a new model, didn't tweak any settings. But what should be the Transform Pivot Point? "Individual Origins"?

Ah, yes. Actually, you need to mirror in object mode to mirror around object origin. So in object mode: CTRL+M, then XYZ to select your axis.

If you want to do it in edit mode (partial mirror for instance), use the 3d cursor: place it at the mirror point, then set the 3d cursor as pivot point and Ctrl M + axis.

I want to do it in edit mode cuz I only need to mirror part of my object. Ok, so I HAVE TO move 3D cursor? Cuz help doc that I screenshot refers to edit mode and says that I can use origin and not have to do one extra step and manipulate 3D cursor.

If I understand your case, you'll have to use the 3d cursor here, eventually placing it at the object origin if it is what you want to do.

Ok, this is what I will do. I just thought that I wouldn't have to use 3D cursor. This is what the screenshot shows: it's in edit mode and mirrors about origin, while 3D cursor is somewhere else, completely irrelevant.

The doc extract is talking about individual origins (not object origin).

I see now. I will use 3D cursor then.

But mirroring about object's origin would make sense as a feature request, don't you think?

Yes but as @Geri said, you can do that in object mode (for the whole object, though).

Sure but I would then have to separate my selection into another object. Yet another extra step. Y'know, I came here from SketchUp which really keeps simple things simple. It has a fantastic plugin which allows you to define mirroring plane by drawing 3 virtual points in model space. Very much CAD style. I wish there was such an addon for Blender!

shortcut: shift + S (Snapping menue) -> 2 (Cursor to selected); Semicolor opens the Transform pivot point menue to choose Cursor. It can be realy fast not using the ui.


text:
Texture distortion on trapeze face
I have exactly the same problem as it was described there:
Texture distorted on UV unwrapped face
The texture is distorted (kind of "skewed" or broken) on a trapeze-shaped face.
But the solution provided there does not satisfy me. I need Blender to better interpolate a texture stretched over a single trapeze-shaped face. I can achieve this by subdividing my object, using "simple" method, but I would prefer to avoid that. I want to keep my model low-poly.

UVs do not interpolate that well, they work best when the geometry is subdivided at regular intervals, making interpolation errors less visible. https://blender.stackexchange.com/questions/188381/help-my-texture-is-distorting/188383#188383

I see, this is just a very inherent limitation of OpenGL. What's interesting, SketchUp handles this problem perfectly well, even though its viewport rendering is also based on OpenGL. I am curious what is the difference in display between these two programs. SketchUp proves that a solution is possible, yet using some other methods of interpolating.

Different software will implement different algorithms. Affine is used for speed but creates broken projections when triangulating. Read: https://en.wikipedia.org/wiki/Texture_mapping


text:
Knife tool not cutting
I messed something in my model and I cannot knife cut any geometry. If I move geometry to new file, it works. So it has to be some model settings that I tweaked and now Knife Tool does not cut. It can be activated but performs no cutting action. Can you recreate the problem?
Blender v2.9
Here's the file:
https://drive.google.com/file/d/1fLXuYrUpUXPpCjo2x_W5dnvBGlACInDV/view?usp=sharing

are you using the short cut ar the option in edit mode?

use https://blend-exchange.giantcowfilms.com to share file and give link in question

SHikha Mittal, I tried both - "K" hotkey and button.

honestly , not able to figure out the solution

But you did manage to reproduce the bug in your computer?

I tried to do the knife thing both by hot key and the option but failed ,


text:
What happened to the new 2.9 feature "Blueprint at the time"?
Some months ago Blender announced a new feature "Blueprint at the time" which would let us draw faces out of edges in kinda SketchUp-like manner. It also displayed additional blue grid under your cursor to help with incremental snapping.
It was meant to be added to v2.9 but I could no longer hear about it. Perhaps it was withdrawn due to instability?
Does anyone have clue what happened - are they still developing this feature or did they give up? It would be wonderful to have it inside Blender!

Could it be that you're referring to this feature? This will be included in 2.91.

Not quite sure. It would look like this: https://drive.google.com/file/d/1BSBJ1X8DdYe1QBiMLXvzf3QEI0a1odZ5/view?usp=sharing

Doesn't look familiar to me, could you link the video? It might also be an add-on or perhaps I've just missed the development of it.

https://www.youtube.com/watch?v=ylaArhX7t9E - jump to 8:17. It was supposed to be a native feature.

Some parts of this are implemented by the feature I've linked, other parts are still in development. Blender 2.91 has a tool for adding primitive interactively. You can download the daily beta builds from builder.blender.org

Does this mean I don't have to replace 3D cursor to put a primitive wherever I want in my model?

Yes that is correct. At least for the primitive that are currently supported by the tool. I can add this as an answer, if it solves your problem.

Sure, thank you :)

This feature has been partial implemented for Blender 2.91 as the new add object tool. It allows to control the parameters of a handful of primitives interactively. The design task for this is T57210, the commit that added the feature was rB122cb1aea823


text:
Cannot merge two vertices
I have a mesh containing only edges, that was converted from curves. The net is split into small chunks - a couple of edges each. You can see it by selecting one vert/edge and CTRL+L - they are not all linked. I want them to be linked, so I would merge close vertices but I can't!
I select everything in edit mode and can't find Merge option under Vertex Menu. Why?
Here's my blend:
https://drive.google.com/file/d/1yqlNcy1yvCZS4lQE6frFc5dFmzQ16ttX/view?usp=sharing

Merge is under Mesh menu, or alt M, you can merge but you'll need a high value as your object is rather big

True, my mistake.


text:
Apply scale with multi-user objects blocking
I have many objects contained in my selection, both single-user and multi-user. I want to apply scale to all single-users, but Blender will throw an error, because it can't apply scale to multi-users. This is obvious, but in this case, Blender should sort them, ignore multi-user objects and let me apply scale to all single-users. But that doesn't happen.
I also don't want to break object links by making my multi-users into single-users.
I believe the real fix can only be done in Blender core development, so I will forward a feature request where possible (or maybe even a bug report).
For now, we could at least have a way to select only single-user or only multi-user objects. But I also couldn't find any tool for that.
Perhaps someone could help out with a script? It would be even more universal to script an object selector based on number of users.

Does this help ? https://blender.stackexchange.com/a/227903/86891

Wow, yeah, it does. Thank You!

I didn't find that thread, even though I was typing almost exactly its title. I believe Blender should still ignore multi-users by default, but for now it'll do the job.

I think I saw somewhere that the devs are planning to improve it, yes, but no idea when or how it will be done :)


text:
Quickly select multiple sets of linked data objects
It's easy to select an object and all its duplicates in a scene. Just SHIFT+L and Select Linked > Object Data. But Blender will only select duplicates of an ACTIVE object, not all selected objects if there are many in the selection. Let's say I selected 10 objects - each having their own bunch of duplicates in the scene, but not being duplicates to each other. I can't just select in one go all duplicates of these 10 objects.
Ofc. I can use some workarounds, e.g. selection sets. There is a paid addon for that. Or use a collection to put there all stuff that I will need to quickly select in the future. But I would like not to mess with my model hierarchy. I would like a feature like "select all duplicates (linked data objects) of all selected objects". Is there something like this in Blender?


text:
Unwanted hard edges with subdivision modifier

This happens everytime I merge some vertices and then apply the subdivision modifier. I've tried removing double vertices and even if I delete the edge that seems to be causing the problem this happens:

It just transfers to the next edge. Does someone know why it looks like it sticks to the original mesh? Any ideas on how to fix it are welcomed!

It doesn't sticks to original mesh, that's the subsurfed result. Likely the reason are internal faces, you could try to run Select > Select All By Trait > Internal Faces or select manually

didn't work :( they are pieces that were separated and I merged them vertex by vertex (the 4 corners) and that edge was the result, I don't know if maybe that's the issue...

You can provide the file using this link: https://blend-exchange.giantcowfilms.com/

I can't upload it, it says that "files may take some time to process" but nothing happens

I don't have any idea what's wrong exactly in your case and what were you merging to; the general principle is that Subsurf creates bulge like on the screenshot if you have: 1. internal face/-s 2. dobles. The can be created by other modifiers as well, depending on the case. In the https://blend-exchange.giantcowfilms.com/ site you're supposed to include link to the question and press Upload after choosing file, nothing is supposed to happen before that

I may be very, very late to the party but as mentioned this was more than likely due to non-manifold geometry.
In Blender 2.80 I used the advice from an answer that I now cannot find to go to select>Select all by trait and then clicked all the options until I discovered some of my verts were non-manifold. The closest approximation to the answer lies here (it gives a shortcut for selecting non-manifold geometry instead).
In the end after discovering by tweaking the settings of the aforementioned select all by trait tool that some verts were non-contiguous I asked stack again for the answer and hey presto!, just recalculate internal normals.
N.B: this is what worked for me, but tools are linked to deal with identifying your non-manifold topology issue in many scenarios

Check if you have an internal quad, which is made with those edges. If there's a quad, delete it.
Also check the Mean Crease of those edges (1 means hard edge, 0 means soft edge):

there isn't and mean crease is at 0. This edge is the result of 4 merged vertices, I get something similar everytime I do that...


text:
How to change shortcuts in 2.8
I'm new to Blender, I've been using it only for a couple of days. I first downloaded 2.79 and change some of the shortcuts. I've just discovered 2.8 and I want to change them aswell. However this is what shows up if I try to enter user preferences. Isn't it possible to change it yet?

Just got to the Keymap Tab, that is where the settings are now.

thanks! I feel such a noobie haha

Believe me, I know how you feel. ^^


text:
manipulator missing from project but visible in new ones
iam working on a project and for some reason the manipulator is gone (it was working for some days on the project but it disappeared) i tried all the solutions of the common problems but it did work i tried with 3d cursor and bounding box and still not seen

ok seems like its a bug in the program and the only solution for it is to append all the objects to a new project (thats blender support team response)

If you really think that this is a bug, please report it here: https://developer.blender.org/


text:
VSE How to render faster?
I did go ahead and do my part to look it up
There are answers out there but they are years old and outdated when compared to the current version/build
Currently, I'm rendering a video that's about 20 mins long and it says that the estimate is over 2.5 hrs
My 1st question is if that's normal
And my 2nd, how to optimize rendering
Thanks

Oh, I already did System Pref>Cycles>CUDA

I think it has gotten some updates
I also think it takes about the same time in other apps, I saw a lot of this being said by others while I looked for an answer
That it's mostly dependent on your setup/hardware
Dang not being able to space my sentences out is killing me lol

It's gotten updates for sure, the whole interface changed when it came to a certain version (cant remember)
I know this bcuz I was working on a video and when I updated, the video's edits were all out of place

Previously, I used the blender render controller which uses multithreading with ffmpeg.

Using the Parallel Render add-on will allow you to render, from the Blender Render panel, using all cores, which will give you a speed-up: https://github.com/elmopl/ktba/blob/master/scripts/addons/parallel_render.py
Another thing which may speed up export is to change the colorspace from Filmic to Standard.

You wouldn't happen to know what kind of cuts in time we're talking about with this addon?
I also don't really use addons but I guess I should start to since it seems that's what blender runs on
And I don't really know anything about those colorspace settings

If you are editing video the color management should not be set to filmic. It is not about speed:  you will get the colors all wrong. Filmic only works on scene referred scenes or with sources encoded in Log (again, to be de-loged into scene referred values). https://blender.stackexchange.com/questions/176754/blender-image-output-gets-greyish-touch

To answer the question regarding performance: I have 12 cores, and this pretty much sped up redering by a factor > 10. I could also see all cores being at 100%, except the last 30 seconds. So you can easily calculate your performance gain by counting the cores of your processor.


text:
Blender 2.8 eevee - Is there a limit for image nodes quantity in a material?
I'm making a customizable character with switchable skin via driver.
It is organized by 9 types of skin and each type with 3 make-up as you can see in the 1st image. A total of 27 images. So the driver property Skin range is 1-9 (bigger group) and MakeUp 1-3 (smaller groups).
The problem is it isn't working. If a mute any 3 images, given me 24 images, it works. If I un-mute one of them going back to 25 images enabled, the shader became the magenta error.
So the question is:

Is there a limit for number of images in a material?
Is there a better way for me to do this? like a Toggle node or something like that. I guess a script node would be the way to go, but I have no idea how to do it.

Cheers.

Hi, were you able to solve the problem? I am having the same problem with a node tree with many nodes and images. The problem only occurs in Eevee and not in Cycles

I recently posted a similar question here and had some adequate responses that suggested this is a limitation of Eevee, on both an image texture level, and a hardware limitation.
I saw another post that pointed to this tutorial by Creative Shrimp on a procedural asphalt that uses "layered" materials, to get around the issue in Eevee, but have yet to try it myself.


text:
Why is the transparent cornea not displaying the iris underneath?
The reflection just seems to be a nature scene. I had copied and pasted this eyeball from another project of mine, but the settings seem to be different.
I am trying to display the red iris underneath, if that makes sense. Not sure where the nature scene is coming from.

The 'nature scene' you're seeing is a reflection of the built-in HDRI in Blender's Eevee preview mode.

It's because you are in preview mode. If you use rendered view mode (in cycles) you would be able to see it.
You can preview alpha transparency in EEVEE or in preview mode by changing the Blend Mode in the material settings :

Also, I think it would be better to use a Transparent shader instead of a Principled BSDF shader with transmission set to 1 in the cornea material.
EDIT
As @Blunder says in the comments, Screen Space Refractions is better if you need to have more accurate refractions, it will costs you a little bit of performance and in the case of something as thin as a cornea, you may not see a lot of difference but here is how you activate it :
You need to check Screen Space Refractions in the material settings

From there , you probably won't see any difference yet and it's because you'll also need to activate Screen Space Reflections and check Refraction in the Render Settings :

It will allow you to see some proper refraction :

You need to be aware, though, that Screen Space Refractions has some limitations and, according to the official docs, Materials using Screen Space Refractions will not cast Screen Space Reflections.
There are also other limitations for the Screen Space Reflecions and Screen Space Refractions that you may want to take into account.

The answer is not quite correct. For transparency via the alpha mask, the answer is correct. But here the shader of the question uses Transmission and not Alpha. If Transmission is used you need to tick Screen Space Refraction in the material settings (first screenshot of this answer) and you need to enable Screen Space Refractions and Screen Space Refractions > Refraction in Eevee render settings to make it work in Material Preview. My bet is that the Eevee options are not enabled yet (the material was copied).

thank you both! You're right @Blunder this worked for me :D

@Blunder thanks for the precisions, you are right, indeed, Alpha Blend only gives alpha transparency and not refraction. But for something very thin like a cornea or windows panes, having accurate glass refractions would be a bit of overkill and you would barely notice the difference (that's why I suggested to replace the Principled shader with a Transparent shader). I edited my answer above to include your remarks.


text:
Face index unchaged after modifying it
I'm currently working on an Addon that handles polyhedra and I need to change the faces' indices in order to keep my structure coherent when the user does operations like extrusion, etc...
So far I have this Operator that basically modifies the index of every face that is selected by the user.
class Extrude(Operator):
    def execute(self, context):
        context = bpy.context
        obj = context.edit_object
        me = obj.data
        bm = bmesh.from_edit_mesh(me)

        # list of selected faces
        selfaces = [f for f in bm.faces if f.select]
        if selfaces:
            for f in selfaces :
                    f.index = something

        return {'FINISHED'}

During the method's execution the indices are modified, but at the end the indices are back to their original values. I tried using bm.faces.index_update() but it still does not work. Is their a way to make these index changes permanent ?
Thank you in advance.

Call sort, not index update.
Exactly as explained here, https://blender.stackexchange.com/a/36619/15543 can set all of a  BMVert, BMEdge, BMFace indices and then call collections  sort to have new order.
Here is an example that simply shuffles all face indices
import bpy
import bmesh
from random import shuffle
from bpy import context

ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)

indices = list(range(len(bm.faces)))
shuffle(indices)
for i, f in zip(indices, bm.faces):
    f.index = i

bm.faces.sort()
bmesh.update_edit_mesh(me)

Suggest index update method is designed to "re-validate" or ensure the indices of the bmesh sequence, eg n faces have indices f.index in range(n)  It's partner in crime is ensure_lookup_table which is required before indexing a sequence bm.faces[index].

Update edit mesh to apply the changes.

Question "code" offers up some questions? What is the expected result  for a 100 face mesh with only 10 faces selected. How are the 90 other "somethings" ordered?  Maybe by swapping values, eg
 v[i].index, v[j].index = j, i

Another thing re question code, wouldn't bother with if selfaces: since for x in []: will not do anything anyway.

It finally works, thank you so much !
Wassim


text:
How to simulate a retractable tether for animation?
I have seen answers and tutorials for how to make animated cables and ropes with physics and the like, but what I need for my project is a little bit different. I'm trying to make a tether for what is essentially a yo-yo that I will need to remain taut when stretched between its two connected objects as well as "retract" as the two objects come closer together, leaving no visible physical slack hanging between them. Is this possible in Blender, or if not what are some shortcuts I could take to create the illusion of such an effect?

Does the 'retraction' have to be visible in some way, or will it do just to have a line stretched between your objects?

@RobinBetts Line with some modicum of thickness might do; probably won't need any sort of texture-accurate representation of it reeling back to the source, just need to see a taut line connecting two objects without it clipping into other objects.

Something akin to this? (rubbery lines) - https://blender.stackexchange.com/questions/117061/how-to-draw-distance-lines-to-a-central-object/117236#117236

@Edgel3D That did the trick for what I needed, thanks!

That's good to hear @Cobalt  :)


text:
Is there a particular reason to use Texture Painting over assigning textures?
When texturing objects in Blender, I've noticed to different ways to apply multiple textures to an object: Texture Painting and Assign Texture. The former is slightly more complicated to use, but allows a finer degree of control over where you apply the secondary texture. The latter, in which you simply select the faces on the model and the texture to be applied, then click the "Assign" button of the Materials tab in Edit mode, is significantly easier if not more intuitive to use, even if it limits you to changing entire faces at a time.
Are there any other reasons to choose one of these methods over the other? I've seen various Blender tutorials use different methods even when in context it seems like it would add an unnecessary degree of complexity. Is there some behind-the-scenes reason to use Texture Paint over assignment or vice-versa?

Hello, I'd say it depends on the finality of your object. There are pros and cons to both but one can't judge either of them in a vacuum. Could you add a little more insight into your desired end product ?

I don't think you're comparing apples to apples here.  Material assignment will assign a material, and given a material with an image texture-- so, given an image-- it will use that.  Texture painting is a way of creating a whole new image.  Possibly, out of other images, but possibly not.  If you are not interested in creating new images, but only in using images somebody else made, texture painting can be useful, but yes, there are alternative techniques (uv edits, vertex color masks, whatever) to do most of what it can do, and you should use what works for you.

@Gorgious Currently making a cartoon skull with a black "hole" texture for the eyes and nose. The tutorial I was using went with texture painting while I just used material assignment on the eye sockets and nostril hole.
So far I'm still under the impression the difference is level of detail it permits.

You have come close to answering your own question with your comment 'the difference is the level of detail it permits.'  The difference is in the way it is done, especially if the materials are created procedurally, rather than simply by using image textures.
Each approach has strengths and weaknesses compared to the other.  Geometric patterns are often much easier to do with procedural materials than by painting, for example. But despite hundreds of techniques available to do so procedurally, it's often easier to simulate the effect of weathering and aging by painting.
Another factor is the individual skill and comfort levels of the person creating the texture.  I can't paint, but as a retired programmer, I'm very comfortable using procedural materials to accomplish the effects.
Finally, there's the matter of availability.  Often an image texture isn't available to use in a situation where a small amount of painting will create just the right result.


text:
Easiest way to fit a whole ColorRamp to a single face?
Anyone know how to texture a single plane so that a given Color Ramp progression lines up exactly with its width?
I'm trying to make a visual guide for a driver controller to a procedural texture- basically an in-scene color picker slider. So far I've been using a Wave Texture node to try to fit the whole Color Ramp to the designated face, but it's a bit fiddly to work with and I still can't quite get the colors on the indicator to line up more closely with what color that point on the slider produces on the procedural texture itself.
I'm not working with an Image Texture so to my knowledge I can't just scale the UV's to line up with the ColorRamp the way I want; does anyone know if there is an easier or more efficient way to scale a non-image texture to a face like that?

Separate XYZ node and look at the X and Y outputs

do you want now to fit a plane or a face?

The Generated texture-space measures 0-1 in all dimensions of an object's bounding-box, aligned to its object axes, from min(X,Y,Z) to max(X,Y,Z).
So, for example, its X dimension, will always provide a 0-1 input to span a Color-Ramp node:

Worked perfectly! Thanks!


text:
How to get absolute file path for linked texture image?
I am writing a custom export script for blender and need to copy the textures from the materials texture slots to another location.
I am using shutil for copyfile:
copyfile(bpy.path.abspath(texture.image.filepath), export_path + filename)

This works, as long as the texture isn't linked from another .blend file. In this case, texture.image.filepath returns the path relative to the source blend file, not the current working file. bpy.path.abspath then just appends it to the current working directory, which is wrong of course. How to deal with this?

Not very nice, but it's working.
import os
import bpy

tex = bpy.data.images['WALL_1773.png']
# linked image from /project/assets/shaders/walls.blend

tex_path = tex.filepath
# '//../textures/walls/WALL_1773.png'

blend_dir_path = os.path.dirname(tex.library.filepath)
# '/project/assets/shaders'

full_path = blend_dir_path + tex_path[1:]
# '/project/assets/shaders/../textures/walls/WALL_1773.png'

norm_path = os.path.normpath(full_path)
# '/project/assets/textures/walls/WALL_1773.png'

Better code based on batFINGER's comment
import os
import bpy

tex = bpy.data.images['WALL_1773.png']
# linked image from /project/assets/shaders/walls.blend

full_path = bpy.path.abspath(tex.filepath, library=tex.library)
# '/project/assets/shaders/../textures/walls/WALL_1773.png'

norm_path = os.path.normpath(full_path)
# '/project/assets/textures/walls/WALL_1773.png'

Certainly nice enough, since blender doesn't provide that out of the box (which i think is kind of a flaw)

I've edit my answer - there are should be full_path = blend_dir_path + tex_path[1:] instead of full_path = os.path.dirname(blend_dir_path) + tex_path[1:]. Because we use os.path.dirname() in the previous line (blend_dir_path = os.path.dirname(tex.library.filepath))

Also check out bpy.path.abspath(tex.filepath, library=tex.library)  Recommend never adding path strings, use os.path.join(...).

I just forgot about os.path.join() =)
Thanks for bpy.path.abspath! Edited one more time.


text:
How to get a list of faces from a mesh in blender API 2.79
I'm trying to create a some code in blender where I can have it print a full list of vertices and faces for a mesh that I have selected. I'm then planning on using this list to draw out the same mesh in a another program i want to use as an add-on. I am am able to get blender to return the list of vertices in the console, but I've had no luck with the faces. I'm just starting to learn the blender API, so any help would be appreciated.
I've already looked at some older forums on a solution to this problem, but they all use a mesh.faces function, which blender says does not exist anymore. I'm getting a feeling that after some updates blender has moved it to a new class function, however, I have no idea where it is.
## This first part works like a charm, and it prints out the vertices perfectly.
obj = bpy.context.active_object
v = obj.data.vertices[0]
coords = [(obj.matrix_world * v.co) for v in obj.data.vertices]

plain_coords = [vert.to_tuple() for vert in coords]
print(plain_coords)

## This is the part I need help on. No matter what I try it keeps saying there is no attribute
f = obj.faces
print(f)

In the bottom, I'm trying to set f to be the list of faces in obj, but it keeps saying that obj doesn't have the attribute faces.

would it be obj.data.polygons that your looking for?

Related https://blender.stackexchange.com/a/136440/15543

Yes, thank you very much guys. That is exactly what I was looking for.


text:
Detect when cursor is interacting with an interface element of the 3D viewport
I have a modal operator running in the 3D viewport, and I would like to detect when the mouse is hovering over an interface element (A panel, the active toolbar on the right, a button on the top, etc…). Is it possible to do this currently?
The best I could do is getting the square regions inside the 3D Viewport area from context.screen.areas, then find the center region where there are no interface elements, however this method does not take into account the empty spaces in the other regions. (For example, the empty space below the active toolbar or a panel)