text:
Why the mesh get shrink with follow path
I have a mesh and a curve. Selected the mesh and curve, Ctrl+P to follow path. Why the mesh get shrink down its original size. (Note : I have attach my file in that i tried to set the origins of the mesh and curve at starting). I tried with the array on the curve same issue. Any suggestion or help.

Does this answer your question? How do I prevent object distortion when applying a curve modifier?

Your question was a bit misleading, you were using the follow path function, which is made for animation I suppose, when you were actually trying to duplicate your object along the curve without deformation.
Since 2.8, you can't use the Dupliframes method anymore, so here is another one:
Create a single vertex, give it an Array modifier with Constant Offset (not Relative Offset), give it a Curve modifier with the curve as Object:

Keep the single vertex object selected, go in the Properties panel > Object > Instancing and click on Vertices. Now select your pylon object and parent it to the vertex object, it should repeat like that (modify the pylon orientation if it's not good):

If you want the pylon to change its direction along the curve, choose a plane instead of a single vertex, and click on its Instancing > Faces insteand of Vertices.
Former answer:
You must have scaled your curve, because if you go into Edit mode you'll see in the N panel that its vertices have a Mean Radius of 0.239, you need to bring it back to 1. Now your object still rotates so make it rotate 90° on the X axis.

As per the steps above i followed. After adding array its going good as soon as i add curve the 1st mesh get flat from the base. And rotating on x 90 not working in edit or object mode . https://imgur.com/a/xC9z3oB and increase count of array got this result https://imgur.com/a/iLqRQGM

I thought you wanted your object to follow the path, which is supposed to be used for animation. If you want to array along a curve without deformation, do not use Array + Curve modifiers, use Instancing

anyway to make it follow on curve with array modifier

You need to give the Array and Curve modifiers to a plane, then select the plane and in Object Data > Instancing > Faces, then parent the object you want to duplicate to the plane.

@moonboots, maybe this https://blender.stackexchange.com/questions/5910/how-do-i-prevent-object-distortion-when-applying-a-curve-modifier (duplicate so...)

@ lemon, yes that's it, I've edited my post though (and gave the single vertex solution which may be useful)


text:
does the armature_to_mesh add-on work in blender 2.8?
the add-on is discussed here
Is it possible to render an armature?
best,
Mathias

Hi. Isn't this something you could very easily try? Have you tried it and experienced problems?

you are right, i see now that it says "upgrade to 2.8 required" when i find it under my add-on preferences. - apparently thats a simple message saying "the addon's bl_info version in init.py is not set to (2, 80, 0)" I tried adding it to the python script as explained in this forum:
https://github.com/MadMinstrel/blender-sculpt-tools/issues/9.
which allowed me to run the script, but it still doesn't work. I think any further changes to the script is out of my skillset right now.

source: Stack Exchange

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

sort: votes


text:
Pack rendered images into .blend?
I have a problem: I render images, and if Blender accidentally quits while performing some sort of operation, I lose my rendered data. (If only a single unsaved image).
I have external data > 'Pack all into .blend' enabled, but this does not pack rendered images into the file.
Is there a way to pack single rendered images into the .blend along with all of my already packed textures?
This would be extremely helpful, and would save a lot of render time!

Hello :). It seems Blender can't save the render result by itself. But you can save it as a Multilayer EXR, open in image editor and then pack.

It's also discussed here https://blender.stackexchange.com/q/18964/78972

If I am correct, you want to automatically save the rendered result so if Blender crashes you have the last known output.  Using composition you can save the output as follows:

This image, by default, will be called Image0001.png in your chosen path. If you really really really wanted to pack it in the Blender file I suppose you could create a non-rendered object that takes that image and then it should also be stored (not tested). However, I think just the automatic saving is probably what you are after.

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


text:
Baking particle system particles (not mantaflow) to a mesh object shape
Mantaflow in Blender has a function "Bake to mesh" which bakes the baked fluid particles to a fluid mesh.
Is there a way that I can create a particle system, and also bake the particles (not hair) to a mesh object too?
My ideal would be using fluid particle physics to simulate a fluid flow, then baking the particles to a mesh object so that it will actually look like fluid.
How can I do this?

If I remember correctly, there was an addon called cubesurfer to mesh a particle system.

Is it available for 2.79?


text:
Custom material preview object?
Like in this question, I am also talking about that material preview.
Is there a way to have custom material preview objects? In Blender 2.80 and before, there were a bunch of different objects not included in the material preview that are now in 2.81 and later. I.e. the shader ball, fluid material preview, etc.
Can I import objects like these, or other custom objects into Blender for material previews, or use a python script that does this? I really like the new material preview objects in 2.81, and would like to be able to see them in 2.79.


text:
How to undo only one specific action
Let's say I have an object that I am working on, and I want to undo one specific modifier that I have applied to it a while back. Is there a way to only undo that one specific action? This would be extremely helpful!

Does this answer your question? Blender 2.8 Undo History

No. That undoes the entire history after that. I'm looking to actually undo only one specific action. In fact, here's an example: I apply 2 subsurfs, and one mirror, and I want to unapply the first subsurf without unapplying the other one and the mirror.

Consider adding this to your q. Answer is no, undo list is the only option you have, all or nothing...

The power of modifiers lies in keeping them live, so you can non destructively tweak their actions. If you needlessly apply them you are trowing it all out the window.

I was giving an example, but point taken.

Actually not the case with boolean.


text:
Exporting animations for mutliple armatures not working as exptected

I'm trying to export an FBX file with 2 armatures and corresponding animations but the export file does not contain all animations from both armatures.

I have rigged some fps arms and and a gun. The wrist bone from the hand is attached to the gun bone with an child-of constraint.

The animations work fine in blender. I can switch between them and the animations plays.
When I export to an FBX file I expect 4 clips. 2 for the arm armature and 2 for the  gun armature.
This works perfectly when only having one animation.

But what I end up with is having 2 animations for the gun armature and only one animation for the arm armature.

As you can see only 3 animations instead of 4 get created.
I need to have separate animatons because I want to use the arms for multiple weapons.

I've read that there might be a bug regarding this.
Or do I need to check for something else?

I also faced the same issue but then I came up with a solution of joining the mesh and armature of the gun to the mesh and armature of the arms. All the animations were exported properly and there were no problems with the animations as well.


text:
Where is this image coming from?
If I create a new blender file, switch to "lookdev" view and apply the glass shader to an object, this happens:

Where is the image of the reflection coming from? It is a brand new file so it wasn't me who added it, I'm so confused.


text:
"Deform" metal in a thread-forming animation
I'm a Blender noob, hoping to use the tool to animate the type of fluid deformation that occurs when a tapping tool forms threads into metal.
I've found this inspirational video that closely replicates what I hope to achieve. Can you provide suggestions for how I might accomplish a similar look in Blender?

You will want to look after Shape Key Animation


text:
How to stop the baking in 2.8?
I pressed the bake button, but forgot to change the range of the frames.
In blender 2.79 I could press the x button near the baking process.
How can I stop the baking in 2.8?
thanks

ESC: Just press the Escape key.

Still works in 3.3. Thanks!

It is just the same, but now the loading bar is at the bottom.


text:
Assign UV map to each time frame of one moving object
Hello Blender Community,
I'm very new to Blender and I am trying to use Blender for visualizations of scientific data. Therefore, I visualized the data in Paraview and exported each time step as .ply-file. Using the Stop-motion-OBJ addon I am able to import all time steps into Blender. Then, according to https://blenderartists.org/t/rendering-a-video-of-point-clouds-imported-from-ply-files/533338 I obtain a video of point clouds from the said .ply-files. Afterwards, I used the CubeSurfer addon to mesh the points of my point cloud to an isosurface. Now, I want to assign a texture using the Poliigon Material Converter Addon to this mesh. However, I am encountering an issue regarding the UV maps. I need to assign an UV map to each frame of my generated mesh, since the mesh is changing over time. However, as soon as I've assigned an UV map to a frame of my video and jump to the next frame of the video in order to again assign an UV map, the UV map of the previous frame gets lost and hence I loose the texture of the previous frame. So my question is: How do I assign a UV map to each time frame of my object that is moving in time, in order to have a texture that moves with the moving object and appears during the whole movie?
Thank you for your help.

UV map creation is usually a manual process that can be tedious and time-consuming except for very simple shapes. A few questions/suggestions:

Why do you need UV maps? Could you use procedural textures instead?
The PLY file format supports per-vertex colors. Are you able to store color data on the vertices?


text:
How do i change like texture into animation
I am creating face texture. trying make him talking with textures animation but i dont know how to do it.

Hey there and welcome. Found this tutorial: How To Make 2D Eyes in Blender 2.8, maybe it can help you get an idea. Search for UV animation and you may find some more.

well i try the view you link but there is a problem it wont export into unity.

The question did not include any hint towards unity. But since there are no answers yet, it might be an idea to just use the edit function to adjust it and add unity as a target in your question. Questions should though be limited to 1 topic/problem to allow for a clear and focused answer. Thus i'd like to recommend to adjust the question to clearly state what your target/problem is. It's also a good idea to check out how to ask.


text:
Texture Paint window not showing any light
I have an object(chair) and light in my scene, everything works fine in object/edit mode. I can switch between display methods and the lights/color change accordingly. But when I click the chair and go into TexturePaint mode, there is no more light/shading. A metallic material will be pure black, an image texture will show all the colors completely flat.
Changing to Lookdev or Rendered Mode doesn't help either. Any idea why this is happening?
Thanks!

In case someone comes across this, I finally found the same problem asked before with an answer that solved it: blender 2.8 texture paint material mode not showing shaded object, just flat color is shown?


text:
Is there an alternative to Random per Island for EEVEE?
I am trying to find a way to have random values assigned to each tile so that I can add a variation to the material later.

Using the Geometry Node's Random per Island output works when using Cycles but it is a Cycles only feature as stated by the official documentation.
Is there a way to have an equivalent result in EEVEE?

Ideally each tile would be a separate object instance and you would use random per object instead

Besides Gorgious's answer, this would also be a good workaround. Surprisingly, I didn't even think about that. Thank you.

You can create a new random attribute per island using Geometry Nodes. Add a Geometry Nodes modifier to your object.
Use a Mesh Island node (specifically, the Island Index output) and a White Noise node. Plug the result output to the tree output.

You can alternatively use a Random value node and use the mesh island index to stabilize the ID. Then you can play with the seed to get a new random batch of values per island.

In the modifier tab, expand the Output Attributes and type in the name of the attribute. You can choose whatever you want but take care not to overshadow builtins like UVMap.

In the shader editor, use an Attribute node and type in the exact same attribute name (case sensitive).

Note that the mesh island indices are dependent on the mesh island with the lowest Z axis vertex. So it may not be consistent if you add mesh islands lowest than the lower part of your mesh.
Troubleshooting
There are shading artifacts when using the White Noise Texture in perspective mode. It's caused by the White Noise node in the shader editor but the Geometry Nodes solution still applies.

This setup should get rid of the artifacts and give random colors :

Or use a Math node set to Snap. I guess it comes from a floating point precision error.

This answer is gorgeous, no pun intended :D. Thank you very much.

Great answer. Makes me wonder why native random per island is not supported in EEVEE. Probably same old busy with other stuff.

@DuarteFarrajotaRamos Thank you ! I think I remember from a post it's because the information comes with very little cost in Cycles due to how the whole thing is streamlined when rendering, whereas it would have a computational hit with Eevee. I don't know for sure though and the technicals are beyond me, so don't quote me on that :)

just great answer +1


text:
How to add a LightProbe to the scene without using bpy.ops.object.lightprobe_add()?
I tried this, but it gives me an error:
data=bpy.data.lightprobes.new('IrradianceVolume')
bpy.data.objects.new('IrradianceVolume',data)

RuntimeError: Error: ID type 'LIGHT_PROBE' is not valid for an object
I want to avoid using the bpy.ops.object.lightprobe_add()
Has anyone found a way to do this?

You are on the right track
Check your version. The code below adds a lightprobe to the scene as expected.
Using python console
>>> D.lightprobes.new(
new()
BlendDataProbes.new(name, type)
Add a new probe to the main database

See the options for type by deliberately getting it wrong (Or consult the docs) Note somewhere between 2.80 and 2.83  type has been added to the BlendDataProbes.new(...)(current, currently 2.81) BlendDataProbes.new(...)(master currently 2.83) method.
>>> D.lightprobes.new("Some Name", 'SOMETYPE')
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
TypeError: BlendDataProbes.new(): error with argument 2, "type" -  enum "SOMETYPE" not found in ('CUBE', 'PLANAR', 'GRID')

Add a cube probe, link to a new object, link object to collection
>>> lp = D.lightprobes.new("LP", 'CUBE')
>>> foo = D.objects.new("Foo", lp)
>>> C.collection.objects.link(foo)
>>> foo
bpy.data.objects['Foo']

>>> foo.type
'LIGHT_PROBE'

>>> foo.data.type
'CUBEMAP'

>>> bpy.app.version
(2, 83, 1)

I find your example useful, but I did not understand correctly, is it possible to add a lightprobe in versions 2.81 without using an operator?

Works in later version than you have. Code above adds lightprobe same as using operator.  Just need the blender version where this is wired up.  @RobertGützkow is good at finding these from maniphest.

Thanks to your knowledge, therefore technically in the current official version there is no way apart from bpy.ops
So the question now is: This interesting answer of yours, at the moment I can get away with using bpy.ops (although I don't particularly like).
So if there are no solutions, I can also vote as the correct answer, because in a short time version 2.83 is released (I don't remember when).
Do you agree?

As mentioned not sure where it came in, not in yours in mine, but only aware since 2.83 (This question).  Could be in 2.82.  Up to you. If writing an addon using probes,  I'd upgrade.  . If needing code right now in 2.81, use the operator.


text:
How to Add driver to modifier SimpleDeform-angle by scipt python in blender 2.8
I create script , that script add object, now i create, a modifier , and i want to simulate “Swinging” but i can not understand how it can be done,does anyone know how I can do? :
bend = object.modifiers.new(name="bend", type='SIMPLE_DEFORM')
bend.deform_method = 'BEND'
###noob example:
bend.angle.driver_add("sin(frame/20)")

Consult docs or other questions on how to add a driver
Here is your "noob" code edited to add a driver. Select a mesh object and run script.
It so happens that the current context.scene.frame_current is known to the driver namespace as frame so no driver variable need be created.
import bpy
ob = bpy.context.object
bend = ob.modifiers.new(name="bend", type='SIMPLE_DEFORM')
bend.deform_method = 'BEND'

fcurve = bend.driver_add("angle")
driver = fcurve.driver
driver.expression = "sin(frame/20)"

Also remember that angles when scripting are natively in radians.  2 pi radians = 360 degrees.  So at frame 20 the angle of bend will be sine of 1 radian (or around 57 degrees.)  Use sin(radians(frame) / 20) if frame is expected as degrees.

scuse me batFinger, fcurve = bend.driver_add("angle"). and  for get("angle")? i try but give me error

bend.angle or getattr(bend, "angle")  From the driver try fcurve.evaluate(frame) but not sure if this will work as expected.

im not sure, i try to put getattr(bend, "angle") in a function with update, 1 function create modifier and driver, then , the funcion(update) make parameter, but not , work.I do not know if it is appropriate to open a new question

IMO It's appropriate.

'float' object has no attribute 'driver'. error


text:
How to hook 2 points of a Bézier on 2 different object?
I have a bezier already drawn and positioned, the ends coincide with 2 distinct objects.
Suppose it is cube1 and cube2, the objects are already in the scene, so I would like to link the points of the bezier (2 vertices only) first cube1 and then cube2
import bpy
cube1= bpy.data.objects['Cube1']
cube2= bpy.data.objects['Cube2']
bezier = bpy.data.objects['BezierCurve']

The example is to point out that the objects are already drawn in the correct position of the scene, I don't have to change anything, I just have to connect the bezier to these 2 objects

That can be something like this:
import bpy

cube1= bpy.data.objects['Cube1']
cube2= bpy.data.objects['Cube2']
bezier = bpy.data.objects['BezierCurve']

hook = bezier.modifiers.new( name = "Hook-" + cube1.name, type = 'HOOK' )
hook.object = cube1
hook.vertex_indices_set( [0, 1, 2] )

hook = bezier.modifiers.new( name = "Hook-" + cube2.name, type = 'HOOK' )
hook.object = cube2
hook.vertex_indices_set( [3, 4, 5] )

The tricky part is you have to indicate each element of the control points you want to hook. So the hook vertex indices are triplets.
I don't think you can hook control point handles individually, but that may depend of the curve type or the control points mode and have not tested all possibilities.

Thanks Lemon, it does exactly what I was asking, it wasn't very intuitive to me, now it's clear to my brain


text:
How to get if the image texture node material lost image path with python?
I was wondering if there was a way to get the simple information.
For example on the broadcast node in this case it has lost the image link, how can I get this information in python?
This is the classic situation:

I would like to understand how this information can be obtained through blender bees if possible.
And if there is also information about the path of the folder to the currently lost file

This could be useful, I should have found the method that checks the state of the images.
To check if the image in the node are "Purple":
import bpy

    ob = bpy.context.object
    mat=ob.active_material

        for n in mat.node_tree.nodes:
            if n.type=='TEX_IMAGE':
                img=n.image
        for i in bpy.data.images:
            if i == img:
                print(i.has_data)

    ###if your material are lost/purple return true

This will go directly to material the node, but you can check it directly in bpy.data.images
for i in bpy.data.images:
    if not i.has_data:
        print('Purple/lost image find: ' + i.name)
##print a list with lost image file

So I suppose this is my answer

According to the documentation, the has_data property tells whether the image data is loaded into memory. So using this would work if all images are previously loaded to memory. But generally, this has nothing to do with whether the image file has been packed to the current .blend file or not.
I would correct Noob Cat answer with the following code:
import bpy

ob = bpy.context.object
mat=ob.active_material

for n in mat.node_tree.nodes:
    if n.type=='TEX_IMAGE':
        img=n.image  # Already has type 'bpy.types.Image', so no need to access it via bpy.data.images[img.name]
        if img is not None and img.packed_file is None:
            print("Image %s is missing" % img.name)


text:
How set Hex in RGB Node? (Python)
Currently looking at the blender API I haven't seen anything of all about the Hex input.
This is frustrating me enough as it seems strange to me that there is no such input function (when Blender natively has it, where it is enough to simply copy and paste).
Now, the point of the situation is that all the scripts I tried, incorrectly convert Hex to RGB (Including some answers those present in other questions about blender.stackexchange).
Basically the conversion from Hex to RGB produces a Hex value different from the Input value, and this is not good, I need absolute precision on these Hex values
I see that it is gamma corrected, now, I don't know much about Hex, so I don't want to comment too much, but I just wish that what I get is the same thing I get by copying an Hex in the RGB node
The most beautiful thing would be to be able to directly input the Hex input value in the RGB node, that gives me exactly the result I want.

Possible duplicate of Properly convert Hex Color code to Blender RGB in python

@RayMairlot Thanks but the answer to that page is wrong, please check the answer of that question as it is incorrect as it provides values different from those needed to get the correct rgb

Hex values are interpreted in the sRGB color space, while Blender uses a linear RGB color space internally.  The conversion functions can be found on the sRGB Wikipedia page.  The hex channel values themselves (0-255) should be divided by 255 before application of the formulas.  A pure Python implementation looks like this:
def srgb_to_linearrgb(c):
    if   c < 0:       return 0
    elif c < 0.04045: return c/12.92
    else:             return ((c+0.055)/1.055)**2.4

def hex_to_rgb(h,alpha=1):
    r = (h & 0xff0000) >> 16
    g = (h & 0x00ff00) >> 8
    b = (h & 0x0000ff)
    return tuple([srgb_to_linearrgb(c/0xff) for c in (r,g,b)] + [alpha])

and using it like so:
bpy.data.materials["Material"].node_tree.nodes["RGB"].outputs[0].default_value = \
    hex_to_rgb(0x123456)

seems to work correctly.

Thanks a lot this is precisely what I wanted to get, this is the only answer at the moment on blender.stackexchange which returns correct values, like copying pastes in the RGB node under the heading Hex

Great script.
I also made a reverse script!
import bpy
def linearrgb_to_srgb(c):
    if c < 0:
        return 0
    elif c < 0.0031308:
        return 12.92 * c
    else:
        return 1.055 * (c ** (1/2.4)) - 0.055

def rgb_to_hex(r, g, b,a):
    r = int(linearrgb_to_srgb(r) * 255 + 0.5)
    g = int(linearrgb_to_srgb(g) * 255 + 0.5)
    b = int(linearrgb_to_srgb(b) * 255 + 0.5)
    return (r << 16) + (g << 8) + b

hex_color = rgb_to_hex(*bpy.context.object.material_slots[0].material.diffuse_color)
print(hex(hex_color))

Also created a script to output 8-bit RBG at the same time
import bpy
def linearrgb_to_srgb(c):
    if c < 0:
        return 0
    elif c < 0.0031308:
        return 12.92 * c
    else:
        return 1.055 * (c ** (1/2.4)) - 0.055

def rgb_to_rgb_ganma(r, g, b,a):
    r_value = int(linearrgb_to_srgb(r) * 255 + 0.5)
    g_value = int(linearrgb_to_srgb(g) * 255 + 0.5)
    b_value = int(linearrgb_to_srgb(b) * 255 + 0.5)
    r_normalized_value = int(linearrgb_to_srgb(r) * 255 + 0.5) / 255
    g_normalized_value = int(linearrgb_to_srgb(g) * 255 + 0.5) / 255
    b_normalized_value = int(linearrgb_to_srgb(b) * 255 + 0.5) / 255
    return (r_value,g_value,b_value), (r_normalized_value,g_normalized_value,b_normalized_value)

hex_color = rgb_to_rgb_ganma(*bpy.data.materials['Material_test'].node_tree.nodes["Principled BSDF"].inputs[0].default_value)
print('###0-0###mat name', bpy.context.object.material_slots[0].name)
print(hex_color)

Results in Console
###0-0###mat name Material_test
((230, 31, 0), (0.9019607843137255, 0.12156862745098039, 0.0))

'Material_test'
of the material name "'Material_test'".
'Principled BSDF'
of the material name 'Material_test' has been changed with reference to the gamma value.

Try to enter the colors manually displayed by other external software.
(0.9019607843137255, 0.12156862745098039, 0.0) input.
In this software, the input ranges from 0 to 1.

It actually turned out to be the same color, but just to be sure,
I'll check if the values are the same in the color picker.
No problem.
(230, 31, 0) value.
I'll check Blender just to be sure.

We see that the value is (230, 31, 0) without any problem.
I'll check with UNITY as well.

Let's set the shedder to UNIT for easy color picker.

Of course, but it is definitely a value of (230, 31, 0).
That is, the same as the color on Blender's color picker.


text:
Horrible AO Texture Bake
I am trying to bake the AO from a high poly model to a low poly one, however I keep getting a horrible looking texture, I have tried deleting other meshes that may be overlapping with the models but it still seems to be happening (My model is UV unwrapped properly).
I have also tried baking from AO directly and also plugging an AO node into diffuse and trying to bake that.

The Steps I have followed are:
1) Turn on ambient occlusion in the world tab.

2) Hook up an ambient occlusion node to the diffuse of high poly material

3) Create blank texture map
4) Select the High Res, then Low Res.
5) Select newly created texture.
6) Then Select 'Bake'

Is there something that I am missing, I did a similar process for my normal and cavity maps and it worked fine.

I am really struggling with this and would appreciate any ideas as to what I could do. Thanks in advance.

It turns out my issue was with some hidden geometry (the original sculpt).
The AO map came out looking as expected after this was hidden from the renderer.

Sorry if anyone was in the process of answering.

you should probably mark your answer as accepted, just to "close the case".


text:
How to get the length of an mp4 video inside a node?
Work with python in blender 2.8 , i try to find a command for get the lenght of an video inside at image node.
ob = bpy.context.active_object
nodes = ob.active_material.node_tree.nodes

    for n in nodes:
        if n.name == "Image Texture":
            if n.image:
                video = n.image
                ##print(video.lenght)##

The length of a video file is stored in the frame_duration property.
num_frames = n.image.frame_duration

If you wanted duration in time, divide the frames by the fps property.
seconds = num_frames / n.image.fps

Ty sambler, That's exactly what I was looking for

I think your script need to check if fn.lower().endswith('.mp4')

Ty Alexa, i have if statement now


text:
How to get pack project status
I was wondering if there was a way to get the status of the project, whether it's Packed or not in python, and in the case how to get that information, I checked the api but with little success.
Not have idea how to read current status by python Like to :
current project pack status get
About pack , unpack etc.

Related https://blender.stackexchange.com/questions/93412/detect-with-python-script-if-a-blend-file-is-packed-with-images

This is stored under the
bpy.data.use_autopack

value.
True: Autopack is enabled, False: Autopack is disabled.
Documentation is https://docs.blender.org/api/blender2.8/bpy.types.BlendData.html#bpy.types.BlendData.use_autopack


text:
Blender script Python check the rotation is change, or active
Hi im not a python master... im a really  noob.
Is possible determinate if a object rotation on pivot point and if false or true
assign a value for example 0-1 or 1-2?
i dont work  in game engine.

The following python script will iterate through the "areas" in the current window to find 3D views and print what the pivot point is set to.
import bpy

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        print(area.spaces[0].pivot_point)

One thing I have noticed is that if you change the pivot_point in one 3D view it changes in any other 3D views you have open.  This leads me to suspect that the information exists elsewhere in another data structure, but I have not figured out where.
See also How to set cursor location, pivot_point in script?


text:
Problem with return super().__getattribute__(attr) blender 2.8
That script make this problem:
 return super().getattribute(attr)
AttributeError: 'ParticleSystem' object has no attribute 'my_particle_settings'
i think is a good solution , about create a particle system with default setting, but not work.
i think , i create another function ? is a good o bad way?
import bpy
from bpy.props import  BoolProperty, PointerProperty
from bpy.types import PropertyGroup, Panel, Object

def emitter_update(self, context):

    toogle = self.my_particle_settings.emitter_hair
    part = self.particle_systems[0]
    settings = part.settings
    settings.type = 'EMITTER' if toogle else 'HAIR'

class MyParticleSettings(bpy.types.PropertyGroup):
    emitter_hair: BoolProperty(update = emitter_update)

class ParticleSystem(bpy.types.Operator):

    bl_idname = "object.particlesystem"
    bl_label = "Why"

    def execute(self,context):

        part_system = bpy.context.active_object
        part_system.modifiers.new('New Part sys', type='PARTICLE_SYSTEM')
        emitter_update(self, context)

        return{'FINISHED'}

class VIEW3D_PT_toggle_ps(Panel):
    """Test"""

    bl_label = "My Panel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "View"

    def draw(self, context):
        ob = context.object
        layout = self.layout

        layout.label(text="My new problem:")
        row = layout.row()
        row.scale_y = 1
        row.operator("object.particlesystem", text='Click')
        layout.prop(ob.my_particle_settings, 'emitter_hair',  text="Toggle")

classes = (MyParticleSettings,
        VIEW3D_PT_toggle_ps,ParticleSystem)

def register():
    for cls in classes:
        bpy.utils.register_class(cls)

    Object.my_particle_settings = PointerProperty(type=MyParticleSettings)

def unregister():
    for cls in reversed(classes):
        bpy.utils.unregister_class(cls)

if __name__ == "__main__":
    register()

Knowing one's self
You have called the following
emitter_update(self, context)

from the operator, where self is the operator instance passed as the self argument to the execute(self, context) method. Operators have no particle systems 8^). The update method expects self to be an Object type which has a particle settings attribute.
From within the operator use
emitter_update(context.object, context)


text:
Bug report Python script Mail is possible?
I compile little addon work fine but,
Question is: Is possible make "Report a bug" button in Addon preference link to my mail?

Wouldn't make it an email link.  Rather set up a github (or  other source hosting) account and link to the issues page.  github will send an email when a new issue is posted.

@ batFINGER i put in the "tracker_url" ( bl_info )  my mail with "mailto:someone@somemail.somedomain" (Credit @Ty Martin Z). Is not a good way?

import bpy

bl_info = {
    'name': 'Add-on',
    'category': 'User'
}

class MyAddonPreferences(bpy.types.AddonPreferences):
    bl_idname = __name__
    def draw(self, context):
        layout = self.layout
        col = layout.column()
        col.operator("wm.url_open", text="Report a Bug").url="mailto:someone@somemail.somedomain"

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

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

Set as the "tracker_url" member of the bl_info dictionary to generate the standard report bug button.

Ty Martin Z is good alternative, but i think batFiNGER is a better way because need only 1 line of python

Mailto link might not be a good design decision because a people use emails from web browsers and the links might not work if they don't have mail client set up. I think linking to GitHub is a better solution, but I tried to answer the question - this is how you would put it in the add-on's preferences.

@Andrea Not better, put in dictionary for the standard bug tracker button and as in MartinZ 's answer for a "Contact Me" button (eg)  (IMO not worth another answer for that point of difference MZ can edit into this one) Don't recommend using an email link to do this. (lol sidetracked  must have started this comment over 5 mins ago)


text:
How to populate UIList with all material slot in scene? 2.8
I make that script (Copy a piece from template UIList)
Now i can draw My box with inside the active object material but i want to populate that with all material in scene, i not undertand , how to.
Part of my script:
class MATERIAL_UL_extreme_matslot(bpy.types.UIList):

    def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
        ob = data
        slot = item
        ma = slot.material

        if self.layout_type in {'DEFAULT', 'COMPACT'}:
            if ma:
                layout.prop(ma, "name", text= "", emboss=False, icon_value=icon)
            else:
                layout.label(text="", translate=False, icon_value=icon)
                elif self.layout_type in {'GRID'}:

                    layout.alignment = 'CENTER'
                    layout.label(text="", icon_value=icon)

Then for draw in panel:
class MY_PT_Panel(bpy.types.Panel):

    bl_label = "My label"
    bl_idname = "MY_ID_NAME"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "My Category"
    def draw(self, context):

    def draw(self, context):

        obj = context.object
        layout = self.layout
        row = layout.row()
        row.template_list("MATERIAL_UL_extreme_matslot", "", obj, "material_slots", obj, "active_material_index")

Im not sure if that is the best solution because i want to select material slot from that UIList panel.

Scene.material_slots

If I understand question you want to display all the materials used by all the objects in the scene.  Every bpy.types.Object has a material slots collection, a scene does not.
Added a material slots collection to the scene.
Used an old fashioned python property to populate Scene.materials from the non None materials on the objects in the scene.
def get_scene_materials(self):
    return set(s.material for o in self.objects
            for s in o.material_slots if s.material
            )
bpy.types.Scene.materials = property(get_scene_materials)

To use a UIList AFAIK need the list to be a collection, the index to be an int property.
The scene material slots is not populated automatically. If the set of materials in scene, does not match those in material slots a toggle button appears to repopulate the slots.  There are a couple of ways to make this automatic, but AFAIC are not worth the overhead.
The property Scene.materials will always return a set of all materials on all objects in scene.
bl_info = {
    "name": "Scene Materials",
    "author": "batFINGER",
    "version": (1, 0),
    "blender": (2, 80, 0),
    "location": "View3D > UI > Scene",
    "description": "List All Materials in Scene",
    "warning": "",
    "doc_url": "https://blender.stackexchange.com/a/141207/15543",
    "category": "Materials",
}

import bpy
from bpy.types import PropertyGroup
from bpy.props import (
    CollectionProperty,
    IntProperty,
    BoolProperty,
    StringProperty,
    PointerProperty,
)

def get_update_materials(self):

    update = set(s.material for s in self.material_slots).symmetric_difference(self.materials)
    if update:
        set_update_materials(self, True)
    return False

def set_update_materials(self, value):
    if value:
        self.material_slots.clear() # update (or get) instead?
        for m in self.materials:
            s = self.material_slots.add()
            s.name = m.name
            s.material = m

def get_scene_materials(self):
    return set(s.material for o in self.objects
               for s in o.material_slots if s.material)

class SceneMaterialSlot(PropertyGroup):
    def get_name(self):
        return getattr(self.material, "name", "")
    material: PointerProperty(type=bpy.types.Material)
    #name : StringProperty(get=get_name)

class MATERIAL_UL_extreme_matslot(bpy.types.UIList):

    def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
        ob = data
        slot = item
        ma = slot.material

        if self.layout_type in {'DEFAULT', 'COMPACT'}:
            if ma:
                layout.prop(ma, "name", text="", emboss=False, icon_value=layout.icon(ma))

class SceneMaterialsPanel(bpy.types.Panel):

    bl_label = bl_info["name"]
    bl_idname = "SCENE_PT_materials"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "Scene"

    def draw(self, context):

        scn = context.scene
        layout = self.layout
        col = layout.column()
        if scn.update_materials:
            col.prop(scn, "update_materials", toggle=True, icon='FILE_REFRESH')
        col.template_list(
            "MATERIAL_UL_extreme_matslot",
            "",
            scn,
            "material_slots",
            scn,
            "active_material_index")

classes = (SceneMaterialSlot,
           MATERIAL_UL_extreme_matslot,
           SceneMaterialsPanel)

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
    bpy.types.Scene.materials = property(get_scene_materials)
    bpy.types.Scene.update_materials = BoolProperty(
        get=get_update_materials,
        set=set_update_materials,
        name="Update Scene Materials")
    bpy.types.Scene.active_material_index = IntProperty()
    bpy.types.Scene.material_slots = CollectionProperty(
        type=SceneMaterialSlot)

def unregister():
    for cls in reversed(classes):
        bpy.utils.unregister_class(cls)

    del bpy.types.Scene.active_material_index
    del bpy.types.Scene.material_slots

if __name__ == "__main__":
    register()

Edit.
Updated code to make it installable as an addon. (Add a filters to show only materials of selected / visible / etc objects in scene)
Related:
Your layout code was nuffed, see @p2or's fabulous answer to
Create an interface which is similar to the material list box
Notes:
Not sure how would correlate scene material index vs active object material index. Rather than using the list UI a more basic UI, with labels

    for m in scn.materials:
        col.label(text=m.name, icon_value=layout.icon(m))

or with operators could be considered.

This solution is fantastic ,I still find it hard to understand how it works, I suppose I can list anything like objects, modifiers, etc. ?

objects, materials are ideal since they need unique names.  Modifers not so.   btw I like where this is going in conjunction with  recent rgb answer...  If you need help with something in particular comment and I will elaborate.  Always try and answer with a running code snippet, which I think speaks for itself rather than filling with comments.  Comment over-bloat like # import the bpy module is....

Ty bat, is possible store bpy.types (In that script you put in register) but i think, i have a pointerproperty with Class propertygroup, but you use .self.materials etc. I didn't want to create too much confusion in the register, since I've already registered a Pointerproperty


text:
This menu from left doesnt work anymore, is always greyed out
I can't change segments or anything.
https://i.sstatic.net/UkURx.png
As soon when I create a UV sphere or cylinder the menu from left pops up but is already greyed out.

Activate Global Undo in the Preferences > System

That's it thank you so much.

If you start doing things like rotation or location, the settings won't be available anymore.
Note sure if it's your case here but maybe try to first create the cylinder with shift+A then go directly to the settings, do whatever you want there, and the only locate rotate or scale it.
Hope it will help


text:
Magic box, objects inside visible only through hole
I'm on Blender 2.8 and I want to create a special shader, which is harder than I thought.
I want to create a box, which contains more objects inside. The front face is a hole where we can see the inside. But I want the outside faces to be transparent, and make every objects inside transparents as well when the camera is in this axis.
On the pictures, the grey box is my main box where I want the transparent outside, opaque inside shader. The blue box is an object inside (that I actually see so my shader is not working) and the red one is kind of a background object.
So I want the red box not visible when seen through the inside of the main box and I want the blue box only visible through the hole of the main box but the red box still visible cause it's not an inside object of the main box.

Hope everything's clear, it's kind of a concept here.
Thanks for your help,
SHDWRCK

The shader is for the magic box or could it be for other object (as I don't think it's possible if other objects materials are not setup for this).

For the magic box, the material of the front face is a simple principled shader (the default one) and the material of the side faces is a simple transparent shader.
The material of the other cubes is the same (or at least they both have this structure), like shown in the picture:

(You probably want to disable the little cube's shadow)
So you get this:

if you want to make the internal faces opaque, your sides need to be solid (you can do it with a solidify modifier)

the outer sides are completely transparent, the front is a simple principled shader, in the internal faces you need to use this material:

If you want the red cube to be visible, just make it a simple principled shader.
Here is the final result:

NOTE: if you can still see a dark shadow of the blu cube through the lateral sides, you need to increase the transparency light bounces

NOTE 2: I think you should work a bit on the shadows and decide which objects should cast shadows and which shouldn't (for example right now the front face creates a shadow on the inner faces)

Hi @tareyes, thanks a lot for your answer. However, it's not entirely done, I need the red cube to be visible when we see the external faces of the magic box ! Is it possible with shading or do I need some compositing ? And if I need some compositing, how could I do (I'm noob with compositing stuff in Blender). And how could be the internal faces of the magic box opaque ?? Thanks a lot !!

For the red cube, its material is just a principled shader then. Or do you want it to be invisible when saw behind the internal faces of the magic box?

I updated the answer

Thank you soooo much !! It's exactly what I was searching for !


text:
Combining split parts causing brick-like texture issue
So, I split up a modified sphere shape for a collision mesh, I then copied & combined it all for the actual model only to find that it made the sphere look like it was made of glass bricks. It was meant to be a fully smooth glass sphere.

I'm hoping there is a way to fix this without needing to recreate the object as it took a while to align the collision mesh up in-game.

Your topology doesn't look right, the rings seem disconnected. Also by the looks of it you have flipped normals on some faces. Select all vertices and try SHIFT + N to recalculate the normals.

The normals are flipped because the sphere is supposed to be a room, the inside is where players be at. I did SHIFT + N and nothing changed unfortunately.
Everything seems to be perfectly connected as well, when clicking l in edit mode I notice the brick patterns are being highlighted, I just can't find a way to unlink it.

That's not what I meant, you have some faces that have distinctly darker shading then the ones next to them, which is usually an indicator for flipped normals (on that specific face).  You can also recalculate inside (SHIFT + CTRL + N). I suggest you re-create the mesh from a sphere, it's likely faster then fixing the broken topology.


text:
Pushing back part of extruded region after using knife tool
Is there an easy way of pushing back the faces on the left part on the screenshot (selected faces) to the place the original faces were extruded from? Result should be like the one the right side. The faces were originally extruded like the ones above before using the knife tool to cut out a triangle.

I normally either: extrude it down, which will be harder to get accurate to the same level as it's floor. Or you can delete these faces and edges, and simply create new vertices and edges at the floor level to get the same result.

I had hoped there would be an easier way, as I most likely have to do this very often.

Try the Destructive Extrude addon, demo here, download here.
Once activated select your face(s) and altE > Destructive Extrude.


text:
Problem with vertices and unwanted addition of adjacent faces
I have had this happen before and am not sure how to fix it. Here are the events:
1. Model an object.
2. Select a row of faces that circumvent the entire (cube) object.
3. Create a vertex group.
4. Assign the vertices to the group.
My problem is that sometimes, not always, adjacent faces are automatically included in the vertex group. It seems to occur most often when I have assigned a similar vertex group to faces one row (or column I suppose) away from the vertices I want included in the group. Thanks ahead for any suggestions.

If you mean saving to vertex group using faces' bounds then related (https://blender.stackexchange.com/questions/51296/is-there-a-way-to-save-selection-by-faces)

This answered my question completely. Thank you.


text:
Box Selection: Repeating selection
Blender 2.8.
Edit Mode
I press the B key and drag out a particular selection. I want to repeat that exact size box selection on another portion of the mesh. How would I go about this? I have a fairly dense mesh and I want to avoid actually counting the box selected faces in order to repeat the same size selection on another part of my model.

Select > Mirror Selection
but this only works if your model is symmetrical
otherwise I don't know an easy way to repeat same size selection


text:
Extruding two sides at 90° angle
What would you say is the easiest way of extruding the two faces at the first screen so that the model ends up looking like the second?

In these situations I like to delete the edge and use F2 add-on for reconstructing the geometry(F2 comes with Blender and just needs to be activated in the Preferences). I have it enabled anyway for modeling and this process is quite pleasant because of the simplicity of it - only pressing f a few times:

Maybe you can do it with the Push/Pull addon, demo here, addon here. Other than that I'm not sure there is any easy way to do, so I would do this:

Enable the Snap option (Vertex mode).
Extrude the vertical face until it snaps.
Remove the doubles.
Delete the inner face.

Bevel the edge in the middle with 2 segments and profile 0, then move the vertex on the side back in place.

Very creative way of doing it, but wouldn't that create three n-gons on the opposite side? Maybe I'm misunderstanding.

This can be avoided if you dissolve the faces first

Gonna take my best guess by saying you should extrude along normals with ALT+E
Edit: this screenshots doesn't make a lot of sense, please try to be more descriptive.

I'm basically trying to fill in the volume between the two faces. I hope that clarifies it.

This is using Blender 2.8 under Windows:

Select the 'Edge' option in the Snap dropdown, but don't enable snapping. Select the vertical back face as shown. Place the mouse cursor over the edge indicated then press 'E' 'X'. Press the CTRL key which will extrude the face to the front edge and click the left mouse button. Select all with the 'A' key, CTRL 'M' to bring up the Merge menu and merge By Distance.
 Sounds long-winded, but only takes a few seconds.

On reflection you don't actually need to use the 'X' after 'E' as the extrusion will be in the correct direction anyway. Also the Merge menu is ALT M not CTRL M in 2.8! :^(

Doesn't this create an interior face, though?

Very neat, but as Robin say, it does in fact create an interior face.

True. As Moonboots says in his description, delete the face after merging the doubles. Easy enough to do in wireframe mode.


text:
Rotating an edge around another without stretching edges
How do I go about rotating an edge around another while keeping all edge lengths the same?
On the included screenshot, I'd like to move the orange edge freely around the white edge without any edges changing lengths. So, the white edge should simply be the pivot.

put the 3D cursor on the white edge and choose the 3D cursor as pivot point?

I should clarify that I only want the orange edge to move. If I put the cursor on the white and rotate with cursor as pivot, the white edge moves upwards.

It shouldn't. On which axis are you rotating ?

In the Pivot Point menu, select Active Element, then do the rotation (around the Y axis in this case, so R/Y)
The Active Element is the last selected element, it appears in white instead of yellow.

Amazing, it works! I tried using the menu that pops up at the bottom of the screen after doing a rotate, but there was no "Active Element" there. Maybe they should do something about that. Glad you knew where it was actually located.

I'm glad that works for you! Moonboot's comment should work too. Anyway, I don't think the Pivot Point should be an Operator setting ("the menu that pops up") as you suggest, because it's relevant which mindset you're in, not which tool you're in. But maybe it's just me ;)


text:
How to create wire between objects
I have the following:

It contains two cube-like shapes, two sockets and a wire running between them (the curved one). The wire uses an array modifier and follows a nurbsPath. This is extremely difficult to adjust and I doubt it's the optimal way of doing it. I would like to accomplish:

Have the wire connected to both sockets, so that moving any of them will automatically move and curve the wire.

2 Be able to rig and animate the curve between the cubes (the cylinder between them), and have the wire curve organically adapt.
3 If possible, have gravity and collision physics on the wire.
Is this possible? I appreciate all the help I can get!

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

@Duarte But this wouldn't work with the wire pointing upwards at the connected part like in the image, right?

@qtjCH5pLao6 Do you want to rig the wire with controler or have it simulate? I'm nt sure how both should work simultaneously...

@Leander it might work with some hooks, I haven't tested if vertex weights work

actually I think Spline IK will give what you want, I will try an explanation

I'd like to rig the cubes together and have the wire behave naturally with gravity. Simulation is not necessarily a must, if difficult to accomplish.

This isn't hard to do with the setup you already had, with all of your goals and limits, and what you have shouldn't be difficult to adjust-- maybe you'll understand better how to adjust things after reading this and working with it a bit.
From left to right: unposed; posed; posed with physics:

The hose is an arrayed object, curve deformed by a 3-handle bezier curve (although a NURBS should work if you'd prefer), parented to the outlet.  The curve has stretch and bounds clamp enabled, and is parented to the same outlet.  (This is important because for curve modifiers to work well, the first handle needs to be in the same location as the curve origin, so we don't want our first handle sliding about.)
The second and third handles are hooked (no falloff) to empties.  For the third handle, this empty hook is then parented to our other outlet (inlet?)  The empty in this case is optional, you could hook directly to the mesh object.
This gives you a structure where the hose follows both of its connection points, and gives an additional center point for you to animate yourself.
What about physics?  Curves actually have a very good softbody implementation that allows for guidable physics.  Start by setting the weight of both end controls of your curve to 1.0.  (You can do this in the item tab of the sidebar while in edit mode with one or more controls selected.)  Then, give the curve a softbody modifier.  Finally, set your curve's physics settings appropriately-- you'll definitely want a goal default of 1.0, and you will probably want a goal Min of something larger than 0.  Hit your timeline's play button and try it out-- and try move the central hook empty while playing.
Note that while this gives you physics on the curve, it doesn't give you collision-- your actual curve is just a line.  You can disable rendering on the curve object and give it a bevel to create an actual surface to the curve for it to collide.
You could also skip the softbody physics and use rigid body physics, parenting your central empty to a rigid body (itself appropriately constrained to passive/animated rigid bodies).
With physics, you may see some inappropriate deformation of the tube.  Dealing with that is somewhat out of scope for this question, and dealt with elsewhere on Stack Exchange, but one way to handle it would be create a spline IK armature or a skin-modifier created armature for your curve and use that instead of a curve modifier to deform your tube.  This isn't as adjustable, though, as armatures don't have the same tools for non-destructive editing as curves do.
Edit: you can't give it a bevel to give it collision.  It will only ever collide with the verts on the curve.  To give it depth, you will instead have to scale up any collision meshes that might collide with it.

that's a great way of doing it, +1!

I get the issue where the wire (arrayed object) moves away from the bezier curve when dragging the outlet. The curve stays at the correct position after parenting, though.

@qtjCH5pLao6 The wire and the curve both need to have the same transform (just alt-r alt-g alt-s on both of them if they don't), with origins at appropriate positions (first handle of the curve, leftmost face of the mesh), with origins at identical world space positions, and both need to be parented to the same outlet object.  Do not parent the mesh to the curve.  But that's a "How to use a curve deform modifier without bugs" question.

Probably best to ask that somewhere else, yes. Thank you for the answer above. Very creative. Have to fiddle with it a bit, but I'll comment if I get into trouble.

I gave the curve a bevel, but it still doesn't care about collisions. However, if I disable goal, it works, but then the curve is all over the place and not attached to the outlets. Any idea about what I'm doing wrong?

@qtCH5pLao6 Just that soft body collision is inherently poor, relies of mesh colliders which are inherently poor, relies on vertex collision only by default which is inherently poor.  Read the manual on soft body collision.

Oh, well. Learned something new today. Luckily poor soft body physics is not the end of the world.

@Nathan can you post the example blend file?


text:
Animate collection instance (material) independently?
I have an object collection (let's call it a Red Cube for simplicity) which has a "blinking" animation (via emission material + keyframed mix shader).
Now, I want to create several instances of that collection, and be able to have a different animation timing for each instance.
For example, one might blink for a second every 5 seconds, another one blink twice every 10s, etc.
Is there any way I can accomplish this, without having to create a new material (and object using it, and collection...) for each new light pattern I want to create?
Ideally (at least, in my mind) there  would be a way to attach some kind of "argument" to an instance, describing how the light should behave -- that can be used by the material to control the animation, if that makes any sense..?
Model:

Material:

You can use the "Object Index" property.

https://blender.stackexchange.com/q/8045/30849

Sure.  Check it out:

There are a number of different ways to identify exactly which emitters you want behaving this way or that, but I think that using UV is the easiest, particularly with 2.8 improvements.  Here, I'm using the UV.x position of each object, which has been shrunk to 0 with individual origins pivot, to decide what period to use for the sine wave that I'm using to drive emissions.  Everything is driven from a single value node, where I just entered #frame to get my current frame count.
You can use something other than UV to identify which objects you want behaving which way, like object ID or position or vertex color.  I just find UV easy to use and flexible.  If you're using UV already, just create a new UV map; but if you're using linked objects, you'll need to use a different identifier.

Thanks @Nathan, yeah the problem mostly boils down to: "what can I add to a linked object to make it behave differently". I tried custom properties + driver, etc. but it seems you can only affect the collection instance, which is not accessible from the material nodes...

What I'm looking for, I guess, is something like Unity "prefabs", which allow getting some configuration from instance variables.. I wonder if there's anything similar to that in Blender?

@redShadow I'm sorry, I didn't read you question well enough.  There are a few ways you can do that-- as Leander offered, you can use object ID as your seed instead of UV, although that's a little more difficult to tune.  Another way to do this is to give all of your instanced objects a data transfer modifier to copy UV from a non-rendering object, which lets you tune via UV (on your other object), but that might not work well if you want to do object-level transformations on your instanced emitters.

The best way to do this - use Object Color.

In instances, material uses Object Color of instance, that makes easy way to control material from Instance level.


text:
Texture don't seem to match source:
This is a purchased, imported .obj with its material/textures. Can't find a way to apply the textures although they appear on the menu. This is probably elementary but can't find an answer. Thanks!

So your question is how to apply a texture to a material?

Do you want to render with Blender Render engine? It's not the best choice.

Thanks for your answers. I would like to try with internal first, if it's possible, before playing with the nodes. And this is the best I now get... Guess it's a little better.


text:
Camera skews objects when they’re near the outside of the frame
Im very new to blender, so sorry if this is a stupid question. I’m following a tutorial of modeling a room, and I’m using a background image inside of the camera to help me place my objects. I noticed that when I moved an object to the edge of the camera frame, it becomes skewed somewhat diagonally, and it messes up the perspective of the room. When I move the object back to the center of the frame, it looks parallel with everything else again. This problem also appears in renders. I didn’t see this problem in the tutorial, though the person was using an older version of blender. I’m not sure if this is a bug, a setting, or if it’s just normal. I’m out of ideas at this point, and would really appreciate some help. Thanks!

It would help if you posted a screenshot of the camera settings!

if you use a camera the lines will distort according to the perspective, if you want to have a perfectly orthographic view you need to either use the 3D view in orthographic mode or create a camera and in the Properties panel (on the right by default) > Camera > Lens > Type, choose Orthographic instead of Perspective


text:
Why are my textures being applied to objects that aren’t selected?
I’m trying to add an image texture on a certain object, but when I connect the image texture node to the principled shaded node, other objects in my scene are having the texture being applied to them as well. I made sure my object was UV unwrapped, I tried separating the object by selection, and I just can’t seem to figure out what’s causing this to happen. It’s almost like Blender thinks those objects are part of the same node group. I’m rather new to Blender, so I’m not sure if this is a simple fix or not. Some help would be greatly appreciated!

I think all the objects have the same material, if yu add an object to the scene and instead of assigning new material sharing same material will result in this case
Or
Duplicating objects with ctrl + d instead of shift + d will also cause the same thing.

Is there anyway to remedy this? Or will I have to remake all of my objects?

Try to apply new materials for other objects.


text:
My blender render is glitching and showing basically nothing
I've been using blender for about two weeks now and I've rendered a few images with no problems but for some reason this project won't cooperate, I tried all the tips I could find with my own searching but I feel like I'm probably missing something that I have no knowledge about due to being a beginner and I have no idea what I'm doing wrong.
I've attached a photo of my viewport vs the render that come out of it, any help would be appreciated, thank you in advance.

Nevermind, found the solution
I was using a sphere as an emmiter for the particles system and the render is just showing a super close up sphere, i had to uncheck "show emitter"
in particle properties > Render > Show Emitter

Hi and Welcome! Consider to convert your comment into an answer. How this site works: https://blender.stackexchange.com/tour


text:
Cannot save customized blender interface theme .xml
I have blender 2.83.1 installed via Steam, and i have 2.90 alpha downloaded from blender.org
I've saved and customized interface themes in the past, and i followed the steps listed everywhere which are
edit > preferences > themes
tweak the values to your liking
hit the + button
name your theme
and it SHOULD appear in:  /2.xx/scripts/presets/interface_theme
but my new theme isn't there
it only shows blender_dark.xml and blender_light.xml (which also doesn't make sense since many more preinstalled themes have been added)
i customized the looks of blender on my desktop to my liking and i want to be able to send that same theme to my laptop
any help would be appreciated, i can't seem to find an answer anywhere and this is very confusing since I've done this in the past with no issue but now it no longer works for me, thank you in advance

of course i found the solution right after posting a question...
it's in the configuration file or directory apparently
you have to go to:
C:/Users/Your User Name/AppData/Roaming/Blender Foundation/Blender/2.xx/scripts/presets/interface_theme
and the .xml files for your created themes will be there


text:
Harsh zooming after large object import
I imported a large .obj object into blender, and it was way too big so I scaled it down, but ever since I imported the object the zooming and the pan view and rotate view are very harsh.(they zoom too much and too radically)

edit - prefrences - navigation - auto depth

Hi. I think some explanation of why this is the answer would help.


text:
Odd "Darkening" Of Faces
I'm working on a project for school, where I need to make a 3D model of a castle. I have the castle's basic details pretty much complete now, but I've noticed there are weird shadowy bits/faces that are darker than others.
Here's an example of what I mean:

I've also tried recalculating the normals, the previous image above was with Normals recalculated outside, here's an example with them recalculated inside, the problem still persists:

What method did you use to texture the castle? Did you use texture painting, or did you individually texture the vertices? Also, I see that you are using Eevee render. Try using cycles render with something like a sun or hemisphere lamp pointed to the dark areas.

You may want to add an extra lamp unless the darkening is caused by the texture, in which case you should check the texturing for overlapping faces, or vertices.

I used Poliigon, and found textures. I assigned materials to the entire faces.
And ok, I'll try using Cycles render.
Ok, so rendering with Cycles almost seems to be making it worse.
Like, the effect is amplified.

Ok, I'll try that. I'm pretty sure there aren't any overlapping faces or anything, as I tried deleting the faces of one of the worst/ mostly-affected areas, and it didn't have anything behind it, and I don't see any z-fighting just rotating around the model and whatnot.

Ok, it also seems as if applying Shade Flat to it fixes the problem, like, maybe 95% is gone, however, as soon as I choose Shade Smooth, (which is what I had it set to before), it has the shading problem.

Add a couple sub-surfaces, and you shouldn't need to add smooth shading.

Ok, thanks! I'll do that right now.


text:
Map a Shape Key to Be from 0 to 1?
I'm trying to make shape keys for a mesh. I had them set so that there were negative values (less than 0 for min range) and positive values greater than 1 (greater than one for max range). For example. I have a shape key that shears a face backwards by -3, or forwards by 2.
Is there a way to map the -3 shape key position to 0, and the 2 shape key position to 1?
Thanks.

You can change the 2 to 1 by editing the keyed mesh. To change -3 to 0, you will have to edit the base mesh, which might cause other shape keys to distort. I would recommend using a custom property to drive the shape key value. You can map the driver value from [0,1] to [-3,2] either using F-curves or python expression

https://blender.stackexchange.com/q/261433/90505

How to Remap Two Shape Keys to a Range of 0 to 1
You can duplicate your object and make sure each of your two objects has the shape key value you want. The first is to be your 0 position, and the duplicate is to be your 1 position.
The following steps include destructive edits. Saving your .blend file before proceeding is advised.
For each object, from the Shape Keys menu's V-shaped drop-down button, select New Shape From Mix. This will result in a new shape key being generated. Delete all other shape keys for the object except this newly created one. Then lastly, delete this one too, so that there are no more shape keys.
Select your duplicated object, then shift-select your original object.
From that same drop-down button, choose Join as Shapes

Note that in order for Join as Shapes to work, the two objects must have matching vertex indices. This means you cannot add or remove vertices before joining. Only the vertex positions should be altered.
Your original object will now have both a Basis shape key and a shape key named after the duplicate object. (You can double-click a shape key's name to rename it if you wish.) Dragging the Value slider for the duplicate object to 1 will bring it to the other shape you want.
In this way, you will end up with a range of deformation that encompasses a "negative" shape, a "positive" shape, and a neutral shape somewhere in between.

The animation above illustrates a transition between a negative position and positive position. In this case, the neutral position is precisely in the middle at 0.5 on the Value slider.
For more about Shape Keys, see the Blender Manual.

I found out a way to do this:

Make sure all other shape keys are set to 0.
Select entire mesh, and Basis shape key, and do Vertex>Blend From Shape>[Insert name of shape key you want to fix here], and set the Blend to the minimum value. Make sure "Add" is checked.
Make sure all other shape keys are set to 0.
Set the shape key you want to fix to it's max value, then under the arrow dropdown, choose New Shape From Mix.

Thanks for the other answers! I did not see these until now when I have found this solution.


text:
Coral Growth Animation
I have a photoscan of a coral (existing mesh) which I would like to grow from a smaller version (almost nothing) to the exisiting scan.
It's for my graduate film and it needs to be composited in real life underwater footage (using blackmagic fusion).
See the attached picture.
My Questions:

Do you have any suggestions for modifiers/tutorials I could use? Shapekeys was also a consideration.....
I would like to use a boolean modifier to let the white spikey corals on the left side grow from almost nothing to the full thing.
Any way I can export the boolean operation as alembic??? So that my compositing software can open it?

Thanks for any inspiration or input!!


text:
Blender 2.8 Objects move when Export to Unity
I'm hoping I don't have to start over, but I am pretty new to blender and I am not sure if I set up the rig correctly. I have been unable to find a solution, or the proper set up for objects that move based on an IK arm in Unity. I tried baking the animations but that did not work either. Any ideas how I can fix this? Thanks.

the local transforms are not 0
apply the local transforms.
you can do that in unity of blender.
in blender just use alt + r for zeroing rotation (or alt +g for move and alt+s for scale)
if you need to apply them use ctrl + a and select accordingly.
you might need to adjust your transform after doing so, so I recommend using some placeholders first.

Thanks, This worked in Unity. How can I set up the rig to avoid this in Blender, because I was not able to get it to work from Blender to Unity. Do I animate first, than Zero out? Do I zero out before animating?

make sure everything is zeroed in blender.
also there are options in export and import. make sure the both are correctly set and in unity set them up correctly

I zeroed everything and it still moves when importing to unity. Best place to find the options online? Videos I see just bring in the blender file and it works, so I'm not sure what the issue is.

Edit: I found that everything has to be done in the rest position first before animating. Thanks.

You need to export in your T pose or your rest pose, should be found in blender on your first IK animation frame.


text:
How to pick an object before operator execution? (object picker/pointer ux?)
I have an operator that needs an object in order to work,
but here's the trick, it is required to use some sort of picker GUI in order to select the object first before execution() (instead of using the more traditional bpy.context.selection or active)
It is for creating a paint bucket tool or something similar
Note that blender does have such "pick before execute" behavior by default, for example you can use
def invoke(self, context, event):
    context.window_manager.fileselect_add(self)
    return {'RUNNING_MODAL'}

to select a filepath before execution, well I want to do exactly the same thing but with a bpy.props.PointerProperty(type=bpy.types.Object) instead of a filepath
unfortunately I didn't find any function similar to fileselect_add(), I was hoping for something like objectselect_add() sadfly it does not exists, does he?
so now I'm stuck as I don't have any picker method at my disposal
I suppose I need to go modal?
i don't have any modal experience, is there a similar project I can take a look at?

Linked question
https://blender.stackexchange.com/questions/213782/object-picker-modal-operator

Update method on pointer property

Not sure if this is a bit of an XY Problem
In as much as agree that invoking the filebrowser is a way to select the filepath before executing the operator  it is generally displaying other options (often for import export) while it runs modally.
To simply select a filepath before running could achieve same with
def foo(self, context):
    bpy.ops.export_scene.foo(filepath=self.filepath)

Foo.filepath = StringProperty(subtype='FILE_PATH`, update=foo)

So similarly, can "do your thang" when the object is selected via the eyedropper.
Object selection box with eyedropper
import bpy
from bpy.props import PointerProperty

def poll(self, obj):
    return obj.type == 'MESH'

def update(self, context):
    # self is scene (or self.id_data if in prop group)
    ob = self.prop
    if ob is not None:
        print(f"Run operator or do something to {ob.name}")
        self.prop = None # reset?

class TEST_PT_layout_panel(bpy.types.Panel):
    bl_label = "Prop Panels"
    bl_category = "Test Panel"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

    def draw(self, context):
        scene = context.scene
        layout = self.layout

        col = layout.column()
        col.prop(scene, "prop")

def register():
    bpy.types.Scene.prop = PointerProperty(
            type=bpy.types.Object,
            poll=poll,
            update=update)
    bpy.utils.register_class(TEST_PT_layout_panel)

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

if __name__ == "__main__":
    register()

Note: have reset the pointer to none after each pick for way of example. Will prompt the "No value set warning in UI.


text:
How to manipulate particle-hair position/rotation/scale with python?
how do we manipulate a hair particle in bpy ?
there's many basic individual properties i'd like to manipulate with python.
mainly hair position, rotation, scale and a way to delete some ? or make some invisible ? i'm not sure what's possible to do ?

here i have my suzanne with some hairs
let say that i want to replace thoses hairs by a custom matrix of mine:
hair_matrix = #xyz location, xyz rotation, scale
[
  [[0,0,0],[1,1,1],[1]],
  [[1,0,0],[1,1,1],[1]],
  [[2,2,2],[1,1,1],[1]],
  [[3,3,3],[1,1,1],[1]],
  [[4,4,4],[1,1,1],[1]],
  [[5,5,5],[1,1,1],[1]],
  [[6,6,6],[1,1,1],[1]],
  [[7,7,7],[1,1,1],[1]],
  [[8,8,8],[1,1,1],[1]],
  [[9,9,9],[1,1,1],[1]],
]

is there a fast access to a hair matrix like so? or i will need to do my own function and assign individually position, rotation and scale ? i suppose there's a foreach_get/set i could use ? i'm not sure where i need to find the properties. i saw that there's some weird despgraph manipulation to do. the data seem a bit hidden but i may be wrong ?
also, let say that i'd like to delete/hide particles located above 50cm in Z height position, possible to do so ?

https://blender.stackexchange.com/questions/142741/how-do-i-programmatically-set-hair-position-and-shape-in-blender-2-8


text:
Wierd shading of nomals
Ok I have no idea what is happening here. The back side of my faces shine through the face in front. I activated "show face normals" so it is better to see. First I thought my typology is mto bad, but it even shows up on a simple cube.I may change something I'm not aware of...
I would appreciate your help.

Looks like Z fighting. Check for duplicate objects in the Outliner.

That was not the case. : (I've hidden everything except 1 object, the closer the view, the less artefacts I get.

can you upload the .blend so we can have a look at it https://blend-exchange.giantcowfilms.com/

The File is to big. And as it seems it is shredded. objects are not showing up after unhiding them.

Can you remove objects and materials and anything else making the file large so only the issue remains and then upload that?

I deleted most of the objects that's what is left.

Disable the Solidifier Modifer on the Gehäuse2. Looks like the modifier was creating Z-Fighting faces.

that is dooing the trick but if I zoom out problems still accur. And as shown in the screen even a fresh added cube gets the problem. I would assume my file is corruped :/

I see what you mean. Maybe start a new file and import everything in one by one until you hit the problematic item.

Seems like it has something to do with the MatCap lighting. Studio is working way better.

Just in case someone gets the same problem. I've got the reason and solution.
The shading issue is caused by a very low clip start value of the viewport while beeing zoomed out. Sub-D and Solidify making it even worse.
So nothing crashed just keep the setting high enough if you want to zoom out^^


text:
GPU along with CPU rendering performance
Blender 2.8 has a user preference of using GPU and CPU simultaneously during rendering. So, when a scene is getting rendered using this preference and 4 threads:

Is it true that during the beginning of render, GPU renders 1 tile and CPU cores render 3 tiles?
And also, suppose that near the end of render, 4 tiles remain to render. GPU starts rendering a tile and CPU cores start rendering remaining 3. As GPU would finish its tile faster than CPU cores, will it become idle while CPU cores slowly finish their tiles? Or will it take control of another tile from a CPU core to finish rendering faster?

Hello :). This sounds like an interesting question. You can easily test it yourself. Just  create a render with 4 tiles, and open your Task Manager (or Activity Monitor) and you'll see if your GPU becomes idle near the end. In the render window you can see how many tiles are currently rendering (they have orange corners).

Hi I tested part 2 by rendering BMW scene at 256240 with tile size 128180 and according to MSI Afterburner, GPU usage becomes 0% while CPU cores render remaining 3 tiles slowly. What about part 1?

I believe you just answered both parts yourself :). It seems all 4 tiles are rendered at once, with GPU being faster than CPU. The GPU can only render 1 tile at a time, which means 3 tiles are rendered by CPU. Post it as an answer an I'll give you +1.

I have tested this by rendering BMW scene at 256*240 (with tile size 128*180). So:
 1. It is true that during the beginning of render, GPU renders 1 tile and CPU cores render 3 tiles according to MSI Afterburner, which shows 99% GPU usage.
 2. Near the end of render, GPU usage becomes 0% while CPU cores render remaining 3 tiles slowly.

Yes it is true the GPU will only render one tile, but each core of your CPU will render a individual tile, so if you have a 4 cored CPU it will render 4 tiles simultaneously and your GPU another one, so it will be 5 tiles at the same time and the GPU tile probably will render a lot faster.
I noticed once a tile begins to be rendered with the CPU it will stay as a CPU tile till it finished the to render the tile. So if you are at the end of the render the CPU tiles will stay for a while. It is faster to render with GPU and CPU if you have a good CPU compared to your GPU. But if you have a very powerfull GPU and a very weak CPU stick to GPU render because your GPU can render all the tiles before you GPU render the last tiles, but i really think this is probable.

Actually its not 5 tiles at the same time. GPU renders a single tile and 1 CPU core does not render any tile.


text:
Keyframe animation is lost at FBX export
I have a short keyframe stop motion animation with a couple of objects. Some have a parent-child relation.
In Blender it plays just fine, but when I export it to FBX, (and reimport it to Blender) some animations are missing and the parent's animation is duplicated to the child objects animations, so the child anims are lost.
I didn't use any bones, since the animations are all just rotations on local and custom transformation orientations.
Any help is appreciated!
Cheers

OK, I've realized I have to bake the animations, so that solved.
But now I have the children of the parent object all over the place in FBX.


text:
How to control Instances' size and rotation along curve?
I have this curve in geometry nodes. I have the triangles along the curve in random positions.

I'd like the instances to be aligned on the mesh normals with their Z axis.
I also would like the instances Z-axis rotation (the base of all the triangles)
to be aligned parallel along the curve's longitudinal axis.
I'd like the size of the triangles to change along the curve (bigger where the curve is thick and smaller where the curve is thin)
As a bonus is it possible to have them not to collide with each other? With ray-cast
perhaps?

Tried with ChatGPT but it keeps on giving me crazy solutions. :/
Greatly appreciate your help!

Does this answer your question? https://blender.stackexchange.com/questions/271052

@quellenform Thx! I copied the one in the other post, the instances are perfectly aligned, but now I face 2 problems:

@quellenform The curve's thickness can't be modified in GN and the random rotation (tilt) of the instances along the curve's axis is also missing.


text:
How to connect separate bones into one armature without moving them? (not parenting)
I have 3 bones in very specific locations, and I want to connect them.
Is there a way to connect them with additional bones without moving the positions of the original ones?
Thanks!

Select the head and the tail you want to connect and press F.

OMG. Thanks. I couldn't fathom that it could be that simple :D


text:
How to set mesh to the particles? (Not converting)
I'm trying to make basic explosion. I used quick explode effect and then done some stuff with particles settings etc. to make it better but I can't figure out how to set the right mesh collision to my particles. I can see they land on the plane as halo particles (as you can see it on screenshot) not as mesh gained from explode modifier. I was searching quite long everywhere and didnt find any solution. They don't collide aswell but that's clear since rigidbody world sees them only as particles, not mesh. (They also don't rotate - also clear) To summ up I just want to make them fall and land like a real pieces of the icosphere. Thanks in advance! PS. I don't want to use Cell Fracture.

I haven't time to answer everything here and am talking vers 2.77, but it should be similar in 2.8+. To collide with the ground - In the ground plane's physics, tick the 'collision' button.
In the particle settings (ICO sphere) ensure the 'Died' box is set in the "Render" tab. In it's modifier settings (Explode Modifier) make sure you have ticked the "Dead' box also.
You can stop them bouncing around by selecting the Ground plane and ticking the "Kill" box in it's physics properties.  This tick can be keyframed at any frame.  Ensure it's also keyframed to off (unticked) at frame 1.


text:
Texture changes in edit mode and object mode
I made a simple rooftop model and i wanted to apply a texture to the walls, but when i unwrap and edit the uv and exit to the object mode the texture looks completely different. I feel like it has something to do with uniform scaling but it still occurs after setting the scale. Please help me out!

Have you tried editing the UV Map?

How does your shader setup (material node setup) look like?

maybe share your file with the packed image: https://blend-exchange.giantcowfilms.com/


text:
blender can't lock emitter, like 3dsmax
My problem is that the emitted particles don't lock with object (in animate modifier wave, solidify, lattice etc),

in frame 30 particle get wind and turbulance

do you mean you want the particles to stick to the emitter?

yes, particles stick to object

so you should try to put the Velocity > Normal at 0, and Field Weight > Gravity at 0, but if you don't need them to fall, maybe use Hair rather than Emitter?

i mean, how to make particle stick to emitter at 0 to 29 and get wind and turbulence at frame 30

you can insert keyframes on any value, for example at frame 29 give Gravity a value of 0, insert a keyframe (move over the value and press i), at frame 30 give it a value of 1 and insert a keyframe. To create wind or turbulence, create (shift A) a Force Field and same thing you can play with its intensity with some keyframes.

your answer is my problem now... the particles not sticky

they will be if you set the values and insert keyframes properly  ;)


text:
How to import multiple files with a gap between them (Video editor)
I have about 10 000 audio files which contains phrases or voice-lines.
I need to make a single import with the gap (f.e. 60 frames) between them and another gap (f.e. 120 frames) between a array of those files (between categories)
If there is no standard solution to this problem - I know Python just a bit. Then i ask for help in writing the script and for documentation links

Related: https://blender.stackexchange.com/questions/69730/insert-video-to-sequence-editor-with-python-script, https://blender.stackexchange.com/questions/111446/importing-multiple-movie-clips-inside-one-directory-via-script, https://blender.stackexchange.com/questions/63834/how-to-add-sound-to-sequencer-using-python?noredirect=1, https://blender.stackexchange.com/questions/63834/how-to-add-sound-to-sequencer-using-python


text:
how to make lines of mask/image thicker using material nodes in blender
I got an image from google images, and i am using that image in a material, but i want the lines in the image thicker So I was thinking, is there a way to make the line thicker, since making similar pattern procedurally or using photoshop maight take some time. Thank you

Try using math (power or greater than or other) maybe?

the math node(power or greater than will only make it darker, not thicker.

ohh so it only works on procedural lines? And I forgot it actually makes the line bigger. Oopsies

it works on all lines, but in this case, it will only make the line darker but not thicker, since there is no falloff in the image.

Here's a quick and dirty way to do it, that I think you can get away with based on the fact your image is black and white, and is relatively simple. The graph looks like this:

The idea is simple - make 5 separate "instances" of your image, offset 4 of them slightly (one in each direction), and add (or multiply in this case) them together. For the sample image that I chose, I offset by both .002 and -.002 for each of the X and Y axes, and multiplied them together (to copy the darks) with the original image. As you can see from the image below (which represents the original image), that the lines are much thinner.

As a side note, the "clamp" checkboxes are optional - I just often use them as a matter of habit to keep things in range and so I know there's no wacky HDR stuff going on behind the scenes.


text:
Refections on transparent object - renderd view diffrent to render
Hi I'm staggering with a problem. I made PET Bottles with a Principled BSDF Node. The Material looks nice in rendered view but not in the final render. I'm loosing a lot of the light source reflection on the transparent part.
Any idea what I'm missing here?

Maybe try reducing "Filter Glossy" under Caustics. It increases the roughness of the reflections to reduce fireflies, but can dull the look of things. Start with 0.5 and see if it makes any difference.

Sadly no different result. Lowering it to 0.01 gets me some fireflies the conveyor. But worth a try, thx

Strange, not sure why that's happening. I tried to recreate with the settings you have (showing), and I could not. Any chance you could post a minimal .blend file?

https://we.tl/t-vl353UYkhG  even a new blend file and recreating the shader didn't help. There must be totally messed up setting I can't find :/

This is an old bug in blender. You are doing nothing wrong. The information is there, but the render window is not displaying it correctly. It cannot display pixels that are transparent and luminous at the same time. Glares, glows, reflections. and fire don't display correctly.
View your image just as color (not color and alpha)

Your information should be there. To save it use a format like OpenEXR
For more info read:
How do I get the Glare node to output transparent instead of Black background


text:
Export objects rotation animation to textfile
I've read this post about grabbing the position of an object and exporting to a text file Exporting rotations of selected objects to a text file
I understand what it is doing but I'm looking to save the objects rotation values for the entire animation.
How do I get the rotation of an object over time? Not just keyframes, I'm looking to export a rotation value for every frame.

Using the example in the page you mentioned, it would be something like:
# import the necessary modules we need
# in our case, blender's python API and python's os module
import bpy, os
from math import degrees

# get the current selection
selection = bpy.context.selected_objects
scene = bpy.context.scene
startFrame = scene.frame_start
endFrame = scene.frame_end
currentFrame = scene.frame_current

# get path to render output (usually /tmp\)
tempFolder = os.path.abspath (bpy.context.scene.render.filepath)
# make a filename
filename = os.path.join (tempFolder, "newfile.txt")
# open a file to write to
file = open(filename, "w")

# iterate through the selected objects
for sel in selection:
    #cycle trough all the animated frames
    for i in range(endFrame-startFrame+1):
        #get true frame number
        frame = i + startFrame
        #set frame and get the object's rotation
        scene.frame_set(frame)
        rot = sel.rotation_euler
        file.write("%s - frame %d - X:%f Y:%f Z:%f \n" % (sel.name, frame, degrees(rot.x), degrees(rot.y), degrees(rot.z)))

# close the file
file.close()

#restore original frame (not necessary)
scene.frame_set(currentFrame)

NOTE: there are more reliable ways to do it (like using fcurve data, etc...), but for simple uses this method is perfect.
NOTE 2: if you want to write this data to a .txt you probably want to read it too, so I would advise you to plan how to write your variables, based on the language you want to use to read it (if you need to read it in python I would write them with file.write("%s;%d;%f;%f;%f; \n" % (sel.name, frame, degrees(rot.x), degrees(rot.y), degrees(rot.z))) so that you can use the split(";") function).
Also, it would be a good idea to write the object name only once before the first frame to save space

That's it! Perfect thank you. Not too fussed about the formatting, it's being streamed from Node over serial to an Arduino for servo control so is going to be transformed anyway.

than please flag my answer as correct (the little tick under my answer's vote count), so that future readers know it worked


text:
bend not bending
I've literally been trying to get this to work now for 2 hours. I have been working in 3d (cinema4d and maya) for over 15 years, so I know my way around, but can not get this objec to bend. I've tried bend modifier, curve modifier, followed answer in this support group and looked online. Nothing seems to work. No clue why something that should be so simple need to be so unintuitive and difficult. I figured out the gradient, but man what a task. Why doesn't the gradient texture create a gradient to work with?
https://www.dropbox.com/s/14ooghdtlklphuz/simpleDisplace.blend?dl=0
any advice on how to figure out what should be so basic would be greatly appreciated. It seems that not matter what I start in this application, I can't finish it.

The attached file does not contain any bend related stuff, it has a displacement modifier, which looks like the order of the modifiers is the wrong way round so you end up with very low res displacement.  Subdivide first, then displacement gives a more defined result.  Also increasing the subdivisions for viewport helps.

Your question lacks precision (why are you talking about the gradient?), but if you want it to bend, for example to create a pipe, add a Simple Deform modifier and use an empty as "Axis, Origin", then rotate it on the right angle until you get what you want

@merlin sorry it looks like I provided the incorrect link for a sample. here is the correct link:
https://www.dropbox.com/s/2orfvqtbibjmgt3/blackHole.blend?dl=0

@tiCreativeMedia Please edit your question instead of posting links as coments,  also it would be preferential if you used the blend-exchange upload facility


text:
deformers are red and do not work?
I've placed a sphere in my scene and want to apply a lattice. I have it selected and then select the modifier, but when I do that along with any modifier, the title of the deformer is red and no deformer shows up. What do I need to do to make that work? All the tutorials I'm seeing show it being as simple as what I'm doing.
Thanks
Dave

Dave
You have to add a 'Lattice' object as well as the object to deform (should be in the shift+a menu, 3D viewport), and point to this lattice from the lattice-modifier added to the object you want to deform...
Have a look at this- https://www.dropbox.com/s/4goj0kobrqmjbut/LatticeExample.blend?dl=0
Chose the sphere, and enable the 'lattice' modifier in the viewport (2nd in the top row of buttons in the modifier settings, in the 'spanner' modifiers tab), bingo!...


text:
blender normals not recalculating
check out this file
https://www.dropbox.com/s/r80hkvh4oulf4ra/faceOneWay.blend?dl=0
I'm trying to fix the normals to all go in one direction. I have tried recalculate and nothing is happening. Is there another way to make this work?
Thanks
Dave

Downvoted because the question is very broad or has no mean without the link which is not the way you should link a file here. Please use http://blend-exchange.giantcowfilms.com/ because your dropbox link may be 404 (no more available) in the future.

Because there are a lot of faces that seem adjacent but are actually ripped, Blender can't guess in what direction they are supposed to be flipped, so make an AltM > Merge by Distance, give it a Merge Distance value of 0.02 for example, then AltN > Recalculate Outside.

Thank You this worked!!!

moonboots, you're doing a lot here and thanks, though, do not promote broad questions please. Or take the time to explain more the base situation either editing the question or providing more information in your answer. The site is not to be one to one interactions but intend to provide information that serves all people. Thanks

@lemon, I understand your point, I may be wrong but I think it's more constructive for everybody to accept bad questions and short answers than to be too severe on questions and to give no answer at all, if the original poster wanted to know more I would have told him of course, each answer can't be a deep explanation of all the 3D concepts (what are normals, etc) imho, otherwise you dissuade every one to answer and people asking for question won't have any... plus keep in mind that sometimes it takes hours to find a solution, you need to find a balance between fun and serious

Hi and thank you all for the comments. I'm not sure how the question was bad, but I'm always open for improvement. I've been tweaking normals for years in other applications, and this solution was perfect, and works better than anything else that I've tried... thank you all for your responses!

@tiCreativeMedia  yes exactly, you can't give a deep explanation of what are normals each time people meet a problem with normals, it makes no sense, plus you may know more than me on this topic ah ah  ;))

@tiCreativeMedia While the question isn't strictly bad overall, the way it is written right right now makes it too localized. There are no images illustrating the problem, the explanation is lacking and anyone reading or searching for a similar problem would have a hard time finding it. This makes it unlikely to be useful for future users, which is the main goal of this site. If you could rephrase it to include a short description of the issue and a few images illustrating the problem that'd be great.


text:
How to properly set domain for fluid simulation?
I am trying to create a domain for fluid simulation in blender. But as soon as I apply the domain physics on the (cube) object, it transforms into some fluid like mesh. If I press play, it seems as if the fluid simulation was applied onto the domain cube instead of the circle on which I applied inflow. The shell obstacle works correctly.

This is the blend file.

I am not sure I understand your exact question, so let me rephrase it in my answer to be sure we are talking about the same thing.

If your problem is that it is the domain itself which 'turns into' fluid when playing/applying the simulation, then it's normal.
From what I know looking at the inner workings of another fluid simulation algorithm, The way the fluid is simulated is by creating a grid (65*65*65, in your case), and each cell of this grid 'knows' if it contains fluid, the speed and pressure of said fluid, and sometimes its density, or 'how much' there is.
The goal of the other (blender) objects is to act in a certain way at every frame. Roughly speaking, an inflow 'fills' some cells with fluid with a given speed at each frame, while an obstacle makes sure there is no fluid inside itself, and tweaks the speed of the fluid around itself so it doesn't go inside.
However, from your screenshots, the fluid doesn't seem to be created in the right place. This also happened when I tried to run this simulation, but differently.
After messing around a little, I found out that (at least in this file), an inflow with the "volume" setting needs to have the "Export Animated Mesh" option too to behave correctly.

A similar caveat I found years ago (but might not exist anymore) is that an inflow object half-inside half-outside the domain might cause the simulation to ask for an unreasonable amount of ram (untill the PC I used was unusable, in my case)