text:
Is there any python code that can join two objects without losing the logic from the other object?
In Blender Game Engine :
I want to join two spheres without losing the logic from the other
but I don't know how.I knew that its possible via python.  As I am not an expert in blender python can any one tell me how can I do it ? - Or Is There any other method ?
Here Is the file

Could you please add a sample file. With two objects with the logic you want joined.

@batFINGER  I added a sample file with what i want to join

Copy sensors.
Here is some pretty untested code to copy sensors from active object to other selected objects.
import bpy
context = bpy.context

def copy_props(v1, v2):
    ''' copy props from v1 to v2 '''
    props = v1.bl_rna.properties
    for k, v in props.items():
        if (k in ["rna_type", "type", "name"]
            or v.is_readonly):
            continue
        setattr(v2, k, getattr(v1, k))

def copy_actuators(actuators, c):
    ob = c.id_data
    for a in actuators:
        bpy.ops.logic.actuator_add(type=a.type,
                name=a.name,
                object=ob.name)
        a2 = ob.game.actuators[-1]
        a2.link(c)
        copy_props(a, a2)
    return c.actuators

def copy_controllers(controllers, s):
    ob = s.id_data
    for c in controllers:
        bpy.ops.logic.controller_add(
               type=c.type,
               name=c.name,
               object=ob.name)
        c2 = ob.game.controllers[-1]
        s.link(c2)
        copy_actuators(c.actuators, c2)
        copy_props(c, c2)
    return s.controllers

# sensors
def copy_sensors(o1, o2):
    ''' copy sensors from ob1 to ob2'''
    for s in o1.game.sensors:
        bpy.ops.logic.sensor_add(type=s.type, name=s.name, object=o2.name)
        s2 = o2.game.sensors[-1]
        copy_controllers(s.controllers, s2)
        copy_props(s, s2)

scene = context.scene
o1 = context.active_object
to_objects = [o for o in context.selected_objects
                if o != o1]
for o2 in to_objects:
    copy_sensors(o1, o2)

Result on your file.


text:
How to make objects aligned according to a path or bitmap?
I have some objects - balls -, I need to make them organized according to a path or a bitmap.Is this possible without using manual object moves?
EDIT:
An example:
I'd like to organize/align my objects (balls) so that they occupy all dark pixels of this bitmap

do you want to influence the emission density using a texture ? if not please add more explanation to your post

No, I just need to make them statically aligned to a path or a bitmap. An example of what I need is to use a path, may be a text path, to align my objects to make them appear like text

Can you show an example of the effect from somewhere else?

I added an example of what I need

This can be done with a particle system where density is influenced by the image as a texture :

create a plane and UV-unwrap it.
add a particle system to this plane :

in the texture tab change the influence from time to Density :

the result :

you need to create a path in blender, or just import it from other software
the path should be converted into a mesh object
now add a particle system to this path
choose (Verts) under (emit from)
select the other object that you want it to be duplicated on the path (under render select object and then choose the object name in the Dupli object field)
put a check box on (Rotation) and choose (object Z) under initial orientation
play with other options like the size, number, life time, until you get the object repeated on all the vertex that is on the path, and with the right size

done

source: Stack Exchange

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

sort: votes


text:
How can I save my object's texture?
How can I save my object's texture, for example in a .png file?
When I make a model I am using one body, but I am using different materials for the body's different faces. When I press the A button I can select all faces. How can I save all these face's textures, for example in a .png file?
I will edit this picture and add again in my body. I want this. How can I do that?

If you're talking about mixing several Image Textures, I think you can find an answer here: https://blender.stackexchange.com/questions/32677/how-to-combine-two-different-textures-into-one    If you're talking about something else I'm not sure about what it means and you should clarify

I think this question will help you .

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


text:
Changing multiple duplicates
I hope you guys can help me out here.  I have searched for a very long time and I am not sure if I am wording this correctly.  So thank you for your patients.
I have an object in blender that uses duplicated group instances and it uses a lot of them.  Sometimes I need to change all of these at the same time to a new group instance.  I was hoping there were a way to select all of the instances, change them, and without editing the original version.
The object is a hair brush with multiple bristles.  I have the bristles colored for the product and then I need them rendered next to another brush with different bristles.  When I copy the whole brush with bristles, all the data comes with it.  But if I want a new color and edit the group, it changes on the original brush too.  So now when I make these changes I have to go onto the brush, select every individual bristle, go to the object panel, scroll down to the Duplication section, and select a new instance of the new group for EVERY SINGLE BRISTLE!  And I have been driven to the brink of insanity.  Please help me.  Thank you again!

Well I guess I can just make the duplicates "Real" shift ctrl A and then edit them quickly.  That would be fine too, not as elegant as a solution, but it would work.  Still, there should be some kind of plugin to handle changing all the duplicates at once.

Select all your dupligroup instances and on the active one change the dupli-group group. Then righ-click the input field and select Copy to Selected:

This will change every object in selection.
You can use this technique on many object properties.

Thank you for this!  But for some reason that option is unclickable and will not allow me to do this.  Am I doing something wrong?

Nevermind, started a new file and that works!  Thank you @Jerryno

You can change the link of your duplicates.
In this example, all spheres are linked duplicates, we want to link some of them to the cube:

Select the objects you want to change (Right-Click and Shift+Right-Click to add):

Finish selecting the source object, in this case the cube (Shift+Right-Click), it has to be the active object (last selected):

Use Ctrl+L to make the link and select "Object Data" in the menu:

Your objects are now linked duplicates of the cube:

@Ray This works as far as changing the directly duplicated objects Alt D But is does not work on the Group Instance items.  But thank you!  Very cool and I will use for other things.

@kevMul just make the duplicates real 1st, as you said in your comment, just 1 more step

@Ray Oh yea! Lol. That would do the trick.  Was hoping to keep them as instances though.  Thank you again!

@kevMul this will make them instanced again after link, just temporary real objects

I am not the author of the post, I just did some minor formatting changes, please direct comments to @Bithur

Sorry about that @Ray,  Thank you for your help @Bithur!  But how does it become an instance again after?  It seems to stay as an object.  Sorry for bothering you but it is extremely interesting!

@kevMul the objects are sharing the same mesh data (linked duplicates) as if you used Alt+D. Different object, sharing the same mesh. Try to edit one of them, they all change.

@Bithur I am afraid the OP does not want linked mesh data instances but group instances, they are quite different. You can read more about dupli-groups and see what they are here: http://wiki.blender.org/index.php/Doc:2.4/Manual/Modeling/Objects/Duplication/DupliGroup Use them to also instance the object data, not only mesh data.

@Jerryno maybe you're true, but he found this "extremely interesting" so i don't understand what you mean. Do you think a problem has only 1 solution?

@Bithur Yea, Jerryno is correct in what I was looking for.  BUT having more than one solution is exactly what I need!  Thank you both for your reply's to this question.  It was driving me insane!

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


text:
Launch failure after Download of 2.80 & 2.79 on windows 10
Currently have 2.79 on windows 10. Previously also had 2.80 but got rid of it to download a later build. Now WHEN I download it I cannot launch it successfully:
I proceed as normal to open it... ie click on blender.exe to launch it.But at this point it fails saying. " Code execution cannot proceed because the following cannot be found (though I can see them all there)..
avcodec-58.dll, python 37, SDL2, avformat-58.
Though I already have 2.79 working well - I  downloaded it again (to see if the problem was just 2.80 and when I came to launch it got...  code execution cannot proceed because following not found:
python 37.dll, libsndfile-1, open Al32, SDL2.dll
Any suggestions on how I can proceed to rectify this would be greatly appreciated.

It is unclear what you are asking. Please try to reform the question in a clear and consistent manner only using terminology that you are sure about.  If you cannot download it and it is not downloaded, what are you trying to run when you get the error message? What is a clean boot?.. If you want to run 2.80, you need to download it. It comes in a .zip file that you need to extract somewhere and only then you can run Blender from the folder that you extract from the downloaded zip archive file.

Thanks Martin Z & cegaton for directing me to better clarity

I followed your advice, cegaton and deleted anything related to 2.80 in the c:\users etc....but am afraid to take 2.79 out in case I cannot get it in and working again. There was a bunch of straggling 2.80 data that I manually deleted but new efforts at launching  yielded the same result as before. Thanks for the suggestions. Guess I will uninstall all Blender soon but need 2.79 that is working right now. Thanks cegaton for your time and suggestion!

I think what's going on here is that double clicking the zip file in the file browser doesn't actually extract the zip file contents, it just gives you a view of the zip file contents. That looks just like if you had extracted the zip file.
What you should do is:

Download the zip file
Right click it and do "Extract all"
After extraction is done, you should now be able to execute blender.exe from within the extracted folder.

One thing to look out for is that inside the not-extracted zip file, blender.exe will have a generic (non-Blender) icon.
After "Extract all", blender.exe will have the Blender icon.
The above instructions solved my problems when trying to run Blender 2.80 RC2 from a zip file on Windows.

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


text:
Distribute realized geometry based on field values
I created a custom node that generates trees, based on certain input values: height, n_branches, random seed etc. I would love to be able to distribute these trees on points, and to supply each with a value based on the points attributes (e.g, height can depend on a calculation based on the position field).
This sounds like instance of points but obviously instances will not work: I want to have variation between the trees so they are not instances. Is there any other way to achieve this - distributing realized geometries, with variations based on field values of their points?

It's much easier for us to answer if you post screenshots or images explaining what you're trying to accomplish and what you have already tried.

so you need to build it with that in mond from the beginning. this os the geometry nodes mentality/workflow. you could try to hack your way with repeat zone, but that shortcut will cost you your performance. erin has a good video on that https://youtu.be/URWuNhg5ZNk?si=WLgGNx4pOFYKAe8Y (it shows you how to make a try generator that has variance and not instanced...)

(Using Blender 4.2.0)

The behavior of the Instance on Points node can be simulated with a Repeat Zone to "spawn" unique objects. The field values of the spawning points are recovered using a Sample Index node. Successive spawned objects are accumulated using a Join Geometry node. For the demonstration, the size of a cube is a function the distance to origin of the spawning point. The Cube node can be replaced by the Group Node generating a tree.
Resources:
(Blender 4.2.0+)


text:
Hello world attempt at composition with doughnut tutorial, what am I doing wrong?
I'm trying to composite a set of rendered frames on top of a photo of the beach. This works if I'm rendering the whole 3D scene,  but I was trying to use the strip of pre-rendered images, in OpenEXR format, each with their own alpha channel.  (I completed the Blender Guru beginners tutorial)
Following this tip on Reddit https://www.reddit.com/r/blenderhelp/comments/rl1g1m/how_to_change_compositing_after_rendering_image/
This is what I have come up with:
 Using the Image Sequence instead of the Render Layers at the start,  an image source,  the 'Alpha Over node' and the compose node for output.  You can see in the screenshot that the output preview looks perfect. However, when I click F12 to render a single frame,  I can only see the doughnut with the checkered background.
. If I Shift F12, Render Animation, I get a complete MP4, but with a black background.
Closing the preview, now the small preview is wrong too;

I select the Composite node,  then click 'reset node' in the node properties panel and the preview panel looks correct again, as far as I know, I didn't change any of the composite settings to reset, this feels like a bug.
Turning Compositing on or off in 'Output -> Post Processing' makes no difference, although turning off 'Sequencer' gives me a completly black 300 frames.

pls provide blend file, thx

Hello, Silly question that has to be asked, first.. is Compositing in your pipeline? https://imgur.com/a/Q3dbWOL

Yes, it is. Turning Compositing on or off in 'Output -> Post Processing' makes no difference, although turning off 'Sequencer' gives me a completely black 300 frames. Also, the last node is 'Composite' @RobinBetts

@Chris What's the best way to do that?

open https://blend-exchange.com/ and follow instructions

 Their T&C's are pretty extreme. Even with throwaway rubbish like this, I feel a bit awkward.


text:
UV unwrapping spiral sphere to show geometric accurate 2D plane
I am trying to unwrap a sphere I made using the UV-sphere mesh and adding a SimpleDeform modifier and twisting it along the Z-axis. When trying to unwrap it in the uv viewer it only shows up as either very strange or overly simple combinations, and not as the realistic geometric shape. I am trying to achieve a result similar to what would happen if you took a paper model and unfolded it into a 2D plane, in order to get two long pieces you could sew back together in order to make a sphere. Other variants of unwrap yield even weirder results.
I realize this is quite a simple problem, and so I hope there is a simple solution. I am quite new to blender, so sorry if anything was wrongly worded. Any answer is appreciated!

I tried to follow your instructions and I think you forgot to mention something:
You removed large strips of UVsphere from pole to pole. When I do that, it looks like your picture.
It would be helpful to upload the model to blend-exchange.com.

First of all:
I tried to follow your instructions and I think you forgot to mention something:
You removed large strips of UVsphere from pole to pole. When I do that, it looks like your picture.
It would be helpful to upload the model to blend-exchange.com.
About UVunwrap
UV unwrap tries to make the shapes simple and it also tries to keep the rctangles kind of square.
Because of this, the shape of the uvunwrap will not resemble your deformations of the mesh very well.
Modifier does not affect results of UV unwrap
You may find that the result of all unwrap operations remains the same whether the modifier is turned on or not - you can also delete the modifier completely, the result of UVunwrap remains the same.
Solution: Apply Modifier before UV unwrapping
However, you can achieve other results by applying the modifier:

Exit the edit mode (if you are currently in it) and switch to the object mode.
On the right side of the modifier's header, select the modifier's "Apply" option from the drop-down menu. This will make the effect permanent.
If you now UV unwrap again, results will be different and maybe more of what you expected.

Finetuning
The shape in the UV Editor is just a 2D point mesh. Points can be selected, moved, scaled etc. like in other Blender Editors, so feel free to finetune the results to your further likings.

Hi! That did indeed do it! I didn't realise that applying the modifier changed the way UV is shown. Thank you so much for the help, and sorry for the lacking info in the original question. Life saver!

You're welcome! I'm glad to hear that it worked for you.


text:
Is it possible to do rigid body sims with periodic border conditions?
is there any native way or quick hack to get Blenders rigid body sim to use periodic border conditions, meaning that an object that leaves the domain to the left enters back in to the right, if it leaves at the back it comes back in at the front?

Blender does not use a domain for the rigid body function.

So, I guess that means there is no way to do something like this?

Not without a complex script

problem is also, you can not simply move them over if they leave the domain as it could intersect after moving over

This sounds like an XY problem, what do you actually want to do?

Yes, it is an XY problem. What I want to do is this: I have seen Andrew Prices Tutorial about creating infinite amounts of donuts in Blender. It struck me that there is a much easier way to do seamless textures with rigid bodiesthan what he did: Just make the boundary conditions periodic.

That means every donut intersecting the border of the texture tile would automatically show up at the other side as well, so the texture would be seamless by first principles. But I am not sure if this is possible in Blenders rigid body physics. The donuts near the border would have to collide with donuts on both sides of the tile. So the way of calculating vertex distances would need to work through the boundary, so to speak. Actually, this might not be worth the effort, I fear.


text:
Physics simulation won't run until the last frame of the timeline
I am making a rigid body physics simulation. It started out ending at 250 frames, but I later changed it to 400 frames.
The problem occurs when the whole animation stops at the 251st frame. Is there a certain setting for this or do I have to restart all over again?

Have you baked the sim?

It looks like the same problem has been answered here rigid-simulation-freezes-at-frame-250
. Too few reputations for a comment.

Does this answer your question? Rigid Simulation freezes at frame 250

The rigid body simulation does have it's own start and end.

In the 'Rigid Body World' settings you can change the simulation start and end.

For anyone wondering setting the cache start and end in the rigid body world while you already have objects with rigid body constraints in the scene will override their values.


text:
Blender 2.83 won't start in Mac os Catalina
Blender doesn't start and keeps jumping for about a minute and goes to not responding. I have tried reinstalling , updating my os and even installed python . It still won't open.

Check if your hardware and OS fulfills the minimum requirements for running Blender 2.8x. If it does you may want to follow this guide to report a bug.

You need to uninstall blender and remove all components related to blender in Finder.
Search for any files or folders with the program’s name or developer’s name in the ~/Library/Preferences/, ~/Library/Application Support/ and ~/Library/Caches/ folders. Right click on those items and click Move to Trash to delete them.


text:
Freestyle render - Problems getting it right
I am trying to get the same result as:

From Render docs, Freestyle SVG Exporter.
I have tried working with freestyle edge marks, but it does not get the desired result.
I have tried the different settings, but it I cant get the result.
Can anyone help me with the render settings?

have you checked this Q? https://blender.stackexchange.com/questions/77647/dashed-lines-made-with-freestyle-are-rendering-inconsistently?rq=1

Thanks! I have checked that Question. I have tried using freestyle edge marking, but it wont get the same result as the above picture.

Maybe [edit] the question to add some details of what you have tried? Questions that show some effort get better responses.

Thanks, I have changed the question a bit

Does this answer your question? How to get topographical contour lines like shown in manual? Analogous to Rhino3D functionality?

I have tried the super tips from Luciano, and that got me much closer. Now I think it's just me not getting the settings right:

That looks good! Try the Boolean:Intersect on a more complex mesh, I had some issues with it (I hope you don't) but didn't spend time trying to fix.

Did you ever got this figured out? I want to achieve similar result as well!

I'm very curious to see a better solution since I'm not very experienced with Blender myself, but perhaps this would work for you:

create a plane an add an Array modifier, with Constant Offset in the Z axis. The more duplicates you create the more lines you'll have in your final render.
select the object to be rendered and add a Boolean modifier.

Operation: Intersect
Object: plane

hide the array for rendering

Repeat with any other objects to create the horizontal lines.

Thanks a lot! this got me much closer!!!

No worries. If you want to learn more about how the site works check the [tour], [ask] and [answer].


text:
How can I adjust text size of the interface in Blender 2.8?
I have seen previous questions that say the text size can be set by using Ctrl+Alt+U.
However, when I press these keys it doesn't seem to do anything at all.
I am using Blender 2.8 and Windows 10
How can I adjust text size of the interface?

Open the preferences (Edit > Preferences). There are two options that allow you to change the font size.
You can adjust the overall size of fonts and widgets using the Resolution Scale in the Interface tab.

Alternatively if you want to change the font size without affecting the size of icons and widgets, you can modify the theme's font size in the Theme tab under Text Style. There you can adjust the size using the Points option for panel titles, widgets and widget labels separately.

Thanks very much.  That's worked fine

@GrahamTranfield Great! If my answer solved your problem, please consider marking it as accepted using the checkmark next to it.

@Robert Sorry, I only just saw your comment.  I've done it now

@GrahamTranfield No problem. You're aware that you've selected moonboots answer as accepted though? That's fine if you intended to do that, I was just a bit confused because your reply made it look like you wanted to accept my answer.

@Robert Sorry,  I didn't understand the system.  I thought that I was able to click both and did not realise that unaccepted yours.  I have now clicked yours as it was the first and more comprehensive answer

In Edit > Preferences > Themes > Text Styles.
Also, if you want to increase the size of the whole interface, Edit > Preferences > Interface > Display > Resolution Scale.

Thanks for your contribution too


text:
How to add a mirror modifier to all objects of a certain collection?
I'd like to add a mirror modifier to each object of a certain collection.
The problem is that the modifier will be only added to the last object which even gets the same modifier several times and I don't know why:
 def add_empty_collection(self):
    for obj in bpy.data.collections['my_collection'].all_objects:
        print("obj_: ", obj)
        bpy.ops.object.select_all(action='DESELECT') # Deselecting all
        obj.select_set(True)
        bpy.ops.object.modifier_add(type='MIRROR')
        bpy.context.object.modifiers["Mirror"].use_axis[0] = False
        bpy.context.object.modifiers["Mirror"].use_axis[1] = True
        bpy.context.object.modifiers["Mirror"].use_axis[2] = False
        bpy.context.object.modifiers["Mirror"].mirror_object = bpy.data.objects["target"]

Q: How to add a mirror modifier to all objects of a certain collection?

You're better off using bpy.data.objects to manipulate them. This way you don't need to rely on what is selected, all you need is the objects name.
import bpy

mod_name = 'My-Mirror-Modifier'

for obj in bpy.data.collections["My-Collection"].all_objects:
    if obj.type == 'MESH':
        mod = obj.modifiers.new(mod_name, 'MIRROR')
        mod.use_axis[0] = False
        mod.use_axis[1] = True
        mod.use_axis[2] = False
        mod.mirror_object = bpy.data.objects["Light"]

As you have obj from the loop, you don't need to go to bpy.data.objects, use obj directly. Also you'd better get the modifier in a variable mat = obj.modifiers.new(...) and use mat after that (name given as parameter could result in name.001 for instance).

@lemon is absolutely right (as usual :) thanks lemon) I've updated my answer with his recommendations. (assigning the result of the modifier creation to a variable is new to me, it's good to know!)

For operators use context.
Given the self in the question code, making the assumption you are writing an operator
Further to the answer of @RoufirHassan by way of explanation, looping over the collection objects  de-selecting and selecting single, was not changing the active object.  Adding context.object to print statement would confirm this.
Is the active object and zeroth selected object always the same?
to fix set the active object to the loop object before calling operator.
context.view_layer.objects.active = obj

Blender 2.8 API, python, set active object
However an issue here would be scripts have a tendency to slow down horribly if looping a lot of operators.  The operator run count using amended question code would be  2 x number of objects in collection.
Modifier add operator adds to the end of modifier stack
if using the modifiers add operator the newly added modifier will be
context.object.modifiers[-1]

ie the last one.  Once again in blender using name can be dodgy, just like with objects adding another with same name will not have the same name.
Prime candidate for KeyError
Never use bpy.data.whatevers["Foo"] unless you are certain "Foo" exists. Where it can have value None  Also recommend using scene objects, as if the object in bpy.data.objects is not linked to scene it likely wont work as expected.
target = context.scene.objects.get("Foo")

or use the context.  In this case for example, the collection can be context collection (last selected in outliner) and the modifier target can be context.object
Overriding context
Can pass a context dictionary to operators.  Below is method explained by @RoufirHassan using override.  Note: this will add all modifiers of first mesh object in collection (including newly added mirror) to all other mesh objects in collection, except to the mirror target if it is a mesh object in same collection
This will run only 2 operators no matter how many objects are in the collection.
import bpy

context = bpy.context

coll = context.collection
ob = context.object

mesh_obs = [o for o in coll.all_objects
        if o.type == 'MESH'
        and o is not ob]

if mesh_obs:
    ao = mesh_obs.pop(0)
    bpy.ops.object.modifier_add(
            {"object" : ao},
            type='MIRROR'
            )
    mod = ao.modifiers[-1]
    mod.use_axis = (True, False, True)
    mod.mirror_object = ob
    bpy.ops.object.make_links_data(
            {"object" : ao,
             "selected_editable_objects": mesh_obs
             },
             type='MODIFIERS',
             )

API methods.
Finally would recommend using the API method as suggested in answer of @Pysonic, except use the context to set collection and modifier target.

Select all the meshes in your collection and add a mirror modifier.
But as you said it will only mirror the active object ( active object = last object selected with different colored outline). So in order to mirror every single object just type (Ctrl+L) > modifiers. It will link all objects with the same modifier.
You can use it for any other modifiers.


text:
What is wrong with my mesh? Freestyle render is glitchy and won't show certain lines
I’m a beginner modeler and make backgrounds for a personal comic in a freestyle render. But for some reason in this particular file, freestyle render is not working properly. Each line appears, however, there is a passage and a door in one of the walls. These lines do not appear at all. Unless I check "Hidden" in the Freestyle settings. But this causes the walls becoming transparent. What's wrong with my file? You can download it from here:

There is an object called "Cube" still in the way. You have set certain objects to Hide in Viewport (by clicking the eye icon in next to an object the Outliner), but not set them to Disable in Renders (by clicking the camera icon next to an object in the Outliner). To show the camera icons click on Filter (the funnel icon in the Outliner) and activate them under Restriction Toggles. Then you can also disable objects in your renders.

Thank You very much! You solved my problem! Thank You!

Please do not add solved to the question title. Help us making this site a real knowledgebase and either ask Fjoersteller if he is willing to convert his comment into an answer or just add an answer and accept it in order help future visitors, thanks. How this site works: https://blender.stackexchange.com/tour

Made my comment into an answer in case you want to accept it, as brockman proposed. In any case, glad to hear your problem is solved : )

There is an object called "Cube" still in the way. You have set certain objects to Hide in Viewport (by clicking the eye icon in next to an object the Outliner), but not set them to Disable in Renders (by clicking the camera icon next to an object in the Outliner). To show the camera icons click on Filter (the funnel icon in the Outliner) and activate them under Restriction Toggles. Then you can also disable objects in your renders.


text:
Why is my baked image black? What have I done wrong?
Why is my baked image black? What have I done wrong?

Link to the file: https://we.tl/t-ekBeME8dQq

Your normals are flipped inside (red on screenshot), the baking rays go in the bad direction and don't hit any surface, so go in Edit mode, select all and press Alt+N > Recalculate Normals:


text:
Shrink sleeve label on bottle product
I am new to the blender and creating a fitness-type product (Below is the sample image). Now, I am facing issues wrapping the label around the product like the given image. Is there anybody who can guide me on how to do this type of wrapping or is there any video available on it?
Thank You

The label should be part of the material of your bottle. So first unwrap your faces with the Cylinder Projection option:

In the UV Editor put the UV island correctly over the image:

Create a material with an Image Texture node (with your image) plugged into the Base Color input of the Principled BSDF, assign this material to the faces:


text:
Node Wrangler Error (Blender 4.0)
does anyone know what's happening with Node Wrangler in Blender 4.0 Alpha? Is it supposed to work, or is everyone encountering this error? Thanks!

Hello and welcome to BSE. Questions about not officially released blender versions are off-topic. The latest official released version is 3.6 LTS.

I’m voting to close this question as off topic because it is about troubleshooting temporary issues with unfinished, under development or experimental versions of software, which are expected to be working properly upon stable release. These transitory questions are unlikely to be useful in the future, rendering their long term value low, and making them unappealing for a knowledge database site.

EDIT: I confirm that from Sept 23 2023, this bug is now fixed.
Although 4.0 is not officially released as said by Harry, this is a known bug for node Wrangler that is being fixed.
Next release should have a solution :
https://projects.blender.org/blender/blender-addons/issues/104865


text:
Operator Box Without Needing to Drag
Is there a way to bring up the Operator Box without needing to start a Bevel with my mouse. I'm used to using 3DS MAX. I'm used to typing the bevel amount without needing to drag a piece first,

You can press CtrlB then Enter right away, then tweak the parameters in the Operator Box.

It doesn't work with each other thing like extrude, etc. I want to be able to skip needing to drag before the Operator Box  shows up.

I'm not sure what you mean, t works with extrude as well @Joseph Ibinson


text:
Geometry Nodes : How to make points adhere moving along the model's surface?
I'm a beginner, still learning Geometry nodes so forgive me if my explanation isn't the clearest! How to make these scattered points adhere moving and rotating on any model's surface? I've tried many methods, but none seem to work!

search Erindale on yt - he made a tutorial in GN for that.

This can be done… I'll describe the algorithm, as I don't have the time to build the node tree:

Generate your geometry, use UV Unwrap node, make sure UV islands are separated with a margin greater than the velocity of particles.
Split Edges. You don't really have to, but it makes the algorithm simpler (no need to translate between face corner and point domain), so start with that.
Distribute Points on Faces and pass them to a Simulation Zone.
Store Named Attribute directions in the point domain, which are random vectors in range $<-0.01, -0.01, 0> … <+0.01, +0.01, 0>$, you can normalize them. Alternatively you could set all directions to the same vector to have a consistent herd/flock movement. Remember the values have to be small, because you will operate in UV space $0..1$ - with the values suggested it takes between 100 and 142 frames for a point to travel across the biggest possible UV island.
Pass that geometry to a simulation zone.

In Simulation Zone:

Use two Named Attribute nodes to add together UVMap and directions.
Pass the result to Sample UV Surface, using Position field. If you get a valid output, that's it, use Set Position node to update the position, and Store Named Attribute to update the UV to the vector calculated in p. 5.
If you don't get a valid output, things get complicated… (use a switch that based on Sample UV Surface: Is Valid output, either uses the calculated data, or another branch of nodes)

Things get complicated:

Find Nearest Edge. Check how many neighbors (faces) it has. If only 1, it's an actual geometric boundary, and decide what to do: disappear? Stop? Bounce? For bouncing, just do p.5. but subtract directions instead of adding them. Now the Position from Sample UV Surface has an offset in the opposite direction.
IF there's 2 neighbors, you also calculate the position as if you were bouncing, but don't actually set that as your position. Instead, calculate the offset to the new position - subtract from 'new position' the current position (Position node), and reverse it (Vector Math: Scale -1).
Divide this offset to two parts - one towards the nearest edge, and the rest.
Rotate "the rest" around the axis defined by the nearest edge, by the angle being this edge's angle.
Add the two parts back together, add that to current position, Sample Nearest Surface at that position to find the UVMap attribute value there.
You should know what do do now, you have your UV, so Sample UV to get position (yes you already have it, but it's only an estimate and this should avoid some 1-frame-jerks across boundaries), and update your position and UV.

Points 1 to 7:

There's actually a much easier alternative, where you move a little bit in any direction, and snap to the nearest surface... The only downside of that is that you can switch between surfaces this way, but this could also be an upside.


text:
Is there a way to tie points in a mask to a subject that varies across moving frames?
I am trying to create a mask over a moving subject in a video, and I would like to know if there is a method to modify the various points of it more precisely than moving them individually frame by frame. For example, if there is a command that at the very least works the same way as when you try to plot elements of a video that are then automatically recognized for the rest of the video.

do you mean tracking of VSE? did u try that?

No, I don't know how it works

here is a tutorial https://www.youtube.com/watch?app=desktop&v=_1nxHEhf_ng but maybe you wanna search for "blender tracking tutorial" there are lots of them online


text:
Creating a new T-Pose on an animated Rig
That's my first message over there, 'cause I'm totally Desperate.
I've spent almost 2 weeks looking for a solution on that plateform and many others, and nothing seems to work...
So, Here is my problem, if somebody can help me on that.
I've been given a mesh with its Rig, T-posed. No animation on it.
On the other side, I received Several .fbx files with animated Rig, like " Combo", "Double Hit", "Sword's attack", etc... I think you got the point.
First Issue: I noticed that the animated Rigs hasn't got the same number of Bones than the T-posed one, so I was unable to copy animations from the several . fbx files. moreover, the animated files hasn't got a proper T-pose.
"Ok, fine, anyway... I can just take one of the animated Rigs, copy all animated parts, and recreate a proper T-pose for that "Gathered Rig" to skin my mesh then." .. That's what I thought First...
So I started with one of the .fbx files
I gathered all the animation parts.
Everything's ok for the moment.
Let's see that T-pose creation.
There starts my descent to madness.
Each time I create my "New" T-pose and try to apply it / replace it on my Rig, I get that message:
"Actions on this armature will be destroy by this new rest pose as the transforms stored are relative the the old rest pose"
and the Rig just bursts appart and acts weirdly.

I tried to clean all the constraints before applying my new rest pose ( Pose > Constraints > Clear Pose Constraints )
I took take care to add keys, for that new T-pose, on all bones ( Shortcut "I" on Graph Editor > All Channels )
I tried to retarget the animation on the "Gathered Rig" to the "New T-posed" One with Rokoko, but it doesn't work either.
I tried the GYAZ animation Tools, and it doesn't work either.
I tried to export in 3DS MAX and re-import in Blender
I tried "Two armature, two rest pose, fixing animations" Topic = Doesn't work

I precise that all Frames are baked/keyed.
Nothing works. I can't replace the old T-pose without breaking all the animation.
Does it come from those "Actions" mentionned in the error message ? ( What's an Action ? Did I missed something on that ?)
Does it come from the Original Rig ?
I deeply lost...
I must precise that I'm quite novice on Blender (I started 3 months ago and I'm coming from 3DS MAX)
Please, could somebody help me ?
" Help me Obi-Wan Kenobi, You're my only Hope..."
" Help me Obi-Wan Kenobi, You're my only Hope..."
" Help me, Obi-Wan..."

It's a nice story but it would be easier to follow if you would shrink the text down to the issues. I'm not sure on what base the animations are created, but the actions are the animations or not? And what the error message says is this (I guess): If an animation says, rotate this bone by 30°, it is at an angle of 30° afterwards if the base was at 0° to global coordinates. But changing the rest pose so that the bone e.g. is now at 45° globally, then rotating by 30° will set it to 75° globally which results in a different animation.

Thanks Gordon Brinkmann for your answer and your time...
But I know that...
What I'm actually looking for is:
Is there a way to reset/changing the actual Rest pose without breaking all the animation ? That's my actual problem...
And sorry for my long message. I just explained what I tried befor posting, to avoid repetition of previous Topics.
By advance, thank you.

I'm sorry if I misunderstood that, but that paragraph starting "does it come from those actions" actually made it sound as if you didn't know that... you even ask what an action is and if it comes from the original rig.

That's ok, don't worry... In fact, on that point, I was wondering if the term "Actions" was relative to some kind of "Animation Layers" similar to what you can find in 3DS MAX, and that should be Kicked off before anything else...
From there, it would explained my Rig Issue.
I can't imagine that there's no way or trick allowing me to keep the animation while I'm changing the rest position (reminder: in order to skin easily my mesh on this animated Rig)...
I'm sure that Ancient Indian magic may holds a solution.

I've same problem currently, did you find a solution


text:
Python: Generated (Orco) Texture Coordinate to 2D Image
Summary: How to sample/evaluate a procedural texture using Generated (orco) texture coordinates, such that the resulting image will affect the object identical to that of the procedural texture, when used for texturing (BI) and displace modifier using Generated and Local texture coordinates respectively.
Long Version w/ Code: I'm trying to save a procedural texture with Generated texture coordinates as 2D image. Such that when the image is used with Generated texture coordinates it gives the same exact result as the procedural texture.
Before continuing I need to clarify that I'm not interested in "baking" solutions or those involving UV mapping and looking for a python alternative that can properly map the Generated texco to image x,y grid. Also everything below is done in Blender Internal.

I have two objects with identical geometry.
The first object on the right, object RIGHT is being displaced using a procedural texture with Local texture coordinate system. For the material texture I'm using the Generated mapping which perfectly corresponds to the Local texture of the displacement modifier.
The second object on the right, object LEFT is being modified by a displacement modifier using our saved image texture (from procedural), and similarly has a material texture with Generated coordinate system corresponding to Local coords of the modifier.
This image texture used for LEFT is the sampled version of the Procedural texture of the RIGHT.
I've been able to generate this image from the procedural texture using the evaluate function from the API. The code generating the image is below:
import bpy
import numpy as np
D = bpy.data

image_object = D.images["Untitled"]
texture = D.textures["Wood"]
pixels = D.images["Untitled"].pixels
rows = D.images["Untitled"].generated_height
columns = D.images["Untitled"].generated_width

data = np.asarray( pixels, dtype="float" )

print("Texture Copy Started")
print(data.shape)
data3d = data.reshape(rows, columns, 4)

# Values below are arbitrary to get some reasonable results
# probably some formula to get proper results
scaleI = 70
scaleJ = 70

for i in range(rows):
    for j in range(columns):
        x, y = i/scaleI , j/scaleJ
        # texture.evaluate takes in a coordinate. How to get the correct one?
        intensity = texture.evaluate((x,y,0)).w
        data3d[i,j][0] = intensity
        data3d[i,j][1] = intensity
        data3d[i,j][2] = intensity

# Ensure (0,0) corresponds to bottom left and is blue
data3d[0,0][0] = 0
data3d[0,0][1] = 0
data3d[0,0][2] = 1

# Ensure (width/2, height/2) corresponds to middle and is green
y = int(rows/2)
x = int(columns/2)
data3d[x, y][0] = 0
data3d[x, y][1] = 1
data3d[x, y][2] = 0

# Ensure (255,255) corresponds to top right and is red
y = rows - 1
x = columns - 1
data3d[x, y][0] = 1
data3d[x, y][1] = 0
data3d[x, y][2] = 0

D.images["Untitled"].pixels = data3d.reshape(rows*columns*4)
print("Copy texture completed")
print(data3d.reshape(rows*columns*4))

Resulting in the following for a 256x256 image.

My main question is how can I sample the procedural texture considering the texture coordinates of Generated (orco) such that when I use the image texture on LEFT I will get the same exact result as RIGHT, meaning they both look identical.
I've read a lot about this, but the material is quite obscure. From here, I've read that **Orco(v) = 2*(v-center)/size** for v, vertex. But I'm not sure how to use this knowledge in computing the image.
On the other hand I've read that **(minX, minY) --> (0,0)** and **(maxX, maxY) --> (1,1)** for Generated coordinates, but I'm not sure how this correlates with the above formula for Orco(v)?
Before anything, I want to say that I greatly appreciate your help in advance.
Here are some resources that I've already looked at:

Image Pixels to Vertex Weight
Blender Displace Modifier Source 1
Blender Displace Modifier Source 2
Convert Procedural Texture to UV maps without rendering
Extracting Blender Original Coordinates
Displacement Modifier and Texture Coordinates

@CoDEmanX would highly appreciate the help <3

same with @batFINGER :)

and of course @gandalf3

That is not how comment @replies work. None of those people got pinged See https://meta.stackexchange.com/a/43020/278094 for how the @ reply system works.


text:
Script not running as Handler or in Driver
Edit: DOWNLOAD DEMO BLEND FILE
I am running into a weird issue that I have solved in the past but can't seem to figure out now.
I have a material node keyframed in Blender Internal, and unfortunately blender does not show the transition in the GLSL textured viewport. So I have written a small script that will reinforce the value of a MixRGB factor to itself.
When I click on "Run Script" everything works fine and my material is updated. However assigning the function to a driver or even handler does need yield expected result, which is updating that MixRGB factor on every frame change.
import bpy

def refreshNow(val):
    mat = bpy.data.materials['Skin_Gloss']
    nodes = mat.node_tree.nodes
    nodes["Mix"].inputs[0].default_value = nodes["Mix"].inputs[0].default_value
    bpy.context.scene.update()
    return val

refreshNow(0)

bpy.app.driver_namespace['refresh'] = refreshNow

def my_handler():
    refreshNow(0)

def register():
    bpy.app.handlers.frame_change_post.append(my_handler)

if __name__ == "__main__":
    register()

Below is my driver setup. As you can see the debug info shows my current frame, which is 115. Meaning that refreshNow is actually called and has returned.

Here is my material setup, pay attention to the MixRGB being keyframed from 0 to 1, from frame 0 to 50:

Like I said, the script works fine when I click on "Run Script", and the driver shows that the function has returned. What could possibly be the issue?
Thank you in advance.
Edit: DOWNLOAD DEMO BLEND FILE

you need to add bpy.context.scene.update() at the end of the refreshNow() and the viewport will be updated

@Chebhou please look at the code above. I still fail to append my_handler. On Run Script material and viewport updates, but on play nothing changes

my_handler() should be   my_handler(scene). ( looking at the error it should take one argument )

@Chebhou Wow! Lovely. That fixed everything. Handlers for the win.Thank you so so so much

Below is the code that resulted in proper solution to my problem. Thanks to @Chebhou who provided help and resolved the issues in my code. Refer to the comments in the first post for clarification.
import bpy

def refreshNow(val):
    mat = bpy.data.materials['Material']
    nodes = mat.node_tree.nodes
    nodes["Mix"].inputs[0].default_value = nodes["Mix"].inputs[0].default_value
    bpy.context.scene.update()
    return val

refreshNow(0)

bpy.app.driver_namespace['refresh'] = refreshNow
#scene parameter was missing in original code
def my_handler(scene):
    refreshNow(0)

def register():
    bpy.app.handlers.frame_change_post.append(my_handler)
# this was also missing from the original code, I still don't know what it does, but it works!
if __name__ == "__main__":
    register()

===Alternative Solution Using Modal Operators===
I managed to fix the issue by using a Modal Timer rather than utilizing handlers or drivers. This is not exactly a solution to why the driver or handler doesn't work but it is definitely a workaround to get what I wanted done.
Below is the code for anyone who might need it in future. This is simply the Modal Timer template, I just replaced the default functionality of changing theme color to reinforcing the MixRGB node's factor input to itself. I have also removed the functionality of cancelling the event.
import bpy

class ModalTimerOperator(bpy.types.Operator):
    """Operator which runs its self from a timer"""
    bl_idname = "wm.modal_timer_operator"
    bl_label = "Modal Timer Operator"

    _timer = None

    def modal(self, context, event):
#        if event.type in {'RIGHTMOUSE', 'ESC'}:
#            self.cancel(context)
#            return {'CANCELLED'}

        if event.type == 'TIMER':
            mat = bpy.data.materials['Material']
            nodes = mat.node_tree.nodes
            mix = nodes["Mix"].inputs[0]
            mix.default_value = mix.default_value
            print('Current Frame:')

        return {'PASS_THROUGH'}

    def execute(self, context):
        wm = context.window_manager
        self._timer = wm.event_timer_add(0.1, context.window)
        wm.modal_handler_add(self)
        return {'RUNNING_MODAL'}

    def cancel(self, context):
        wm = context.window_manager
        wm.event_timer_remove(self._timer)

def register():
    bpy.utils.register_class(ModalTimerOperator)

def unregister():
    bpy.utils.unregister_class(ModalTimerOperator)

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.wm.modal_timer_operator()


text:
Run ModalOperatorTimer automatically on animation playback
I have the following script. It updates a MixRGB node's factor input to itself to solve some issues with GLSL viewport in textured mode. Anyways, I was wondering if there is a way to attach this script, so that it runs automatically when I click on the "Play" button or press Alt-A and stop automatically as well when the playback is suspended?
What would be the easiest way to go about doing this? Is creating an addon a feasible solution?
import bpy

class ModalTimerOperator(bpy.types.Operator):
    """Operator which runs its self from a timer"""
    bl_idname = "wm.modal_timer_operator"
    bl_label = "Modal Timer Operator"

    _timer = None

    def modal(self, context, event):
#        if event.type in {'RIGHTMOUSE', 'ESC'}:
#            self.cancel(context)
#            return {'CANCELLED'}

        if event.type == 'TIMER':
            mat = bpy.data.materials['Material']
            nodes = mat.node_tree.nodes
            mix = nodes["Mix"].inputs[0]
            mix.default_value = mix.default_value
            print('Current Frame:')

        return {'PASS_THROUGH'}

    def execute(self, context):
        wm = context.window_manager
        self._timer = wm.event_timer_add(0.1, context.window)
        wm.modal_handler_add(self)
        return {'RUNNING_MODAL'}

    def cancel(self, context):
        wm = context.window_manager
        wm.event_timer_remove(self._timer)

def register():
    bpy.utils.register_class(ModalTimerOperator)

def unregister():
    bpy.utils.unregister_class(ModalTimerOperator)

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.wm.modal_timer_operator()

I'm aware of Handlers in Blender. However I tried the below script with no luck:
import bpy

def refreshNow(val):
    mat = bpy.data.materials['Material']
    nodes = mat.node_tree.nodes
    nodes["Mix"].inputs[0].default_value = nodes["Mix"].inputs[0].default_value
    return val

refreshNow(0)

bpy.app.driver_namespace['refresh'] = refreshNow

def my_handler():
    refreshNow(0)

def register():
    bpy.app.handlers.frame_change_post.append(my_handler)

instead of the timer attach the main function to the handler bpy.app.handlers.frame_change_pre and it will run before the frame change.  see handlers

@Chebhou I have tried the handlers, and for some strange reason it does not work in this case (node manipulation for blender internal). Have a look at my previous question: http://blender.stackexchange.com/questions/46533/script-not-running-as-handler-or-in-driver

I have commented on the other question try it out please

if not working you can :   attach the modal Op to the handler ( just to trigger it at the start ) and inside the handler detach the Op from the handler ( so it won't be called while running )   , have a counter inside the Op and check if frame don't change for long time stop the Op

@Chebhou this is my first blender script and python code :D can you please guide me as to how to attach a class in this case modalop to handlers? To my knowledge handlers only accepts functions right? And also how to detach? I am good with the counter and can look in the api to find info about frame changes. Thank you again

just call it inside a function ( appended to handler )   and to detach remove this function from the handler

@Chebhou would it be something like this:
`def my_handler(scene):
bpy.ops.development.ModalTimerOperator('EXEC_DEFAULT')
bpy.app.handlers.frame_change_post.remove(my_handler)

bpy.app.handlers.frame_change_post.append(my_handler)
bpy.utils.register_class(ModalTimerOperator)`

And then using a counter and if statements inside my execute manage if frames are still changing?

now you have all the ingredients,  I'll get back to you later

Your comments in the other thread provided the definite solution to my problem. Thank you again so much

Solution to the above problem is to use Handler rather than a Modal Operator.
Thanks to @Chebhou for his help in this thread and here.
Below is a working solution to execute on playback using handlers:
import bpy

def refreshNow(val):
    mat = bpy.data.materials['Material']
    nodes = mat.node_tree.nodes
    nodes["Mix"].inputs[0].default_value = nodes["Mix"].inputs[0].default_value
    bpy.context.scene.update()
    return val

refreshNow(0)

bpy.app.driver_namespace['refresh'] = refreshNow
def my_handler(scene):
    refreshNow(0)

def register():
    bpy.app.handlers.frame_change_post.append(my_handler)

if __name__ == "__main__":
    register()


text:
Triangulation using X, Y, Z data file to create an elevation model
I have a raster based height map, which I can convert to X,Y,Z heights, i.e. I can get a CSV (Comma Separated Value) file, which has X, Y and Z values.
Since it is a raster, the sampling of the X,Y,Z values would be uniform. Can I create a python script that would create a rectangular mesh with the same resolution as the raster map, and then I modify the Z-coordinate of the vertices from the height map?
Edit: Coding developed using GDAL
With the help of @zelfii in one of the answers here, I have developed a code, which can read the GeoTIFF raster data (SRTM based elevation model) and can create a mesh. However, I am facing some memory problems (Blender is taking too long to process the data)
The size of the raster in question is 4500 x 4500 (approximately).
import bpy
from osgeo import gdal
from gdalconst import *
from math import floor
import easygui

def getFacetIndex(c, r, cols):
    return (c + r * cols)

def getFaceVertexList(geoData):
    faces = []
    vertices = []

    cols = geoData.RasterXSize
    rows = geoData.RasterYSize
    transform = geoData.GetGeoTransform()
    xOrigin = transform[0]
    yOrigin = transform[1]
    pixelWidth = transform[1]
    pixelHeight = transform[5]

    band = geoData.GetRasterBand(1)

    verts_per_side_x = cols

    for i in range(cols * rows):
        x = (i % (cols))
        y = floor(i / cols)

        level = x + (y * verts_per_side_x)
        idx1 = level
        idx2 = level + 1
        idx3 = level + verts_per_side_x + 1
        idx4 = level + verts_per_side_x
        if (x < cols - 1) & (y < rows - 1):
            faces.append([idx1, idx2, idx3, idx4])

        xc = xOrigin + pixelWidth * x;
        yc = yOrigin + pixelHeight * y;
        data = band.ReadAsArray(x,y,1,1)
        zc = data[0,0]
        if (zc <= 0):
            zc = 340
        vertices.append((xc, yc, zc))

    return vertices, faces

def generate(image_name, geometry_name):
    theData = gdal.Open(image_name, GA_ReadOnly)
    verts, faces = getFaceVertexList(theData) #

    mesh = bpy.data.meshes.new(geometry_name + "_mesh")
    mesh.from_pydata(verts, [], faces)
    mesh.update()

    obj = bpy.data.objects.new(geometry_name, mesh)
    bpy.context.scene.objects.link(obj)
    obj.select = True
    obj.show_bounds = True

#open the file dialog
theFile = easygui.fileopenbox()
#open the GDAL file
gdal.AllRegister()

generate(theFile, "theModel")

Do you perhaps have one such file to share, i might try another way

that's more than 2 million vertices, even on a fast computer that'll take a while to process :)  but i wouldn't give up on python just yet..

Here's a link that shares a smaller file: https://drive.google.com/file/d/0BwNOkTM_fO6-ZU9PRTRUOHdGaFU/view?usp=sharing

is it fast for you to make a csv from the large geoTIFF? the less work python has to do the better,.. if so a csv with just the heights wouldn't hurt

raster to csv to 3d surface
in a CSV all you need to provide are the z-heights per column / row. Decide on a formula to convert pixel intensity (RGB) to the z-height. You do not need to specify x,y components associated with the z-height, because they are implied by the position of the z value in the csv row/column.
At most you need to provide the spread distance between rows and columns, once. Given you are working from a raster image, and assuming the pixels are square, usually the spread_x and spread_y are the same value.
raster direct to 3d surface
If you can import the raster as a png or other supported file format, it is possible to convert straight from the image to a mesh..
import bpy
from math import floor

scalar_z = 2.3    #  amplification in z direction
scalar_xy = 1.0   #  amplification in xy

def generate_face_keys(num_x, num_y):
    faces = []
    verts_per_side_x = num_x

    for i in range((num_x - 1) * (num_y - 1)):
        x = (i % (num_x - 1))
        y = floor(i / (num_x - 1))

        level = x + (y * verts_per_side_x)
        idx1 = level
        idx2 = level + 1
        idx3 = level + verts_per_side_x + 1
        idx4 = level + verts_per_side_x
        faces.append([idx1, idx2, idx3, idx4])

    return faces

def geometry_function(image_name):
    img = bpy.data.images[image_name]
    num_x = w = img_width = img.size[0]
    num_y = h = img_height = img.size[1]

    # work on copy only
    pxls = img.pixels[:]
    num_pixels = int(len(pxls) / 4)

    verts = []
    add_vertex = verts.append

    # generator expression
    gen_obj = (i for i in pxls)

    for idx in range(num_pixels):
        y = int(idx / w) * scalar_xy
        x = (idx % w) * scalar_xy
        r = next(gen_obj)
        g = next(gen_obj)
        b = next(gen_obj)
        a = next(gen_obj)

        # height-map, would be grayscale, so z can be set to r*scalar
        z = r * scalar_z
        add_vertex((x, y, z))

    faces = generate_face_keys(num_x, num_y)
    return verts, faces

def generate(func, image_name, geometry_name):
    verts, faces = func(image_name)

    mesh = bpy.data.meshes.new(geometry_name + "_mesh")
    mesh.from_pydata(verts, [], faces)
    mesh.update()

    obj = bpy.data.objects.new(geometry_name, mesh)
    bpy.context.scene.objects.link(obj)
    obj.select = True
    obj.show_bounds = True

generate(geometry_function, "wvb_flat_2b.png", "3d_Surface_Object")

produces:

Thanks for the answer. I have modified the original question to make it more clear for  you (added some code with the help of the code you have provided).


text:
How to simulate a suction cup?
I am trying to model a suction cup in Blender 2.75a. I don't know where to get started. More specifically here is what I want to do:

Create a suction cup/pad that can stick to vertical walls.
Control the sticking of that pad on a vertical surface via game engine.

I am doing this to model a hook onto which I want to hang a cube (a simple pendulum in my case) which has some mass. And yes I want to do it via a suction pad only.
Update 1
On EpicM's suggestion, I tried modelling it as a cloth using rubber material. But that didn't work out. Using soft body seems to work fine. But the main concern now is how to vary the air pressure inside the cup so as to control when to stick and when to release.I am new to blender and hence have no experience using scripts. An example will be very helpful.

EDIT: Completely rewrote this answer, as I found a much better solution.

Basically you can connect two rigid bodies then keyframe their connection to decide when to turn it on or off.
Here's how:
After you set up your rigid bodies, select your cube, then your suction cup object, then connect the two using the physics tab. This will constrain the cube to the cup in a rigid body responsive manner (unlike ordinary constraints that make a mess).

Then all you need to do is to select the empty that represents the relationship between the two objects, and animate the "enabled" property on the constraint.

I guess you'll just have to figure out the rest about implementing this in BGE (which enables dynamically controlling animations).
Blendfile.

Cup to surface
A very simple method to "stick" an object to another is to parent them together. This way the child object will move with the parent object - it "sticks".
You can dynamically change this relationship either with the parent actuator or via Python [setParent(), removeParent()]. You can move the child relative to the parent or relative to the scene. As the child will not be a physics object, you can use location changes "Loc:" of the motion actuator.
Pendulum to cup
To add a pendulum (which I guess should be a rigid body) I suggest to establish a rigid body constraint between the cup and the pendulum. This way they both are bound together via physics rather then parent/child. This allows the pendulum to swing and react on forces.
I hope it helps
Remark:
The BGE is a game engine which means it should entertain, rather than a physics simulation which is supposed to simulate real conditions as precise as possible.
Therefore I strongly suggest to focus on the effect rather than the cause.

You could use the cloth simulation with the material set to rubber to simulate how the shape of the suction cup changes. If you want to get a more physically accurate model of how the suction cup would work then writing a script to simulate it would also work.


text:
Garbage collection in Blender leaks memory
I'm working on an iterative process for optimizing the placement of some objects. This iterative process seems to leak the memory (I use numpy matrices). I do destruct the lists and matrices after each iteration but seems not really helping. I've enabled GC collector and still, I have the problem. When I reload Blender the saved files take less memory, and the memory is totally freed. Can we get access to what is going on reloading Blender? I've already found some solutions but none worked with me.

Can you construct a minimal working example to reproduce the problem?

It's an iterative process (using self-learning techniques), the algorithms try to find the best location of objects according to the existing ones. Many trials (moving object) and trying to place it in its final location. The process assumes locations and moves the object to the intended location, if it didn't work due to overlapping constraints or location constraints it will try to find another better location.. and so on. For each object about 10,000 trials used (as much as the problem complexity requires).

Indeed it seems to me when moving the meshes in Blender and applying transformation processes such as rotation, scaling and location the older mesh is not destructed from the memory or it makes a copy of it and applies the changes to the copy. The former locations could be kept in memory.

Is there a way to clear the history of changes in Blender? I didn't find it in API so far ..


text:
Any way to turn off the black lines in curve edit mode?
Is there any way to turn off the black lines in curve Edit Mode?

Sure thing.
These lines show the Normals orientation.
Just uncheck the corresponding field in the Viewport Overlays panel.
You can also adjust their length with the slider.

I think these are normals and it can be turned of in the right top corner under viewport overlays, in this menu at the bottom is curve edit mode, where is option box to show normals.


text:
Blender renders the same camera view even after camera is deleted!
I have Blender 2.8 and setup 3 cameras for my animation. I want to render animation of one camera at a time in separated output files, like: Hit render to render camera 1 save the animation, then change the active camera, hit render again and so on - but blender always render camera 1 view.
I set a different camera as active, change the camera 1 location to camera 2 location and even delete camera 1 from the scene but it still render camera 1 view no matter what!!
I don't want to render every camera in a single animation, I want to render only one camera of those...
My setup:

Render:

If I understand the question correctly, you want to set it up as a sequence and switch cameras with a marker. I think this question is a duplicate of https://blender.stackexchange.com/questions/72277/how-swap-views-between-multiple-cameras

It's the scene camera which is going to be rendered (Properties Area > Scene > Camera).

@brockmann yes, I did change the camera there but still it doesn't render the selected camera view

Had the same issue and realized that I had a video clip in the sequencer that I forgot to delete, as well as still having "Compositing" and "Sequencer" checked under post processing.

Next, try to disable the compositor and the sequencer -> Output Properties (Printer Icon) > Post Processing > Compositing / Sequencer... I guess that's a template right? If my last guess doesn't solve your issue, ask the author. or share your file, otherwise it's just a waste of time.

@The_Machine & brockmann it works like a charm, thank you so much

If I understand the question correctly, you want to set it up as a sequence and switch cameras with a marker. I think this question is a duplicate of How swap views between multiple cameras?.
You can create markers on the timeline with the M key. Then select the camera you want to bind to that marker and hit Ctrl+B. As soon as your timeline reaches that marker the camera will switch. It is important that both the marker and the camera are selected.
So if you're doing stills, you'd only need however many frames as cameras that you have.
Edit: (select your camera and use CTRL+Num 0) ...

No, I don't want to render every camera in a single animation, I want to render only one camera of those..

Right, instead of choosing a video format when you render, choose an image format. It will give you each frame as a still image.

Does CTRL+NUM 0 not change your camera?


text:
How to join two faces with bevel?
Hi I'm trying to model this piece of the monitor

Which i need to generate a Bevel between two faces (i think), but i don't know how to do it. I already tried to generate a face between the two to join and bevel it without luck.

How should i do it?

You need to bevel Edges, not faces.
How to:
1) Remove unnecessary geometry (to prevent ugly topology later)
2) Bevel the edges
3) Finish your geometry
4) You're done.
1) Delete faces
Remove unnecessary faces with Delete > Faces, to prevent n-gons.

2) Bevel edges
Select your edges and bevel them.
Adjust width and number of segments as you need.

3) Finish your mesh.
To create a new face Press F or go to Vertex > New face from vertices
Keep quads where you can.
Add some new edges like I did :).

4) You're done.
Result with a Bevel modifier and a Subdivision modifier on top.

Thanks! Very useful!
To mantain topology, you added some vertex. Right?  How do you align those with the bevel? So the edge is at 90° image

Hello :). Perfect alignment isn't important here, it's just a flat face. But if you want it perfect, enable absolute grid snap (in the Snap menu) and use the grid.

Why to fix something that is not broken? Life is short :)

create from top and bottom faces n-gons (F)
and Bevel (cmd+B)

Bevel Modifier + Smooth Shading + Properties Editor > Object Data > Normals >  Auto Smooth


text:
Is Blender 2.8 Cryptomatte samples dependent?
In other words, while rendering a single 2000 sample OpenEXR Multilayer image, I open another instance of Blender, with no scene and a clean compositor. After that I drag and drop a low sample image previously done of the same render, with the same Cryptomatte pass in it.
Possibly I can start compositing and export the crypto-matte from here, applying it to the 2000 sample image after it finishes. Is it right? I see the edge of the matte untouched, as Cryptomatte works with object mesh, maintaining the luma black and white matte clean (as an object buffer, I think).
I don't know if I'm explaining it right, but I think that the title is quite clear.

Yes Cryptomatte depends on the samples. https://blender.stackexchange.com/a/157159/74827

Crypto matte seems sample dependent, but I successfully use a matte generated from a low sample render scene: I than re-render in high resolution this scene using the same matte previously picked, without noise or artifacts.


text:
How do I turn off this line in weight painting?
I was editing the weights and I guess I accidentally pressed a hotkey or something. Now whenever I try and remove some weight, the brush changes to this weird delayed brush that removes weights after I passed over it and I have to keep going back and forth with it instead of just wiggling my mouse over an area like I always do. What did I press so I can avoid it and how do I go back to the normal brush?

Hi. Please try and remove any excess white space in any images before you upload in future. Thanks.

What has happened is that you have activated a feature called Stabilize Stroke, which can be found in the Active Tool Tab of the Properties Panel, under the Stroke Section. It is very easy to enable this feature by accident, by inadvertently pressing its shortcut, which is Shift + s. The reason it is slow is because it gives up draw performance in order to facilitate a more precise line result. The same feature exists in Sculpt Mode, and can be accessed the same way.


text:
How to bend a plane I modified?
I've used a plane to model this:

I want it to bend but when I add a "Simple Deform" modifier and I select "bend", here's what I get:

As you can see only some of the faces are going to be bend.
Q: What can I do to bend the geometry as a whole?

If it's subdivided use the curve modifier.

I just needed to put it on the Z axis, apply then rotate it. Found the answer on this video (at 3:45) while searching for a solution.


text:
Blender Game, line by coordinated file does not appear in the execution
Good afternoon people. I'm new to Blender and I have a problem , which I think is a simple solution , but I can not solve.
I have an application for BlenderGame , I have an object that moves the read from a CSV coordinates. Until then all Ok . This object has the data coordinate Desirable, and coordinate it performs for a PID control.
I would like to create a line or cylinder with coordinated the object should perform . A reference line. I do this with Python code at runtime . When I click on "P" and the Blender Game run the application , the line created , does not appear in the world. But when I give "ESC " to end execution , the line is there. But still it does not appear when I run . It seems that it is not in the correct context.
The code that creates the line via Python is basically this : python script that reads text file containing coordinates and creates a path/curve for object to follow
I thank anyone who can guide me.
hug
image: https://scontent.fpoa3-1.fna.fbcdn.net/v/t1.0-9/14224860_1249837188401329_8188713497222516318_n.jpg?oh=b9778e78077a06365aaf972e53964b55&oe=5845F72D

Never ever use bpy in your BGE game.

bpy is the Blender API. It talks with Blender. Blender is NOT the game engine. It is not available in your final game. It is available at development time when you run your game embedded in Blender. Read access will retrieve data from the Blender data. Write access updates the Blender session. It will not take effect until you end the embedded game session.
bge is the BGE API. It talks with the Blender Game Engine. This is the API you need to use.
mathutils is a library available in both Blender and the BGE. It is stateless and therefore has no visible difference if used from Blender or the BGE.

I hope this helps.


text:
How can I align a new object to the camera view with Python?
I am trying to work out a script that adds a plane aligned to the camera view, but I cannot figure out how to do anything past it being aligned to the current view. This works fine mostly, as long as I am in the camera view, but it would be much more convenient to not have to be in camera view.
This is what I have so far:
import bpy

# Add a plane and align it to view
for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        for region in area.regions:
            if region.type == 'WINDOW':
                ctx = bpy.context.copy()
                ctx['area'] = area
                ctx['region'] = region
                bpy.ops.mesh.primitive_plane_add(ctx, view_align=True)
                bpy.ops.object.editmode_toggle() # Avoid a missing face

# Add diffuse shader to object
activeObject = bpy.context.active_object
mat = bpy.data.materials.new(name="grey card")
activeObject.data.materials.append(mat)
bpy.context.object.active_material.diffuse_color = (.18, .18, .18)

I have seen this question, and the accepted answer says to assign the camera object's rotation_euler to the object to be aligned with C.object.rotation_euler = C.scene.camera.rotation_euler, but I am not sure what to do with this advice (as it may be evident, Python is not a strength, but I'm trying to learn).
What do I need to change in this script in order for it to work as I am wanting it to?

Assigning the Euler's rotation works in sens it will make the plane parallel to the camera view (which does not mean that the plane is visible by the camera). Could you please explain a bit more your issue from that?

You could simply use a 'Copy Rotation' constraint to ensure that the created plane always points in the same direction as the camera. To achieve this in Python you could do the following :
import bpy

# Create a new plane
bpy.ops.mesh.primitive_plane_add(radius=1, 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))

#Create constraint and set target to 'Camera'
bpy.ops.object.constraint_add(type='COPY_ROTATION')
bpy.context.object.constraints["Copy Rotation"].target = bpy.data.objects["Camera"]

Since you want to align the object with the current view (and not the camera), you need to extract that view through the view 3D's region_3d (rv3d in the example below), then assign its rotation to the object you want to align the view with:
import bpy
def view3d_find( return_area = False ):
    # returns first 3d view, normally we get from context
    for area in bpy.context.window.screen.areas:
        if area.type == 'VIEW_3D':
            v3d = area.spaces[0]
            rv3d = v3d.region_3d
            for region in area.regions:
                if region.type == 'WINDOW':
                    if return_area: return region, rv3d, v3d, area
                    return region, rv3d, v3d
    return None, None

r3d, rv3d, v3d = view3d_find()

# Add new plane which will become the context object
bpy.ops.mesh.primitive_plane_add()

bpy.context.object.rotation_euler = rv3d.view_rotation.to_euler()

Hi, thanks for the answer.  Maybe I did something incorrectly, this does indeed align an existing object to the camera, but I want to add a new plane aligned to camera view. I replaced my first 7 lines with this, is this correct?

@Timaroberts, revised code above to add a new plane which will be aligned with the view.

I'm sorry if there was a missing detail in my question, but I'm afraid this is still where I started (though much cleaner it seems, no need to toggle edit mode to not lose a face). The objective is to align the plane with the camera regardless of the current view.

That's exactly what C.object.rotation_euler = C.scene.camera.rotation_euler, will do. But you said that didn't work for you. Perhaps you can clarify what you need better, and what doesn't work?

I didn't mean that it didn't work for me, sorry for the confusion.  What I'm struggling with is understanding how to use it.

@Timaroberts check out Rich's answer above, might be more suitable to your needs.

the script can be simplified as a function
def main(context):

    rv3d = context.region_data
    context.object.rotation_euler = rv3d.view_rotation.to_euler()

you can run it putting the main in the simple object operator template
and running it from the 3Dview. with an active object

This is re script in answer of TLousky.  Question was re aligning to camera not view3d.  Assumes the object is in Euler rotation mode. For all rotation modes decompose the matrix and recompose with the new rotation.


text:
When trying to open a .blend file created on Mac on Windows, Blender always instantly crashes
When I try to open a .blend file on my Windows, one I've created on my Mac, it opens up and a grey screen appears shortly. In the top left corner you can read the file path but then Blender crashes instantly. I've already tried multiple things, like downloading a new version or making sure that all textures used are in the same folders as the files themselves. But none of it really worked. I've read on the web, that it should be no Problem, as .blend files work on windows and Mac without problems. The file also is complete and didn't get hurt or corrupted, because it has been transferred safely via Cloud.

Is this just one file or all Blend files created on your Mac? If it happens with every file, perhaps you can create a simple file which crashes and share it here via https://blend-exchange.com/ so that we can have a look and see what's going on.

I just encountered this same crash.
In my case, it was because I created the .blend file with Blender 4.0 on mac, and tried to open it with Blender 3.1 on Windows.
Using 4.0 on windows fixed it.
This might not be what happened to you 2 months ago - but I ended up here with my problem, so maybe someone else will.


text:
Create thickness on Hair on a material
I have been struggling with making GeoNodes that will distrubute hair on a mesh/material/colour. This worked however the hair stay very thin, I am trying to find a way within GeoNodes how to alter this and need your guys help, as I am so stuck.
This is how my current GeoNodes set-up looks like.
The Upper part was just try-out to create thickness, but doesnt work sadly.

I'm not sure what you are trying to do. Blender 3.5 (scroll down) comes with pre-made GN groups and hair assets that use them.  You can stack them on the modifier stack. Try the Set Hair Curve Profile node to set the thickness. To see it in the viewport and Eevee you need to set the Eevee render setting Curves > Shape to Strip.

Your Set Curve Radius node has an error, it's the little white "[i]" in the top right corner. It's probably because the input is not of type "Curves" but mesh geometry or empty. Try to connect the Curves output of the Generate Hair Curves node to its input slot ("Curve"). You still need the Eevee render settings as described above to see the effect in the viewport if you are not in Cycles render mode.


text:
Inset > Extrude > Bevel > Subdiv = Weird?
On Default Cube, select face, Inset it, Extrude it 'inside' the cube, add Bevel and Subdivision.
This is the result.
I recently switched to the latest Blender version, and I could be wrong, but I don't remember the same behaviour in older version.
This is Default Cube, no extra vertices, no wrong face orientation.. And on Cylinder the process is working as expected.
If I switch Subdivision to Simple, it looks as expected, but somewhat rough.
Why is that? What am I not understanding?

It depends on your bevels I reckon

Well, if I change 'limit method' from default angle 30 to none, then it's ok.
But I still don't understand why.

Catmull-Clark Subdivision Surface smoothens the mesh by interpolating values of nearby vertices. If there's not enough holding loops this smoothing can actually create sharp geometry like so:

The key is to have quads wherever normals change, as well as to have the quad loops flow with a consistent way to the smoothed mesh:


text:
How do I transform a mesh to have exact angles between two faces?
I am a brand new user to Blender and am having difficulty finding a way to "set" angles between faces for a mesh I am transforming. Currently, the angles are off very slightly, and I have been manually trying to transform it until I can get the correct angle. I was able to get close with angles 80.541, and 116.513, but they need to be 85.0 and 116.5 exactly. When trying to explicitly set the XYZ values by typing in a number in the Transform Controls, the angle measurements disappear which makes it difficulty to know if I have gotten the correct angle until I select the face again. Thank you very much for the help!
Here is what I have currently:

Hi. If you activate the built-in addon MeasureIt Tools, you can measure the angles to 5 decimal places. These measurements do not disappear when you are trying to set the angle. Thus, you can see to set them to 85.00000 degrees and 116.50000 degrees.

Apart from using the MeasureIt tool, I would be able to create this manually, the question would be: you said the angles need to be 85° and 116.5°, but how exact do you need the other components? Side lengths, the other angles...? Of course with given angles some values mathematically just result from this premise, so I ask are there more requirements?

The MeasureIt addon worked perfectly and helped quite a bit. It still is very time consuming without being able to somehow set the angles and lengths of everything. @GordonBrinkmann Thank you for your offer, however I will potentially have 50+ different sizes I will need to make for this. I have all the measurements of all sides, angles, and thicknesses, but getting them into blender exactly has been a challenge for me so far.


text:
Is Z-Render Pass accuracy dependent on sample count? Are others like object id? (Cycles)
So I have a single-frame project and want to send it to a renderfarm that does not support OpenEXR or compositing (SheepIt).
Can I simply do a 1 sample pass on my computer and still get high accuracy compositing passes like Z-Buffer, Object ID and so on, to combine them later with the renderfarm result?

Yes, actually those passes only use 1 sample already. However some passes similar to those (such as mist) do use all the samples. Depending on the exact nature of your scene you may be able to get away with lower samples for mist (I would still use more like 50 or so), but in some cases (e.g. with motion blur or DoF, where multiple objects are visible in the same pixel) more may be needed.

Related: http://blender.stackexchange.com/q/14925/599 and (somewhat) http://blender.stackexchange.com/q/7025/599

No, Z pass, ObjectID and alike are not dependent on Cycles render samples. Their visual output will always be the same like rendered with 1 sample - so not nice.
It's better to obtain them in Cycles with a different method - Z pass with Mist pass or Ray-depth shaders, ID-masks with random-colored shadeless materials for example.
Or get them from Blender Internal (you want to use Full Sample there).
Here is a little table what is (green) and is not (red) dependent on render samples:

Why and to which point are Emission, Environment, Mist, Normal and UV passes dependent of the samples amount? I always thought samples didn't change anything except anti-aliasing.

@piegames Why: because of the nature of unbiased rendering. More samples equal less noise for the pass. For each AA sample (in branched pathtracing) you can set the amount of emission samples, volume (mist) samples, AO, direct/indirect and so on.

The Mist pass is not a Volume pass. And what about Normal/UV and Environment pass?

Why is normal dependent on # samples??? I thought it is purely geometric, just like depth? Thanks for the clarification.

@SibbsGambling you need samples to clear alias on object edges. Without it the pass would be useless as the index and depth passes are.


text:
Benchmark optimal settings documentation
I realize that hardware questions are off-topic here, but I think this question about documentation and optimization is not really hardware dependent - it's a question of being able to reproduce consistent results with different versions and installations of Blender.
It took me a while searching the web and this site to realize why I was getting such poor results rendering the classroom benchmark scene on my new system that came with an NVIDIA GeForge GTX 1070. The default settings were set to render with the CPU, and when I tried to switch it to CUDA-based GPU rendering, things only got slower. Searching the web I found others had gotten it to render in about 7 minutes on the same hardware (GTX 1070). Finally I found the answer: increase the tile size. It seems like a lot of effort to figure out some basic configurations if you're not intimately familiar with how rendering works. And I still haven't matched the other benchmark. I'm at 8:38, and the other benchmark was at 7:47.
So my questions are:

Is there some way to know to what I should attribute this variation? My benchmark was on Blender 2.78c and the original was on 2.78a. So it could be that or something else.
Is there any documentation covering optimal settings for the benchmark scenes? I realize optimization is very dependent on hardware and scene, but especially for benchmark scenes on the most typical hardware, it would be useful to know how to reproduce consistent results so we can, for example, compare the performance of different versions of Blender.

Edit: The classroom scene I downloaded from https://www.blender.org/download/demo-files/, and I just realized that it's not technically labeled as a benchmark.

@cegaton But some of the "standardized settings" you mention seem to be missing. Do all the blenchmark timings listed at http://blenchmark.com/gpu-benchmarks really run at a tile size of 16x16? That would be terrible if so because they would all run slower than CPUs!


text:
Scripting for loop adding attribute incorrectly
I'm attempting to add a Color Attribute to each selected object, Here's the simple code:
import bpy
lego = bpy.context.selected_objects
for x in lego:
    bpy.ops.geometry.color_attribute_add()

Which to my knowledge should iterate through each object and add the color attribute once,
instead running the script it seems to run over only the active selection and add the color attribute repeatedly for the amount of objects selected.
So instead of each object having it once, i end up with 1 object having the attribute houndreds of times.
Is this a bug that i should report or is there a specific way i should be adding this attribute in scripts that im unaware of?
(Specifically the Color Attribute located in the object data properties tab not refering to materials)
Thanks!

several operators only function on the active object. Add bpy.context.view_layer.objects.active = x at the start of your for loop.

That worked thanks for your help @Ratt legend

Thanks to @Ratt for the solution:
Adding the following line of code to the for loop solved the issue:
bpy.context.view_layer.objects.active = x


text:
Randomize position of geonodes
New to Blender so forgive me if my explanation isn't the clearest! I have created a scene that uses geonodes to randomly distribute an object across a plane. I am trying to make these objects randomly move to a new position animating the seed of the distribute points on faces node within the geo nodes. My problem is the objects all change position at the same time. Is there a way to scatter there change in position? Possibly with a set lifetime before each movement?

Thanks for the suggestion! Just trying to implement the changes now, again bare with me as I'm a beginner. I have attached a screen shot of my geonodes to show what I'm working with. Any help would be greatly appreciated! (https://imgur.com/a/Q4tk9GF)

I think this is the most idiomatic way to do this - using the Map Range node with Scene Time as Value, start and end frame range as From and either normalized $0…1$ range as output or directly the final values if you can describe them with scalars (grey values):


text:
Pose mode face bone - Insert key not working
The face bones rotation in purple color and not able to insert key frame

The bones related to face is in purple color and not able to insert key frames. Other body bones are working fine. This is on Blender 3.6. Am I missing anything?

I believe that means your rotation values are being controlled by drivers, you'll need to right click and remove the drivers in order to keyframe manually

Thanks. That worked. Analyzing how the drivers came there. Thanks again...


text:
Retopology CLO3D Garments
For an animation, I need to reptopologise my garment that I made in CLO3D. Previously I did do it by myself as well as Instant Meshes, but is there any other way how to quickly apply retopology for CLO3D garments. I tried the RetopoPlanes add-on, which doesn’t work for Clo3D…
Besides this it seems that for garments once you have applied the retopology, that I can only be done for obj/fbx (without motion). Is there any way that it can be applied to an alembic or moving garment?
Please let me know if you think of any solution.


text:
My model wont move when using a rig
Im new to blender and i got a model from SRB2 and when i put it into blender and made a mesh it didnt work.
Yes I did redo it. It still didnt work.
https://drive.google.com/drive/folders/12WLnvCfpVt1g9bjTcerFtv5MI-9XV9nA?usp=sharing

You have overlapping vertices, select the whole mesh in Edit mode and press M > Merge by Distance and parent again With Automatic Weights.
Result:

That didnt work. It just gave me a thing with change bone layers.

@Dbnart Infinity Well, see my edit, it seems to work, it needs some manual corrections though

I found the merge by distance thing yet it didnt do anything to the model. are the polygons on the inside still supposed to be there?

Merge by Distance removes hundreds of overlapping vertices, they prevent any parenting, as you see now it works, but there may still be some problems, I see floating edges in your object, you need to fix that as well


text:
Can light affect specific objects only?
In C4D I can control which objects to affect with a light, in the image below only the main object is affected by the light source, the background and other objects are not affected. But I haven't found a way to do this in blender!
Is it possible to specify which objects to affect with a light source?

If your question is: can light only affect some objects and not others? I think it's not possible yet

I edited your question to make it easier to understand, feel free to [edit] or roll back if it's not what you wanted to ask.

If you don't mind using OSL, you can light selectively this way, but I think you would want to check that render passes wasn't a better way.

To remove specular, as that's the name for the thing pointed to, you select the faces that shouldn't have it and give them material of the same color, but with a different name. Then, in a node, set its Roughness to 1. This goes for Cycles.


text:
Should I model separate objects for game assets?
I am still new to blender, and making art for a game. When it comes to what is consider "performant", is it better to do it like I've done in the image here, or should each fence post be a separate object, so that I don't have to subdivide the main model so many times?
What is considered the "correct" way of doing something like this?

https://blender.stackexchange.com/questions/48913/should-i-make-my-model-into-1-whole-or-multiple-parts/48925#48925 https://blender.stackexchange.com/questions/49988/storing-many-instances-efficiently/49995#49995

Multiple objects means there are multiple objects in the outliner. It doesn't count if your mesh has multiple loose geometry, it will be one object and won't decrease the performance. So don't subdivide unnecessarily.


text:
Create a mirror to reflect objects for vfx compositing
I would like to create a virtual mirror to compose on top of a real mirror to reflect objects in Blender.
This is how I imagined it in my mind: (The mirror completely reflects the object but leaves the original real reflection)

But when I try to do it, it looks like this: (the reflection is dark, transparent, and barely visible)

I'm probably not doing this the right way: I'm creating a glossy plane and setting it as a shadow catcher in the visibility part of the object properties. I couldn't find instructions about this anywhere, so I'm just guessing...

Hello :). I'm no expert on mirrors, but wouldn't multiple view layers work better? Then you could choose what exactly to reflect and just composite it on top.

Sorry, I'm still a beginner. How does that work?

Does this answer your question? reflection in mirror

@Luciano I don't think so, I'm trying to put the reflection on top of an image of a mirror. Or maybe a better explanation would be, i want to create a mirror, where the reflection is visible (and not transparent) but the mirror it self is completely transparent. Basically like a shadow catcher, but for reflections.

@brockmann I think that might be it, it seems  very advanced, especially for a beginner like me. But I will try it tomorrow

Not really advanced, just a bit of work since cycles is a pathtracer... Recommend try that and keep us posted so we can vote to re-open the post in case.

@brockmann well, its advanced compared to what knowledge I have. But yeah i will try it.


text:
How do I create vertices that form square faces on a rectangle?
I need to do this so I can build terrain properly.
This is what I am trying to get square faces on:

I tried deleting everything but the corners and this happens:

And this is what I want, square faces:

Perhaps square faces is a better term.

In your case just dissolve edges.

I'm curious about how come you have to start from this topology?
In this particular case though, you could:

Select a vertical edge, and ShiftG > Select Similar > Direction
CtrlI (Select Inverse)
X > Limited Dissolve the now selected edges

Thank you for the help! :)


text:
How to bend a part of sphere or cylinder the incremental way?
I am trying to bend a part of a modified sphere that is transformed into an elongated piece of pipe. As you can see in the picture, I have done it by using R + Y and then G + X in order to arrange the bends. But, this is not the best of the way as you can see the rings of vertices are fairly random and do not give any symmetrical increment.
Is there a better way of creating this bend:
a. without getting into modifiers,
b. without any empty object approach?

thanks! for improving the question.

CtrlE Edge Menu > Bridge Edge Loops does more than you might think.

Just the two loops at the ends were selected to be bridged, here. You could also use the tool to join the tube and the surface its rising from.

thanks, but I found that's an aftermath approach. I am looking for something that can be done beforehand and that would be great.

@ambrishdhaka  Ahh.. OK.. have a play with the Spin tool and see if you like that better... but that will only give you surfaces of rotation.


text:
Redo panel (F9 menu) gone forever?
Imagine, you add an object to the scene and you get the redo-panel (F9 menu). If you want to modify the options of the newly created object but you mistakenly click elsewhere, the menu disappears. That's not a problem, since you can bring back this menu using F9.
However, imagine you move the object (using G) first and then want to access the F9 menu again. When you press F9 now, the menu of the translation will appear instead of the initial options for the object! How can I bring back the initial F9-menu?

Short answer: It's not possible to bring it back after the translation.

That's not the answer I was hoping for ^^ But thank you for making this clear! (I wasn't able to find the question you've linked on my own.)

Yep, I'm sorry... it is like it is...


text:
Imported model only visible in orthographic views?
The model was created in Creo. When importing the model into blender I only can see it in orthographic views (Numpad 1, Numpad 3 and Numpad 7) but not in any user perspective. I already checked clipping and that's not the issue.

Q: What am I doing wrong?

Can you share a link to the imported mode, or upload your .blend for review? https://blend-exchange.giantcowfilms.com/

Oh, er, for the future, you should add that to your question. The formatting breaks in the comments.

sorry, I'm still a newbie and try it for the first time

As we can see in the n panel of the 3d view with your object selected in the Outliner, the dimensions of your object are 2.4km by 1.35km by 2.509km:

So that might be an issue, since the viewport clipping ends at 1km. In any way, it is hard to believe you want an object multiple kilometers in size, so just press s followed by something like 0.001 to scale it down in order to be able to see it. Or you could also check the clipping one more time and this time set it to something appropriate for the enormous size of the object like 10 and 10000.

thanks a lot! it worked

If that works, please accept the answer for future visitors. How this site works: https://blender.stackexchange.com/tour @LokeshShanmuga