text:
Using Cell Fracture the object that is supposed to break, explodes or breaks before impact
I found a lot of similar questions about the Cell Fracture add-on, but all with different issues.
As you will notice from the screenshots, (Blender version 2.83 LTS) between frame 125 and 126 you can see how Suzanne explodes just before the impact of the spiked ball, although she has set the Margin to 0.0001 as well as the shape has been set to Mesh and not Convex Hull. Below, following some tutorials, I also followed the advice to fix the bug of the chain that breaks, decreasing the speed and increasing the steps per frame and the solver iterations (unlike version 2.92 for example, which terms change to '' substeps per frame '').
Let me know and you need the file which in this case I will load it.
Thanks in advance.

The answer is to place the original (non-CF'd) model at the same location.  (use SH-S to do that if the cursor has been moved) Make the CF'd version invisible at frame 1 until the impact frame.  Make the non-CF'd (added) model visible at frame 1 and invisible at impact frame also.  This will also conceal the cracks and preserve texture until impact.
Example here - https://1drv.ms/u/s!AtkhCKZLZs_Pg2TaYxgtg5HPV-KU?e=1qKD5R

Thanks, now I'll try and let you know. In the gif you linked, however, the black ball disappears on impact. @Edgel3D

How do I set visibility on keyframes? @Edgel3D

That clip was actually made to answer another similar query. The ball/sphere is just scenery for that particular demo and was told to disappear. It could just as easily be made to shatter and it's own debris mixed with the cube's.
With cell fracture collisions I don't usually apply physics to the mobile object.  An invisible plane (passive rigid body, curved or otherwise) is placed inside the cube and gives me good control over where the debris is to land and how it erupts. The CF is directed to remain passive until the desired collision frame.  Cont...

... In your case with both the monkey and ball having physics, they will interact and that's probably why the CF tends to react a little early no matter what your settings.  A simple (visual) switch from the original monkey to the CF'd one will conceal this.  To switch an object to invisible, click on it's eye and camera icons in the Outliner.  To switch it back to visible, click on them again.  Keyframe this each time by placing the cursor onto the icon and pressing ' i ' .

When i try to insert the keyframes, i get this message = "hide_viewport" property cannot be animated. @Edgel3D

also if you talked about being able to control the trajectory of the debris, you can link me some info about it I would like to understand how to do it.

That error sounds like you might be trying to hide the entire viewport, not an individual item.  That certainly wouldn't be 'keyframe-able'.  I'm using Vers 2.77 here but I'm sure I've seen posts in here where others are switching items to invisible and back with the later versions.
As for controlling cell fracture debris. Yes loose control for sure.  I can give you details but at a guess I'd say that BSE would prefer you ask a new question for that. I'll watch for it.

I was pressing on the wrong icon, anyway, I tried to do as you said but the simulation is somewhat surreal and jerky. if for example I wanted to do a slow-motion of the impact, this technique would not work. I should make it go fast enough to be unnoticeable.

If you're doing a slow-mo and segments of the cell-fracture are protruding through the original whether visible or not, that would appear quite ugly.
Is that what's happening in your case?  You can shrink those on an individual basis.
When slow-mo'd with all elements inside the original, it looks quite good no matter how slow you go - see example -
https://1drv.ms/u/s!AtkhCKZLZs_Pg2y7YOmdJmBcAwzB?e=HZzVbf

Yes, but I need to see the impact, the collision of the two objects. not just the debris in slow-mo

Am I missing something here?  You can't just move the camera to suit?  The ball and chain etc weren't included because they were superfluous to what I was pointing out.

move the cam to do what? I do not understand. the problem is another. the impact, the collision, is not seen. and I want it to be seen. if I take a video with the cam and shoot the collision zone, it is not seen.

Look at the screenshots I put.

I take it that it's your original problem then, the ball is not contacting with the model?  Have you explored my earlier suggestion - the one where the physics is removed from the ball and propel the CF segments with an invisible rigid body 'plane' placed near the impact area?  A third and easier solution might be to use a dummy ball that's a child of the physic'd one.  Make the  latter invisible and then you can slide the new one forward to make contact with the mesh as it starts to move.  Would that suit?  I'll have to make a move here and log off....

I have adapted your previous suggestions and they have not worked well. I'll try again and let you know. I will post a gif.

Yeah good, do that, try the dummy ball also.  We're being told to move this to a chatroom so I'll do that now... God luck with it all

I've created a chat room so we can continue with this - it's here - https://chat.stackexchange.com/rooms/info/121245/chat-between-edgel3d-albizz?tab=general

Perfect, thank you , so see u soon

The Cell Fracture and physics process by default start at frame 1, and that has to be delayed.  After you do the fracture, select all segments and press  Ctrl + L  to link them all. Choose Animation data.
Now what you keyframe on one will affect them all.  Select one segment, set and keyframe it's physics to Animated at frame 1. Untick and keyframe the Dynamic box also.
Move the timeline to the collision frame (or there-abouts) and keyframe the boxes in reverse.  Animated unticked and Dynamic ticked.
Addendum 1st April 2021

One thing further to the above.  If the physics are still activating at frame 1, save the file and exit Blender.  Reload it.  This will clear the physics cache.

Apparently the procedure has been changed in vers 2.8+ and the new method is set out here -
linking objects in blender 2.8

I understood your example but if you illustrated it to me with screenshots it would be easier.
Why '' Select one segment, set and keyframe it's physics to 'Animated' at frame 1 ''? If set as you say in frame 1, it all explodes at the beginning of the animation. I would say this method doesn't work.

It doesn't work on all segments but only on one. Do I have to set them one by one? I believe there is another method.

I tried the linking feature before I posted that comment up in the chatroom.  I've just done a search for that and apparently the procedure is different in vers 2.8+, so I've included a search link below.  For more, just search for "Linking".  There are two distinct types.  One where you can link assets from another object in a different Blend file, and the 2nd where you do as I suggested, link several existing objects together.  If you can't manage what you'll read in the link below, - (see next comment)

Cont... There is a workaround that should bypass the new system and force Blender to link the segments regardless but see how you go with this first... see the last answer given there -
https://blender.stackexchange.com/questions/141324/linking-objects-in-blender-2-8

Perfect, after several tests and several connections, I was able to set keyframes for all CF debris. since we are on the subject, observing the animation, the ball in the moment of impact, has a small recoil but I think it is due to the weight I have attributed to my objects. Also to make a change of this kind must necessarily run clean keyframes, from scratch. Because otherwise everything blows up like a bomb. lol

Thank you so much for your time.

You're welcome Albizz.  Glad you got it going!  :)


text:
Mantaflow smoke behavior at boundaries
In Mantaflow smoke simulations, the borders of the simulation act as boundaries whether "border collisions" are on or off.   Is this the expected behavior?  It seems like it should be considered a bug.

From the Blender 3.0 docs:

Border Collisions
Controls which sides of the domain will allow fluid “pass through” the
domain, making it disappear without influencing the rest of the
simulation, and which sides will deflect fluids.

So unless the documentation is incorrect, this does appear to be a bug.

the domain walls yes.. if you add another object inside the domain, THAT object will be affected by the "collision on/off"

source: Stack Exchange

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

sort: votes


text:
Adding drop-down text to segments of a Blend(-ed)4web plane?
Can anyone give advice regarding the Blend4wed exporting formats?
I am basically hoping to export out a simple plane which will allow certain interactive features i.e. when a viewer hovers over an allocated segment of this plane, a segment of text will drop down with information about this specific component. The plane will also hopefully contain zoom/ pan features to further support this text component. Is this output even possible?
Advice would be massively appreciated!

Nice to see a blend4web question! Unfortunately I have no idea. :-/

Thanks anyways dude, hopefully someone may know how to! :)

You certainly can achieve this behavior but it will require a bit of JavaScript coding. If you will have further questions feel free to ask for help on the Blend4Web forum.

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


text:
Blender weight painting is offsetting mesh when adding automatic weights
In the attached images, I have a mesh added with automatic weights to a model. When I paint the forearm to deform with the forearm bone, the mesh begins to offset. When it's not painted, it lines with with the armature. Any idea why this is happening? I checked to see if any other bones are effecting that part of the mesh and they aren't. This only happens on the forearm, the rest of the mesh deforms fine with the rest of the body when weight painted. I also tried adjust the scale of the shirt mesh and the model.

My guess is that you have the armature in a posed state. One possible cause is that you mixed up Edit mode and Pose mode when modelling the armature. Does this still happen if you go to the armature object > Pose mode > A to select all > Alt + R to reset rotation?

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


text:
Join roof faces together to form a top
Since Blender doesn't create new edges when 2 faces intersect I wonder how can do this: I have a roof on both sides of my house but i want to join the top faces of the roof together at the center. See the red arrows. How

In Edit Mode select a vertex, snap a cursor to it (Shift+S-->Cursor to Selected) and change the transformation orientation type to Local. Enable the Snaping Tool (click the 'magnet' icon and change its type to Vertex). Press G and then choose the axis (press X, Y or Z, depending on your situation) twice and move a mouse cursor until it snaps to other vertex. Then select the whole mesh (A) and hit W-->Remove Doubles.

In my opinion, the fastest way is using F2 add-on:
http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Modeling/F2
Install and activate the addon

Select the vertex opposite to the "missing" one:

Move the mouse near the "missing" vertex (don't click any button)
Press f

More info on the F2 Addon:

Quad from vertex.
When a single vertex is selected, a new quad is created by creating a new vertex. The position of this new vertex is calculated based on the three existing vertices. These are the selected vertex, and two vertices to which it is connected via open edges. An open edge is an edge which is only part of one face, or none at all. The newly created quad has the same material and normal direction as the neighbouring faces.
Quad from edge.
Similar to the quad from vertex functionality, this is based on open edges. The selected edge has to be connected to two open edges. The vertices which belong to these edges are used to create a new quad.
Direction control.
If there are multiple ways to create a new quad, the position of the mouse cursor is taken into account. Of the multiple new faces which are possible, the one which will be closest to the mouse cursor (in 2d screen-space) is the one which will be created.

The addon will speed up mesh creation.
It recognize vertex paths and add the missing faces depending your mouse position.
You can find a useful video here: https://vimeo.com/57686760

In edit mode, with vertex select, (not edge select)

select the two vertices
menu [merge at center].
grab and place the vertex in the desired location.


text:
Why does Blender rotate my images 90 degrees on import?
I just don't understand why this happens? No other program does this on my computer, but when I try to import a image, Blender rotates the images 90 degrees to the left, causing me to do extra work every time i need one.
On the left side, you'll see the Blender import file window, on the right side, just windows explorer, which clearly shows correct.

Most likely because that rotation information is saved as EXIF metadata from the phone camera or whatever snapped those pictures, rather than actual pixel information. I'd be inclined to conclude that Blender doesn't yet read EXIF rotation information

Alright, thanks. This seems to be the problem.

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


text:
How to reverse the image sequence of a movie clip in video editor ?
I opened the layout for video editing in Blender, added a movie clip onto one channel and made two hard cuts. How do I continue from here in order to reverse the sequence of images of the movie clip part between the hard cuts ?

Enable the backwards checkbox as indicated in the image below.

It's now called "Reverse".


text:
How to make a F-curve with a constant and linear part?

As part of a problem I need to obtain a curve in the graph editor, that has a constant part , followed by a linear one.
for instance:

for the interval [0,100] the curve is y=0
for the interval [100,end] the curve is y=x-100

I tried under Add-Modifier>Generator,
but the closest curve I found was only a y=mx+n curve.
There is also the option of using python to shape the curve,
but I do not know how.
I assumed, that maybe it could be possible to draw the curve by hand, but it does not seem so.
How would you make a F-curve that looks like the white one in the picture ?

Here are a few ways I can think of.
3 Keyframes, linear interpolation.
Simple driver expression   frame if (frame > 100) else 0
Or if you are using modifiers, add two generators and restrict the frame range
0 + 0x for frames 0 to 100
-100 + 1x for frames 100 to

Also, as suggested here How to change the inherited F-curve independently from the original one ?
,  I recommend you look at the NLA editor, especially for offsetting the start of actions.

what is a driver ?

https://www.blender.org/manual/animation/basics/drivers.html


text:
How to export an edited clip into a video file in the VSE?
I am in the video sequence editor, cut out fragments, combined the remaining into one whole new clip and do not know how to procede from here on in order to obtain a video file (h264, mpeg4).
I tried to click the animation button and all I got was a some pictures I already had cut out.

Could you post your output file format settings you can find in the Render tab?

I will try to answer your question. I will be my first answer so bare with me ;-) See the attached image. Specify the render preset (such as the HDTV 720p or some other). Specify frames per second. Enable Sequencer in the Post Processing tab (this will switch render mode from 3D rendering to video sequence rendering). And in the output tab choose H.264 (it will be MPG4 by default as I recall). Also specify an output path and filename. And hit Animation.

don't forget the encoding tab, here you can choose AVI, quicktime and other formats and codecs. If you have audio you can choose the audio codec also in the encoding tab

Ok, but.... where is this window in the first place?

@DanielMöller The Current editor type for this aria should be Properties to access these options (upper-left corner of screen-shot), also it may help to switch the Engine to use for rendering to Cycles; near the top-center of Blender window.

I don't think this is relevant anymore. The renderer tab has properties like "Render Engine", Sampling, Viewport, Bloom, etc… But no "animation" button. It is worth noting though that the GUI looks completely different compared to this answer, I only guessed that I look at the correct window because I found the other menus there, like "Output name", "Sequencer", "Post-processing", etc. Blender version is 2.92.0 here. Apparently they completely redesigned that part.

Just go to "Animation" and on the bottom right and scroll to output the the file logo is change the destination. Then below that there should be a little thing that says "PNG". Change that to "FFMPEG". After that go down to "Encoding" and open the tab and scroll down to the very bottom and beside "audio co" where it says "none" change it to what ever you want it to be. lastly render it using the movie icon button.

Pointing out where exactly that "Animation" is could help. I see no such text anywhere on Blender 2.92.0, I suppose it was hidden somewhere in menus.


text:
How to make a logo cycle (or loop) on top of a clip in movie editing mode?
I would like to create in the movie editing layout a cyclic moving logo over a video, for instance a spinning globe.
I know how to make a static logo:

check the dimensions of the movie clip
create an empty image with same dimensions with transparent background in gimp, add a logo and export as png file.
add movie clip and image with logo onto different channels in movie editing mode of Blender with the image being on top of the movie clip.
choose "back drop" in the properties window of the image to the right.
expand the image to the length of the movie-clip

How to change the steps in order to achieve a cyclic moving logo ?

Please specify, is the logo to display a 3D quality or just a label?

just label, I only have an animated image of about 20 pictures total, that I would like repeatedly play

Related http://blender.stackexchange.com/questions/34302/adding-an-animated-watermark-on-a-video

Your images have sequential names?

i numerated them with nr1,nr2,..nr20

Are we talking about XY movement ................. or repeating a sequence of images multiple  times?  If the latter, you may want to change the words of your question ... or not.

If you want rather simple movement you can keyframe image offset as indicated in the image above
If you wanted a more complex movement. I would place your images as texture on a plane in 3D View Orthogonal Camera.  Use [follow path] constraint and keyframes to achievement movement.  Render as PNG format again.  Use new images in VSE.  If need many images you render should be longer.
Blender VSE expects names such as x_001.png x_002.png for convenience. In case you need to change your names.
If the 20 images need to be repeated multiple times then I would simply copy and paste the strip multiple times. If you copy and paste once then 1->2 , copy and paste both and 2->4, so doubling each time.

you mean like moving text from left to right ? I have an animated picture that changes its shape from frame to frame.

Work Fine 2.79 https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Sequencer/Loop_Media
"Pick a Scene, Image, or Movie strip in the Video Sequence Editor, and use the Strip menu to find the Loop Media operator. A speed effect strip will be created to accomplish the looping effect"
Good Script

You can SHIFT+D the sequence once and then SHIFT+R as many times as you need.
Adjust your final frame and render.
Tested with image animations.


text:
How do I only render what I see, excluding what I have hidden?
It will be a stupid question but I really don't know how to render the current scene with only the objects displayed in the viewport, as although you normally hide them with H, in the render they are the same.
I thought about creating another scene by deleting those objects, but is it convenient? or does the project weigh me down? moreover, from one scene to another it makes me copy only the single objects and not the collections, is there a way to bring the groups?
So how can I render only some of the objects in the scene without having to go crazy?

You don't have to go crazy, all you have to do is learn how to use the tools in the outliner. Read: https://docs.blender.org/manual/en/latest/editors/outliner/interface.html. the camera icon determines what gets rendered, the eye icon determines what is visible on the viewport.

You need to select the filter in your scene view window, and make sure that the camera is enabled. This allows you to make certain objects not render in the viewport.
Bonus Tip:
If you have many different objects to turn off final render visibility on, select all objects you don't want to be rendered. Set the active object (yellow highlighted) in the scene viewer to be turned off in renders. Then once the camera icon is turned off for the active object, right click the icon and around the bottom of the pop up window, select copy to selected. This will set all other selected objects to have the same value as whatever you right clicked on. This also works for things like modifier settings, loc/rot/scale values, and much more.

Thanks so much for the tip!


text:
Change the diameter of a curved cylinder/pipe?
I have a pipe/string shape which has irregular bends at a variety of angles. I would like to scale its diameter but keep the overall length the same. Is there a way to do this without starting again from scratch? I would like to keep the shape of the curve intact.

Try to use Alt +  S with all faces selected, don't forget to check Offset Even.


text:
How can I split a large face into nice even triangles?
I have a simple 2D shape outline imported from a .svg file and converted to a mesh.

This shape has been populated with loads of very elongated triangles, which are not very practical for future editing. Instead, I would like to populate it with nice evenly-sized and not excessively elongated triangles.
I have been able to remove the existing subdivisions with a limited dissolve:

I have then tried a couple of options. "Fill" is a slight improvement but still not great:

The best I have managed is using the "Simplify" brush in Sculpt mode. With Dyntopo selected, constant detail, I do a flood fill and get this:

This is getting closer to what I am after, but note that the outline has now been distorted. If I apply the brush manually, I can avoid the edges but then only partially solve the problem. I could use a higher level of detail for the "simplify" but then end up with a lot of excess triangles.
I would like a way to produce something like the bottom image, but keeping the outline as unaltered as possible from the original. Is there a simple way to do this? There is probably a simple answer, I am quite new to Blender.

I don't think you can lock vertices from changing when using dyntopo in that scenario. What you could do is to solidify the plane temporarily and then use Remesh modifier with some option like new Voxel remesh or Sharp to keep original shape, then Triangulate modifier

Instead of flood filling the surface use grid fill https://blender.stackexchange.com/questions/184984/why-does-cloth-sewing-not-work-correctly-on-this-imported-svg/185007#185007

@susu has a good suggestion in the comments which has worked well for me.

Remove the face so that we just have the outline of edges and vertices.
Subdivide some of the longer edges so that the vertices are roughly evenly spaced
Face -> Grid fill (with all vertices selected)
Face -> Triangulate faces

Result:

I ran into this question while trying to do this exact thing and I found a solution which works very well, while preserving the exact geometry of the border of your face.
My method is as follows:
Start with a face. Here's the one I'm testing on, a vaguely crescent moon shaped 1711-gon.

In Edit Mode, separate the face from the object it's attached to into its own mesh. (Just select the face in face select mode, and press P > Selection, or right click > Separate > Selection). Then switch to editing that object. After doing this, I have my 1711-gon face all by itself.

Select the one-and-only face, press E to extrude it, and give it a comfortable amount of thickness. After doing this, I have an irregular 1711-gon prism.

Go back to Object Mode and duplicate this object (Shift+D, then ESC to cancel moving it so it's on top of the old one). I now have two of my 1711-gon prisms.

Apply a remesh modifier to one of them. This will break the face into smaller polys, and the density of those polys can be configured by adjusting the remesh settings.

Use the object move tool to offset the remeshed copy of the object from the unmodified one, so that the remeshed one is just barely sticking through the top face, like so:

Now, use a boolean union modifier to combine them together. Go ahead and apply both modifiers, and delete the spare object. Go into Edit Mode, and you should see something like this.

"Unextrude" the prism (Delete all of the geometry except for the top faces) - you should be left with the original face (whose geometry you want to preserve exactly), with the remeshed copy bulging through the middle of it.

Now select everything and scale it in the normal direction with a scale factor of zero, this will perfectly flatten it.

Finally, select the long thin faces around the edges (there should only be a few of them, so just do it by hand), and in face-select mode, run Face > Triangulate Faces. This will turn those straggler weird edges into triangles. This has turned my 1711-gon into a surface with the same border vertices, but comprised of 3419 polys.

Now that you have broken your face into easier to manipulate polys, you can merge it back into the object it came from, and sculpt/edit further.

As seen in the example, this will work with concave shapes, high vertex shapes, non-edge-loops, any nonsense at all, without any trouble - as long as your starting face is flat. (If it's not you can use the same flattening trick in step 8 at the beginning to flatten it out). It doesn't give you a great deal of control over the grid pattern you will get on the resulting face - I am assuming you don't care, and you only want to be able to sculpt on the face without changing its shape.

Thanks for sharing! I would not have thought of that - it's kind of convoluted - but a very clever way to make sure that the border is completely preserved.

It's also much more robust than grid fill, which starts to fall down with concave shapes

Yeah! that's actually why I wrote it - I tried grid fill, and it choked because I wasn't working with an edge loop. It seems like a great option, provided you are in the specific situation in which it works. :P


text:
How to make an expanding wave ?

If you throw a stone into a pond, one circle starts expanding around the centre of impact. If you pad with you hand onto the water surface continuously all 3 seconds you get many expanding circles whom all are the same distance away from the next circle and its center a new circle starts expanding each time you touch the water.
I would like to know how to realize the second kind of wave expansion.

If you are not interested in a perfect simulation (with wave interference, variations of the speed, true collisions...), but just a quick animation, I would give a try to the Wave modifier

Suzanne's bust is the origin of the wave. It is animated to go up an down on the Z axis. Then the modifier's wave speed and offste was tweaked to match suzanne's frequency to give the illusion that the two effects are related.
Result:


text:
How to create a typing text-object animation ?

As for the video editor in Blender, I would simply make the five pictures in the drawing and put them one after the other onto a channel. But how to make the same animation if the text is made out of 3d objects in the default layout ? (for instance in order to make them rotate while they are typed )

See cegaton's answer here: http://blender.stackexchange.com/questions/35734/how-to-animate-text-being-revealed-on-the-screen

You can use the Blender Typewriter Addon:
http://urchn.org/post/typewriter-blender-addon
copy and paste the code into the Text Editor, then press alt + p to run the script.
Select your text object and you'll find a new panel into the Font Propery Panel:

Type the text in "source_text" field (NELLY).
Go to frame 0 and insert a keyframe for the character_count = 0 (mouse over the field and press i)
Go to frame 75, change character_count to 5 (text length) and press i
EDIT: Animation Nodes Addon
If you need more control (such as animating letters size, rotation...), you could use the Animation Nodes Addon.
Here you can find a video showing an advanced text manipulation:
https://www.youtube.com/watch?v=li7R01PyXuI&index=26&list=PLFSQhJg6cGLKq8WbouMNBOHbMd7xUhuom


text:
How to make a 3gpp file usable for the movie clip editor ?
I have a movie file in the 3gpp format (shot with android smart phone, using Linux).
I switched into the movie clip editor and clicked on the open-button to import it as footage. Yet this file is not displayed in blenders file browser.
How do I continue from here?
Should I convert this file into another one, and if yes with what program into what format ?
Should I use an addon for blender if possible ?

i found a solution, do you know avconv ? avconv -i file1.3gp -f mp4 file2.mp4

Try out reading it with AviSynth, compare: http://blender.stackexchange.com/a/41720/2843

After you found your solution you should add a quick answer for others to be able to accomplish this task as well.

This question comes up pretty high in searches so I thought I'd add what worked for me - converting it to mp4 with ffmpeg:
ffmpeg -i originalvid.3gp -q:v 0 -q:a 0 -strict -2 targetvid.mp4
This keeps the video (q:v 0) and audio (q:a 0) at the maximum possible quality.

This takes ages and seems it is encoding it again. Can't imagine that re-encoding does not loose quality. Is there no other way to convert without re-encoding? The same codecs are supported by both formats, aren't they?

This makes sense, you are probably right. I don't know how I came to this conclusion 3 years ago. I've edited the answer, hopefully it's accurate now. I don't know to achieve a Blender-usable conversion without re-encoding though.

Thanks. for my video, the resulting mp4 was less than 1/3 of the size of the original 3gp in terms of file size. I know this is a blender site, but I need to convert it for another purpose, and any hints how to change the container from 3gp to mp4 without touching the content itself would be nice to read. I am very disappointed by my android producing 3gp and all usable video software ignoring this format. I have not found any solution of how to use my android to record video that I could process further without hours of lossy conversion, which is sort of surprise in this media-intensive ages.

Thanks, it worked for me


text:
How to display a number as output value in node-editor?

I would like to input a numeric value and output also a numeric value after it has gone through some nodes realizing a mathematical function.
I know how to realize the mathematical function with multiply and adding nodes (here: f(x)=x^2 + 5x ) but I do not know how to continue from the ADD-node on to display the output as a number.

Please submit a screen capture rather than a drawing.  Where do you want to display the output?  The console?  The 3D View?

I will change it, but I can not at the moment, cause Blender crashes everytime I try to make a screenshot by ctrl+F3.

@AbdulAlHazred you can simply press the Print Screen button on your keyboard. How do you make the images in your questions? I like the style, and how it still conveys the meaning.

I took a photo of the picture drawn on a college block, opened it in Gimp, opened the curve editor , inverted the curve, so that black became white and vice versa and draw both endings closer to the middle. I did it because it seems to be better readable compared to the original photo.


text:
How to create an image whose alpha value changes according to a curve through time in node-editor?
I connected an image-node with a composite-node and connected a value-node into the alpha of the composite-node. I changed the values and the image changed its transparency.
Then, I connected the time-node into the alpha of the composite-node instead of the value-node, changed the graph of the time-node into an oscillating wave and when I clicked on different frames in the time-line the transparency also changed according to the curve.
So far so good, here the problem:
My goal is to make an animation of a picture whose alpha-value is oscillating along with a curve through time. I tried to apply keyframes on the time-node but it does not seem to be possible.

A screen capture will help the explanation.

the keyframes worked great in the mixer-node, but those were only two values, here I have a whole hand-drawn curve in the timenode, i tried randomply to press the I-key onto the values directly on the time-node, but no effect like with the values in the mixer-node....i do not understand it.

wait, I guess I got it, I do not have to put any keyframes only press onto the "animation" button.


text:
Blender render background image distorted
I am trying to add an image as render background in 2.75, using Blender Render, not Cycles. I add a world texture, mapping set to "view". What I want is an image mapped 1:1 to the rendered background, meaning when I render the same dimensions as the input image, I want to get the same image as render output. What I get is an image with a pillow distortion, which amount depends heavily on the focal length/field of view of the camera:

(This uses a rectangular grid as input)
Looks like some kind of spherical projection to me, but I set mapping coordinates to "view". I remember this working in previous Blender versions without having to use the compositor, what am I doing wrong?

Check "Paper sky" in the World Panel


text:
How do I select vertices that are directly under the other?
I'd like to select vertices that are directly beneath the one I am selecting to save me the trouble from moving out of ortho view. It's mostly on simple shapes like the cube below.
Notice how the first image has two vertices selected. However, if the other side is not.
N http://puu.sh/kg0oN/a618eee709.png
I want to be able to select vertices like so without coming out of ortho mode:

Is there a way to do this?

In edit mode disable Limit Selection to Visible.

the best solution to this problem is the border occlusion addon - download it here video how its works

In edit mode disable Limit Selection to Visible.

An alternative approach is to switch to Wireframe Mode with the Z key.

Blender 2.8
In 2.8, these tools have changed location:

I have tried this and it does not work for me for some reason.

After toggling the Limit Selection to Visible button, right-click the first vertex, then hold shift and right-click again (on that same vertex) and the vertex directly behind it will ALSO be selected. It works. Try it.

That does work. But I was more looking for doing it in one click? Kinda like what B does, but with clicking instead? Or is that not a thing, haha

@EricPatton Instead of using B , press C (Circle Select) and just click on the vertice once.

Blender 2.8
You must enable X-Ray.

I just switch to wireframe mode. z => 4.


text:
Blender 2.7 render view badly pixelated but all other views are good/fine/ok
I am brand new to Blender. I have tried all remedies offered, adjusting resolution, dimensions, etc... but I could get none of them to address the problem:
Render views are very badly pixelated looking, as divided along edges in this cylinder.

But, in Material or Texture view, image quality looks excellent.

Perhaps in my learning curve I had adjusted some obscure parameter which permanently causes this.
If I paste the object into a startup Blender Render, the problem persists.  But, it looks fantastic in other non-render views.  It's a head-scratcher.
Sorry for the repeat, but no remedies worked.

First thing to do is to upload a copy of your file to blend-exchange, and edit the link to the file into your question. That way, those who want to help have more information, and have less need to guess at the answer. One thing that would cause the phenomenon you observe is if you have a subsurf modifier assigned to the walls, and adjusted the "view" parameter under "Subdivisions", (in the lower left of the modifier panel) but failed to adjust the "Render" parameter just below it.

Don't worry - Blender's working just fine :)
The Render View algorithm is set at a low quality value for performance reasons, so you can manipulate the view of the model in real time with approximate ray-trace lighting conditions including reflections, transmissions, transparency, etc. It's not meant to give you an excellent result, just a guide result. If you want an excellent result, F12 :)
Material view only takes into account diffusion and light - no reflections, transmissions - so it's even quicker to calculate. There are no calculations done to approximate reflections or caustics, which is what's 'fogging up' your Render View.
Blender Render (otherwise known as 'Blender Internal' or 'BI') is supported, but no longer developed. Everyone's moving to the Cycles render engine (or other third party alternatives). Among many other features Cycles includes flexibility in setting both Preview and Final render settings independently. This means you can increase your Render View quality quite a bit... at the expense of view-handling performance.
As an aside... for a tiled pattern that's one helluva huge bmp you're using :) Think about using a smaller tile that just captures one iteration of the pattern: then in the Texture > Image Mapping panel, set it to Repeat and increase the X and Y values until you're happy.


text:
Detect and fix holes in an object (not mesh holes)
I have a complex mesh that I have imported from a .obj file. I would like to check whether it is genus-0, i.e. whether there are any holes in the object. If there are such holes I need to fix them. I have tried searching by eye but it appears there must be rather small holes that are not obvious on inspection.
When I search for things like "Blender fill holes" the results appear to relate to holes in the mesh itself, i.e. involving edges that only have a single adjacent face. This is not what I am trying to do. For example, the standard mesh "Torus" has no holes in its mesh, but it has a big hole in the object itself, which is the kind of thing that I need to be able to fix.

I would consider a  "remesh" under object data properties, depend on resolution (voxel size) you set it will fill the holes that are too small. But it will will completely ruin the topology.

That can be about finding features points on a mesh, eventually finding the skeleton so that the topological structure can be found. But this is (i think) still research projects. Or your case is particular? Could you provide an example?

Assuming you do have a closed, clean, manifold surface, and you're looking for the number of genuine topological holes, you could use the surface's Euler Characteristic? (You'd better get Math SE to check me up on that one) .. anyway...
Object mode, select the object, run this snippet..
import bpy

ob = bpy.context.object
me = ob.data
v = len(me.vertices)
e = len(me.edges)
f = len (me.polygons)
g =  1 - ((v - e + f)/2)

print(g)

.. and the genus is returned in g.

This is a very helpful start, thank you! Although ideally it would be great to know where the holes are located, this will presumably just tell me how many there are.

@user2390246  at first sight, a strict solution to finding the holes seems a bit of a job

@RobinBetts, yes... commented in the same way below the question... but would be something great to have!!

@lemon ... can imagine a few (not strict) divide-and conquer strategies.. as you commented, a characteristic shape would help.

@RobinBetts, a tesselation? That can do, but still complex I think. But I you have some idea about it, please go!! Man, if we had that, it can be included to blender core code, I think... many applications.

@lemon Oh.. I doubt that.. but, for instance, if you can divide a mesh by a route known  not to go through a hole, then all (maybe shortest) routes from one side to the other must go through a hole. Heat map? That sort of heuristic.. probably rubbish, but fun to try.

@RobinBetts here you are above my skills.


text:
I have a few materials that I want to fade between during an animation
I have different procedural materials and I want to fade from one to another during an animation. Any way to do this?

What you need to do is add a mix shader in between the two nodes, then you can add keyframes to the factor value by pressing 'I' while hovering over it:

I hope this helped!


text:
Rotate a bones without rigging meshes
When creating the skeleton, I did not notice that the bones have an incorrect rotation of the coordinate axes. Now I have a skeleton with attached body parts. How can I rotate the bones without touching the meshes? Now if I rotate a bone (Ctrl+R) in Edit mode, parts of the body also turn into Pose and Object modes.

What i have. Wrong coordinates.
What i want to have
What do I get if I rotate the bones. The attached parts of the body also rotate.

What can i do?

clear parent then rotate and then parent again?

@Viplav Prakash but how can I save all the bone properties that I made? Now I have many modifiers responsible for the comfortable movement of the character

if you rotate in Edit mode it should not rotate In Pose mode... maybe share your file: https://blend-exchange.giantcowfilms.com/


text:
cut out a piece of the terrain
See image. I'm trying to cut out a small piece of the terrain to use for particle system (scatter trees, grass etc). I used the knife tool to draw the area (orange line). How can I then delete the rest of the terrain and just keep the portion within the orange line? (In Max I just use the shapemerge modifier, not sure what to do here in blender).

keep this edge loop selected, press V to rip, then put your mouse over the part you want to select, press L. But you're talking about creating a particle system, are you sure you don't want to create a vertex group?

@moonboots: thanks for the tip! Vertex group is the way to go.

Create a desired shape from 2D curves, below is an example, and close it enabling cyclic option. Model the plane to shape, convert to mesh and knife project it onto the terrain. Then invert the selection and delete it. Or, having knife projected, separate the selection and delete or keep the portion that's left. NB: to knife project correctly you need to be in ortho view.

For selecting mesh inside the loop:

Using Knife tool create you loop as you want. You also can slect one vertex an pressing Ctrl select other, and blender will select shortest way between them. After selecting one way, you can continue selecting with Crtl + Shift.
In Edit mode, at the top click Select > Select Loops > Select Lopp Inner-Region

For separate selected, click on the top Mesh > Separate (P) > Selection. This will separate your selected mesh in new object.

As already written by "moonboots" user, if you want use this for particle system, you just can use Weight Painting, and selecting not required. Also you can paint white-black texture and use this as mask for transparent material, but you need particle system, so on transparent regions still will be particles. But, using this with Weight Paint, you can paint weights for particles and mask for transparent material, so it will be non-destructive.

OK, but this allows only angular selection and won't work when a more curved and natural looking shape is desired.

@Lukasz-40sth I dont understand what you mean, I tried to sculpt mesh in different forms and my method still works. I understand that knife tool works in projection, but selecting can be done with Shift + Ctrl, for selecting the shortest way, and on very different forms itis  will be working

hope you understand it now that I added the image.

Thanks for the tip on weight paint!


text:
How to twist material
The material on the trunk of the tree looks repetitive and unnatural. I'm thinking maybe I can twist the material along the trunk so the repetitive pattern doesn't show on one side. Any idea on how I can do this?

Hi :). Pretty useful nodegroup here: BlenderGuru - How to Tile a Texture Without Repetition

Thanks! That looks really useful.

Depending on the UV unwrapping, it may be as easy as offsetting either X or Y coordinate by the other. A Math > Multiply can be used to control the strength of the shear:

Awesome! I've never used converter nodes before, so took me a while to learn. I copied your nodes above. Seems to be working, but I feel the mapping is now a bit off. Can't quite put my finger on what's wrong with it, but it might be something to do with the UV unwrapping... I'll post a picture below.

Hmmm... I think it might be because it's no longer a single continuous wrap.

This would be better as a comment or part of your question according to BSE rules, anyway, hard to see on the GIF, but I think there's a mirroring effect on the left side of the trunk. What probably happens is that you UV unwrapped the cylinder in a way that it has two halves residing on the same UV space, but one is flipped (hence the mirroring). And so moving the UV coordinate is moving both halves in the opposite ways. You could check using normal or sign of Y coordinate to flip the offset on one side, or unwrap the cylinder in a usual way (seams on top, bottom and one edge loop).

Cool, thanks. I'll do some study on UV. Btw, I tried to put the image in the comments, but I don't know how to; drag and drop didn't work.

For comments I upload to imgur and then paste the link.

Thanks for the tip!


text:
Switch off materials
When I click on viewport shading (render), it first goes into a monotone (i.e. without materials) for a few seconds before the materials show up. (It's a big model with lots of trees, so it takes a few seconds to process.) I actually quite like the monotone effect as I can study the lighting better this way. Is there a way to switch off all the materials so that when I click on viewport shading, it will just be monotone?

Hi :). This looks like a simple wireframe view. You can easily render it from viewport.

@JachymMichal but there's only front geometry visible there

@Markus True, good point :)

i am not sure, whether you want this, but you can achieve this with compositing like this:

For cycles, you could refer to this answer about overriding all materials:  2.8 - Is it possible to assign (override) a material to a whole collection?
Alternatively, you could choose the Workbench engine and set "Color" to a "Single" Gray (or whatever you like) and enable shadows.


text:
Align object/instance to point away from end of curve
I am trying to create a lamp with a flexible metal arm. The metal arm is modeled with a curve that is modified by geometry nodes. I want to attach the lamp "head" to the end of the curve and obviously it should point in the direction that the curve points towards.
The blender documentation on Sample Curve - Tangent has this useful bit:

This output can be combined with the Align Euler to Vector Node to create a rotation that lines up with direction of the curve. Including the Normal output in a second align node after can align the other rotation axis.

But I just cannot make it work - for some combinations I can make it point almost in the right direction, but it will always be at least a little bit off.
Download blender file

Hopefully you want it like this?

This looks perfect - I don't have access to my computer right now, but I will check it out later and Mark your answer as the solution.

I would use the following setup:

Here, I first reverse the curve so that the first index of the curve starts at the end of the curve.
Then I use Curve to Points to convert the curve into a single point. Since the starting point is now at the end, this leaves only the desired end point.
This node has the advantage that the correct rotation is output directly and you save the manually created point.
Depending on the orientation of your object, this rotation can be corrected manually in the correct direction with an additional Rotate Euler node.
This way you save a few nodes and get a correct alignment on all directions (tangents & normals).


text:
How to fill a fixed space with random instances
I want to fill a bookshelf with random instances of books. The books are available as instance collections and vary in size.
I believe array modifiers cannot work with instances, and cannot pick from multiple objects anyway.
I am guessing there is a way to do it with geometry nodes, but I am not sure how to capture the dimensions of each book and then place the next instance accordingly.
Is there any way to do this procedurally? Or do I need to create manually pre-randomized instances?

You can find a vertical version of the bulk of this problem here :)

Here's a cute way to do this in python scripting, only from a single collection:

import bpy,random

bookYlen=0.0
bookCnt = len(bpy.data.collections['book_collection'].objects)
maxAttempts = bookCnt * 2 ## allow for dups in randon selection, up to a point
shelf = bpy.data.objects['shelf']
bpy.ops.collection.create(name='placed books')
bpy.context.scene.collection.children.link( bpy.data.collections['placed books'] )
bookNextYloc = shelf.location.y - (shelf.dimensions.y / 2)

# keep choosing and plancing an object in collection until total width will exceed
while bookYlen < (shelf.dimensions.y - .16):
    attempts = 0  #
    print( 'bookYlen',bookYlen)
    while attempts <= maxAttempts:
        attempts += 1
        # get a random book
        chosenIdx = random.randint( 0, bookCnt - 1 )
        chosen = bpy.data.collections['book_collection'].objects[ chosenIdx ]
        widthToAdd = chosen.dimensions.y
        print( 'attempts',attempts,'maxAttempts',maxAttempts, 'try adding ', widthToAdd, 'at',bookYlen, 'with shelf.dimensions.y', shelf.dimensions.y)
        if ((bookYlen + widthToAdd) > shelf.dimensions.y):
            print( 'filling up ... try another' )
            continue # hope for another, slimmer book
        # place (a linkded duplicate of) this book on the shelf
        chosen.select_set( True )
        bpy.ops.object.duplicate_move_linked()
        chosen.select_set( False )
        # created object is the new book to place
        book1 = bpy.context.selected_objects[0]
        book1.select_set( True )
        # assume x and z axis are aligned
        book1.location.z = shelf.location.z
        book1.location.x = shelf.location.x
        # place at next open position
        book1.location.y = bookNextYloc
        print( book1.name, 'placed at ', bookYlen )
        bookYlen += book1.dimensions.y
        bookNextYloc += book1.dimensions.y
        # move to "placed" collection
        bpy.data.collections['placed books'].objects.link( book1 )
        bpy.data.collections['book_collection'].objects.unlink( book1 )
        book1.select_set( False )

Thank you, I will try to find a way to do this with geometry nodes, but this script may yet end up being useful anyway.

@cornergraf -- while i'm not a smart GN user, I agree that scripting aught to be a last choice.

I actually ended up using your script, which I modified a bit to suit my purposes. I have an almost working geometry nodes solution, which I also hope to get working eventually. I will post everything here under this question once I got it working.

@cornergraf -- i hope you get a chance to "mark as solution" so I raise my reputation on this site.  I work for points, LOL.


text:
Face location, rotation world matrix with x, y, z and bmesh
I'm trying to adapt the excellent information in this post https://blender.stackexchange.com/a/119342/18323 to also include x,y rotations of faces and for a case where any modifiers are taken into account with bpy.context.evaluated_depsgraph_get() ...it's close but the rotations are slightly off when scaling non-uniformly? What have I missed?
import bmesh
import mathutils

obj = bpy.context.object
# Remove empties
bpy.data.batch_remove((o for o in bpy.context.scene.objects if o.type == 'EMPTY'))

norm_length = 1

#Get the object scale and matrix_world data
bpy.ops.object.mode_set(mode='OBJECT')

#Create a bmesh of the object
bm = bmesh.new() # create an empty BMesh
dg = bpy.context.evaluated_depsgraph_get()
bm.from_object(obj, dg)

mw = obj.matrix_world

def create_rotation_matrix_from_face(mx, face):

    N = mx.inverted_safe().transposed().to_3x3().normalized()
    normal = N @ face.normal
    tangent = N @ face.calc_tangent_edge_pair()
    binormal = normal.cross(tangent)
    rot = mathutils.Matrix()
    rot[0].xyz = -tangent
    rot[1].xyz = -binormal
    rot[2].xyz = normal
    return rot.transposed()

#Calculate normal transformations for the selected faces in the bmesh
for face in bm.faces:
    mat = create_rotation_matrix_from_face(mw, face)
    loc = mw @ face.calc_center_median()
    rot = mat.to_track_quat().to_euler()

    bpy.ops.object.empty_add(
            location = loc,
            rotation = rot
        )
    mt = bpy.context.object
    mt.empty_display_type = 'ARROWS'
    mt.empty_display_size = norm_length
    mt.select_set(True)

bpy.context.view_layer.objects.active = obj
obj.select_set(True)

bm.free()  # free and prevent further access to bmesh

Try normalizing normal and tangent with .normalized().

Quick note: have updated linked question to not use the add empty object operator. Multiple operator calls can slow things down significantly.  Often use it in test scripts and then remove, decided to leave adding empties in answer. Anyhoo. suggest adding an empty to check tangent vector.  Another option is to apply the matrix to the evaluated bmesh and use normal drirectly.

From the bmesh directly.
Suggest to get the global normals from an evaluated bmesh, may as well apply the transform (world matrix) and update the normals.

import bpy
import bmesh
from bpy import context
norm_length = 2

bpy.ops.object.mode_set()
bpy.data.batch_remove((o for o in context.scene.objects if o.type == 'EMPTY'))

ob = context.object
dg = context.evaluated_depsgraph_get()

bm = bmesh.new()
bm.from_object(ob, dg)
bm.transform(ob.matrix_world)
bm.normal_update()
for f in bm.faces:
    n = f.normal
    mt = bpy.data.objects.new(f"n{f.index}", None)
    mt.location = f.calc_center_median()
    mt.rotation_euler =  n.to_track_quat().to_euler()
    mt.empty_display_type = 'SINGLE_ARROW'
    mt.empty_display_size = norm_length
    context.collection.objects.link(mt)

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

Or to create a World Matrix from face tangent.
as in question then, for unit scale empties, using normalized vectors

n = f.normal
t = f.calc_tangent_edge_pair().normalized()
bt = n.cross(t).normalized()

M = Matrix([t, bt, n]).transposed().to_4x4()
M.translation = f.calc_center_median()
mt = bpy.data.objects.new("n{f.index}", None)
mt.matrix_world = M

or unnormalized

n = f.normal
t = f.calc_tangent_edge_pair()
bt = n.cross(t)

The results shown from cube with following transform

Thanks @batFINGER. Could you help me understand how I can store the correct rotation as a x,y,z Euler though?... (I didn't explain it properly in the question sorry) I need a variable that contains the x,y,z Euler for my use case... in your example you went straight to M = Matrix([t, bt, n]).transposed().to_4x4() ...I'm still trying to wrap my head around all this, thanks for your help!

Oh hold on I can just do something simple here like rot = M.Rotation.to_euler() right? (Seeing as you just created the matrix anyway).

The three axes form the columns of the matrix. The Matrix class uses row order. Hence the transpose.  (May also see transpose used to invert normalized orthogonal matrices like a rotation)   And yes. re Euler. Prefer setting a  matrix as it  works regardless of rotation mode.

Ok that's helpful, thanks!

Getting an error with rot = M.Rotation.to_euler() ... no attribute 'to_euler()' ... what's the correct way?

M.to_euler() .  Recommend use the python console to check things out M = Matrix()  then M   The convention is a capital letter is a class and can be used as a constructor R = Matrix.Rotation(angle, size, axis) to create an instance of aa matrix R. Mixing the two rarely works.

I think you forgot the f string here - mt = bpy.data.objects.new(f"n{f.index}", None)

Hey @batFINGER, I know this is resolved and prob should be a separate question but when using this in an animation on equal sided faces (eg. Square) the x, y rotations flip all over the place (every frame)... https://docs.blender.org/api/current/mathutils.html?highlight=to_euler#mathutils.Matrix.to_euler... is using the euler_compat (Euler) argument the solution here?

This is always going to be an issue using the calc tangent method to create matrix. Sounds like need to do a test if all edges are equal and devise your own calc_tangent* methods.by choosing the most axis aligned pair. The track quat method lets you choose UP, just like a tracking constraint.  yeah prob warrants a new question.

Using a ray cast, this is snapping cursor on face centers (pressing F), with rotation (F + shift).
in object mode, edit mode, with subdivision modifier
My script was on a active object following the cursor but I simplified for the example. this is quite the same

import bpy
import bmesh
from mathutils import Matrix
from bpy_extras import view3d_utils

class ModalOperator(bpy.types.Operator):
    bl_idname = "object.modal_operator"
    bl_label = "Simple Modal Operator"

    def ray_cast(self, context, event):

        scene = context.scene
        region = context.region
        rv3d = context.region_data
        coord = event.mouse_region_x, event.mouse_region_y
        viewlayer = context.view_layer
        if bpy.app.version >= (2, 91, 0): #well actually under 2.93 but I let it
            viewlayer = viewlayer.depsgraph
        # get the ray from the viewport and mouse
        view_vector = view3d_utils.region_2d_to_vector_3d(region, rv3d, coord)
        ray_origin = view3d_utils.region_2d_to_origin_3d(region, rv3d, coord)

        return scene.ray_cast(viewlayer, ray_origin, view_vector)

    def face_center(self, context, event):

        result, location, normal, index, object, matrix = self.ray_cast(
            context, event)

        if object:
            subsurf = [mod for mod in object.modifiers if mod.type == 'SUBSURF']
            if subsurf:
                depsgraph = context.evaluated_depsgraph_get()
                if context.mode == 'OBJECT':
                    object_eval = object.evaluated_get(depsgraph)
                    face = object_eval.data.polygons[index]
                else:
                    mesh_from_eval = bpy.data.meshes.new_from_object(
                        object_eval)
                    face = mesh_from_eval.polygons[index]
            else:
                face = object.data.polygons[index]

            mw = object.matrix_world
            me=object.data
            loc = mw @ face.center

            if object.mode == 'OBJECT':

                if event.shift: # + rotation copy
                    bm = bmesh.new()
                    bm.from_mesh(me)
                    bm.transform(mw)
                    bm.normal_update() # if the obj has rotation

                    bm.faces.ensure_lookup_table()
                    f = bm.faces[index]
                    n = f.normal
                    t = f.calc_tangent_edge_pair().normalized()
                    bt = n.cross(t).normalized()

                    M = Matrix([t, bt, n]).transposed().to_4x4() #rotation
                    loc = M.translation = f.calc_center_median()

                    context.scene.cursor.location = (0,0,0)
                    context.scene.cursor.matrix = M # or on an object obj.matrix_world = M

                    bm.free()
                else:
                    context.scene.cursor.location = loc

            else:  # edit

                if event.shift:
                    bm = bmesh.from_edit_mesh(me)
                    bm.faces.ensure_lookup_table()
                    f = bm.faces[index]
                    n = f.normal@mw.inverted()
                    t = f.calc_tangent_edge_pair().normalized()@mw.inverted()
                    bt = n.cross(t).normalized()

                    R = Matrix([t, bt, n]).transposed().to_4x4()

                    context.scene.cursor.matrix = R
                    context.scene.cursor.location = loc
                    bmesh.update_edit_mesh(me)

                else:
                    context.scene.cursor.location = loc

    def modal(self, context, event):

    # to face center
        if event.type == 'F' and event.value == 'PRESS':
            self.face_center(context, event)
            return {'RUNNING_MODAL'}

        elif event.type in {'RIGHTMOUSE', 'ESC'}:
            return {'CANCELLED'}

        elif event.type in {'SPACE', 'RET'}:
            return {'FINISHED'}

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        context.window_manager.modal_handler_add(self)
        return {'RUNNING_MODAL'}

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.modal_operator('INVOKE_DEFAULT')

on an object instead of cursor in edit mode I did
mw = context.object.matrix_world
n = f.normal @ mw.inverted()
t = f.calc_tangent_edge_pair().normalized() @ mw.inverted()

and here is an example in object mode on a active object
Align empty to normal with object matrix world rotation?


text:
Align empty to normal with object matrix world rotation?
I want to align an empty (Arrows) to a selected face normal with the empty's Z axis aligning to the normal direction (and location which I have working). When the target objects rotation is 0 it's fine... but if I rotate the target object and then select a face I can't work out how to add the object's matrix_world rotation to the empty's matrix_world rotation (I'm thinking this should be easy but can't solve it atm)... here's the code so far. (Add an Arrows Empty named 'Empty' and select one face on an object). any help greatly appreciated.
import mathutils
import bmesh

obj = bpy.context.edit_object
mw = obj.matrix_world.copy()
loc, rot, scale = obj.matrix_world.decompose()

bm = bmesh.from_edit_mesh(obj.data)

# select one face - testing
for f in bm.faces:
    if f.select:

        f_location = mw @ f.calc_center_median()
        print("location: ", f_location) #correct

        DirectionVector = f.normal

bpy.data.objects['Empty'].rotation_mode = 'QUATERNION'
bpy.data.objects['Empty'].rotation_quaternion = DirectionVector.to_track_quat('Z','Y')
bpy.data.objects['Empty'].location = f_location

#bpy.data.objects['Empty'].matrix_world.to_euler = rot

Thanks @batFINGER, I'll check those out.

import bpy
from bpy import context
from mathutils import Matrix, Vector
import bmesh

obj=context.object
mw = obj.matrix_world
me=obj.data
bm = bmesh.new()
bm.from_mesh(me)

bm.transform(mw)
bm.normal_update() # if the obj has rotation
f = bm.select_history.active #last face selected
n = f.normal
t = f.calc_tangent_edge_pair().normalized()
bt = n.cross(t).normalized()

M = Matrix([t, bt, n]).transposed().to_4x4()
M.translation = f.calc_center_median()
mt = bpy.data.objects.new("Empty", None)
mt.empty_display_type = 'ARROWS'
mt.empty_display_size = 1
mt.matrix_world = M
context.collection.objects.link(mt)

bm.free()
```

Thanks for this answer... but the final rotation of the empty doesn't match a selected face rotation if the object is scaled non-uniformly. The object scale is applied to the empty, but the empty's orientation is already aligned with the face so it effects it incorrectly... perhaps applying the object scale to the empty before matching the rotation would work?

@Dan I finally modified it to correct this problem

New version all in object mode and working even if cursor is not at zero

Suggest there is no need to apply transforms, then re - apply the inverse   on the Mesh Can all be done directly on bmesh as shown here https://blender.stackexchange.com/a/237414/15543 for an evaluated mesh.

without it the empty is not well aligned and orientation of axis is different. (on a object with scale not applied)

That's Absolute BS.  Apply the transform to the bmesh, update the normals.  Don't write bmesh back to mesh.

ok thanks to your explanations I think I will make it work in edit mode too now

Using the instancer.

If we add an object at global origin, set it as the child of our mesh, turn on instancing and set to faces then an instance of each object is created at the face center and aligned to the face normal as calculated internally by blender.
In a number of your questions
Vertex as x,y co-ordinates from face center for animated object
Face location, rotation world matrix with x, y, z and bmesh
it has been noted that using
t = f.calc_tangent_edge_pair()

will flip flop on faces when there are a number of same length edges.
Here is a test script, select a mesh object

Adds an empty and makes it a dupli-face ie an instance is created for each face aligned to each face normal

Iterate over the instance objects, make a copy of the matrix world

Match to mesh objects polygons. Contend they are instance in polygon index order

Test script. Run with Mesh object selected, active in OBJECT mode.
import bpy
from bpy import context
from mathutils import Matrix

ob = context.object
mw = ob.matrix_world
scene = context.scene
# clear all empties
bpy.data.batch_remove((ob for ob in scene.objects if ob.type == 'EMPTY'))
# add an empty to instance
bpy.ops.object.empty_add(
        location=(0, 0, 0)
        )

mt = context.object
mt.parent = ob
S = Matrix.Diagonal(mw.to_scale().to_4d())
mt.matrix_parent_inverse = S.inverted()

mt.empty_display_type = 'SINGLE_ARROW'
ob.instance_type = 'FACES'

# get the matrix worlds of the instances

dg = context.evaluated_depsgraph_get()

mats = [i.matrix_world.copy() for i in dg.object_instances if i.is_instance and i.object.name == mt.name]

# Same number

print(len(mats), len(ob.data.polygons))

# contend their order matches

for i, mat in enumerate(mats):
    bpy.ops.object.empty_add()
    mt = context.object
    mt.name = f"Face{i}"
    mt.show_name = True
    mt.empty_display_type = 'ARROWS'
    mt.matrix_world =  mat

Note theoretically this should also work on modified mesh.

But it does not..  may make a question regarding.


text:
How to simplify this geometry?
How would you go about simplifying this geometry?

(Some more info: I wouldn't really be worried about it but at the moment it takes ages to render in cycles and I think it may be because of the amount of verts in the scene?)

PS. They are many more blocks like this (it's a simple building placement scene), I have considered replacing them with new geometry, but think that may take a while.

hit X button and select limited dissolve

It's probably not the vert count that is slowing down a cycles render unless building the BVH is taking a long time

What's the BVH?

BVH is how cycles loads all the geometry in the scene when you hit the render button.  If you have a lot of geometry (2million verts +) building the BVH and getting it ready to render will take a bit longer than normal.
Because the way cycles works, mesh density doesn't have too much of an effect on render time. Things like lots of bouncing lights (an interior scene, like from sunlight bouncing off the ground outside, in through the window, then around the room for example)  will slow it down tremendously.

if you have an 8 million poly scene, building a BVH can take 30 seconds to do, but rendering might be fast in comparison.  If you have a 1000 poly scene, building BVH will be almost instantaneous, but rendering might still be the same time as the 8million poly scene.

@NeverGiveUp Bounding Volume Hierarchy

You were right Tim, after experimentation it seems it wasn't the vert count that was slowing cycles so much as the fact that I was using CPU instead of GPU, I also lowered the minimum bounces from 8 to 2 and got rid of the ambient occlusion. The rendering went from 10mins to 30sec after these changes! (Though reducing the vert count did seem to help the viewport display and overall speed still (verts went from 500,000 down to 33,000))

Oh fantastic, 10 mins to 30seconds is a huge improvement.  By the way, be weary of the cycles "AO render pass."  I've had problems in the past of it increasing render times significantly.     And yeah, you're totally right, vert count will have a huge impact on viewport display no matter what render engine as it will be drawn in blender using openGL (which is not like cycles).   One thing that might help you though, is if under user preferences->system-> (middle column) tick "VBO's" (just below Anisotropic Filtering).  That will help load verts onto the gpu for faster viewport performance.

It is in fact really easy. Select all the geometry of the object with too many vertices in edit mode by pressing A. Press delete or X, depending on which you prefer, and click limited dissolve.

After that, your mesh will look clean.

Thanks for this. 99% of the time decimate gets recommended even when people explicitly ask for a non lossy reduction.


text:
Vertex as x,y co-ordinates from face center for animated object
I'm trying to obtain the selected face vertex locations for an animated Object as x,y co-ordinates relative to f.calc_center_median() as the origin center [0,0] (assuming a planar face). The way I've approached it at the moment is by moving the origin point to the face center and rotating according to the face, but I'm running into a number of issues...

The vertex locations are still coming through as local, even when multiplied with the matrix world?
Non-uniform scale messes up the face rotation matrix (tried to avoid this by applying the bmesh but that also messes the rotation matrix)
For an 'even edged' face (eg. a cube face) I can't work out how to avoid the x,y rotation from flipping randomly over the duration of the animation?

Any suggestions on fixes, or alternative ways to approach this?
This is what I have so far (in the final function I don't want the object to actually move, just moving for testing)...
import bpy
import bmesh
import mathutils

ob = bpy.context.edit_object
frame_start = bpy.context.scene.frame_start
frame_end = bpy.context.scene.frame_end
ob_faces = {}

for fr in range(frame_start,frame_end):
    bpy.context.scene.frame_set(fr)

    mw = ob.matrix_world
    me = ob.data
    bm = bmesh.new()
    dg = bpy.context.evaluated_depsgraph_get()
    bm.from_object(ob, dg)
    bm.transform(mw)
    bm.normal_update()
    # bm = bmesh.from_edit_mesh(me)

    selverts = [v.co for v in bm.verts if v.select]
    if len(selverts):
        pt = sum(selverts, mathutils.Vector()) / len(selverts)
        #T = Matrix.Translation(-pt)
        bmesh.ops.translate(bm, vec=-pt, verts=bm.verts)
        # mw.translation = mw @ pt
        mw.translation = [0,0,0]

    for f in bm.faces:
        if not f.select:
            continue

        n = f.normal
        t = f.calc_tangent_edge_pair().normalized()
        bt = n.cross(t).normalized()
        M = mathutils.Matrix([t, bt, n]).transposed().to_4x4()
        M.translation = f.calc_center_median()

        ob.rotation_euler = M.inverted().to_euler()
        bmesh.update_edit_mesh(me)

        new_w = ob.matrix_world

        for v in f.verts:
            key = "face_" + str(f.index)
            print (mw @ v.co)
            ob_faces[key] = ob_faces.get(key, []) + [new_w @ v.co]
            # ob_faces[key].append(mw @ v.co)

print("\n", ob_faces)

Related https://blender.stackexchange.com/a/203355/15543

Thanks, I’m studying through it… when you create the matrix using rotation_difference(up) is that essentially the 2D projection point… setting the face back to flat with normal (0,0,1)?

@batFINGER (meant to tag you in that previous comment)... I've been thinking through it more and will do some testing. I think I understand now that the applying the rotation_difference when creating the matrix basically resets the rotation.

Mapping to a space where tri lies in   the $XY$ plane, where the normal is $Z$ axis

Feel this is going a bit XY Problem Added an answer to one of your prior questions re using the instancer to get a "consistently" calculated  face normal.

Haha, yes I see your point, thanks again @batFINGER, I’ll have a look asap! In this case it’s me learning more efficient ways of solving a problem over time… this question/method will essentially solve a bunch of things I was doing in separate stages previously. Tricky thing to know what to ask when learning, getting there slowly but trying to do a lot more testing before asking now.


text:
Set unit precision and decimals
I'm working in millimeters and I don't need anything smaller than 1mm. When I extrude or move a plane etc to say 100mm, I notice it's actually something like 100.22mm after checking the measurement box. I don't need the 0.22mm precision, and I fear it'll mess up my model later on when I use that corner as a reference point. How do I tell Blender to rid the decimals as I don't need anything more precise than a whole number.

Hello :). Just to clear this up - why not just manually enter the 100 mm? Works just fine for me...

It's mostly because when I do a "loop cut", it only gives you a "Factor" number to punch in as opposed to typing in an actual mm measurement from one end. It does show the measurement from one end when you are sliding your mouse though, which is why I ask the above question and hence the problem.

Not the perfect way around it but I managed to figure out something... Basically hold Ctrl while sliding the loop will set it to increments. After that use the Move tool to adjust the measurement and enter the numbers into the measurement box.


text:
Scaling accurately
trying to create a simple platform like the one in the distant left.
I extruded a 6000mm by 6000mm plane, then scale the top plane slightly longer to make that top protrusion. However, the scale tool only allows me to enter a factor of 0 - 1. I wish to protrude out to exactly 6500mm. How do I do that?

can't you just type in "6500" while scaling?

@Nate: no, I wish there was some way to do that though.

You can just type the equation into the Scale tool pop-up.
Depending on your model, you might want to keep Z=1 (doesn't matter in my example).

Sweet!! Thanks!

Happy to help :). Good luck with your project.


text:
B-Bone Rig, moving branches

Why do I get this issue when I do a rig? I don't want this stringy stuff happening. I'm learning how to use Inverse Kinematics to make branches move in the wind.

it's probably because your weight painting gone wrong. the weights of the vertices decide, what parts of the meshes will be influenced by moving your bone. I strongly recommend watching some basic rigging tutorials for that.

Thanks, I started from scratch, and the problem did not occur a second time.


text:
How to create buttresses of a tree?
So I'm learning how to model trees using the Skin modifier. There's a particular tree that has buttresses at the base. Can anyone give me some tips on how I might model these? I've looked at a few Youtube tutorials like this one: https://www.youtube.com/watch?v=MDXB3SDQHYw However, it only gives me round roots. I want to create flake-shape buttresses like the photos below.


text:
how to view 3D viewport material preview with background?
I'm in the shading layout, looking at the 3D viewport. I switch to preview material mode, and turn off Lighting->Scene World. The background shows only a lightly gradiented multi tone color. Is there a key to change this to display the hdri background?

Hello :). This question keeps popping up as unanswered. Please mark one of the answers as accepted ✓, or post your own solution. Just to keep the site nice and tidy. Thanks :).

There's a simple workaround.
Put a plane with Glass BSDF material in the background and the HDRi will show.
No need to adjust or enable anything. It just works.

That is a good suggestion !


text:
Why is my UV Square download not working on my cup?
I have downloaded the uv squares zip and I'm trying to apply it to the cup. As you can see from picture 1, it worked on the handle, but when I tried to use it on the cup, it gave the error message you see in picture 2. Any help or direction toward help would be much appreciated.


text:
Most straightforward workflow for Blender to Substance Painter to UE4
Background
Basic 3D modelling experience from circa 10 years ago (3DSMax, OpenGL pre shaders).
Problem statement
"A coffee shop tutorial". I followed the [in-]famous blender donut tutorial and now want to extend it to the coffee shop that I can roam around in UE4 (or unity. I don't have a strong preference just yet but Unity keeps crashing on my machine).
What I have right now
A blender model for a donut and coffee cup. High-poly, the materials include procedural generators (noise):

Issues
My understanding is that there's no easy way to export the material graph from Blender to a game engine (because the graph nodes aren't universal). What I can export is the textures that I can then apply; or I can re-implement the graph in the game engine from scratch.
Trying to find a better workflow I stumbled on Substance Painter and, after finishing its tutorial, I must say I like its workflow. It's very much photoshop-like and I can handle that.
Now, SP has an export setting for UE4 but it seems to miss at least the height information so I can't reach parity between SP and UE4 out of the box. Even worse, exporting the material back to Blender is extremely confusing and the height just doesn't in any sane way.
Let's say I re-painted the donut in SP and I can produce all the textures possible from it.
Expectations
I expect that with proper texture tuning Cycles should output something very close to SP's vray.
Questions

If I take the Substance Painter out of equation for now (although I like the idea), can I use Blender to bake the textures (diffusion, metallic+roughness, normals, ao, displacement) for the PBR workflow in unreal?
It seems that no matter what I have to re-implement the glass materials everywhere as the glass handling is just too different between the renderers. Correct?
If I model in blender, export to SP for texturing, then export from SP back to Blender and UE4, what is the correct workflow?

Specifically on the question 3:
3.1 Should I export everything in 8-bit? My understanding is that Cycles would benefit from a higher resolution for at least normals and height maps, while UE4 wouldn't care. Which parts are better to have in 16-bit? Higher?
3.2 How do I apply the textures back to Blender? Diffuse is straightforward. Normals need to be non-color, passed through a normal map. I can discard AO and if my metallic and roughness are baked in the same texture I can use separate rgb and feed them into the Principled BSDF. No matter what, I can't seem to get a reasonable output for the height/displacement.

Your post is too long and touches too many issues at a time.


text:
Rotating objects around global and local axis in bpy python
I have two sets of rotation data: Global rotation as [x,y,z] degrees AND local rotation as [x,y,z] degrees.
#eg.
globRot = numpy.radians([13,125,45])
locRot = numpy.radians([34,10,258])

How do I apply the rotations to a blender object in python... this is what I've come up with so far looking at other examples such as Rotate object on local axis using a slider
Is this correct?
import bpy
import numpy
from mathutils import Euler

def get_rotation(obj):
    print(f"\nCurrent rotation: {obj.rotation_euler.to_matrix().to_euler('ZYX')}")
    return obj.rotation_euler.to_matrix().to_euler('ZYX')

def set_global_rotation(obj, value):
    obj.rotation_euler = value
    print(f"Global rotation was set to: {value}")
    return

def set_loc_rotation(obj, value):
    rot = Euler(value, 'ZYX')
    obj.rotation_euler = (obj.rotation_euler.to_matrix() @ rot.to_matrix()).to_euler(obj.rotation_mode)
    print(f"Local rotation added: {value}")
    return

globRot = numpy.radians([13,125,45])
locRot = numpy.radians([34,10,258])

obj = bpy.context.object

get_rotation(obj)
set_global_rotation(obj, globRot)
set_loc_rotation(obj, locRot)

print(f"Final rotation is: {obj.rotation_euler}")


text:
Viewport with external application?
Is it possible to display/draw the viewport of Blender in an another application? eg. Run blender in the background to display the wireframe view of a Blender file within another app? (Sorry if this vague, just trying to understand approaches for Blender application integration.)

Technically yes, but display a wire frame should be easier by parsing data inside .blend file and use any kind of mesh rendering method(eg. OpenGL shader, not even heavily custom) to make it display in your application

Thanks @HikariTW , I'll look into that option.


text:
Motion Tracking orientation error "No object to apply orientation on"
I have tracked a video clip and now need to set the floor and axis orientation, but when I select 3 points and click 'Floor' I get an error - "No object to apply orientation on". What does this error mean and how do I fix it? Thanks!

I haven't solved this error yet, perhaps it had something to do with the fact that I had already imported an OBJ file and messed around with it a bit... but can't see how that would effect motion tracking. No matter because I opened a new project, tracked the footage again and it all worked fine this time...

Yes I did Solve the scene first, I tried re-solving it as well and still didn't change the error. No matter I ended up just re-tracking in a new Blender project file and it worked, for some reason.


text:
Cycles GPU CUDA out of memory - How to identify the problem objects?
Rendering a large environment scene (also with multiple smoke and physics simulations) in Blender causes my GTX 980ti to run out of CUDA memory. (I've baked all the simulations but am unsure if this makes a difference to memory in rendering)
Is there a way to identify which particular objects / materials / textures / simulations are using up the most amount of memory?

Thanks cegaton, will give those links a look, there's a lot of textures from imported models and some I've made myself so I'll have to look closer at the textures... just was curious if there may be some way to identify which objects are hogging the memory

As far as I know, there's no automated tool to identify the resource hogs in your scene. You'll need to do most of it manually. But surely you'll have an idea on what object / element could be the cause? Like, high res textures, dense meshes (check subsurf and multires modifier render settings too!!), lots of copies instead of instances, or fur / hair.
One possibility is to put those objects on separate layers, and render just that layer with very low samples (1 should be enough). The memory consumption can then be read in the debug print line on top of the render view.
Important: Use final render (F12), as many modifiers (like the Subsurf by default) have higher settings for final render than for vieport render.

Edit
For rendering animations, it might also be beneficial for debugging this to have the memory usage in the test render frames directly. You can enable Stamp Output and check Memory to do so, if you have Blender 2.78 (or a current development build which was compiled after Jul 14, 2016):

Thanks for your ideas. I've not done a large scene like this before but have been importing lots of different models and appending different elements (such as grass essentials) plus have multiple smoke and physics simulations running, so am not sure which is effecting memory the most (hence the question). Wasn't sure if there was just an easier way to identify memory usage of objects, but will try putting them on separate layers and checking all the textures.

I just realised that for some reason I don't have the 'Memory' checkbox available in the Metadata dropdown? How do you enable this?

@Dan I'm using a development build of the upcoming 2.78 release. As far as I can track it down, they implemented this mid of July, but even when checking the preliminary release notes, they forgot to add information about this feature.

A hugely overlooked feature is the simplify section in the scene panel.  Too many subdivisions globally can cause memory crashes and it can be hard to find where the highly subdivided objects are in scenes with several objects.  Make sure the render section is set to no more than 2 or 3 subdivisions.  For most purposes, this should suffice and prevent memory errors.

put those objects on separate layers, and render just that layer with very low samples (1 should be enough). The memory consumption can then be read in the debug print line on top of the render view. Important: Use final render (F12), as many modifiers (like the Subsurf by default) have higher settings for final render than for vieport render.

This method was helpful, I identified some large memory objects and found some larger than needed textures, lowered the image size of these and lowered some subsurface modifiers from background objects (such as rocks) and now have it rendering on the GPU! Thanks!


text:
How to execute multiple animation node trees over time in a single scene?
I'm trying to work out how to execute two seperate node trees (with different falloff settings) within the same scene on the same objects for different camera angles... is it possible to start and stop different node trees?

Node Trees
Actually when you have mutliple node-trees they both work at the same time, but the most-recently created one overrides the oldest.

This is a completely useless example, but it demonstrates the last created node tree (here 2) will override the z value written by the first (1).
Maybe they are some cool way to make a use of multiple node trees. For example by using booleans:

Cameras
If you are able to check with a script node which is the active camera (if you are using multiple ones), return true if it is one and false if it is the other, you will be able to switch node tree using the animation nodes.
If you are using only one camera, I would suggest you to switch if the Time Info node returns a frame count >= than your angle change:

Here you can see how to use multiple cameras in one scene


text:
Is there a quick way to render only the Z depth / pass in cycles?
Hi I'm almost finished rendering an 820 frame animation and just discovered that the Z pass is missing! Argh! ... Anyone know of a quick way to render out only a Z depth pass in Cycles without rendering the actual image?

I think I just discovered the answer... the z pass doesn't depend on samples so perhaps the fastest way is to set render samples to 1 and use a file output node for the Z pass?

You may also optionally use Blender Render instead, which might be faster depending on scene.

I'd probably create a simple Diffuse Material, enable Material Override and set the samples to 1.


text:
Fixing a complex boolean messy mesh
I have a map that I needed to use a boolean modifier on to cut out the water systems from a textured plane. It's messy with lots of verts and now I have problems with the face rendering. How would you suggest fixing something like this? Thanks for any ideas]1

Try using remesh modifier. Here's the solution to the similar problem you have: https://blender.stackexchange.com/questions/65555/importing-a-good-mesh

Thanks Paul, I tried that but it didn't work too well, the mesh distorts and I lose the detail I need...

Please post your .blend via https://blend-exchange.giantcowfilms.com/ and I'll try to help you.

Sorry for the delayed reply, I ended up fixing it by manually going through and adding more qauds and vertices to problematic areas... took a long time but fixed all the problems - I'll post the answer for others

Is there a reason you needed to use a boolean modifier, instead of something like making the water systems transparent in the shader?

Hey Dale, I used blender-osm (https://gumroad.com/l/blender-osm) to import the water data and needed the water level to sit below a textured map (on the plane). So boolean was the method I used to cut out the hole in order to extrude the edges down and place a water texture that sits lower... couldn't think of another way of doing it... even to make a transparent shader you'd need the geometry there in the first place right? How would you go about creating that clean geometry?


text:
Fly through a window into a new world / scene?
I have a window in an empty space. I need to show another world through that window and also have the camera fly through the window into the new world.
Any tips on how to achieve this effect?

You could use the same camera object across different scenes for seamless movement, but then composite the results in post production, with alpha over the two scenes rendered frames

That sounds like a good idea I'll give it a go! Thanks

Be sure to mask both scenes, especially the window accordingly so you can correctly composite them together.

Similar question was asked some time ago I guess: http://blender.stackexchange.com/questions/61965/creating-the-minecraft-end-portal-in-blender @Duarte Farrajota Ramos Maybe you should write an answer- it may be very helpful.

@PaulGonet I would, but compositing is not really my area, so not sure I could go into much detail or produce a quality answer. If you know more about it than I do, maybe you can grab the opportunity ;)


text:
Soft bodies (or cloth) with particle groups?
Hi I've got a simple scene of leaves blowing with a wind force and a particle system on a plane (that uses a group of leaves for the particles).
What I'd like to do is have the leaves bend and deform in the wind like soft bodies or semi-stiff cloth... is that possible? I tried to use soft bodies on the emitter and the group objects but didn't seem to work.


text:
Flip armature animation direction (from Mixamo to Blender (2.77))
Hi I am having trouble trying to combine multiple animations downloaded from Mixamo and imported into Blender via .fbx.
Everything imports correctly but some of the animations I need to combine in the NLA are animating in the opposite direction to each other. I cannot figure out how to flip the direction (eg. from +y to -y) of an animated armature (there are hundreds of keyframes).

(I've tried parenting another 'Direction' Bone to the armature and key-framing the rotation at certain points but this still does not work because of the offset distance between bones during the animation.)
Any help or ideas appreciated!
Here's an example blend file... https://drive.google.com/folderview?id=0BzkKNZyqdUhXc3N3RVg3YVZmUTA&usp=sharing

have you tried to change the fbx import options ?

Could you also upload the fbx file, though ?

Sure just added them to the folder link... it appears that the NLA editor only relies on the pose keyframe location / rotation (guessing), rotating the armature doesn't help.

I found a solution, add an extra bone and keyframe the pose position and rotation... https://www.youtube.com/watch?v=Soyra9kRo6g
I was close before but wasn't keyframing in pose mode.
The only problem with this is that you can't blend NLA strips so the animation is not smooth between strips.


text:
Is there a way to apply transform (Ctrl+a) for every frame
If I want to rotate a cube with the re-mesh block modifier, but have the blocks face one way as shown below, I would have to apply rotation every frame. Is there a way to do that?

As seen the cube rotates, but the block modifier itself does not. The blocks stay perfectly straight.

Why do you not apply the modifier? This would make the effect permanent and everything would move with the object coordinate system

I want for it every frame to change, at 0 degrees its flat, at 45 degrees its diagonal blocks


text:
Measurement in edit mode
I downloaded a vehicle from a source that I forgotten. When I enter into edit mode, the face selected show a lot of measurements which made the view very messy. Please see photo 1 and photo 2. Would anybody teach me how to remove those measurement. Thank you.
LightmanLeaf

In the Viewport Overlays, disable the Measurement options:


text:
Mix rgb node logic
I have difficulties in understanding the logic of mix rgb node option “add”, “multiply”, and      “Mix” under conditions of “fac” 0 and 1. Would someone explain with tables and examples. Thank you

Is the documentation not clear enough? https://docs.blender.org/manual/en/latest/render/shader_nodes/color/mix.html#examples

This list of Gimp blend modes may be helpful

The Add, Mix, Multiply node options are blending modes, like in Photoshop. You have to play with them to get an idea, there are too many to list now.
the Fac is which side of the mix is stronger, so a value of 0.0 would only show you color 1 in the mix node. A value of 1 would only show the other color. Things get interesting when you have a noise or voronoi in just black and white in the fac input. This drives variation in the material and shows both materials based on a black and white mask. (0-1)


text:
Locate the nodes in the shader editor
I move around in shader editor panel and become too far away from the nodes. I tried to go back to the nodes but can not find them. Any method or hot key to locate nodes in the shader editor “Black Sea”?

Press the Home key to show all nodes.

... with the shaded object selected. Obvious, but I've lost mine that way. Like losing my spectacles whe they're riding on top of my head :)

Method 1: Press F3 then type in: "Find Nodes"
Method 2: In Shading editor panel Select > Find Nodes


text:
Are 3d assets purchased from assets website, say turbosquid editable?
I want to save my time in modelling and sculpturing 3d model. I found some assets in turbosquid close to what I want. If I buy it, can it be edited in all aspect? How to know a 3d model in turosquid is editable? If there is no editable 3d model in turbosquid, any other sources to find editable 3d assets?

I'm voting to close this question as off-topic because it is not about using Blender

Yes they are,
Re TURBOSQUID

Do I have the right to modify Stock Media Products?
Yes. You may modify them to make your Creations. Please keep in mind
  that no matter how much you modify a Stock Media Product, it still may
  only be distributed as a Creation and is subject to the rules of the
  Royalty Free License.

please read the TURBO SQUID licensing terms to be sure you can use them for your intended purpose.

Yes, most types of 3d files is editable in blender no matter what. Modelling to shading and textures and more.But only some types,
Collada, Motion capture, Alembic, Scalable vector graphics, Stanford, Stl, Fbx, glTF 2.0, Wavefront and X3d Extensible 3d
if they are in other types (eg-.max, .usd) you have convert them in to one of above with different 3d software to import it.


text:
Unwanted Shadow below water in eevee
I used pure toon water addon to make a river and put rock and fish below. However, I find there is unwanted small black spot (I believe it is shadow). Is it due to lighting issue, or others? Could somebody provide assistance on how to eliminate such small black shadow on the surface of rock and fish. Thank you.

I believe you are correct about the shadow. I don't know how it works in the add-on, but  if the water has a material, you can change it there. In the the material properties panel, with your water material selected, scroll down until you see "blend mode" and "shadow mode". Set "shadow mode" to "none", and see if it makes the dots disappear

It works. Thanks a lot


text:
Warning/error message after closing blender file
I am using Blender 3.0.1. When I close the blender files, the message below appear. I cannot close this message but have to click Blender icon and select close window. May I know what's happen? Would it have harmful effect on my blender program and Blender files? Would somebody advise me how to fix them?
Thank you
Lightman Leaf

Well, if you read the messages, there seems to be an error with the Interior Essentials installation directory. Maybe try disabling Interior Essentials or re-install it?

Sorry to border you again, do you mean I should reinstall blender 3.0.1?

No, this Interior Essentials thing whatever it is... or throw it out if you don't need it.

The primary error is "The custom presets directory seems invalid" and the message specifies the directory name: C:\\Remap Presets/  Notice that that ends with a forward slash, which would make it invalid on a Windows system.  It might be an artifact of the way the error message is written, but more likely it's a problem with the add-on's presets.  You probably need to open the add-on in Preferences and fix that spelling.  If it's not that it's that C:\\Remap Presets in fact doesn't exist.


text:
Restore default keymap
I followed a tutorial to install an addon that change the keymap. However, I found that some of the keys that I familiar with changed and is not convenient. I note that there is a "Load factory setting" under [File][Default]. Can this change the keymap back to the default keymap? Besides, would this "Load factory setting" delete addon installed?
Thank you

It is possible that the add-on is written well enough that disabling it might undo the change.  Have you tried that?  Also, it might help if you could add a URL pointing to the specific add-on.  And yes, loading factory settings should restore the keymap but it will also reset everything else.  It would not delete the add-on but it should(?) disable it.  Best to disable / uninstall it first yourself.

I figured it out. For unknow reason, [Edit][Preference][Keymap]"Keymap-D" was selected. After I change it back to "Blender", it restore to original setting.