text:
Projecting Texture onto surface from point
I am wanting to know if I can use blender to project a texture (from a plane, UV Sphere, object, etc) to another object in a silhouette style?
I have tried to accomplish this with transforming texture coordinates as the attached image shows.  (the attached image shows the cycles shader used on Suzanne)
What I would like to do is project the plane onto Suzanne (given here as a reference) so that it is projected from a point (the circle on the right).
I know there are powerful remapping and baking features in Blender, however I am a bit stumped with this one.
Basically I want the rays to hit Suzanne, from a single point, then I can bake them into Suzanne's texture.
I want to do this so I can generate a Matte from a 360º photograph onto a surface.  So that I can then composite effects to that surface. Such as crumbling etc.  I know that I can accomplish this with texture painting in overlay mode, however I don't think that works with equirectangular images yet.
In the example shown I was thinking I could use an empty as a reference point for the projection, (hence using texture coordinate - which allows access to object) but this isn't working.
I have experimented with UVProject, but this doesn't look to handle 360 textures? http://blenderprops.altervista.org/blender-cycles-double-texture-uvproject-example/
Any help would be most fantastic!

You can project an image from a point onto a surface using Vector Maths.
Start with two reference points - one for the source of the projection (L) and another for the centre of the plane (O).

The reference points can be defined in the material using a couple of Combine XYZ nodes to generate each as a Vector (representing the position in relating to the world origin). In addition, a third Combine XYZ node can be used to indicate the orientation of the image used in the projection. You can use Drivers to automatically set each of the XYZ elements of the vectors based on the location of an Empty positioned within the scene. In this way you can easily change the reference points simply by re-positioning those reference Emptys rather than having to manually adjust the vectors.

For each sample point on the surface we need to determine the vector of the ray from the projection source, through the image plane and to the surface. This can be achieved by subtracting the vector representing the source of the projection from the point on the surface. However, in order to calculate the vector of the ray we need to ensure that each of the points are in the same 'space'. The two reference points are in world space whereas the sample point Object output from the Texture Coordinate node) is in Object space. The Vector Transform node can be used to translate from Object space to World space and we can then simply Subtracting the vectors to calculate the vector of the ray.

Note : You must use the Vector Math Subtract node - not the Math Subtract node - for this.
To determine the point in the image texture that would be projected onto any particular point on the surface we need to be able to measure how far the ray travels in specific directions - in the Y direction of the image plane, in the X direction of the image plane, and also the distance travelled perpendicular to the image plane.
The vector between the two reference points (LO) can be used as the 'centreline' of the projection and this will be perpendicular to the image place. It can be calculated simply by subtracting one vector from the other.
The X and Y vectors need to both be perpendicular to the 'centreline' and to each other - to ensure they are independent (ie, at 90 degrees to each other, in the same way as for the the usual X,Y,Z axes in World or Object space). These can be generated by using the Cross Product Vector Math node; the Cross Product takes two vectors and generates a vector that is perpendicular to both of the input vectors. Passing the 'centreline' vector and the Orientation vector into a Cross Product will generate the X vector. Passing the generated X vector and the 'centreline' vector into another Cross Product wiil generate the Y vector.

Passing the X and Y vectors through a Vector Math Normalize node ensures they are of unit length (important to ensure the projection is not distorted).

To measure each ray we use the Dot Product to determine how far the ray travels in the direction of each of the 3 reference vectors (X,Y,centreline). ie, To measure the distance to the plane where the ray intersects the mesh we can combine the ray with the 'centreline' vector; in the X direction we combine with the X reference vector; in the Y direction we combine with the Y reference vector.

All that remains is to scale the measured distances based on the relative distances between the source, the projection plane, and the plane at the intersection of the mesh. ie, if the distance between the source and the plane (L->O) is 1/3 the distance from the source to the plane at the mesh (L->Q) then the vector in the texture plane (O->t) will be 1/3 the length of the equivalent vector (Q->P) at the mesh.

This can be achieved using maths nodes to calculate the ratio (the Dot Product and first Divide) and applying the ratio to the measured coordinates (the other Divide nodes). The results are combined into a Vector.

The resultant coordinates will be centred around 0,0 but the texture space is from 0.0 to 1.0 - so an additional MixRGB node set to Add is used to add 0.5,0.5,0.5 to the vector to adjust. The result can be used in a Texture node to apply the actual image to the projection.

The final material should look something like this :

In the attached Blend file, move the empties to move the reference points of the projection.
The material can be used to drive the surface for a surface projection as shown above, but can also be used to drive Volumetrics which can show the path of the projected rays.

Right now the answer covers the case where the projected plane is perpendicular to the projection point L. How would one model a case where the plane is rotated?

If you only need orthographig projection:
Blender can project textures by using the object coordinates of an empty.
Add 0.5 to center the texture.
You can also scale the empty to get your desired aspect ratio.

I think for perspective projection, you could divide with the distance (object z).

I may have found a solution:
Use the image below for the node group of the object to be projection mapped to.
Load into the 'environment texture' node a equirectangular image. Then by using the camera texture co-ordinates as the vector we get the image projected correctly onto any object in camera space.
Then bake the texture to the object by selecting the 'image texture' node (after generating a texture & unwrapping) and select bake from the render menu.
If there are other ways to achieve this let me know.
I am also interested in using non-equirectangular images as well, so I don't know how well this technique would work for that.

WOW, this is very interessing!! i need ask you:
how make it on surface(mesh) curve.. i did new topic : https://blenderartists.org/t/hi-how-make-it-correct-image-video-on-surface-uv/1482644

Alex, thank you! I found this very helpful. In Blender 4.0.2 I found Camera gave me too much of a zoomed in effect, while Geometry>Position and Normal allowed me more flexibility to move / rotate my object to adjust texture alignment (assuming your object to texture is basically at 0,0,0 XYZ world space). Also, be sure to try "Equirectangular vs Mirror Ball in the Environment Texture node.


text:
Disable mirrored armatures
I would like to control the arms independently but I don't know how to turn off mirroring. The modifier tab shows nothing.
I am using Blender 2.8.
Here is the link:
https://drive.google.com/file/d/1je2Z5CTc7zWl4HyceD0LypM0mvyiBnqE/view?usp=sharing

https://blender.stackexchange.com/questions/15062/how-to-mirror-a-bone

in the file you link, the 2 arms are independent, so what do you mean exactly?

Really? It must be my settings then

source: Stack Exchange

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

sort: votes


text:
Gray areas on object 2.8
Hey guys Im following up a tutorial from Blender Guru making this anvil. However when i add my sub modifier i get these gray spots. The more i zoom in they get bigger, it doesnt matter how many subdivisions i add in the modifier it stays there, only when i turn sub mod off it dissapears. Its probly a noob problem, i tried googling gray spots but didnt come across anything.

There's nothing wrong here (as you can see in the post linked): that's expected for concave subdivided surfaces, and is easily explained. In fact, blender guru also has the same "artifacts"

Ohhh my bad.... It tought hes stuff is some shadow or something. Thanks a lot guys! I started from scratch 2 times... Thanks again!

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


text:
Is there a way to rotate the bone faster with Python?
I always use the following code to rotate the bones.
bone.rotation_euler[0] = 30.0
bone.rotation_euler[1] = 30.0
bone.rotation_euler[2] = 30.0

However, this code seems to be slow.
Is there a faster way?

Besides setting all three at once, bone.rotation_euler = [x,y,z], if you want to change all the bones at once, you can use foreach_set to do them in a batch
data = []
for bone in bones:
    rot_x = 30.0
    rot_y = 30.0
    rot_z = 30.0
    data += [rot_x, rot_y, rot_z]
bones.foreach_set("rotation_euler", data)

However this doesn't cause an update to the armature transforms (if you're looking at the bones in the viewport, nothing changes). The only way I could find to update is a normal assignment to any bone
# Forces armature transforms to be updated
bones[0].rotation_euler = bones[0].rotation_euler

This also probably explains why assigning the rotation_euler (or other pose properties) is slow: it causes a recalculation of all armature transforms.

I try to use this script: bpy.data.objects['Armature'].pose.bones["testBone"].foreach_set("rotation_euler", [30.0,30.0,30.0]) . And I got an error: AttributeError: 'PoseBone' object has no attribute 'foreach_set' Why did it occur?

foreach_set only works if you're setting rotation_euler for all bones at once, not if you only want to do one bone. You would do bpy.data.objects['Armature'].pose.bones.foreach_set(...).

What should I do if I want each bone to have a discrete value? I get an error when I do the following for three bones
bpy.data.objects['Armature'].pose.bones.foreach_set("rotation_euler", [[30.0,30.0,30.0],[20.0,20.0,20.0],[10.0,10.0,10.0]]).

The array needs to be flattened. Please read the example code I gave in my answer.

If by "slow" you mean slow to write, then how about using Python's tuple assignment:
bone.rotation_euler = 30.0, 30.0, 30.0

Since all values are the same, you can use a list multiplication:
bone.rotation_euler = [30.0]*3

And in this case you could use 30 instead of 30.0 - the value would be still converted to float:
>>> my_object.rotation_euler
Euler((40.0, 40.0, 40.0), 'XYZ')

>>> my_object.rotation_euler = [30]*3
>>> my_object.rotation_euler
Euler((30.0, 30.0, 30.0), 'XYZ')

When in console, remember you can use very effective Tab autocompletion. You can use it in text block editing too, but there it's only based on existing words in current text block.

The meaning of my statement is not that it is slow to write, but that it is a matter of calculation time. And I am not assuming that all values are the same. In the case of

Hard to say why assigning a new Euler rotation to a bone would require optimization - perhaps there's some chain or dependencies, caused by some parenting, constraints, drivers... In this case, the tuple packing technique might be 3 times faster, because you assign the new rotation once, so everything else is recalculated only once...


text:
How to change the behavior of the file browser
I was able to call the file browser from Python by referring to a previous question.
I used the following code.
import bpy

# Opens a web browser and prints the filepath to console.
#(To see console.. Window >>> Toggle system console

class OpenBrowser(bpy.types.Operator):
    bl_idname = "open.browser"
    bl_label = "Minimum code to open browser & get filepath"

    filepath = bpy.props.StringProperty(subtype="FILE_PATH")
    #somewhere to remember the address of the file

    def execute(self, context):
        display = "filepath= "+self.filepath
        print(display) #Prints to console
        #Window>>>Toggle systen console

        return {'FINISHED'}

    def invoke(self, context, event): # See comments at end  [1]

        context.window_manager.fileselect_add(self)
        #Open browser, take reference to 'self'
        #read the path to selected file,
        #put path in declared string type data structure self.filepath

        return {'RUNNING_MODAL'}
        # Tells Blender to hang on for the slow user input

bpy.utils.register_class(OpenBrowser)
#Tell Blender this exists and should be used

# [1] In this invoke(self, context, event) is being triggered by the below command
#but in your script you create a button or menu item. When it is clicked
# Blender runs   invoke()  automatically.

#execute(self,context) prints self.filepath as proof it works.. I hope.

bpy.ops.open.browser('INVOKE_DEFAULT')

I want to show only folders in the file browser.
But with this code, the user can select both files and folders.
And I don't know how to rename the button in the upper right part of the image.

If I could specify the first folder to open, I would like to do that too.

This code is so bad, I really do not understand why the anwer and code you linked to, gets any upvotes at all... and this won't help much in your case. What's your goal? Just selecting a folder?

Yes.My goal is just selecting folder. I want to allow the user to select a folder to save the files.

I've tried that code, but it allows me to select "both files and folders". I want to be able to select "only folders". Do you think that's not possible with Blender's Python?

The code only allows to select folders as requested but the files are visible as well because that's a user setting - click the filter icon in the header, enable Folders and the files will disappear, see: https://i.sstatic.net/O30PH.png

... and it is possbile to enable that by default but then you would have to implement a new operator and this will blow up your code a lot for a tiny little feature. IMHO there should be a good reason to do that.

Is it equally difficult to specify in code the directory that will be displayed first when the file browser opens?


text:
Problems with renaming UV maps using a python script
I'm currently creating a script to do the following:

Generate a UV map via Smart UV Project.
Rename the UV map "BaseMaterial"
Add a new UV layer
Rename the second UV layer to "Lightmap"
Repeat for every object within the selection

The code currently works, but only on a select few objects out of the hundred or so I am trying to run the script on. I have no idea why it only works on some objects, and constantly changes which objects it works correctly on. When it fails, it gives me this error: KeyError: 'bpy_prop_collection[key]: key "UVMap" not found'
This is my first time trying to write a script for blender, on top of having no prior python experience. So excuse the code if it's a copy/pasted mess of different functions.
import bpy

# Get all objects in selection
selection = bpy.context.selected_objects

# Get the active object
active_object = bpy.context.active_object

# Deselect all objects
bpy.ops.object.select_all(action='DESELECT')

for obj in selection:
    # Select each object
    obj.select_set(True)
    # Make it active
    bpy.context.view_layer.objects.active = obj
    # Toggle into Edit Mode
    bpy.ops.object.mode_set(mode='EDIT')
    # Select the geometry
    bpy.ops.mesh.select_all(action='SELECT')
    # Call the smart project operator
    bpy.ops.uv.smart_project()
    #duplicate and name UV's
    for uvmap in  obj.data.uv_layers :
        uvmap.name = 'BaseMaterial'
        bpy.ops.mesh.uv_texture_add()
        bpy.data.meshes[(bpy.context.active_object.name)].uv_layers['UVMap'].name = 'Lightmap'

# Toggle out of Edit Mode
    bpy.ops.object.mode_set(mode='OBJECT')
    # Deselect the object
    obj.select_set(False)

# Restore the selection
for obj in selection:
    obj.select_set(True)

# Restore the active object
bpy.context.view_layer.objects.active = active_object
```

maybe you selected objects that don't support uv maps ? Try adding if obj.type != "MESH": continue right after for obj in selection:

Unfortunately this does nothing, as all the objects I have selected are simple meshes. What's even weirder is that when I manually select 3 or 4 objects, it sometimes works, but if I select all the objects, it tends to fail on the first object. I have no idea what is causing this behavior

Instead of calling bpy.ops.mesh.uv_texture_add(), you should create a new uv_layer for the object by following:
object.data.uv_layers.new(name = 'UVMap')

Can be implemented to your code as: remove for uvmap... loop, instead:
obj.data.uv_layers['UVMap'].name = 'BaseMaterial'
obj.data.uv_layers.new(name = 'Lightmap')

Managed to get it working with a little bit of re-writing.
import bpy
selection = bpy.context.selected_objects

active_object = bpy.context.active_object

bpy.ops.object.select_all(action='DESELECT')

for obj in selection:
    if obj.type != "MESH": continue
    obj.select_set(True)

    bpy.context.view_layer.objects.active = obj

    obj.data.use_auto_smooth = 1

    bpy.ops.object.mode_set(mode='EDIT')

    bpy.ops.mesh.select_all(action='SELECT')

    while(len(obj.data.uv_layers)):
        bpy.ops.mesh.uv_texture_remove()

    bpy.ops.uv.smart_project(angle_limit=66, island_margin=0.001, area_weight=0.0, correct_aspect=True, scale_to_bounds=False)

    bpy.ops.mesh.uv_texture_add()
    for index,uvmap in  enumerate(obj.data.uv_layers) :
        if index == 0:
            uvmap.name = 'BaseMaterial'
        else:
            uvmap.name = 'Lightmap'

    bpy.ops.object.mode_set(mode='OBJECT')
    obj.select_set(False)

for obj in selection:
    obj.select_set(True)

bpy.context.view_layer.objects.active = active_object
```

Can you explain what you did differently and why?

Your code is working ok with no issues when I run it, the error might be elsewhere in the code, does the console show you where the KeyError 'UVMap' is?
But apparently, you try to access the uv_layer that doesn't exist.

the key error occurs when the code tries to rename the second UV layer. Apparently, the code fails because the script fails to create a new uv layer for the object so UVMap doesn't exist. But i have no idea what causes this behavior

@microvert Probably It's because the object uv_layers you are trying to access is not active, meaning bpy.ops.mesh.uv_texture_add() is not running properly, I'll show how edited code should look like below


text:
Modify foot and toe rigify human meta-rig
How can I modify the 'foot.' bones and 'toe.' bones of human (meta-rig)? There will be an error while generate rig if those bones being deleted, or when the 'toe.' bones become parents of other bones?

What kind of modification do you want?  You can always modify the generated rig. Will that work?

I want to keep the legs and foot_ik. widget, but add some more bones to the 'toe.', or maybe replace the 'foot.' chains.


text:
Knowing video graphic memory requirements without graphic card
I'm still using old hardware for rendering, I cannot render using my graphic card. I only have 4Gb of system ram. Right now blender say it just use about 4Gb while rendering, but in the task manager it is
just 2Gb in use and 12Gb to 17Gb commited (blender is the only apps running).
How do I know how much system ram and video ram do I need to render similar scene, for guidance to buy newer hardwares and graphic card in the future?

It's a bit hard to tell without knowing more about the scene you're trying to render. To advise you on system specs, it would also be helpful to know how much you use blender and for what. Generally, I'd say for present day, to give yourself enough overhead, and in order to stay relatively future proof, I would go with minimum 32gb system ram, plus a graphics card with a minimum of 8gb VRAM (though more is always better if you can afford it). This will equip you for moderate to moderate-heavy blender use.

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.


text:
Blender 2.93 render problem with Cycles: "Out of memory in cuLaunchKernel" what does this mean?

Hey guys I'm still really new to blender, and I have a creature sculpt with quite complex shader nodes and some hair particles. When I try to render with Cycles on my GPU, I get this error "Out of memory in cuLaunchKernel." What does this mean?
My specs are
Nvidia Geforce RTX 3060 laptop GPU
intel i7-10870H CPU @ 2.20ghz
32gb RAM

Your graphic card is out of memory. Do you use large texture files and do your models have many subdivisions?

yes to both :( but i have a powerful rig setup tho idk

do u think this might also be bcos the intel gpu is set as my primary gpu instead of my nvidia gpu in the windows settings? I've now changed that in my nvidia control panel to use my nvidia as the default so hopefully that helps. Does blender know to distinguish between the 2 gpus when i select the option in CUda or Optix?

My laptop has an internal GPU and external 3070 and Blender uses the right one for me. You can check in Edit>Preferences>System>Cycles Render devies to see if your GPU is checked or not.

If that is OK, you can try this to see if it works: In Render Settings>Enable Simplify and set your Max Subdivision to 0 and Texture Limit to 1024 and Child particles to around 0.500. If your Scene renders after this, it probably means your Scene is too big. Try it out and see what it does. I've faced that issue before and this kinda helped me as well.

yo thank u!! will try this out when im home later! yesterday i tried downloading other blend files that i had in my blender tutorials and those relatively high poly stuff managed to render so im thinking it might j be that i made this scene too complicated or someting


text:
Camera not showing objects in rendered view
I've been following Blender Guru's donut tutorial series as I'm completely new to Blender and 3d software in general, and everything has been working out great so far. However, I've found a peculiar issue. Suddenly, whenever I go into my camera view while in rendered mode, nothing shows up, mainly just grey. if I switch to solid view, bam, there's my donut and coffee. If needed, I'm currently on part 2 of level 4 in the tutorial series. Idk if this was a setting I messed up at some point or what, but help is appreciated!

in the Outliner, click on the funnel icon to activate the Disable In Renders option (camera icon), and make sure it is activated for your objects?

Moonboots: Those rendering toggles in the Outliner only affects actual rendering output results, not the visibility of objects when using the "Rendered" viewport display option, which normally continues to work, even if the rendering toggles are off in the Outliner. I believe the OP is referring only to the Rendered viewport mode.


text:
Weird Mesh on exporting As fbx from blender
So I recently made a 3d model of a spaceship for my game. I tried to export it as fbx so that I can use it in unity. but the exported object is distorted/stretched.

Honestly I don't even know what this abomination is. As soon as I export the fbx and try to open it in unity, this is what I get.

Make sure you set the rotation and scale in blender before exporting. Also remember that unity is Y-up, wheras blender is Z-up. I think you can specify that in the export settings.

Yes, I have the position and rotations for x, y and z at 0. I have tried changing the settings at export too but for no avail.

Hmmm. What about scale? I'm just thinking that if you have something scaled on the Y axis in blender, it may interpret that as "scale up and down" in unity.

Apart from applying scale for the object (Object mode, object selected, Ctrl+A) try to see if there are any shape keys. It looks like mesh deformation although there doesn't appear to be any modifiers (if there are any turn them on to see result in Blender or delete to avoid them being applied on export)

Tried the scale solution too.. still its just an abomination. No modifiers used. Guess i'll remake it that'll take less time as compared to solving it


text:
Tiny hole/seams between jigsaw models created from svg in Unity?
I have some models of jigsaw puzzle pieces made from a svg that I'm trying to use in Unity. Everything looks fine perfectly aligned with no gaps/seams in Blender, but when I try to use them in Unity I get the tiny gaps/seams inbetween the puzzle pieces that especially visible if panning/zooming the camera around.
The process I used for the models was

Import svg into Blender
Select all and Convert to Mesh from Curve/Meta/Surf/Text
Select each pieces Face then (F) Fill
UV map all pieces to image from bounds

in Blender the puzzle pieces look this after

but after importing into Unity I notice there all these tiny seams/gaps between all the pieces that appear/disappear as you are panning/zooming camera around.(Texture changed for visibility of seams/gaps)

I have also tried triangulating the Faces after filling each piece and I still get the same gaps/seams between models. Everything looks fine in both the Blender and the original svg file with no gaps and seams, any advice would be appreciated, thanks.


text:
How do I model a crumbling egg yoke?
Does anyone have an idea how I can create a realistic looking hard boiled egg yoke, it has this rough and crumbling texture and if I were to model it by hand it would take forever and propably wouldn't look random enough. I can't find any egg yoke texture on the internet and don't know much about creating one on my own. Maybe on of you can help me with this, thanks.

I solved the problem by using using a texture made for clay and editing the colour to orange. I also tried some things out with the normal map, you could propably do a better job if you just create your own normal map and put an orange image texture on it.


text:
Added hair particles don't show in object mode
As shown in the pictures below when I add hair particles via the particle editor they aren't visible in the object mode, the same goes when I tried rendering it, the hair wasn't visible. I'm thinking the problem might have something to do with the fact that I'm using an armature, so maybe Blender gets the position of the hair wrong? I would be thankful if anyone has an idea what I can do about it.

What do you mean they aren't visible? I can see hair particles there just fine.

The hair you see on the body is fine, but you see the hair I added afterwards, like the one in the face doesn't show.

Hmmm... Check that the normals aren't flipped on the face perhaps? Check the inside of the dogs head to see if it's going the wrong way? Draw a line from where you can see hair to where you cannot to check where it goes wrong.

I think I found my mistake, I forgot I declared where the hair is suppose to be with a vertex group, so the hair is obviously only visible in that area. But thank you for your help!


text:
Blank Render changes under similar conditions?
I've uploaded 2 screenshots. One has the 2d material viewed NOT through the lense of the camera in rendered/object mode. The second IS the same but viewed through the camera and for some reason, it can't be seen? Why is this so!?
Many thanks,

MY first thought is camera clipping, but also check for obscuring objects and bad lighting. Oh and finally does a test render work F12?

Can we get a blend file please? Can't tell much from the screenshot. Looks like you've use a peice of geometry to measure out a camera view and left it off in preview, and on in render.

https://we.tl/t-VpIyt2nEgx heres the blender file :)


text:
Render not including light on output?
My blender session looks like so:
im in render view and can see the spot light Im using. When I export to an image however I get this very flat image and no light happening? why is this happening?:

Did you accidentally turn off that plane in render setting?

The preview in 3D view doesn't follow render visible setting in the outliner
Toggle the icon on again and see if the problem is resolved.


text:
How to eliminate offset and follow rotation with parent vertex
I have selected two objects.
I used parent vertices to make the object follow the vertices of the object.
But when I use this, the distance between the object and the vertices is increased.
Also, when I select the base object and rotate it, the following object does not rotate.
Why does this happen?
Is there a way to solve these?

Your video is a bit fast to follow.  It looks like at the point that you vertex parent your smaller cube to your bigger cube, your smaller cube jumps?  This can happen in a few situations, but usually when an object has been parented to something else previously.  It's a bug, but a small, easily rectified one: undo the parent operation, then clear parent inverse on the small cube (alt p -> clear parent inverse) then parent it to the big cube again.
It moves with the cube's rotation, but it doesn't rotate with the cube's rotation, because it is parented to a vertex, and rotation just isn't a property of something 0-dimensional like a point.  Blender can't tell you or anyone what way that vertex parent is rotated.  If you want the small cube to acquire rotation from the vertex parent, you need to parent it to three vertices.  Select the big cube, enter edit, select three and only three vertices on it, then in object mode, parent the small cube to the big cube with vertex (triangle) option.


text:
How to hide add-on source code
Can I hide the source code in an add-on for Blender?
I want to sell add-ons for a fee.
And I want to hide the code.

Related: https://blender.stackexchange.com/questions/63468/is-there-any-way-to-make-an-add-on-password-protected

While that seems possible it is not at all recommended. Not only would that go against Blender GPL license, it goes against it's open source philosophy.
The way I see it you are totally encouraged to sell your addon, everyone is entitled to make a living from its hard work. If you invest time and resources into creating something you should be able sell it, so that it becomes both rewarding and sustaining, allowing you to invest back more time and efforts to improve it.
If you sell Blender addons to users however, you are always essentially paying for a "download service" or "access" to relevant files technically, not actually buying the code itself.
The Blender license states that any script that interacts with its code and hence with it's API must be published with the same or a compatible license. Externally linked code or libraries (like say an external render engine, or closed source third party resources) may use any different licenses.
Quoting the official license

Sharing or selling Blender add-ons (Python scripts) Blender’s Python
API is an integral part of Blender, used to define the UI or develop
tools for example. The GNU GPL license therefore requires that such
scripts (if published) are being shared under a GPL GPL compatible
license. You are free to sell such scripts, but the sales then is
restricted to the download service itself. Your customers will receive
the script under the same license, with the same free conditions as
everyone has for Blender. Sharing Blender or its scripts is always OK
and not piracy.

The philosophy is always to share our findings and globally improve our collective knowledge, there is more to gain globally for the community as a whole from sharing, than from restricting the information flow for personal gains.
To answer you question directly, there are a few solutions around to obfuscate or encrypt Python code (that may or may not work well within Blender), but as an interpreted language I fear this something fundamentally hard to achieve and inherently easily reversible for anyone determined to actually do it.


text:
Animating a Bezier Curve to Music
I'm trying to animate a bezier curve to music to create an visual equaliser type effect. I am not an experienced blender user, but I have some experience with python.
So far I have managed to put the below together which creates a curve with 64 segments, what I would like to be able to now do is to bake an fcurve for each of the segments based upon a frequency range for each. As I see it I need to create the fcurve for each of the sections and apply it to the y of the relevant bezier point. I have no idea how to do this and I can't find much in the way of information. Is it possible?
import bpy

# Create a curve with 64 divisions.
bpy.ops.curve.primitive_bezier_curve_add(enter_editmode=True)
bpy.ops.curve.subdivide(number_cuts=64)

# Cache a reference to the curve.
curve = bpy.context.active_object

obj_data = bpy.context.active_object.data

# Which parts of the curve to extrude ['HALF', 'FRONT', 'BACK', 'FULL'].
obj_data.fill_mode = 'FULL'

# Breadth of extrusion.
obj_data.extrude = 0.125

# Depth of extrusion.
# Which parts of the curve to extrude ['HALF', 'FRONT', 'BACK', 'FULL'].
obj_data.fill_mode = 'FULL'

# Breadth of extrusion.
obj_data.extrude = 0.125

# Depth of extrusion.
obj_data.bevel_depth = 0.125

# Smoothness of the segments on the curve.
obj_data.resolution_u = 20
obj_data.render_resolution_u = 32
obj_data.bevel_depth = 0.125

# Smoothness of the segments on the curve.
obj_data.resolution_u = 20
obj_data.render_resolution_u = 32

# Locate the array of bezier points.
bez_points = curve.data.splines[0].bezier_points

for i in range(0,64):
    bez_points[i].handle_left_type = 'ALIGNED'
    bez_points[i].handle_right_type =  'ALIGNED'

    bez_points[i].co.z = 0
    bez_points[i].co.x = (i**2)+20

    bez_points[i].co.y = 0

    xl = (i**2)
    xr = (i**2)+40

    bez_points[i].handle_left = (xl,y,0)
    bez_points[i].handle_right =  (xr,y,0)

    #Expression to determine the frequency range of the bars
    l = i**2 + 20
    h = (i+1)**2 + 20

# Return to object mode.
bpy.ops.object.mode_set(mode='OBJECT')

# Convert from a curve to a mesh.
bpy.ops.object.convert(target='MESH')

# Append modifiers.

subsurf_mod = bpy.curve.modifiers.new(name='Subsurf', type='SUBSURF')
stretch_mod = bpy.curve.modifiers.new(name='SimpleDeform', type='SIMPLE_DEFORM')

# Adjust modifier options.
skin_mod.use_smooth_shade = True
subsurf_mod.levels = 3
subsurf_mod.render_levels = 3
stretch_mod.deform_method = 'STRETCH'
stretch_mod.factor = 0.5

Sorry if my terminology is incorrect its all rather new to me! If someone can give me a little help or point me in the right direction, I'm struggling to piece it together from the API docs.

You can easily achieve this with the animation nodes add-on for blender (it's basically like coding but with nodes)
There's even a tutorial on YouTube for exactly what you are looking for!
:)


text:
Inset not working uniformly even after applying rotation and scale

I'm trying to inset uniformly but even after applying rotation and scale to the object it deforms when I inset. Does anyone have a solution to this?

it seems like the starting frame is a polygon so I wouldnt expect a perfect square inset. Try to convert it to a quad first.

I'm a little confused. They are quads at the start. What do you mean?

The original face has 6 edges: https://i.sstatic.net/PTIsP.jpg or you are insetting 2 quad faces... I don't know what you are starting from


text:
Using a sphere as a head for a rig
I am not entirely new to Blender but i am a bit new to rigging models. How can you rig a simple sphere mesh to the head bone of a rig?

maybe check my answer here: https://blender.stackexchange.com/questions/240741/how-to-link-mesh-to-a-specific-bone-from-another-mesh?noredirect=1#comment408897_240741

In object mode, select the sphere with the left mouse button.

Then hold Shift and select the rig with the left mouse button.

Put the rig in Pose mode by typing Ctrl–Tab

Select the head bone with the left mouse button.

Finally type Ctrl–P and select bone from the menu that pops up.

Yep that seemed to work perfectly i really do appreciate your help.


text:
Getting "Cannot find valid keyframes to interpolate (Breakdowns keyframes are not allowed)" in 2D Blender
I'm trying to Interpolate two different keyframes of the same Grease Pencil shape. The second keyframe just rotates & moves the shape around.
I keep getting "Cannot find valid keyframes to interpolate (Breakdowns keyframes are not allowed)" When I use the Interpolate command. I have both Keyframes selected what am I doing wrong?

In my experience, as soon as you move portions of your grease pencil to a new layer, the Interpolate Sequence function is permanently disabled in your entire project.

Using Blender 3.0.1 I was coming across this issue myself. I would:

Draw something on frame 1,
Copy and paste it to another frame (say frame 10)
Go into Edit Mode
Select both frames then click on the dope sheet and select Grease Pencil > Interpolate Sequence

It would give me the error: Cannot find valid keyframes to interpolate (Breakdowns keyframes are not allowed)
For me the solution was simple, after you have selected the start and end frame make sure to move the current frame somewhere in between the start and end before selecting Grease Pencil>Interpolate from the menu.

Enable the auto keying record button in the timeline window, go to the interpolated keyframe, enter edit mode, select all and press Ctrl +  C, move to an empty frame, press Ctrl +  V, select this newly created keyframe and move it back to the interpolated one, overwriting it.
If you don't know which is the interpolated keyframe repeat the operation on both.

I found that I have to select the first keyframe first, then the second keyframe (that it morphs into) before clicking on DRAW > Interpolate Sequence.
So when you are putting a box around the keyframes in your sequence you want to shape tween (or morph) make sure you start with the one on the left.
It took me forever to figure this out, but it seems the simple solution to that *error message.

I get this error when the wrong layer is active.  Select the layer that the start and end keyframes are on (press 'y' or pick it from the layer list).

My fix was to convert the keys from breakdowns to keyframes:

Click the first and second keyframes you are trying to interpolate
Right-click and choose Keyframe type, or press  R
Click Keyframe

It will change those keys to regular keyframes. Then, it would let you interpolate those keyframes (Grease Pencil > Interpolate Sequence or ⇧ Shift + Ctrl +  E).
I think the issue is that Blender won't interpolate breakdowns (keys colored blue on the timeline) which are frames generated between keys that had already been interpolated.


text:
Boolean modifier does not work
Im trying to make an iphone with blender, and for the ports, I was going to use a button to dig in the body. I tried using the bolean modifier but it seems like its not working. The phones body is a plane; could that be the problem? But it's solidified, so as far as I know, it should work.
Plus, even though its solidified, it looks like there are only four vertices for the phone body. Is this normal or am I missing something?

there are hundreds of question like yours here on stackoverflow, you should search it. If you won't find any, please provide blend file.

You're not providing enough information to solve the problem. First of all: if you have a plane with a Solidify modifier, yes it's normal the plane still has 4 vertices because the modifier adds "virtual" geometry which only becomes real when you apply it. Next thing is, yes, if the Boolean modifier comes after/below the Solidify it should work. If not there might be plenty of reasons from using the wrong settings to using a "cutter" object with bad geometry to things like you can't see the cut-out because the cutter object blocks the view and you have to make it invisible etc.


text:
Why are the DXF files not to scale when i import them into blender?
All of my measurements seem to be their actual values when I view them with Autocad but the measurements are way too large when I import the DXF file into blender. For example, a three feet door drawing in Autocad is about more than 10 feet when I import it to blender. As a complete beginner this problem has got me scratching my head for a few hours now. Any help will be appreciated. Thank you.

Did you change blender's unit system to imperial before importing?

You may need to change the unit scale in the importer

Changing the unit scale in the importer fixed the issue :) Thank you all for such prompt response.

Pls refer this video for imperial import https://www.youtube.com/watch?v=Bje4tCOLHCM


text:
Copying specific frames from one action to another ( python )
I'd like to take specific keyframes from an action ( say 33 to 66 ) and copy them over to another action.
I know I can copy the entire action and just delete the peripheral frames, but that can potentially take long for actions that have a lot of frames in them.
I'd be doing this to a blank action.
Thank you!

Numpy action slicer.
Script to roll thru the fcurves of an action and create a new one based on a new frame range. A condition to shift the frames of the copy is added.

I know I can copy the entire action and just delete the peripheral
frames

The rub here is that copying the action using Action.copy() will AFAIK bring along all the fcurve modifiers and other stuff I have not added in here.
Test script, added a timer wrapper for testing.
import bpy
import numpy as np

def time_it(func):
    import time
    def wrapper(action, start_frame, end_frame, **kw):
        print("-" * 44)
        print("In:", action.name, "frame_range", action.frame_range[:])
        print("Fcurves", len(action.fcurves))
        print("Keyframes", sum(len(fc.keyframe_points) for fc in action.fcurves))
        t1 = time.time()
        copy = func(action, start_frame, end_frame, **kw)
        t2 = time.time()

        print("Out:", copy.name, "frame_range", copy.frame_range[:])
        print("Fcurves", len(copy.fcurves))
        print("Keyframes", sum(len(fc.keyframe_points) for fc in copy.fcurves))

        print("Elapsed time", (t2 - t1))
        print("-" * 44)
        return copy
    return wrapper

@time_it
def action_slice(action, start_frame, end_frame, shift=True):
    copy = bpy.data.actions.new(action.name)
    copy.id_root = action.id_root

    for fcurve in action.fcurves:
        kfs = np.empty(len(fcurve.keyframe_points) << 1)
        fcurve.keyframe_points.foreach_get("co", kfs)
        kfs = kfs.reshape((-1, 2))
        _fc = copy.fcurves.new(
                fcurve.data_path,
                index = fcurve.array_index
                )
        _fc.keyframe_points.add(0)
        _kfs = kfs[
                np.logical_and(
                    kfs[:,0] >= start_frame,
                    kfs[:,0] <= end_frame
                    )
                ]
        if shift:
            _kfs[:,0] -= (start_frame - 1)
        _fc.keyframe_points.add(_kfs.shape[0])
        _fc.keyframe_points.foreach_set("co", _kfs.ravel())
    return copy

action = bpy.data.actions.get("Jumping")
action_slice(action, 100, 300, shift=False)
action_slice(action, 100, 300)

Test run on CMU mocap file 01_01 Jumping.
Output.
--------------------------------------------
In: Jumping frame_range (1.0, 551.1978149414062)
Fcurves 96
Keyframes 264192
Out: Jumping.017 frame_range (100.19960021972656, 299.9988098144531)
Fcurves 96
Keyframes 96000
Elapsed time 0.1481459140777588
--------------------------------------------
--------------------------------------------
In: Jumping frame_range (1.0, 551.1978149414062)
Fcurves 96
Keyframes 264192
Out: Jumping.018 frame_range (1.1996002197265625, 200.99880981445312)
Fcurves 96
Keyframes 96000
Elapsed time 0.14278960227966309
--------------------------------------------
>>>

Have you found a new hobby in Numpy? Nice answer...

In a way, I suppose.  Always found it a bit of a "dark art"  Just like pushing matrices as a "see the light" way to transform, AFAIK there is no way to do something like above quicker without it...

This is perfect, and runs incredibly well. I was even able to add an argument to change the name of the generated action so they can be unique. Awesome answer!


text:
Changing orientation of armature in edit mode without breaking animations
I imported an armature into blender with animations included. The problem is that the skeleton uses the Y-axis as the up axis, and I need to use the Z-axis.
I have tried rotating it manually in edit mode, but the animations contort
Any help appreciated

What format of file are you importing? Some formats let you specify Y and Z direction on import (.obj, for example).

I'm using an add-on to import the model. The extension is .semodel. I wanted to import like that but unfortunately I don't have an option to, hence why I'm trying to just fix after import. The animation is correctly lined up with that axis as well

I found out I can do this by just going into object mode, rotating the armature and applying the rotation


text:
Weird behavior in my mesh when trying to move it in Edit Mode
In this gif, I'm simply trying to move the mesh by pressing  G. The very left of the mesh refuses to move past the x axis, while the rest of the mesh moves fine. What is happening?

Nvm, i just figured it out. There must be a shortcut to activate mirroring. I had the X axis on mirror. Turning it off fixed it.

you can write an own answer for that if you want - so others might learn something from it as well ;)

I figured it out. There must be a shortcut to activate mirroring in Edit Mode. I guess I accidentally activated it. i went into the "Active Tool and Workspace settings" on the right hand side and clicked the "Options" dropdown and disabled the mirroring that was activated, in my instance it was activated on the X axis.


text:
Why my text object looks wired in such material?
I have a brick material attach to my text object

It looks normal in up view , but the side view looks weird , the brick become so horizontal , I set image texture project way to Box, and materials coordinate is Object method, but still don't know why.
Does anyone know how to fix it?
I want it to turn smoothly and in a normal brick way, the two face edge should have a smooth materials.

there's something wrong with your projection, check the UV map.

Maybe you should edit manually that section in the UV Editor

Hello :). This similar question could help https://blender.stackexchange.com/q/170089/78972


text:
How to model a round chair?
I need to model some round chairs like these ones:

I have no idea where to start, or how to do the curves or anything, I'm lost.
So, how would you do it if you had to?

So where are you stuck at? What have you got so far? Those two chairs look quite different, as it currently stands this question seems to broad for the Q&A style of site. Please edit you question to focus on specific modeling problems you may have.

About the first one, maybe this post can be helpful.

I'll answer regarding the white/orange chair.
The outer spherical shell and the base are easy enough to model. You can start with a sphere and use the Solidify modifier to give it thickness. If you rotate the sphere you can simply cut out part of the sphere to get the opening. The base can be simply modelled by extruding a circle.
The more difficult part is the cushion. I would start by box modelling the approximate shape and position of the cushion and the sculpt it into the final shape and position. You can see the cushion gently hugs the opening of the chair so that would need to be modelled/sculpted into place.

Wow thats so great! the thing is, im new in this, so i've no idea to do anything, but you make it look too easy haha ok i'll try with your answer, thanks mate
one thing, how do you do that curve on que cushion?

The cushion is an extruded cube with subsurf modifier on.

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


text:
Problem after closing with bend modifier
I bent my shape, and erased double vertices.
I can move them and the shape is well closed, but when I use subdivision it remains with a rounded end.
I know I can make a cylinder, but this is a test for more complex work.
Any idea how to close it properly?

Perhaps there's an internal face where the two sides connect?

^ What he said, was just about to publish an answer saying that.

@stphnl329, you should undelete your answer. As you took time to do it, it is ok to keep it, even if in between a comment says the same.

@lemon alright, will do

Since you've created that band by bending a rectangular prism then removing doubles, I believe there's an extra face that you didn't delete, right in the center where the two ends had met (running along the cross-section of the band). You need to delete that inner face since the subdivide modifier is using that face to average out the vertices.

Great !! thanks :-) Is there an other way to close a bended prism? It's easy to remove a face on a simple vertex but on a more complex one...

@Shura Create a cylinder with n vertices, select Nothing cap fill type, then apply a solidify modifier

If its not a regular polygon, you can also use the Inset tool while in edit mode. A shortcut is to select a face and press "I"

many thanks for all your anwsers, very helpful :-)


text:
How to rotate a an emitted particle with the rotation of the emitter?
I'm trying to emit particles with a rotating sphere but the emitted particles don't revolve around the sphere when it rotates

Try using Force fields


text:
How to have an object lie on a specific face
I've been trying to get this object to lie flat on this face but I'm having no luck, any suggestions?

Try this answer - https://blender.stackexchange.com/a/183497/75504

Bmesh script

A script to transform the mesh object (ie alter its matrix world, not vertex coordinates) such that the active face centre is at global origin, and the face normal is oriented globally to (0, 0, -1)
Run in edit mode with a face selected.
import bmesh
import bpy
from mathutils import Matrix, Vector

context = bpy.context
ob = context.edit_object
mw = ob.matrix_world
me = ob.data

bm = bmesh.from_edit_mesh(me)
f = bm.faces.active
o = mw @ f.calc_center_median()
gn = (mw.to_3x3() @ f.normal).normalized()

R = (Matrix.Translation(o) @
     gn.rotation_difference((0, 0, -1)).to_matrix().to_4x4() @
     Matrix.Translation(-o)
     )

ob.matrix_world = R @ ob.matrix_world
ob.matrix_world.translation -= o

Related
Set object local axis based on face orientation
Setting mesh's origin in python (2.8)
Align to face normal vector

In your case, this is pretty easy to do, since your mesh is already aligned to the axes.

Position the 3D cursor at the bottom vertex of the triangle you have selected. You can do this by selecting that vertex, then hitting SHIFT + S, Cursor to Selected.

Duplicate this vertex with SHIFT + D, and move it away along the x-axis.

Set the pivot point to 3D cursor. In your snap settings, Snap to Vertex, Snap with Active, and make sure Rotation is enabled. (https://i.sstatic.net/KmZn2.png)

Select one of the other two vertices of your target face, then with your cursor over the mesh, hit L to select the rest of the mesh while retaining your active vertex.

Press R to rotate, Y to constrain the rotation to the y axis, and snap to the vertex duplicated earlier.

These instructions work in this case as I say because your mesh is already aligned with the axes. If you need to align an object to lie on a face that has an arbitrary initial orientation, see the answer to this question: How do I orient a face so it lays flat?
It's a bit more technical and finicky, but it's really powerful once you figure it out.


text:
Fix wierd lighting/shaders with color ramp material
I'm having trouble figuring out why there are those weird triangle glitchy imperfections in the shaders of this low poly car. It's a fairly flat object but there are those outline triangle things near the outlines of the faces.

Have you check for z-fighting issues caused by overlapping faces?

Yes, there are no overlapping faces

Can you post your blendfile here? Use https://blend-exchange.giantcowfilms.com/


text:
Separate weakly connected objects
I'm facing a problem that I'm sure Blender is capable of solving.
I want to individually separate weakly connected 3D objects (see an example in the picture).
I thought of the following idea:

Remove a margin on the whole object. If this margin is big enough, it should separate the objects.
Once the objects are separated, add the margin previously removed.

I've tried to blender with Alt+S, but it doesn't seem to do exactly that and so it doesn't separate the objects.
Do you have an idea?
Thank you

What exactly is a weakly connected object?

Oops, sorry I didn't give much information on that one.
An object corresponds to two weakly connected objects if we can cut this object in two such that the missing surface of the two objects to be volumes again is less than a certain percentage of their total surface.


text:
How do I get rid of these extra cuts when using Boolean?
I'm a beginner to Blender, and I'm trying to create a container (as pictured)
to import as an OBJ file into Adobe Dimension.

I realized after using the Boolean tool that there would be extra "cuts" to the object, resulting in (see other picture) a weird screen over the model when imported into Dimension. Any suggestions are helpful, thank you!

I found this related question on the exchange. The problem seems to be exactly what the answer to that question outlined. https://blender.stackexchange.com/questions/75568/why-has-the-boolean-modifier-created-new-vertices

A face can't have a hole in it, and a vertex can't be in the same face more than one time. This is why the operation automatically adds these edges.


text:
Any way to maintain particle color when converting to a mesh?
Ive got a particle system set up to use a plane as the render object and the plane is using the particle instancer texture coordinates so that the particle color is determined from where they emit.
When i convert the system all of the particle meshes just turn black.
Is there any way to make them maintain their color when i convert them? Or an alternative way to make a collection of meshes adopt their color from the points on another mesh? If there is an option that works with eevee that would be even better.


text:
Shrinkwrap doing crazy things on surface topology
When I shrinkwrap the edge vertices of the inner element onto the inside surface of the frame(surrounding surface), the whole object (whose specific vertex group is being shrinkwrapped) just goes crazy...
what could be causing this?
Normals are ok, all transformations are set back to 0, no duplicated vertices... I think everything is ok, and I still don't know what is happening... ANY IDEAS??? I neep help!

You can try to:

Raise the polygon count in both objects with subd modifier;
Recheck there is no vertex incorrectly assigned to the vertex group;
Lower the vertex weight;
Small nudges to the objects to find a "sweet spot".

Thanks for the reply! I tried them all, but what worked in the end was adding another couple of edge loops really close to the shrinkwapped vertices. CHEERS!


text:
Blender 2.83.2 crashing plasmashell 5.19.3 Arch linux
I'm running into a weird bug here and I can't find other resources. I installed Blender with pacman and it opens and runs smoothly, then randomly something will cause it freeze the entire plasma session.
I am running blender on a 32 gb Dell Latitude e7270 without graphic card integration.
Blender is v 2.83.2
Plasma is plasmashell 5.19.3
Here's a pastebin of the last blender --debug-all when I was playing around with camera angles, and moving the default box around:
https://pastebin.com/67G8qnEb
The last lines before freezing the session were
[SCScene :: View Layer]: deg_evaluate_copy_on_write on OBCamera (0x7fe68570f438)
[SCScene :: View Layer]: BKE_object_eval_local_transform on OBCamera (0x7fe68570f438)
[SCScene :: View Layer]: BKE_object_eval_transform_final on OBCamera (0x7fe68570f438)
Depsgraph updated in 0.000129 seconds.
Depsgraph evaluation FPS: 3.166230
UI_menutype_draw: opening menu "TOPBAR_MT_editor_menus"

I still had plenty of memory left. The interface for blender seemed to be stuck jittering between two positions in the camera transform.
Is anyone else facing blender issues?
Can I debug and get it running? I have a surface pro laptop that runs it smoothly that has no gpu and only 8gb of memory (also running arch with plasma 5.19.3)

I have freeze issue ,
i m using Arcolinux (arch based)
playing with default cube about 15 mins , blender freeze my whole OS only mouse can move on screen graphics are glitched then i have to hard reboot.
my specs are i5 8400
8gb ram
intel uhd 630 Os Arcolinux (DE plasama)
Kernel 5.7.9-arch1-1 someone also have issue here is link https://developer.blender.org/T77875

This sounds more likely to be a GPU driver problem that Blender is triggering in some way. I found this page listing a number of known intel driver problems, do any of them seem applicable? (If you can ssh into the machine after the crash, you might check the output of dmesg, or on the next boot, check the output of journalctl -k -b -1)


text:
Bevel Start End on Circle Curve, Blender 2.83 not working
The Bevel Start End does not work on closed curves.
I need to partially bevel a profile on a circle.
The circle curve added by Add->Curve->Circle is closed.
Duplicating a vertex and manually re-building an open circle results in a numerically inprecise curve.
How can I open the Circle curve without loosing a segment and end up with a mathematically exact circle?
Thanks

Either Blender is rather non-intuitive, or I'm missing something obvious.
The fastest way I found:

Add a bezier circle and make it non-cyclic (Alt + C)
Rotate the end vertices to form a 3/4 circle
Extrude one of the ends and complete the circle


text:
Cannot select a row of vertices
As the title states:
I cannot use alt + right click to select a row of vertices.
I tried many things, and at first the OS was using the alt key, so I changed the default key to the superkey (windows key).
However that didn't change anything in blender.
I even tried all the things listed [here  -> https://blender.stackexchange.com/questions/124971/altleft-click-not-working]
No success. I am using blender version 2.82, and I am running linux (debian 10) as my host operating system.

Did you tried in a simple scene? Is the "select edge loop" operator works by it's own?

Hello :). Since 2.80 it's actually Alt + left click by default

Thank you, @JachymMichal! That worked! :)


text:
How to run Blender on the discontinued Intel 4 Series Express Chipset Family?
is there any way to run Blender on the discontinued Intel 4 Series Express Chipset Family or will I have to fin

As mentioned below, as long as you are willing to use some whatever old version everything is eventually going to be possible. But the biggest problem is that (especially for such old gpu) Intel's Windows OpenGL drivers are quite pathetic. Hell, they don't even work correctly in Windows 10. If everything you care is just running Blender on that old PC, I'd recommend to try some linux distro. Not only they are still maintaining the hardware even with some modern extension, but if you are lucky you might even manage to run newer than 2.79.

That is a very old Intel chipset. If you are asking about the integrated GPU (which is my assumption), the answer is, unfortunately, no.
According to https://www.blender.org/download/requirements/ you'll need a 4th gen Core i3/i5/i7 series (Haswell) CPU with integrated GPU or newer for Intel graphics.
Edit: The Intel 4 Series Express (Mobile) Chipset has the Intel GMA 4500MHD graphics hardware onboard. This is the same as the desktop GMA X4500 hardware, which is an OpenGL 2.0 card: https://www.techpowerup.com/gpu-specs/gma-x4500.c3140
If you really want to try blender, try a version before 2.76, as per the requirements page--it only needs up to OpenGL 1.4. Your performance will likely be terrible (slow clock speed, no dedicated VRAM, so it siphons some from your system) and you definitely will not get any CUDA support or any other fun things. Sorry!


text:
How do you pose a model without the mirror also moving?
I used the mirror modifier to create the body and added bones but when I try to pose it the mirror still takes affect and half the bones don't affect the model at all. How do you stop it from doing this?

You have to apply the mirror modifier to create the full body as a mesh. The armature can only affect real meshes, not "virtual" ones generated by a mirror. And then the new vertices of the mirrored side have to be parented to the according bones via weight-painting.

@GordonBrinkmann How do you apply the modifier? What is weight painting?

in the modifier, click on the little down arrow > Apply, or select the modifier and Ctrl A

Well, looks like I'm not firm enough in those things. Go to the answer by @joshsanfelici for more information. But if you have no idea what weight painting is you should probably check some tutorials... because there might be situations where the automatic parenting to an armature isn't perfect.

There are some rules that need to be followed if you want to use a mirror modifier in animation:
The mirror modifier has to be upper (first evaluated) in the stack than the armature modifier; it has to have its "Vertex groups" option checked, and (before parenting) every couple of simmetric bones have to share the same name, except for an accepted suffix, a list of which you can find in the Blender manual (some commons: .L .R, .l .r, .left .right, .....).


text:
my animation is jittery but all settings seem correct
I'm working on a project right now and all my renders are super jittery for some reason. I tried to change materials in case the deniosing process was the reason of it but It's still super choppy. I also tried rendering at 30 fps instead of 25 fps but nothing works, I'm not sure what could be the problem. I'm attaching a video so you can see the problem. I would really appreciate the help, I'm in a big rush.
choppy clip

I’ve looked at the animation and I’m not seeing any jitteriness. But if there’s something wrong what is your output settings?

thanks for replying :) Oh Really? could be my monitor, but I can see it in my phone also a bit. this has never happened to me before, I'm quite lost on why. Here are my settings:
Full HD, 300 samples, compositing denioser and glare, mpeg4, video codec: H264, output quality: perceptualy loseless, encoding speed: good.

Using a PNG sequence is recommended instead of a video codec. As it keeps better quality and you also can stop the rendering if you see a mistake and then fix it and then resume the rendering. Just change the file format to png and keep the default settings. Then you may want to change your output. Then you can put the frames in a video editor or put in blenders video editor as an image sequence strip. The reason why your video is lagging is that your computer may have low ram. Try closing apps you don’t need then try it. If that doesn’t work, restart your pc and monitor then try again.


text:
collection instancing not showing the object
I'm currently working on a project where I have to replicate a diamond-encrusted surface. I created a new group ("GEM4") for the diamond ("Cylinder") in order to generate a collection instance, but when I try to generate the new instance only the empty shows up and the object itself doesn't get replicated. I've tried creating the collection again and making sure the diamond object is inside but nothing is working. I'm attaching screenshots to better explain myself.
I really have no idea what's going on, probably some settings I have to switch up but I can't really find the solution. Please heeelp

Hello could you please share your file with the collection that you want to instance only?

Here!! https://drive.google.com/file/d/1eCtMX89NU9aC22S3kQdSfHGmLAU0gNaf/view?usp=sharing

Your instance is actually here, but very far away from the empty, so you need to zoom out a lot to see it:

Why that? Because the empty will be created as far away as the original objects of the collection are far from the world center. Here your collection object (here cylinder) is far from the world center, so when you'll create an instance of the collection, the object will be far away from the instance empty.
You have 2 ways to fix it, either move the original object closer to the world center, or select your object, right click > Set Origin > Origin to Geometry (because for the moment the origin is out of the object), put your 3D cursor on the object (ShiftS > Cursor to Selected), go into the Object Properties panel > Collections > GEM4 > Set Offset from Cursor:

Ah!! I'm blind hahaha, the problem is fixed now. Thank you so much for your help, really appreciated :)


text:
Moving folders has confused blender paths
I needed to tidy the files I am using in my blender project. After doing so blender doesnt know how to find the files as the path they were on has changed.
What can I do with blender to make sure it doesn't lose the paths when I tidy the files?

"What can I do with blender to make sure it doesn't lose the paths" it doesn't seem to be possible to prevent it. See for one way to fix https://blender.stackexchange.com/questions/27859/how-to-re-link-files-which-have-paths-that-have-become-invalid-cant-be-found.

You can be Packing as .blend or .zip instead of saving your file directly.
You can also try setting up the File Path under the Preferences


text:
Blender on Thinkpad x61 Good/Bad?
What would peoples thoughts be, running blender on a Thinkpad  x60 / x61 if I went ahead and bought one?
the screen shot shows some specs.

What do you want to do (Modeling, Rendering, Compositing etc.)?

Questions about hardware are considered off topic here, and answers to this are subjective and very opinion based

Please see minimum Blender requirements:
https://www.blender.org/download/requirements/
Your spec does not pass them. There you can also find the optimal/recommended configuration.

i think its just the ram that doesn't pass but that can be upgraded?

Im not sure what think pad from the x series (220x and going back) would fit the specifications for blender my I please get your opinion ? Many thanks!

this is confusing because this guy got blender running on the x60? .. How?https://www.youtube.com/watch?v=2EnvzZas-0s

also does i5 2nd gen cover the recomened dual core. Is i5 better? Im not sure ? many thanks

It's not about if you can get it to run, it's more about if you can use it. You should aim for the recommended spec. i5 is definitely better than core2duo M. Please see some hardware benchmarks.


text:
How to add slider for a custom property of an operator
In these days I have been checking how to create add-ons for Blender. One of the first things I have tried is to create a panel that displays an operator. The operator has a custom property that I would like to control using a slider.
I am able to show the slider but it does not move. Could you help to spot what I am doing wrong?
import bpy
from bpy.types import Panel
from bpy.types import Operator

class Createoper1(Operator):
    bl_idname = "wm.oper1"
    bl_label = "Create world oper1"
    bl_options = {'REGISTER'}

    oper1_size = bpy.props.FloatProperty(name = "oper1 size",default=10.0, min=0 , max = 100)

    def execute(self, context):
        for obj in bpy.data.objects:
            if obj.name=='oper1':
                return {'FINISHED'}
        bpy.context.scene.use_gravity = True
        bpy.ops.mesh.primitive_plane_add(radius=self.oper1_size, view_align=False, enter_editmode=False, location=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
        plane = bpy.context.selected_objects[0]
        plane.name= "oper1"
        return {'FINISHED'}

# Class for the panel, derived from panel
class BendBotPanel(Panel):
    """Creates a Panel in the Object properties window"""
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_label = "BlenBot"
    bl_context = "objectmode"
    bl_category = 'Robotics'

    # UI elements
    def draw(self, context):
        layout = self.layout
        box = layout.box()
        box.label("Create oper1")
        row=layout.row()
        #row.label(text="Size oper1")

        oper1_op = box.operator('wm.oper1', text='Insert oper1')
        box.prop(oper1_op, 'oper1_size', slider=True)

# Register
def register():
    bpy.utils.register_class(Createoper1)
    bpy.utils.register_class(BendBotPanel)

# Unregister
def unregister():
    bpy.utils.unregister_class(BendBotPanel)
    bpy.utils.unregister_class(Createoper1)

# Needed to run script in Text editor
if __name__=='__main__':
    register()

Thank you


text:
How to change material from diffuse?
I'm very new to Blender, and I've been watching the Blender Guru tutorials. I've gotten to the materials episode, and the person in the video has a dropdown menu to change the texture from Diffuse to Glossy or any number of others. I can't seem to find a way to change from Diffuse, and I'm very confused.
I'm in Blender 2.79 if that helps, thanks.

Would you mind providing a link of the video you were watching so I can get an idea of what they were doing. Also a timestamp of at what point they did this action?

Can you even see Diffuse?

The video is here: https://www.youtube.com/watch?v=f5Gb1VK98Wc
The timestamp is 14:50 where he selects the dropdown menu for Surface and can change it from Diffuse, Glossy, etc etc.
Here is a screenshot of what I'm seeing: https://imgur.com/a/BxLnh4j
As you can see, under the Preview dropdown, I have a Diffuse dropdown but not a Surface dropdown as shown in the video. Again, I am in 2.79.
@nathanrivera
@Yash

Maybe you need to switch from Blender Render to Cycles Render

Maybe you need to switch from Blender Render to Cycles Render


text:
Modify Boid collision distance with hard boundary - v2.80
Hello hello Blender community!
This is the first question I'm posting, similar ones have been asked before but I was unable to get something working from the answers/comments on the questions most similar to mine. I'll try to include a bit of detail so that it's clear what I'm looking for and hopefully I won't be too hard to help. Thanks for your time.
I'd really like to create a scene in which I have a swarm of rats running down an alley. Currently, they're modeled by a Boid particle system. In order to make them respond to the environment, I want them to collide with scene objects in a realistic way (for now, I'm not worried about climbing or anything fancy).
In my alleyway scene, there is a staircase and I would like the boid-rats to scamper between the stairs and the wall opposite them. However, the collision distance is quite large - pictured below:

An example of the issue can be seen looking at the rat near the center of the image who is close to the corner of the stairs. This rat could have run by the stairs but was knocked to the side by this large collision distance. The rats tend to bounce around until they eventually fit through the small gap. Poor rats.
My hope is that there's a way to get tighter collision modeling with the Boid particle system, however, it could be I'm trying to solve the wrong problem. Though Boids seem to fit the swarm part well, perhaps a different approach is better. I'm open to anything :)
One other approach I've tried is adding rigid body physics to the objects and setting small collision margins, but I'm still getting the large collision distance. I believe I updated the animation correctly but maybe something wasn't properly baked (if that solution should work). I also tried topping out the damping on the collision objects to see if they were causing the intense bouncing, but it doesn't appear to be so.
Another example of this is how, if I place my emitter in the middle of a plane with a collider, rats are spawned equally distant from the plane on either side. To me, this suggests they're being forced out to the minimum collision distance, which I currently don't believe I can change since the objects are not soft-bodies. In the picture, the emitter and boid-rats are secondary selection and the Follow Leader target is primary.

I'm going to attach the scene in case it would be helpful to see! I created everything in v2.80 but tested it in v2.81 in case anything would be different but all is the same as before. Please let me know if you have any ideas and thanks again for your time!
Edit: Here is the .blend file

I was having the very same trouble today in one of my productions! Eventyally I figured out that my problem was the particle system's render "scale" setting. Don't know if this would apply to your case too, though.
Below is a quick example of the problem I had:

The icosphere object is scaled down to 0.2, and the particle scale is set to 1, and I'm using the "object scale" option, which results in a big gap between the particles and the collider cube.
There's 2 possible solutions: either scaling the icosphere up and decreasing the particle "scale" setting, or unchecking the "object scale" and then setting the correct scale with the particle "scale" option.

Hi Aleksi, thanks for the response. I will give this a try soon! I don't recall if I gave that a shot before but if it works for you then it's worth testing :) I believe that my original rat object was quite a bit larger than a regular rat, so the model was scaled down a bit, then I used a scale of 1 on the particle emitter. If the original rat size was being used (for the particle size), then for sure it would have been too big. Thanks for answering! If it works for me I'll mark as correct.

I will go ahead and post this as it works well enough for my use case, though it feels like there's a better solution:
I was able to get the simulation to work if I drastically increased the scale of the whole model - so that even if what earlier felt like a large collision distance remained the same, it would still be relatively small compared to the path the rats would travel through.
If somebody has a better solution I would gladly accept it in place of this one! I would prefer to keep the units life-size as they were before.
Current below: it appears that the relative collision distance from the stairs is the same compared to the images above. On the right of the image, there are still some bouncy rats but I can perhaps add a forcefield to direct them so I'm not too worried about that.


text:
Convert the pose bone matrix to a local matrix
I need to convert a pose matrix to a local matrix.
I do it like this:
armature_object.convert_space(pose_bone, pose_bone.matrix, 'POSE', 'LOCAL')

And it works.
But if you turn off the Inherit Rotation checkbox on the bone, then this function will not take this into account.
I need to find a way to get around this limitation.
The only thing that occurred to me was to write my own function convert_space.
But I do not know how to make it.


text:
Show keymap on button in N-panel
I want to add an operator label that will show the keymap for the given operator.
How can this be done if operator is in N-panel?
If operator is added to the Object menu, then the keymap will be displayed automatically.
But for N-panel it doesn't work.

Without seeing some code for your operators, I don't know if what I suggest will work for you.
From this part of the Blender Python API: https://docs.blender.org/api/current/bpy.types.UILayout.html#bpy.types.UILayout.prop  there is a text="" parameter that you can use in the row.operator that might be what you want.
I tried this in an addon I made that uses a button: row.operator("kf.movobj", text="Move     G", icon='ARROW_LEFTRIGHT')
And got this result:
Otherwise one can use the bl_label from the class for the operator to get the same result.

In my addon you can change shortcuts. Therefore, I have to find out each time which key is assigned to the operator. And the text on the button has the same color as the button name. In the menu shortcuts have a darker color. As far as I understand, there are no built-in tools to draw a shortcut.

I see. That is a lot more sophisticated than anything I've done. I hope you can find a way to do it.


text:
animate object shaped with curves modifier by moving curve vertex
So I created this beaded bracelet and want to know if it possible to animate the path so it looks like it is "wiggling" (ideally grab two opposite vertices and move them around.)
Since it is a nurbspath I cannot parent, and using a curves modifier and then changing the path  doesn't seem to do anything.
The string and beads are a joined object with a curves modifier already applied for this initial shape.

As Ray Mairlot says, you can hook your vertices to empties, you can also hook them to bones (which, contrary to empties, would allow you to have a Rest pose). In my opinion, converting your nurb to a bezier will make things easier (Curve > Set Spline Type > Bezier).

Create your armature with as many bones as you have vertices in your curve. Put them over those vertices.
Switch your armature to Pose mode, select the bone you want.
Shift select the curve, go in Edit mode, select the vertex that is supposed to be controlled by this bone.
Press CtrlH > Hook to Selected Bone.
Now you can animate your curve.


text:
Editing Spiral Curves 2.92
Is there still no way to edit the turns of a spiral form after creating it?
(Blender 2.8+ Editing Spiral Curves)
I tried using F9 (Adjust Last Operation) but I just get a notification that says Toggle Edit Mode in both Object and Edit Mode, without seeing the Operator Menu that comes up when I immediately add an object. I constantly want to go back to the operator menu to change just one thing after creating an object but it doesn't seem you can?
Thank you!

Yes, whenever you do something AFTER the dialog is gone, you never get this dialog again. This happens by the way with all of these „settings“ dialogs whenever you create something (curve, mesh, whatever).


text:
Scale multiple objects in place
I am trying to scale many objects that are in a circular formation around (0,0,0) but have them STAY in their respective coordinates. When I scale or transform all of the objects now, it changes the distance away from center.
In photoshop there's something like Object --> Transform Each.
Is there something similar in Blender?

I guess what you're looking for is just to change the Pivot Center to Individual Origins:

Now when you scale up your objects they stay in their position:

yes precisely! thanks!


text:
How to make a face between circles?
trying to make a face between the selected circles for a disk shape
  SHIFT TAB should let me select edges then i should be able to make a face, correct? however, the selection to select vertices, edges isn't showing up and when i hit f, a third larger circle appears? what gives? beginner here

https://blender.stackexchange.com/questions/46342/is-there-a-way-to-fill-the-area-between-two-circles/46351#46351 and https://blender.stackexchange.com/questions/88931/connect-vertices-from-inner-circle-to-outer-circle and https://blender.stackexchange.com/questions/49940/how-can-i-connect-the-top-loop-to-the-down-loop-with-faces

You should first join all the paths /shapes by selecting them

hit spacebar search and search "join"

or press Ctrl + J
Once those are one shape, press Space  and type in search "convert to"

Here you can see two options, select Convert to mesh

Once that is converted into mesh, go to Edit Mode, and start Filling paths..

Select two edges in two separate paths and hit F, they will be connected.

Now select one edge and keep pressing F

For the last part the "Bridge Edge Loop" command would be even more fitting.

@Leander, You are right. Appreciated. I'm sorry I forgot that at that moment.


text:
selection group
Imagine I have 10 objects in my scene.
I keep needing to select object 1,6 and 9 to do something.
Is there a way to name this group? Say 169.
I dont want to group/parent/put in container. This "group" is for selecting only.
So every time I want to select object 1,6 & 9, I can just select the group called 169.
Does that make sense and can it be done?

it can be done via python script. The question is: why don't you want to use parent/container, because these are the obvious ways to do such things in blender? What you also could think about is joining these 3 objects...you can later separate them if needed.

In the Machin3TOOLS addon there is a group function, it parents the group to an empty, then you can select the whole group by holding shift and double-left-click on one of the objects

I do use and know about groups, parenting and joining but this is slightly different (correct me if I'm wrong).  In my scene, I have groups, containers and parented hierarchies.
Imagine I have a complex octopus rig (so hierarchy bones and controllers). Say, I want to sometimes move 8 arms at once. I could sent up an empty for this but I would need lots of empties for all the other combinations of arms.
Surely, a simpler method is to get Blender to "remember" the selected objects and put it into a "selection group" list?

You probably miss that Autodesk 3ds Max feature as much as I do !


text:
blender crash on a specific project
please help I'm desperate to solve this issue because It keep bringing back to the start,
I have a project I'm working on and basically every time I start to implement the particle system when modify the values it crashes!! the weird thing afterwards its not opening that file at all for some reason !!
I have tried appending the objects from it and made new scene new file but again when I get to this point I get to the exact same issue
I tried all virsion of blender same issue!
I have beast machine so it cant be pc itself
I have intel i9 9980xe processor on x299 designare ex
EVGA GeForce GTX 1080 Ti , 11GB GDDR5X
and 128 gb RAM
please help

There's possibly something wrong with the file.  Can you share the blend? (How to add a blend file) or failing that at least a screen shot of the console showing any messages?  One common reason is that the file was written with a more recent version of blender and you're trying to open it with an older version that doesn't understand it. Could that be the case?

thanks for your reply the file is larger than 30 (44 mg)https://drive.google.com/drive/folders/1DZrkjmCuvrpaz_Rznr5xUPfk1hqqknRM?usp=sharing I have it uploaded to g drive

the file was created with the official 2.93 version I two older versions and the experiment 3.00 alpha but no luck !

It's not the PC, nor your drivers, but I don't think I can help you beyond that.  Blender is crashing with an access violation exception deep within the main draw routine.

did you try to open it with your device ?

Yes, and I get a crash report that tells me some more details, but I haven't found a combination of command line arguments that would allow me to salvage the file.  You might consider filing a bug report, but I don't know that the devs can do anything with it.


text:
How to align vertices along average plane
I have a series of points I want to align to average plane (you can see on the left some are out plane).  I hoped I could select them all and scale them all to 0 along normal orientation, but the normal orientation is not close to the plane.
I'm in 2.79

I just realized I can fill those points to create a plane and that plane has 'correct' normals.  If anyone has a more elegant solution (especially if the points are more linear and wouldn't create a nice face) please provide it.


text:
Dynamic Paint (Weight) Later Weight acquisition by Python
Please forgive poor English by translation
Version used: 3.0.0 Alpha
I tried to get (every frame) the Weight with the following script, but it didn't work
I tried to get the Weight by using the following script, but I could not get the Weight change by Dynamic Paint.
### Python Code
import bpy
meshName: str = 'Cube'

# vars
obj = bpy.data.objects[meshName]

def handler(Scene):

    # count vertices
    weight = [0]*len(obj.data.vertices)

    # get and assign weight
    for i in range(len(obj.data.vertices)):
        try: weight[i] = obj.vertex_groups[0].weight(i)
        except: pass
    print(weight)

bpy.app.handlers.frame_change_pre.append(handler)

The weight obtained by vertex_groups can only be obtained before Dynamic Paint is applied.
Also, I could not get the value by duplicating the vertex group in the modifier and referencing it.
How can I fix this?

I solved the problem myself.
I used the following as a reference. Thanks!
https://blender.stackexchange.com/a/166390/134117
### Python Code
import bpy

meshName: str = 'Cube'

# vars
obj = bpy.data.objects[meshName]
depsgraph = bpy.context.eva luated_depsgraph_get()
object_eval = obj.evaluated_get(depsgraph)

def handler(Scene):

    # count vertices
    weight = [0]*len(object_eval.data.vertices)

    # get and assign weight
    for i in range(len(object_eval.data.vertices)):
        try: weight[i] = object_eval.vertex_groups[0].weight(i)
        except: pass
    print(weight)

bpy.app.handlers.frame_change_pre.append(handler)


text:
Combination of liquid simulation and rigid simulation
Please forgive poor English by translation
Version used: 3.1.0 Alpha
When liquid collision and rigid body are used together
the fluid accelerates to an unusual degree.
Is there any way to calculate this correctly?

Self-resolved.
The value of the sampling substep in the liquid collision settings was too high.
By setting it to 1, the simulation became more natural, as shown in this image.

although you still have some liquid leaking through the bottom of the teapot

That's a separate issue from the one I mentioned, since it's a matter of liquid resolution and collision detection thickness. ; )


text:
single_user not found?
I am creating an add-on that inserts a cloth modifier shape key (every frame) using the API.
It works like it should, but
However, I am getting a frame by frame warning of an error in the CUI.
What could be the cause of this?
    obj = context.scene.theChosenObject

        for i in range(appendFrame_start, appendFrame_end + 1):

            # multiply interval
            x = i * keyFrame_interval
            if x > appendFrame_end: break

            bpy.context.scene.frame_set(x)

            print("aaaaa")
            bpy.ops.object.modifier_apply_as_shapekey(keep_modifier=True, modifier=cloth_modifier_name)
            print("bbbbb")

            obj.data.shape_keys.key_blocks[cloth_modifier_name].name = shapeKeys_baseName + "(" + str(x) + ")"

            if x-(2*keyFrame_interval) >= appendFrame_start:
                # append before defoem keys
                obj.data.shape_keys.key_blocks[shapeKeys_baseName+"("+str(x)+")"].value = 0.0

omitted
erro message:
RNA_boolean_get: OBJECT_OT_modifier_apply_as_shapekey.single_user not found.
RNA_boolean_get: OBJECT_OT_modifier_apply_as_shapekey.merge_customdata not found.

Hello, I wouldn't worry about it if it works as expected. The console output is meant for advanced users. So unless you have an error displayed in the interface or something doesn't work you can safely dismiss it.

Thank you for your answer.
I was worried about it, so I appreciate your help.


text:
Extract only GreasePencil lines
I want to extract only the lines used in LineArt, is there a way to do this?
I tried setting the object path to GPencil, but it doesn't seem to be masked correctly.
The line will also be composited with other outputs ( LightGroup ).

I believe this Thread has a lot of relative value of what you're looking for.
For your case, you should move all the objects into a Holdout collection and make the background transparent. To activate Holdout, within the Outliner, select the Filter drop down menu and within the Restriction Toggles select the Holdout icon for your collection. To make the background transparent as well, go to Render Properties $\rightarrow$ Film $\rightarrow$ and select Transparent.

When you render your line art with the empty background, it should be usable in a Render Layers node within the compositor.


text:
DAE model missing faces
I have created a model of a set of shelves that looks fine in Blender. However, when I exported the model as a dae and imported this into Sweet Home 3D, 3 faces, on 2 identical legs, were missing. These were faces that I had had some issues with when using Knife to alter the shape and I had to recreate them. However, it all looked ok, even in Render.

Any ideas why the dae model would be missing these faces?

EIther it's normals facing the wrong direction or front-face culling is on. In most cases I've seen, this is a result of wrongly oriented normals. In edit mode, select all, then Mesh > Normals > Recalculate Outside.

I did find out that an obj was fine. Not ure why dae was different.

Just curious, when you exported .dae, did you use blender's native Collada (default) .dae export, or the Better Collada Add-on?


text:
Cannot shake off origin point when accessing new object
I thought, as a Noob, I was getting the hang of this but then something simple confounds me.
At some point, when adding a new object (either plane or cube), any action, such as Move or rotate, seems stuck on the origin point and just affects that. I cannot find a way to free this up. I know it will be something simple but I cannot find mention of such an issue in other questions. Any ideas?

Hello :). Perhaps you checked origin transforms by mistake? https://blender.stackexchange.com/a/173897/

Thanks you were right although I have no idea how I did that and indeed it took me ages to find it in the Tool tab for the object to uncheck it. I searched everywhere else. All is ok now. Thanks

Should have clicked on your link...


text:
Using Boolean difference and a cube in cutting a plane
Due to (possibly) a misjudgement in using Archimesh to create a number of rooms in a house, given that the non-solid topology is pretty unfriendly if you want to work on the rooms created, I have created an outer wall, using extruded edges from a plane, to allow me to use materials on the outside of the house.
This meant I would now need to cut the appropriate holes for windows and doors in this outer wall. It seemed that creating a cube of the correct dimensions, intersecting with the wall and using Boolean difference, would allow the hole to be created. This is not the case and given my actions, I believe I do understand why. The wall simply added the cube shape to my wall. I expect at the point of intersection within this, there will be a hidden hole as I guess difference does mean that the solid vertices of the cube also count in the difference.
I saw someone used Rotation & Scale on the cube, before applying boolean difference, and clicking on the plane but this did not seem to work for me. Can I use the cube method or is there another way to do this accurately?
I have attached screenshots of one of my attempts.

I'm struggling to follow exactly what you're trying to do. Am I correct in assuming you just want to cut holes out of your wall via booleans? If you don't mind, please post the process you are following and at what step the problem occurs.

if you want to cut holes for windows or doors it will much faster and better in terms of topology to not use booleans but create edge loops and delete faces...

Pane is outer walls of a house and at points, I need to cut the window shape. I have create a cube with same dimensions as window and is in the same x/z geometry as the hole I required in my pane. This means I can simply pull the cube along the y axis to intersect with the pane. I have viewed many videos where using the boolean difference between 2 solids creates a hole once the hole shaped solid is deleted. Many examples show cylindrical holes created in solids. I try this but am left with the cube shape now attached to the pane after the initial cube is moved away. Not sure about edge loops.

Sorry about the misspelling of plane above....The issue was that the plane did not interact the same as two 3d objects, as in all the examples I have seen. I unioned the cube to the plane, and this changed it into a cube object. I could then delete faces of the extra cube and after that, all boolean differences for other windows worked perfectly and created the correct holes.


text:
Cannot merge or slide accidentally opened windows
I realise that you should be able to grab and slide view layers to close them. I have done this successfully in the past. However, as a NOOB, I managed to get into a complete mess with shader windows that, when I tried to slide away, just opened window after window. I do realise it will be because I got the grab and slide wrong. However, they are not now in any position to slide over each other and I also cannot merge them for similar reasons. They are lying one on top of the other and grab does not achieve anything. Is there another way of closing these?

Hello, if you are using one of the latest versions, you can right click on the separating line between two editor windows and choose "join areas" then slide the cursor to close one of them. You can also start fresh with a new workspace by clicking on the "+" on top of the main window

Managed to find a way with a lot of trial and error. The grab and slide worked eventually after selecting different combinations of windows. Cheers


text:
Bevelling edge at the center doesn't take the shape of the object

I'm trying to bevel the center loopcut that I made but the bevel doesn't take the shape of the object. I have tried applying the rotation and scale but that had no effect. Is there a way to fix this? Thanks!

I used ctrl+B to bevel the edge. use the percent setting to make the beveling follow the profile.

Amazing! this was it thank you so much!


text:
Mist and depth render passes in Eevee are either entirely white or very little shows up

Hi everyone! I'm trying to figure out how to adjust the mist pass but it doesnt work well to begin with. I either get a completely white pass or it looks like this.
 Could someone better explain to me what the settings are that control the mist and depth passes?

The depth pass is not normalized, so the colors represent the actual distance to your camera. The values between 0 and 1 will be represented by a grayscale gradient, but everything above 1 will be white.
In order to get a normalized output, you need to map the value in relation to the greatest value, that is to say the furthest element in your scene.
That is what the mist pass does. The values will be mapped to the [0;1] interval so it should render as grayscale.
But then, due to the interpolation which is quadratic by default, elements which are far from the camera will be so close to the upper bound that they will be unrecognizable from the pure white value.
You can change the default distances in the world settings, under the Mist Pass panel :

A solution is to restrict the range, not to [0,1] but to [0,x] where x is a value you can tweak with a math divide node.

The Mist Pass 0 and 1 distances are set in the World tab, if the pass is enabled in the View Layer > Passes panel. The interpolation is set by the user: LInear / Quadratic / Inverse Quadratic. It can be displayed by the camera. One of those.. all over the place.

@RobinBetts Alright, the more you know !

This is awesome thank you so much!


text:
Remesh modifier causes texture to go flat/disappear

Hey Blender community,
I've been trying to add the remesh modifier to create even quads to allow for my textures to better displace. But when I add the modifier my textures become flat (See the image)
Is this a bug or is there a solution for this? I'm using the latest version of Blender and using the subdivision modifier is not a solution I'm looking for, I need those even quads (See the image)
When I remove the modifier or go into Edit mode, I can see my textures again. Would love to hear the solution.
Thanks!

The remesh modifier destroys UVs. You can try keeping another copy of the base mesh and adding a UV project modifier further down with the base object as origin


text:
Is there a way to create a model and export it into a spriteset of that model 360 view?g
There is an example of a ship model that has a sprite every 22.5 degrees.

How can I export a model I make like that is that possible?

A number of links related to creating Spritesheets from models in Blender  https://www.blendernation.com/2018/09/05/lets-make-2d-isometric-sprites-from-a-3d-model/  https://www.blendernation.com/2018/09/04/technique-to-create-pre-rendered-sprites-in-blender-and-how-to-use-them-in-godot/ https://www.blendernation.com/?s=sprite

You can't export a model as a picture, you have to render it. To make this easy you can animate the camera. For this method of course you have to compose your image so you have to adjust the lights and the materials (or the freestyle lines if you want) of your model. I made a test file what renders the sprite what you ask. Below on the picture you can see what has been adjusted. Here you can download it: https://drive.google.com/open?id=1cycLaGQa0nDICk0urIDQMv2DqP8xw_aO
Just swap the monkey to your own model and click on Animation.


text:
How to darken an object face in a node group and make this optional
I am currently working on some virtual remotes for my home automation system.
This will involve images of remote buttons before and after pressing. To make it clear, I would like the face of the button to also be shaded darker when pressed.
I currently have a node group that combine a button texture with the operation icon and this takes as input the image of the operation (eg the Home icon) and the UV maps that separate out uv of the texture and the icon.

I have 2 questions:

What can I do to simply add such shading (just darkening)
How can I make it so that this is passed in as an optional shading, thus allowing the node group to be used for standard buttons and the depressed shaded versions

You can add a Mix (Color) node and use the Multiply or Darken option to darken the material. The Fac input is your switch (0=normal, 1=darken).