text:
Is there as way to export a blender object for cnc machining so it doesn't become a huge file size when converted to .stp?
I am a beginner. I want to export a blender object to be cut on a CNC machine, the workshop ask me for a .stp file or a .igs file. My blender object has 250,000 tris, when I export to .stl the file size is 9mb but if I convert this file to .stp it becomes a huge 500mb file. Is there anything I can do within Blender before exporting the object to make this file size more reasonable?

By the way... in addition to the suggested answer below: Many CNC machines can be driven off Adobe Illustrator files, which are vector based. If your final object is a two-dimensional print on a cut-out, place your raster image inside an AI cut line.... We do this quite a bit.... But for machining a true 3D model, see answer below.

This is a good question, and the answer unfortunately is mostly "no". IGES and STEP files are (mostly) CAD/CAM files, and are not point- or polygonal-based. The file format itself is ASCII, and dates back into the 70s. It is great for driving CNC machines, since that's its history.
Some modeling programs (Rhino) can get you there from nurbs-based modeling. I am not aware of any option in Blender (or ZBrush, Maya) allowing you to get a clean IGES.  You can get STL files, which are great for 3D printing and which some routers will accept.
There are a number of programs that will go back and forth between Nurbs, STEP and IGES...  and some higher-end products (SolidWorks) will bring in an stl and generate an IGES or STEP.
If you finda  better answer -- post here. We use Blender for a lot of 3D output, but when we need tooling, typically we need to have IGES... and this is the best info I have at the moment!

I used the affordable automapki autoconverter to convert my STL to STEP, it appears to my inexperienced eye to work fine for objects with a few thousand tris but anything bigger and the files get huge. The object will be a core for a lost wax bronze sculpture so detail is not so important, I will sculpt that back onto the wax before casting. I may have to cut it as a low poly object with the CNC machine and finish it off with sandpaper, not the ideal solution!

You could also potentially just convert your model to STL and then have your part 3D printed in PLA. There are some good videoes on youtube of people using 3D printed PLA parts over wax for casting. Check on 3D hubs for an affordable printer near your location. Also check out fusion 360. It is a free CAD program. You can export from blender to obj, and then import into fusion and convert the mesh into a BREP which you can export to step. Converting from mesh to BRep can be tricky if you don't have a clean mesh. You may need to use netfabb or meshlab to repair it.

please try to keep answers based around blender.

I don't think this is about blender, and I also don't think it answered the question.


text:
How would be the best way to render a camera oscura
https://en.wikipedia.org/wiki/Camera_obscura
I am trying to recreate a pinhole light effect in Blender. I tried in Luxcore but with my settings it gets very slow and the results are very poor. I am working with low realism. I am really more interested in the silhouettes of objects and the shadows that they cast. I am looking to recreate some curious effects I have observed of the shadows cast when sunlight shines through dense foliage.

This tutorial seems to be the best description that deals with both EEVEE and Cycles

These steps are from This tutorial.

Delete everything from the scene but the default cube.
Edit the default cube
Select all
Edge -> subdivide so that you now have edge loops everywhere.
Select the center vertex of one of the faces and use CTRLSHIFTB to bevel it.
Set the bevel Segments to 3
Set the bevel Shape to 0.085
Set the bevel Width small. I used 0.034m

delete the resulting faces, giving a circular hole in the center of one face.

add a new material
Make it black
set its roughness and specularity to 0
assign it to every face except the four faces opposite the hole.

If you're using EEVEE as your render engine, disable soft shadows.
Make sure that the world generates no light.
To demonstrate place a point lamp at (2,0,0) and gave it 1000w of power.  Place the camera at the hole and pointed it at the back wall. Give it a 17mm focal length:

Here's what the back wall render looks like in Cycles:

Thank you Marty for answering this question. You have described how to make a basic pinhole camera although the surface on which the image falls should not be matte black.

I need some help with the render settings, I am not looking for anything near photo-realism but I do need to render considerably more detail than just a point source.

Take a look at this youtube video by MrSorbias for how he approaches the lighting.

I will still need a much higher sensitivity, I will need to be able to render several objects in a 3d space, I could work without indirect light at a pinch. The objects could have emit materials. The light would have to pass through several different shaped orifices in the camera obscura the result would a compound image. I will then need about 250 frames of animation for each test. I will need dozens of tests.

source: Stack Exchange

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

sort: votes


text:
Cell Fracture not appearing when activated
I just installed the latest version of Blender v2.72 because I wanted to play around with its cell fracture addon.
I go into user preferences and check the box to activate cell fracture. Save Preferences and exit the menu.
I go into edit mode and select the cube in the scene and look for cell fracture on the left tool menu and it is not there. In all the tutorials/demos I have seen of this it has always just appeared in this menu.
Is there a step I have missed?

Works for me.. Does it work if you press Load factory settings in the file menu before enabling the addon?

You cell fracture in object mode, not edit mode!

@GiantCowFilms Care to add that as an answer (perhaps with a bit more detail)?

Look in the 2nd layer (hit 2, above keyboard, not on the number pad).

As GiantCowFilms said, the cell fracture addon is used in object mode:

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


text:
Blender black areas after baking

After the baking process is completed, black areas appear. When I searched on youtube, I saw that I needed to set the metallic value to zero, but the metallic value is already zero and the problem persists. How can I properly bake?

Hello could you please share your object? https://blend-exchange.com/

@moonboots I have attached the blend file

So what object are you trying to bake on what other object?

@moonboots I connected the problematic images(with black areas) I obtained after baking to the first object so that you can see the problem better. The other is the original object I put into the baking process. it's like before and after

The unwrap is incorrect, some UVs must overlap, unwrap again, with the Smart UV Project option for example, and bake, and it works

@moonboots Problem solved. Thank you very much

The unwrap is incorrect, some UVs are overlapping, unwrap again, with the Smart UV Project option for example, bake, and it will work.

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


text:
Tissue addon frame fill mode cant be tessellated (error)
I recently discovered tissue addon and started to experiment with it. Everything works great, only frame fill mode is allways making error no matter what the shape of segment I try (I tried even exactly same segment as is mentioned in Bblender manual and I checked normals). What am I doing wrong? - I just want to make same tessellation as is in the manual.
Can someone show how to make this example? Thank you so much, I am getting numb from trying over and over.
(Also patch is making same tessellation as quad, but I can make another thread about it)

All solved - the built-in tissue addon is damaged - you need to erase its source codes and replace it with a stable version which you have to download separately.
This version works: https://github.com/alessandro-zomparelli/tissue/releases/tag/v0-3-54
Now everything works.


text:
Light / Mesh inconsistency in one area - Cycles
I'm trying to understand what's wrong with the lights in my scene.
I've made some kind of sci-fi corridor, inspired by the interior of an aircraft cabin.
The main mesh is first mirrored and then replicated with an array (blend file attached).
I'm struggling to correctly light the scene, I would like all the light sources to come from emitter materials properly assigned to the mesh itself. The overall result is not how I'd expect it. I have lots of light sources, filmic enabled, but very poor detail with 512 or even 1024 samples. The bad result is even more evident if I throw in a character made with Manuel Bastioni Lab: I can barely see the skin, is very dark like there's not enough light, but at least to my eyes there's even too much light in the scene overall.

Then I noticed a strange behavior: the light on the floor near the bottom of the front wall (green box highlight). I really don't understand why the light is distributed in such a way in that portion. Moreover, hiding the wall doesn't change the result, and if I render the opposite side everything's ok.

Is there anything evidently wrong with how I'm distributing the lights? Or something's wrong with the mesh? The materials are those from Poliigon and worked pretty well in other cases.
By no means I'm aiming to photorealism: I'm just learning, trying to model and correctly distribute lights. Once I'm done, I'll try to export everything to UE4 and recreate the materials to achieve roughly the same outcome (I know UE4 isn't raytracing, but I'd like to use a few cycles rendering as "artwork references").
Here's a low quality version of the Poliigon carpet texture I'm using:

There seem to be lots of textures in your materials which are absent from the download and can't be diagnosed. Your materials appear to be mostly plain white, not sure what all those textures are actually doing there, but I'm gonna blindly guess they may be influencing your normals and altering the expected results

If you look at the normal map output in FabricCarpetFine001_4K I can see the pattern, however the .blend doesn't have the normal map so I'm not sure if that's the case for you too.

I'm not sure I can pack them, those are payed textures. I'll try to make low versions to show here.


text:
Geometry node to align an object with the direction of the edges on a line-like mesh

What I want to do is the following: I want some way to easily make objects that look like a system of tubes or pipes. I start with an easily-editable mesh that is basically extruded points (edit mode of a cube, select all vertices, merge at center, extrude extrude extrude and then you end up with a segmented line like in the picture below, the black lines underneath the cylinders). I tried with the solidify modifier and some other ways but they all don't give me the corners I'm looking for, so now I'm trying to implement the following strategy.
My current approach is: if I make a geometry node that will position a cylinder at each vertex of my mesh except the last one, then orient that cylinder so that it points toward the next vertex in the mesh, and then scale it to the length of the edge, I'll have the connecting pipes part done (I'll then add spheres on each vertex to fix up the corners). I tried several different approaches in geometry nodes. The most promising is also the most straightforward: for each edge, I take the location of the start- and end point; subtract them from each other; then rotate the cylinder around the Z axis by the angle of the result of that subtraction (I'm only doing this in 2D, so we can assume the Z position of all vertices is the same). This should be possible with some simple trig. And indeed it works for the first and last vertex, but not the ones in between. Note in the screenshot below that the first and last cylinders are aligned with the edges connected to them, the others are sort of in the middle between the two edges connected to them (but not exactly). When I move the edges around, the rotation of the cylinders on those two points tends to flip around quite a bit, while those at the ends stay correct. So this doesn't seem like it's an issue with flipping signs because the result of the subtraction is in another quadrant.

This is my node setup:

Any ideas on what I could be looking at? Or even just tricks on debugging geometry nodes? I've found the 'spreadsheet' view but I'm having a really hard time finding out what values are being passed around, and the concept of the 'fields' in- and outputs is making things quite a bit worse. Yes I've watched several Youtube videos (and the manual) on what they are and how they work, but I can't seem to get them to work with the 'instance on points' and related nodes.

Meta: I tried to edit the question to attach the blend file but it looks like that's not possible? What's the easiest way to add a blend file?

you can use https://blend-exchange.com/ and paste the link you obtain here.

Ah I see, great thanks.

to ensure a regular thickness, small angles will be hard to handle. How do you expect it to be, for small angles?

You are mis-using (or not using ) the spline geometry node. that node just seperates geometry depending on a selection [and with no selection it does nothing ], so your 'Instance on Points' is still using the points.
What you want is the 'Mesh to Points' node set to Edge.

You are calculating the rotation wrong. Use the 'Align Euler to Vector' node. Use the direction (the output of your vector math subtract) as the Vector (not rotation) input of the 'Align Euler to Vector' node.

Once you use the 'Mesh to Points' node, it won't have edges vertices etc., so you have to capture the rotation (or at least the direction) before you use the 'Mesh to Points' node. Afterwards use the captured rotation as the Instance on Points''s rotation.


text:
Why does "Apply pose as rest pose" actually just reset the mesh to the original rest pose? How can I apply a new pose?
Other threads don't seem to have my issue, or I'm not finding them. I have a video to show exactly what I'm talking about.

Video: https://youtu.be/Xw67Svycj2I
I have a pose, set with the skeleton, but when I "Apply pose as rest pose" it resets the skeletal mesh to the A-post. I want to be able to apply the pose and actually keep it in the SM.

The rest pose is your armature with no transforms on the bones. See it as your default pose from which any keyframe and deformations are calculated.
To set a pose as a rest pose means to change that point of reference, and therefore all the underlying transforms operated by keyframes, and deformations on meshes bound to that armature. But since you made that pose your new rest pose, it also means that the way your armature is right now is with no transforms. No transforms means no deformation, so your mesh is doing exactly what you ask from it: nothing.
If you really want to preserve the mesh as it was posed before applying the pose as rest pose: first apply the mesh object's armature deform modifier. Then apply the pose as rest pose. Then if you still want to animate, add the modifier again.
That being said, looking at the pose in your screenshot, it doesn't look like one that should be a rest pose. Why do you try to apply that?
If you need to come back to that pose often, you should store it with the asset browser (+ pose library addon if still needed).
Your rest pose should be neutral, fit for skinning and handling rigging technicalities. And you can't change it as you create animations.

This is the answer.
But to answer your question. I don't want it as an actual rest pose. I'm trying to import a neutral, non combative sword hold pose to Unreal. I couldn't figure out how to actually save the pose so I tried to just apply it as the base pose.
I managed to get it to Unreal but I don't really know how. I don't see a way to save poses or anything.

That's a totally different matter then x) From a data perspective, there isn't really a "pose" data in the same way we could have a mesh or an image. It's actually a one-frame-long animation. So getting a pose out of Blender into another software is the same workflow as exporting/importing any animation.


text:
"Snow" character rig - How to use FK arms and legs controls?
So as you all might know, Blender recently released an official free character rig "Snow" that can help you gain animation skills. And everything seems good except for the FK arm rigs and leg rigs. The middle stomach FK rig doesn't work either. The IK rig works fine but I can't figure out what's wrong.
So in this picture you see I have his torso rig selected right?

and the the character's torso moves with the rig.

but look at the arm...

And notice the arm itself doesn't move with the rig at all.

nor do the legs.

and the belly (above the torso) doesn't work either.

Please oh please help!!!

Is the rig the CloudRig of Ellie? ... oh! nevermind, it is.

First, Focus on the "FK/IK Switch" panel of the CloudRig settings tab:

Each of the five switches are meant to be toggles with 0 meaning "use FK" and 1 meaning "use IK"; although, as this answer points out, they are actually implemented as "influence" so that you could have a rig that's partially controlled by each.  (Don't try this at home.)
Anyway, you have the values all set to 1, meaning that Blender is ignoring the IK rig in each case.  For FK set them to 0.
Setting Spine, Left Arm, and Right Arm to 0 will give you FK control, including the Rib Cage.
There's one other thing to know about using the FK rig.  Open the FK panel. It will look something like this:

Those values are also "Influence" values, and they're to help animators. Take the Head value.  If you leave it at zero when you rotate the Rib cage control, the head will stay at the same angle on the neck, bending with the rig.  Sometimes you don't want that.  If you change it to one, the head will hold it's angle as it moves.  (It makes more sense if you experiment with it than it will from this description.)
Anyway, the whole point of these things is to make the animator's job easier.  Sometimes it's easier to position an arm or leg by using IK, other times not.  Sometimes you want the head to move with the torso, sometimes not. The various switches and influences are to give you that control.
(An example with the head.  Suppose you rotate the torso on the Z axis.  Maybe you want the head to keep looking at the same point, so you set head hinge to 1.  Sometimes you want to move the torso to help move the head so you set head hinge to 0.

Thank you so so so much man! You just made my day!

@sean you are very welcome.

do you know how to make both fk and ik work?

@sean You can't use both at once.  However rigify does have an IK/FK "snapping" switch that will cause IK bones to snap tp the current FK or vice versa, so you can can work with IK for a while, snap the FK bones into place, turn the switch to FK and then use the FK bones.  I'm not sure how the CloudRig variant works, but I think its the buttons that look like two circular arrows.

The CloudRig is a featureset for Rigify. Like the Rigify rig, it has a few settings to switch between FK and IK controls. The switches for the legs are called Settings > FK/IK Switch > Left Thigh and ... > Right Thigh and are on the CloudRig tab in the side panel (N) of the 3D viewport. There are also Left UpperArm and Right UpperArm for the arms.
Example:

FK (value 0) -> the leg is extended horizontally
IK (value 1) -> the knee is raised and the leg is bent

With the "circle-arrows" icon, you can snap the FK controls to IK controls and vice versa.

(Ellie you can get from blender.org as Pose Library. If Blender freezes when you open the blend file then use File > Append... to add the CH-ellie.* collection(s) to a new blend file. Don't forget to enable Rigify and to install the CloudRig. Run cloudrig.py on the Scripting workspace to add the buttons in the N-panel.)


text:
How do you bake with particle instance?
So I've used a low poly hair card with Particle Instance modifier to create fur. but it's quite heavy by the end, and I wanted to reduce the poly count if possible. how would you guys do it?
I was thinking maybe about baking it into a low poly, but I'm not sure if it'll work. I'm sorry if this is a dumb question, this is my first model I've made and I have never tried baking before. I've tried google for hours, but I don't think all the baking tutorials can really help. Really appreciate all the help.
this is my model
but the fur is too high poly
 I was thinking about using the vertex group from the body, solidifying it, and baking the fur into it, but I'm not sure if that'll work.

Why the downvote?

@Blunder -- I think you intended to provide a link "[this model]" but it didn't take.

@james_t Yeah, the enter key sent the unfinished comment >,<

I think you have way too many hair cards (particles). Have a look at this model it also uses hair cards. You can see them when you activate wireframe mode. (From far away it looks a bit odd but great when you get closer). Here is the full article: https://sketchfab.com/blogs/community/tutorial-real-time-fur-hair/

If you want to bake the particles (no hair cards) you need to convert them to a mesh (= a few million vertices!).  Then bake the particle mesh to the low-poly body. Bake type = Diffuse Color. To make the strands a bit thicker you can convert the mesh to curves, extrude them (curve settings) and convert them to a mesh again. Here is a baked example (no extrusion):
https://blender.stackexchange.com/questions/239984/baking-of-a-hair-cap-doesnt-work/240006#240006

If you look at many hair tutorials, low poly hair is not made from blender physics hair.  Perhaps you might investigate some of these tutorials, or perhaps using a distort (with texture) or other pseudo technique like https://blender.stackexchange.com/a/56537/111042

thanks every for the resource, u guys are awesome :D


text:
How to copy a rest pose between armatures?
I have two different meshes (A1 and A2) that are each skinned to an armature (B1 and B2, identical in setup) that currently have different rest poses applied. I want to copy the rest pose from armature B1 to armature B2, so they are identical. How would I go about doing this?
I've tried using the Pose -> Copy Pose/Paste Pose feature between the armatures, but that won't work, as it seems to be using the current rest-poses as reference starting points, and those differ from one armature to the next.
Any suggestions?
I am using Blender v2.70 (can't use 2.71 due to FBX exporter not supporting shape keys).

You could use a Pose Library to store and reassign as many poses as you want.
A Pose Library  can also be shared among the rigs. Technically it is an Action, thus it can also be edited in the Action Editor mode of the Dope Sheet.

How does one share a Pose Library between rigs, though? I do have one pose stored in such a library on one of the rigs, but I am unable to access it from the other rig (it shows as empty).

I've added an image on how the poselib can be selected.

Ah, right. Found it, thanks. Unfortunately, the poses stored in the Pose Library also seem to rely on the current restpose of the rig as starting point when applying the pose from the pose-library. So if I move an arm in the original rig, store the pose in the pose library and then apply it to the second rig, the arm moves the same distance - but using a different starting point, so ends up at a different place.

When you apply a pose only the selected bones will be affected.

Yep, but I have tried with only a single bone selected (stored pose from one bone, applied it to same bone in different rig) and with all bones selected. The pose transfers - but is applied using the rest-pose of the rig as starting point, and those rest-poses differ between the rigs (which is the essence of my problem - I need them to match).

@Xoduz I guess that is only possible with a small script if there isn't an add-on already. Easier might be to copy one armature and use that as a target for the armature modifier instead. Depends if you have poses/actions on both armatures already.

Note
This answer doesn't actually quite work, but I think it's close. I think I have to set the newConstraint.subtarget to match the same bone from the target armature, but I don't know a good way to do that in the script.
Instructions
You can use a Copy Transforms constraint to copy the pose of an individual bone. Then, once you have the settings right, you can use Python scripting to copy that constraint to every bone.

First, select one (and only one) bone, and add a Copy Transforms constraint, with the following settings:

target is the armature you want to copy from
target space should be set to Local Space; but the owner space (the coordinate space for the bone we're constraining) should be set to World Space, as seen below:

Leave the other settings as shown below:

With the same, bone selected, go to the Scripting tab, and save off the the constraint to a variable
>>> template = bpy.context.selected_pose_bones[0].constraints[-1]
>>> template.name # Verify the name
'Copy Transforms'

constraint[-1] should be the last constraint added; constraints[0] is the first constraint, but if you have multiple, you might have to try [1] or other indicies until you get the right one.
Go back to the Layout tab, and select all the bones (shortcut: a).
Go back to the Scripting tab, and save the selected list of bones
>>> bones = bpy.context.selected_pose_bones[:] # Make a copy

You are now free to change your selection in the Layout tab without affecting the contents of the bones variable.
Loop through all of the selected bones, adding a new constraint and copying the settings from the template
>>> for bone in bones:
...     newConstraint = bone.constraints.new('COPY_TRANSFORMS')
...     newConstraint.target = template.target
...     newConstraint.target_space = template.target_space # 'WORLD'
...     newConstraint.owner_space = template.owner_space # 'LOCAL'

You're done! Go back to the Layout tab, and verify that the armature is now in the correct pose.

Notes

These instructions should not require any scripting knowledege, unless something goes wrong. In that case, you will gain scripting knowledge by figuring out what's wrong. :-)
I did this with a pre-release of 2.82, but I would expect it to work in all versions, perhaps with some of the code tweaked slightly.
At the end, the selected armature will be in the same orientation as the target armature, but it will not be in the same location. (Its "object" origin will remain at its original world coordinate.) I believe setting the target space to World would have moved the selected armature to the same location as the target

Whelp. I found a method for achieving what I was after. It was easier than I thought, too! I simply added constraints to the bones in rig B2 that copied rotation/location/scale/transformations from rig B1. That got me matching poses, and from there I could take the next step - to join mesh A2 to mesh A1 as a shape key, something I couldn't do while the poses were mis-matched. Problem solved!

Am I missing something, or do I need to do that to each bone individually? How hard did you think it was?

@DanielLC I had to do the same thing. I could not figure out an easy way to do it in the GUI, but I did make it happen with some scripting.

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


text:
Objects not detecting each other?
I have a sensor object that I need to execute a certain function once it detects a certain static object. Everything works, except it always has difficulty detecting it. The only way to make it guaranteed to work is if I scale the static object by an absurd number, this way it will always collide; however, I can't have my object be so large! Is there any way to fix this issue and have my sensor object detect the static object consistently? Thanks!

Share the blend file if you can, and check if any info here helps you: http://blender.stackexchange.com/questions/34155/do-ray-sensors-detect-collision-bounds

http://blender.stackexchange.com/questions/31579/near-radar-ray-collision-sensors-refuse-to-work

Collisions detect intersections of faces only.
If your object is "inside" the over object without intersecting any face it can't be sensed.

If you want this kind of detection you need to ensure the sensing object has no gap that a sensed object could "hide" without touching a face (and vice versa).
The background is simple: The physics engine does not perform "inside" checks. It assumes that objects will intersect a surface before being inside another object. This is for performance reasons. Unfortunately small fast travelling objects can do exactly that.

A possible solution for you is to add additional faces inside the surrounding object.


text:
How can I prevent a pause at the end of animation loop to have fluid motion.
At the end of my animation, the animation pauses a bit then loops again, how can I stop the slow pause, and let the loop work fluently?

One common mistake with looping animation is to have the first and last frames share the same values. You want the frame after the last to be the same as the first.
Another cause for pauses in looping animation is to have bezier curves to ease in and out of the first/last frames. Using linear interpolation gives you a constant speed that matches the surrounding frames. Select the keys in the graph editor or dope sheet and press T to change the type.

Two cubes with the same rotation values keyed on the same frames, the red one uses linear interpolation while the blue one uses bezier.

an example blend file from the cubes animations will be great for beginners.

@Hammerh5 there you go

You could either edit your action in the Dope Sheet / Action Editor:
Say you want to have a 100 frames long animation but the last keyframe is located at frame 75

Then you would have a noticeable pause.
You could select the last keyframes RMB and move it to G frame 100.

Or  if you don't want to stretch the animations duration you should set the actual end frame  (in my example 75)  in the Actuator

No, you don't see what I mean. I have the last frame at 100(example), and the animation ends at 100. When I loop the animation it kinda pauses at the end. It doesn't matter, @sambler answered it perfectly.

@BlenderDev If you only could spend a few more words when asking...

I understand but I already got my answer. Thanks for answering though. Thanks in advance!


text:
And/Or controller combinaton
Hey I have a quick question that has been bothering me; when I use logic bricks, I use (for example) the following: Keyboard > And > Action. I have a setup for WASD where I use an or controller for multiple combinations. My issue is, I need to have my character walk holding his arm out if he has a gun, and keeping his hands down when not. So, when my property "weapons active" is on (assuming player has a weapon), he should walk with his arms out, and not when property is off. I need to have an or controller for WASD and an and controller for if the property is on, as in, I need the walk animation to be triggered when either WASD is pressed AND the property is on. How do I use an and and an or controller on one event in logic bricks?

Why can't you just use an AND controller?

I have figured a simple solution, and would like to help anyone who has had this issue. Just have a property that is toggled when you use WSAD; and have a second event where you need the property to be set to 1; as well as the other property.


text:
Face fill not working
Hitting F repeatedly has stopped working. It makes the first face but then doesn't keep making faces like it usually would. Specifics as follows:
I have a a closed loop with a lot of vertices that I want to fill. As you can see here:
For this particular situation I don't want to use a grid fill. So in edit mode I picked some vertices and hit F to make a face. then I moved into edge select and selected three edges like so:

And hit F again and it created a face.

So far so good. But then I would usually hit F repeatedly and it would keep adding faces one after the other. but I hit F again and again and nothing happens.
I've tried starting with vertices in different amounts (from 3 up to about 10) to create the first face, moving the first face to different areas, once selecting one edge (the long outside edge),trying F in face, edge and vertex mode and nothing is working. Any idea why? Its always worked for me before so I'm stumped. I have a lot of these to do so if I have to select edges manually to make each face I'll be here for days.
Thanks!
ADDITION: to be clear I have tried this with one edge/ two verts selected (see images below) and F still doesn't work.
Here is the file if anyone wants to have a look: L hotkey not working blend file

as you can see in this video: https://www.youtube.com/watch?v=_YTHgrxFBDs you can either use vertex select or edge select mode.
After you inserted the first face,

in vertex select mode just select the two vertices where you want to add the faces to like this:

or in edge mode just select the one edge where you want to add the faces to like this:

Hi yes, I tried both of those and neither are working. any idea why?

if both do not work, i would recommend making a video and providing a link to that video of your full (!) Blender window so we can see what you are doing. Even better if you turn on screencast keys (free add-on) so we can see what you are typing. Then i think we have a very good chance to help you. Else we can just guess - and i hate guessing because mostly it is a waste of time

First thing, you have overlapping vertices, to fix it select all (A), press M > Merge by Distance.
Repeat F will work if you select one edge with 2 vertices, don't select the 2 edges on the side:

Your object:

yeah I tried that in edge mode (one edge selected) and vertex mode (two verts selected) as you have indicated here and it doesn't work. I hit F and nothing happens. any idea why?

If you have an old version of Blender you need to activate an addon (was it F2?), but in the latest version you shouldn't have anything to activate, but maybe share your file?

I'm using latest version of blender (3.5) and have the F2 addon activated (although the F function was working both before and after I activated F2 and only on this file its stopped working.) I'll try sharing the file. Thanks!

file is here: https://1drv.ms/u/s!Ar4Sov07HW22gUSSI1h_iWOKJmOG?e=qDtZtn

You have overlapping vertices, select all, press M > Merge by Distance

Ok thanks done that and 66 verts removed (I had auto merge on so its strange that they weren't auto merged but anyways) buuuuutttttt..... F still not working

828 vertices are removed if you select all and merge, and it works fine for me

yeah that didn't work for me (there was only approx 1100 verts to begin, any larger merge would loose detail) BUTit its solved. Went into Preferences and restored factory settings and F worked! Something went wrong with my keymap at some point it seems. Lloaded my old settings again and went into the keymap to try and figure out exactly what - but I couldn't find anything out of the ordinary so it is very strange. so I've gone back to factory settings and then reactivated all my add ons and now its working fine. I still don't know what triggered it to stop working but glad its  working again.

thanks so much for your suggestions :-)

OK that's weird but great if you've fixed it


text:
All of my sculpting tools stopped working. They are just pushing my mesh down with a lot of intensity even though the strength is all the way down
I'm very new to blender and I decided to try my hand at sculpting. When I was sculpting a piece of clothing I decided to try and experiment with the clothing filter and since then none of my sculpting tools work. Whenever I try to use any of them they just pull down and tear through the mesh. It is as if my mesh was being pulled down by gravity or something. They also do so with so much intensity even though my brush strength is down. I already tried resetting the scale and the brushes themselves but none of that has worked.

Hello could you please show some screenshots, maybe share your file? https://blend-exchange.com/

I edited it to show a screenshot. Any help is greatly appreciated!!

Maybe apply the scale of your object? Or please share it

I already tried that, along with all the other things i can apply. how can i send you my file? (thank you btw)

Use the link given in my first comment or use another platform and share the link to the file here

Okay it has been uploaded. Hope you can open it!

You need to copy paste the link it generates

There it is. I'm so sorry im very new to this, thank you so much for taking the time.

Bring the Gravity Factor back to 0:

Seriously I couldn't thank you enough! It all works great now. Tysm!!!!

I didn't even know this option. If you get stuck and don't find the answer, you can still copy paste your objects from a file to another (or append the objects).


text:
Why is this bake wrong on one side of the X axis?
I'm trying to bake down some textures for use in a different engine.  I've got a problem I haven't seen before.

I'm showing a rendered preview so you can see it's not the mat nodes, and a textured preview so you can see that the bake is completely wrong on one side, and one side only, of the face.
Things I've already checked:
It is all one object.  The object has no modifiers.  There is no UV overlap.  Other than the boundaries for the eyes, mouth, and neck, and the fact that the eyelashes and eyebrows are separate meshes, the mesh is manifold (ie, normals are all continuous and facing the correct direction.)  The model has smooth shading, with autosmooth disabled.  I've cleared custom normals.  Rotation/scale/location have all been applied.
The only clue I have is that it warns me that there is no active image for one (unimportant, not really shown here) material, even though that material definitely does have an image texture, referring to the image, as the active selection.
What else can I check here?  http://www.mediafire.com/file/ucj6r1fqypr7dou/bakesFace2.blend/file is the file, although sorry, it is pretty large.
Edit: I've resolved this issue-- I thought, "hey, I should probably stitch those UV halves together" and lo and behold, afterwards, it baked right.  But still interested in why this occurred.

I guess you didn't select the good UV Map in the Data panel, i.e. the one that has been used in the Node Editor for your face material, as you can see on this screenshot:

I thought the good UV map was "packed".  Is there something wrong that you're seeing with that map?  I wanted everything baked into a texture for it.  "Face unwrap" wasn't my preferred output, just an input.

you've used Faceunwrap as an input in your face material, so I guess if you switch the camera icon from Packed to Faceunwrap it should fix your problem, doesn't it?

I could try that, but that's not what I want-- I want it on the "packed" UV. map.  I regularly use multiple UV maps in my nodes setups and then write them to single UVs.  (And besides which, issue resolved mysteriously after stitching together some islands in "packed," although still interested in why this occurred.)

perhaps my explanation was not good, I'm a bit lost between your UVmaps and the Bake, but I think it has to do with these UVmaps, I'm going to dig further


text:
Can geometry nodes be used to dynamically measure face stretch in two dimensions?
I just discovered the Edge Vertices node (how did I miss this?) and suspect that it might be usable to measure stretch dynamically, something that I've wanted to do in Blender for a long time.
In other environments, I would measure face stretch from screen space derivatives, measuring change in UV over change in position, and comparing against some baseline.  This is a useful material value for several things, like outlining alpha-channel, deforming geometry (hair cards with physics), or for creating cloth materials with more pleasant UV distortion (cloth fibers that remain incompressible, while spaces between those fibers expand or contract.)
Even though I suspect this might be possible, I can't wrap my head around how to do it.  Each vertex is connected to more than one edge, and ideally, I would prefer to measure only edges aligned, more or less, with the UV tangent and output to one channel of a vector, and then measure the other edges, and output to a different channel of that vector, so that my materials could react based not just on overall stretch, but on the axis of that stretch.
This would be nicest as a face property, since it will be constant over a face, but a face corner property would be fine.  A point property wouldn't be as nice, but would be better than nothing.  I would be happy with any orthogonal dimensions, or even anything close, but U and V would be preferable.
Is this doable?  Anything close to it is doable?  How?

So the 'dimensions' you're after are U and V, as mapped ?

@RobinBetts I would be happy with any orthogonal dimensions, or even anything close, but U and V would be preferable.

That's kinda why I'm asking, just to clarify.. the mapped UV dimensions would be orthogonal in UV space, but not on the mesh.

@RobinBetts Orthogonal on either UV space or mesh would be fine.  I'm not planning on using with crazy amounts of distortion, wouldn't expect it to be useful in those cases.  Any kind of answer is interesting to me, because even if I can't do what I want with it, I can learn from it and maybe do something I never even considered doing previously.


text:
What are the advantages to animating eyes directly as objects as opposed to via an armature?
I've been in the habit of using armatures to deform my eyes, due to other engines that I use.  Generally just solidly weighted to a single bone.  But I notice that this isn't popular, that many Blender artists prefer to keep their eyes free of any armature modifiers (bone parented to an eye master, or directly to the head, with object based constraints instead of bone based constraints.)
It seems like a lot of people take the attitude that armature-free eyes are the right way to do it, but I've never heard why.  I'm having trouble seeing any meaningful differences (tiny issues like mirror mod friendliness vs requiring blanket assignment to a vertex group.)  Can't find anything with a bit of Googling either.
Are there differences?  Is there a right way?  Are there times to prefer one method over another?

"many Blender artists prefer to keep their eyes free of any armature modifiers" (1) Could we get a reference on that. (2) Would many mean "most"?

@Leander If there were some global survey of Blender users, maybe I could give you a source, but it's just my feeling.  I could link you to many individuals saying as much, but those are just individuals.  And yes, as far as my impression goes, "many" means "most" here.  Why do you ask?  Do you believe that to be untrue?

Suggestion. Stick with the armature add another level of control if you need it.   You are stating they at parties A and B use the armature directly or indirectly, where party B adds another level of control for some unstated reason.  Party B may have encountered the need for another level of control.

I think the title of your question is a little misleading.  Is this question consistent with yours? [What are the advantages of using an armature and additional controller object for the eyes as opposed to just the armature?].  Often in 3D you discover you need another level of control in a situation. When you add the next level of control you now have to manage it.  Its good to know the keystrokes [ and ] to travel up and down a hierarchy

(1) After reading atomics comment, I may have misinterpreted the question in that case. My answer is more directed to with vs without an armature. (2) I believe that there are fewer well informed people in any szenario which is why common knowledge can sometimes be a misconception. But seriously, if you find a well designed rig, in which the animator has to control the eyes directly by selecting them, I would like to have a look at it (and the creators notes).

@Leander Generally rigs with eyes deformed at the object level rather than via an armature are controlled with an eye target (usually empty) which the objects damped track.  This is totally sufficient-- basically the same as sticking a damped track on bones doing the same thing.  But I get the impression that you don't feel like it is all that common to keep eyes free of armature modifiers in skilled practice, and that's useful to hear.

@atomicbezierslinger No, that question is not consistent with mine.  I am specifically asking about people that use no armature modifier for their eyes.

@Nathan I am curious to know how the eyes are placed consistently with the head.  The eyes are parented to some bone of the armature correct? This is a degenerate case of  mesh having only one affecting bone of influence 100%.  Can you include a screen capture to show the alternative arrangement?

I am still not sure, if I understood the original intent, but I have added some information based on your comment.

@atomicbezierslinger I looked through all the character models I've downloaded for an example but couldn't find one.  I think I was mistaken about how frequently people use eyes without armature modifiers-- it seems to be pretty infrequent, and it's probably something done more by beginners (game rippers) than by experienced modellers.  From what people have said regarding the technique, one would have an eye with object origin at center, bone parented to head or master eye, with a damped track constraint to rotate the object.

I will try to list some advantages which aren't opinion-based. There are basically four different methods of rigging the eyes.
Having a separate control object/armature for the eyes
Just for the record, this would be by far the worst idea. It includes
(1) having an extra armature for the eyes which is connected to the main armature
(2) having an extra object to control the eyes in conjuncture with another armature
(3) creating a rig without any armature.
To animate (in Blender), armatures have many benefits.

copy and paste poses
mirror poses
inbetweening tools (breakdown, push, relax)
propagate poses and using libraries
Even after connecting the armature to geometries, the bones rest position can be modified without a problem. If you are using standard objects which are connected by parenting, moving any of the will be a lengthy process which involves unparenting and reparenting.

Another disadvantage of multiple objects in combination with armature can be dependancy problems, where the order of influence is not supported by the way Blender is designed.
This method should only be used, when the desired deformation is not achievable with bones and shapekeys, in which case helper objects (like Lattices) are unavoidable. For non-deforming eyes, there's no reason to use anything other than bones.
Parenting both eyes to the head bone
This is includes most of the aforementioned problems. To reiterate

You won't be able to see all animation-relevant keyframes easily; the action editor works best with a single armature. Otherwise you would constantly have to select both objects to see the selections in the dopesheet, or find another way to organize the dopesheet. In extreme cases Animation Curves can be rearranged by renaming the, while the order in the dopesheet will depend on the actual objects' names.
You can't use the pose tools mentioned above. (Mirror, Copy, Pose ...)
You will have a hard time synchronizing events. The eyes and lids are always going to move in conjunction and it is important to have good access to both at the same time.
Pose bones have selection priority over geometry. If your meshes are not well positioned next to bones, you will have problems selecting both equally.
If you select a mesh-type object after selecting an armature, the armature gets highlighted as one, and you cannot see which bones are selected.

Parenting each eye to its individual control bone

The advantages mentioned above: the pose tools, the action editor behaviour, no dependancy problems
Access to bone constraints for the eye controls.
Scripts which interact with user selections get easier the bones matrix functions all act the same and the examined selection is a subset of the one armatures pose bones.

Controling the eyes with a single armature modifier
(*As expected, I'd prefer this approach wherever possible.)

All of the advantages of the previous method.
The influence of rig can be toggled on and off by toggling the visibility of the armature.
The eyes transformation are no longer relevant. Their origin can be set to (0, 0, 0). If they are accidentally moved, they can be reset. In Blender, on can not know where an objects origin is from only it's transform values. Next to Direct and Inverse Parenting the original location of the object will play into these values. With bones, their rest pose position is automatically "zerod out".
Exporting a rig (to fbx for example) is "safer", when all objects are zerod out. Combinations of parents can produce transformation which have to take many values on many objects into account (see previous bullet point). This is not always handled correctly by all exporter or other systems.
Finding the geometry in the outliner is easy, because it won't be hidden in the hierarchy.

Armatures work with Blenders linking and proxying system.

As always, there are exceptions: For some quick straight-to-the-point rigs, manipulating the objects may be an option.

I will try to include some more information, based an a comment:

[eyes (which are not controled by an armature)] are controlled with an eye target, which the objects damped track. This is [...] basically the same as sticking a damped track on bones.

This holds true, unless - later on in production - more features get requested.

If the eyes are no radially symmetrical (due to a texture update), they will need an Up Vector, otherwise they would rotate in their sockets. This can be easily done with the Pole Vector of an IK constraints with bones. With objects, you will need more steps.
If the model of the eyeballs changes and needs different handling of various rotations, all previous animations are lost. With an armature, on could easily keep the animated Control Bones and transfer the data over to the deformation bone with a driver.
If the animation if supposed to be fixed1, there are no available controls. The eye_targets are going to be to far away to properly control the eyelid and eye interaction. In the case of armatures, and additional control bones can be added into the hierarchy, between the deforming bone and the bone, which is oriented by the target.

Also...
- the empties are still not going to be in the armatures action, making the pose tools (copy, breakdowns, mirror) and linking system (appending actions) useless.

1 An animation fixer is the animation assistant who will do the fine tuning on finished animations. Doing slight tweaks to prevent wrong interpolations or intersections of character and props.

Thanks.  I believe that I was mistaken, that using armature modifiers is more common (but the people who don't can be rather loud :P)  Just to nitpick one thing: dependency issues (bone->mesh->bone, drivers) are my only reason to ever create multiple armatures for a single character, rather than a reason to avoid them.

@Nathan Interesting, I have never worked with that setup to purposely eradicate dependency problems. In my experience they were easier to control with a single armature; I don't really have experience with rigs with multiple armatures / bone>mesh>bone. Could you edit the answer to include a detailed explanation or example of that specific case. Sounds, like it should be included.


text:
API: how to iterate over a planes vertices row-by-row, column-by-column
assume a simple plane 10x10 vertices. I'd like to access the planes vertices in an ordered manner according to its structure (and not the vertice' positions in space which may be random). I start with a vertice in a corner and one by one I access the vertices in that row (or column). When reaching the end of that row (or column) I start again from the 1st vertice in the 2nd row (or column) and so an.
Do you have any hints?
many thanks!
EDIT: Screenshot

hello, could you please make a screenshot to make it more understandable?

I'm not sure what you're asking, but you can hit A to select everything and hold shift and double click (right or left, whatever you have set to select) on the corner vertex to make it the active vertex.

arg ... i'm so stupid, sorry for this. The question is related to the Blender API (forgot to mention this). Hope I can still change the title ...

How would you define your starting point (row 0 column 0)?

per script I look for a corner vertice (one that has only 2 neighbors)

Another go at this.

Find a corner vert. Has only 2 link edges.
Choose one link edge, and travel along that edge until find another corner vert.
Now have all the edges of one side.
The number of edges plus is how many rows of edges in this direction (and how many verts), divided into total verts gives us colums.
For each edge in a row, the edge in linked face that has no verts in already chosen edge is on the next line. (Akin to select more)
Repeat for all edges.
Choosing the other edge from corner to start will transpose result.

Script: The result is in edges.
import bpy
import bmesh

context = bpy.context
ob = context.object
me = ob.data
bm = bmesh.new()
bm.from_mesh(me)
# find a corner vert
for v in bm.verts:
    if len(v.link_edges) == 2:
        print("corner vert", v)
        cv = v
        break

rows = []
row = []

e = cv.link_edges[0]
v = e.other_vert(cv)

while True:
    e.tag = True
    row.append(e)
    e = [e for e in v.link_edges if not e.tag and e.is_boundary][0]

    if len(v.link_edges) == 2:
        break
    v = e.other_vert(v)

rows.append([e.index for e in row])
nrows = len(row) + 1
ncols = len(bm.verts) // nrows
for i in range(ncols - 1):
    nextrow = []
    for re in row:
        e = [
            g for f in re.link_faces for g in f.edges
            if not any(v in re.verts for v in g.verts) and not g.tag
        ][0]
        e.tag = True
        nextrow.append(e)
    rows.append([e.index for e in nextrow])
    row = nextrow
for r in rows:
    print(r)

A couple of test runs on a 5 x 4 grid, firstly as above

5 sets of 3 edges (verticals)
corner vert <BMVert(0x7f8845730010), index=0>
4  x  5
[0, 8, 2]
[20, 19, 23]
[16, 7, 15]
[30, 29, 26]
[12, 4, 10]

Secondly replacing 0 with 1 in e = cv.link_edges[0] to use other edge from corner vert.
4 sets of 4 edges (horizontals)
corner vert <BMVert(0x7f8841d7e010), index=0>
5  x  4
[11, 3, 9, 1]
[18, 17, 28, 27]
[14, 6, 13, 5]
[22, 21, 25, 24]

batFINGER, thanks for doing a better job on coding this. The only discrepancy I noticed was if run on a basic plane (4 verts) it doesn't seem to provide the output.

Dunno, I get 2 x 2 [1] [3] (ie  two side edges 1 and an 3) on default plane.

Many thanks for your efforts, Ratt & batFINGER

Not elegant, and it has no verification that the object is a regular plane (only 4 outer edges) but the below has been tested a bit and provides a single sequence of vertices as described in your question. Maybe someone else can follow up with a cleaner solution.
import bpy
import bmesh

my_data = []
my_corners = []
my_seq_cols = []
my_seq_verts = []
edg_cnt = 0
my_mode = 'OBJECT'
bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.mode_set(mode='EDIT')
obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)
bm.verts.ensure_lookup_table()
bm.edges.ensure_lookup_table()

def set_mode(my_mode):
    bpy.ops.object.mode_set(mode=my_mode)

def set_data(my_data, edg_cnt):
    for vert in bm.verts:
        my_data.append([vert.co[0], vert.co[1], vert.index, edg_cnt])
    return my_data

def find_corners(my_data, my_corners):
    for edg in range(len(bm.edges)):
        for vert in range(len(bm.edges[edg].verts)):
            for i in my_data:
                if i[2] == bm.edges[edg].verts[vert].index:
                    i[3] += 1
    for i in my_data:
        if i[3] == 2:
            my_corners.append(i)
    return my_corners

def find_edg_from_verts(v1, v2):
    for edg in bm.edges:
        if (edg.verts[0] == v1 and edg.verts[1] == v2) or (edg.verts[1] == v1 and edg.verts[0] == v2):
            my_edg = edg
    return (my_edg)

def find_start_col(corners):
    for edg in bm.edges:
        if (edg.verts[1].index == corners[0][2]):
            col_ind = edg
    return (col_ind)

def find_start_row(corners):
    for edg in bm.edges:
        if (edg.verts[0].index == corners[0][2]):
            row_ind = edg
    return (row_ind)

def get_row_verts(my_row_start):
    bpy.ops.mesh.select_all(action='DESELECT')
    my_row_start.select = True
    bpy.ops.mesh.loop_multi_select(ring=False)

def seq_sel_verts(start_vert):
    found = False
    fwd = True
    sel_verts = [v for v in bm.verts if v.select]
    for l in start_vert.link_loops:  # try to find next vert of loop
        if l.link_loop_next.vert in sel_verts:
            next_vert = l.link_loop_next.vert
            found = True
    if not found:
        for l in start_vert.link_loops:  # last row requires direction change
            if l.link_loop_prev.vert in sel_verts:
                next_vert = l.link_loop_prev.vert
                fwd = False
    cnt = len(sel_verts)
    if fwd:
        while cnt > 0:
            for l in start_vert.link_loops:
                if (l.link_loop_next.vert in sel_verts) and (l.link_loop_next.vert not in my_seq_verts):
                    next_vert = l.link_loop_next.vert
            for v in sel_verts:
                if v == start_vert:
                    my_seq_verts.append(v)
                    v.select = False
            start_vert = next_vert
            cnt -= 1
    else:
        while cnt > 0:
            for l in start_vert.link_loops:
                if (l.link_loop_prev.vert in sel_verts) and (l.link_loop_prev.vert not in my_seq_verts):
                    next_vert = l.link_loop_prev.vert
            for v in sel_verts:
                if v == start_vert:
                    my_seq_verts.append(v)
                    v.select = False
            start_vert = next_vert
            cnt -= 1

def seq_sel_cols(start_vert):
    next_vert = start_vert.link_loops[0].link_loop_prev.vert
    sel_verts = [v for v in bm.verts if v.select]
    cnt = len(sel_verts)
    while cnt > 0:
        for l in start_vert.link_loops:
            if l.link_loop_prev.vert in sel_verts:
                next_vert = l.link_loop_prev.vert
        for v in sel_verts:
            if v == start_vert:
                my_seq_cols.append(v)
                v.select = False
        start_vert = next_vert
        cnt -= 1

def output(row_len):
    col_len = len(my_seq_cols)
    print("Vertex sequence")
    cnt = 0
    for i in range(col_len):
        print("<row:", i, end="> ")
        for j in range(row_len):
            print(my_seq_verts[cnt].index, end=", ")
            cnt += 1
        print()
    print("Total vertices:", len(my_seq_verts))

def main():
    set_mode('EDIT')
    set_data(my_data, edg_cnt)
    find_corners(my_data, my_corners)

    my_corners.sort()  # organize list so lowest (x,y) is 1st
    start_col = find_start_col(my_corners)

    # sequence leftmost(-x) column bottom to top(-y...+y)
    get_row_verts(start_col)
    my_start_vert = start_col.verts[1]
    seq_sel_cols(my_start_vert)

    # sequence rows from left to right (-x...+x)
    for v in my_seq_cols:
        found = False
        my_start_vert = v
        for l in my_start_vert.link_loops:
            if l.link_loop_next.vert not in my_seq_cols:
                found = True
                next_v = l.link_loop_next.vert
                start_row = find_edg_from_verts(my_start_vert, next_v)
                get_row_verts(start_row)
                seq_sel_verts(my_start_vert)
        if not found:
            for l in my_start_vert.link_loops:
                if l.link_loop_prev.vert not in my_seq_cols:
                    found = True
                    next_v = l.link_loop_prev.vert
                    start_row = find_edg_from_verts(my_start_vert, next_v)
                    get_row_verts(start_row)
                    row_len = len([v for v in bm.verts if v.select])  # added for formatting output
                    seq_sel_verts(my_start_vert)
    output(row_len)
    bm.free()
    set_mode('OBJECT')

main()


text:
Sculpting and custom axis?
i'm using sculpt-mode for terrain meshes. I can lock x and y axis in order to only change the z-pos of the vertices when sculpting.
What I'd like to do is (bit hard to explain): use a 'rotated'(?) coordinate system when sculpting. I need the z-axis tilted a bit for some parts of the terrain map.
I wonder if that is possible ...
Many thanks
Edit:
I hope the following picture helps understanding my question.
You see 4 meshes. I can sculpt the selected one the way I want by locking the x and y axis so sculpting would only affect the z-axis. I'd like to do it in a similar way to the other 3 meshes and move the vertices perpendicularly to the (their!) plane (so in this case the plane would define that axis, but it would be fine as well if the axis could be defined in another way). It would be ok if the different meshes needed to be different objects. But it would not be ok if I had to rotate the meshes for sculpting.

would be a bit hard to help solve your issue if you can explain well, can you attach some images of your mesh?

Hello Jorge, please look again, I added a picture.

Sorry for late answer, when you sculpt (I mean add or substract geometry) blender "locks" your current z axis (your top down camera) so i you let's say pull up you mesh it will pull up to your view

Sadly I have no idea how you could set a 90 degree view to every angle you wish, I guess I'll do just sculpt many different point of view. BTW What shape do you want to achieve? Maybe there is another work around I could help

I'm new to this board so I don't know why my previous attempt to answer was deleted. Maybe it was just to short last time so I'm trying to be wordier. Its a perfect solution to your issue because I use this same technique. Its a very simple but it works. and I'm being as clear as possible.
Instead of rotating the view to your object, rotate your object to the view, so that the plane you want to sculpt is aligned with the correct axis. That way you can still lock the x and y, and just sculpt along Z axis.
With the axes locked, you can see that the sculpted verts only move in Z axis.

You can rotate the object instead of rotating the view to keep sculpting only locked to Z axis. Rotated 90 degrees

Even if you dont rotate 90 degrees, you can rotate the object however you want and the sculpting is locked to one axis. The vertices are only moving up. Rotated 45 degrees.

Blender 2.90.0 -> Sculpt Mode > In the Right Tool Menu Under "Tool" Tab > Symmetry You Can Lock The X And Y Axis For Vertex's

Hi :) Thanks for your answer. Please consider expanding on it ( adding images for one) so that it is a bit more useful. Thanks :)


text:
Script/API - Snap selection to grid, but only one axis
by script I can do a snap-to-grid of the selected vertices:
bpy.context.space_data.grid_scale = 0.125
bpy.ops.view3d.snap_selected_to_grid()

But I need to restrain it to one axis ... but how?
Many thanks for any hints.

Ditch the operator
IMO far simpler to ditch the operator and round the desired axis component to the nearest gradation.
Test script, Run in edit mode, moves all selected verts local z coordinate to nearest multiple of 0.125
import bpy
import bmesh

context = bpy.context

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

grid_spacing = 0.125

sel_verts = [v for v in bm.verts if v.select]

for v in sel_verts:
    v.co.z = round(v.co.z / grid_spacing) * grid_spacing

bmesh.update_edit_mesh(me)

Considering the grid to be a global system, will convert the vert coordinate to global mw @ v.co find the nearest gradation point, then convert back to local mwi @ v.co
Please Note script written for and tested on 2.8. For prior replace  @ with *
import bpy
import bmesh

context = bpy.context
ob = context.edit_object
mw = ob.matrix_world
mwi = mw.inverted()
me = ob.data
bm = bmesh.from_edit_mesh(me)

grid_spacing = 0.125

sel_verts = [v for v in bm.verts if v.select]

for v in sel_verts:
    g = mw @ v.co # use * prior 2.8
    g.z = round(g.z / grid_spacing) * grid_spacing
    v.co = mwi @ g

bmesh.update_edit_mesh(me)

thanks for the hint, batFINGER. I had so chance to test it yet but I found my own workarount by simply looping over all selected verts and storing their x,y position and after applying the snap to grid, restore them.


text:
API / Script - Remove all selected vertices from all Vertex-Groups
How can I remove all selected vertices from all existing vertex groups via script?
Anyone with a hint for me?
Many thanks!

Script version of @ElliotThomas answer
These two scripts have to be run in edit mode.
To remove all selected verts from all vertex groups
import bpy
context = bpy.context
ob = context.edit_object

bpy.ops.object.vertex_group_remove_from(use_all_groups=True)

Alternatively can iterate through vertex groups and use the operator on the active group.  This example does as above,  can be adjusted to skip certain groups.
import bpy
context = bpy.context
ob = context.edit_object

avg = ob.vertex_groups.active
for vg in ob.vertex_groups:
    ob.vertex_groups.active = vg
    bpy.ops.object.vertex_group_remove_from()
ob.vertex_groups.active = avg

Can also use the api method vg.remove(), for example: to remove verts with indices 0, 1 and 11 from group "Group"
C.object.vertex_groups["Group"].remove([0, 1, 11])

this has to be run in object mode, or will throw an error.

merci (again) batFINGER, works like a charm!

Select the vertex group from which you want to remove the selected vertices, and press the "Remove" button below the list of vertex groups.

Sorry I didn't make clear enough that i wanted to do this via script ...

Oh, okay.  I'm not great with scripting, but if you hover the "Remove" button, then it will tell you the command that it runs.  You could try just copying that command.  It seems like your script will just have to select the vertex first and then remove it by inputting the name of the group you want to remove the vertex from.


text:
How to prevent carved text from being distorted while using subdivision modifier
I am attempting to make a set of dice except on one side having black text carved/indented into it. Im using this as a guide
https://m.youtube.com/watch?v=sNhN3X3MvD4
All the tutorials I find for dice use basically the same method as 6 sides all have similar patterns. Where I run into an issue is if I use boolean modifier to indent the text then when I add a subdivision modifier later it applies to the entire cube and deforms the indented text. It also deforms it if I attempt to add a boolean modifier after the subdivision modifier.
I am also clueless about how to have my indented text area colored. All my searching yields nothing on these two issues/subjects. If anyone could steer me in the right direction I would appreciate it.


text:
Activating IK on Existing Armature
How do I activate IK (Inverse Kinematics) on this rig? I feel like it has the necessary bones. I appreciate your help. I would really like to enable crouching and gyrating of hips for dance animations
Thanks, friends!

are you even sure this armature is usable? did you make it yourself? where does it come from? what sort of armature is it? I don't understand how it is supposed to work, but I'm just a post-noob and perhaps someone will answer

it should, imported from a video game


text:
Clothes move when I move the arm
It was probably asked a lot but I need help with my rig.
When I move one of the arm, the dress move with it, but it doesn't affect the jacket. I don't get it. Thanks in advance. Here's the file is someone is willing to help

your link is private. You need to make it public to share the file.

Thanks, i edited it.

Your robe object has faces on the outside and inside. Blender doesn't handle the internal faces very well when parenting with automatic weights. What can work is if we flip the direction of these internal faces before weighting so that they are facing in the same direction as the outer faces of the robe.
But first its probably best to apply the Rotation and Scale transforms of the robe so that Rotation X Y and Z are all at 0° and Scale X Y and Z are all at 1.00. To do this, in object mode select the robe > Ctrl A  and from the Apply pop-up choose All Transforms:

We need to select all the internal faces of the robe, and for me the easiest way to do that is apply UV seams around the openings of the robe then use the Select Linked tool to select all geometry inside of the UV seams.
In edit mode, edge select mode, select the inner edge loops around the neck, arms and hem of the robe and with these selected hit U to open the UV Unwrap menu and select Mark Seam.

To now select all the inner faces, in Face select mode, select a single face of the interior of the robe, Ctrl L and all the interior faces bounded by the UV seams will be selected.

We can now invert the direction of these selected faces. Alt N will open the Normals menu, choose the Flip option.

In the Viewport Overlays  if we enable Face orientation we can see that the internal faces of the robe are now displayed in red. Blue indicates faces that are correctly facing outwards, red indicates faces normals facing in the wrong direction. But for us wrong direction means that they are facing in the same direction as the outer (blue) faces of the robe which is what we want :).
We now need to remove all existing vertex groups assigned to the robe and also to delete the Armature modifier. In Object mode with the robe selected,open the Object Data tab > Vertex Groups > open the Vertex Groups Specials menu (little downward facing arrow on the right hand side of the list of vertex groups) and choose the Delete All Groups option. In the Modifiers panel delete the Armature modifier.

We are now ready to parent the mesh to the armature.
Object mode, first select the robe object then Shift
select the armature > Ctrl P > With Automatic Weights.

Pose mode we can now check how robe moves with the armature. it should now be better than before.
If we go into edit mode and select a vertex we can now see which vertex groups and weights are assigned to that vertex.

In the above screenshot notice that there are 9 vertex groups assigned to that vertex and that some like the upper_arm.L with a weight of 0.01 we don't need at all.
The following is a quick clean-up which will limit the number of vertex groups assigned to each vertex. Our limit will be 4 vertex groups per vertex. Only the groups with the 4 highest weights will be kept.
In Weight paint mode select all the vertices > Open the Weights menu and choose the Limit Total option. By default the limit number is 4.

We can next make it so that the total weight of the 4 vertex groups of each vertex equals 1.00 Back in Weight paint mode wit hall the vertices selected open the Weights menu again and choose the Normalize All option.

The result of Normalizing the weights for all the vertices:

Finally we need to Flip the normals of the internal faces back to how they were in the beginning:

Note: Because your character has so many layers Skin, Shorts, Robe and Vest you are always going to run into the problem of poke through when rotating the bones. These can only be fixed by either deleting the faces of the layers that will not be seen and or manually weight painting the poke through faces.
Also if you enable the Face Orientation from the Viewport Overlays menu you will notice that the deco bras and socks objects have inverted face normals which you probably want to fix. And maybe you want to Apply Scale and Rotation for some objects. ;)

Thank you you're my savior i'm kinda new to blender actually


text:
Scripting - Undo Not Working when Editing Image.pixels
I’ve written an operator which edits an image in the Image Editor, but it won't work properly with the undo system. I have created a minimal repro script:
import bpy

img = bpy.data.images['MyImage']

# fill bottom half with white pixels
for x in range(img.size[0] * img.size[1] * 2):
    img.pixels[x] = 1

img.update()

Creating a small black RGBA image (e.g. 8x8) called "MyImage" and running the code above, I am not able to undo the effect of the script properly.
I have also tried using bpy.ops.ed.undo_push() to try snapshotting before and after the image pixels are altered, as well as trying Image.pack() to pack the image into the blend file in the hope it gets snapshotted, to no avail. The built-in texture paint tools are able to create undo states which properly work, so I am hoping there is some API that I can use for this.
To put it simply - undo states behave weirdly when pixels is altered (the output seems different when undoing and redoing back to the same state) as can be seen in this video:
https://i.imgur.com/D9f5g5W.mp4
I have spent many hours searching for a solution. If anyone could offer any insights or workarounds I would greatly appreciate it.

What happens when you use bpy.ops.image.reload(), does it reload to the previous state? In your operator, do you use bl_options = {'REGISTER', 'UNDO'}?

Sadly does not work either. I have since made a bug report and it was confirmed, but I would be very interested in any workarounds I can use in the meantime (something to piggyback off of internal undo API calls? Maybe saving and reloading?) Anything that would create a valid, usable undo state. I haven't been able to find anything yet


text:
Texture Paint in Blender missing details and losing quality?
there's this weird bug that's been annoying me for a long time and it happens sometimes when I move from one texture to another.
this is what it looks after the bug:

second pic is from the image select option, as you can see there's a lot more detail to it than the first image.

Please take a look at the preview of your question if it looks like you really want to post it like that before you actually do it. I cannot see any second picture.

Can you share your Blender project file? Instructions for sharing.

Are you using an addon like Ucupaint for reading the image into a preview? There isn't enough info in the images here to see what is going on other than the reduced size thumbnail appears to have a disproportionate black detail to red area in contrast to the larger image. This doesn't mean something wrong with Blender though, as the full scale image is the information being worked on, not a faulty thumbnail preview. Main point is this: are your painting sessions achieving the level of detail on the model as expected, or is there some loss there? Disregarding the preview thumbnail.


text:
Question about making a Five Nights at Freddy's character
I'm pretty new to Blender, but I'm trying to create some Five Nights at Freddy's (FNaF) characters for a project of mine.
My question is: Should I create an endoskeleton first? And then use that endoskeleton when creating the different characters. Or should I just not create an endoskeleton? And just make the endoskeleton parts that I need for the different characters.
The animatronic/robot has an endoskeleton, which is basically like a human skeleton. The animatronic needs the endoskeleton to be able to stand and move around. So I must have it in my animatronic. But I don't know if should create the whole endoskeleton or if I should only make the endoskeleton parts that are visible from the outside.
I will try to create some animations, too, if that matters.
Help is greatly appreciated!!

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?"

Oh, I thought my title was good, but I guess not. Sorry for the inconvenience.

What do you mean by "endoskeleton"? Do you perhaps mean armature?

Well, the title says "Question about making fnaf character" - first of all, not everybody knows what "fnaf" is, so it is unclear if this is relevant for answering the question. Then, "question about making" - which task of making? Modeling, texturing, rigging, animating etc.?

Endoskeleton is the robot/animatronic's skeleton. It's what makes the robot/animatronics able to move. So the robot/animatronics that I am modeling need a endoskeleton. But I don't necessarily have to create the entire endoskeleton. I could make only the visible parts.

Is this better?
Hello! I am currently modeling a animatronic for a project of mine. The animatronic has a endoskeleton, which is basically like a human skeleton. The animatronic need the endoskeleton to be able to stand and move around. So it's essential that I have it in my animatronic. But I don't know if should create the whole endoskeleton or if I should only make the endoskeleton parts that are visible from the outside. I'm not to familiar with blender, so I don't really know if it matters that I create the endoskeleton or not. I will try to create some animation too if that matters.

Your audience here is international, and  of various ages. :) That's not to say they can't help, but 'fnaf' may be completely meaningless to many of them. Please illustrate with a characteristic example. You can embed pictures in your post with the tools provided. Then folks would know what you mean by 'endoskeleton' too. BTW, if you want to animate your character, the endoskeleton (at least partial, where it can be seen) would be a good start, IMO

I didn't know what "fnaf" meant but I know the "Five Nights at Freddy's" animatronics although I've never played the game or watched the movie ;-) -- Basically, you don't need to model any parts that are located inside the model and are not visible from the outside. A sketch or reference image would be helpful to answer your question and for modeling. For animation/posing there are so-called Armatures in Blender. The armature is not rendered but works like a skeleton to move the model. The visible model is called mesh in Blender.

The wiki says "An endoskeleton is a skeleton that is on the inside of a body, like humans, dogs, or some fish. " - But that makes me wonder why there are "endoskeleton parts that are visible from the outside" (quote from your comment)....?

@Blunder The animatronic that I'm creating is supposed to be very old and beat up. So parts of it's suit will be destroyed or missing. Making the endoskeleton visible.

If you want to make it as accurate as possible, you'll want the endo to be visible between the joints and anywhere someone might look closely (Which is nearly everywhere.) If you're rigging you could simply parent the suit pieces to the endoskeleton (rigging the endo first). It's up to you to decide if you want to take the extra time, but I say you should do it, as it may simplify later steps and create a more complete-looking final model.


text:
Weird Faces In Models
I don't know what I'm missing out here but I cannot seem to make this work. I'm trying to connect 4 Vertexes to make a face but it's not happening.
Please see my video of how I created the model here:
https://youtu.be/nVhMPQ-haig
Thanks

https://blender.meta.stackexchange.com/questions/2449/what-is-the-problem-with-posting-an-image-or-link-and-asking-how-do-i-do-this

You are doing the right basic thing, you're just having a little difficulty selecting the vertices you want.  It is very easy, especially in wireframe view, to accidentally select a vertex other than the one you want, for example a vertex that is almost directly in front of / behind your intended target.  Try switching temporarily to a different view, such as "Solid," in which it is slightly easier to see the vertices you want / harder to select vertices that are close but behind.

Yep, just to add on, Z toggles between wireframe and solid.

And also, you could select both loops, and bridge edge loops

I'm still getting this weird result  :(

@Nazgûl I will do that now and post the screens later. However, have you seen the video?

@Nazgûl download the Blend File here pls?
https://drive.google.com/open?id=18lh6AgXxfOMRYKHPjgz0v7qKunnLDdQ8
Also, I did the whole process again to see if I made errors during making of the handle but get the same result

Here is a video of another attempt from the very beginning but still get the same result.
https://youtu.be/apinNPH0Wpo
I'm scratching my head LOL

Shown in the video is a result of extrusion of the faces you are trying to bridge which was cancelled and left in place. So there are double vertices all around the end faces. In cases like this select all (or this area with Circle Select in Wireframe mode) and W > Remove Doubles. Then select both faces > Bridge Edge Loops.

You don't (perhaps surprisingly) need to delete the faces before using the 'Bridge Edge Loops' tool.

Select both faces in face mode
CtrlE Edge Menu > 'Bridge Edge Loops'

Done.
The tool behaves nicely and removes the internal faces

The problem you're having is that you are trying to fill faces that are non-non manifold.
I've marked two faces that you should delete from you're mesh and then try filling in the faces you desire.

@Nazgûl thanks for that, i turned off the SUBDIVISION SURFACE MODIFIER and was able to fix it from there :)


text:
Getting rid of reflective artifacts when using Cycles
I cannot find a way to fix this issue. I tried higher sampling but the artifact still appears. If you look at the image, I added a light behind the lens. But there are fireflies/artifacts in the surrounding faces. How can I resolve this issue? Is this something to do with my mesh?
My settings are:
Cycles render
75% Render
1000 Sampling
Zero Compression 8 Bit

Ok, fireflies. A cycles nightmare. A few things I would like to know. 1. How many samples have you done? 2. What is the lens material. 3. What is the foam material? 4. How have you constructed the light source? An image of the scene would be helpfull. The mesh will have little effect on the render FYI, it will mostly be shaders, light sources and volumetrics. And a quick afterthought, what are the image dimentions?

https://blender.stackexchange.com/questions/4980/how-to-avoid-noisy-renders-in-cycles

Try to use the denoising, also you can change clamp indirect to reduce light reflection

@Bigfoot Blondy
Okay, I'm just using basic shadres for this. No NORMALS and TEXTURES.


text:
CYCLES vs EEVEE
I just switched to 2.8 last week and only got a chance to play around with it. I was excited about the EEVEE renderer as advertised so I tried do a comparison between the two (CYCLES vs EEVEE) but I think I'm doing something wrong in here.
If you notice the EEVEE sample image, it doesn't look anything better or at least the same as the CYCLES image.
Can someone please tell me where i did wrong?

This does not look right, but in general I don't think Eevee is supposed to look better than Cycles. It is just a lot faster, optimally real time.

Try to attach the blend file in your question.

So, there's a lot of things that are going on.
Eevee is a fundamentally different render engine than cycles. And while node-compatibility is kept between the two, lighting in general doesn't transfer as well.
Firstly, Eevee doesn't support emissive materials. Instead it relies on lamps. These lamps don't port over from cycles easily either, you need to adjust their power.
Furthermore Eevee doesn't do transparency out of the box. You'll need to enable that checkbox under "Screenspace Refraction, and then again under the material settings.

I'm adding this because, judging by the amount of noise in your scene, it's likely that you have a glass pane in that window.
Please provide further details on your lamps and setup if any of this doesn't work.

Cycles and eevee both have different light values, you'll have to use different values in eevee to match the lighting in cycles, by default the lights are set to 1 if you change from cycles to eevee. For realistic lighting and reflections you will have to enable Screen space reflections, use light probes and bake indirect lighting.

I can't see in your outliner, so I'm not sure, but if you used a plane with emission material insted of lighting that could be the problem.explanation

I'm actually using LAMPS?? I added a new IMAGE....does this help?


text:
Why very slow animation in viewport? Blender 2.8
I'm doing an EXPLODED VIEW/ANIM of a MID TOWER DESKTOP with all the components modeled.
In Blender 2.8, I was wondering why my project when in animation it is so slow. In fact, dragging and moving objects is lagging. My model is a DESKTOP build with all the pc parts in it ranging from mother board, gpu, cpu, fans, power etc. the full setup. Thing is, I cannot give a total number of POLYCOUNT because I do not know where to find it :wink:
The CPU utilization is not high, the GPU utilization is not high too. Even the RAM is okay but it’s really sluggish.
Here is my setup:
DESKTOP
Intel i7 8700K
nVIDIA GTX 1080ti

Do you have a question, or is this a bug report?

About viewport animation: it seems like any more or less complicated scene tends to drop FPS drastically. Just deal with it and use OpenGL render with frame number stamp.

my bad, YES, this is actually a question!!!

That's the thing, i'm trying to find how to find the TOTAL POLY COUNT but cannot. Is this disabled by default or something i need to enable?

In 2,8 polycount is suddenly at the bottom of the window in the right part of the status bar, if that's what you'd like to know. So-called lagging can happen not only because of geometry amount but modifiers present on objects which require computations real-time. If both are present it's not admirable to face what you experience


text:
Correct Material for Glass and World Background
Using Blender 2.8 Cycles with Denoising and Caustics Turned-Off
I have two questions here.

I’m not sure why the world background is not WHITE when I’ve already set it to FFFFFF in hex value.
The glass panel of my model appears to have icing/frosting effect. I cannot get the CLEAR GLASS with REFLECTION on it.

What’s the correct way of doing it?

Thank you :)

Have you been using the denoiser?

Which Blender Version and Render Engine are you using? If you want a #ffffff BG I'd suggest to either render with transparent Background & composite with white BG after rendering. Or you could use a backdrop like shown here with proper studio lighting. Glass shader: Did you try to mix with a white Transparent or Refraction Shader instead of black Translucent? In Render settings you could also try to turn off Caustics under Light Paths (in Cycles :-)) You can also upload your file.

First forget about thinking of color as Hex values. That is not how blender works.
The same color will change depending of the amount of light that hits the surface of objects. Also the final value will depend as well on the kind of color transform chosen in the color management settings.
Let's start by asking what is "white"?
"White" is not a color, it is just the limit of what the display can deal with, in other words it is when the data has reached the top of the scale (from 0.0 or 100%) in all three channels. Most likely you need to increase the intensity of the light sources to reach that value.
Read:
Make texture visible in sunlight
and
Render with a wider dynamic range in cycles to produce photorealistic looking images
and
How do I stop my white background from becoming grey due to lighting?

As for the reflections on the glass, well, glass is both transparent and reflective, so you will have to control the elements that get reflected on it. If you don't have any reflections then the surface will no longer look like glass and the viewer will think that there is nothing there.
Read:
How to turn off reflections on glass

The Background is not total white as its brightness is not high enough but probably set to 1. You can try a node setup similar like this, two background nodes, one set to the background color you want, the other to how bright it should be. Connect them to mix shader. Then use a light path as the mix factor and plug IsCameraRay in the factor (you might need to play around a bit to find the correct one). This should make the background a different color without changing the lighting.
The frosting effect is odd but might be due to the nodes that you are using, I would suggest you to try a Principled shader node with transmission set to 1 and roughness reduced. Might solve the issue.
Is the plane smooth shaded? If yes that could also have some issues.

thank you guys for the feedback :) I realized the frosting was caused by Denoising, but i need that because fireflies will show up if turned off :)
Figured out the Glass Shader as well, GLASS BSDF that's it.
Thank you again

To reduce fireflys you can try to use branched path tracing instead of normal path tracing. Increase the gloss clipping value or try a different glass setup. You can use the transparency light path trick.


text:
Expression in a Transform field
I was watching this HARDOPS TUTORIAL and I saw something interesting on how to rotate objects indefinitely.
https://www.youtube.com/watch?v=hsBwt40vP68
In a tutorial he entered this equation for the Y Rotation
#frames*0.015

The object then spins infinitely.
What does that command do?

Which HardOps tutorial? Please edit your question by using the link below your question and add the missing link.

More likely #frame * 0.015Related https://blender.stackexchange.com/a/139145/15543


text:
Blender API: Return value of bpy.data.objects(ID).show_bounds and .bound_box
I am getting started with the Blender Python API and there is something I do not understand. Lets say I have an object called "myObject" and I wanted to get its dimensions, then I type
bpy.data.objects["myObject"].dimensions

in the python console and get the result. The API http://www.blender.org/documentation/blender_python_api_2_71_release/bpy.types.Object.html#bpy.types.Object states, that an object also has a bound_box. But if I type
bpy.data.objects["myObject"].bound_box

simply the command I typed is returned! Why is that and how could I have known from the doc of the API? Also, when I type
bpy.data.objects["myObject"].show_bounds

it only returns "false". Why? If I go to the object properties panel and click "Bound" the bounding box is drawn. Why does that work and doing the same (?) via the console does not?
Thank you!

Ah, I figured out that one simply has to set show_bounds to True to be able to see the bounding box of an object. However, I have still not figured out how to see the values of the bounding box

Object.bound_box does not contain mathutils-types like Matrix or Vector, it's a plain property array of float[3] which has no representation format like other types do.
You need to iterate over all elements and print them, e.g.:
for b in bpy.context.object.bound_box:
    print(b[:])

# (-1.0, -1.0, -1.0)
# (-1.0, -1.0, 1.0)
# (-1.0, 1.0, 1.0)
# (-1.0, 1.0, -1.0)
# (1.0, -1.0, -1.0)
# (1.0, -1.0, 1.0)
# (1.0, 1.0, 1.0)
# (1.0, 1.0, -1.0)

Or make a list of Vector objects:
[Vector(b) for b in bpy.context.object.bound_box]


text:
Calculating the covariance matrix of an object's points - Rotation of an object
I am trying to calculate the axes of largest variances of an object's points. As you might know, the eigenvectors of the covariance matrix of the points should yield the result.
For a cube (which is made out of 8 evenly spread points) I would therefore expect to get the three axes of the cube. However, this is only the case when I did not rotate the cube, but when I do, my method yields axes that are not correct.
Here is some code I use to calculate the axes:
import bpy
import numpy
from numpy import linalg as LA
vertices = bpy.context.active_object.data.vertices
matrix_world = bpy.context.active_object.matrix_world
verticesArray = numpy.zeros((3,len(vertices)))
counter = 0
for v in vertices:
     world_coord = matrix_world * v.co
     verticesArray[0,counter]= world_coord[0]
     verticesArray[1,counter] = world_coord[1]
     verticesArray[2,counter] = world_coord[2]
     counter = counter + 1
convMat = numpy.cov(verticesArray)
eigenvalues, eigenvectors = LA.eig(convMat)       # the eigenvectors determine the axes I want

As you see, I firstly transform all vertices to world coordinates. I guess somewhere there has to be an error that does not account for the rotation or something...
Do you have an idea what I am missing?

the object vertices are probably stored in the local coordinate system of the mesh, so you'll either need to create or specify a transformation matrix to retreive the world coordinates them.  i don't have a lot of python experience, but I did run into this issue in AutoCAD quite often

@JohnBurrill: I believed that is what I am doing by multiplying the coordinates with "matrix_world", but there seems to be sth wrong with that. Maybe someone knows what and which matrix I need to use...


text:
Geometry Node: How would I convert a series of Curve Lines into a series of Planes

I am trying to procedurally make some pine trees from curves, and I want to make foliage cards.

I have a series of curves representing each branch (seen here as the "spines")
I have resampled it to N segments (in this case 8)
At each of the points I have created two instances of curve line whose angle is set by the user, and whose length is calculated from the factor parameter of the parent branch curve.

I wish to convert these V shapes of lines into planes one mesh per branch

I am not restricted to using these line curves, but the final result must have a controllable angle, taper, and segments, and be derived from the branch curve

Here is a simple example:

Instead of instantiating several lines at the individual points, I use a continuous line that is instantiated in the middle of the branches.
I simply divide it so that I can rotate its end point independently of the center point.
The advantage here is that I can then simply place individual grids (one grid per branch) whose points I can move to the positions of the previously created lines.
Since the points of the lines are numbered consecutively, this corresponds exactly to the indices of the created grids.

As you have unfortunately not shown your node tree and have not shared your blend file, I have kept this example generic.
However, it is relatively easy to modify and extend or customize according to your wishes.
(Blender 4.1.0+)

Thank you for your reply, I will try to figure out implementing this withing my setup. I hesitate to share my nodes only because the amount of previous steps that have lead to the point I'm at would be convoluted and detract from the more simple problem I am facing. If I can't find a solution from what you have provided I will make a stripped down Blend file and attach it to the original post. thank you again!

@quellenform I have an answer to how to “convert a series of Curves Lines into a series of Planes”, but first it’s not the best way to make low poly's trees as qellenform has shown previously, and secondly I made it but I can’t figure how it works!!! It’s not a joke, I just can’t… Do you think I should post there or ask to the community “how my blend works”? The blend: https://blend-exchange.com/b/1KbLxL6q/

after converting to @quellenform's system of making the curve I was able to get it working


text:
How do I do VFX using a tripod?
I'm fairly new to VFX and I've been trying to do a shot where the camera stays completely still on a tripod.
It is a video, not a single image, but the camera itself doesn't move.
How would I go about adding an animated 3D model to the footage from start to finish?
Thanks.

It's not necessary to track a still shot, it can be as simple as making some measurements, creating some placeholder geometry, and matching it up in the camera, but it depends on the level of quality you want and what you want to do.

Thank you for your answer. I don't quite understand what making measurements and creating placeholder geometry means. Could you suggest any Youtube tutorials on the subject?

Probably would be helpful to share your real static frame and some illustration what motion your 3D object should make. In general LOLock is right - to integrate 3D model into static footage you have to replicate parameters of real camera including location, rotation to blender's camera. fSpy app is straight forward solution if your footage contains parallels lines (like a building). Your source footage can help us to understand what "cards" you have in your hands to give you a helpful recommendation :)

Motion tracking is for tracking a motion, either of the camera relative to its environment or of an object relative to the camera.
Aka Camera tracking or Object tracking:

If your camera is static on a tripod, then you have no camera motion to track.
Since you wandered about motion tracking, I reckon your end goal is to reproduce your camera's position and orientation relative to the scene, in which case what you should look up for is called "camera matching" or "perspective matching".
One of the most rudimentary ways to do it is to either know your camera's specifics (resolution, focal, sensor size), copy them in your software, then try to align obvious basic shapes (I.E a plane on a tiled floor) in your 3D scene by moving the camera around with your movie in the background until it matches.
If you don't know the specs of the camera, you could try to calculate them manually, but it gets complicated.
In any case, some softwares can do it, or at least help you do it.
The infamous fSpy software allows you to do exactly that. Give it a frame, draw perspective lines, and it can export a camera in a scene ready for Blender.