text:
BGE python: accessing Edge information in a mesh made of polylines (not polygons)
In the Blender Game Engine I need to know if two vertexes are connected by and edge. However, the mesh is made of polylines (segments), not polygons, thus I can not use KX_MeshProxy.getPolygon(index). How can I access this information? The mesh in the picture is not the one I use, it is just an example.

The BGE does not know edges. The BGE knows polygons (faces) which are defined by 3 or 4 vertices.
An edge in this context is a semantic interpretation of a line between two vertices. It does not exist as object nor is it used anywhere. The render engine simply does not need it.
You need to know in the BGE the faces do not necessarily share the same vertices even when in Blender it seams like that.
I can give you a general guideline:

Iterate over the polygons of the mesh.
A polygon has 3 or 4 vertices. An "virtual" edge are two consecutive vertices plus the edge between the last and the first vertex. You will get as many edges as the polygon has vertices
Now you should have all edges (with begin and end vertices) of all polygons.
You can match them to each other by comparing the vertex positions. Be aware edges have a direction. You need to consider the reverse of an edge when comparing.

My mesh has no faces, it is made of consecutive segments, but they never close up, thus they do not form any face. Does this mean that the mesh is ignored by the game engine?

If it is visible you get faces (as this is what you see). Otherwise you can try to access the vertices from the mesh via Python. If they are not there, you can't uses them. - just did a test - you need faces to get the vertices.

It is interesting why you think you need this sort of object in your game. (there might be other ways to handle your situation).

I use it as a graph for pathfinding. I can derive the graph from a mesh (one point of the graph for each face of the mesh) but this needs more calculation.

Also, in my particular case, it is more complex to handle the mesh in a way that the generated graph is what I want. I need a graph that resembles the taxiways signs of an airport (yellow lines that you can see in any airport using google maps). However, within the model, the taxiways are generated using curves and bevels, and later converting into meshes, in a way that needs some manual adjustment before it's ready for navmesh (graph) generation. To use a polyline as a graph for pathfinding would be much easier.

This sounds the "input" does not change while you are running the game. That provides you with the option to create your "output" within Blender rather than the BGE. E.g. write a Blender script that generates a python file with the data you want. That file is then part of your game (similar to [generate navmesh]). As it is running in Blender you can directly work with curves.

When you really want it inside the BGE I suggest to extrude all edges. This way you get faces that are loaded into the BGE.

Unfortunately I'm not familiar with programming outside the BGE, but i think I understand what you mean. Thank you


text:
FBX Binary format - Nested Nodes
I'm currently writing a Java parser for reading FBX binary files and rendering them in OpenGL using the LWJGL (Light-Weight Java Games Library). I have pretty much managed to parse everything thanks to a couple of blog posts by the Blender Foundation, but there is one more challenge remaining. I thought I'd try posting here given that the Blender guys are the only ones who have tried to outline the format in full.
As, hopefully, you already know, the file consists of a series of nodes which are in turn comprised of nested nodes. These nested nodes (you guessed it), also can contain nested nodes.
My question is how do I detected when a nested node belongs to the node above, and isn't a separate nested node? For example:
Node: Objects

Nested Node: Model

Nested Node: Properties60

Nested Node: Property

[Series of data types]

Nested Node: Property

[Series of data types]

Nested Node: [NULL]

Nested Node: [NULL]

End of Objects

In this situation, Model contains within itself another nested node called Properties60, which in turn contains several nested nodes, one for each property. You then have two null Nested Nodes representing the end of that particular node (like a closing bracket I guess).
My question is how do I detect the "opening" bracket? So I know by looking at the above that each "Property" nested node belongs to Properties60 and not to Model, but only because it makes sense to me as a human. How do I automatically detect that? I've tried examining each unicode value for each byte and cannot find a consistent character that is used to denote a change in scope. I've also checked and there doesn't appear to be an end offset value for nested nodes to tell you how big it is like you have with Nodes.
Have I missed something? I would much appreciate any help you can offer as it's the last piece of the puzzle for me :) Without it, I can't reliably tell when, for example, one model definition ends and another begins.

Everything is explained here, in Node Record Format section. Below I’m just rephrasing that document:

The first four bytes are an uint32, the total size (in bytes) of the node.
The next four bytes are an uint32, the total number of properties.
The next four bytes are an uint32, the total size (in bytes) of properties (aka propertieslen).
The next byte is a uint8, the total size (in bytes) of the node name (aka namelen).
Then you have the node name itself.
Then you have the properties.
Then you have the nested list of sub-nodes.
Then you have the final 13 NULL bytes.

So, you know nested subnodes (if any) start at 4 + 4 + 4 + 1 + <namelen> + <propertieslen> bytes from beginning of current node. This is your “opening bracket”.
If you can “read” python, you can also have a look to our FBX addon code, in particular parse_fbx.py and fbx2json.py, that code is fairly simple and short, and illustrate well how to parse binary FBX.

That's odd, I did try reading the first 4 bytes as the length of the nested node but I was getting weird results, and therefore assumed that the rule didn't hold for nested nodes (the same code worked fine for the parent nodes). Maybe at the time I had some issues with the cursor position while working through the nested nodes. I'll try again, thanks.

Yes, so I tried what you suggested and took the first 4 bytes to be the node length, and I used the Properties60 node as an example. I got some odd results though, Properties60 claimed to be around 5800 bytes large, but the size of each Property nested node added up to far more than that (around 10x bigger!). Also, each Property nested node claimed to be around 1500 bytes big, but with only around 64 bytes of actual property data, so where did the rest go? I'm sure I'm taking the right 4 bytes, as the number of properties, the name and name length are correct and I use the same logic.

Just a small correction about
The first four bytes are an uint32, the total size (in bytes) of the node.
Indeed is the absolute node's end offset
e.g. if first int is 128, it means the next node starts at that address
It means the whole node, including all nested nodes
In other words
start node address contains the address of next node at the same level
ADDR VALUE
0017 0128 Node starts here, next node is at 0x0128
00XX NodeData
00XX Inner Node
00XX Inner Node
00XX Inner inner node
...
0128 ZZZZ NExt node address
Hope this is clear and helps

source: Stack Exchange

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

sort: votes


text:
How to make this explosion look less orthogonal?
Suggestions on how to make this look more natural without increasing the resolution too greatly? Trying to minimize bake time.

https://youtu.be/gKrwqdeRbuY

How exactly is the explosion being generated? Too strong of an outward force can make even a high resolution simulation behave strangely.

you took a resolution of 45...increase it ...and it should look better

i don't think that this is possible without increasing the resolution because this is exactly what resolution if for. It "increases" the "details".
So here is the result for resolution 110:

I know it's hard to accept and if someone shows me there is another way, i am happy too. But simulations are very time/render time/computational time consuming because there happens a lot of "stuff" and calculations in the "background".

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


text:
Hide by axis in the Graph Editor (multiple objects)
I would like to select multiple objects, then in the Graph Editor hide all curves except those belonging to a particular axis. I am looking for an automated method, not manual switching off the eye icons. For example hide everything but the Location X curve or Rotation Z etc. Makes sense? Is it possible?

This can be done manually by clicking on each unwanted strip's eye icon at extreme left.  You can also block inadvertant access to each by padlocking strips. (the padlock icon, again at the left)   Those items you haven't selected in the 3D window won't show in the Graph editor.

Oh, I am looking for an automated method since I have hundreds of objects I want to edit at the same time.

i am using 2.8 but i believe it's the same in 2.79 , in the graph editor you'll find magnifier with filed string called "f-curve live filtering string" type there what they called  like "X Location or just X Loc" etc and you'll get only the axis you want...u can see on the side how the string is written like rotation is Euler, type that and you'll get only the rotation of all objects...etc :)

Yes, that works!

In 3.3, I have collections that I want to adjust all its objects at once, but only along one axis. I managed to quickly filter the axes by typing the name of the axis (1) in the search box (2).

I can now drag-select around the node I want to modify in the graph, only the filtered axis (3) is affected.

At the top left, I am typing x location, as per the static screenshot.

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


text:
Shortest path key makes edges freestyle instead
I use a heavily modified shortcuts for blender. I have set "select shortest path" to ctrl+right click and it has worked for a long time until today.
I am not aware of changing anything recently but suddenly instead of "shortest path" the above shortcut does something weird:
-selects the shortest path
-makes all selected edges freestyle edges
-deselects all
Any idea what's happening?

That is quite localized situation. Obvisouly there is some conflict between these 2 actions, so search for the key binding for them both and see if there are some interesting details.

I did an extensive search... freestyle edges are not assigned to anything. There are no conflicting bindings. Boggles my mind.

That might be a bug but likely something with shortcuts as you wrote you use "heavily modified ones. Ctrl+Right Click is default setting for Pick Shortest Path so there's something else going on. Try opening Blender from the command line in debug mode, see https://blender.stackexchange.com/questions/21772/how-to-view-the-system-console-message-after-blender-crashes, repeat actions with selecting that path and see what is logged in the console window, probably it will write something useful. Note also that Pick Shortest Path has options in the F6 menu, maybe they are changed.

I found nothing pertaining to the problem in the console. Nevertheless I have edited my original question with all the warnings that show up in the console when I start blender.

All that noise is a distraction, it is output that you will see every time you run blender, it is from addon changes that still have settings saved in your startup file. If you expand the info editor you should see the name of the operator called by the shortcut, which may help.

Yes, did that. All it shows is the shortest path operation:
bpy.ops.mesh.shortest_path_pick(use_face_step=False, use_topology_distance=False, use_fill=False, index=935)

Here's a fix, I had same problem for  a while where shortest path edge select marked them as freestyle
Apparently I have changed some options on Edge Select mode and forgot. Hope this fixes it

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


text:
Reconstructing the Principled Shader SSS with standard nodes
I am trying to reproduce an SSS shader that I created using Principled BSDF with standard nodes. (I want to add some complexity to the shader but I really like basic results of Principled).
In the image below you can see my attempt to recreate the Principled shader with individual nodes. As you can see in the monkies the results are not the same. The results of Principled appear to have more variation of the scattering effect depending on the volume thickness.
According to the Blender manual the "Subsurface" slider in Principled mixes Diffuse and SSS. So in my custom shader I Mixed diffuse and SSS shaders with the same mix factor of 0.1.
What I am I missing? Does the Principled SSS do something else under the hood?
(The rest of the shader attempts to recreate the glossy/roughness part. This one is fine. I am interested in recreating the SSS component exactly).

Unfortunately, the Principled BSDF node does not use the same subsurface scattering algorithm as the algorithms accessible through Cycles nodes. The paper  that the Principled algorithm comes from states:

Our subsurface parameter blends between the base diffuse shape and one inspired by the Hanrahan- Krueger subsurface BRDF. This is useful for giving a subsurface appearance on distant objects and on objects where the average scattering path length is small; it’s not however a substitute for doing full subsurface transport as it won’t bleed light into the shadows or through the surface.

Cycles supports Christensen-Burley, Random Walk, Cubic, and Gaussian algorithms. Hanrahan-Krueger is not one of them. Additionally, the paper states that the algorithm is "inspired by" the Hanrahan-Krueger algorithm, so it doesn't even utilize it exactly.
Looking at the above quote, though, it appears that the Principled subsurface algorithm is not as accurate as those within Cycles, so it may suit your purposes better to just use one of algorithms already included in the Subsurface Scattering node1.
If you really need to use the subsurface algorithm in the Principled shader, you can find the .brdf code here on GitHub. The relevant code begins on line 110. You can convert this to OSL code and then add it into the NodeTree with a Script node.

1 Interestingly, the author of the paper that details the Principled algorithm is Brent Burley, namesake of the more accurate Christensen-Burley algorithm included in Cycles.

I know I am a little late on this, but if you wanted to use accurate SSS in tandem with the Principled BDSF shader would you just mix SSS node with the principled or would you have to do the setup by OP? @Scott Milner

@TylerDahl Yes. Instead of increasing the Subsurface factor on the principled shader, you'd use a Mix node to add more accurate SSS.

@TylerDahl Actually, I take that back. Looking at it more, it appears that SSS is mixed into the Principled shader before reflections, so that would only be valid with a completely diffuse use of the Principled shader. I'm not sure how you would do what you want to do off the top of my head. I think this could merit a separate question.

@TylerDahl The formula is roughly (avg(diffuse, subsurface) * light + sheen) * metal + specular + clearcoat, so SSS is one of the first things integrated...

That's interesting.  I haven't come across a need to use it yet and I don't think I'm advanced enough into 3D art to be able to come up with a solution for this but maybe I'll do some research into it tomorrow and at least come up with a good question that has some relevant research with it


text:
Blender 2.8 Multires Sculpt with texture on
In the newest build of 2.8 as of today (June 8th 2019).
I am trying to sculpt an object while also having a specific texture show on the same object. I cannot find any way to do that. As soon as I switch to sculpt mode I get some sort of matcap material and I cannot get a texture to show up in any renderer under any settings I tried. Is there I solution?
EDIT if you want to take a stab at solving this please make sure you have an object with Multires modifier applied to it.
EDIT 2 Looks like it's a bug that's been reported already
https://developer.blender.org/T63581

I'm not sure if this is what you are looking for, but if you change to Lookdev, you will see your texture.

Good Luck

That would be perfect but for some reason I don't see the texture in sculpt mode.

Aha... it does work in sculpt mode but not when I have multires modifier on.

An option at this time is to create a Matcap an install it inside blender.
You can do a quick one if you render your texture on a Sphere with some lights.

hope that helps

Thanks interesting approach but the texture mapping wouldn't be accurate, which I need.


text:
"Blur" Positions with Geometry Nodes
I am trying to create a Geometry Nodes setup which would "blur" or even out the positions of a set of instances. I had the idea to run the position node through a Blur Attribute and connect it into the Position input of a Set Position node. But that doesn't do anything.
This is a simplified version of what I was attempting. My hope was that "blurring" the Y axis would cause the objects to line up in the Y axis given high enough blur iterations.

I am not sure if the question makes sense. Let me know if clarification is necessary.

That should work. What is your complete node setting? But if they are instances, they cannot be changed as instances.

Please share the the nodes you have as far, and a .blend file.

Blur needs some notion of neighbours.. so will work only on meshes and curves, as I understand it. That blur-able geometry could originate in the way the instances were originally distributed, or be reconstructed, .  The former would be easier, if available.. how were the instances distributed in the first place?

@RobinBetts yeah, I also imagined that "neighbours" might be necessary. I edited the original post a bit. As you can see my "instances" are actually a bunch of objects in a collection. So I guess it is the more complicated case from the two you mentioned.

why don't you just set Y from median point?

@Crantisz Honestly, I have no idea what that means. :)

@CGDive look at the answer

Here is how you can set median point position in Y coordinate for each instance:


text:
Blender rendering only part of the objects
I have a question regarding my rendering using motion tracking.
As you can see the rendering only shows a small part of the actual 3d model (tears of steel rig).

Does anyone know why this occurs?
The scene can be found here
http://www.pasteall.org/blend/42237
// Turning all objects at the right to render won't change anything

@David if you mark this as duplicate, could you send me a link of the duplicate?

See the box at the top of your question, that is the link. https://i.sstatic.net/KshNx.png

@cegaton  this doesn't change anything about the render.

@David this doesn't change anything

@cegaton I changed that, doesn't do anything :)   http://www.pasteall.org/blend/42224    <---(maybe not in the version attached)

On the right in the Outliner, you can see that there are a ton of objects that are set to not Render. So, just turn them all on and the problem should be fixed.

I found your issue, it's with the renderlayers. Check out my answer here and jump to the render layers bit (I'll update it with some more information, it's not very concise right now).


text:
Strange texture paint artifacts
I'm trying to paint on my 3D model. UV's are unwrapped with no stretching. Texture is 1024x1024 with alpha. Brush has alpha check as well (I've fiddled with all the brush settings, couldn't find solution).When I try to paint this happens:

This is my UV setup:

Any help is appreciated! Thanks!

can you share your blend file or show a screen capture of your UV map ?

@lemon I've edited the question, thank for the bump

Are you painting using a texture ? That may be something like you are painting on the same image as your paint texture is linked to. I think you do not need a painting texture here.

Please show settings of your paint brush. It is visible in your screenshot that there are options of the brush texture in the Properties window in the right side; it reminds patterns appearing while you draw. I don't think this is a bug.

And it took awhile, but the answer is right there in your screen shot - you have loaded your image canvas as your brush texture, so as you paint it becomes your brush projected onto itself.
Your image needs only to be loaded as your material texture slot, not in the brush. Load something else as the image in that brush texture and you will then see it repeated along the surface....

authors: Елизавета Сарычева


text:
Rigging questions - How do I make the drum of this revolver rotate only from the center of a barrel/barrel to frame question
I was wondering how I would make the drum of a revolver barrel rotate in a centered position so it can only spin and not actually change position if that makes sense.
My second question would be, as of right now if you rotate the barrel of the revolver -- it would fold into itself like so.Essentially, if you try to rotate the barrel it won't move on the right point, ie the little circular shape and fold into itself.
How could I make it so the revolver barrel rotates along the proper point in regards to the frame? ie that little circular point where the weapon root bone is.
Thank you so much for reading, and here is the blend file. https://a.pomf.cat/wkyqgw.blend
I would provide the pics but I don't have the rep.
edit: First issue resolved by lemon, still need help on the second!

what is the "little circular shape" and what do you mean by "fold into itself" ?

Basically instead of the first result: http://puu.sh/pvKnN/178c635851.png
I need this to happen: http://puu.sh/pvMbs/2a8fabaa9f.png

As the barrel is symetric, you can find its center in edit mode by selecting all the vertices and use ShiftS (snap), then choose "Cursor to selected".

Now back to object mode. You can add a single bone armature and it will be created at the 3D cursor position (so it is centered to the barrel). Simply edit it (if you want as it is not mandatory here) in order to align the bone tail along the barrel (but keep the bone head in place along the same Y axis).
The barrel will rotate around the bone.

Edit (considering the comments) :
You can parent the bone placed above with the "barrel" (?) bone in blue below.
Go to pose mode for the "barrel" bone. Select the previous bone then select the "barrel" bone and CtrlP then choose "bone".

But as you can see, you may adjust the "barrel_joint" bone before doing all that :

Oh I see, this actually explains a lot about how bones work for me -- thank you so much. Do you have any idea about the barrel issue by any chance? http://puu.sh/pvKnN/178c635851.png

@MarcelDoe, which issue ?

Essentially whenever you rotate the revolver barrel, it's not supposed to fold into itself like the screenshot but rather do something kinda sort of like this -- http://puu.sh/pvMbs/2a8fabaa9f.png

Also one more question, if I'm adding the bone to an armature already existing it wont let me just rotate it 90 degrees here -- http://puu.sh/pvMvh/932b3ed082.png any ideas?

@MarcelDoe, I am sorry, but this is not a tutorial here. And the comments are not a discussion.

ok. I mean the first part is part of the original question in regards to the revolver barrel. plus it's a question in regards on how to get your solution to work well but yeah. Thank you!

Sorry, that is also not what I meant in regards to the edit.. Essentially, as the bone rotates I need the barrel to move forward.
http://puu.sh/pvMR5/b15d853f33.png This is what happens when I rotate the barrel right now.
Instead, as I rotate the barrel along the x-axis I need it to compensate so that instead it would be here -- http://puu.sh/pvMSQ/ce2e819cd4.png
basically the barrel needs to move in relation to the hinge point -- http://puu.sh/pvKra/a373efb1ac.png


text:
How do I mirror one side of an object to another side that's already there?
What would the best way to go around mirroring one side of an object to another already existing side?
Allow me to show the blend file. I need to copy the side with the holes to the side without the holes. https://a.pomf.cat/jqerzl.blend
edit:
I am trying to cut a revolvers cylinder in half so I can mirror one side to the other, but I am not sure if this is the best way to do it.

Do you want the holes to pass from one side to the other (instead of the interior cone shape you have now? If you you would be better to extrude the one side to the other to create the bullet chambers all the way through.

Is it okay to change the object origin or do you need to keep it where it is?

I need to keep it where it is and the holes passing from one side from the other is the best. Thanks so much for answering, I appreciate it!

I'm going to provide 2 solutions to this answer: mirroring the side with the cone shaped holes, and secondly extruding that side to give bullet chambers that pass all the way through. Feel free to use either option.

Solution 1 - Mirrored Side Option

Delete the duplicated object Drum.001
Enter edit mode on the Drum object
Change selection mode to Edge and select an edge that connects both side of the cylinder.
Select S - Cursor to Selected (make sure you don't move the cursor after this step)
Select all the verts on the end that you are not keeping and delete.
Select all the verts on the other side that you want to mirror, and Shift D to duplicate
Press the . key to change the pivot type to Cursor
S Y -1 to scale along the y axis in the negative direction. This should copy your verts to the other side of the cylinder.
Select all, and Remove Doubles
Select all, and do Limited Dissolve (this is optional but it makes connecting the two side easier in the next step).
In edge select mode select the outer circle of both sides. Then SPACE and type Bridge to find the Bridge Edge Loops command.

Solution 2 - Extruded Side

Delete the duplicated object Drum.001
Enter edit mode on the Drum object
Change selection mode to Edge and select an edge that connects both side of the cylinder.
Select S - Cursor to Selected (make sure you don't move the cursor after this step)
Select all the verts on the end that you are not keeping and delete.
Select the tips of the cones and delete. You should now have one face with 6 holes in it.
Select all, and Remove Doubles
Select all, and do Limited Dissolve (this is optional but it makes connecting the two side easier in the next step).
Press the . key to change the pivot type to Cursor
With all verts select press E to extrude and Enter.
S Y -1 to scale along the y axis in the negative direction. This will move your extruded side to the other location giving you a full cylinder with 6 bullet chambers that pass all the way through.

By an edge that connects to both sides of the cylinder do you mean like this? http://puu.sh/pxcxI/d214f89acd.png

Any of the edges that connect between the 2 sides of the cylinder will work, just need it to find the centre point between the side.

How did you do the first selection? I can do everything else just not that haha

Switch to Edge selection mode. I'll add that to the steps.


text:
Customizing Hair Vertex Group Data/Links
Blender allows density and a few other properties (ex. clump) to be tied to vertex groups. However, I was wondering if there is a way to tie other properties such as the "roundness" property to a vertex group. (Ideal situation would be to control the "roundness" property in interpolation mode, while it only exists in simple children mode.) Would it be done through drivers, or datablocks somehow, or scripts?

Hello, Karl! Great questions. I will say that BSE strongly recommends only asking one question per post. If you could edit your question, delete the second question, and ask it in a separate post, that would be fantastic! BSE is a tremendous and powerful forum. If you haven't already taken the tour, please consider doing so. We'd all like you to be a part of it!

sorry, I'll remove one question


text:
Backdrop not available in Nodes
In Node Editor, I have selected Compositing, Use Nodes, and Backdrop. In the tutorial I'm using, the object image shows up on the Render Layers Node, but it doesn't on mine and I can't get the backdrop. Can someone tell me what I might have done wrong? This is v2.76, Blender Render.
Edit: Here is the tutorial, Simple Energy Effect. Node work begins at 9:25.
https://www.youtube.com/watch?v=bnrsoSagIU8
As soon as he clicks 'Use Nodes', the left box has the image that will be on the backdrop when he clicks that button. My Node box has no image in it.

Pixelfoot, it would be helpful if you would edit your question to include a link to the tutorial.

The small preview displayed in the render layers node is only visible after you have first rendered your scene. The preview can also be hidden by clicking the little material circle at the top of the nodes.

The image displayed as the backdrop in the node editor comes from the viewer node. This is also not available until the scene has first been rendered.

Try rendering once, or moving to a new frame

You have to connect the output of the node you want to see to the Viewer Node for the image to display in the Backdrop.


text:
Why was the visibility of objects in 3d Viewport restricted to a cone form?
I intended to select objects with "Selection group" tool, so in order to achieve that:

pressed B hotkey with Alt or Ctrl or Shift button;
moved mouse to form rectangular area.

As a result it removed everything what was outside of rectangular area, forming infinite rectangular pyramid with it's tip on the position of my viewport when I was looking from when making selection. I can rotate around that pyramid now, where only objects (their parts) fitting that rectangular area are visible.
How can I cancel it to see all my objects back? Esc doesn't work.

See http://blender.stackexchange.com/questions/18783/gray-cone-obscuring-clipping-the-3d-viewport. As I understand, you aren't sure which key you pressed ?

@MrZak yes, it's exactly the same what I've seen. Thank you!

Don't know what was that, but I think I fixed it:

View -> Toggle Quad View
... objects visibility was still restricted to lie within that pyramid, but it was visible from 4 different sides
View -> Toggle Quad View (again)
... can see everything now

yeah, that fixed it for me. thanks

authors: веня ермаков


text:
Cloth simulation ready before frame 0
I'd like to know if there is a way to "pre-calculate" a cloth. I explain:
I'm modeling a character for a game, and I want to export the animation to Unity3D. The problem is that the cloth simulator takes 1 or 2 frames to put clothes well.
And having a big plane in an animation of the game is not cool.
So if someone knows if it is possible or to "cut" the exported anim in unity or to pre-render it before frame 0...
Thank you]1

Go to the Cloth Cache settings and put a negative value into the start field. So animation will begin before timeline starts. Then press "Bake".

you can actually specify the cloth cache frame to start before zero. I start mine at -66. That way when you bake, the flag is fully settled down by frame 1.

I am looking for the same thing, for a flag in my animation.
My solve for now is to start my animation scene at frame 150, when the flag has settled down, instead of 0. Then I adjusted my end time to account for the offset.

You can also enable negative frames in your animation settings which will allow you to pose the character neutrally on those frames. This in addition to the negative cache start frame should let you roll into your sim range better.


text:
Blender non square unwrap
When I do unwrap in blender 2.78 I get like this. With strange triangle diagonal line - what's this?
How I can get smooth linear interpolation?
Thanks!
P.S. Post edited - change to more evident gif demo.

The diagonal line comes from the way you unwrapped the plane.

What you need to do is to push 7 to go to top view.
Then push 5 to go to orthographic view.
Lastly choose project from view bounds.

Before:

After:

EDIT: I misunderstood the question. The solution you are looking for is just to subdivide the plane. See this for why.

If I understood correctly, the problem was not the shape in the uv map, but how the texture is projected on the mesh. It is not as uniform/smooth as expected. I had a similar (unsolved) problem when trying to match the sides of a non-rectangular quad, to texture a circular mesh made of trapezes.

@Cebbi The problem (if this fixed it) was the shape of the UV map. The UV map is what determines how the texture is laid out on the mesh. Project from view bounds just changes the UV map to a nice square (The shape of your texture).

Instead of interpolating the coordinates, the face is split into triangles with different kinds of stretching, so there is a visible seam connecting two vertices: https://i.sstatic.net/jdSy1.jpg In the left part, the UVs are not stretched at all, so the edges of the texture don't match. On the right side, the UVs are stretched to a square, but it's now ugly inside the face.

@Cebbi Ah I get what you are asking now. I did some testing and posted a question here: https://blender.stackexchange.com/questions/81380/why-does-an-even-subdivide-change-the-displayed-texture

@Cebbi, yes you understood correctly. I can qet square unwrap like answer, but when i scale two vertexes (two on top) in X axes - I get strangle triangle scale, instead smooth  linear scale and mapping texture on mesh as I show in second picture.

@Aoradon, thanks! Looking on your thread. I don't understand why two triangles appear when scaling uv.

@Aoradon maybe you post a bug in blender develop? I have made some more experiments on this - it's real heave strange triangle filling algorithm instead linear scaling.

@tdhster I just answered the other post. I figured out that Blender is applying the UV map to a triangulated version of the mesh. Don't think its a bug, just not ideal.

Answer from blender developer team:

This is not really a bug, but rather a known limitation of Blender's UV mapping algorithm.
  Unfortunately there is not much we can do about this, short of rewriting the whole UV mapping system.
  You can however minimize the issue by subdividing your mesh a few times.


text:
animate pixels (time series) of a raster
I am new to blender and here for a very specific task. I have a fixed geographic area defined by tif image (geotiff). Each pixel of this image has a height value. I have 100 such images of the same area, but value of pixel varies.
Case 1: Following a tutorial as here (Raster extrusion ) I am able to extrude pixel height for each image.
Now, I would like to add all these images as a sequence with increasing and decreasing heights. And make an animation to export to fbx animation.
Case 2: The second option i thought of is: I would like to animate these pixies based on the values they hold. For example I just keep one image, and for each pixel of this image be able to read a time series data file at different time frames. That is, imagine a text file having pixel ID, pixel height. So timeframe one is value v1, timeframe two is value v2..... till value v100. So the extrusion of pixel value varies on this sequence of values coming from a text file.
I feel the second case will look more elegant because then blender can interpolate pixel extrusion values between these timeframes. And again, I would like to export it as fbx animation that can be imported to unity.
Any guidance will be great help :)

You can use your images as an image sequence in Blender.
If the names of the images files are like this :

You can setup this image sequence for the displacement modifier (like in the tutorial of your question).
Simply, use these parameters in the texture panel :

1 : indicate here the first image
2 : set the image sequence option
3 : indicate the number of frames you need

Now to animate you can or use Alt + A (Esc to stop), or open a timeline view and move it manually.

Note : your second approach let think about "shape keys", but a shape key only allows to interpolate between 2 shapes of the mesh and not through the several steps you need (or there is something I don't know).

Hi, I am not sure of the second approach. Its just an idea. Here I explain more.

Hi,  second approach, Its just an idea. Here I explain more. Examples I see online of blender animation are about moving one object (e.g.. cube) from x1,y1, z1 to x2, y2, z2. Keeping this in view. I was thinking that the raster image remains at a fixed location of the scene. Lets say the raster is extruded based on pixel height as in the tutorial. Now the upper face of this extruded pixel has certain z value. In my case, I was wondering if I can read, at each time frame, a z value for this upper face. I am assuming this can come from a text file that has pixel ID, time, pixel_value.

Hi. Ok, but surely you'll need to code in Python (Blender allows to develop addons) to do that, as I don't know another way to read and use such files. But maybe someone else will give this kind of answer.

Hi, I am unable to get this image sequence. When you say: You can setup this image sequence for the displacement modifier . Do you mean I extrude all images individually and then add them to the scene? or can I apply modifier to all images at once.

all images at once. But you have to set the names of the files as shown in the example above

When I use file>import> import images-as-planes, they are all added next to each other (going beyond scene space) and are not on top of each other as I would expect.

just indicate the first image in the texture panel, as you also indicate 'image sequence', Blender will use the sequence (as describe in my answer). So you don't have to import the files manually here (dont use image as plane)

Hmm, the tutorial suggests I should import them as planes to be able to extrude pixels and you also suggested I follow that tutorial .... :) that is why I am importing as planes. what to do.... plight of a blender newbie :)

yes follow it, but except for the particular points i have indicated in my answer : 1, 2, and 3 in green in the screen capture

It works for me. How can I export this to animation fbx? I would like to take this animation fbx to unity. Thanks.

Please ask another question about that


text:
Trouble with Context for bpy.ops.transform.translate
I am having trouble figuring out the correct context for bpy.ops.transform.translate. I am currently running a script that calls a create_bounding_box addon, which I figured out how to override the context for, but after it runs I can't perform a simple object translation.
Here is the relevant parts of the code:
  bpy.ops.wm.open_mainfile(filename)
  for window in bpy.context.window_manager.windows:
    screen = window.screen
    for area in screen.areas:
      if area.type == 'VIEW_3D':
          override = bpy.context.copy()
          break
  bpy.ops.object.select_all(action='SELECT')
  bpy.ops.mesh.boundbox_add(override)
  bpy.ops.object.select_all(action='SELECT')
bpy.ops.transform.translate(value=bpy.data.objects["BoundingBox"].location*-1)

boundbox_add is an addon, and the code is here https://github.com/sambler/addonsByMe/blob/master/create_bound_box.py
boundbox_add breaks if I don't either do the above (which I thought was overriding the context) or set bpy.context.scene.objects.active = bpy.context.scene.objects[0].
After running boundbox_add, I get poll() error for transform stating that the context is wrong.

Could do it without using the transform.translate operator
import bpy
from mathutils import Vector
# open another file.
bpy.ops.wm.open_mainfile(filepath="/home/batfinger/3DModels/New.blend")

scene = bpy.context.scene
#scene.update()
objects = [o for o in scene.objects]
override = bpy.context.copy()
override["selected_objects"] = objects
override["object"] = objects[0]
bpy.ops.mesh.boundbox_add(override)
bbox = scene.objects.active

for o in objects:
    print(o.name)
    o.location -= bbox.location # origin after translate above

bbox.location -= bbox.location

or run for each scene in the file for scene in bpy.data.scenes
Not a fan of opening new blender file in script as above.  My suggestion would be to use a handler or run a batch command.

Sorry, I am still slightly confused. I am reading in a .blend file. The bpy.context does not have an active_object when I read it in, and that seems to be breaking bpy.ops.mesh.boundbox_add(). So I fixed that by just setting context.scene.objects.active = context.scene.objects[0]. Then the boundbox_add() script runs ok. When it finishes, the bounding box is the active_object. But translate.poll() still says incorrect context. My goal is to actually select all of the objects in the scene and move translate them by the location of bounding box (centering them at origin).

This is still not working for me. I am not sure what you mean when you have "bbox = context.active_obect" .. context.active_object doesn't exist at that point and errors. And Translate still gives a polling error.
I did manage to make it work using data.objects and their locations but that is a bad work around for me because other ops do not have a 1to1 correspondence with properties of the data.objects.

Oops, didn't see the open_mainfile.  Edited answer accordingly.

authors: Надежда Никитина


text:
Group Location Transform Problem
See the One Drive link below.  I have a group object in a scene called "Lib" in file "AssetsIssue.blend".  The model simply consists of a group of cylinders representing shoulder, elbow and wrist joints for a Remote Manipulator.  These objects are supposed to be arranged at set offsets from the origin and set rotations.  The master group is called "RMS".  I instance RMS on another scene called "Compose".  There is an error seen in image "LibScene-LocationBad.PNG" - the wrist joint at the upper left is separated from the arm cylinder.
The problem; is that when I fix this offset in the master group by block selecting the offending components and translating them in x to the proper offset, the locations revert to the original bad offsets as soon as I go to the scene named "Compose" and Add->Group Instance the RMS group.  See images "LibScene-Edited.PNG" and "ComposeScene-LocationBad.PNG"
Note in the screen shots "LibScene-LocationBad.PNG" and "LibScene-Edited.PNG"  the location, scale and rotation transform boxes are green. They remain green even if I remove all the members from the group.
What am I doing wrong?
Links to shared files on One Drive

How are you linking said groups, as group Instances? Are the objects animated? Is the position keyframed somewhere? Is the current scene at frame zero? Moving animated objects without keyframing positions will result in loss of transforms.

No, nothing is animated yet, this is a static model.  The way I am adding the instance to the Solar Array scene is with "Add->Group Instance"

Please post some screenshots of your scene and object settings, or provide a as simplified as possible file reproducing the problem Use the edit link bellow your question

Ok, look for a simpler file with a simpler model that also has the problem, and screenshots showing how to replicate the problems

As I mentioned animated objects will always revert  to their keyframed positions. Your objects have green transform properties buttons, meaning they are keyframed. Cleanup your scene and remove undesired animations.

I do have a camera path animation in the file, on a layer where I had deleted all the object instances.  That's probably where the keyframes come from.  Thanks for confirming the problem.


text:
Audio/Video out of sync in rendered video
I've looked at some similar problem descriptions on this, but mine is slightly different.
When I edit a music video with several cut scenes, in VSE the audio/video will be in sync on each cut until I play the video from the beginning.
When I do this, the video will slowly start to lag behind the audio getting further behind the longer I let it play. BUT if I manually click on a cut halfway through the video, it will be in sync again in VSE.
If I render the video, it acts just as it did when I play the video from the beginning in VSE, the video slowly starts to lag behind.
I did check all of the frame dropping/AV-sync settings, and I have those all enabled.
I was running 2.74, but I tried updating to the latest version and I'm still having the same issues.
Any suggestions would be great, as I've spent many hours getting this video ready and I don't want to have to scrap it.
The video is from a GoPro Hero 4 and is MP4 H.264 codec

Zoom out on the sequence editor so you can see the audio and video clips from your camera.  Are they the same length?

Also try generating a proxy timecode for Blender to sync the media to. If the timecode is not enough then generate a proxy as well.

Try using mpeg4 container instead of avi for rendering

What you need is AV Sync. AV Sync makes sure that your audio and video play together by dropping frames to match the audio. What you were experiencing before is your computer not being able to combine and output all the inputs for each frame in the amount of time it was given (1/30 or 1/24 of a second).
What you probably currently have:

Good:

I have that enabled though.

The AV sync option is for playback in UI.  The OP's question is referring to an out of sync render.


text:
"Single user copy" for image texture node in 2.92 missing?
In 2.9 I can just click the number and it's done (now I can assign different color spaces to the texture) In 2.92: Firstly - I don't understand this terrible UI design decision with this annoying arrow and hidden icons. Anyway, can I make the same thing (Single user copy for an image texture) in 2.92? Is there a magic button for that somewhere or am I shamefully missing something?
Thank you.

Hello, this version is still in Alpha, I'm sure it will be present when it is officially released.


text:
AO node black artifacts
There are black tris all over the mesh with the Ambuient Occlusion node connected. Changing distance or samples does not help.
The subsurface modifier reduces black tris a litte but they are still visible. Can this mesh be fixed somehow? There are no doubles and normals are recalculated.
Thanks!

With subsurf:

Nate suggested that you change the Auto Smooth value but in your file, this value panel is greyed out. This is because you have Custom Split Normals on your mesh.

Hit the Clear Custom Split Normals Data button and then try reducing the Auto Smooth Angle to something like 12 to 15 and that hopefully will clear your AO artifacts problem.

Edited to propose a different "solution"
I have no idea why but when moving the mesh and its origin to the World Origin a lot of the problem disappears! Perhaps someone can explain why?

After separating (P) a small part of the original model (less taxing on my PC) and moving it along with its origin to the World Origin most of the shading (shadowing) issues just disappeared:

Next some Vertex Smoothing to smooth out some of the sharper edges:

And finally with the auto smooth option unchecked:

Thank you, it kind of works. The problem is that the smooth shading of the mesh is now off basically.

So this is not a solution since flat shading is without this problem even with Custom Split Normals Data.

This is so weird. But it finally works! Moving the object closer to the World Origin and scaling it down solves everything, so it was not a problem with *Normals in the end. I would really like to know why is this happening though. Maybe a bug? Anyway, thank you very much for this!

This is a *Normals issue. Go to edit mode, select everything by pressing "A", and then select mesh. In the mesh menu, select normals then select re-calculate outside.
If this does not work, then go to the vertex group tab in the properties tab, and check the box that says Normals auto smooth. Then set this value to about 25 degrees. Here's a picture:

Not a solution unfortunately. There is a newly attached .blend file.

After playing around trying to figure this out, I realized it has to do with scale. Turns out my character was too big, as soon as I scaled it down the artifacts disappeared.

Yes, the scale and the world origin as I mentioned it in my last comment.

This could also be because there is a mesh in the hierarchy that closely resembles the one you're trying to bake a texture on. Simply disable the camera icon (disable in renders) on the duplicate model, and bake again.


text:
Particles render in a different size
I have set the blend texture for particles so their size changes over time. The animation is baked.
In viewport everything works as it should. However, render shows always vanilla size of the sphere. This happens both in Eevee and Cycles. Am I doing something wrong?

could you provide the blend file so we can take an easier look at the problem as this migth have multiple reasons or one of many

The blend file is uploaded but I have deleted the bake, the file was too big. Please bake the particles again.

I have found the issue, it seems to be a bug, I reduceed the particle ammount to 2000 from 20000 and it all worked out. As you intended.
I tried to figure out how many the maximum ammount of particles there can be, by gradually increasing the particle ammount, 19999 is fine, then at 20000 it gliches out and is normal at 20001 again, I have absolutely no clue how this is possible and why this can happen but my guess is it being a bug.

Good Lord, I would have never thought about changing the particles amount...2.8 is still in beta indeed. Thank you so much!


text:
Inconsistent UI panel location in 2.8x
This drives me crazy. One time it is on the top of the screen, the other on the bottom. Why it is not staying at the same place all the time? Is it choosing the location randomly? Is it only my problem?

Related https://blender.stackexchange.com/questions/96527/how-to-ensure-all-headers-are-at-the-top-of-the-editors-every-time   https://blender.stackexchange.com/questions/157945/locking-the-viewport-headers-to-a-default-position?r=SearchResults&s=3|26.6852   https://blender.stackexchange.com/questions/148036/move-bar-to-bottom-2-8/148037?r=SearchResults&s=7|16.0466#148037

Oh, ok, thank you!


text:
How to make two alembic Mesh Sequence Caches working together
I would like to play two .abc sequences in one scene. However, they seem to be hating each other, so after importing second sequence, the first one stops playing. I've noticed that the object path is the same for both of them, so I think that might be the problem. Is there a way to change it somehow (rename mesh_shape to something that works)? Thanks.

Which version of Blender are you using?

I am using 2.79.

I don't see a reason why this wouldn't work. Would you care to write a detailed bug report with some minimal Alembic files that show this problem?

Blender Sushi Guy here, I encountered the exact same situation today. And I think I have a solution that is using Sverchok nodes, but easily translateable into Drivers or Python code solution. I think Dr. Sybren can help :)

So, I have multiple alembic cace file, each for 1000 frames. I broken down the Alembic sequence into multiple caches because 10000 frames == keeps crashing Blender.
Anyhow, just like what you are trying to do, you want to "mix" the Alembic cache together, using Modifier stacks.
Ideally, there should be a mechanism in Blender allowing to do this. Maybe Blender devs are still working on it(?).
For now, I am using this "simple trick" that is basically triggering the "show_viewport" ON and OFF as needed.
I have 2 caches here, cache A (frame 1-1000) and cache B (frame 1001-2000). You can have more.
Both has "Override Frame" turned on. So we will be controlling the frame using "Time Frame". That part is taken care of.
But as you mentioned, once you stack multiple cache, the second will completely override the previous.
However if you control the "show_viewport" and trigger ON and OFF at the right time (in this case I am using nodes logic to check frame number, if frame number is bigger than > 1000, then 2nd cache SHOULD take over and continue the cache. Otherwise, it should run the 1st cache first.
Let say we have 3,4,5 cache, we can use similar logic.
I test a quick OpenGL render and seems like my cache A and B mixed together into the same mesh.
I wonder what Blender Devs working on Alembic can say about this.
But that is one solution.
Perhaps "Use Modifier During Render" (the camera icon) also needs to be triggered.

The easiest is to use Drivers, for this. In my case, I am relying on nodes.

Thank you for the answer, but this is not a solution for two mesh sequences running at the SAME TIME. Do you have any idea how to run two alembic casches simultaneously without overriding each other? The thing is, I can not animate both mesh and foam imported from Realflow and that just sucks :(

Apparently, Blender 2.79b works with multiple mesh caches just fine!!! 2.79 (without "b") was the problem. Thanks for your effort!


text:
Superzoom effect in Video Sequence Editor
Obstacles seem to compound themselves to stop me from accomplishing it.

How to pan the scene to find the target spot at a very high zoom? Before I can set Position: X, Y values in Transform effect strip, I must find the target spot. However, once I set the desired Scale to a high value (150×), there is no obvious way to navigate (pan) the zoomed-in scene (either a Movie strip or an Image strip) in order to find the target spot. Output is cropped to the Render Area and zooming out by mouse fails to reveal neighbourhood outside the Render Area. Even if there is some way to turn off default cropping (please, let me know), GUI in the preview area is not responsive to panning by mouse. Trying to reverse the workflow by centering the scene to the target spot first (Position: X, Y), and setting Scale next, is a futile exercise because scaling doesn’t preserve Position values. (Changing the Scale value moves the target spot out of view despite unchanged Position values.) It’s even harder when the resolution is low because all I can see is a blob of interpolated pixels, so I can’t tell where I am and in which direction I should aim thence. (See screenshot.)
Why does exponential interpolation mode fail during superzoom? By its nature, superzoom is an exponential process. But when the Interpolation Mode (in Graph Editor) for Key Frames based on Scale (in Transform effect strip) is set to anything other than basic modes (for example to Sinusoidal or Exponential rather than default Bezier), the result is so erratic that I must presume it’s a bug in Blender (version 2.74).
How to align zooming-panning Transform interpolation curves of two different scene strips (each starting and ending at different time points) to accomplish coherent blending transition from one to another? (From a low-resolution view to a high-resolution view in this particular case.)
I can’t remember other obstacles at the moment. I may add them later.

Should I split this question into four separate posts?
Edit: 8 November 2016

Stacking Transform filter on top of another Transform filter to solve some of the above issues results in transforming a strip cropped to the Render Area by the first filter instead of the full source material.
No one knows anything. It’s as if no one has ever produced a zoom effect in a video. It’s as if there are no Blender experts among the living and Blender had created itself alone. No one knows any other software that allows to get it done. No one even knows what’s wrong with my question. No one knows who else knows. Zooming in on a spot in a video: rocket science.

The VSE rescales any image to fill the dimensions of the scene. So any zoom you do there is only re-sampling this pre-scaled image. If you turn off that function per strip thn the VSE crops the image by the scene dimensions, so you can't scale the cropped sides back in. That might be why no-one has replied. Last time I needed to do this I just stacked the images as planes in 3D view and flew the camera over them. Alternatively you could use a UV pass from 3D view to remap images in the compositor.

@3pointedit: Rendering the camera flight over stacked 3D planes (each with a progressively higher degree of texture detail) to accomplish a superzoom effect – yes, I have tried it too. It works... but it takes 100× more CPU time. (Any ideas how to disable unnecessary rendering options? I have hoped to use the Blender Game engine because it’s supposed to work in real time. Sadly, when I switch to it, the options to produce a video file disappear...)

Oh you can absolutely export the viewport version using OpenGL render. Thats what the little clapper board icon at the bottom of the 3D view is for. Check out these great video tutorials for hacking the viewport https://www.youtube.com/watch?v=-rQlxcp9eeQ&list=PLMuVWx3uuscQsqt_PMdzAv45yomaUFbxz

@3pointedit: Fantastic! You’ve just opened up a whole new world of possibilities to me. If you want to post it as an answer (stacked 3D planes + camera flight + viewport rendering), I will mark it as a solution. It’s a workaround really, since it doesn’t solve any of the described issues, but it’s a very powerful workaround – and it accomplishes the end goal of an animated superzoom video scene in Blender. It’s even more useful than a proper solution would be. Meanwhile, if anyone else finds proper solutions to the described issues at a later time, it’s good too – I will upvote them too.

In the absence of answers after 18 hours and meagre 12 views, I’ll start building my own answer – block by block.

How to locate target spot on a strip at a very high zoom?
Reverse your workflow by centering the strip on target spot first, but begin at a manageable Scale. Then multiply Scale and Position (or Position shift value if initial Position wasn’t zero) by exactly the same factor. Fine-tune Position if you can. If you can’t, undo last multiplication and redo it using a smaller factor. Repeat until you reach the desired Scale.

a) How to disable cropping of the output to the Render Area in the preview window?
— (Impossible?)
b) How to pan a strip in the preview area?
(Impossible?) Impossible!

Why does exponential interpolation mode fail during superzoom?
Buggy Blender? Workaround: approximate desired interpolation curves manually using multiple linear interpolation segments.
How to align interpolation curves of different strips?
No relevant functionality in Blender. Workaround: approximate desired interpolation curves manually using multiple linear interpolation segments.

Edit: 8 November 2016

Leave it. I’ll sooner make it manually in C (programming language) than in Blender + StackExchange. Literally.

Interesting links

“Rescaling in the VSE yields low resloution, blurry images”
“How do I prevent VSE strips using Image Offset from being cropped before the transform effect can shrink them onto the screen?”
“VSE. I need to rotate image with arbitrary center pivot point that is not in the center of the image”
“§11. Blender Video Editing (Importing Images [Overlay/Resize/Rotate])” (YouTube)

I can understand your frustration with the VSE but honestly its the wrong tool for this task. What was wrong with rendering OpenGL 3D view?

@3pointedit: Nothing wrong, it works perfectly. Ordinary rendering is 100× too slow for this job and I didn’t know that Blender allowed using 3D view for video rendering until you showed me how.

@3pointedit: Oh, this question “was bumped to the homepage by Community♦ 16 hours ago”. So that’s why you are asking me what’s wrong 3D view rendering. I didn’t bump it though. I only haven’t selected any answer as a solution. That’s why Community♦ bumps it. I wish I could select your comment as a solution but I can’t. Someone must convert it to an answer for that.

Fair enuf. I will try to work it up into a proper answer with examples then ;-)

@3pointedit: There is no hurry. I already know the solution from your comment, so post it only if you want to. The question has scored 0 votes, so it’s not like you’ll earn massive reputation from answering it anyway.

Looking into it, I found out that the "Import Planes As Images" addon, will actually construct drivers from the 3D view. You can't scale and move images in the compositor much faster than in 3D view. So I can simply line up the images in 3D view and animate the camera all using the textured view render. But perform the actual mix in the compositor. Very fast :D


text:
Objects are scaling along global axes instead of local (even after setting Transformation Orientation to “Local”)
Problem: objects are scaling along global axes instead of local, even though I set Transformation Orientation to “Local”.
The Transformation Orientation option seems to apply only to the graphic manipulator handles but not to keyboard scaling (key S). When using keyboard scaling, the object (such as cube), gets skewed because of this.
How to enable local orientation for keyboard scaling (key S)?

To do local scaling push S and then the axis you want to scale on twice.
So to scale along the local X you push S XX.

Perfect! I find it awkward that posting “thank you” is discouraged on Stack Exchange, especially when a new user like me is not allowed to upvote an answer. Since I don’t expect better answers, I’m selecting your answer as valid without waiting for others. Thank you!


text:
2D map for mobile game
I'm currently working on a 2D map for mobile game,which has to contain the Great Wall of China all across the map and of course a colorful,seasoning,cartoon background with many nature assets-rocks,trees,lakes and stuff.My original plan was to stick only to Photoshop and Wirawiri Map Builder,but I was having trouble with the Great Wall,so I jumped to Blender and made a 3D version of it with some details like towers,but now I'm stuck with how to proceed.
   When I import the Great Wall .obj file to photoshop it gets too blurry, no matter if I scale it or zoom it. Any ideas why this happens?I'm also using tree[d] for Blender to generate some trees and I assume I will have the same problem when I import the .obj files to Photoshop.
   I'd really appreciate any kind of advices,hints or software about the workflow of creating a game map since it's the first time I do such thing.

Your question is really hard to understand due to lack of formatting. Most people might go tl;dr after a third of your posting, so maybe you should edit it and use paragraphs to order the content.

I have no experience with importing obj to fotoshop, but when the diffuse map of a texture gets blurry it almost always has to do with the texture's size. Maybe a screenshot or two would help your question? Also: Is your 2D map in front view or top-down?

The camera should be from top-down with slight rotation as in the 1st image(not completely orthographic top view)


text:
How to turn a mesh inside out, like a sock?
I am working with a 3D scan of an object that has convex ridges. Here is a screenshot of the object:

I am trying to use the interior of the model to create a space for a video game. As you can see in this image, the ridges of the model are concave when viewing the interior of the model:

If you imagine flipping a sock inside out, that's what I'm trying to do with this model. Is there a way to flip the model inside out so that the ridges are convex, rather than concave, when viewing the model from the inside? To be clear, I am not talking about flipping normals: if you were to do what I am imagining with a model of a human head, when viewing the interior of the head the nose would be pointing inside.
I already tried to do this with a cloth simulation and a collider around the bottom edge of the model, but that ended up smoothing out the ridges I am trying to preserve.
Thank you, and let me know if I can clarify anything.
EDIT: This is what the flipped mesh looks like following cmomoney's suggestion:

Have you tried if inverting scale (S-1) helps?

Hi @m.ardito, I tried that, it flips the model but isn't turning it inside out in the way that I am trying to do.

You're not going to use the 3d scan in the game, are you?

@cmomoney Yes I plan to, why?

Well, 3D scans are usually terribly high poly, also I needed this info to formulate an answer.

@cmomoney Oh I see. Yeah, I plan to decimate/optimize it before I use it in the game. The scan is also has a texture which I don't show here, if that's helpful.

This could be achieved by baking a displacement map in Blender Render engine from your mesh to a simplified unwrapped version of your mesh, then using a subdivision and displacement modifier on the simple mesh with the baked image as the texture and a negative strength.

This seems like the most straightforward approach right now. I'll give this a try and let you know how it works out. Thank you!

I added a screenshot to my post showing what happens when I follow your suggestion. It seems like the resulting mesh is the same as scaling the original by -1 on the Z-axis, i.e. the ridges that were convex in the original are still convex on the plane displaced with negative strength. Maybe I am missing something?

If you rotate your result so that its upright like the original, then invert the normals, is it still not right?

Unfortunately no, it's the same as the original.

bah, you're right. Pretty sure you can still do this with texture though. I'll go test...

retried and edited answer.

I think this works, I just have to play around with the simplified mesh a bit to get the ridges to invert properly. Thank you!

Technically: probably.
Realistically: I don't think so.
I think what you want to do is mirror each part of the surface across an arbitrary axis. The axis you'd choose would likely be some smoothed/averaged version of the convex mesh. Relating to your face example, you'd choose one axis for the nose that's just inside the nose, and mirror the nose across that to get it pointed inward, but you'd choose a slightly different axis across which to mirror each eye, another one for each ear, and so on. If you could use a shell that's sort of a REALLY smoothed out head, you could mirror each part of the mesh across the shell and get something that's flipped like you're talking about.
Generating a mesh that you can use as a mirroring axis is not all that difficult. Duplicating your mesh and adding a couple of smoothing levels (maybe decimate first, but whatever) should get your pretty close.
The trick is finding a way to actually do the flip in Blender. I don't know of any tools that can do this sort of mirroring. The reason I say "technically possible" at the top is that Blender allows users to write addons with Python, so technically speaking you could probably write an operating system in Blender. It's certainly possible to write a tool that will do this, but depending on your coding ability, it may be out of reach.

I'm not sure if this method does what I think it does, but closest_point_on_mesh seems to fit the description. Looping over all vertices of the original vertices and mirroring them at the closest point on the smoothed surface?

Yes, that seems like a reasonable approach. Note that there are a number of different ways to determine which point to mirror across. You may want the closest vertex (because you need a normal), or you might be able to use the closest surface point, or you may be able to just project along the normal until it intersects a point on the mirror-axis-mesh and use that point. Each of these has its own pros and cons. Especially with complex meshes like this (with lots of tiny detail) the closest point is often NOT the one you want to mirror across. I'd love to see your results.

Thanks so much for the suggestion. I'm going to try to code this in Python and I'll post my results.

Awesome! That's not the kind of thing that just any body can dive into, I'm glad you're going to give it a shot.


text:
Python - Local bone rotation issue in Game Logic
Background: I've rigged a jointed hand and I'm having trouble rotating the joints in the local axes programatically (in the game logic area). The bone "local" axes are pointing in the direction of the bone which isn't aligned with the global axes. If I rotate them in Pose mode everything rotates correctly, with the X axis being the rotation axis for each joint.
In the following code example you can see I'm getting the input from a joystick (which works), creating a Euler vector for rotation in the X axis then applying that back to the LOCAL axis. When I run the player and move the joystick, the joint does rotate, but does so aligned with the GLOBAL axes, not the local axes.
I have printed out the Euler vectors for both the local and global axis and they are the same, which explains the result, but I have object's 'show_axis' flag set so I can see that this is not aligned with the global axes.
import bge.logic as logic, bpy, math, mathutils
from math import*
from mathutils import*

cont = logic.getCurrentController()
joint = cont.owner

joy = cont.sensors['Thumb.distal.R']
aXis = joy.axisValues
ang = (aXis[1] + 32768) * 180 / 32000

eul = mathutils.Euler((math.radians(ang), 0, 0), "XYZ")
print(eul)
joint.localOrientation = eul.to_matrix()

If I [instead] do a apply rotation like so;
joint.applyRotation([math.radians(ag), 0, 0], True)

...with the local set to True, it does rotate in the correct axes, just by too much as this is a additive rotation, not an absolute rotation from the axis itself (I want a joint to range between it's closed and open angles.

Can someone explain where I have gone wrong and/or provide a snippet that will do what I want.
Sincerely, Paul

authors: Лада Касьяненко


text:
Model shadow/texture issues
I am currently working with a model that I made, and it is being a huge pain when trying to render the animation of it. The problem is that the texture gets extremely disrupted when any light source is added in, making huge dark streaks across the model and some places being completely blacked out. How do I fix this?

Starting with the obvious... Would you mind telling us which render engine you are using? That would be great ;-)

I am just using the default Blender Internal Render Engine (A.K.A. Blender Render)

that can possibly be due to the absence of light (add some lamps to check it)

It seems to me there is only one light coming down straight from the top, add more lights or activate environment lightning, or switch to cycles...

There seem to be several things seriously wrong with your model. One of them is Smooth Shading*, try setting shading to Flat, secondly there seem to be a lot of duplicate vertex and overlapping geometry. And from looking at the screenshot I'd risk saying you modeled all that by stacking several cubes, so there may be a lot of unnecessary internal faces. We would need to look at your wireframe model, or preferably your blend file


text:
How do I line up views and transformations for objects that are a little off kilter?
I'd like to be able to have the global directions, ((views (top, right, left) as well as transformations (location, scale)), match the orientation of a selected object or face.
As a simple example:
I have this cube that is rotated.
I know how to make the orientation local, but that seems to be only useful when using the handles to make adjustments.  When I use G,S,R,E, ...they follow the global plane.
Now, I'd like to line up another object.
Yes, there are addons and scripts to do that, but I'd like to do it on the fly, by switching orthographic views, relative to the rotation of my original object.
This is as close as I can get with my Navigator mouse.  I think I just found that Shift-numpad is the answer, but I've had varying results.
If I use G,S,R to transform that cylinder, the transformations always revert to the default global axis.
Is there something that I'm missing?
I guess I've asked two questions in one mess.  Sorry if I didn't know the right terminology to google a simple answer.  I tried many times.
Another example of my issue.  I'm working on this twisted object, with the new faces set to normal orientation.  The transform arrows are going in the direction I need, but if I use the regular (G,S,R) controls, it still reverts to global directions.  I can view the selected faces properly now, by holding Shift-numpad.
Now that I'm in the right view, relative to the selected faces, I would like to be able to flatten them by keying S,Z,0.  I think I understand why this doesn't work, but I'm hoping for a workaround.  (This image is after I scaled all of the faces to zero)

Related https://blender.stackexchange.com/questions/64061/how-do-i-align-the-view-to-the-local-axis-of-an-object also https://blender.stackexchange.com/questions/2289/is-there-an-easy-way-to-align-two-objects-on-a-specific-axis

Thanks.  The subject of the first link, I kind of found out about, but that one has more info.  The second link has good information, but it still doesn't answer the transform question.  I tried all of the answers, but as soon as I pressed (eg. G,Y) everything followed the global axis.    Ideally, I'd like to be able to select an object, or a face, and be able to transform in the direction it's facing by using the shortcut keys, instead of the handles.

For local axis you have to double press the axis letter, as in G > Y > Y. Also see https://blender.stackexchange.com/questions/52049/how-to-micro-manage-manipulator/52050#52050 for creating custom orientations


text:
rotation angles
I'm trying to convert an animation format from a game to blender pose animation and back.
The first step is OK, but when I try to export it, I find the joints from the original animation can rotate from -360 to 359.9 degrees. So blender pose bone does not provide enough informations to reverse the conversion.
Can somebody give me some ideas?
Edit
I figured out the cause of my problem was the Euler angels I got were on the wrong axis, for example I needed 182 degree but it gave -178 degree, so the character rotated in the wrong direction.
Now the question becomes how do I properly convert Quaternions to Euler angles. I overlooked the compactible Euler parameter of Quaternion.toEuler before, maybe it is the answer.

It would probably help potential answerers to have a blend file to look at. :P

Sorry, I read some python API documents yesterday, perhaps the compact Euler parameter of Quaternion.toEuler is the  answer. Need to do some test first.


text:
Rigging a rabbit character
I have a problem rigging this cartoony character in Blender, particularly the mouth and eyes, and applying shape keys.

I want create this shape for its big mouth:

and the part of the eyelid that goes down
Please answer me in plain language, because Google Translate and my English is not very good.
Thanks

Just an idea more than a real answer, but for that very special case, you should try something like that (sorry for the very quickly done rabbid..) : the trick is to have a ability to have very few points to animate and to be easily able to stay around the wanted shape.

As you can see, very few vertices :

But all rely on a capsule metaball that I have deformed a bit :

1 : the capsule shown
2 : the capsule drawn as bounding box only

Now the rabbid has some modifiers (from top to bottom) :

Subsurf : because we have few points to animate but want it to stretch smoothly
Shrinkwrap : the most important part here as this modifier allows to stay along the capsule (see below for more explanations)
Solidify : to give it some volume

For the capsule :

Add it : Shift+A then choose 'metaball' and 'capsule' (surely you can also make your own shape instead)
Give it more precision (picture below)
Then convert it to mesh, with Alt+C, then 'mesh from curve'

Now edit it a bit in order to give it the wanted shape (to say it quickly, larger on top, smaller at the base).
We want the rabbid head and face to follow the capsule shape, but not the ears or the eyes. So add a vertex group to the rabbid. Assign this group the head part only and name it 'capsule'. Then, set this vertex group in the shrinkwrap modifier as seen two images above.

Now create your shape keys as you need :

The same kind of thing could be used to allow the eyelids to follow the eyes.

Creating these extreme facial expressions, I feel like creating a bone face rig is the best way to go.
Check out this face rigging tutorial by David Ward alto it's pretty outdated, you should be able to use it!
 https://youtu.be/QO-Lo8hCry0
Looking at the mesh you got right now, I don't think you have enough geometry to stretch it like you want to...
I hope a high level subsurf modifier does the trick tough!

it solved . i have to use few vertices for shape key my 3d model


text:
Alt Scroll Wheel in time line and jump back to start
is there a way to customize the Alt + Mouse Wheel which works in most editors that when you reach the end frame you can jump back to start?
is it something I don't see in settings or do I need a script for that and how can I do it by script if so .
I'm not looking for other hotkeys to jump to start and end, I wanna use  that specific hotkey and move in timeline normally but instead of passing by the end frame, jump back to start or being stuck at the start get back to end frame...
like in a walk cycle animation this way you can easily see the transition between end and starting over

SHIFT-Left arrow takes you to the start and SHIFT-Right arrow to the end of the timeline.

@JohnEason yeah but for that you need to take one of your hands of the mouse or keyboard . if there was a way to do it just like I said that would be nice

can do most things in blender via a script  Please clarify what you do want, not what you don't.  Are we talking about scrubbing the time line with the scroll wheel and if it goes past end points reverts to the other?

@batFINGER question is very self explaining . that link you sent helped alot i just need to look up for more stuff to make the script for it

Edit the keymap.
As commented by @John Eason these are already mapped to SHIFT and left arrow for go to start, and right to end.
Can search for keymaps by keypress

Or name, if unsure hover over the button that does it

Once found change to suit.

Here I've altered it to ALT + middle mouse click.
Save User Preferences to make change permanent.

i know i can change the hotkey for that but what im saying is to change the behavior of a specific hotkey when something happens. it is a small change but i guess that way its easier for something like a walk cycle . so this wont be the answer

Clarify any details by editing it into your question.  Do you want to match the frame range to current objects  action range rather than scene. There are answers relating to that question.

yeah maybe that would work

https://blender.stackexchange.com/questions/27889/how-to-find-number-of-animated-frames-in-a-scene-via-python

Why Even Do this
there are several options to monitor the transitions in frames but in my experience the best way is to use the mouse scroll wheel since you have more control over speed and its easy to use . It's like classic animation when animators flip back and forth paper between their fingers.
but when you are making a cycle animation which is used a lot in game animations, there is one thing that is annoying and its how you cant see the transition from end frame to starting over as easy.
it is a small change but I think it worth it.

So here is a way to make this work
basically we disable the old behavior and make a new one that does the same old behavior and just checks for the end and start frame then does the expected thing
Disable Default Hotkeys
Edit -> Preferences -> Keymap

set the search type to Key-Binding
search for "wheel"
scroll a bit and find Frames section
and disable both Frame Offsets

How to Make The Script
So to make a function and assign a hotkey to it we need an Operator
which has an execute function where our logic will be
and when we assign a hotkey to the operator ,when the keys are pressed(event happens) this function will be called
we want to make this as an add-on ,so we add some info about it in bl_info
First Step
as you can see the operator class has some basic properties like an ID , label and more that we can fill in and some more info
bl_info = {
    "name": "Better_Scroll_Time",
    "blender": (2, 80, 0),
    "category": "Object",
}

import bpy
from bpy.props import *
import addon_utils

class ScrollWheelTime(bpy.types.Operator):
    """Sets the time in range"""      # Use this as a tooltip for menu items and buttons.
    bl_idname = "object.scroll"        # Unique identifier for buttons and menu items to reference.
    bl_label = "Better Time Scroll Wheel"         # Display name in the interface.
    bl_options = {'REGISTER', 'UNDO'}  # Enable undo for the operator.

    def execute(self, context):        # execute() is called when running the operator.
        # logic

        return {'FINISHED'}            # Lets Blender know the operator finished successfully.

Execute
direction: IntProperty()  #outside of execute function as a class member

    def execute(self, context):
        #logic
        scn = context.scene
        current_frame = scn.frame_current
        current_frame+=self.direction
        scn.frame_set(current_frame)

        if not scn.frame_start <= current_frame <= scn.frame_end:
            scn.frame_set(scn.frame_start if self.direction>=1 else scn.frame_end)

        return {'FINISHED'}

so if you look at blender keymaps in Preferences you can find Operations with some properties that we can provide too, with bpy.props functions like IntProperty()
we need a reference to the scene we are in to access things like start and end frame of the scene
increase or decrease current frame with the amount of direction which will be set to +1 and -1 based on the shortcut
if current frame is not between start and end frame of the scene based on the direction we decide where to put the frame cursor
we tell blender this operation is finished

Register
addon_keymaps = []                 #outside of function

def register():
    bpy.utils.register_class(ScrollWheelTime)
    # Add the hotkey
    wm = bpy.context.window_manager
    kc = wm.keyconfigs.addon
    if kc:
        km = wm.keyconfigs.addon.keymaps.new(name = "Window",space_type='EMPTY', region_type='WINDOW')
        km_up = km.keymap_items.new(ScrollWheelTime.bl_idname, type='WHEELUPMOUSE', value='PRESS', alt=True)
        km_down = km.keymap_items.new(ScrollWheelTime.bl_idname, type='WHEELDOWNMOUSE', value='PRESS', alt=True)

        km_up.properties.direction = -1     # setting the default property value for wheel up
        km_down.properties.direction = +1    # setting the default property value for wheel down

        addon_keymaps.append((km, km_up))
        addon_keymaps.append((km, km_down))

here we register our operation class so we can use if as an addon
then we make a keymap using wm.keyconfigs.addon.keymaps.new
and set its parameters to name = "Window", space_type ='EMPTY', region_type ='WINDOW'
so our hotkey works in all editor windows
then we assign our shortcuts to the operation class
we can set a default value to our custom properties that defined as class member using bpy.props
we save this hotkeys so we can remove them in unregister function

to make things clear in unregister function we remove our hotkeys
you can see completed script here (code could have some clean ups)
bl_info = {
    "name": "Better_Scroll_Time",
    "blender": (2, 80, 0),
    "category": "Object",
}
#---------------------------------------add-on-info------------------------------------#

import bpy
from bpy.props import *
import addon_utils

class ScrollWheelTime(bpy.types.Operator):
    """Sets the time in range"""      # Use this as a tooltip for menu items and buttons.
    bl_idname = "object.scroll"        # Unique identifier for buttons and menu items to reference.
    bl_label = "Better Time Scroll Wheel"         # Display name in the interface.
    bl_options = {'REGISTER', 'UNDO'}  # Enable undo for the operator.
    direction: IntProperty()

    def execute(self, context):        # execute() is called when running the operator.
        # logic
        scn = context.scene
        current_frame = scn.frame_current
        current_frame+=self.direction
        scn.frame_set(current_frame)

        if not scn.frame_start <= current_frame <= scn.frame_end:
            scn.frame_set(scn.frame_start if self.direction>=1 else scn.frame_end)

        return {'FINISHED'}            # Lets Blender know the operator finished successfully.

addon_keymaps = []

def register():
    bpy.utils.register_class(ScrollWheelTime)
    # Add the hotkey
    wm = bpy.context.window_manager
    kc = wm.keyconfigs.addon
    if kc:
        km = wm.keyconfigs.addon.keymaps.new(name = "Window",space_type='EMPTY', region_type='WINDOW')
        km_up = km.keymap_items.new(ScrollWheelTime.bl_idname, type='WHEELUPMOUSE', value='PRESS', alt=True)
        km_down = km.keymap_items.new(ScrollWheelTime.bl_idname, type='WHEELDOWNMOUSE', value='PRESS', alt=True)

        km_up.properties.direction = -1     # setting the default property value for wheel up
        km_down.properties.direction = +1    # setting the default property value for wheel down

        addon_keymaps.append((km, km_up))
        addon_keymaps.append((km, km_down))

    print("Installed Better Scroll Time !")

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

     # Remove the hotkey
    for km, k in addon_keymaps:
        km.keymap_items.remove(k)
    addon_keymaps.clear()

# This allows you to run the script directly from Blender's Text editor
# to test the add-on without having to install it.
if __name__ == "__main__":
    register()

context is already passed to the operator methods so you can replace bpy.context.* by context.* for all calls/properties and when declaring a variable use it, see: https://pasteall.org/oUiT/raw Also consider that this is no regular forum and link-only answers are discouraged, if the link goes down so
does the answer hence the downvote I guess.

@brockmann thanks for the tip , I'm new to blender scripting, so should I delete my answer and for example add the link to a comment or no link at all?

No problem. I'd suggest add a complete explanation what it does, why this is helpful at all and add your code to the answer, see: https://blender.stackexchange.com/help/how-to-answer Your question isn't clear enough too, no wonder batFINGER's answer is a bit off (IMHO). Also consider using a frame_handler and limit the hotkey to the timeline area.

thank you . I'll try to make myself more clear next time

Please do. Re answer, can be achieved  with one operator. For example the Jump to Endpoint operator has a boolean property last_frame which if true goes to end, else start.  Recommend do same here, rather than have two near identical operators.

@batFINGER but how can we check if wheel up or down to move current frame back or forward?

Use as with other keymaps. In answer below, last_frame is unchecked so it jumps to start frame. If you have for example a boolean forwards then if self.forwards: df = 1 else -1   Set forwards true  in 'WHEELUPMOUSE' keymap.  Could instead use an int for speed, like a 16x scrub.

@batFINGER i think i dont fully understand. we can pass something to the class when a keymap event happens? or you mean have one operator to set  the current frame to last frame and start and have defualt hotkeys for scrubing(cuz this wont work they will have conflict)

What makes you think I mean something that won't work? WIll try and make it clear for you. The operator that moves to first or last frame is one operator. As is Frame Offset. Both have operator properties so a different behavior can be set via different keymap. (Just like changing the properties directly in  the operator popup in the UI)  This avoids having two basically identical operators (as in answer here).

@batFINGER im sorry if i cant understand. im trying. but how could that work? two operators one of them wants to set frame cursor to start and other one which is Frame Offset also wants to set the frame cursor to the next frame after end frame

One scrubbing operator going backwards or forwards depending on a prop. If the frame goes past end return  to start and continue going forwards , if it goes pre start go to end and continue going backwards.

@batFINGER got it, i didnt know about props . thank you for your time, i will change my answer soon


text:
Blender Hair Particles avoid selected vertex group? -SOLVED
I keep adding the Vertex Group "scalp" to the density for my character, but instead of following the Vertex Group, the hair particles stop going around the whole body mesh, but just around the vertex group, through the eyes and face, ect. Can anyone help? Thanks!!
     File:

can you upload your file? blend-exchange.giantcowfilms.com

Yeah, I'll do it now!

Go into edit mode, then inverse the selection.
Then subtract all those faces from the vertex group.
That should do the trick.
BTW your mesh is inside out so you need to go into edit mode for each mesh, select everything and recalculate normals.

I'm still having a little trouble with inversing the selection...I'm pressing Tab, Control, and 1, but it just changes the subdivision...sorry! Any way to fix that?

ctrl + i = is inverse selection. Or manually click it in the 3D view header-->select-->inverse.


text:
Weight painting issues with Rigify?
So I made this character but every time I try to rig the clothes it doesn't work, the base, hair, eyes and pupils work fine but everything else wants to pull on itself....how can I fix it? Thanks!! This is the file:

The simplest way to get decent weights on clothing, especially tight-ish clothing like you're showing, is via a data transfer modifier from your body.  Select vertex data, vertex groups, from nearest face interpolated, nominate your properly weighted body as the target, hit generate data layers, apply the modifier, and then ctrl-p parent it to your body's armature using (no-description) armature deform.
A very good alternative to this is to use a surface deform modifier instead.  Nominate your body as the target, bind, and you should be good to go, even without parenting to the armature.

There are a lot of 'gotchas' with rigging in Blender that I've found through stack overflow, web searching, and tearing my hair out.  What I would suggest before going too far is to make sure to apply scale, rotation, and location on clothing mesh.  Also apply scale, rotation, and location on the rig.  I wept many tears before I discovered that.

A simple solution can be using the mask modifier, which lets you animate the visibility of some parts of the mesh (using vertex groups).
For more advanced options you can search in this site with key words as "cloth" and "rig", to get al lot of results, like this:
How can I prevent the body object slipping through the clothing object?

Thanks, how would I use the mask modifier to attach it to the rig? i'm not sure why it keeps doing that...


text:
How to only show preview for template_ID_preview?
Note
I have tried to be deliberately detailed in this question: please scroll down to the bottom to see the summary of my question. Thank you.
Background
The UILayout template template_ID_preview gives a nice selection popup with a preview image for each element.

I am interested in tapping into this feature to improve display of selectors, but I can't find how to remove the "extra" features (outlined in red).

Here is some python code to show what I mean (MVCE in parts).
Minimal:
l.template_ID_preview(properties_texture.context_tex_datablock(context),
                      "active_texture",
                      new="texture.new",
                      rows=2,
                      cols=5)

Complete:
import bpy
import properties_texture

def texture_selector(self, context):
    l = self.layout
    l.template_ID_preview(properties_texture.context_tex_datablock(context),
                          "active_texture",
                          new="texture.new",
                          rows=2,
                          cols=5)

def register():
    bpy.types.TEXTURE_PT_context_texture.append(texture_selector)

def unregister():
    bpy.types.TEXTURE_PT_context_texture.remove(texture_selector)

if __name__ == "__main__":
    register()

Verifiable:
To use this, right click on the active texture button, then select "edit source" to see it in the text editor.

Replace this line:
layout.template_ID(idblock, "active_texture", new="texture.new")

With this:
layout.template_ID_preview(idblock, "active_texture", new="texture.new", rows=2, cols=3)

Then hit Run Script. This will change the UI from this...

...to this:

The new argument is optional and, if left out, it removes the "+", but there is no such arg for the user count, fake user toggle, and unlink (although unlink is optional, its absence does not remove the associated "x" button).

Question
How can the preview be shown (highlighted in green in the first picture) while removing the rest? Would this only work with custom properties instead of, for example, active texture selection like I show in the screenshot?
I want the template to look more like this screenshot that doesn't have any other settings below the selector:

Please note that this is not the same as the preview for materials, textures, etc. that looks like this:

This is the same sort of thing that the sculpt brush selector tool uses to show a large preview for the brushes.

I don't know what version of Blender this was put in (I notice a lot of new ones since the last time I went through them), but there is now a "ui_previews_dynamic_enum" template in the text editor that demonstrates how to use an icon preview enum like this. It doesn't, of course, talk about linking it with built-in collections such as a materials list as @aliasguru mentions.

Suggest using template_preview

@batFINGER That is the built-in preview for material, textures, lamps, etc. I want a "selector" with the large preview. I have added another picture to my question to illustrate this.

That type of customisation is a bit more involved. It is basically done using template_icon_view instead of template_ID_preview. But you need to indeed generate custom properties to hold the preview collection. Haven't tested if it could be combined somehow with existing collections, but honestly I doubt it. template_icon_view is really designed to show image content which is located somewhere on a file storage, like in the case of Pro_Lighting_Skies and the like.

There is a difference between "ID" properties and other runtime ones.
An ID property has the basic structure for Blender to save it in the file.
Materials, textures, etc, are IDs (they are part of the .blend file), the HDR previews from that add-on are not (they are in a directory in the disk, and previewed in Blender, but they are not saved in a .blend, unless you actually load one into a texture which is then saved).
Firstly, you should understand if you are presenting ID or non-ID properties. If they are just temporary properties, template_icon_view should be used instead of template_ID_preview.
If you really want ID properties, then the selector comes with some more features for management of the data that is saved (rename, unlink, see the users). At the moment this is not optional, except the '+' to make a new one.
If you want just a preview with no management options, but also with no selector, there istemplate_preview. The buttons on the side are optional.
The template_icon_view was introduced along with the matcaps for Blender 2.66, but the ability to have custom previews from files is from 2.75. https://wiki.blender.org/index.php/User:Brita/Proposals/UIPreviews

I've also successfully implemented a file version in the add-on that I needed this for here. The code is released under the GPL 3 license, so it can be integrated into other projects as well.


text:
How to change background color in Blender Internal?
How can I change this render alpha background to a color?

I tried to change the "horizon color," but it didn't work.

Render Tab > Shading > Alpha > set it to Sky; Then you should be able to change the background via the Horizon Color in the World Tab

Switch the background alpha from transparent to sky:


text:
What does Save As Render do to the image when saving it?
So you render your image in cycles, and then go to save it, then in the bottom left corner is options, and both ticked are save as copy and save as render, and I'm wondering what "save as render" does?


text:
How to make foam / bubbles in liquid
I'm trying to make some bubbles and foam in liquid. Something like in the image below.

I'm thinking about particles, but I don't know how to make bubbles of different sizes. I also don't know how to make the bigger bubbles on the top and the smaller ones on the bottom.
Maybe some smart shader? Do you have any ideas?

I found something similar that you want to achieved. May be this tutorial can help you to achieve that bubbles. Follow this tutorial, and after that, do some modification about variant of bubbles. https://www.blenderguru.com/tutorials/make-beer-blender/# Hope this help you.

It looks like this would be possible to do with Boolean modifiers. Just create a sphere, deform it with modifiers so it looks more like a blob, then repeat it in a bubbly pattern within the fluid object. Once you've got all the bubbles where you want them, select them all and join them with CTRL + J. Then select the fluid, go to modifiers and add a Boolean modifier. Then select the bubbles under object. and apply.


text:
3d model mesh with bones controlling it and same bones doing an animation
I have a 3d model with bones in it, and it controls the mesh saved as an fbx file, but I have some recorded animation that controls identical bones doing the animation. But with no mesh and when I import them both into blender I have the set of bones doing the animation and a set of bones connected to the mesh not moving. Is there a way to copy the animation to control the other set of bones?

Apparently I'm not reputable enough to comment yet, so here's what I found:
Copy animation from rig to rig