text:
Is anyone using a Nintendo Wiimote on Blender?
I'd like to use a Wiimote to control my camera. To make subtle handheld shots.
Except one video from 2014, I don't find any resources.
I guess there should be many other good reasons to use the Wiimote to create 3D.
Has anyone tips?
thanks

This question doesn't appear to have anything to do with using Blender so is likely to be closed.

I don't know much about Wiimote, but if I wanted to control the camera with a handheld thing I would go for Arduino(or maybe ESP32), accelerometer/gyroscope, serial communication via USB or Wifi and pyserial that could connect it to Blender via Blender's Python API. That seems to me quite difficult, but doable + it will likely be a lot cheaper than Wiimote. If you google "accelerometer Arduino control Blender" you can find some successful projects. Sounds like quite a big project though.

@JohnEason Yes it does

@MartynasŽiemys well, you can get a Wiimote for almost nothing on second hand. Arduino is beyond my competences. I saw some sample video about what you talked about, it seems very experimental and hard to control, unfortunately.
Around 2008-2010, a lot of people were using the Wiimote for all sorts of things on PC but all this community seems to be long gone...

Yeah, that's why I say I don't know much about Wiimote. It might be perfect for this - just don't know. I do know that it is possible with Arduino or other micro-controllers.  Arduino Nano clone is like 5 eur, accelerometer around 4 eur. So that's real cheap - just additional benefit. They are also more popular for projects like this so it might be that you might find more info about doing this with Arduino than with Wiimote, but I have not checked so I don't know. Just thought I would mention another option.

@MartynasŽiemys Thanks. I have found a few resources to use the Wiimote in PC video games and for doing music. Hopefully I can transpose this to Blender.
I'll write more here if I get some results.

Well eventually I found an addon that does exactly what I wanted, Virtucamera. The movement that you do with your Iphone/Ipad are synced with the Blender camera. Not Wiimote tho'.

Then, while searching, I found some clips of people that use the Wiimote to animate, they associate the buttons of the Wiimote to controllers, bones or drivers. It looks quite cool.


text:
Everything moves when I change one thing
I'm modeling a car and it's almost complete except now whenever I move one vertex the whole model changes. Parts of it jut out whenever I extrude or make anything. I tried building tires separately and when I went to use bullion to union everything the entire model disappeared. Ctrl z brought it back of and sometimes if I undo and then redo the model will look fine but while working everything shifts randomly.

Proportional Edit turned on? See: https://docs.blender.org/manual/en/latest/scene_layout/object/editing/transform/control/proportional_edit.html

source: Stack Exchange

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

sort: votes


text:
Why cant i see the smoke effect?
I was following a tutorial on YouTube beginner, and when I added quick smoke and hit play, nothing showed up.
I tried a bunch of different things but still cannot see smoke.
If its not showing do you think that means my laptop isn't able to support it, or is there something else going on that I'm not doing.

In rendered or preview?

If you use Blender 2.82 or newer see tutorials with Mantaflow solver (you need to bake first). Most of the tuts are with previous blender smoke sim.

If you are talking about the Blender Guru video, this is the top comment from user  r19790606:

If you can't see smoke and fire you probably use new version of
  blender (2.82). Correct instruction for 2.82:

Add monkey
select monkey in object mode
F3 -> add Quick Smoke
(different to video) select monkey
choose Physics->Setting->Flow Type : "FIre + Smoke"
(different to video) select "Smoke Domain" object
in physics panel click "Bake Data" and wait... (progress in status bar on the bottom)
after it 's finished click play to start animation.

video: https://youtu.be/XN6ClIdL8yw
ps : default only 50 frames are animated. you can change this in phisics->cache-> Frane End (you have to Resume or Free and Bake again ... see point 7)

i had the same problem  but I have done all the steps correctly.

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


text:
Can't orbit the center of the object after painting a single stroke

1."Orbit around selection" is checked.
2.Switching between another view resets the orbiting behaviour.
3.Tried in 2.81 and 2.82.
Please help!

That is what blender thinks it  is doing :)

in object mode it orbits around selected object (as object of your interest)
in edit mode it orbits around selected vertex
in paint, weight, vertex, sculpt it orbits arround place of painting (like a place of your interest)

So in this case, disable Orbit Around Selection if you want to paint arround Torus. So it starts orbit around view center.

To recenter point of view select object or vertex and hit Numpad . or go to 3Dview Editor > View > Frame Selected.

If you use this operator in paint mode in will "frame" last place you paint on.

If answer worked for you consider mark answer as Solved (checkmark under vote number) so others can see it from main list. You can uncheck anytime, don't worry :)

Oh…thank you, I got it!
Didn’t realize that I need to put my mouse pointer at the center of an object before orbiting around it. Thought it as the way 3D RPGs do, how naive :)
Thank you again, very helpful!

I don't think mouse pointer matters in this case, but great it works for you :)

I found that hitting Tab twice allows me to orbit around the entire object again.


text:
How can I Align an existing Object to the 3D Viewport's XY Plane?
When adding a Plane object, it currently aligns with the world’s X-Y plane at the 3D Cursor's location and can be aligned to the X-Y plane of the active 3D Viewport using this method. This method only works when newly adding objects. But what if the object already exists. How can I achieve this without scripting? I saw this thread but I don't quite understand the steps and not sure if the "Object to viewport" part answers this question. Perhaps more details with screenshots are required for me to understand it.

The only way I found so far is to use Object > Transform > Align to Transform Orientation, then from the options choose View.

Nice! Totally forgot about this menu item. Or set the Transformation Orientation to View and then do the Object > Transform > Align to Transform Orientation

Nice that works too. I only tried changing the transform orientation to View and then clearing rotation with Alt+R, which sadly doesn't work, but that does.

Clearing the rotation with Alt+R only works by resetting to the object's local frame of reference, which would be either the world or a parent object if it was the child of something. A transformation orientation is not a frame of reference (i.e. a local or global coordinate system), it is basically a conversion of orientation-aligned transforms to transforms/coordinates in the frame of reference.


text:
Invoking base class operator results in WARN (bpy.rna): unable to get Python class for RNA struct
I'm currently developing an addon and encountered a nasty issue with operator inheritance. I have a base class operator and needed to create a subclass that extends this functionality with a minor override. Despite my efforts to resolve it, I’ve found that executing the base operator triggers a warning. Below is a simple reproducible code sample that illustrates the problem:
import bpy

class WEB_OT_BaseClassOperator(bpy.types.Operator):
    bl_idname = "test.base_class_operator"
    bl_label = "Base Class Operator"
    bl_description = "Base Class Operator Description"
    bl_options = {'REGISTER'}

    def execute(self, context):
        self.report({'INFO'}, "Base Executed")
        return {'FINISHED'}

class WEB_OT_SubclassOperator(WEB_OT_BaseClassOperator):
    bl_idname = "web.some_operator"
    bl_label = "Subclass Operator"
    bl_description = "Subclass Operator Description"
    bl_options = {'REGISTER'}

    def execute(self, context):
        self.report({'INFO'}, "Subclass Executed")
        return {'FINISHED'}

def register():
    bpy.utils.register_class(WEB_OT_BaseClassOperator)
    bpy.utils.register_class(WEB_OT_SubclassOperator)

def unregister():
    bpy.utils.unregister_class(WEB_OT_SubclassOperator)
    bpy.utils.unregister_class(WEB_OT_BaseClassOperator)

if __name__ == "__main__":
    register()

I get the following warning:

WARN (bpy.rna):
C:\Users\blender\git\blender-v420\blender.git\source\blender\python\intern\bpy_rna.cc:8655
bpy_class_call: unable to get Python class for RNA struct
'TEST_OT_base_class_operator'

I need both operators. What am I doing wrong?

Hi, change the register order can resolve the issue, see the post below.

I don't know the exact technical reason this happens, but whenever I need two operators to inherit functionality, I just create a normal Python class to act as a mixin and put the shared functionality there. Make sure you put the mixin class before bpy.types.Operator in the Operator class declaration. That seems to work for me."
import bpy

class BaseOperator:
    op_type: bpy.props.StringProperty()
    def exec_operator(self, context):
        self.report({"INFO"}, f"Executing {self.op_type}")

class WEB_OT_BaseClassOperator(BaseOperator, bpy.types.Operator):
    bl_idname = "test.base_class_operator"
    bl_label = "Base Class Operator"
    bl_description = "Base Class Operator Description"
    bl_options = {'REGISTER'}

    def execute(self, context):
        self.exec_operator(context)
        return {'FINISHED'}

class WEB_OT_SubclassOperator(BaseOperator, bpy.types.Operator):
    bl_idname = "web.some_operator"
    bl_label = "Subclass Operator"
    bl_description = "Subclass Operator Description"
    bl_options = {'REGISTER'}

    def execute(self, context):
        self.exec_operator(context)
        return {'FINISHED'}

def register():
    bpy.utils.register_class(WEB_OT_BaseClassOperator)
    bpy.utils.register_class(WEB_OT_SubclassOperator)

def unregister():
    bpy.utils.unregister_class(WEB_OT_SubclassOperator)
    bpy.utils.unregister_class(WEB_OT_BaseClassOperator)

if __name__ == "__main__":
    register()
    bpy.ops.web.some_operator(op_type="Child")
    bpy.ops.test.base_class_operator(op_type="Parent")

Hello, thank you for your answer. Yes, that is my current workaround—using a common base class—so I end up with three classes. However, I was wondering about the technical details. In my opinion, this should definitely be considered a bug, as normal object-oriented programming should have worked with my original approach.

I guess mixins are the way to go like in your example.

Yeah, I feel like I also had this problem a long time ago and found some random answer on a forum post from 9 years ago but I can't remember the reason why it does this.

Change the register order to resolve the problem
register the subclass first
def register():
    bpy.utils.register_class(WEB_OT_SubclassOperator)
    bpy.utils.register_class(WEB_OT_BaseClassOperator)

Or copy the base class
import bpy

class WEB_OT_BaseClassOperator(bpy.types.Operator):
    bl_idname = "test.base_class_operator"
    bl_label = "Base Class Operator"
    bl_description = "Base Class Operator Description"
    bl_options = {'REGISTER'}

    def execute(self, context):
        self.report({'INFO'}, "Base Executed")
        return {'FINISHED'}

# copy base class
class Base(WEB_OT_BaseClassOperator):
    pass

class WEB_OT_SubclassOperator(WEB_OT_BaseClassOperator):
    bl_idname = "web.some_operator"
    bl_label = "Subclass Operator"
    bl_description = "Subclass Operator Description"
    bl_options = {'REGISTER'}

    def execute(self, context):
        self.report({'INFO'}, "Subclass Executed")
        return {'FINISHED'}

def register():
    bpy.utils.register_class(Base)
    bpy.utils.register_class(WEB_OT_SubclassOperator)

def unregister():
    bpy.utils.unregister_class(Base)
    bpy.utils.unregister_class(WEB_OT_BaseClassOperator)

if __name__ == "__main__":
    register()

Thank you for your answer. That's interesting because I thought I did try that. It also doesn't make any sense that registering the derived class ahead of its base class works. Yet it does work. Some really spooky things going on! But I think as Jakemoyo has mentioned, mixins it probably the proper approach. Do you think so too? I'm still really interested in the technical details of this weird behavior though.

It seems that need to study the source code of Blender to know why. I guess: When you register the base class first, the content of the base class changes, and then you register the inherited subclasses that have been registered by the base class, which will conflict.
In most cases Blender does not support internal class inheritance.


text:
Camera view and Render out being clipped even at 1,000,000 End clipping
I'm on Blender 3.0 and something weird going on with the camera, i set the End Clip at 100,000m (i even tried 1,000,000) but the render out is being clipped. Is there another setting i need to set? The file is at https://pasteall.org/blend/5bbdd1b2a77747a983066f83811991be

View clipping is just for the viewport.  Each camera has its own settings.
Select the camera and then hit the green camera button on the bottom right to find the camera clipping settings.

ooooh yeah, i do remember i had to set it somewhere else. that was on the camera then. hmmm but a bit confusing for new users. any idea why CTRL+ALT+0 doesn't align the cam to my viewport view? it aligns randomly somewhere else, like far below the ground.

I could only guess numlock, maybe.  It's not a function I use much.


text:
Script to that triggers update whenever an object's visibility has change
I was trying to solve this question and I already have an idea how to do it.
import bpy
import bmesh
import bpy_types

bpy.app.handlers.depsgraph_update_post.clear()

def get_visibility_states():
    states = {obj.name: obj.hide_viewport for obj in bpy.context.scene.objects}
    for s in states:
        print("S: ", s, "=", states[s])
    return states

def check_visibility():
    print("check visibility")
    for s in previous_visible_states:
        print("C: ", s, "=", previous_visible_states[s])
    current_visible_states = get_visibility_states()
    change = False
    for p in previous_visible_states:
        for c in current_visible_states:
            if p == c and previous_visible_states[p] != current_visible_states[c]:
                print(f"{p} visibility has changed")
                change = True
    if not change:
        print("nothing in visibility has changed")

def on_depsgraph_update(scene):
    depsgraph = bpy.context.evaluated_depsgraph_get()
    for update in depsgraph.updates:
        o = update.id
        if type(o) is not bpy.types.Scene:
            continue
        check_visibility()
        previous_visible_states = get_visibility_states()
        break

bpy.app.handlers.depsgraph_update_post.append(on_depsgraph_update)

bpy.data.objects["Cone"].hide_viewport = True
previous_visible_states = get_visibility_states()
bpy.data.objects["Cone"].hide_viewport = False
check_visibility()
previous_visible_states = get_visibility_states()

But this has been driving me crazy because the last few statements in the script simulating a change in hide_viewport actually works, just not when I click the eye icon in Outliner. The script update is called when I click the eye icon, but nothing happens. I don't know why the visibility states are always False despite the code flow looking proper. No change has been detected despite me clicking the hide_viewport property in the Outliner of every object. What gives? Where is the error in my script?

The eye icon visibility is accessed with hide_get(), hide_viewport is for the monitor icon visibility, see https://blender.stackexchange.com/a/133470/86891

@Gorgious hey thank you for your response. i changed it to hide_get() now and i forgot to declare previous_visible_states. It got partially fixed. It only gets triggered when i click the eye icon to hide the object. but when i click the eye icon again to make the object visible, it says nothing has changed.

Dictionary previous_visible_states is not updated, it keeps the initial state passed from on_depsgraph_update(scene). Declare dict as global in check_visibility()_ to make it available outside the scope.
The following script was simplified and responds the available visibility settings in Outliner: hide in viewport (icon eye), disable in viewports (icon monitor) and disable in renders (icon camera). Tested in 2.93, 3.3.2 and 3.4.1
import bpy

bpy.app.handlers.depsgraph_update_post.clear()

def get_visibility_states():
    states = {}
    for obj in bpy.context.scene.objects:
        visibility = {
                     'hide_viewport': obj.hide_get(),         # eye
                     'disable_viewports': obj.hide_viewport,  # monitor (filter enabled by default)
                     'disable_renders': obj.hide_render       # camera
                     }
        states.update({obj.name: visibility})
   #for item in states:
   #print("S:", item, states[item])
    return states

def check_visibility():
   #print("\ncheck visibility")
    global previous_visible_states   ###
   #for item in previous_visible_states:
   #print("C:", item, previous_visible_states[item])
    current_visible_states = get_visibility_states()

    for item in previous_visible_states:
        if not previous_visible_states[item] == current_visible_states[item]:
            print("\n#", item, "changed:")
            print("previous", previous_visible_states[item])
            print("current", current_visible_states[item])

    previous_visible_states = current_visible_states  # refresh

def on_depsgraph_update(scene):
    depsgraph = bpy.context.evaluated_depsgraph_get()
    for update in depsgraph.updates:
        o = update.id
        if type(o) is not bpy.types.Scene:
            continue
        check_visibility()
        previous_visible_states = get_visibility_states()
        break

bpy.app.handlers.depsgraph_update_post.append(on_depsgraph_update)
previous_visible_states = get_visibility_states() # get first states

thank you for taking the time and effort for looking into this and fixing it, much appreciated! I was able to revise the answer to make it shorter and more efficient here https://blender.stackexchange.com/questions/196198/is-it-possible-to-listen-for-object-visibility-change-in-python


text:
Edge Crease or Sharp Edge being ignored by Subdivision surface
I'm trying to get subdivision to work only on the inner circle. So I applied a crease and sharp edge on the 4 sides of the square but it seems to get ignored. I got this idea from this thread https://blender.stackexchange.com/a/128571/142292 and I already set the crease to 1.0 but it doesn't work. Also Keep sharp edges when using subdivision surface and Forcing a flat edge when using the subdivision surface modifier do not work for me.

it would work with this solution, which means you need to create an additional edge loop: https://zupimages.net/up/22/49/8b54.jpg

oooh so i set the wrong edges as crease edges! cool it works! thanks so much! if you add it as answer i will accept it :)

It would work with the edge crease on the obliques, but you need to create an additional edge loop:

Edge Crease indicates where you don't want the roudness to happen, as if you used support edges. If you added an edge loop along the outer edges, it would not sharp these outer edges:

Whereas if you bevelled the obliques it would sharp these outer edges:

aweome. it's funny though that i apparently used the wrong edge as crease. i don't understand why i have to set the diagonal edge though XD

I've edited and tried to explain, I'm not too familiar with edge creases though


text:
How to set value fields of several objects to the same value without Python similar to Alt+Enter?
I use Alt+Enter a lot to set the value of a field of several selected objects to the "same value", but I just realized that it doesn't exactly do what I always thought it would do.
I now realize that the value only gets set for the actively selected object and then drags all the values of the other selected objects with it. Currently it might make sense that all the other selected objects field values move along with the active object, but is it possible to set a field of selected objects to exactly the same value with a shortcut similar to Alt+Enter?

In the case of vertices you would have to do an additional step, which is to scale to zero to align them and then you can move vertices to the same location.

But there is currently no way to set the volume of several sound strips to the same value if they had previously different values. In this case they would all increment by 0.05 instead of setting them all to 0.05.

I know I can easily write a python script to solve this but I was interested if Blender has some shortcut key similar to the effect of Alt+Enter which applies values to all selected object.

I have seen tutorials where it is explained that if you select multiple objects and want to have the same values in certain fields you could either press Alt+Enter or hold Alt while you click in the field to type in the value.
This is simply not correct. In your first example and last example, the cubes and the sound strips, there is a difference between using Alt+left-click before typing a value or using Alt+Enter after typing a value:

Alt+Enter applies the same difference to all values as the one between the original value you are changing and the new value, so it works relative to the original values.

Alt+left-click and then typing a value is putting the same new value in all fields, it is working absolute on the values.

On the mesh vertices in your second example it's not working the one way or other because above the location values it clearly says Median:, which means this is always the median value of all selected vertices. Changing the median will only move them all staying relatively the same to each other, and only scaling them to 0 on one axis aligns them on this axis.
Of course, most times the tutorials get the correct result because often the objects they want to change have the same values, so changing them with Alt+Enter will result in having them all the same new values as well. The differing results in both methods only appear if you change objects with different values.

Aha, yeah before I was wary about pressing ALT first before left clicking then over time I came to believe it was only necessary on Enter. So now I know there is a difference. Thank you very much for your answer!

@HarryMcKenzie No problem. I added a last paragraph to my answer which explains why tutors often get away with the claim that it would be the same ;)

@HarryMcKenzie See the last but one paragraph.

oh yes i notice it changes from Transform to Median. so i guess this feature doesn't work for vertices but good there is a workaround with the scaling.


text:
How can I split and remove partially overlapping faces without Mesh Boolean?
I have managed to remove overlapping faces using the Geometry Proximity node. However, for intersecting overlapping faces, I couldn't figure out how to partially remove the overlapping face without using the Mesh Boolean node, as it is too slow for my use case. I previously tried a setup where I used the Merge By Distance node since the vertices overlap perfectly. Unfortunately, that node does not split the face; it just merges the vertices without actually splitting the face. How can I remove the overlapping faces in such a way that it does not create a triangular missing face? The mesh needs to be closed.

If my requirement is not possible, perhaps there is a workaround to fill the missing triangular faces instead?

Maybe a bit peculiar to this case, but here, you can selectively triangulate the diamond mesh by proximity of quad faces, and then selectively delete the resultant triangular faces by the same proximity:

If you need a more general answer, I'll remove this one :)


text:
How can I expose Geometry Nodes properties in my addon panel?
I came across this question and learned that I can actually expose properties from the Blender UI in my addon panel. So I was experimenting on exposing properties of modifiers like for example the thickness of the Solidify Modifier, I can do:
layout.prop(data=context.object.modifiers["Solidify"], property="thickness", text="Thickness")
layout.prop(data=context.scene.render,property="fps",text="Frame Rate")

So now I'm interested in exposing properties of Geometry Nodes modifiers but I can't get it to work.

I tried the following
layout.prop(data=context.object.modifiers["GeometryNodes"]["Socket_2"], property="My Attr", text="My Attribute")

which gives me the following error:
Traceback (most recent call last):
  File "C:\Users\harry\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\test\ui\sidebar_menu.py", line 111, in draw
    layout.prop(data=context.object.modifiers["GeometryNodes"]["Socket_2"], property="My Attr", text="My Attribute")
TypeError: UILayout.prop(): error with keyword argument "data" -  Function.data expected a AnyType type, not float

and then tried:
layout.prop(data=context.object.modifiers["GeometryNodes"], property="Socket_2", text="My Attribute")

which gives me error:
rna_uiItemR: property not found: NodesModifier.Socket_2

    C:\Users\harry\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\test\ui\sidebar_menu.py:111

Is what I'm looking for even possible?

md = context.object.modifiers["GeometryNodes"]
name = next(rna.name for rna in md.node_group.interface.items_tree if rna.identifier == "Socket_2")

layout.prop(data=md, property='["Socket_2"]', text=name)

import bpy

class OBJECT_PT_CustomPanel(bpy.types.Panel):
    bl_label = "Custom Panel"
    bl_idname = "OBJECT_PT_custom_panel"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

    def draw(self, context):
        layout = self.layout
        layout.prop(data=bpy.context.scene.render,property="fps",text="Frame Rate")
        obj_name = "Cube"
        md_name = "GeometryNodes"

        try:
            layout.prop(data=bpy.data.objects[obj_name].modifiers[md_name], property='["Socket_2"]')
        except:
            pass

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

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

if __name__ == "__main__":
    register()

For Pointer Properties: Collection, Material, Texture, Image,  Please visit
Unable to Access exposed Material Input in Addon from Geometry Nodes Modifier

I added a thing to access the socket name, check it out.

thank you. there is another question similar to this here but the material selection gets disabled. do you know why?

I posted a new answer to that post.


text:
How can I do some sort of limited dissolve of useless vertices at the edges?
Is there a way to do some limited dissolve either through the built-in Blender tools or perhaps through scripting (if not possible through Blender tools) to remove these types of vertices? Or do I have to remove them manually? I have thousands of these types of vertices. They cause the faces to become non-planar which I try to avoid.

oh i just realized i could select all vertices at the edge and write a python script that checks if the vertex has only 2 linked edges then dissolve. anyone interested please add your answer and i will accept. but i was also interested if there are any blender modeling techniques available as well to tackle this problem? or is python the only way?

Or you can write your own answer with the script?

@moonboots actually im really interested in a blender built-in tool for this. so are you saying it's not possible without python? or manually select the vertices? :)

I guess you've already tried Shift G and it doesn't work?

@moonboots hey that's exactly what i was looking for! thank you so much! please post as answer and i'll accept!

Try ShiftG (Select Similar) and one of its options


text:
BPS V3 Minecraft character rig animation problem (snapping)
I'm trying to create a Minecraft animation with the BPS V3 rig.
When i add keyframes, and play, instead of the character gradually moving to a position, it snaps into position as soon as the play cursor (i think that's what it's called?) reaches the keyframe. This is a MAJOR setback as i can't animate. pls help!! ＞﹏＜

Try selecting the first keyframe, then pressing T to change the keyframe interpolation. In the menu that pops up, select anything other than Constant. Constant interpolation causes the keyframe's value to be held constant until the next keyframe.

Thank you! I set it to Bezier and it worked. Is there a way to set it so new keyframes will be Bezier?

Nvm I figured it out.


text:
Loop imported video in Blender Model
I think this is a bit of a unconventional question, but!
I have a few videos (.mp4) imported into my blender model - I've done this through [Import -> Images as Planes].
I am trying to create an animation, walking through the model - however, my videos start playing as soon as the animation starts, and once they play through, they just stop. So, when the camera reaches them (say at frame 300) in the animation they are just stopped stills showing only the last frame of the video.
Is there a way to loop the videos in Blender? Or make them start at a later point? So that they are either constantly playing, or atleast playing at the right time the camera reaches them?
I am new to blender, so I'm trying to find a simple way to do this, or atleast a method that I can follow - I still don't know most of Blenders nooks and crannies and sadly I'm still trying to get my head around it!! :(
If it's possible to actually do this without having to edit the videos themselves, this would be so so helpful!!
Thank you!
[I am using Blender 2.82a on Mac]

as for video controls: https://blender.stackexchange.com/questions/39876/movie-clip-on-plane

maybe you can keyframe the StartFrame / Offset properties at the end of the video? I don't know much about video textures though

You can expand the base colour tab in the properties panel and check on cyclic. That seems to work and the video plays on loop. Hope that helps.


text:
Issues with the Boolean Modifier on Blender 2.83
I'm trying to make a window on a wall, and i choose the boolean mod, my window (cube) doesn't appear when i try to choose it in the Objects, to i use the copy tool next to where you choose the object, and i tap on my window cube, and it says "failed to set Value" The value is currently at Default (0.000001) any tips? Also I just stared Blender 2 days ago, so a bit of a Newbie, have been following video tutorials but none of them explain any issues like this.

it might not appear because a boolean doesn't remove the boolean object, so the cube hides the hole, maybe try to apply the boolean and move the cube to see if the boolean works?

It might just need to be applied, the changes you have done before using boolean. this sometimes makes it happy, some times not!! Command or control A Keys.

The problem is that the Boolean modifier cannot set the cube to act as a Boolean. Applying the modifier at this stage is the same as deleting it.

Make sure that the boolean modifier is in the wall and not the cube. If it is, apply it, and move the cube out of the way or delete it.


text:
Result of ray_cast on armature deformed mesh
I'am trying to develop a plugin that raycasts an animated mesh to produce pointcloud streams, which then are used as computer vision related training data with known ground truth poses. Everything works fine except of the raycasting when using the ray_cast function on the mesh to be sampled. Below I posted a picture depicting the problem.

On the left, the mesh is undeformed, the ray used is drawn in white and a sphere is created at the hit point result from ray_cast, everything as expected. Middle and right meshs are deformed and the hit points are obviously off the surface.
The code used for raytracing:
def raytrace(obj, ray):
    drawRay([ray[0], ray[1]])
    valid, pos, _, _ = obj.ray_cast(ray[0], ray[1])
    if valid:
         bpy.ops.mesh.primitive_uv_sphere_add(segments=15, ring_count=7, radius=0.01, location=pos)

Any help is appreciated, I'am really struggling with this problem and couldn't find any workaround so far. Many thanks in advance.

Use the depsgraph
To hit the evaluated mesh use the depsgraph. (Assuming 2.8+)
Example, raycasts from global (0, 0, 10) in a negative global z direction.  The object raycast uses the object space of the mesh, so convert the rays to object space and the result to global.
import bpy
from mathutils import Vector

context = bpy.context

ray_co = (0, 0, 10)
ray_dir = (0, 0, -1)

ob = context.object
mw = ob.matrix_world
mwi = mw.inverted()

hit, loc, _, _ = ob.ray_cast(
    mwi @ Vector(ray_co),
    mwi @ Vector(ray_dir),
    depsgraph=context.evaluated_depsgraph_get()
    )
if hit:
    bpy.ops.object.empty_add(
        location=mw @ loc)

Wow, great! Thank you so much, this helped me a lot.


text:
- Child Parent bones are attached to objects on both sides of mirror? How to fix to only apply to one side?
- Bones attached to one side of the mirror control and warp objects on the other side of the mirror? How to fix please if anyone knows?

Is the mirror a modifier or hard edited, and what's it on? In the answer below I'm guessing it's a modifier on the armature, because I had a similar problem before. :) Just remember to tell about details: it helps me help you help us all. :)

Simply, your vertex groups (which attatch the armature) are copying to the other side of the mesh, so both the left and right arm are in the same group: The mirror mesh modifier, as far as I remember at the moment, does not automatically split and mirror vertex groups. Check that the "vertex groups" option is checked, and if it is, this is a bug.


text:
- Blender Texture Fail Cycles Vs Eevee
For whatever reason, the texture will display on Eevee Render but not Cycles Render? What is causing this and how do I fix this?

Could be a missing HDRI in the world background. Do you use one?

Why would HDRI background impact Cycles registering the texture PNG of the donut in Render view?

Most image textures show a file extension (ex: .jpg, .png, .exr, etc...) next to the name, but your does not. Why is that? Did you bake the image in blender?

@TinyTRex A missing HDRI can tint everything pink. And since your icing is pinkish, too... Object pink in render (no textures are in use)


text:
Reload text block from disk with python
Backstory: I have a couple of .blend files that share a single python plugin that provides a custom operator that renders them. I also have a wrapper script that I run blender with that calls that operator, like this:
# wrapper.py
import bpy
bpy.ops.render.my_custom_render_operator()

then execute blender like this:
blender "$1.blend" --background --python wrapper.py

Each .blend file has the python plugin as an external text block that is automatically registered on startup.
My problem that when I edit the plugin file blender don't update it's copy. If I were opening the GUI I would would open the text block and go to Text->Reload (or ALT-R), but I can't do that when rendering from the command line.
I need a way to reload all the text blocks from python, so I could put that in wrapper.py before calling my operator. I couldn't find a function to do that, although bpy.ops.text.resolve_confit() looks close.

Auto-run text blocks execute before --python code, so nothing you put in wrapper.py will be able to reload the text block before the text gets auto-run.
I would disable auto-run (-Y) and either execute your file with exec in wrapper.py, or (better) just install it as a regular addon.


text:
Create new Metaball family
I'm trying to rename my metaball. If I hit f2 and rename it, the body part disappears in the viewport. If I switch to rendered mode I can see it, but not select it.
Is this a bug? How do I get around it?
Also, if I rename the metaball back to Mball, The body reappears, but in the form of the entire Mball family. Then when I move it, the Mball family disappears. Sort of frustrating.
The docs mention confusing behavior, but I'm in the same scene.
Note:
I only want to create a new family because I couldn't hide parts of it.
I'm writing a python script to render it multiple times, and each time I want the metaball to grow more blobs.
So if there's an easy (ish) way to 'hide' parts of the metaball from a script, I'd sidestep the issue.
I'm using Blender 2.83

So after a while I figured out why it wasn't working: the name of the new family ended with a number. For instance, MballTwo works while Mball2 doesn't.


text:
Is it possible to emit hair particles from vertices as objects without overlap?
I'm trying to construct a low-poly deathstar-type surface using a collection of square panels randomly placed along a surface. I'm using a hair particle system, render as collection, emitting from vertices, however due to the random placement of the objects some vertices of the surface get no panels and some vertices get more than 1 panel.
Is it possible with the particle system to specify that only 1 object should be put at each vertex of the surface?

First activate the Statistics option in the Viewport Overlays, so that you know how many vertices your object has:

Now in the Particles panel > Emission > Number, type the exact same number, and under Source make sure that Random Order is disabled:

Here the answer for emitting one particle by face.


text:
Weird lines on side faces of a cube
How do I fix theese weird lines? I'm new to blender and i can't find anything about it anywhere.

Read about texture mapping.

Your uv is stretched, did you extrude Simple plain? You need unwrap uv once again for those sides

@MikoCG i used the example cube. I unwraped it and nothing changed.

once you've unwrapped you need to use the UV output of the Texture Coordinate node in the Shader Editor

This would be a long answer to explain basics of uv unwrapping... The reason why your texture is stretched is because your uv is wrong, open your uv editing, select all your faces... Do you see 6 faces in your uv? If not and you only see one, your uv is incorrect

@moonboots thanks! it worked

As MikoCG says, you need to unwrap your cube. Once you've unwrapped you need to use the UV output of the Texture Coordinate node in the Shader Editor:


text:
Size of imported 3D-Mesh is not realistic
I imported a 3D-mesh of a coral fragment as an OBJ-file. The coral fragment is approximately 1cm x 2 cm. After importing it to Blender, I measured it and the size was way larger. The ruler function gave me 3m x 4m. I need to calculate the surface area and without the right size of the 3D model I cannot get the right surface area.

Hi :). *.obj files are often imported in a 10 000% scale. No idea why. Simply set scale of the model to 0.01 and you should be fine. And don't forget to apply the scale after :)

As @JachymMichal says, *.obj files and others created in different software not always use the same scale in Blender. I'm no expert in this, but as far as I know this comes from the way the data is stored and interpreted. For example, if the OBJ uses milimeter as base and stores an X value of 1000 for a vertex, than this should be 1 meter. But if Blender uses meter as base and just takes the 1000 as is because it expects 1 meter to be stored as 1.000, than suddenly the thing gets huge with an X value of 1000 meters. So if you know real world dimensions, you should scale the object accordingly.


text:
real frog video to animation
I'm a behavorial ecologist, and work with an animal that does a visual display.  I came upon blender as a way to make 3d models to animate and test receiver response - for example, showing an animal the display where different parts of it vary a little bit. I'm a little overwhelmed with all that blender offers, and where to begin to learn.  I have in real life videos of an animal doing a display, and want to build an as life-like as possible rendering of that that I can manipulate. Should I start with modeling? I don't want to build my own animal from scratch - can blender use video that I have to help me build a model?

I am a bit concerned about the reason why you need to do this. Is this for your research work? If yes, I guess it adds some constraints on your project, as I suppose you can't spend months or years just learning how to do 3DCGI. Because that's the thing you will have to do in order to be able to "build an as life-like as possible rendering of that that [you] can manipulate". Do you also want to be able to manipulate it in an interactive manner? That would probably require even more work...
If you were not aiming for "life-like" rendering and manipulable, that would be way more reasonable. It would just be a few weeks or months of learning to get your assets ready to rumble. But "life-like" is really on another level of mastery.

Thanks so much for your comment and thoughts - this is exactly the sort of feedback I'm looking for.  I would need this for research, and while I could spend months learning and practicing, I don't have years.  And honestly I'm not sure exactly how life-like I need this to be.  The frogs I'm working with respond to very crude physical models, so it's possible a not-entirely life-like video model would suffice.  In any event, I contacted our digital arts program to see if students were looking for a project I could learn alongside them.  Thank you again for your feedback.


text:
Assigning grease pencil vertices to vertex group
I'm writing a piece of code where I want to assign the selected grease pencil vertices to a vertex group. So far, with the vertices selected, this is what I have tried:
#create vertex group:
obj.vertex_groups.new(name = 'TEST')
#assign selected vertices to group:
bpy.ops.gpencil.vertex_group_assign()

However, this doesn't work. It creates the vertex group no problem, but doesn't assign anything to it. Any ideas?

Do you have vertices selected at that point?

Yes, vertices are selected

Okay, so it turns out that you need to override the context for this operator.
#create vertex group:
obj.vertex_groups.new(name = 'TEST')

#assign selected vertices to group:
for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        for region in area.regions:
            if region.type == 'WINDOW':
                override = {'area': area, 'region': region, 'edit_object':bpy.context.edit_object}

bpy.ops.gpencil.vertex_group_assign(override)


text:
How do I use bpy.ops.constraint.childof_set_inverse() in blender 4.0?
I am trying to set the inverse on my child of constraints using python. However, with the correct bone active and while in pose mode, when running:
bpy.ops.constraint.childof_set_inverse(constraint="Child Of", owner='BONE')

I get this error:
#Could not find constraint data for Child-Of Set Inverse

If found this link, which is old, but which looked worth a shot:
Child Of Constraint Set Inverse with Python
Back when this was made, the context needed to be overridden. But with blender 4.0, contexts get overridden differently: we now use bpy.context.temp_override. Which prompted me to try the following, based off of the old solution in the link:
import bpy

pose_bone = bpy.context.active_object.pose.bones["Bone"]

context_override = bpy.context.copy()
context_override["constraint"] = pose_bone.constraints["Child Of"]
bpy.context.active_object.data.bones.active = pose_bone.bone

with bpy.context.temp_override(**context_override):
    bpy.ops.constraint.childof_set_inverse(constraint="Child Of", owner='BONE')

But I get the exact same error... Am I overriding the context wrong? Is that even the issue, or is the link I shared completely obsolete? What am I missing?

you can try this code here:
import bpy

obj = bpy.context.active_object.pose.bones["Bone.001"]

bpy.context.active_object.data.bones.active = obj.bone

with bpy.context.temp_override(active_object=obj):
    bpy.ops.constraint.childof_set_inverse(constraint="Child Of", owner='BONE')

Note: I used Bone.001, which has the child of constraint. So rename that to your needs.
I tried that out, and it works. If it doesn't work for you, please provide a blend file so that i can adapt my solution to your needs because i have no idea about the naming of your bones.


text:
Does Blender 2.82 allow for Radeon VII GPU rendering?
I have a Radeon VII GPU but it doesn't show up in Blender. I am on Ubuntu 18.04. I have opencl installed so I am not sure why this is happening.

Did you enable it in the Preferences?

Yes, when I go to preferences OpenCL it says there are no compatible GPUs


text:
Object's coordinates are not influenced by constraint's influence?
I'm trying to make a camera follow a path, starting from frame 150 and lasting 100 frames. So, I've keyed the influence parameter from 0 to 1 in the starting frame and then again from 1 to 0 on the last frame.
On frame 150, the camera is automatically aligned to the path, but its location is 0,0; only its rotation has been updated. This should't be too much of a hassle, except that it makes nearly impossible to animate a smooth transition from the previous frames onto the beginning of the path. The camera insists on  returning to world origin as it is there it will start its path.
This is probably due to the constraint's influence acting upon the camera but not updating its coordinates.
What should I do if I just want the camera to, sort of, snap onto the path as it reaches it?

Substitute the cube used here for an empty and parent your camera to that.  The 'empty' will also become the path object that will follow the path.
(Blend file is below)

The path constraint will move the cube to it's start at frame 1 to 150 when the path's evaluation slot is set to zero between these frames.   This allows you to animate the cube beforehand without fiddling with the follow-path- constraint's influence slider.  It just has to be at the path's starting location and aligned by frame 150.
The graph editor's handles can adjust the animated approach speed and path starting speed, so they match for a seamless transition when that's required.
Note that the cube should be set up to follow the path from frame 150 BEFORE doing anything else because even when not moving the cube, that constraint will still be active.
So at frame 150, once the path is working ok with the cube, keyframe the cube's location and rotation.
Once that's done you can go back to frame 1 (or whatever) and keyframe it at a different location.
-===================-
If the cube also has to leave the path after it's done it's circuit, then you're probably better off using parents (Child-of constraints) instead of animating it directly.  One before and one after the path frames.
This link will explain how - How to sequence paths?

Object drived by another is always represent by it's relative coordinates. If you parent a cube to an empty and you will move with empty, cube will have also zero in coordinates.
And I don't think there is a problem to animate Camera on top of the Constraint. But if you animated influence to zero on frame 149 and one to frame 150 somthere is not to much room for transition. Sorry if I understood you wrong.


text:
Light source automatically fitting to object
I want to setup a light source that is automatically fitting to the loaded object. Either by a script or by maybe setting it in a way that it works great for every object that might get loaded (maybe sun or area?). This means that the brightness should be good for every object, however contours and shape should be still visible, so shadows/shades have to probably be visible.

This solution is different to what you asked, but I think it gets the intended result.
The sun light itself will impact 'every' object without needing to be attached to every object. The sun has constant direction parallel rays regardless of where it is placed, unlike the other light sources that are relative to their position.  So for example, in the following three images, the sun is above, moved just right and then moved far below and yet they produce the same constant result for the object. For every other object I add in the scene, the same sun light properties will be applied.
Adding a light per object is most likely an overkill.
Above:

To the right:

Well below:

Thanks. That was exactly what I asked for. Did not know that this is how the sun works. When I selected it, it seemed just extremely bright. So just to clarify, the position of the sun has also no impact on the brightness of the scene, correct? So in order to overcome brightness issues I just change its brightness?

I believe that is correct @clel.


text:
Project Rendering in Black and White?
I am brand new to blender and have been working on some really basic things. When I look at it in solid mode everything is in color but when I look at it in the material preview mode, render preview mode, or when I render it out the whole thing is in Black and White. Under Output Properties, the color is set to RGBA. If anyone could help that would be great. Thanks!

This is one project I have been working on rendering in black & white. https://blend-exchange.giantcowfilms.com/b/JEw60eDl/

Hi @TobiasPenner and welcome. When I opened your Blend file I noticed that the two plains have a white emission material and the cube has the default light-gray. So when you say you viewed as colour I am not sure what you mean. You may have changed a few things before submitting the file, but maybe if you showed an image of the different modes it will help.
Anyhow with your blend file if you want to add color to the cube and see in Material preview mode you will need to do the following:

Change your cube to view as a solid object (it is displayed as a wireframe).

Assign a color in the material properties of the object


text:
How to align origin's z axis to individual object's normals?
I have an ico sphere and I need this random transform for the individual faces. I may solve this by using particles (but don't now how either) anyway...

when entering to edit mode and faces I have what I need, individual z axis oriented to normals but the randomize is hugely different and too much random for what I need...
What I want but not on edit mode but on object mode:
What I get with randomize transform on edit mode: .
Now the big questions here are:

How do I orient origin's Z axis to individual normals in object mode?
Does blender have an addon for this?

thanks :)

Hello. You want to randomize each face depth along Z/normal keeping them aligned as they were before? That's it?

Yes, but as independent objects, and align each origin's Z to the normal of individual faces.


text:
Operator in import category working but showing as invalid syntax when accessing bpy.ops.import
I have several operators that import different file types like this example:
import bpy

class IMPORT_OT_xxx_file_type(bpy.types.Operator):
    bl_idname = "import.my_xxx_file_importer"
    bl_label = "xxx file (.xxx)"
    bl_description = "Import xxx file format (.xxx)"

    filename_ext: str = ".xxx"

    filter_glob: bpy.props.StringProperty(
        default="*.xxx",
        options={'HIDDEN'},
        maxlen=255,
    ) # type: ignore

As I progress in developing my addon, I've reached a stage where I need to verify if an operator is registered before displaying it in my panel. This is because I've implemented functionality in the preferences to enable or disable certain options, affecting what gets shown in the panel. I've found only this method to check if an operator is already registered but that requires me to use an ugly eval function:
def is_class_registered(self, cls: bpy.types.Operator) -> bool:
    idname: str = eval(f"bpy.ops.{cls.bl_idname}.idname()")
    return hasattr(bpy.types, idname)

def draw(self, _: bpy_types.Context) -> None:
    for cls in CLASSES:
        if is_class_registered(cls):
            self.layout.operator(cls.bl_idname, text=cls.bl_label)

But I stumbled upon this problem where bpy.ops.import is invalid syntax so is_class_registered will fail because it's accessing bpy.ops.import which I tested and verified in the Python console:
>>> bpy.ops.import
  File "<blender_console>", line 1
    bpy.ops.import
            ^
SyntaxError: invalid syntax

But bpy.ops.export works fine
>>> bpy.ops.export
<module 'bpy.ops.export'>

So I thought that everything that was related to importing objects should be under the import category (i.e. import.my_importer_operator) and everything related to exporting be under export. The operators work perfectly, it's just that script fails when I need to use the name strings in a way so that I can check if the operator is registered. How can I resolve this issue? I would prefer not changing the category from import to something else. Or am I categorizing these types of operators incorrectly? Or perhaps another way to check if the operator is registered?

I found a way from this thread on how to properly check if an operator has been registered:
def is_class_registered(cls) -> bool:
    idname_py = cls.bl_idname
    module, op = idname_py.split(".")
    idname = module.upper() + "_" + "OT" + "_" + op
    return hasattr(bpy.types, idname)


text:
How do you Select Next Active (CTRL+SHIFT+Numpad+) w/ Bisected Section?
I've seen the thread on doing a CTRL+SHIFT+Numpad+ in "https://blender.stackexchange.com/questions/106493/expand-selection-ctrl-to-the-specified-direction-in-edit-mode" but i'm not sure if it's possible with the below scenario when you make a bisection and try to select one bisected area or only a portion of it with CTRL+Numpad+. My current workaround is to set the bisection line edges with Make Seam and then do L to select an area and then Clear Seam. But sometimes i want to gradually select only a few segments, not the entire bisected area. Is there a way to accomplish this?

Hello, you say "i want to gradually select only a few segments, not the entire bisected area", waht segments are you talking about and how Blender would be able to guess what segments you want?

when u press numpad+ it will select the next faces in both directions along the loop's normal. so that works. we know there are only 2 directions it goes. since there are only 2 possible directions along the loop normal i was thinking maybe blender has some logic implemented where we could choose a direction with a certain shortcut key to go in one direction (+) and another shortcut key to go the other direction (-) or something.  so i was curious to know if there was any secret trick.


text:
No Export Format Working For IK Rig
I tried the most common export format FBX and DAE and OBJ but none of them work when i test try to import them back into blender. I read the documentation https://docs.blender.org/manual/en/2.79/data_system/files/import_export.html and it claims that FBX would work for rigs. I'm using IK rig. What format should i use instead? I noticed that most people can publish several formats online, how did they accomplish that?

There are no formats that's supports constraints.

hmmm that's interesting. i uploaded my model at https://www.turbosquid.com/FullPreview/Index.cfm/ID/1875020 but only attached the .blend file so i guess that is the only or best approach?


text:
Automatic weights not working well
I'm new to blender and following a tutorial. I finished rigging and set parent with automatic weights but for some reason it doesn't work well for me - the side of the body of the mesh moves when I move the IK_Hand in pose mode.
In the tutorial it moves good and only the hand and its relevant parts are moving.
Can you help me with this?
This is my file: Mushroom
Thank you!

Your normals are flipped, you can see it if you enable Face Orientation in the Viewport Overlays options, it messes up the parentage. Go in Edit mode, select all and Mesh > Normals > Recalculate Outside, or ShiftN. Then reparent With Automatic Weight.

Thank you! Can you explain why this happened? and a little bit of what it means?

Faces have 2 sides, on one side you have normals. Normals have different purposes in 3D realm, it mainly show the face orientation. When you model an object, Blender doesn't know on what side you want normals, so you go on and they might point towards the object's inside. It might cause problem like the one you've encountered and other various problems. So sometimes check the faces normal.


text:
How do i get my grid to stay on top of plane
Hey I have looked around for answer but cant find it how do I keep my grid on top of my ground plane

First solution : Use X-Ray Mode
The shortcut is ALT + Z or click this icon in the top right :
Second solution : Use the material alpha
This works only in lookdev mode and you need to set Eeevee as your renderer first. Click on your object and go to its material or add one if it doesn't have one already. Then go the alpha value and lower it, don't forget to set the alpha blend mode to "Alpha Blend".

Enhance the grid line visibility
If you want to see the grid lines more easily, you can tweak the opacity inside the user preferences :


text:
How to stop colours of overlapping spheres from mixing?
I have plotted a series of blue and red spheres to replicate an atomic structure.
I would like the blue and red spheres to remain distinct; such that when I rotate the model, and the spheres overlap, the colours stay blue and red.
The problem I am facing is that the colours mix where the spheres overlap.
E.g) Plotting Blue and Red spheres. I want the spheres to remain blue of red, however when I move the camera, the overlapping spheres appear pink at the intersection.

How do I stop the colours from mixing into this purple-ish tone and keep my spheres red and blue?
See my source code below for more information:

import bpy
import numpy as np

sizes = { 'In' : 0.7, 'Ga' : 0.7 }
colors = { 'In' : (0.0, 0.0, 255.0, 0.3), 'Ga' : (255.0, 0.4, 0.4, 0.7), 'bond': (0.05, 0.05, 0.05 , 0.1) }

for key in colors.keys():
    bpy.data.materials.new(name=key)
    bpy.data.materials[key].diffuse_color = colors[key]
    bpy.data.materials[key].specular_intensity = 0.1

def distance(a, b):
    return np.sqrt(np.dot(a - b, a - b))

def normalize(a):
    return np.array(a) / np.sqrt(np.dot(a, a))

class Structure:
    def __init__(self, filename):
        with open(filename, 'r') as f:
            data = f.readlines()

        self.n_atoms = int(data[0].split()[0])

        self.atom_list = [line.split()[0] for line in data[2:]]

        coordinates = []

        for i, line in enumerate(data[2:]):
            coordinates.append([float(value) for value in line.split()[1:4]])

        self.coordinates = np.array(coordinates)
        self.bonds = set()

    def add_bonds(self, atom_types, cutoff):
        for i in range(self.n_atoms - 1):
            position_1 = self.coordinates[i]
            element_1 = self.atom_list[i]

            if not element_1 in atom_types:
                continue

            for j in range(i + 1, self.n_atoms):
                position_2 = self.coordinates[j]
                element_2 = self.atom_list[j]

                if not element_2 in atom_types:
                    continue

                dist = distance(position_1, position_2)
                if dist <= cutoff:
                    self.bonds.add((i, j))

    def draw_bonds(self):
        for atom_1, atom_2 in self.bonds:
            pos_1 = self.coordinates[atom_1]
            pos_2 = self.coordinates[atom_2]

            difference = pos_2 - pos_1
            center = (pos_2 + pos_1) / 2.0
            magnitude = distance(pos_1, pos_2)

            bond_direction = normalize(difference)
            vertical = np.array((0.0, 0.0, 1.0))
            rotation_axis = np.cross(bond_direction, vertical)
            angle = -np.arccos(np.dot(bond_direction, vertical))

            bpy.ops.mesh.primitive_cylinder_add(radius=0.1,
                                                depth=magnitude,
                                                location=center)
            bpy.context.active_object.data.materials.append(bpy.data.materials['bond'])
            bpy.ops.object.shade_smooth()
            bpy.ops.transform.rotate(value=angle, axis=rotation_axis)

    def draw_atoms(self):
        for element, position in zip(self.atom_list, self.coordinates):
            bpy.ops.mesh.primitive_uv_sphere_add(radius=sizes[element], location=position)
            bpy.context.active_object.data.materials.append(bpy.data.materials[element])
            bpy.ops.object.shade_smooth()

    def draw_structure(self):
        self.draw_atoms()
#        self.draw_bonds()

InGaN = Structure(r'\8x8x5-xIn=0.5.xyz')
InGaN.draw_structure()

Does it also happen with material alpha 1? Can you please add a sample data file?   See https://blender.stackexchange.com/questions/55965/creating-many-primitive-objects-quickly-with-python re copying object rather than multiple create primitive operator calls.

Try changing the "color" line to:
colors = { 'In' : (0.0, 0.0, 255.0, 1.0), 'Ga' : (255.0, 0.4, 0.4, 1.0), 'bond': (0.05, 0.05, 0.05 , 1.0) }

This did the trick! Thanks for the one-line fix :)

The materials you create in your script seem to be translucent, as you can clearly make out the contours of what is behind individual balls (hence the "color-blending" effect resulting in this pinkish color).
I do not know why this is the case, since the API clearly states that the default blend mode is set to OPAQUE when creating a new material via scripting.
My suggestion would be to create your necessary materials manually with Blender's powerful Node-Editor to get the desired result.
If you need an amount of different materials that would be unfeasible to create individually by hand, start out with one handmade non-translucent "Base"-material and copy it via scripting and just modify it's diffuse color every time you copy it.


text:
Is it possible to get a camera solve of large camera dolly?
I shot this footage of the beach from inside my car and i am trying to 3D track it and get some camera solve but blender doesn't seem to recognize the movement at all. I alway get huge solve erros and the camera doesent seen to move at all inside 3D viewport.
The Footage:
https://www.youtube.com/watch?v=-F5k8WtR528

Related: how to camera track complex shots

Yes you can track a shot like that, as long as you decide to put some effort into it.
The shot has enough information to create 3d information, as it clearly shows parallax. You should be able to get a pretty accurate reconstruction out of it.
The most important part is that you track the island in the far background (and maybe some clouds that show enough contrast on the edges),  then parts of the middle ground (the metal bars on the beach) and close elements on the street. The elements that are in the foreground close to the camera are going to be the hardest elements to track, since they move too fast, so you will need large search boxes for the tracker. You will need to track a lot of different points in the street, that come in and out of the frame.
Place your trackers manually, don't rely on the autodetect features of blender. You shouldn't track moving elements like the waves.
3d reconstruction works by estimating the placement of points in the 3d world by computing the changes of the objects on the images. Objects that are close to the camera move faster than those far away. Computing the difference in speed, blender can determine if objects are close or far, and where the camera is with respect to the objects.
Blender's 3d tracking capabilities are quite sophisticated, but you need to understand how to make them work for you. The most important aspect is that tracking is done as accurate as possible.
You will need to babysit the trackers and make sure they are not slipping or tracking unwanted features.
The most challenging  aspect of this shot are the elements that are occluded by passing objects (the bicycle, the palm trees will block the island, etc). Those blocked elements need to be tracked in different segments when the elements are visible, and then have the trackers joined, so that blender understand that it is dealing with the same element. Other elements can be tracked using offset.

confused?
Read very carefully trough the following links (yes, all of the text), all the information you need is there:
How can I get better results when doing camera motion tracking?
and Joining 2D tracking markers with an offset

Omg man! thank you much, you rekindled hope for a newbie! kkk. I have as matter of fact babysit the tracker but i had no idea about the importance of the background tracker points like the island.
I think what is learned here's to never give up, many thanks once again!

Yes, not giving up is important, but learning how to use the tools will make it less frustrating. Good luck on your project.


text:
Blender 2.8.3, Volume Scatter Fog, Does not scale up with mesh
I am using Blender 2.8.3 and am watching this video to create fog in my scene.
However, the after applying the volume scatter node to my material output, it appears but not to the scale of my bounding box but stays in the default cube form and size.
I will appreciate if anyone is able to help!


text:
displacement maps being applied in the viewport when in solid mode
I was recently working on a landscape and animating a robot dog to walk over that landscape. I quickly worked out that I have to have it in rendered mode for it to show the displacement, which meant that I could not animate it in solid mode, as the floor wouldn't line up, so therefore I had to have it in rendered mode. Although in rendered mode it is so unresponsive its unusable. My question is: Is there a way to apply the displacement texture when in solid/material preview?
Thanks in advance,
Tom

Unusual workflow... would it be possible/acceptable to use a preview-only   Displacement
modifier with the same texture?

As @RobinBetts said, here in more detail: If you use the same texture from the material's Displacement Node as texture in a Displacement Modifier with the same settings only visible in the 3D Viewport, you can use this to work in Solid View. The problem here is, the more detailed you want it in Solid View, the less responsive it gets as well - but maybe better than in Rendered View.
In the following example I have a landscape texture plugged into a Displacement Node, with Strength > 1.2 and Midlevel > 0.0, using the UV map as Texture Coordinate.
Setting the Displacement Modifier to be disabled in render and Coordinates > UV, Strength > 1.2, Midlevel > 0.0 with the same landscape map, the resulting landscape is the same in viewport and render. Of course the plane has to be subdivided enough to give a proper display f the texture. My plane is subdivided, but you can do with a Subdivision Surface Modifier  set to Simple and also disabled in render.

Here is the 3D Viewport render in Solid View from the modifier:

And this is the real render with the material displacement:


text:
animation not being applied in render
I just downloaded a stormtrooper model on blendswap and posed it for a render. Although when I render it, it just renders in the default position. In the viewport it renders with the new pose, although when I fully render it, it goes back to default position.
If you need I can attach screenshots.
Thanks in advance,
Tom.

could you please share your file? Just the armature, not the character: https://pasteall.org/blend/

Yes, attach screenshots. Don’t crop out the UI. My first guess though is that the Show In Render toggle on the armature modifier is off.

@TheLabCat Here is a google doc that has the 2 screenshots on: https://docs.google.com/document/d/1LZ43ItHHOzbQFQQ77KhVYDQrDehbei0E-BZ7Ndme7AA/edit?usp=sharing (apologies for the long link)

@Tom_nerd could you attach your blender file?

@YousufChaudhry here is a link to a google drive which has the file in it: https://drive.google.com/file/d/1UY9ezwCDSVlrA5G-zKFws2J20JNNW_sf/view?usp=sharing

@Tom_nerd There are no keyframes on your rig, it's still...

@YousufChaudhry Not animating it shouldn’t result in no pose retention at all.

@Tom_nerd For future reference, edit the question and use the built in image adder, and blend-exchange.com for most files. pasteall.org/blend is an alternative for larger files.

@TheLabCat Yes, but in case he renders an animation, or skips a frame, it will revert to the original. He probably forgot to keyframe, rendered a short animation or skipped a frame, and no result. He won't get the middle and after animation properties without keyframing. I think you misunderstood me, I said that without the keyframe you won't get the Animation Data for the render.

@YousufChaudhry But if there are no keyframes at all, it doesn’t have any reason to change. It would stay where it was posed.

@TheLabCat What you're saying makes sense on my end. But what he did was, I think, was to animate the first frame and then not animate the last frame, or maybe undid or I would guess, deleted the frames. Again, you're right but not a problem since it solved the OP's question,

@YousufChaudhry I’m concerned about the future. A slight technical misunderstanding like this could lead to massive confusion later on.

Let us continue this discussion in chat.

In your file, there are no animated keyframes appearing. You probably posed it and forgot to keyframe, try posing and keyframing it again and give it a render.


text:
network render on blender 2.8
I am starting to get into blender on my laptop (3500U quad core 6GB of RAM) and was doing fine at some basic 3d modelling but then I tried to do an animation and the room started shaking with fan noise and my laptop started sweating and the estimated time was in the days category for only a 90 frame scene. but then I thought, I have literally loads of raspberry pi`s(7) and an old laptop, and thought about doing a network render farm. so I excitedly went onto YouTube and saw loads of tutorials but they where all for blender 2.79 and not blender 2.8. I was wondering if blender 2.8 supported network render or if blender killed it after blender 2.79.
thanks in advance, Tom

For other stumbling on this question.  I have Blender 3.6.2 with Flamenco 3.2 and they work great together!  https://flamenco.blender.org/  Very easy to setup, big time saver!

You maybe looking for a render plugin called Crowdrender  https://www.crowd-render.com/
snippet...
Making 3d rendering faster
Render Farms use lots of computers to accelerate rendering 3d animation or still images. You can use our software to build a render farm from your own hardware and reduce your render times. If you've never built a render farm before, read our article on what you can expect in terms of performance and cost.
Building a render farm is simple
All you need is two (or more) computers connected to the same wifi or ethernet network and you can be rendering faster, that's it. We designed our software to install in one click and not require technical know how to use or have complicated setups.
Supports Free and Open Source 3d tools
Our software supports rendering in Blender using the cycles engine, EEVEE rendering is also possible. Our add-on for is tightly integrated with Blender's latest 2.8x versions, allowing you to render and post process the results easily.


text:
Sculpting Cursor Form
The shape of my sculpting cursor is elliptic on my cylinder. I don't understand as in edit mode, my cylinder is pretty subdivided.
Any idea where that comes from?
Thanks in advance for the help

The object has been scaled in Object Mode.
Apply the scale through Ctrl+A > Scale and the cursor will be evenly scaled as well.

Thanks a lot!! Fantastic, That's working:)!!


text:
Can't get my model out of wireframe mode in blender 2.59 after saved the blender file in newer version (blender 2.79)
I'm new to Blender and this site, so I apologize in advance if I'm not following any of the proper etiquette. I'm no artist, but I'm trying to learn Blender so that I can mod a skin to GTA:SA.
I need older version of blender to make my downloaded dff import/export add-on compatible, but I need newer version of blender too to be able to transfer weights between 2 objects.
The problem is even though the Object->Display->Maximum Draw is set to Textured in 2.79, there's no Maximum Draw dropdown in 2.59, and so the object is set to Wire with no way to change it in 2.59.
How can I solve this problem?
Blender 2.79:

Blender 2.59:

I'm not sure you can solve this. Blender is nearly always backwards compatible but not always forward compatible. New versions of blender sometimes come with a warning that opening and then saving older projects will result in the file no longer being compatible with the older version of Blender.

Yeah, I think so.
Thankfully I have the original .obj

Maybe open the 2.59 .blend first in 2.60, then in 2.61, then in 2.62... and so on and save each time. You may skip a few if you're lucky :) (oh, in your case it might be the other way around, from 2.79 to 2.7 to 2.6... or like that, which may or may not work - but worth a try)
Here are the releases

oh god oh no...


text:
No GPU rendering on Mac?
Is it really true that it's not possible to render on the GPU with Cycles on a newer Mac with an AMD GPU...?
Thanks!

Yep, in favor of Apple's new Metal API. ProRender or AppleSeed might work...


text:
Painting a dog with texture paint, TOTAL NOOB
I started blender and made a model of a dog. I tried painting the dog but it would not paint in the areas I wanted it to. It paints in random spots all around. I'm stuck. Here is the picture.
As you can see, I only put the brush on the eyes, but it painted the legs and nose too. The brush did not touch any other area but the eyes

on the left, on the UV map part, you can see that the eyes of the boar are overlapping the other parts of the UV map. So that's like eyes and these other parts share the same texture part.

How do i fix it

enter edit mode (tab), you'll see UV map on left view. Here you can select and move the UV map parts (same way as you can select, move, scale, etc in the 3D view).

Firstly you need to unwrap mesh into UV editor in Edit mode.
STEP 1: Goto "Edit mode" in 3D viewport by pressing TAB key or using the menu below

Once you are in Edit mode like this
Drag the window below just like this

Now, follow the image below to go into UV Editor.

Then hit U in 3D viewport and press "Unwrap" in the menu from the image below

After the unwrap you'll get unwrapped mesh in UV Editor something like the below image.

But you can see that all the unwrapped mesh is overlapped in UV Editor in image no.5.
You have the same problem with the mesh.
Now the solution starts.
You need to select the vertices of the mesh so that when unwrapped it needs to be unwrapped good. Check out the reference cube image that has its vertices selected.

After the selection of vertices in the mesh hit Ctrl+E in 3D Viewport and select "Mark Seam".

Then hit select all the vertices A+8 x2times, after all the vertices are selected, Hit U and select "Unwrap".

Now, after the mesh is unwrapped correctly, create new texture

And continue your Texture Painting.

You're Welcome!


text:
Blender 2.82 Liquid Simulation: Flask mesh as an obstacle just passes through
I have a flask mesh (UV Sphere+Cylinder Bridged -> Solidify Modifier -> Subdiv Modifier), applied as an obstacle in Bender 2.8 Mantaflow sim.
The liquid just passes through. I double checked the normals of the Flask and tried various settings but cant seem to get the liquid to contain inside the flask.
Please Help.

Found a tutorial
https://www.youtube.com/watch?v=lSlH1izJmxE
Hope this helps you!

What you are looking for and is in this video: https://www.youtube.com/watch?v=2O0QcLpAxV4&t=370s


text:
problem with clothing in blender
I am experiencing a problem at frame 188. Something strange happens to the shirt, as if it is being pulled from something. I want the shirt to fall on the cube and remain in the same place. I would appreciate it if someone could help me.

Hi. Please use a title that matches the content of the question. It should be descriptive but succinct, unique and identifying, summarizing the issue so that anyone searching for a similar problem is likely to find it. Remove anything superfluous, avoid using words like "this", "help with", "issue" or "question about", instead describe what "it" is. Remember, your title is the first thing potential visitors see, answers you get depend heavily on how insightful it is. See What is the problem of asking “How do I do this?"

Hello please share your file (only leave the cloth and cube): https://blend-exchange.com/


text:
I cant render any frame in blender
all of a sudden i cant render a frame or a sequence in blender
i tried to unstall blender from start but nothing changed
you can see that in the first image its rendering noramly and suddenly its stoped

its stope rendering

Hello and welcome, you need to explain a bit more about the issue, the image looks like a finished frame. what shortcut or button are you using to render a sequence. the more info, the better

Hello, the shortcut That i use its F12 i try to use cycle engine and eve and its doens work at all , when i try to render 12 frames for exmaple , it's only render one frome but it's doesnt work at all . i hope you understand now better

F12 is to render the current frame, while CTRL + F12 is to render animation


text:
How to create a line graph from csv data?
I store some data in a csv file which I would like to graph in Blender. I would like to make a smooth line graph out of it.
What I'm doing right now, is read the csv data with python and store it in a cube's vertex data (on which I've generated enough vertex points to store it all). This is done using geometry nodes. I can then use Instance on points to fill every point with a sphere, and give it the correct coordinates.
I would like to do the same but with a line graph (using a curve), yet it doesn't work. If I create a curve in Geometry Nodes, it ignores the data I pass it from the Named attribute node. Probably because that data exists in the original mesh, but not on the curve. I've looked everywhere and find no solution.
My question is: How can one procedurally create a line graph to represent csv data?

if Crantisz solution doesn't work, pls provide blend file because we really don't know what exactly you did and Blender is often just about the details...

If you have the same order of vertices in the curve and mesh, you can use Sample Index to pass data from one geometry to another:

Oh god, I was doing exactly this, with the minor exception of not passing the Index field to the Sample Index node (and it of course wasn't working). I have been going crazy for hours; this solves it, thanks.


text:
Is there a way to "apply" a texture mapped with Generated coordinates to a shader?
I have a sphere-like model shaded with a voronoi (4d) texture that receives generated coordinates. I didn't use UV or object coordinates because I couldn't solve the texture artifacts they produced, and the generated coordinates work fine.
The geometry of the model is extended with a boolean (join operation). The voronoi texture extends perfectly into the new geometry. But, when I try to apply the boolean modifier, the voronoi texture changes.
What I would like to achieve, is to apply the boolean modifier to the sphere-like mesh without changing the way it is textured (I spent a long time tweaking the voronoi to the point where it looked how I wanted it, and it now changing is a big inconvenience).
Is there a way I can "apply" the shading texture first? In a similar way in which I can apply any other modifier, like a deform modifier if I wanted to change the mesh before joining it. Maybe I can "extract" the voronoi texture to its own 3d-image file, then import the file back into the shader? Or can I add a node that "captures" the generated coordinates and retains them after the boolean modifier is applied?
Thank you.

You could bake the texture?

Sounds like exactly what I'm looking for, thank you. Apologies for my low skill level.

How can I mark the question as solved?

You can't mark the question as solved. The principle is to have an answer and accept it. In this case, either @moonboots will write an answer or you can do it yourself.

I'm not sure it will work though, I'm testing it

Duplicate your object A (object + its boolean object), apply the modifier of object B, unwrap B, give it a material with an Image Texture node (use the Texture Coordinate UV output this time), select A, shift select B, bake A to B (settings below):


text:
How can I fade out a strip that requires an Alpha Under effect?
I have two strip with images and one effect strip.

Strip 0 has a standard JPG image that I set for the full length of the render.
Strip 1 is a PNG with alpha layer that contains text.
Strip 2 is an Alpha Under that is required so I can see Strip 0 and Strip 1 in the final render to video allowing the text to be rendered on top of the bottom strip.

My problem is I want to fade out Strip 1 so the text fades away and does not effect Strip 0, unfortunately nothing I have tried works.
I tried:

Keyframing opacity on Strip 1: The opacity is changing but there
is no effect on Strip 1. It does not fade away.
Keyframing opacity on Strip 2: This fades out all Strips
I tried making a Meta layer with all three strips and keyframing an opacity change. This would work if I added another strip of the same images as Strip 0 but there is a darkening in the final render. This also required another Alpha Under strip. The end result is not clean.

How can I fade out a strip that requires an Alpha Under effect?

All you need to do is:

Remove Alpha under effect strip
Set Image with text and alpha channel above jpg.
In N-menu set Blend type to Alpha Over.
Animate Opacity of text layer to create fade out effect

Thank you so much. I played with the Blend options but never in exactly as you outlined. I thought I was going a little crazy :P

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


text:
My model is translucent in solid mode

I have had this problem since I fixed my previous problem of have my model disappearing when I closed in on it. I have tried the "Limit selection to visible" at the bottom of the screen and some other method but end up nowhere. If you can help please do so If you need the .blend file I can provide

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


text:
Mesh added to scene is off axis
I am very new at this and I'm not entirely sure how to explain this stupid and I'm sure easially fixable problem... I have the cursor and origin set to the center. But when I add mesh like a flat plane, it is added facing flat to whatever my view is instead of adding at 0x 0y 0z. So to add a plane flat with the grid, I have to be in top view (7).

okay, so, what you have to do is hit f6 AFTER adding the object and uncheck Align to View. you can also access these options at the bottom of the Tools Shelf (if you don't see it, look for the + sign at the bottom and click it). hope this solves your problem :]

Yes, and as of 2.8 default keymap it's now F9 instead of F6 (for some reason)

Right after adding your object, uncheck the [   ] align to view option in the toolbar. If you don't see the toolbar, hit t and it will pop up on the left side of the 3d view.
Edit --
Just to add Zac's comment: you also can access this menu by hitting F6 after adding your object.


text:
Changing grease pencil layer order in python
I'm trying to reorder my layers in my grease pencil object using python. The only way I found to do this in code is to make the layer you want to move active and then to use the following command:
bpy.ops.gpencil.layer_move(type='DOWN/UP')

But this is not practical when working with multiple layers, and takes a while to execute with the code I currently have. And since I know exactly the order in which I want my layers, it would be much better to assign an order id to a layer directly, and not have to deal with an operator. I've been looking for something that looks like gp_layer.layer_order which would do just that. But I haven't found such a thing and was wondering if it existed anywhere, or if anyone knew of a more efficient way to reorder grease pencil layers.

like so much of the interface, there is no way to specify a specific order.  You just have to use the up/down tools.

As Marty Fouts already mentioned in his comment there doesn't seem to be a way to do that directly - you would need to write a function like that yourself.
But you don't need to operate on the active layer, you can access the data structure itself.
This could be done like the following:
import bpy

layer_order = [
    "layer_1",
    "layer_2",
    "layer_3",
    "layer_4",
]

layers = bpy.data.objects['MyPencil'].data.layers
# We need to reverse the layer order because the first layer displayed in the UI is the last index in the collection list.
layer_order.reverse()

for i in range(len(layer_order)):
    current_index = layers.find(layer_order[i])
    difference = abs(i - current_index)
    layer = layers[current_index]
    for j in range(difference):
        # "DOWN" moves the layer UP in terms of index, e.g. index 3 moves "DOWN" to index 2.
        layers.move(layer, "DOWN")

You would need to define the layer order (I used a list of the layer names and used the indices of that list) and be aware that the UI displays the collection of layers in reversed order.
In the pencil accessing part (bpy.data.objects['MyPencil']) you need to put in your pencil name.
Hope this helps!


text:
maintain normal map scale when using a shape key
I will try to explain as best as I can what I am trying to accomplish
Simply put:
If you have a repeated seamless normal map, is there a way to stop it stretching when using a shape key while allowing the base texture to stretch.
More detailed:
If you have a flat plane with a lava texture and you use a shape key to make a bubble, is there a way to keep the normal map the same area scale.
So no matter how big or small the bubble gets it still has the same constant rough texture.
I'm thinking it will be to do with texture coordinate and mapping but I can't seem to figure it out.
unfortunately I don't have a save file to share.
Sorry if this makes little sense I can't think of a better way to describe what I'm attempting

You can do that by using any texture coordinate that doesn't depend on your object's geometry. Like the Wordl socket.

Can you elaborate on this. I taught myself blender and still have a lot to learn.

You could use geometry nodes to interpolate between different meshes, each UV unwrapped. So then you would interpolate not just the geometry, but also the UV map. Though UV unwrapping the meshes in such a way the interpolation makes sense, might turn out very tricky - this will depend on the effect you're going for with the mesh morphing…

One way to map textures onto an object independently of its geometry is to use tri-plannar mapping.
You can achieve this by using the texture coordinates of another object (typically an empty that you leave at the center of the world), and project your texture from a box shape around your object, with some eventual blending around the projection box's edges to hide the seems.
Though this method is more appropriate for using tiled repeatable textures.
Here's how it looks in the shader editor:

And how it looks when editing the object:

If you want to use UVs instead, there isn't really a way. You could try to make duplicates of your UVs to adapt them for shapes that stretch too much, and then use a mix color node to switch between the two UV maps when you turn your shapekey on. But this will never be a perfect solution either.

I think this will work for what I need, thank you


text:
How can change Rotation values without rotating
I have a 3D model and it have rotation values like -76 , 80 , 90. I want to rotation values 0,0,0 but without rotating only must values changing. It is possible ?

Ctrl + A > Rotation.

Yes, Please make sure you are in Object mode
Hit Ctrl + A and select Rotation form pop up menu
As shown step by step below:

All zeros

Best of luck :)

Please mark it correct answer, if it worked for you

Make sure to press "N" if the Transform pane shouldn't be visible!


text:
Deform a complex pattern along a 3d path, maintaining vertical
I am trying to create a patterned railing for a curved staircase, like this:

Except that in my case, the staircase does not have a constant curve. This is a straight segment of the railing I am using:

What is the best way to do this? I have tried deforming the railing along a curve. I can get this to work for a horizontal path, but when I add a vertical element, the uprights of the banister do not remain vertical. By the first curve, the railing is no longer perpendicular to the floor and by the bottom of the staircase the railing is lying horizontally or even under the floor.
I have tried using an array modifier with an empty, but the size of one segment is too large to follow the curvature of the stairs accurately and organically. I don't want to make the pattern smaller in this situation.
I have tried using a lattice, but the results are lumpy and it is hard to maintain a constant thickness. Additionally, since not all the parts of the railing are attached to one another, parts of the metalwork begin to protrude through the handrail when steep angles are needed, along with other unwanted deformations.
This is what I've got so far:

Thanks for your help.

Possible duplicate of Object on curve wont stay flat!

Also related https://blender.stackexchange.com/questions/49265/how-to-edit-curve-but-not-ruined-tilt-settings and

One way to do this is to use the mesh deform modifier. The modifier works similar to a lattice but will give you much better control and much smoother deformation in this case. Here's how you could go about doing this:

Use an array modifier or whatever you need to get the railing to the approximate length for the curve.
Use a cube and create a box that fits around the railing closely. Add a number of edge loops to the cube on the long edges.
Create a Base Shape key and then add a second.
Add a Mesh deform modifier to the railing and select the cube you just made. The default settings should be fine so click bind. Depending on the complexity of the meshes this may take a bit.
Select the cube and make sure you have the second Shape Key selected (not the basis one). Now go into edit mode on the cube, and make the mesh follow the curve of the stairs. The cube should now deform the railing like a lattice does. If there are any parts sticking through the cube or not moving you can unbind the modifier, make the cube a bit bigger and rebind it. All of the railing will need to be inside the box for this to work.
When you leave edit mode, because of the shape key, the mesh will snap back to the unedited state. Slide the slider to 1 and it will move back.

The reason I think a shape key will help you here is because you may need to add more edge loops to the cube or adjust the length of the railing at some point. Whenever you change the number of vertices on either object the mesh deform modifier will have to be unbound and rebound. If you didn't use a shape key you would pretty much have to remake the cube or try to reposition it back to the original shape.

This was clear and useful advice, thank you. While the results were definitely better than my other attempts, I found that the railing became extremely thin over the course of the turn. I tried to compensate by stretching the loops, but this only seemed to affect the curvature of the railing, not the thickness. Additionally, some of the loops did not seem to affect the railing at all, despite unbinding and rebinding. I am certain that the cube more than enveloped all the railing's vertices.

Thin vertically or horizontally? You shouldn't have to stretch any loops, have you tried rotating the loops on the z axis? Unlike a lattice you're free to move the mesh as you need. I would try viewing it from the top and rotating the loops so they smoothly follow the stairs and remain the same thickness all the way up.


text:
Blender Sculpt brushes don't function properly
I have a really hard time explaining this, but I'll try.
My Brushes don't work flowy and soft like they did before, they just make really weird strokes. like multiple sharp edges or bumps instead of one single smooth line, and i really can't do anything like that. Every brush has the problem of not working precisely and just make the weird sharp stuff all over the place. The only thing still working is smooth. I already tried a lot with resolution, Dyntopo and stroke adjustments, but nothing helps.
The problem started pretty sudden, I noticed immediately when i started sculpting. I updated my blender version, but that doesn't help either.
I added a picture, where i tried to draw a single line with SculptDraw in the mouth area.
I'll hope someone can help or explain.

It's likely caused by sculpting applying on the unscaled version of the mesh, in Object mode select the model, press Ctrl+A > Apply scale,

I was having this issue too. I don't know why this is occurring but I can confirm that Mr Zak's solution worked for me.
To clarify on his instruction:

Create a backup of your work
Switch to object mode
Select only the model you want to sculpt (you can only choose one at
a time)
Press Ctrl + A
Select Scale from the pop-up menu

The fix is complete and you may now switch back to sculpting if you wish.


text:
Advice on samples and noise threshold for final renders?
I recently finished modelling and texturing a couch and I am ready to render. My initial renderings lose a lot of detail and most of the textures aren't readable. I played around with the render settings (samples, noise threshold, etc.) but I am not seeing any noticeable difference. There seems to be much more detail in the Viewport display as opposed to the final render. How do I increase the level of detail in the final render?

what does it give if you increase the resolution?

A much better result lol. Thank you so much!

Hello and welcome. While files, images, and external videos or links may be helpful additions they should not be the only way to obtain information about your issue. Don't make understanding your question rely on downloading a file, watching a video or visiting an external site. Use the builtin tools to upload images or gifs, along with thoroughly explaining the problem in written form so it can be indexed and searched for thus helping future visitors with similar issues.

It looks like it's just a problem of resolution, increase it in the Output panel, in pixel, also make sure that it is 100%:

Maybe describe in a little more detail what image resolution is, and how exactly to increase it. Yes, they should already know that, but they don’t.

Sure, I've edited  ;)


text:
How can I make these clouds 100% opaque
I'm trying to create a late evening scene with clouds on the horizon, and I need the background volumetric clouds to be grey and opaque, but I can't find any way of doing it other than making them black.

Is there a way of making these clouds fully opaque without being completely black?

Fully opaque? Well, use a Principled BSDF and instead of controlling the density, use the textures to drive the Alpha value. But even then you will have the problem that the clouds are backlit. If you want them to appear grey, you need a light shining on their front side.

You could add a math multiply node to lower the density. Or increase the emission

@Chris Lowering the density makes them more opaque?


text:
how do you save video as mp4 on blender?
i looked up everywhere how to save video as mp4 on blender and im not seeing one post related to it since 2015.... so how?

Choose MP4 as File Format in the Output Properties instead of PNG, and set the Encoding options to your liking and render the animation with Ctrl+F12. And I don't know where this "everywhere" is you were looking, but entering "blender render mp4" in Google search gave me this as the very first result: How to Export Video in Blender: MP4 Video Format which is 4 months old, definitely not from 2015.

You need to select ffmpeg before MP4 becomes available.


text:
How to acquire the colors assigned randomly to meshes to feed into base color from color ramp?
I have 125 meshes and I used a object into random socket and plugged it into the color ramp.
But when I am exporting the animation in .glb format the colors aren't exporting.
It was because base color is not assigned individually.
Is there a way I can extract the color codes of every mesh and feed them into the base color of every individual mesh without doing it manually?


text:
How do I change order of these materials?

I want to rearrange these materials for example I want M_Body to be on top.

Materials are listed alphabetically, only way to rearrange them is by renaming

As Duarte says, Materials are listed alphabetically, you need to rename them

That doesn't change the order in the drop down material browser, as Duarte pointed out they are listed alphabetically.

oh sorry you're right


text:
Only half of the object is shiny

Hey, so this is my problem. I want to have the whole object bumpy and shiny like the right part, however only 2 sides are like this, the front and the end is mat. They have the same material, in UV map I smart projected it, they are the same size and position there, still getting this result

pls provide material nodes and/or blend file

@Chris here you go: [link] https://drive.google.com/drive/folders/1YdopXvHC9v_oOtBLlnl6q6DAtWZdi8b2?usp=sharing [/link]

just apply the scale of your house, then you will get:

Hint: maybe you should adjust your uv map a bit so that it looks better ;)

Thanks a lot! Yup, I was not done with that :P